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.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HTML_MESSAGE,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 25987 invoked from network); 31 Dec 2023 15:53:50 -0000 Received: from zero.zsh.org (94.142.241.90) by inbox.vuxu.org with ESMTPUTF8; 31 Dec 2023 15:53:50 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1704038030; b=eQ7D9wk509FmEUVLny0xJUIYIMwMYIxnpedwrr4gjDz5NPqSYcGtrfarO3XaK3dxwV4pX7wqhc SPgBFzd6DSYCwn/FEWKtLD26YyIitPhKP3uABJr0B5PB03Gu4viqw1mjB8sbItVtRVE75eJY6O luuSByQQaVgufdS7gj9N3CMR9yjHgOGt3smVachNJSR5QQmlHMnDMgyBLP1GIZ99nXrQXTK1Lp WGc/L+67u4GEgx/PqK4/OcilpAp6daYxLwrhsfH09cy15e0CtzyOd4HEcBwHG9kGzG1IzM0MYK OiiYwQ6eYHO/TH4Qf8Hv0Af1rBYr+L5zVhq93K6DvNDpwg==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mta04.eastlink.ca) smtp.remote-ip=24.224.136.10; dmarc=none header.from=eastlink.ca; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1704038030; bh=vCFF5RfFWJjfqvu+Y7ivk3OpX1ZqoLs6JXQkWOzPk+M=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:In-Reply-To:From:References:To:Subject:MIME-Version:Date: Message-ID:Content-Type:List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:In-Reply-To:From:References:To: Subject:MIME-Version:Date:Message-ID:Content-Type:DKIM-Signature: DKIM-Signature; b=m1WNMEp/Po8nTMcQznZTM3llztQpwGqXR/yAHNCMbIYnqOWI26GL9T3I3uCIErOVeqNRK0mMm5 9KJY/J8kWCQmw8RH4BJfsYysIbWaldXMF+3i+e6oVphPsNTg+z1WZ6VfnPrjkMM/mUtxXiquZc YzNQTY+kJsRHCBcLPsZJB4VuFtqIykQByBtkmsak6tXHepbaVCq7eChHUfSrcz+mxuPGw42f/E 05eMc75sYeB+zYLMDNG4NLci2b/ctIfvfycW1NtUA/5onq3YmH6WiAMTPACejTOlc10hvc+eAm Q2iwiABX/PtqY+2xQJiMTv8h99VRim47zDqxUT1dB02wyQ==; 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:In-reply-to:From:References:To: Subject:MIME-version:Date:Message-id:Content-type:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=1W255fnpDVcVh8uvLf5IZ+OgX+TaO/xY9aA5Ctxoooc=; b=ZuhGFWK5+5aGmOwJQZwu1X2aX9 SdIoXh6vtKk4HZFNkgTLDMQizoifablkfBgDzyiNcIWQZ1NZi/IsWrJ2hVypnDX/HmF9zSV1j48Au awjYuuMS/u8LaJiF4uoGLRWr9LTG6uY0SuNE8psbz5Ch8go39FOzPOCSbPQD9oRXrhY680WExn7eM yG+wKKmhTbMgKIrN8Vfs3SVZYnHBO5L6jhhfG15Cjvy1r+xQnK/biFdM0QaNiZkGxzftvJLoSaSdT Cmbk2Crq2dJB6KlG5DwFHxacb/dN/Zib5v0x5UjFbgZeDYS/ttT4ZPIl51XtVd/O/xwCyx7blkh9c BeaV6RqA==; Received: by zero.zsh.org with local id 1rJy8J-000Alw-Jc; Sun, 31 Dec 2023 15:53:47 +0000 Authentication-Results: zsh.org; iprev=pass (mta04.eastlink.ca) smtp.remote-ip=24.224.136.10; dmarc=none header.from=eastlink.ca; arc=none Received: from mta04.eastlink.ca ([24.224.136.10]:46333) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1rJy7b-000A45-QH; Sun, 31 Dec 2023 15:53:04 +0000 Received: from csp02.eastlink.ca ([71.7.199.167]) by mta04.eastlink.ca ([24.224.136.10]) with ESMTPS id <0S6J0RYJIG0YBBY0@mta04.eastlink.ca> for zsh-users@zsh.org; Sun, 31 Dec 2023 11:53:02 -0400 (AST) Received: from [192.168.0.11] (host-24-207-19-13.public.eastlink.ca [24.207.19.13]) by csp02.eastlink.ca ([71.7.199.167]) with ESMTPSA id Jy7ZroJTOW7C8Jy7Zr2oaG (version=TLSv1_2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256); Sun, 31 Dec 2023 11:53:02 -0400 X-Authority-Analysis: v=2.4 cv=CpB5MF0D c=1 sm=1 tr=0 ts=65918e5e a=e7T7DzMKK1R988ZCg0wLyw==:117 a=e7T7DzMKK1R988ZCg0wLyw==:17 a=r77TgQKjGQsHNAKrUKIA:9 a=HJzSCuhC_vOiKbgqa8AA:9 a=QEXdDO2ut3YA:10 a=pGLkceISAAAA:8 a=WDY4puvAfGOzRZ5g3vQA:9 a=bpSGw9s_rq_dFijJ:21 a=_W_S_7VecoQA:10 X-Vade-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdefkedgheekucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecugfetuffvnffkpffmpdfqfgfvnecuuegrihhlohhuthemuceftddtnecunecujfgurheptgfkffggfgfuvfhfhfgjsegrtderredtvdejnecuhfhrohhmpeftrgihucetnhgurhgvfihsuceorhgrhigrnhgurhgvfihssegvrghsthhlihhnkhdrtggrqeenucggtffrrghtthgvrhhnpefhteethfevgeeuvdelgefgvdevudefueduffdvgfelvddvgfdtieegueeuleeifeenucfkphepvdegrddvtdejrdduledrudefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepvdegrddvtdejrdduledrudefpdhhvghloheplgduledvrdduieekrddtrdduudgnpdhmrghilhhfrhhomheprhgrhigrnhgurhgvfihssegvrghsthhlihhnkhdrtggrpdhnsggprhgtphhtthhopedvpdhrtghpthhtohepreerpdhrtghpthhtohepiihshhdquhhsvghrshesiihshhdrohhrghdpghgvthdqkghiphfrrghsshifugepthhruhgv X-Vade-Score: 0 X-Vade-State: 0 X-EL-AUTH: rayandrews@eastlink.ca Content-type: multipart/alternative; boundary="------------F7siOF0cSPUI6eFsxfIoKGjJ" Message-id: <707f3c88-b222-45b8-9512-30830ec02a88@eastlink.ca> Date: Sun, 31 Dec 2023 07:53:01 -0800 MIME-version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: zmv exits from function Content-language: en-US To: zsh-users@zsh.org References: <69024621-9e60-474f-9c32-4edaecc3ff68@eastlink.ca> <07ddd352-0c1b-467e-9d4c-ff46020ccf41@eastlink.ca> From: Ray Andrews In-reply-to: X-Seq: 29394 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: This is a multi-part message in MIME format. --------------F7siOF0cSPUI6eFsxfIoKGjJ Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 2023-12-30 19:58, Bart Schaefer wrote: > No, the parsing is all done first: "{ ... } always { ... }" is a full > expression. Zsh "knows" the always-part is coming before it even > starts executing the first block. > So that's multi-pass parsing.  Anyway, first I've seen of anything like it.  I'm reading up on it right now.  'always' is a reserved word then.  Bottom line is that I now have a tool for handling 'no files' situations.  Good to know because there could be any number of housekeeping functions that might want to clean up or rename some group of files if they exist but it's not a problem if they don't. --------------F7siOF0cSPUI6eFsxfIoKGjJ Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit


On 2023-12-30 19:58, Bart Schaefer wrote:
No, the parsing is all done first: "{ ... } always { ... }" is a full
expression.  
Zsh "knows" the always-part is coming before it even
starts executing the first block.

So that's multi-pass parsing.  Anyway, first I've seen of anything like it.  I'm reading up on it right now.  'always' is a reserved word then.  Bottom line is that I now have a tool for handling 'no files' situations.  Good to know because there could be any number of housekeeping functions that might want to clean up or rename some group of files if they exist but it's not a problem if they don't.



--------------F7siOF0cSPUI6eFsxfIoKGjJ--