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 autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 6734 invoked from network); 21 Jan 2023 19:16:21 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 21 Jan 2023 19:16:21 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1674328581; b=C/npDlmvpRfezlojrTtW9aCxOa1RHqYu9fzwXsqR7Bbwav0J8p87S0OK3ioCpYiH8lJGZfXfBD ZtBs3XzbLVGxcKpmOgqpRFQF7JSpk0DfGHxmgr3IkIqIXAWqjl7dez2LC4Xo9kEUsaRfqE6zE2 Jyiv0LEuZ2EEsEgEJDB+4oF85zYI9J7LK006OOXVu6y71jBr8S+Fkod3XcOpPJIJU9ecXwlVBt 8fHG1OAf75ZrbhgZo2cKqe2oL/vN8GidF5/UcWo9OmAFUXbIfDYCyhg7UGj+uLOoq/X6tox0TP RId3O6PfRiEoT/USMnxrfwCmYoqfGuLp4ztpsjCv2lKvzw==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-yb1-f169.google.com) smtp.remote-ip=209.85.219.169; dkim=pass header.d=gmail.com header.s=20210112 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-20210803; t=1674328581; bh=S+eMQ85/izzFYwbfQBXtRdT0sAiiTRZ9QJJb2IPUi0s=; 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=ZcguYmm4ODGhUajgOtj9htAVSs0E69wVarolx9kCqxm1Dx3/RdiMLRCdZSrkU+j7vNgJicNRE4 lsqe17ZrH1X70Joy9/iI9Vb1WSjZ8yrUPNfJ5o8umUeZi0Jt6VzsIc5MShHe9lqs+3nHxmXDUf +4pnLrH6JuoFoecPRe9LSZv4fo89Rs8Z5Af+nfWh4QoZbN/SIPfDBhVcyQ8ZLpul4mJVUdG+Hi rJUrGiw8TpTxoJPhYUoKhwKQ3SYGwjC+qvqTKoPZNqBBUZE5hOKXmtD9BeDXU6HtocE3B+h7te QwJNFUxLZkrQKQHg3dX2yIdg58pN2Hg7/qmWhBs8TMNUIg==; 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=UcyYwbL+31ilv2+RGuOHu5goCVoY9AByqI4QZCkVQqI=; b=iiknzJxV7wCqdgUG5jZlXlJYrT 6U2p6fTuJXMYz+R3mIgF2K08bRO82jO64RLF/EtngDrLxD1GGZLLaCrX4Qubnpxdh+gTnGQaAeb1f f4toZt9yUWU9tffzQQBYSi766C1qo2zs7t7JaCOeGFCDsUHO+nZoMEPA4pYjWNoLgjhg5nMHfE/WM ZM3oqf1/lxzqsyHkW7yF3az3QM0aKwfeLlBnRabonWAmrGxQKWiG3Qppp2z4QwK61vl+0XidvnIN4 S72gheQ9/TS9efJGbjMBPdi6iPSri25cuz2zJPYgzA6q9Dv+9ta2xyOGmM7uPueIqi6TV3xo3V1bP ogyysKJQ==; Received: by zero.zsh.org with local id 1pJJLh-000DJr-4C; Sat, 21 Jan 2023 19:16:21 +0000 Authentication-Results: zsh.org; iprev=pass (mail-yb1-f169.google.com) smtp.remote-ip=209.85.219.169; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-yb1-f169.google.com ([209.85.219.169]:37645) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1pJJKi-000CaP-2J; Sat, 21 Jan 2023 19:15:20 +0000 Received: by mail-yb1-f169.google.com with SMTP id 66so10540507yba.4 for ; Sat, 21 Jan 2023 11:15:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.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=UcyYwbL+31ilv2+RGuOHu5goCVoY9AByqI4QZCkVQqI=; b=n+kxw1XCC8qvSeGZHVWEoY5uW8ACUroLteLgsuLCkRODaHCkGfEkoMsuPkJ7lgsG3D sOb4d6WauAYjhjQThdPLWaSJCCxDNK3t4R2eBiyBN8XWjBNnUm6OFCJfxfEOr9ZjBlTW l3s4GJL3mpq7nBRwVI1wfxU4dwK5kTjTx/UMix5ectuIo26DKGoN7LvFetqt55nub3I6 rC7CTPTvJ4bBfmo85PSKLY5EGfj1AxZCVN9csNJtCg7ftslIqSdxAeW54WA4hwZlFPiH FLr5pIsTuHtWRt9FI9/ZE5YzL6IiBGvp5GaiCo+6HsdXaooL7l3xx50COGzUEoezNqiG dkNw== 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=UcyYwbL+31ilv2+RGuOHu5goCVoY9AByqI4QZCkVQqI=; b=zLmlyMSVbGBwPveaXmqA7+sSDDgZFUbcyzWdCsGeDVG+hnpolYlBLBUew0Y1RjbuRX ypzcQ78mqzKuAj/MFKqx4kLOrOrJbH/ftbYPU/zWeUnicxIelOMAqWLFn59NDtJdbS3u Cf9PasUuvzjNoNYi8HpO2T76bl1rR3WsANfBbUYCFuUpuPPEBvr7TmUBXrP61MzpRtop 1EJHfL6l53BmhSstavwNkqUO6PfZrJ3IOX0iGPDDNf1oDL1+6YK0XfT14LHVQu7fCDPd kmYLQ/fO+teH3I748pJWg/9QJelf9VDqFkn1jSgdJbIeDZHzH1Wf1n2BG3xMu3KBllax rvbg== X-Gm-Message-State: AFqh2kqEtV+nTzZrorgeCyPeYzzDsEeAqHQmgEu8pAAfqSaWxzJaCLwa jNYmkzPTmgXig62IgoKO9oqnF4aUz/4smmk2l9g1H6a9 X-Google-Smtp-Source: AMrXdXtNubYcIOYQNPzWJAms+TjJOnSQ4L0N0bl4w5q+woog18okk/KdBUVxYG0qMk33Crois36MiDO0EsjuFLKfI1k= X-Received: by 2002:a05:6902:1286:b0:7cc:3c2e:f147 with SMTP id i6-20020a056902128600b007cc3c2ef147mr1800844ybu.63.1674328518852; Sat, 21 Jan 2023 11:15:18 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Roman Perepelitsa Date: Sat, 21 Jan 2023 20:15:07 +0100 Message-ID: Subject: Re: A way to untie -T vars? To: Bart Schaefer Cc: Zsh Users Content-Type: text/plain; charset="UTF-8" X-Seq: 28700 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: On Sat, Jan 21, 2023 at 7:53 PM Bart Schaefer wrote: > > Speaking of unorthodoxy ... > > untie () { > emulate -L zsh > case ${(tP)1} in > (scalar-tied) > local scalar=${(P)1} > unset $1 > typeset -g $1=$scalar > ;; > (array-tied) > local array=( ${(P)1} ) > unset $1 > # Need eval here for array assignment, as > # reserved word doesn't work with $1=(...) > eval "typeset -ga $1=( \$array )" > ;; > (*) ;; > esac > } Bravo. `untie scalar` and `untie array` won't work due to name clashes but this seems easily fixable. Roman.