From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=3.4.4 Received: from zero.zsh.org (zero.zsh.org [IPv6:2a02:898:31:0:48:4558:7a:7368]) by inbox.vuxu.org (Postfix) with ESMTP id 8D636223C8 for ; Mon, 1 Apr 2024 16:38:52 +0200 (CEST) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1711982332; b=lypgjGgAXOCJ406EqFubjraOfGUmBTFmoWREyk7D05mPyZZ9wiGltWhsGUZDvsZWwmC0vBqtZg e8pxZiuSTtWAeC9l9feWOuwcvXAmj/jQ9ryFKZc1kPcl1GzOHvcKeoDvlvyjKoN0cAPWiFjihf QbvSranTKWgMGzf3JueLgCw3UtvaQjRoKv5X84M3/YcOsG+7vw1RQ4Mre/C/gm1qkgLqBo3DWk cA7DtaP23qbdMebUiS58DKrxVRmbouFu5An0JZ4hTOBR54uubMfa98jS4r7LfgNO9oMWDaVMBV E0/fbCnwpgT+4JvdUAMOVH9pfrl9NUcUBBHq7/0daJ57TQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-lj1-f175.google.com) smtp.remote-ip=209.85.208.175; dkim=pass header.d=gmail.com header.s=20230601 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=1711982332; bh=+JyzRjB7XDPLPRiqU2GzmRs3uPaB6HF8TVHEZcmKMj0=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:Content-Type:Cc:To:Subject: Message-ID:Date:From:In-Reply-To:References:MIME-Version:DKIM-Signature: DKIM-Signature; b=Rs5T0SN8kWJqByV/QzAUMESSq3+YaiSmlO8xOlNo6x0mWqPuw7Soc6h0z7tTInwPO/RgJ04vpx tllt0qit+uDKORofB5zgiMbd4+OR1iwUkyyKkKYUHSTJ+LmoI9TXRvnBdWjUXvLNJ55uoqc9V+ LjmhAQjionRlADTclvQsTv2tWHhHHEWCspWR3zXz3A1ITyV9QsvznqWrhkJTMPYJ0sC6uBFWbO ScIWsKi9KCTBaQshDVTZ7wAN2Fk6UfzQhMoKdHgVPWBGy0dy9CLa2glAtS9ktLXa5CmRS9y2x+ v7htTiTpifFiQGaH9Hwy3flas5IkHD1bD8Wssmp1Ju1wBQ==; 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:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References: MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=chqAQH5KbgDHf/XDRJKx7Bn6YER2z32GiULLOF4pKiQ=; b=QfqHcnxtwm3wmLgRllgjT4sglu +f7m19VKhEbxd1zYQZbBlWKbyIGI60usfvvMcRYWmJtUCTQ4/q2h3bB/fILYH7izRuExuQnae3FZM 9wXRc0b95vWiX7w/UzN+P1C02wJ9wDrknPg+TrAR30X//y7JWHzqm/1UeZhk/mlJ80AwWgtwdyKlu gykju+KvPqr5lkJtyydiSkZRBnjZUpd4HjzrlgWItVR5WOQrr7BmTe4tqPRYRajUQ4ULKt+3TZ7tC BPZSNf0UA6cHujHWjhO4gMSZUWVR6qyBCIBNO31vmF2eU5KsDKMROMtAEHSovHk8bv4o6PoX7u1NQ uAw0bG1g==; Received: by zero.zsh.org with local id 1rrIoF-0008ji-TN; Mon, 01 Apr 2024 14:38:51 +0000 Authentication-Results: zsh.org; iprev=pass (mail-lj1-f175.google.com) smtp.remote-ip=209.85.208.175; dkim=pass header.d=gmail.com header.s=20230601 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-lj1-f175.google.com ([209.85.208.175]:48583) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1rrInr-000846-0P; Mon, 01 Apr 2024 14:38:27 +0000 Received: by mail-lj1-f175.google.com with SMTP id 38308e7fff4ca-2d80baf621eso19571291fa.1 for ; Mon, 01 Apr 2024 07:38:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711982306; x=1712587106; darn=zsh.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=chqAQH5KbgDHf/XDRJKx7Bn6YER2z32GiULLOF4pKiQ=; b=OZc1lqD6dZCfiii3m6z9kfJzdo6wgb3xY1OFtTG69CFZzWXgn1NgjWrZ5mVUy5ZdYN afLyQpP0RUMQ20hV9SFvP8zBi8GXIXCy2GfoaAOVqxl8qesiEa38no9snHAxV9aOCtM0 zDGQu97S8DzS97gO2k1ZpYlvLEe2iimL70blno8TVE5EbfB9v1JQ/oKXMvluCClDNTCC GO7nTU8FCvo+tu5dOlJ2a/63Ib9KOxxz2RHTq3uFaS61lrRgzF/GCkKTNyC2UyLEBrPL zMiBOq3TpUiLK3CXfY6qif5d13EjAYZdg3gAfgQCGpoBgAfDeWJucuG3pv/21Wo0XLYC T2pA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711982306; x=1712587106; h=content-transfer-encoding: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=chqAQH5KbgDHf/XDRJKx7Bn6YER2z32GiULLOF4pKiQ=; b=TwCLU2eL+6huRdQj9TnxQJvwOBuJWDntkoMlZdqjODGv+wc5w11+OCKNDb3IIoORM9 Ex6UDtAOIa4IOjFktkB8MIRCo8T60dtyHsBaNq/bWlVJszfJMX8ZfRlXXBgVl/CSkxrt ctrPFkcfS9th58JBjCGZx68ErcD3MsNKjHNRj+YCA6cMHkAZObh6oT6CXu1F4/+BM+BZ Vbb1nx83iDqWB9lGn/jIW00eTHTEXZ4fgdcLt1RZz+z20/X62HmjxaZ0y2TphYyE36Fr PYfHGcoTmYdVSt0KAflrnR52V7nF/8MfFUMT/qZvdgHuWWQC5WKrX4vdjqQFVo4NcN67 FSrQ== X-Gm-Message-State: AOJu0YwXi/YHh6/IYA4gJCpFgfjxq6x+MIcz9rvWulhP4J5Wkny5YUvA Z95euEyAasMu24ZfqxZYWj+2Q8vjn1WONdCokviorJB8XvtgU3jCx+cLDaS6A/Em5AimznUq+mL G1kEZgz3E1LOCIbG+r/YWUrENDDc= X-Google-Smtp-Source: AGHT+IEUPVg72jcBZdkn8/UH4N4bNxA+Eh3oTvLyBIcFVUOXO6/RuCExCtPGrrwUJw7IckBRDsYVRMeZr5Q3PiZFL0k= X-Received: by 2002:a2e:9450:0:b0:2d4:5a3a:de7c with SMTP id o16-20020a2e9450000000b002d45a3ade7cmr5937093ljh.32.1711982305939; Mon, 01 Apr 2024 07:38:25 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Roman Perepelitsa Date: Mon, 1 Apr 2024 16:38:14 +0200 Message-ID: Subject: Re: unshift To: Ray Andrews Cc: Zsh Users Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Seq: 29750 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 Mon, Apr 1, 2024 at 3:52=E2=80=AFPM Ray Andrews = wrote: > > Can we unshift the positional params? That's an interesting challenge. A start: alias shift=3D'emulate zsh -o typeset_silent -c "local -a _shift_a _shift= _n" _shift_a+=3D("$@") _shift_n+=3D(-$#) shift' alias unshift=3D'set -- "${(@)_shift_a[_shift_n[-1],-1]}" _shift_a[_shift_n[-1],-1]=3D() _shift_n[-1]=3D()' unshift undoes the last call to `shift [ -p ] [ n ]`. I think (not entirely sure) that it works with all options. Unfortunately, it does not work for `shift [ -p ] [ n ] name ...`. Roman.