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, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 24870 invoked from network); 22 May 2023 02:36:42 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 22 May 2023 02:36:42 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1684723002; b=KHEhBrtGX5ovemiHdMv5btG2nTf7h6Cjn1qP7/WnDj6O0nY1zx3hE0qQjMgwx/Pc+uAVblrsbt Pd7pJnuDOLAZx8MjX/F1QhVt09fB8nKo9CMHvJKhawDylMlWW2GWmff3n4d1EJl7o7hg9cYYzg AoOm4qW2wNSeyD30YU5HU04nivI9H83lJbeECaGj7lAXo55gTFrkAcQlPzJ14PnksbOdsPARlF 9N46crAeOIZ9MlwaSBC5I/XjQSxNwu18HW5NfNkl8xontkVHkvS/dIyrxMfGjqT5ix7A93LtxL CUsKu47d5gEorZzyot7VzzBPupSH7/XAnCxO5STEfXB5Ng==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-ej1-f45.google.com) smtp.remote-ip=209.85.218.45; dkim=pass header.d=gmail.com header.s=20221208 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=1684723002; bh=7yx5Phr6Is8+iMv2eoUPbJVWOQ/WyY7l/+fliEj705Y=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:Content-Type:To:Subject:Message-ID: Date:From:References:In-Reply-To:MIME-Version:DKIM-Signature:DKIM-Signature; b=S5A8sTHCDnvn0M0ZwFDWWLU/hH47Tb5oZ9DnfwT/rXYOrSaBr7k4I8Qdr6Q72BgdohAQCrUvIP PBDQQ9Zo7+0F7B79PSqJuDVaWfcWACSuMEJ2gpeqYUiZLA2L+eUYn0TNgZGJEWJgnLxjUzpTot 26DqJgUiXPLDShzSqCIWsdlkGAqptq+P2FTtfKeraNdZm+yMjtSrTFac7DHmZH3s3BdsDBK3Wf yMLbOmRmFH2vZzLAuegH5hJvySP+RgMdqDVtIOztflsVim9llXNJ1PsnHMwabUBoFrO3h4EfCF AzvUBx95EseprAGyfFHH2ntSurDNiVYSCusc0YkMx7wefw==; 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-Transfer-Encoding: Content-Type:To:Subject:Message-ID:Date:From:References:In-Reply-To: MIME-Version:Reply-To:Cc:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=lkWpTxQReHruA22GtnYrrl8mUtaAoZQmaoroarVqJqg=; b=KB08u9GfAHVAvWKrwDNE4TFCp2 U8RRo1q6iyv+g15JeaRaXMelX5MP7IBWqZDlUIXtL0kwRd8uDD2MRnECUI4vXKLs7o6uHIJRun15a mt8Rk+IaH/LRiK90Z2PrqYAQlsR4OhDou0/Gau/yS7c1ecyoJ21RQmDx7oJyqVPngsSW4Ct9dvMAO 9ma1IiRmhBdZAzAu54mOYgvPo2fx/gzgy7epHncb5ldnFevBYb9Vvv75Je/O3mws9vrfXO9McrZu9 u2yGF1eCnDAAVvmV9t/pyPvwkil12tPj1z7xy6TZ/QAiVS2WRrTWdrOrZMkY4qmZTGeTiIITvI00T Y4oSru6Q==; Received: by zero.zsh.org with local id 1q0vPe-000Hn6-It; Mon, 22 May 2023 02:36:42 +0000 Authentication-Results: zsh.org; iprev=pass (mail-ej1-f45.google.com) smtp.remote-ip=209.85.218.45; dkim=pass header.d=gmail.com header.s=20221208 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-ej1-f45.google.com ([209.85.218.45]:55618) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1q0vP2-000HSg-JM; Mon, 22 May 2023 02:36:07 +0000 Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-96f850b32caso454895066b.3 for ; Sun, 21 May 2023 19:36:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684722964; x=1687314964; h=content-transfer-encoding:to:subject:message-id:date:from :references:in-reply-to:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=lkWpTxQReHruA22GtnYrrl8mUtaAoZQmaoroarVqJqg=; b=D6Dj34lOmS4bSmG2YCsNXUL3pi22wdbrmEuooxSTCoH4Q9jj3ETV5CSMSRQ+yR0NiQ RLTYMDGZ4HsFpdY2H4Za3v6r8di2WayAh/LPWhcjVcKaQGQAdlhishaeMz+zWi8c791p CpcKDPoxRUsNDEsQdjmEjHdz7AA9OVZrH/HMS9fmSgFdYIvPwGhhM4AB74X4XnNPFGnY CI5bOhwc+4dPHWNBgqKlY0Pkfa9EOchZg2UcmRIAYad0IGn+Gc31mrwTmvGoWuXQfm1M Kc4ck3x1wzZj6PPeWiiBT/tsVZsoKuzWWlYwhk4SBnp1Fa+0UR/kz/bgzY709/qcTalS 7p4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684722964; x=1687314964; h=content-transfer-encoding:to:subject:message-id:date:from :references:in-reply-to:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lkWpTxQReHruA22GtnYrrl8mUtaAoZQmaoroarVqJqg=; b=J3xaVazVIImyUHcJgeJPGX+VGlXoW9pzfuUj6m9Fo3m9Sp/mbNx2h79+VzYl8MULbg DO3qdkV2ctGvgpIo5FXdkDBrKxiisAuF4MLrWpzVFHptkNUmxSlNnfVw4PVvm/QRcKK3 LNeTj2x0llGADlis5AG2kwR6IN1C8KokBAQf5J35lZ4lGLxRtXjRQxsE5ydVIVyYT7r5 v0vRqXpzI/3XBdkmKn3sh2ABHZt0ga68VOoVsUvvayXKO7YmmaXAGa9xj3A/n3tmYarb 6nVtds/PMsynUSjeCrzCMLGl/XiPgaGAp3bBG4MGPzWbHs/1WkzwPz8G9nDuun3Hb3gC UoYQ== X-Gm-Message-State: AC+VfDyPqG5ar6t6kU51NbQ/0IYmZzn+e0k9ReqsllHMiEtKLHu7WDBW co5OZXz7gOPcC9rqj7ptZupZRhonbBIzGcHU8N9jo4K4 X-Google-Smtp-Source: ACHHUZ5NxsxF9fc3Dpwz7O2RqEmOSWjz2PhytR/pQ0UUvOgERftNDZfa36RhwDjxSMsWYD8uu1vaj4/kFuVm9SnOav8= X-Received: by 2002:a17:907:9405:b0:961:b0:3dfc with SMTP id dk5-20020a170907940500b0096100b03dfcmr7788111ejc.8.1684722963898; Sun, 21 May 2023 19:36:03 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a17:907:97c9:b0:970:208:f856 with HTTP; Sun, 21 May 2023 19:36:03 -0700 (PDT) In-Reply-To: References: <26170-1678007435.186071@mDq6.Euc0.bAwZ> <52850-1678055097.553101@HAUa.4aGe.fmcC> From: Mikael Magnusson Date: Mon, 22 May 2023 04:36:03 +0200 Message-ID: Subject: Re: [PATCH 1/3] Extended ksh compatibility: namespace parameter syntax To: zsh-workers@zsh.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Seq: 51771 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: On 5/20/23, Phil Pennock wrote: > On 2023-05-19 at 23:54 -0700, Bart Schaefer wrote: >> On Fri, May 19, 2023 at 7:06=E2=80=AFPM Phil Pennock >> wrote: >> > AFAICT, in zsh, .a.b=3Dc is assigning to var b in namespace a, while >> > a.b=3Dc >> > is setting the b attribute of the compound variable a. >> >> As presently implemented, there's no difference. The latter is >> supported by the parser but should be considered a reserved syntax; >> some sort of compound variable feature is a possible future >> application. > > Sorry, I thought I'd fixed that typo before sending. > > In _ksh_. > > I played with ksh to evaluate the behavior, which didn't match what was > said upthread, which is why I spoke up to clarify the distinction. > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~8< ksh >8~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > % ksh > $ echo ${.sh.version} > Version AJM 93u+ 2012-08-01 > $ PS1=3D'ksh$ ' > ksh$ foo=3D( alpha=3Dfirst beta=3Dsecond ) # compound var > ksh$ namespace bar { alpha=3Done beta=3Dtwo ; } > ksh$ echo ${foo} > ( alpha=3Dfirst beta=3Dsecond ) > ksh$ echo ${.foo} > > ksh$ echo ${bar} > > ksh$ echo ${.bar} > alpha beta > ksh$ foo.gamma=3Dthird > ksh$ echo $foo > ( alpha=3Dfirst beta=3Dsecond gamma=3Dthird ) > ksh$ .bar.gamma=3Dthree > ksh$ echo ${.bar} > alpha beta > ksh$ namespace bar { echo $gamma; } > three > ksh$ echo ${.bar.gamma} > three > ksh$ echo ${@foo} > typeset -C > ksh$ echo ${@bar} > > ksh$ echo ${@.bar} > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~8< ksh >8~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > I don't know what's going on with `echo ${.bar}`, it's undocumented in > my man-page and the inability to use ${@vname} to get details about it > suggests perhaps it shouldn't expand? > ( ksh ${@vname} ~~ zsh ${(t)vname} ) > > So, to match the intent of ksh as I understand it: > * .identifier.x is always treating identifier as a namespace > * identifier.x is always treating identifier as a compound var > * this is consistent across assignment LHS and expansion Does this mean compound vars can't be namespaced? --=20 Mikael Magnusson