From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 29778 invoked from network); 28 Dec 2020 22:14:06 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 28 Dec 2020 22:14:06 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1609193646; b=MZc1EBEqXvi7DvD1B/4E1Nic5y4aZJ4AShKSY/Topfo//tz5FqHx5gHiLxGESsNYgqfQcc6XDZ ZZTut2ol1YUCLXXnpapnOACZCmjqTkMfgsJOwC8fK3mmjNlOpK0Fl/iDakH7MrQvcZGhOLz32B HzJOFjehA1dNlpW4rQ/Pqdl2C3WqX/LfwrSVwWBUD1kDsAlGo7+ZL2iOlzoGh7YAWbMBeE4w6C 5b2JAqnZI7PP73DM2dmMox25IjP4MY7ixm/RA5UiMJ1Y8s++ahfWIUyafxXWztP5DTl6FQoh8o mVaNxiSFCfP+Y3N0jDv+4JDfxpR30djMHz5o2bJNgTNTtQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-ot1-f42.google.com) smtp.remote-ip=209.85.210.42; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20200801; t=1609193646; bh=HVe+P4A8iO5olpVrDr62Vvuey5O7lIMmtNAmHdvGaB8=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:MIME-Version:Message-ID:Date: Subject:Cc:To:From:DKIM-Signature:DKIM-Signature; b=0+TjXmMUKADWV/7p/aZLlnG7r8GO/GWwbJqbWhK4lb/IVMAWqMdnbhf/TKbpQ0KC7Tx3cYv/TF PG99tAOCWP97WlWOBGDDm1kQl/z/40sZQzmZtQvktolc84k+tJBLBiw2zk0MeAKrebaLF+k0Zj zBVzHRM864aJEZGSyx6viRmoKdLflW3uT/T2+vyGvp9Y0DdOr4lc1TjuyQNuDRzdo0wPL7WOo9 zAR7e4UpESbSKcMseS6JvEaxksVDD6SBH993hzLr2yNrfssvV5y4hp+JK0mq9pvZVvtMtSqhN1 VIkqZp4oY8ihFxjWL1uetxLHEChgL6zpa2caRzBqjGn1aQ==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20200801; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References; bh=Dvv4w5j46rQ1SCgj7Jx439xqDDNIsFNhSkp84fAhoq4=; b=s/AV9t/1/zVDATOc7510TzmeKv H0a0QGLKhDPQx9ISas1p572WyrVYBjxR6bSAZRxLai8EgDQH2/DW0kHKZb181UxQsRZJV2gfvHCXu 3Ft9tt/5E1qlLFWuncX2T46r7F5v1yuXZPSFCNfhOg5XkMsw3Rlb6kdgMYjvuc6OgdJ9d8o7wNeIB b/BDErSHU8SimaBIIqMU2NgIKYI5suE3P2G5T3DIF411y4FlvFwfKjpGj9hLUNcdsP1M0fXs/4SOx JIrs2xKlG811TKR0K21btuhxaq/VfQ78f/qOENVF/bRG4EGe0ZZA4h1fQZu67C+sf4R0r73YOOwxR CwfKME6g==; Received: from authenticated user by zero.zsh.org with local id 1ku0m9-000GV0-EI; Mon, 28 Dec 2020 22:14:01 +0000 Authentication-Results: zsh.org; iprev=pass (mail-ot1-f42.google.com) smtp.remote-ip=209.85.210.42; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-ot1-f42.google.com ([209.85.210.42]:46241) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1ku0lt-000GMS-Dt; Mon, 28 Dec 2020 22:13:45 +0000 Received: by mail-ot1-f42.google.com with SMTP id w3so10361935otp.13 for ; Mon, 28 Dec 2020 14:13:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Dvv4w5j46rQ1SCgj7Jx439xqDDNIsFNhSkp84fAhoq4=; b=ChsX91eT+1lUGHaZx4C5+D8LnuPjTHL+kpE5ov1VOQnSV49trGPFCSDWTsp01/L8fU 0uJ7KMJJPJYuPUHT7+wM4XAMW5erxD3WArj+7u6GvCAutlRXL9/yciZ33x88ivtPVxXo +u9y6vZWAM8as4mhX4Q/w0RDjatsoxYqfpX5efXBCjFVwo9utAqxwOPEnMk+Se7IIBcj ony5Hs/2SjYemYoWP7+scQg/1XfYaR3wN3ro4I/ZAEfkXiWrgh4sVSg/FURS8mNz45vw GnLZodkyyuE44pjLuVDLktkjW8wLnH4gjgkzeODvZFQDJRCcLtMimneJuH+hhaHZdpKb iarA== 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:mime-version :content-transfer-encoding; bh=Dvv4w5j46rQ1SCgj7Jx439xqDDNIsFNhSkp84fAhoq4=; b=JDhwPoswEuh15q1u8S0C2XCDJDwSvK9+tLMQt7+bqcPKOP+x4iX6Be4zP2U0aN5PhY JBegmIZpPerEJW8azlcPbWMGdauch94zZbbPfbfoCwIvhluoGVEalv0+Qof75TgjPx4a aPqRFQRCYBcNWBqyp7KQoeSui16a7XwOCGcRi7RntuIEh4RFj8qQAsFhZOUK4i360euC J9UKAOEF0zkrpEiYowzBdZ4zCeldvPh+QczESXaAkMNQ3WEbqsK5kY3NPH/ewLozorcG 6HrmXzrK7oPYOLZoMws+zPIxsy/KxqjjtNre08sQTWDGJq8PxZXV1hmtwhJnhLFKLDOd 030A== X-Gm-Message-State: AOAM531cey3AOZsjjJEMd5f94Bm/PT4Nh+KInjH/HCLXPjXMoGCKh4uO fqAO/sKUQJXwKMq+hEV+5vU5NHhPPAafyQ== X-Google-Smtp-Source: ABdhPJzZHsQaHLaOUacs8soQ8Lf2gjsbl1CSsMm3qkv1AR4hLDzrpQs7fdsAopSY+qxRSApLm54rLA== X-Received: by 2002:a9d:1cae:: with SMTP id l46mr33638440ota.249.1609193624058; Mon, 28 Dec 2020 14:13:44 -0800 (PST) Received: from localhost (189-209-26-110.static.axtel.net. [189.209.26.110]) by smtp.gmail.com with ESMTPSA id r25sm9661455otp.23.2020.12.28.14.13.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Dec 2020 14:13:43 -0800 (PST) From: Felipe Contreras To: zsh-workers@zsh.org Cc: Bart Schaefer , Felipe Contreras Subject: [PATCH] declarednull: rename DECLARED to NULL Date: Mon, 28 Dec 2020 16:13:42 -0600 Message-Id: <20201228221342.136199-1-felipe.contreras@gmail.com> X-Mailer: git-send-email 2.30.0.rc2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Seq: 47776 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: Archived-At: This way the logic makes more sense: typeset var <- NULL(on) unset var <- NULL(off) var='' <- NULL(off) NULL means: declared, no value, but still valid even with PM_UNSET. No functional changes. Signed-off-by: Felipe Contreras --- Src/builtin.c | 2 +- Src/params.c | 4 ++-- Src/subst.c | 2 +- Src/zsh.h | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Src/builtin.c b/Src/builtin.c index 1e950f122..46d3962bb 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -2837,7 +2837,7 @@ bin_typeset(char *name, char **argv, LinkList assigns, Options ops, int func) unqueue_signals(); return 1; } else if (pm) { - if ((!(pm->node.flags & PM_UNSET) || pm->node.flags & PM_DECLARED) + if ((!(pm->node.flags & PM_UNSET) || pm->node.flags & PM_NULL) && (locallevel == pm->level || !(on & PM_LOCAL))) { if (pm->node.flags & PM_TIED) { if (PM_TYPE(pm->node.flags) != PM_SCALAR) { diff --git a/Src/params.c b/Src/params.c index c09a3eccf..1c587872b 100644 --- a/Src/params.c +++ b/Src/params.c @@ -2094,7 +2094,7 @@ fetchvalue(Value v, char **pptr, int bracks, int flags) *s = sav; *pptr = s; if (!pm || ((pm->node.flags & PM_UNSET) && - !(pm->node.flags & PM_DECLARED))) + !(pm->node.flags & PM_NULL))) return NULL; if (v) memset(v, 0, sizeof(*v)); @@ -3625,7 +3625,7 @@ unsetparam_pm(Param pm, int altflag, int exp) else altremove = NULL; - pm->node.flags &= ~PM_DECLARED; /* like ksh, not like bash */ + pm->node.flags &= ~PM_NULL; /* like ksh, not like bash */ if (!(pm->node.flags & PM_UNSET)) pm->gsu.s->unsetfn(pm, exp); if (pm->env) diff --git a/Src/subst.c b/Src/subst.c index 8731297f7..7ac2dd47a 100644 --- a/Src/subst.c +++ b/Src/subst.c @@ -2541,7 +2541,7 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags, * Handle the (t) flag: value now becomes the type * information for the parameter. */ - if (v && v->pm && ((v->pm->node.flags & PM_DECLARED) || + if (v && v->pm && ((v->pm->node.flags & PM_NULL) || !(v->pm->node.flags & PM_UNSET))) { int f = v->pm->node.flags; diff --git a/Src/zsh.h b/Src/zsh.h index 6d7f517c6..c68b47383 100644 --- a/Src/zsh.h +++ b/Src/zsh.h @@ -1929,10 +1929,10 @@ struct tieddata { made read-only by the user */ #define PM_READONLY_SPECIAL (PM_SPECIAL|PM_READONLY|PM_RO_BY_DESIGN) #define PM_DONTIMPORT (1<<22) /* do not import this variable */ -#define PM_DECLARED (1<<22) /* explicitly named with typeset */ +#define PM_NULL (1<<22) /* declared but null */ #define PM_RESTRICTED (1<<23) /* cannot be changed in restricted mode */ #define PM_UNSET (1<<24) /* has null value */ -#define PM_DECLAREDNULL (PM_DECLARED|PM_UNSET) +#define PM_DECLAREDNULL (PM_NULL|PM_UNSET) #define PM_REMOVABLE (1<<25) /* special can be removed from paramtab */ #define PM_AUTOLOAD (1<<26) /* autoloaded from module */ #define PM_NORESTORE (1<<27) /* do not restore value of local special */ -- 2.30.0.rc2