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 26706 invoked from network); 28 Dec 2020 21:47:12 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 28 Dec 2020 21:47:12 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1609192032; b=xLErGxD4TIoKjtAOt1Lf6aX+sSI8VG1GcZ0oqMPs2io2mJvOjWQccCLg59c0qf36PcV7cQn21O gHOMGX7sZYLcZWBK2iP6ah6Ic42S2Wc9Cb0gqmoOa7Xi+WKd1rAQaxhW3H1UlSF1/cp8vXv6Mq 7FWoBebaByTui+BgJgiM8Y0oluJxmmpSN0C6MmN9Gw4k9oG0i32thJIRYdFoyDqg9TzJmXrApH 6CnsZl/mDOkYRGj+lcKIj/BgfBmzlFf6eRHeRccsXjkiPvPsNdPLYMcHzPLI33JW13jLQItkoB EJdA2MU47f/Ar8aRz+S/cxOnL7y/AbRyfS+P1aSenhQovQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-wm1-f46.google.com) smtp.remote-ip=209.85.128.46; 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=1609192032; bh=duDFf/R1KQ0TooXR0p2dI1vA0GcwX9hBamGUJkLFbF0=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=r7l1PufvyXHYBi7zJ/NPkvm/zZSa1L9nUJpybvrouxH4cybUfsEaqW6ayOXJk5A9Zgigminer0 5ZuNZjIVbqlaPUn9/VtukNdTV+E2rrC8MC0t9Nv9xfFT7T9Qgkz4vKWvzOs4qCdvkwVP9ACQGG L1fOVNB77Ek5LJ3PGUlf8HfLlTtH1uh7WhRnOB07sWxxt61i5b1pRgv6auUXnL8HRby87JDo23 DkjpHXADxvIz4aqBsPrh14Zpbo85BEsklNy5dr2QNwxmrB/2V0Lf4xgy24+iyRuhPpnLlogZl5 lGM8HXzuH+PaOwuBFsUpVxRAQzm8MBkNf4m1KTluhENt0A==; 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-Type:Cc:To:Subject:Message-ID :Date:From:In-Reply-To:References:MIME-Version:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=1C+7DMorDYelg+0gR7noj+fbBNzBzgIArcmblyAyC2M=; b=X04nKgRW64rEmRmYPTjVRXj40q G5TTa3G+pmW7/AgYbsBfsUS4aKdvpdsgpz5RumSMDobqyY6y1sFGG2OT3PTCGCyFeVLNp0B8Aolmd P+d2nGj9krUloeu8hd4rC1c4X7Sd5Ad1aFvO19SRrQQQqogZIjYNsaqs+r8qj0pkUyy1Tp04il7td iMaK/pzhQp/VCTy/tPh/WD+yUU6RUbel42K9DgFTjFCasRuAS40jlQNUFeyDrrGZwEXjy3bpq4A4m Pzd3apmSeUAoV8bjtmXVesk41stHw0dgGuVKMEzTyVgVY3vWnO9sqM3iXIM9zWXs+4qXDXNzgNnaw itCtzI/g==; Received: from authenticated user by zero.zsh.org with local id 1ku0M9-000FOh-09; Mon, 28 Dec 2020 21:47:09 +0000 Authentication-Results: zsh.org; iprev=pass (mail-wm1-f46.google.com) smtp.remote-ip=209.85.128.46; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-wm1-f46.google.com ([209.85.128.46]:38035) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1ku0Lr-000FEe-QK; Mon, 28 Dec 2020 21:46:53 +0000 Received: by mail-wm1-f46.google.com with SMTP id g185so593932wmf.3 for ; Mon, 28 Dec 2020 13:46:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=1C+7DMorDYelg+0gR7noj+fbBNzBzgIArcmblyAyC2M=; b=Muy4/k/+0eKxvUVMtPmiVTQwuiNKb8AVlOxqnc9nFoexrJMxPX2lm1pG5My/IGpQqI TDAoGWwTQ2EWYTygVGDtELvadvSoEUrFPnPTdonaCZCvMYLJZw1ZH21SK1ztICV4LmOS cFNEeJQ8aErqDmxuDzY7RKYUUSec1SjF77e64jOHcpABSsCmbe9zRnRk1zOhWSEKLVwt 27qQnaJsKi5AnHxcwo2cGWVM46Vo9Wnc4zSwTC3oBntYCU6Wh+QsWlT685HCxY1XxJZT IL83a4MxJBCsmhRehSzzOk/O0H+xW3mQpFgfim9bACdBAspo3hF9pYeSEYFLTbEubA2G JpQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=1C+7DMorDYelg+0gR7noj+fbBNzBzgIArcmblyAyC2M=; b=e96xlfTriWvZS6cDpw35ozWpRYDuPtlbSxMm5n/MVxIAEhhIhHnEDYnogMZwO+8oT5 w5OMsVisyiYbttCbLwn4VLtdMkGhsGKzgYZCmZJkIswTjO9lgFlDVVQaiypJis1pzayG Eb80c1KNqAFHF4KZyQQRuQobP+XljthBRWpRMhiyvv9XaFx9wy/8BSyoWXOvduwl7m5B a1QtBe8VAdB8Sig7FdCeaxTywHmQRR3t6enL3QZNGWx9ER5bvFn6c8sOv7uumPzCW7mb AXkj/M+4GEaS48BimZ0PN/FT/Bk+3pEa2OVso/i/D3TNwFrlC0iPn2UvvBpe2OGJEKyi D7wg== X-Gm-Message-State: AOAM532pMEA+MqoMbO/JmOAuH2hI3xFcsyiQjwBmimR/ahvwuhtSzIXo 98WuJ5GLEK8nmQ25pbrE6mw2K7jxGPOk3PbZOEo6DGkzRZyTWA== X-Google-Smtp-Source: ABdhPJxOb4v3HCe8aoMsI+YLsUr/lixZYgkKP6gHDf6rbHRWSpCHziUoRqa4kUbiuHFGiXg+TuS9cXo2IEll7ZkCmUE= X-Received: by 2002:a7b:c842:: with SMTP id c2mr717521wml.100.1609192011195; Mon, 28 Dec 2020 13:46:51 -0800 (PST) MIME-Version: 1.0 References: <20201223234711.492603-1-felipe.contreras@gmail.com> In-Reply-To: From: Felipe Contreras Date: Mon, 28 Dec 2020 15:46:40 -0600 Message-ID: Subject: Re: Another push on declarednull branch To: Bart Schaefer Cc: "zsh-workers@zsh.org" Content-Type: text/plain; charset="UTF-8" X-Seq: 47774 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: On Mon, Dec 28, 2020 at 2:54 PM Bart Schaefer wrote: > > On Mon, Dec 28, 2020 at 12:23 PM Felipe Contreras > wrote: > > > > On Sun, Dec 27, 2020 at 5:05 PM Bart Schaefer wrote: > > > > > > Alternate names for PM_DECLARED would be welcome. If I could turn > > > back time, I might use PM_NOTSET, and then PM_NULL == > > > (PM_NOTSET|PM_UNSET). > > > > However, I'm still not sure if those values make sense. > > > > typeset var > > unset var > > > > In this case PM_UNSET is true, but PM_NOTSET is false. Why? No value > > was ever assigned. > > Would it make more sense as PM_IMPLICIT, so PM_NULL = (PM_IMPLICIT|PM_UNSET)? It's still the same problem isn't it? Why does typeset turn on PM_IMPLICIT, and unset off? Moreover, implicit what? The true meaning is PM_UNSET_BUT_VALID, because the only time this flag does something is when PM_UNSET is on. So you would have PM_NULL = (PM_UNSET|PM_UNSET_BUT_VALID). Then when you check PM_UNSET, you also check !PM_UNSET_BUT_VALID. A simpler version would be PM_VALID, but when you assign a value, PM_VALID would be turned off, which doesn't make sense. I think that's a clear sign the logic is not correct. It's the other way around: PM_VALID = !PM_UNSET || PM_NULL Then PM_NULL is set on typeset, and cleared with unset. Which makes sense. Then, instead of checking PM_UNSET, you check !PM_VALID, or PM_UNSET && !PM_NULL. > Naming is often a hard problem. Speaking of which: > > > It's Felipe BTW. > > Apologies. As someone who is often Burt/Bert/Bret/Brat, I know the annoyance. No worries. -- Felipe Contreras