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.3 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, T_SCC_BODY_TEXT_LINE 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 A7E052C6AA for ; Fri, 15 Mar 2024 17:29:23 +0100 (CET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1710520163; b=hF/pOwwlhbze9i6oNgtjzpvrmveGpSqZqEFsSa6D6kBatiksbPKahB24XBeY8m1m4IM+4tSOVh 2+XKmXhwkxz3XTES8YG6XcFLbWYM2uhCKqgj4G/TusWYFTXRyNFDPJIiak2YjxGU3zT95jzdIy mNw4lV84geL/p8KoWqy2khk6IDFt9z99J+z0In0s8MtR7d/Cf4LJSErjx5JHlCBUgi1dmktzwS yCOXx2417EA9oZ2fFfV7oxe5yKqnwJEs3/Ucr9kAh/Tsh8J9DrUioxc1aKqF5kt9t7g7ZkDwww XLsgntuT2aXxnuabXweO5JvPN/qf/G3JAf2/SeQ2K6cq4g==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-yw1-f181.google.com) smtp.remote-ip=209.85.128.181; 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=1710520163; bh=3pXOGSDyvyHUk3ajOyVED1B4X3r3o9Os10wXJgmtTj4=; 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=ribR2/xqqsLZLzdpV7Bvf8UWVeYtVCbhUfovlKfKYPr30iwiRMYAuJQJH99R5Eel6k2yOkll+0 ETE5zoJbhvoI/E73cOhj5PxymJIm5c8Tu1vX/S3yWLSR9upiex0P3FtKZ1uoK6dJN51B8fvxnD aR88V+Dl4mAsXUZVqWJURUt4CVXpuBvWW9Tf182sGzZ2l3PijVYLlkerURhv2rqumUI0w21q6b o6tvSUDnSR0iSE+o5S+CBNYiQWme9Iicmfpq4Dc2yz3wPf9GHz0sz++8zZkoe+S9jjeSMq84vH m5hXPnfpIN4eT/7Fgqn8ZZuEI4D+4W1RvCQgWFf5aCY26A==; 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=3pXOGSDyvyHUk3ajOyVED1B4X3r3o9Os10wXJgmtTj4=; b=ju4mdI5aPs1sWYFRZHAg3wqJ/D l6hEdQtzvK5Q19ByhnDvCbD5sTATlScR+xgoWSVgKqQETao5ulYjNNQqotezgeVEl+TrgQhGMA75K RSxzMxB4wlrJ/gzEHE6ONNuUdM1UikLErR6ka/osVcN/xiA5cLFIO+n9DvzBkvOdIcbFaTnqZ61jA tdZiCD7g6YHfM9sdLEZNGN7yDO5dgrFX9fqa+hHMpoeEP25G6P72kc8Uzpp2YS0dseeAEX5DtntIV bT6LWzD6LVsYd3L+uXNnwYpDqOSziMGHc5+EhxxRRrvp6gz82CvqxoOi5hLz6oRF7aLmqPYsCROIV tPhYlzmw==; Received: by zero.zsh.org with local id 1rlAQq-000CpU-Vm; Fri, 15 Mar 2024 16:29:21 +0000 Authentication-Results: zsh.org; iprev=pass (mail-yw1-f181.google.com) smtp.remote-ip=209.85.128.181; dkim=pass header.d=gmail.com header.s=20230601 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-yw1-f181.google.com ([209.85.128.181]:56451) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1rlAPw-000C8L-7z; Fri, 15 Mar 2024 16:28:25 +0000 Received: by mail-yw1-f181.google.com with SMTP id 00721157ae682-609fb0450d8so24271417b3.0 for ; Fri, 15 Mar 2024 09:28:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710520103; x=1711124903; 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=3pXOGSDyvyHUk3ajOyVED1B4X3r3o9Os10wXJgmtTj4=; b=YQXBBCQxNawAeva7ttgKmzyC0XdKpHoGRdki57c3ZjheXEsDoNZt5nIqgc0+7lOr61 FyUkpzzH2cxyjpUtCFdgxTozA4rl1YJZGTbDJixZo5AoBAfQ8L9Dc0ytpo5eZwSv3XUV XaBIunm5PgUE4rVTZntygIk+crpZ3f5KsY9BroR0KUdP9qIugGTEhp7OjLJWW+9TrOwQ KJghnQcBum35vcFSNt3fajCIL4nwzLnXTqqt5R/Gye6TxTTTPzISrUJrTTqwH+ypGUl0 sVGcaYgIP2Pg+qVdA+hYJz7A4CwO4/+bcH/mGqs6RusN0j1jXEupA4NOAyUIvC6YXac1 qKFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710520103; x=1711124903; 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=3pXOGSDyvyHUk3ajOyVED1B4X3r3o9Os10wXJgmtTj4=; b=JiZpVhwXmUstQOX8kjbCeA7n3nVMWAFZ6qcwEfw/eBveJOEYXmADDwSnJ3wLtL5uvQ 2+aCOlrkpuBvp4dXFgDiVJBsHA5Um230oF+R7DCPFsYtGArahFXZLfy2oMoTFWjnxOR6 M+woA5+YK91mnIcLy0ylGfHQYvEExwNJCjrcXkW5rQNt5LPYs9VSYHbiXIWM/WAkn6To nsFGBtae64OXTdU2hrRs17gp6mBnFR/mtTe/ihUcouaR61dtnLY5a9E2EFvXLU9w2LXX uUIu3/PfMoPj+6ZJaoYGqR5UOSAbmkmV5FUBW18mkQUJZwlsTlOn4Iu5lxHaLD18Q3Kf tFFA== X-Gm-Message-State: AOJu0Yyd4B77iSltDzKCd/pk8rg+XX1fRIpSpEoYs02innQwiv5b4TZA IKmI/kaGrp527y6vNzjQXvLZu8ySU3Q3S4D6CniDEVg5h4hxL05ojRHKhlsINL3qZtEBA/Y2BR2 8Kq4pWRhtF4EUyGhpX8PtHPSnJ9A= X-Google-Smtp-Source: AGHT+IHYM1kVV6ebpQpCw9lPFejeqKaKvCjJ+x6drPmoZMYFEDFX55i7/xDNmY4U+h7f6xFRFm4qJfs2e4iAjsOlEEQ= X-Received: by 2002:a0d:eb16:0:b0:609:dc75:fcee with SMTP id u22-20020a0deb16000000b00609dc75fceemr5460661ywe.12.1710520102391; Fri, 15 Mar 2024 09:28:22 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Felipe Contreras Date: Fri, 15 Mar 2024 10:28:11 -0600 Message-ID: Subject: Re: What's the equivalent of ${BASH_SOURCE[0]}? To: Bart Schaefer Cc: Zsh Users Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Seq: 29736 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 Wed, Mar 6, 2024 at 11:16=E2=80=AFPM Bart Schaefer wrote: > > On Wed, Mar 6, 2024 at 1:57=E2=80=AFPM Felipe Contreras > wrote: > > > > But what if someone wants to do the opposite? Use the zsh $0 even if > > POSIX_ARGZERO is on? > > Of course the zsh $0 depends on the setting of FUNCTION_ARGZERO, but I > know what you mean. I meant the name of the source script file, which I suppose it's FUNCTION_ARGZERO when you aren't inside a function. In other words: ${BASH_SOURCE[0]}. > > So far I've found that ${(%):-%N} is the best option, but I wonder if > > there is a better one. > > $funcstack[1] would be the other option, unless for some odd reason > the zsh/parameter module is not available. > > An advantage of $funcstack is that you can use > ${${(@)funcstack:#'(anon)'}[1]} to get the name of the nearest > non-anonymous function. Actually I realized that it's ${(%):-%x} what I'm looking for, since that is the best equivalent for ${BASH_SOURCE[0]}. According to StackOverflow there are no better options [1]. Cheers. [1] https://stackoverflow.com/a/28336473/10474 --=20 Felipe Contreras