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.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, 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 22351 invoked from network); 10 Mar 2022 07:50:48 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 10 Mar 2022 07:50:48 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1646898648; b=QHMSqaFWYqRyJXgGJ2rFZqAa14GaAAWnqnp9h/PE6c1lEktrTWsbn7v+m3WM1s8DitBCXCW3uJ qXKVBYQf7AFRu7BsKtBJYaxYkFY+rwGVI8kQNUy52dnSIs8iR0U0zqyBOuIkxHt/bUvRbKhzlj UpBZ5HhQaRq5tTXlTS/b4wRizXEus0puBzdOqLGVMOs60pxrPFrOnAnvqgNRJUGYnWYj54qk/k ZzBXw1dGL30hOnQRQ4fCK2PYzrwobn/ZOYVmXDVL7wTJKmvOvVjeSgoxeDjBv+Vma+qc4RztFx qaUvB1mEpY0+eWypo1AgSL/8QZLPd4pHI1mJ0DbpL+wuZw==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (relay5-d.mail.gandi.net) smtp.remote-ip=217.70.183.197; dmarc=none header.from=chazelas.org; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1646898648; bh=GQhP6lzy7ctIMFH8YX/5eDJSa0mvnCXpQJGOJEps0tQ=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:MIME-Version:Message-ID:Subject:To:From:Date: DKIM-Signature; b=IoeOToUdvzO3EgX5OuOv/P7OxDvM+JrnsXVkB3tXG7ak1GaUEkb0sa9sSQRCjO6UniHsSE5scg sxBsNUGhuSZdU/I22TpA5mMle2hcn0FUT0Y32XhVoP636f8vdCNjfts0KCggwlIMTlxFlQBVCv +q7yCqZ0nW0wukBnWJoaFnVqA8Uk2tLAuAmWgyFa3jqnuL5GJ5koUeoC06IgX93/tyeLpxsgGn fN8cZXCPD8LVtAt0OFhUDcMQVkQJVJwHc98q5Ui3tAUfgB+qQXAMac5Ta5xZ+BR2flDgpIxbXI kiaATQN+Yoe2mxVUDgxkTTngAdjRJjWBDztsvoEMCnfobw==; 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:MIME-Version:Message-ID: Subject:To:From:Date:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References; bh=n+tA6xvqIwJkYsHMkMbygBEMPa3SGHhsuu8lKfKMeD8=; b=sHranBIgsEZrJhVMQWrhKeQe/2 nDDM6OZoO/4kcZXmjOa8cy3eG5Ukj5VUmpDI9V4X3MyQHh2qUEuAixLt+JemAHzhFnJftzzVN5xSA L4UPlXPpEJ77Jvpn3+MTASlMnnYtmr7wzHF5oUBvoo6VYDq8HbEdD3dnf55/1NJazYVAVa2+Tk/fH r/cIpVyRfDNkmJroYvYelwr+ytZxsACvWM7H+Tm333GyhS7Sf7aE6p3T6mvMnauYBo8zp6xC4N+qF fmalviOKTKVCKkmusBnEDb3ba8zFWbbAIIEVg6Kaz6WukS5dx8PLZJEyZMQtG9qW+Ev06gFlgwdc6 aEieK38Q==; Received: from authenticated user by zero.zsh.org with local id 1nSDZP-0000Ar-6E; Thu, 10 Mar 2022 07:50:47 +0000 Authentication-Results: zsh.org; iprev=pass (relay5-d.mail.gandi.net) smtp.remote-ip=217.70.183.197; dmarc=none header.from=chazelas.org; arc=none Received: from relay5-d.mail.gandi.net ([217.70.183.197]:56093) by zero.zsh.org with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) id 1nSDZ6-000Ppj-B2; Thu, 10 Mar 2022 07:50:28 +0000 Received: (Authenticated sender: stephane@chazelas.org) by mail.gandi.net (Postfix) with ESMTPSA id A99E01C0004 for ; Thu, 10 Mar 2022 07:50:27 +0000 (UTC) Date: Thu, 10 Mar 2022 07:50:26 +0000 From: Stephane Chazelas To: Zsh hackers list Subject: "${*:offset:length}" and ksh93/bash compatibility Message-ID: <20220310075026.ovwlhxq24cmda5s3@chazelas.org> Mail-Followup-To: Zsh hackers list MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Seq: 49819 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: Hello, >From workers/28418 I understand the ${param:offset:length} was introduced only for compatibility with bash (though the feature was initially from ksh93) as zsh already had $param[first,last] (long before bash had arrays or ksh93 even existed). Still, there's a difference with ksh/bash when ${*:offset:length} (same for ${array[*]}) is quoted: $ zsh --emulate ksh -c 'printf "<%s>\n" ${*:1:2}' zsh foo bar baz $ zsh --emulate ksh -c 'printf "<%s>\n" "${*:1:2}"' zsh foo bar baz $ ksh -c 'printf "<%s>\n" ${*:1:2}' ksh foo bar baz $ ksh -c 'printf "<%s>\n" "${*:1:2}"' ksh foo bar baz $ bash -c 'printf "<%s>\n" ${*:1:2}' ksh foo bar baz $ bash -c 'printf "<%s>\n" "${*:1:2}"' ksh foo bar baz Should zsh align with bash/ksh there. -- Stephane