From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5738 invoked by alias); 18 Jan 2017 09:54:13 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 40380 Received: (qmail 18352 invoked from network); 18 Jan 2017 09:54:13 -0000 X-Qmail-Scanner-Diagnostics: from mailout4.w1.samsung.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(210.118.77.14):SA:0(-8.2/5.0):. Processed in 3.742724 secs); 18 Jan 2017 09:54:13 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-8.2 required=5.0 tests=RCVD_IN_DNSWL_HI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at samsung.com does not designate permitted sender hosts) X-AuditID: cbfec7f1-f793f6d000007796-12-587f3b3af510 Date: Wed, 18 Jan 2017 09:53:58 +0000 From: Peter Stephenson To: Zsh hackers list Subject: Re: PATCH: autoload with explicit path Message-id: <20170118095358.1ff14068@pwslap01u.europe.root.pri> In-reply-to: <20170117183606.5d1db3de@pwslap01u.europe.root.pri> Organization: Samsung Cambridge Solution Centre X-Mailer: Claws Mail 3.7.9 (GTK+ 2.22.0; i386-redhat-linux-gnu) MIME-version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrFIsWRmVeSWpSXmKPExsWy7djPc7pW1vURBk/Wy1gcbH7I5MDoserg B6YAxigum5TUnMyy1CJ9uwSujB3NvUwFT7kq3t5cz9LAuIuji5GDQ0LAROJ2i2oXIyeQKSZx 4d56ti5GLg4hgaWMEssPv2WBcHqZJC7t3s4KUWUisX7NV2aIxDJGiWM3m9lAEkIC05gkWneF QiTOMEpcmfkUqv0so8S3g8/YQapYBFQlNi1cyAhiswkYSkzdNBvMFhHQkthx8iQTiC0soC8x /XMvO8h9vAL2En3vK0HCnAIOEi/mPAMr5wcqufr3ExPERfYSM6+cAYvzCghK/Jh8jwXEZhbQ kdi27TE7hC0vsXnNW7CrJQSa2SX6Dr5khfhfVmLTAWaIOS4St1cuZIewhSVeHd8CZctIXJ7c zQJh9zNKPOn2hZgzg1Hi9JkdbBAJa4m+2xcZIZbxSUzaNp0ZYj6vREebEESJh8TS19fZIMKO Ei932k5gVJyF5OpZSK6eheTqBYzMqxhFUkuLc9NTi430ihNzi0vz0vWS83M3MQJTwOl/xz/u YHx/wuoQowAHoxIP7wrxuggh1sSy4srcQ4wSHMxKIrxvLOojhHhTEiurUovy44tKc1KLDzFK c7AoifPuWXAlXEggPbEkNTs1tSC1CCbLxMEp1cBY1smtsYmtdA7HPOdVazM/6Hs4bt3OmiH1 X2DVD+ttJffDOju/cL39w8Bd+OzVtDsX5QuD095xTA7xZHywen9r8OVzn96ZFx9lDnyxSvfM t4m378Su/cyk/kOyvWHbhlUr3RyWXz3g4ts+a6XAndyQRQ6f/P99O9F5/IbgwycHNd/NNZUx /MUTqMRSnJFoqMVcVJwIAIvLC4v9AgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrKIsWRmVeSWpSXmKPExsVy+t/xq7om1vURBrc+sVscbH7I5MDoserg B6YAxig3m4zUxJTUIoXUvOT8lMy8dFul0BA3XQslhbzE3FRbpQhd35AgJYWyxJxSIM/IAA04 OAe4Byvp2yW4Zexo7mUqeMpV8fbmepYGxl0cXYycHBICJhLr13xlhrDFJC7cW8/WxcjFISSw hFFixapWdghnBpPEpCW7oDLnGCWmPnnACtIiJHCWUeJqkyKIzSKgKrFp4UJGEJtNwFBi6qbZ YLaIgJbEjpMnmUBsYQF9iemfe4GmcnDwCthL9L2vBAlzCjhIvJjzjBFi/kkmidOfP4HN5weq v/r3ExPEefYSM6+cAZvJKyAo8WPyPRYQmxlo/uZtTawQtrzE5jVvmSFuU5e4cXc3+wRG4VlI WmYhaZmFpGUBI/MqRpHU0uLc9NxiI73ixNzi0rx0veT83E2MwCjaduznlh2MXe+CDzEKcDAq 8fAGiNZFCLEmlhVX5h5ilOBgVhLhfWNRHyHEm5JYWZValB9fVJqTWnyI0RQYMBOZpUST84ER nlcSb2hiaG5paGRsYWFuZKQkzjv1w5VwIYH0xJLU7NTUgtQimD4mDk6pBsZM7c1bZzx1S9rv /+VM4Tb1xN8JK8SSdWeKM+25Wbqh1kNZUv3S/s17uaa6R+3U4Jjye3+QxJwbn/ec+V6467SE h13Awktfs+X/3imafn6J1vOMO4cDtTaGf7nM3lJRzsIhqpV3cMKzmVoOz7g6Ags7lH58X9W4 kzOc7ZfellCm0LNL3uooCsUqsRRnJBpqMRcVJwIA7nxFzLgCAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170118095402eucas1p22949b4d5dd49537b8761940fc7d6edc3 X-Msg-Generator: CA X-Sender-IP: 182.198.249.180 X-Local-Sender: =?UTF-8?B?UGV0ZXIgU3RlcGhlbnNvbhtTQ1NDLURhdGEgUGxhbmUb?= =?UTF-8?B?7IK87ISx7KCE7J6QG1ByaW5jaXBhbCBFbmdpbmVlciwgU29mdHdhcmU=?= X-Global-Sender: =?UTF-8?B?UGV0ZXIgU3RlcGhlbnNvbhtTQ1NDLURhdGEgUGxhbmUbU2Ft?= =?UTF-8?B?c3VuZyBFbGVjdHJvbmljcxtQcmluY2lwYWwgRW5naW5lZXIsIFNvZnR3YXJl?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDA1Q0QwNTAwNTg=?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20161212160617epcas2p16960e3d95c694147035f760090e6011b X-RootMTR: 20161212160617epcas2p16960e3d95c694147035f760090e6011b References: <20161211221844.5e51affe@ntlworld.com> <161212080550.ZM935@torch.brasslantern.com> <20161212163124.6654f077@pwslap01u.europe.root.pri> <20170110193102.7725620a@ntlworld.com> <20170117183606.5d1db3de@pwslap01u.europe.root.pri> On Tue, 17 Jan 2017 18:36:06 +0000 Peter Stephenson wrote: > I have found a bug, though: "autoload /path/to/foo" takes effect > even if foo is already loaded, which isn't supposed to happen. > Test for this tomorrow. I'll push these two together. This also exemplifies the behaviour I was discussing yesterday. pws diff --git a/Test/C04funcdef.ztst b/Test/C04funcdef.ztst index 370394b..5edbe26 100644 --- a/Test/C04funcdef.ztst +++ b/Test/C04funcdef.ztst @@ -468,6 +468,31 @@ >fun2b >fun2a + not_trashed() { print This function was not trashed; } + autoload -Uz /foo/bar/not_trashed + not_trashed +0:autoload with absolute path doesn't trash loaded function +>This function was not trashed + + # keep spec from getting loaded in parent shell for simplicity + ( + if whence spec; then print spec already loaded >&2; exit 1; fi + autoload -Uz $PWD/spec + autoload -Uz $PWD/extra/spec + spec + ) +0:autoload with absolute path can be overridden if not yet loaded +>I have been loaded by explicit path. + + ( + if whence spec; then print spec already loaded >&2; exit 1; fi + autoload -Uz $PWD/extra/spec + autoload spec + spec + ) +0:autoload with absolute path not cancelled by bare autoload +>I have been loaded by explicit path. + %clean rm -f file.in file.out