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=-0.5 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,RDNS_NONE,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: from authenticated user by zero.zsh.org with local id 1kifvn-000F3G-TG; Fri, 27 Nov 2020 15:45:08 +0000 Authentication-Results: zsh.org; iprev=pass (out3-smtp.messagingengine.com) smtp.remote-ip=66.111.4.27; dkim=pass header.d=daniel.shahaf.name header.s=fm2 header.a=rsa-sha256; dkim=pass header.d=messagingengine.com header.s=fm1 header.a=rsa-sha256; dmarc=none header.from=daniel.shahaf.name; arc=none Received: from out3-smtp.messagingengine.com ([66.111.4.27]:35697) by zero.zsh.org with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) id 1kifvO-000EnM-7b; Fri, 27 Nov 2020 15:44:43 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 604D85C010D; Fri, 27 Nov 2020 10:44:41 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Fri, 27 Nov 2020 10:44:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= daniel.shahaf.name; h=date:from:to:cc:subject:message-id :references:mime-version:content-type:content-transfer-encoding :in-reply-to; s=fm2; bh=loWrmbGTOPVBVC96gj167NQuutajP4a0Xk4i8FDw 7wU=; b=U6JyLjAeL8doI3pG1PgzAdkVBt8GEYyifGeFCz8NGZdtP/absxAWML55 mbEZDm51TsIKcvyjke/Zac9a3BHav4TnMewZw7WP3O/FLJYHuMRcgTRWIKNaeP0J 0bUzIQxRIfKDF3bCFPpk9ObzqVLT/FKKI9Ww8rEork+R2L/rYzQGXko/d5ANegkB zDGJS6YTPyakyTRrXngUYOkIppb78OAIHCsFV8sOnBfP44Vp5nDN17D3a5UuJxSu asiqO2qxFT7zkvVuGjH2RV2f4wBAUGzGaAVD4ARgSO3te7G/RMvJZN4/71BWIM1M Dra7UKGQzdTMdPM07Ez0z2iDoe79OQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=loWrmbGTOPVBVC96gj167NQuutajP4a0Xk4i8FDw7 wU=; b=k2RIZzpCi46+ZNAXUzDkfPhVsYRpoarz80n18uqdLw2sVYchAzDgY4TAx 11ZijajH7wsexeU7ITqXoi1U4Gule/CDGWg1qYW/ycLz19yoAPvHchPVhreMmPEA f+8eB8QeD1OPcdQI3J8cvvv0OB7X7xjkXzw/0FUOaIq9AQDKK9KrZQGdZ61wTV9Q 8bg/q53a54o8g/38BpItVJIWKrpnd/aYLV/qwBc9ymQkQpuVTlGtarJp8JXLc8TC /g/8Oe19aVxgP9UBgEgV14GDM9QSY74n0mjlqLrRS76sxT88/XKHxAPoxkDv4oVk VoZPBckJCg5MZcALrFmujZgV7fezQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrudehgedgkedtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfhfgggtugfgjggfsehtkedttddtreejnecuhfhrohhmpeffrghn ihgvlhcuufhhrghhrghfuceougdrshesuggrnhhivghlrdhshhgrhhgrfhdrnhgrmhgvqe enucggtffrrghtthgvrhhnpefgkefgfeejgfdvvdfguddtleelkedvfeetiedtudfhveev veduhfdvveeffedvueenucfkphepjeelrddukedtrdeikedrudefheenucevlhhushhtvg hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegurdhssegurghnihgvlhdr shhhrghhrghfrdhnrghmvg X-ME-Proxy: Received: from tarpaulin.shahaf.local2 (bzq-79-180-68-135.red.bezeqint.net [79.180.68.135]) by mail.messagingengine.com (Postfix) with ESMTPA id B859C3280060; Fri, 27 Nov 2020 10:44:40 -0500 (EST) Received: by tarpaulin.shahaf.local2 (Postfix, from userid 1005) id 4CjJpb0wN9z4V4; Fri, 27 Nov 2020 15:44:39 +0000 (UTC) Date: Fri, 27 Nov 2020 15:44:39 +0000 From: Daniel Shahaf To: Felipe Contreras Cc: Bart Schaefer , Zsh hackers list Subject: Re: Bug with unset variables Message-ID: <20201127154439.GC26720@tarpaulin.shahaf.local2> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-Seq: 47664 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: Felipe Contreras wrote on Wed, Nov 25, 2020 at 02:46:40 -0600: > Maybe there's a better way to describe this fact. Maybe Git's notion > of logically separate changes [1] helps (e.g. you should not mix > whitespace cleanups with functional changes). But the fact is that in > virtually all languages (and bash and ksh) there's an idiom to declare > a local variable and *only* declare a local variable (not do anything > else). > > Can we at least agree on that? In zsh typeset does *two* things. I'd rather say that «typeset» does one thing — it ${verb}s a variable (for some value of $verb) — and the zsh data model doesn't feature a "Not really a value" value, so the variable necessarily gets _some_ value, like «int foo;» in C.