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,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 2150 invoked from network); 16 Mar 2022 15:57:52 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 16 Mar 2022 15:57:52 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1647446272; b=G7PtyyvL60kooIzLDYd2vQKkfKScipy0sZZMjjzhmy4SE6V3DxggDU6qAmWEXS4vgP6UCIXth8 E7MZhFs/xcm4mwj8RUH4Gb9MYrboUIul0aN9I/cYnXpK/RmlOPTR/dYNiAIchHsr0M+vpJ2DBd McEmhDyYUnhe50XJLNsGKUAiJp3uXAl0wNvRYEMwFRLXVF8o+G8RgqKFMUtDVY2ooc9EmUsLQV xvtgX2ipKYxHJMQPX4Odf6WYRZs+CjGW5wfxgce8VFwlSemOlJtAFM5zTwnDa+8JchtJ9UvXe0 b6ZsjWFHAkwMgUajDS1kONC35twNCXD1etVJZ6WWJhjQRA==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-pj1-f42.google.com) smtp.remote-ip=209.85.216.42; 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=1647446272; bh=qA9mIZEKvbPZYYX3Mq4e/JDC7Z5/p2Vy9g2ZeeC1ZLQ=; 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:References: In-Reply-To:MIME-Version:DKIM-Signature:DKIM-Signature; b=aCveJ68E9bbdVeBCZFLKRE08IaLAQ1bHS5kpKoRm8gaqRDW4XqvQaTQRuW58sbGOcQ8UxVkGnB 5ZXYjNzUjGvMXY39v+zRCy4ITGubFWwoeRPbdwLg70SxMi3yn1x8Qp6AsM+xhi8BEStsCPbM/X lNKa+kUzy44+CaJLgOOYV+oNjcxBqE3xhWg+uemKK7XwQtzfYY+QEHsYK2lRX0fgp+BAhpmXCv FCOQQeFlDA6EkM3xtAaAilCzCj7yp8qU0Zy4/pJfQTYvkJ/Ulfq8A8d2PGjoEXjfw5mNQQazI8 W3uhqOH9d63CLU/csmlAmfkSaHFKXqRhvU8lPtYU7dwzUQ==; 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:References:In-Reply-To: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=MNC4BE9//q/21GnlDjndJNHhR5f8tWbaIpDkXHmXwjI=; b=nzC+1TuECGESiLSQXV1ueZgpd0 nGMqbl78ci015xztHt3r/wqSyKyua77Ax0yLtvic3gsvs9u5pMHVgOtYpwb+u2Rqq83D5887ykgsN caP90U7pWuTMk/DmZBR3Xw68xuLW/TE46EkxSNIdErQbsPRcWZAOVi/g1RfxdP17oTFFAnw4VoquB fhI78XuuQVJP9c+UBb/px14Bf7IUVQRODpA3gYlicmggENse8eKnDYYwQ4OVTgMwOqu9x3GpgQsLj HMTa7/NjSXLdhBTP3UgSTnqG1lhy5jGyEWnAHDb/EOnWY9AweYJc7NcRlBmZXgpt3EBuv7WMUOIJz blyLqCIQ==; Received: from authenticated user by zero.zsh.org with local id 1nUW23-0003je-I3; Wed, 16 Mar 2022 15:57:51 +0000 Authentication-Results: zsh.org; iprev=pass (mail-pj1-f42.google.com) smtp.remote-ip=209.85.216.42; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-pj1-f42.google.com ([209.85.216.42]:54921) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1nUW1m-0003P6-LX; Wed, 16 Mar 2022 15:57:34 +0000 Received: by mail-pj1-f42.google.com with SMTP id b8so2498894pjb.4 for ; Wed, 16 Mar 2022 08:57:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=MNC4BE9//q/21GnlDjndJNHhR5f8tWbaIpDkXHmXwjI=; b=YwXoyMNtgj0yRSVhqvXQT0JiRqzm0El1r7oH1T60BlDl1OJZ3xNflflVp5wjEehM7e OF2rFor4n5vGC1P1Ob75fwX+vDDmZ8n3/LxeBoDQR6HJ4HgfzHjLPbktcjyZyOMvOa06 MGvsKzkXmy6Hcf+qJbplyqfYg4ciYhwRP/Q/c2Ll/9wYYSBf8q+CT9nN2CZptfYslqeB zivR/cel3uNvo9nHDN1pSWqvMA4wlK0x2C0j+ICCBznac1JB/lyjwck+IeeDUgSzFzzt gyccLZWU70ErlVOJ+NbJOBqc3o8MlyjMabJGBddZYjqFqmMyEO3TygiyVVFQEfzpygp8 Uhvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=MNC4BE9//q/21GnlDjndJNHhR5f8tWbaIpDkXHmXwjI=; b=m4RwV/gN1TPFOrYa1gnAVTZi+UqfBmVQrd9WYzIqaPErZZe1003jPVqDRpH4p0GM17 zxBVH3iZbozkyj5Rl3qRzasIanIRLj4acwL8MtFZqJ/YvmSwKjBKy2IcDFFKrm3EvFAH kFz3zlpFbbJTOeVqMUQWigFWqt7uID7WIEmc/kx6vNSKBTBmY4wpVC38NDAzUbJBr1L6 lDDtUz6qNQ5ygE+5riCTHb7gWAt9n7kVrUuZSEYursgeqTb9tt1sz7kmQFCt6LCtjxCT 4buII0x3V27q3GeXiU8uKHkj7x4y+3d4MZXwIXdAKESLy6JUsGaDX3+v47Zhg9xIqxdt Tx2A== X-Gm-Message-State: AOAM530xnv0qo0MeV+GJ/9EHq7M7d1rWaaZvFCbuWYQD0U3yetbXhJV8 SZV7t1fxj7ctQhf1va1pqVB3QbeR9cccr5kd5CY= X-Google-Smtp-Source: ABdhPJxODMF5l9cxlx5nTfKWvN8c2gF4Qhg7is3dYOB/U9LzXURWBrhB2p/C8dEz2AlQbuNEGlItoPxZ4MGre073xwI= X-Received: by 2002:a17:90a:e7cc:b0:1bf:5ab5:f481 with SMTP id kb12-20020a17090ae7cc00b001bf5ab5f481mr10841679pjb.215.1647446253441; Wed, 16 Mar 2022 08:57:33 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a05:6a10:466:0:0:0:0 with HTTP; Wed, 16 Mar 2022 08:57:32 -0700 (PDT) In-Reply-To: <68098B63-701D-4DDF-9A44-2B1DC80FA0D2@kba.biglobe.ne.jp> References: <20220310075026.ovwlhxq24cmda5s3@chazelas.org> <7694652.296620.1646922350773@mail2.virginmedia.com> <68098B63-701D-4DDF-9A44-2B1DC80FA0D2@kba.biglobe.ne.jp> From: Mikael Magnusson Date: Wed, 16 Mar 2022 16:57:32 +0100 Message-ID: Subject: Re: "${*:offset:length}" and ksh93/bash compatibility To: Jun T Cc: zsh-workers@zsh.org Content-Type: text/plain; charset="UTF-8" X-Seq: 49862 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 3/16/22, Jun T wrote: > >> 2022/03/14 0:22, Mikael Magnusson wrote: >> >> I realized that this is not limited to $*, >> >> zsh% a=(one two three); echo "${a[@]:0:2}" >> one two >> zsh% a=(one two three); echo "${a[*]:0:2}" >> on > > The following patch seems to work for > "${*:1:2}" "${@:1:2}" "$a[@]:0:2}" "${a[*]:0:2}" > > For example (with or without KSH_ARRAYS): > > zsh% printf '<%s>\n' "${a[@]:0:2}" > > > > If KSH_ARRAYS is not set, "$a:0:2" behaves like "${a[*]:0:2}". > > I don't know if there are better/simpler solutions. > 'make check' passes, but please do some tests to see if there > are any bad side effects. It's certainly a lot simpler than my idea, and also seems to work in the cases I could come up with. I guess if KSH_ARRAYS is not set, then there is no expectation of bash compatibility anyway so whatever we do there is fine. -- Mikael Magnusson