Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm
Precedence: bulk
X-No-Archive: yes
List-Id: Zsh Workers List <zsh-workers.zsh.org>
List-Post: <mailto:zsh-workers@zsh.org>
List-Help: <mailto:zsh-workers-help@zsh.org>
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on f.primenet.com.au
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,
	T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.0
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
         :content-type;
        bh=LwOA2J9B/248siv56SGTYoXR9rvR1qx7Mfnw8l1PJfo=;
        b=HR/IK1JkMbV5pzZcEiMS3SHRYMt5W7alnnCKKQbqSv77JqFtXvzHQLyVu3lIjtU/zi
         8tUpn1/P4CZV+Yq19rs/UA+jEWowjYbwuvZMCGhvjvKsg7qC/dPO01HpkRWSnvoU4C1Q
         6XmfKjklLB0LiASVpMjsBWiVG5fNzhr0/dTv6iMlHLbDkGwV+XGkLeZdxG2VQ+oxpxBj
         Raj6eMS6DOxtvUbU5QNSY4VReTJXrbt5DxTeSZaHrL/MbBJV/LKm1WZfN1jFMzqsHTpj
         EQACdjA8FVMFbAqv3h5HF+ZqYp1+WDTulbnd/nZrlSJ1USjgx2tUKuuh6V4k41fCIrd8
         Hxyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:mime-version:in-reply-to:references:date
         :message-id:subject:from:to:content-type;
        bh=LwOA2J9B/248siv56SGTYoXR9rvR1qx7Mfnw8l1PJfo=;
        b=PQ5mpvH0FemMnF3KSSJFLChT3bUCgrUac7b56lYA6ZL4kcqi3/O3qmdCSW0KK1uGpQ
         GKW+7PNvtbKyKadrOpy3EQf8E4SqRkM7zmMUr+l84aZYk7vI8mPgpNQeuhqztGSywLeq
         XHPn+sgISIAsRSb+fjYLkr4z6SZqb3b2anx9G5K1O7wCLCnShjAn5zCyBbR4b5PSTJ/H
         nACdugkZgFiIGFl7Ynsm3phcGiXaa3qo89VpbAU8Hye75OeYEAEhKKpaHmYz64PEN27p
         Ftxwazz24KjyvRRBcP8sKeAg7BpshIm807ba6XW7PdeQmUwd+wo7Av9LydzBtYNiem6z
         IyVQ==
X-Gm-Message-State: ALoCoQl5xR0/7yg9b1Z+83I8Rr4VybbTuqHTbydiNQENleJFRCrrHIqObdyncFRRGPk3IB6P1aflh6bXKGyKH0Fkh1xXD5FXKg==
MIME-Version: 1.0
X-Received: by 10.55.72.87 with SMTP id v84mr29689737qka.9.1453091897262; Sun,
 17 Jan 2016 20:38:17 -0800 (PST)
In-Reply-To: <20160118022557.GE3979@tarsus.local2>
References: <20160114001336.GA11173@tarsus.local2>
	<56973114.90807@gmx.com>
	<20160115062645.GB12223@tarsus.local2>
	<CAHYJk3QLCCVmZf4efzQgxs3haKv2mssQk3cGQXd5fm7DK7dgGg@mail.gmail.com>
	<20160118022557.GE3979@tarsus.local2>
Date: Mon, 18 Jan 2016 05:38:17 +0100
Message-ID: <CAHYJk3T6hkQez_zUsRKngRoAm80Xr5Od-=51KWGf9bRWkmRqaA@mail.gmail.com>
Subject: Re: [PATCH] typeset: set $? on incidental error
From: Mikael Magnusson <mikachu@gmail.com>
To: Daniel Shahaf <d.s@daniel.shahaf.name>, zsh workers <zsh-workers@zsh.org>
Content-Type: text/plain; charset=UTF-8
X-Seq: zsh-workers 37668

On Mon, Jan 18, 2016 at 3:25 AM, Daniel Shahaf <d.s@daniel.shahaf.name> wrote:
> Mikael Magnusson wrote on Fri, Jan 15, 2016 at 15:46:09 +0100:
>> On Fri, Jan 15, 2016 at 7:26 AM, Daniel Shahaf <d.s@daniel.shahaf.name> wrote:
>> > Eric Cook wrote on Thu, Jan 14, 2016 at 00:24:36 -0500:
>> >> On 01/13/2016 07:13 PM, Daniel Shahaf wrote:
>> >> > The 'typeset' family of builtins doesn't set $? when one would expect it
>> >> > to do so:
>> >> >
>> >> >     % x=$(true) y=$(exit 42); echo $?
>> >> >     42
>> >> >     % local x=$(true) y=$(exit 42); echo $?
>> >> >     0
>> >> >
>> >> > This patch makes 'typeset' behave as ordiary assignment does.
>> >>
>> >>
>> >> But who expects that?
>> >
>> > I did.
>>
>> local/typeset is a command, and it was successful, so I don't see why
>> $? should be set to anything else than 0.
>> % true x=$(false); echo $?
>> 0
>> is technically exactly the same situation as your above second command.
>
> I wouldn't call it successful: I asked for the parameter x to be created
> as a scalar and assigned a value and only part of my request was
> accomplished.

That's not true, the parameter is created and assigned the value you
asked for (your command subst had empty output so the parameter is ""
but if you did local y=$(echo hi; exit 42) it would be "42".)

-- 
Mikael Magnusson

