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, T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 15692 invoked from network); 22 Mar 2022 21:04:26 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 22 Mar 2022 21:04:26 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1647983066; b=AhAf8J8/I+swMdT1a7ZJ8Zap3X9Zehm62TA80SCeFmQKaDgi1s5URUGilbujehwPc0axurjIEP kOmdalvYXhmUs4n0HoVPoRqAb8zLhQxfi3LVcOVQUTZAF5c5+DHuVBwz9W0aDAjRLaO5H+3Rlo LD1C5RxTtnDnSNNjcxkHaf5rB4uZlz/MNI1yrx+LLnr1V9VCPlV3KvGyYYsKOtiVWcBqv3okPN 9ubCkHlw/7jtM1BHt7eyVCHpXMm34iZSLNa44Pj9oAg8Z/n0ztVONp9kYlXE7dP0JtW9K2wDYi e3WNRo4jlk6kYOyerZ12nmG6LWw25Ada+YW1f6dkgrf0Kg==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (smtpq1.tb.ukmail.iss.as9143.net) smtp.remote-ip=212.54.57.96; 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=1647983066; bh=tCzJ/IrtESr2f6f8/yqWeGPsL+JjH10a8qx+povyofE=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:MIME-Version:Content-Type: References:In-Reply-To:Date:To:From:Subject:Message-ID:DKIM-Signature: DKIM-Signature; b=ZCAuD0OxVOLId/Hi3B+xLo4u6kKuHOtmhNA8RfW3D13JEkx/6PahFNPo5f4WCD17EHEenFp5Rq Et5yPcwafGkXyZIGp3SnzU0kVT2k1HoLHofRUn6H2WaFnF4LAtS8KnsZucKBPynitz7Shil/0H qt3cgVYG3ZDbIm3YD8jQ5w9RPArMIX0BacRFFYpq0WZglWHwl4Ph60Rl7JPsQVG8Hre8khu4WP M8OsW2Za5loRhDsr9cVB4g6a2OSuDA2u0fninZjpFOKiBaLdXmKXgoQg4idIQUfGZhl/8am6Li XKAVeNrInQvh78HJLQJ+G72W192GmBAt6VPrEYMK7KQUdA==; 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: Mime-Version:Content-Type:References:In-Reply-To:Date:To:From:Subject: Message-ID:Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=KzWXa7m5y/V+PRKGFsuOdUuMPfVOfi3tvRSg4o1NBT0=; b=HKvCGbzT3ktm8gdV4u8P0q9BjA dAYt+zO5Z7uZexQ6/5pNbcul24DB4P92UHmUF+JXURfn3i2LEkufjQRHLe2+ub6noAVIA7GKkH751 UPUH5VLkBJJhLvkDtDq5/wrm2WAiiv0Eaarkj8LFcdv1qp54JLH/k2yq5r45ZammPn/W0Q/7DenFU jhoeA70mtMLESBF3Iht2oWiRT9tQTsV1hNF87EyHuimQi4Rd2D6kpY7rDFcz/PUJx3iC4w416Bkds 7ZilbOHw/P5Cxj945k2jm+v9BzSobhSuKcV/vMRZg3LtoMX2t93bTZk/4TKhfy67GEzQe46P+nt+y PpjLnN2Q==; Received: from authenticated user by zero.zsh.org with local id 1nWlg2-0000se-7O; Tue, 22 Mar 2022 21:04:26 +0000 Authentication-Results: zsh.org; iprev=pass (smtpq1.tb.ukmail.iss.as9143.net) smtp.remote-ip=212.54.57.96; dkim=pass header.d=ntlworld.com header.s=meg.feb2017 header.a=rsa-sha256; dmarc=pass header.from=ntlworld.com; arc=none Received: from smtpq1.tb.ukmail.iss.as9143.net ([212.54.57.96]:48456) by zero.zsh.org with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) id 1nWlfB-000071-7w; Tue, 22 Mar 2022 21:03:33 +0000 Received: from [212.54.57.108] (helo=csmtp4.tb.ukmail.iss.as9143.net) by smtpq1.tb.ukmail.iss.as9143.net with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nWlfB-0001B3-0R for zsh-users@zsh.org; Tue, 22 Mar 2022 22:03:33 +0100 Received: from pws-Zeus ([82.1.229.179]) by cmsmtp with ESMTPA id WlfAnMsFoGaPZWlfAnbfe1; Tue, 22 Mar 2022 22:03:32 +0100 X-SourceIP: 82.1.229.179 X-Authenticated-Sender: p.w.stephenson@ntlworld.com X-Spam: 0 X-Authority: v=2.4 cv=aqChtAVV c=1 sm=1 tr=0 ts=623a39a4 cx=a_exe a=W4rGJ7PGCSRRUvufKHO8Dg==:117 a=W4rGJ7PGCSRRUvufKHO8Dg==:17 a=tUY2_OqrbK0wfpg_:21 a=IkcTkHD0fZMA:10 a=o8Y5sQTvuykA:10 a=yfHUvIIruQAE8ygZ740A:9 a=QEXdDO2ut3YA:10 a=KheMvwEV0SjsnKnOG4RB:22 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ntlworld.com; s=meg.feb2017; t=1647983012; bh=KzWXa7m5y/V+PRKGFsuOdUuMPfVOfi3tvRSg4o1NBT0=; h=Subject:From:To:Date:In-Reply-To:References; b=BQI6QWzdmq/eYlQIWSnDEVky/iJ0ru2D3/+S+STmYK4pcgOym2stLUyKBvhRjWzZo mWO6+dgTl3TjZM1wBqYZjqP8DSIGYyw9AcLVUTgBhIpvZdtTEV2K6Y3Gg6OQ7wDr5B M01nI9Cwh4IiCcSu41DGt+Omgg0WnQQBXdrKuCByfIUt4KyM0wp7U8u7wK30a1rWev jXa7uBJt1fN2Up32u3emR/p/jE99p2j+cemeRSZUejhNm2YmsjzDrow4F0stTkfsDf zv7TY0j6ZMaYhFczrvcJmU+Ehs78DHW0uu9m3xEINYHbvM1fUlb56LcfNa+6rMKvkf zWIX5RPGi7Duw== Message-ID: Subject: Re: Suggestions for autogenerating function names to wrap the same code? From: Peter Stephenson To: zsh-users@zsh.org Date: Tue, 22 Mar 2022 21:03:32 +0000 In-Reply-To: <38A2973E-E198-4E15-8DCF-C4C72EBC2B58@dondley.com> References: <38A2973E-E198-4E15-8DCF-C4C72EBC2B58@dondley.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.2 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-CMAE-Envelope: MS4xfOKGRfyHXXUd/hQ/tf50pCWQkUZxMcMrZe5XqH2T77TA7Oh9L4xRvLaQ6/6sLM0+u0a5xpA6zKwcA99ccHrDq8Kc1vT2ntCvFj5ZjsZzsF2yVK0KkNgE g/+aCVfM7t2NrDAtIUtSv9AuE5UEL6Qqym0x0mOGAAw+rVllLUtNSbSTuTck4csmQ62WlI+5GD9jLQ== X-Seq: 27601 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 Tue, 2022-03-22 at 16:52 -0400, Steve Dondley wrote: > So I have these two functions: > > function task() { > task_wrapper.pl $funcstack[1] "$@" > } > > function tc() { > task_wrapper.pl $funcstack[1] "$@“ > > } > > They are both wrappers for the same perl script which does its thing > based on the value of $funcstack[1]; > > Works, but I’m wondering if I can spare myself the job remembering to > create a new function for each and every new perl function I want to > write. > > I could write a little script to pull out the subroutine names from > the perl script and dump them into a file sourced by zsh and then reload > zsh. > > Wondering if there might be some cool feature of zsh I don’t know > about to assist with creating these functions on-the-fly. Recent versions of the shell allow you to copy functions from an old name to a new name. It's efficiently implemented internally. % oldname() { print I am $0: } % oldname I am oldname % functions -c oldname newname % newname I am newname pws