From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 27682 invoked from network); 30 Nov 2022 16:39:07 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 30 Nov 2022 16:39:07 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1669826347; b=aXVaohfhuP/vQPZb2omwC1dDGKkYWFBV1PsulOTflDVBv1u9gW7opVxvXsIkq6KUqJqbIb35ta sAz2CvaFNvf9RInhCvXKnHLWD23jESgFIgMic06nPysmR9A3mGdNdxaFej7a1zf5SDU479b+cj eIdj1COnODD+nc4ke2Sczli4jOJ4eLGKxYB37OND1TMGpqhLfae/2trubgtfrrLOGanamzqx6l jONWsjQ129uZLzwCrkdJu4UPeh+y89pW2tj3qyH/gJHkgdz50GL4Vg6Mv+vbd+90kiwIOaYfFK 9AsqoxmE8Z0XSJ7uSGdzUIxMDd3lsNghBH1Z9hiYeljIKw==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (smtpq2.tb.ukmail.iss.as9143.net) smtp.remote-ip=212.54.57.97; dkim=pass header.d=ntlworld.com header.s=meg.feb2017 header.a=rsa-sha256; dmarc=pass header.from=ntlworld.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1669826347; bh=c+nqD588O6fDp8qqrpwW3YLxXAvtjYBPySjaX08kRzw=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject: References:In-Reply-To:Message-ID:To:From:Date:DKIM-Signature: DKIM-Signature; b=bbJ2+QexD4MPk0K/9ffOVtENrCwyw0qkKxnrkEsr5V+AqY4JOeOjLodCd+RgmhGTEV8Ntpzi83 mZlNb8KeHg1lXqhOtzrcWR0kLe9REfDbouDpqkG7/MRF509awWwwYiChhtXsDl+/dDTqBjJ+Pr V9J5NSAEcWZXv99BbfQHAdLxRNhfBvhxFxFVh4uF3Awxh5buuMyU5oot1IsIcF+Wb0NJvp9WeV vtFzcTK0cW8EICAvEUuAqnMFwVLKSgPJxVIRjbJygpZrRdoCHLqGefdrQ2aUMV0iFd7A7/w1dU xe+8fOdXE38ltfEHSwijaNiAEwY+toPthl0yLN2zemBZ/A==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Subject:References:In-Reply-To:Message-ID:To:From: Date:Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=y38PjPds5qJL2e9prEKDVAZ1Yhu2O9mtQztDBOPUo5U=; b=rc9httHaMMVMleF6Flr36rjUYo 25zVU2si0MbLXzKP4etTjYvFATZGMY4XHw/6e/1GKzQ7xpziyoF6Ee0ZydKaMXr6hyi3W4jKAyGrp HnNcTCPQohSCLSXb4T6cl9DhPaddvnrhPk3RPsq31WJn2vRVR34DpUvYLigRaIWuvtnUpE99c7P5n JkmF4IOfYIMpZSBoRzxbVYbsqftiy9qXrzPrVsWyMQeChUYvkTl5vXm6q1e4OCiqIuxwuBc1RS6CH lMRGvqEGc06I3sJE4t6f98hFHk843/pXTgmYmV5mQ44npq4MepqzGyjfJin9DUVcNsoB+YnYI5lqB xqv5CSYA==; Received: by zero.zsh.org with local id 1p0Q70-0005w6-Sm; Wed, 30 Nov 2022 16:39:06 +0000 Authentication-Results: zsh.org; iprev=pass (smtpq2.tb.ukmail.iss.as9143.net) smtp.remote-ip=212.54.57.97; dkim=pass header.d=ntlworld.com header.s=meg.feb2017 header.a=rsa-sha256; dmarc=pass header.from=ntlworld.com; arc=none Received: from smtpq2.tb.ukmail.iss.as9143.net ([212.54.57.97]:33984) by zero.zsh.org with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) id 1p0Q65-0005Gv-2t; Wed, 30 Nov 2022 16:38:11 +0000 Received: from [212.54.57.82] (helo=smtp3.tb.ukmail.iss.as9143.net) by smtpq2.tb.ukmail.iss.as9143.net with esmtp (Exim 4.90_1) (envelope-from ) id 1p0Q64-0005R6-Uc for zsh-users@zsh.org; Wed, 30 Nov 2022 17:38:08 +0100 Received: from oxbe23.tb.ukmail.iss.as9143.net ([172.25.160.154]) by smtp3.tb.ukmail.iss.as9143.net with ESMTP id 0Q64pMOPuYBhJ0Q64pODTP; Wed, 30 Nov 2022 17:38:08 +0100 X-Env-Mailfrom: p.w.stephenson@ntlworld.com X-Env-Rcptto: zsh-users@zsh.org X-SourceIP: 172.25.160.154 X-CNFS-Analysis: v=2.4 cv=Vd8xfnl9 c=1 sm=1 tr=0 ts=638786f0 cx=a_exe a=0gQdd85zlVecdCXELxTKIw==:117 a=1DWFKdCB1IcA:10 a=IkcTkHD0fZMA:10 a=ZjyAdWuDOD4A:10 a=8RloEfZUAAAA:8 a=tqIqC99Gwo_YUfCHCpkA:9 a=QEXdDO2ut3YA:10 a=ea-aaFCQWd8KpuIyLtRc:22 X-Authenticated-Sender: p.w.stephenson@ntlworld.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ntlworld.com; s=meg.feb2017; t=1669826288; bh=c+nqD588O6fDp8qqrpwW3YLxXAvtjYBPySjaX08kRzw=; h=Date:From:To:In-Reply-To:References:Subject; b=gEQYKp/cQNb7q8wnLyTd0IkNUUag899IWIpHFq/8YAxOTVAuft7PxyUudTLjljLjc su9l76fjxmulSe2YU7NYGIGmMCNNCDs4dWhyRM8TBYLxaAdT1xBo2EKarYAB6XDa2O SJxphtQO8tbLGFHv5eMsNNIHIiFX//8OcL4BimtPOTsT0rwf8b+AdFwxB/0eVNJb9P d0+7smqyfwhI5dym2u9MxagcAVy2ySQmGC6WBVWcWxm64r8mG23kk4woa71Ive2Fpb omXRH04VP58tEEf5NMbdreexIOHJKp4Cly5EDQLmw2Gw7Bx+44ih6DhG6BW60oneol ttaGyDcJ1aJdA== Date: Wed, 30 Nov 2022 16:38:08 +0000 (GMT) From: Peter Stephenson To: Thomas Lauer , Zsh-Users List Message-ID: <2128517470.6253406.1669826288648@mail.virginmedia.com> In-Reply-To: References: Subject: Re: execute or print one-liner MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Priority: 3 Importance: Normal X-Mailer: Open-Xchange Mailer X-Originating-IP: 147.161.224.167 X-Originating-Client: open-xchange-appsuite X-CMAE-Envelope: MS4xfM6XLAHyxuyXGI29VljdZ69N068sHfVepqjhYlBpIS0svz6fNMu7g3rQnuOQrUkdJFuNj27mnOUCYX+owRz9qx3SvcsOJ0lyBe1FMji2/ig6RT28HNO7 kVkYeTdak1CMRBTwHy8Y+y4zCi+qVBOVpQqmF1OhrnE9OyvjCKb8D5US/N3IvsC1RKwLAQfbhgVf0Wgi3DYTx28JxLK+eAoFVCsu7fw3EfJ9UsLWcKneAOfu cOCp+lYVAQkvzKXhxVzdDg== X-Seq: 28454 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: > On 30/11/2022 14:10 Thomas Lauer wrote: > I have early on stumbled across a zsh function that would expand an > alias on the command line so that I can edit or add stuff and I use that > for many aliases. However, I just can't find a similar thing for > one-line functions, ie a function that will just print the one-line > function body to the command line but not execute it. Given > > f1() { blahblah -o1 -o2 $1 -o3 $2 $3 } > > executing f1() with three parameters is simple: > > f1 a b c > > What I'm looking for is a way to have f1's body injected into the > command line, ie something akin to > > print -z blahblah -o1 -o2 -o3 Not sure how picky you are about having the arguments expanded, but something like the following (by no means fully debugged) would work if you don't mind the arguments being at the end. So run "fline blahblah -o2 -o2 -o3" pws fline() { emulate -L zsh setopt extendedglob # In case not yet loaded local func=$1 shift case $functions[$func] in ('') print "Function \`$func' is not defined" >&2 return 1 ;; ("builtin autoload "[^$'\n']#) autoload +X $func ;; esac local -a args=("() { $functions[$func] }" ${(Q)argv}) print -z "$args" }