From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27892 invoked by alias); 5 Aug 2015 20:04:20 -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: 35996 Received: (qmail 7401 invoked from network); 5 Aug 2015 20:04:18 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.0 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:message-id:date:in-reply-to:comments :references:to:subject:mime-version:content-type; bh=226lF6jultIT5cvHz4SWAtwlD3aeIOE97xJLNa/GTVI=; b=lOQmk8viTWqRuIhIqSxB1MHXB0OVl081iWvgMbmIBSrLYRMlVGkrLcoBgalCAe7/Tx /ddD+WtqWewOfiEUb4Wl5frYvbQ8bLZ2WhCjzkEp1UeSvZ2DWdNLDmQH/VoJwJL0b9EJ WmWe3Nzqh6++z9o3UHtrTh1YjbPs9F+i4R2zbEAsuiAFEoOeZr2sXeZXTLn04poQnOxm rbPwAC7TjaSlLXCdDS3cponhKrZBKq3mWJ9pmYiy+NzxV9AaeGLyxFWKKvBOm/+V2gRm VQcWARbPCzHxf/EymddjSWPUObO3DBKNRrQhzKocBpdFga40meFzY4E+T9OZAWJOLhje 8AAw== X-Gm-Message-State: ALoCoQk9iO4hXR1R5FW11P4fz577j9ruCYb9w4QCOAQZ7EZMzYqu5iHNcwOtr3ccUWR+PIsdt0xr X-Received: by 10.202.232.67 with SMTP id f64mr9312323oih.63.1438805055359; Wed, 05 Aug 2015 13:04:15 -0700 (PDT) From: Bart Schaefer Message-Id: <150805130412.ZM7660@torch.brasslantern.com> Date: Wed, 5 Aug 2015 13:04:12 -0700 In-Reply-To: Comments: In reply to Mikael Magnusson "typeset -T crash" (Aug 5, 7:59pm) References: X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: zsh workers Subject: Re: typeset -T crash MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On Aug 5, 7:59pm, Mikael Magnusson wrote: } Subject: typeset -T crash } } typeset -T i j k; typeset -T j i k Something like this? diff --git a/Src/builtin.c b/Src/builtin.c index a08a7d4..b32d679 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -2680,10 +2680,15 @@ bin_typeset(char *name, char **argv, LinkList assigns, Options ops, int func) */ struct tieddata *tdp = (struct tieddata*)pm->u.data; /* Update join character */ - tdp->joinchar = joinchar; - if (asg0.value.scalar) - setsparam(asg0.name, ztrdup(asg0.value.scalar)); - return 0; + if (tdp) { + tdp->joinchar = joinchar; + if (asg0.value.scalar) + setsparam(asg0.name, ztrdup(asg0.value.scalar)); + return 0; + } else { + zwarnnam(name, "can't tie already tied array: %s", + asg0.name); + } } else { zwarnnam(name, "can't tie already tied scalar: %s", asg0.name);