From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26354 invoked by alias); 14 Jan 2018 15:23:54 -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: List-Unsubscribe: X-Seq: 42275 Received: (qmail 9552 invoked by uid 1010); 14 Jan 2018 15:23:54 -0000 X-Qmail-Scanner-Diagnostics: from mail-pl0-f65.google.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(209.85.160.65):SA:0(-1.9/5.0):. Processed in 1.418412 secs); 14 Jan 2018 15:23:54 -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=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_PASS, T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.1 X-Envelope-From: joeypabalinas@gmail.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=x4QzhMeWQfs3LeFWoEvSfJDUxAh2DHqcyLEJZzUcgYU=; b=Lw/5Htq5sjCPjo+P5bEZaf24EWUb/OhANQpWhj1RrV+H2XlR2kJ/Q0DFFfJzIOvTq8 SuTn4ZwJfpmNFPxrw2mD2a+2nha+NP+vQitrOfVUPVQ23cdaZFGFmu5T7NyFThdPdngr T8F+sCWpKQbWFfWn06Zx66f352FvBw/bz8y1wrfRgCEfkXx3lJHz6egma1SEBX7YzLp8 6yWVKqy48U/y1qb9niQ+Z0puDxYux6bwiT6G//SMGvSxrSEb1xktqwMo+pfLFDPxhqmt 2z6UvDn2zAJJQpzufoF0nESVLH8gNGOP/PdA914l3iQIjUQWt4MoOAj3QwTzOyJVL32V NNGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=x4QzhMeWQfs3LeFWoEvSfJDUxAh2DHqcyLEJZzUcgYU=; b=NW7pYfcPz2BDJ9KVTiBB/iBEEaye6PZoEg6IEW/q8qCw9CrcP+qe4K75UCqrRQXcds vGAKt1VYM6s4sD2Chod7an2f0yUhs1BLD1AxJXVc4+pd8CXlkZjjGodpzDfEHX844tq0 gTXZK0L0Z0cdrB7BpSugJADkH8ba/GJ0bMRFeoqH48heJMtHU8JZ+NrvWO8YV/ZTWrmt OhFn5II3lffucJAmaA5e10E8xAqJgzOd7BIVdPSUWw5SsV2kEe1NBa7AmRIC924Y/mDB KP7tYd5ZzMFk3fFHupYfzQW9yXO0g71RU7c6UOkAKBmH3twe4H8dQ8L5QdtwLtHReT5K mh2Q== X-Gm-Message-State: AKwxytcyZHPJRGS9JUxIorA514nDxpP0rQGGLfnQoRzynvl+WSm5dfyk bXzSzaoVGWCJo4/x6Atdaqs= X-Google-Smtp-Source: ACJfBottSu0il8Bjwha2fkdxUjnJsaHDBMpmCpy7yiIIzhLkrJ7U/QR8mnWOyHN6GrET50efig6XIQ== X-Received: by 10.84.143.131 with SMTP id 3mr12288418plz.385.1515943430432; Sun, 14 Jan 2018 07:23:50 -0800 (PST) From: Joey Pabalinas To: schaefer@brasslantern.com Cc: dana@dana.is, zsh-workers@zsh.org, Joey Pabalinas Subject: [PATCH 2/3] jp: Use `(nil)` for empty identifier strings Date: Sun, 14 Jan 2018 05:23:43 -1000 Message-Id: <20180114152344.12018-3-joeypabalinas@gmail.com> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180114152344.12018-1-joeypabalinas@gmail.com> References: <20180114152344.12018-1-joeypabalinas@gmail.com> Indicate the presence of an empty identifier string using `(nil)`; the empty string case should still provide a somewhat useful error message using: > zsh:1: not an identifier: (nil) rather than: > zsh:1: not an identifier: which is fairly confusing and sort of useless. Signed-off-by: Joey Pabalinas Requested-by: Bart Schaefer 2 files changed, 6 insertions(+) diff --git a/Src/params.c b/Src/params.c index de7730ae735a44963c..44a942296f23ddf88f 100644 --- a/Src/params.c +++ b/Src/params.c @@ -3004,6 +3004,8 @@ assignsparam(char *s, char *val, int flags) int sstart, created = 0; if (!isident(s)) { + if (!strcmp(s, "")) + s = "(nil)"; zerr("not an identifier: %s", s); zsfree(val); errflag |= ERRFLAG_ERROR; diff --git a/Src/subst.c b/Src/subst.c index d027e3d83cadc631a7..5fe69a6b94bfad8d9e 100644 --- a/Src/subst.c +++ b/Src/subst.c @@ -3150,6 +3150,8 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags, } if (*itype_end(s, IIDENT, 0)) { untokenize(s); + if (!strcmp(s, "")) + s = "(nil)"; zerr("not an identifier: %s", s); return NULL; } @@ -3210,6 +3212,8 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags, ++s; if (*itype_end(s, IIDENT, 0)) { untokenize(s); + if (!strcmp(s, "")) + s = "(nil)"; zerr("not an identifier: %s", s); return NULL; } -- 2.15.1