From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: from zero.zsh.org (zero.zsh.org [IPv6:2a02:898:31:0:48:4558:7a:7368]) by inbox.vuxu.org (Postfix) with ESMTP id EE45924BCF for ; Tue, 5 Mar 2024 09:37:10 +0100 (CET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1709627830; b=DJQHN9sqZMrt2PYVtFEzQApPrP/w4wlT/Ox+OHxAjoETpSjzQo0f3zgSFU02mZbt3egVHABMUe Yb/xZGP+wiNPpX4CGKIStUQDvl7ufOypZ45gR1jIAk++W8nMkiuZeDbukNCBc2YyPyoDsNAwW6 zODVGfp9W89k//BXxRogLsSSaTHIewTqDA0wOZvI354mOCT6ci0BpdrHb/xB+3ApVeJY6/BC+p HW4CHb9m96dheZdnpxW+AdN7265JWXwfgBoHGrpYYmABVLKPRdoPlLt2JLxM+HFWat9vq7aHy/ FRSYuJs110K6//Mjbvcu3blX32OY/NM9unUFS9wRthhddQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (relay5-d.mail.gandi.net) smtp.remote-ip=217.70.183.197; dmarc=none header.from=chazelas.org; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1709627830; bh=0EEzv0G7zc46zNhzzpC96nOvRjtzMrmS+kRLrHg7bSY=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:In-Reply-To:Content-Transfer-Encoding:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:DKIM-Signature; b=hqPBbup6oW6Ynp+0hmVEC3wkJRqDdqEO98HO5sodx3F5uBAYQux6bbXHIqE3MO+KzwCcnBBGkX sg4GhnP5zrv7rBq8D9+3bASVE+bDZlG+9Rqs5lQ1GwwVkO8wKmdVEkLLnW9hEYfwGXAfS9Sfy5 jLWWj5YdHUT4rYMX9qO9DkVV6SkGe6GpezlpeOK8bkUZlp9mOAUVzIYkBml/sfPX0GGvpBr6Lc auVQk3uvI5CQXmLPOSX2R7G6wvRIjbN3vdxGwapALr2TSxIRiBUFW6wOAAzx9Ow+z2MavctBR6 3hnbKjhAnMs2umAH09+Q+rIdp8ww5FnqxGfB7Yeb2L3jDA==; 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:Content-Transfer-Encoding :Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID; bh=ADSnOUU35pUHSGVMgbxzVjzzgnQ85xpVpOqS9HIJO78=; b=OILBVmxPlYNMirPdvUDsrHAPwv vLujIpDby6qR1taK3rQiN+LZaUL7jSAXHteYj5k0ZXI58nPJJMFytG0uzn0948/Y8gbxDvH+8UdsH 2IOMzFWj7UCO1FmHV7W+R7pM5nXeRlwDi/nV3yisRkFtGFNeV9rcC0eoDgSLdR8CWMx9zqo5SesmV kZmc7bRaQWantek+sz/cSIOBvDTBwbo2i6jcJEjPvUpiwQxilMseFkR2uFEtid12Hs2eSRne18y3k p+kqtznCY1bDKGt2uoryg//LXr9YQBIQe3CYhh2UgB+8kaXXSgjHMd7dD2BjhHEXTgohNio7s3NnW JYD0gHNQ==; Received: by zero.zsh.org with local id 1rhQIQ-00025Y-8i; Tue, 05 Mar 2024 08:37:10 +0000 Authentication-Results: zsh.org; iprev=pass (relay5-d.mail.gandi.net) smtp.remote-ip=217.70.183.197; dmarc=none header.from=chazelas.org; arc=none Received: from relay5-d.mail.gandi.net ([217.70.183.197]:59387) by zero.zsh.org with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) id 1rhQID-0001lL-Ru; Tue, 05 Mar 2024 08:36:58 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id 029E11C0009; Tue, 5 Mar 2024 08:36:56 +0000 (UTC) Date: Tue, 5 Mar 2024 08:36:55 +0000 From: Stephane Chazelas To: Bart Schaefer Cc: Zsh hackers list Subject: Re: [PATCH] Fix crash on unset-through-nameref Message-ID: <20240305083655.ghjczoopssf33eje@chazelas.org> Mail-Followup-To: Bart Schaefer , Zsh hackers list References: <20240304062914.kn6wquvgog3lefom@chazelas.org> <20240304193409.lv725ah6eifiazzx@chazelas.org> <20240304193641.gdjs7girbrvzxq6j@chazelas.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-GND-Sasl: stephane@chazelas.org X-Seq: 52684 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: 2024-03-04 15:50:45 -0800, Bart Schaefer: > On Mon, Mar 4, 2024 at 11:36 AM Stephane Chazelas wrote: > > > > The other one is now wrong in a different way: > > > > $ ./Src/zsh -c 'f() { typeset -n v=$1; unset v; typeset -p w; v=(a b); }; w=1; f w; typeset -p w' > > typeset -a w=( a b ) > > $ ./Src/zsh -c 'f() { typeset -n v=$1; unset v; typeset -p w; v=(a b); }; v=1; w=1; f w; typeset -p w' > > $ > > Src/zsh -c 'f() { typeset -n v=$1; unset v; typeset -p w; v=(a b) || > echo failed; }; v=1; w=1; f w; typeset -p w' > failed > > So removing the PM_DECLARED is hiding the "attempt to assign array > value to non-array" message but still not permitting the assignment. > > This probably is not better than the previous situation. But it works in: $ zsh -c 'a=0; f() { local a=1; a[2]=(foo bar); typeset -p a; }; f; typeset -p a' f: a: attempt to assign array value to non-array $ zsh -c 'a=0; f() { local a=1; unset -v a; a[2]=(foo bar); typeset -p a; }; f; typeset -p a' typeset -a a=( '' foo bar ) typeset a=0 Where we should also have a variable after that unset that is not set but "declared" without any type (not in the global scope though), suggesting the problem may be fixable. -- Stephane