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=-1.0 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 28663 invoked from network); 24 Jan 2023 05:46:41 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 24 Jan 2023 05:46:41 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1674539201; b=p5+l3THcnVJb6JKebUWxFM05gzqM6CVLy6H/sQa7TEQczi3Kno+BF1leHYUwMYrNWVo/ebGyWj dyMdE49FfJ5pAfgxUUZGHb2iYieX5EQ0elHJpA/N8w5IYv78cZuf8pZ3zAGio++x2thQ5BWGCv QdaaZF1X6FBaeina+4258QkRttuCg9A+7ZHIhr3pnbQpwYEiSjKCbh2D+H0IW3VxuVuLjhzlAz nn5y7Xmmp6R4NgDeKxOf4/2G4XACYZWCcyo5QHcItZMHAk1a/2tV6InjSw6z3fN3b4MJ3MMMdt PJ5HB15BQri8fAdk5qrTnCVguqWX/UwGyGYa7peh0rMMCA==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-ej1-f53.google.com) smtp.remote-ip=209.85.218.53; dkim=pass header.d=brasslantern-com.20210112.gappssmtp.com header.s=20210112 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1674539201; bh=LXW/AbggZwUelxYlFWkisCnqemgVBpQs5VWF/oXpufg=; 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=VOj3Vw7670XyXOz8zRrVXLN9BS4oOc4nwllR+HocumdV1SjLo5fmrtPa5nO237zNvge3jHytri LTm0tTlobO5FuMT5dUBWmly51Fawtv/p1o/luaH0i8VAH/w+KtQcnT6VH/byfPDNLQDRPUcnwZ LCyUCynGtkhtFayrLGlxoB0k/D0RLM58BsSokfjHm8aq+y7R+SWPW5UgyuZccxmrGxnH9h+6YB I5eZcFjRSSj6NjwA4MLZQ8UjGnArPRhcwo0cYI/6dahi8S5NzTmWMdiEtq3BPRxYT4xxZhL3/Q U4D0QDxWE0ltqrV2qHwiUumQEfPgjVTcRrOfsfwG7jvLgg==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; 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=/plh+iNdQY3G2VhtrRYxbkcvx+mSWVblerBoHoAFg7k=; b=Bq4G7fHe7jkPOXB/nNkCvZsASm +FOdjuJ7BilQxRTNj/8cn1meydmMoDGLF6rJEgxFRWVAMuHt+wPw1VR8JITMF2WEzMk5XG5zgVgv/ N1flnPh1aSagfkhlE7YAo9zKuN13MyFosMtCE0cxZYnR8pfGi1phWM7QRrvjcDXd6bHvFwDiyXqy6 g7VgGGA8nmL3ufavS6XWu9u1w3jTgHWZuUY/rRqgjKiVayZR+/TgoZEBFfYottKxr9+md3id8I88+ YJZGBMJ2Slfh7HITBZwzRBVZcERcDfANq3p+gN1iidvynMRyC2u64Dfppz6bJJ2Uz7G8e6dGd/K7b EjlEQOjg==; Received: by zero.zsh.org with local id 1pKC8l-000FdZ-Oq; Tue, 24 Jan 2023 05:46:39 +0000 Authentication-Results: zsh.org; iprev=pass (mail-ej1-f53.google.com) smtp.remote-ip=209.85.218.53; dkim=pass header.d=brasslantern-com.20210112.gappssmtp.com header.s=20210112 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none Received: from mail-ej1-f53.google.com ([209.85.218.53]:45579) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1pKC7m-000Ewu-NL; Tue, 24 Jan 2023 05:45:39 +0000 Received: by mail-ej1-f53.google.com with SMTP id vw16so36113520ejc.12 for ; Mon, 23 Jan 2023 21:45:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20210112.gappssmtp.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=/plh+iNdQY3G2VhtrRYxbkcvx+mSWVblerBoHoAFg7k=; b=uUbV3YG9FQyrnWaA1eaBpJDH35fjmr+YyvK+QP7YU3bWY10IHZnVK0OtAmNDC+sbB7 bPmsAo8KWdq2to0lOU9ScceAI3xXXxIrZRs88BxNEPlxcjBdM8PdrvwQDrjibMK73xdH SVo0KOS3Xiq8n3CFeN+LHKNHNxbLUCCRYsfkoWlghZrBIRpFdOnIY14zoBl3x/NOTmGK U4B3//rGrTIn7lvQijGcDwU/DXXOdVkGCuL+5pcybDfca+CJ0m0kioF1ziXGk9wBaBKV JhZh//zUu0FYs2qBlhEHgbKQ2x43+BlJHdRIG4/TDUPkdq2Z0AUKwXWzV5vi1siAsddY y04Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/plh+iNdQY3G2VhtrRYxbkcvx+mSWVblerBoHoAFg7k=; b=qoLqpuU3EEEeYzt300pESSm+2BBj7YIbBCzHcu/DsLJ5SCa0tumUmZiCyR0MRgaMww nOwHGKYEqboL/MpxI7RKcd+ayf/8uA9hDMZszOeYS+MYwPlkUvjRgWYGOkocYWi95tAp FNqsJoM3UnxBpRHWzYqPGqs9d8KE96uXTCtOYPvCLmdkU5XkpTTlLsR5M5JxCLWVuBqe yluEzY5Wezr/62yRGmqm5gSpmUef1eNWNCTJMsje66/fiNYqe16xGE5n4KjF0XCazHXp wZ4TCr90GjLvsPmo8PxKcQdafhynNJtnbtt2U1jHhmMkcfDGO/oGxx9YP+1qV+Fwu7JE au5A== X-Gm-Message-State: AFqh2koyBvOULKV9DbLCHpdBHL825e6hai28ciLbkIJApbSyfmSeHC6I ItEqGbEa+pPICi/V/xLQVRgKnBN8cJOSY1nxOLzumw== X-Google-Smtp-Source: AMrXdXs8BciMVo4gKX5NlR4UPAocGhvGpvdGp03XR1dReEgHVZUmlPu4bJKBQCGiU3al6NbSLCMGEA9r79V+B+IILfU= X-Received: by 2002:a17:906:3741:b0:82d:1d5f:2618 with SMTP id e1-20020a170906374100b0082d1d5f2618mr3166571ejc.107.1674539138090; Mon, 23 Jan 2023 21:45:38 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Bart Schaefer Date: Mon, 23 Jan 2023 21:45:26 -0800 Message-ID: Subject: Re: A way to untie -T vars? To: Roman Perepelitsa Cc: Pier Paolo Grassi , Zsh Users Content-Type: multipart/mixed; boundary="0000000000007d3c7d05f2fc06c5" X-Seq: 28759 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: --0000000000007d3c7d05f2fc06c5 Content-Type: text/plain; charset="UTF-8" On Mon, Jan 23, 2023 at 10:27 AM Bart Schaefer wrote: > > array local left justified 10 zero filled 10 uppercase tagged unique > tied FOO foo > > (plus export, hide, and hideval, which typeset +m does not display) Minor correction: typeset +m does output "exported" for scalars, but not for arrays even when tied to an exported scalar. > Pondering. I've reached the conclusion that "local" makes no difference here. If any calling scope has declared the parameter local, it will remain local to that scope even if unset, and the dynamic scope behavior of "typeset -g" from inside "untie" will apply to the variable in that scope. Also, per the other thread, there's no way to get the justification width for -L/-R/-Z without using typeset +m so that's what I've done. Since -L and -Z may be specified together, I've made two calls to typeset +m, the gyrations to reduce it to a single call seemed even more confusing than the hoops necessary to shuffle all the switches through the positional parameters. Attached this time because I'm sure gmail would maim it. This has been tested with convoluted cases, but not with simple ones, so it may still need refinement. --0000000000007d3c7d05f2fc06c5 Content-Type: text/plain; charset="US-ASCII"; name="untie.txt" Content-Disposition: attachment; filename="untie.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ld9tbnx20 dW50aWUgKCkgewogIGVtdWxhdGUgLUwgenNoIC1vIGV4dGVuZGVkZ2xvYiAtbyBlcnJyZXR1cm4K ICB3aGlsZSAoKEFSR0MpKQogIGRvCiAgICAoKSB7CiAgICAgIGNhc2UgJHsodFApMX0gaW4KICAg ICAgICAoKnJpZ2h0X3plcm9zKikgc2V0IC0tICQxIC1aJHskeyhNQCkkKHR5cGVzZXQgK20gJDEp OiNbWzpkaWdpdDpdXSN9WzFdfSA7OwogICAgICBlc2FjCiAgICAgIGNhc2UgJHsodFApMX0gaW4K ICAgICAgICAoKmxlZnQqKSBzZXQgLS0gIiRAIiAtTCR7JHsoTUApJCh0eXBlc2V0ICttICQxKToj W1s6ZGlnaXQ6XV0jfVsxXX0gOzsKICAgICAgICAoKnJpZ2h0X2JsYW5rcyopIHNldCAtLSAiJEAi IC1SJHskeyhNQCkkKHR5cGVzZXQgK20gJDEpOiNbWzpkaWdpdDpdXSN9WzFdfSA7OwogICAgICBl c2FjCiAgICAgIGlmIFtbICR7KHRQKTF9ID0gKmV4cG9ydCogXV0KICAgICAgdGhlbgogICAgICAg IHNldCAtLSAkMSAteCAke2FyZ3ZbMiwkI119CiAgICAgIGVsc2UKICAgICAgICBzZXQgLS0gJDEg LWcgJHthcmd2WzIsJCNdfQogICAgICBmaQogICAgICBzZXQgJHsoczotOnRQKTF9IC0gJDEgJHth cmd2WzIsJCNdfQogICAgICB3aGlsZSBbWyAkMSAhPSAtIF1dCiAgICAgIGRvCiAgICAgICAgY2Fz ZSAkMSBpbgogICAgICAgICAgKHRhZykgc2V0IC0tICIkQCIgLXQgOzsKICAgICAgICAgICh1bmlx dWUpIHNldCAtLSAiJEAiIC1VIDs7CiAgICAgICAgICAodXBwZXIpIHNldCAtLSAiJEAiIC11IDs7 CiAgICAgICAgICAobG93ZXIpIHNldCAtLSAiJEAiIC1sIDs7CiAgICAgICAgICAoaGlkZSkgc2V0 IC0tICIkQCIgLWggOzsKICAgICAgICAgIChoaWRldmFsKSBzZXQgLS0gIiRAIiAtSCA7OwogICAg ICAgIGVzYWMKICAgICAgICBzaGlmdAogICAgICBkb25lCiAgICAgIHNoaWZ0CiAgICAgIGNhc2Ug JHsodFApMX0gaW4KICAgICAgICAoYXJyYXkqdGllZCopIHNldCAtLSAkMSAkIyAiJEAiICQxICIk eyhAUCkxfSIKICAgICAgICAgIHVuc2V0ICQxCiAgICAgICAgICB0eXBlc2V0IC1hICR7YXJndls0 LCQyKzJdfSAkMQogICAgICAgICAgc2hpZnQgJDIrMgogICAgICAgICAgc2V0IC1BICIkQCIgOzsK ICAgICAgICAoc2NhbGFyKnRpZWQqKSBzZXQgLS0gIiRAIiAkMT0keyhQKTF9CiAgICAgICAgICB1 bnNldCAkMQogICAgICAgICAgc2hpZnQKICAgICAgICAgIHR5cGVzZXQgIiRAIiA7OwogICAgICAg ICgqdGllZCopIHByaW50IC11MiAtciAiQ2FuJ3QgdW50aWUgJHsocXFxKTF9OiAkeyh0UCkxfSIg OzsKICAgICAgICAoKikgOiAiJHsxfTogbm90IGEgdGllZCBwYXJhbWV0ZXIiIDs7CiAgICAgIGVz YWMKICAgIH0gJDEKICAgIHNoaWZ0CiAgZG9uZQp9Cg== --0000000000007d3c7d05f2fc06c5--