From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17845 invoked by alias); 10 Jan 2015 17:12:48 -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: 34211 Received: (qmail 25474 invoked from network); 10 Jan 2015 17:12:46 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=QNbwoI80RTykSnrneL83QV8GkX3pQPTUZFP/r4YK5Ug=; b=ZX/xCY0ihpDVbclA8E0m1l4jPIeOahFBqic9VyPar8qb422LWKcSNyDMrLX2xmL0ye hiUi8uveb0g8aJy1R2kgODvA5/nU7g30o13G32k+mrKVrH94qhrgJwrP/Fbql4EkZjLP qEIqvk6IyRbVXh8YoifPNgh8+tNIPqfAdbVZiE0MqSWuGkw6ow0RGqautYBFggG87D1r thI8zDe5y8japCrIrHCYdAfKKw2m8c7jtxM+kbVoWYe8LaTj5blyMoZz4rZqXV5lQNyH wnX8QWxxwcTPT77q4x1v1XmG8OuWQwf8yUXuj+wHKCPNCONNXBiHRMNbalDPxCpis23q x1/g== MIME-Version: 1.0 X-Received: by 10.42.102.66 with SMTP id h2mr17955002ico.88.1420909960631; Sat, 10 Jan 2015 09:12:40 -0800 (PST) In-Reply-To: <150110085722.ZM28022@torch.brasslantern.com> References: <150109225231.ZM24510@torch.brasslantern.com> <150110085722.ZM28022@torch.brasslantern.com> Date: Sat, 10 Jan 2015 18:12:40 +0100 Message-ID: Subject: Re: Crash when exporting scalar without value and getsparam fails From: Mikael Magnusson To: Bart Schaefer Cc: zsh workers Content-Type: text/plain; charset=UTF-8 On Sat, Jan 10, 2015 at 5:57 PM, Bart Schaefer wrote: > On Jan 10, 8:56am, Mikael Magnusson wrote: > } Subject: Re: Crash when exporting scalar without value and getsparam fails > } > } On Sat, Jan 10, 2015 at 7:52 AM, Bart Schaefer > } wrote: > } > I think it should do nothing to the environment and return success. > } > > } > % bash -c 'unset IFS; export IFS; echo $?; printenv | grep IFS' > } > 0 > } > % > } > } Ah yes, this is what happens for other parameters in zsh too. > > So did I somehow miss that this is specific to IFS and doesn't affect > exports in general? Or is there some other characteristic of the > parameters that tickle this bug? (I see that what I wrote is a bit unclear, but I'm not sure what the 'this' refers to, so I'll be specific about everything). I don't know exactly how specific the crash is, but for most parameters, doing an unset followed by an export does what you suggest we should do for IFS. Eg, it isn't put into the environment, but upon the next assignment it is set and exported into the environment without another explicit 'export'. For IFS doing this just crashes currently. The reason for which is that getsparam fails on IFS when it is unset (I don't know why). According to Oliver's original analysis, there may be other cases such as dupstring failing (that would break everything else anyway), or other unknown causes. Neither of the changes I tested makes IFS behave as the generic case, but both stop the crashing. -- Mikael Magnusson