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 6475 invoked from network); 11 Nov 2020 18:06:02 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 11 Nov 2020 18:06:02 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1605117962; b=HHFcg5k4/diN/c+ksu5ThYHYKBPVCX46jzEGtVZfSSfPWe0BOS3luQ7/07wJit4kO8qheTeJpw lgL7KVRKRAMrQBCpeWdVOET0pgDLYomo5RzbB6FtETrj7OI63O3oJr/5V0c4mdeLIk1EqkPTG8 x52tPb78ZoY80pnlgTXbthOdusC8IFjG9WMn8bL1RkX+1L+LvQNf+u8dF0PJzrBcrttlazeHPl EQCJ3J3+52MuJcgx8o3bHENjdXMk+arvd6qDS8wiefcv6AGVa8p1j/FTagq6GeLQur83at6t30 c/nKRnzERnx7LnvQqPoZZKoyKovqmIxzR7HsLWACpAUBwA==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-wm1-f53.google.com) smtp.remote-ip=209.85.128.53; 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=1605117962; bh=/nkT7nndgTN7QRZXMsnilcmRdyY7r5YAAngg/2McrJk=; 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=Ud9/vNUfbgaRXwg4P396C6gaFxpmMhgtwQa0HysBLMn/bUyABb3t3qv5WB5157MXr8xVvhOer0 +xKG7hGRU7Ph3Bv2qoLwgnwXODIRd65v63kNdsdDz9C+Rnk9IbBWCUXOWvwaJ9neRydvUyHblV BwctseHU5+J3sTJQ8tDqxd0cTot+ZRCjBmdHQCLqHetSqfcYXG/MMzz4WADJ15zg3rjIoFAoUU Kp/r1cRhzNpHDsGMpdGSbpdP7DGYZ2dCB6cRq1BGgRlvT0s8rC/AMOJcuEf0Ol3I47xlUOwvLA ClVdgc8Wi/4Bf1AVD/o21qE86f+byMJnNzewxP6FnqtP4g==; 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=RXTRUQ+nRHxItA8F3rHORiMX/89wWNmG3lAyg0STzzQ=; b=BRy1+ahTVVcRqiSy7/c9A5apyY 2m107iprZ2jRcoVHVu+nQRuQcXOjsPd8Y4am2U5rQlQf1UHvdLCtCB43/bLH1rB3Y7mxPGcOwmZ02 CKOnFSHI+3RL+u3dwSOky/GIx1UKis7h4XSAXynCcIaqTVsn/UVMj8ln+e8z/g5CU0hUOU0p0Tjd3 CJGyWfIqYQoxLylO/eBQghxsijpcDzVn35OKKGPj3hra6NKYiSKCjUQBqfFoJn1s3XXSuH496Dr8s NhLVuPSpFeOzTOsbet1t9clOGqZEBQYxQmvZQvpZ2krJDpOm/Y5e4W63sJDdQYrXmMY58oNgADZ1f mJWt00Ig==; Received: from authenticated user by zero.zsh.org with local id 1kcuVN-0002Be-0Y; Wed, 11 Nov 2020 18:06:01 +0000 Authentication-Results: zsh.org; iprev=pass (mail-wm1-f53.google.com) smtp.remote-ip=209.85.128.53; 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-f53.google.com ([209.85.128.53]:53704) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1kcuVE-00022y-J1; Wed, 11 Nov 2020 18:05:52 +0000 Received: by mail-wm1-f53.google.com with SMTP id p22so3081754wmg.3 for ; Wed, 11 Nov 2020 10:05:52 -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=RXTRUQ+nRHxItA8F3rHORiMX/89wWNmG3lAyg0STzzQ=; b=uBQCAFVXrzviCGqFd1QzLeCx37d9L5q5TVnkOYlJmKZSSNO/MUkG05G66Y1yBPaGKS wKIsfsb03Sc9Og7qLXuD7MYn+sQyPwPcUNjyx0MAebHDCqXscENWc8N59rAe0H+lniZr kHL+w59PyFzOViU7eyrqouMyeFsc6ZBUoILXEArVLSc2qx0I8fNwa6r1MeSX0KRK6Dps EGL8N0IewLTH0UoqpNL2SKGCoxyWtfcy0cbNJFXSOyYp7lsVDXOnd1irrigUynYUIPax 2x/X8SRqc4wO6c7wkI/4cHBI6+Tgp3jdw+OvQXLGXOJh3fZo/OB/wI4BGmDkenMXV3x+ A3zw== 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=RXTRUQ+nRHxItA8F3rHORiMX/89wWNmG3lAyg0STzzQ=; b=NFnWzQ2HyGv8KU34kioC2b5cyE8OzShGiE1x6mtvHGy72ZbK2MgLtWbm/fEwxD1ckJ fg4vMrSOEigFRJcoWULVU2hmtNub0UVIHj6D6GlXo19PXDv29j3R29SzUCaEjPbVj9FB X+XBLCTPUkg7Ox/74ZKohqeS6j5pKO4eev3ykAfrYxunyOyiGG6afim2CQnQzAWT+sKK yZUJld9zte4SeLavCISpc1ymi4xcZVhEExWlp0xSE941EStzRC82GEuXB4I57s6kFFHS q0O9QOZ8KKWsT4iIeYRMv2/qIKgqkoMF3RFOD/28TEVncpzt9kpe4Wa0tCKvYpZWuhWm grwg== X-Gm-Message-State: AOAM530QiA+e3m9xkT6zKYOfQLywrfR9W6CwGCPOA07wS/OVtr216h1d e0C3U3QMLNTHHlK8dh+uWcpCstoS+LVdGbIK/wNCgiSQ3hk= X-Google-Smtp-Source: ABdhPJyCM8HUslO4lF9VWoiZeqDX+RynElisV706QDyHVjDlchgAyXS4cw2GRYovCifH3UdklwR3zbHMXeoalgEO6BM= X-Received: by 2002:a7b:cc94:: with SMTP id p20mr5641228wma.100.1605117952145; Wed, 11 Nov 2020 10:05:52 -0800 (PST) MIME-Version: 1.0 References: <260487802.1331953.1605114168793@mail2.virginmedia.com> In-Reply-To: <260487802.1331953.1605114168793@mail2.virginmedia.com> From: Felipe Contreras Date: Wed, 11 Nov 2020 12:05:41 -0600 Message-ID: Subject: Re: Bug with unset variables To: Peter Stephenson Cc: Zsh hackers list Content-Type: text/plain; charset="UTF-8" X-Seq: 47537 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 Wed, Nov 11, 2020 at 11:02 AM Peter Stephenson wrote: > > > > On 11 November 2020 at 16:56 Felipe Contreras wrote: > > If I actually do something on the foo() function: > > > > typeset var > > [[ -n "$1" ]] && var=$1 > > echo "var: '${var-other}'" > > > > I would expect two things: 1) var is not set when I exit the function, > > and 2) var is not set until I specifically set it. > > If you want the variable to be regarded as both local in scope and > unset, you can > > typeset var > unset var > > and the scope stays local, so this is safe. > > (I thought we already did something like this in emulation but I may > not be remembering correctly.) OK. But why isn't zsh doing this by default? -- Felipe Contreras