Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: :a modifier resolves symlinks - docs say it shouldn't
- X-seq: zsh-workers 54639
- From: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
- To: Langbart <Langbart@xxxxxxxxxxxxxx>
- Cc: "zsh-workers@xxxxxxx" <zsh-workers@xxxxxxx>
- Subject: Re: :a modifier resolves symlinks - docs say it shouldn't
- Date: Fri, 29 May 2026 20:47:07 -0700
- Arc-authentication-results: i=1; mx.google.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=WeRlDv6wrhQTS90B21oyUB4UmDS5Gn54lSJVLgvalhw=; fh=lcpP+Mc+BkWaFejclS6t++I2qvH/j20hMuFQ8+Oqqjo=; b=HWUnv8oKIyq1pTvabVOfCWKMHMfz2q81RN0p4CayQocAFul5gF9BQ5Qu8ALLnwQuj9 jDUtgwkZYVPQ7QSOiTIsgUQctakxZP1rRFDgORniWhguF82mjmqvviFRJWZfetvzYdWe 7tEAC9x9zESqGvXgCmWQUJTgfSwl3ZghSE+QxE4tFOXxRkrKEXpF1bUgm/lbV/XB3vGv nsXk+21V/pS3Hlb9fsJI3FvOdxmxiIIzPxr0QxZvt9XQzoC8dpyGgTAuj2CTqdWyYXJ3 qDYapd9OKFZnqdJrxB5gGxktEo78N7NBIhO9zausqmeHiVZV7VcYGsD0Hpq8kcKzROHY 4jgQ==; darn=zsh.org
- Arc-seal: i=1; a=rsa-sha256; t=1780112839; cv=none; d=google.com; s=arc-20240605; b=DaHddJgyMzGsnx1Ohxd4/d4YgDwjYNfUO7VK3C8gMfAM/Bapt5NewADBdxS3KWEEsH UKxggSoLpHeO098FYkC2nbq1mBkKIXVXDCsOYCAf7jedMPgrSidumXsFrgjPk9iZdxQE 1G66bWwSon7F4o7PDbuXDU5/sFNpR4BGpaJTpeX9xiHdscfDSnggeJjm2K/n6TXIv6jZ Y2dcVtpY+DwUCqhM1MG/zdgKpy6p9GRHhN7RTrgBV2OTt1wDwDmZIWPgHlgTY/WRaGzQ CV5QHmeGqFqqS/ksSDBdULMmBD/mT8AAfzNAaa7L216egvz4vR1jOQfFCCjurzB7u3pS bSnw==
- Archived-at: <https://zsh.org/workers/54639>
- In-reply-to: <3zfe8vYH0x3FIyV2DENCazumVzxZW1PaRfZDwO8lTNdgANVSd7stvo2T5XDHRI9H6RY5JE-VoXkF6df5Mw7BPiEmCzsPwcjMf8Bf1zs9bNw=@protonmail.com>
- List-id: <zsh-workers.zsh.org>
- References: <3zfe8vYH0x3FIyV2DENCazumVzxZW1PaRfZDwO8lTNdgANVSd7stvo2T5XDHRI9H6RY5JE-VoXkF6df5Mw7BPiEmCzsPwcjMf8Bf1zs9bNw=@protonmail.com>
On Fri, May 29, 2026 at 8:07 PM Langbart <Langbart@xxxxxxxxxxxxxx> wrote:
>
> a Turn a file name into an absolute path: prepends the current
> directory, if necessary
This does not say that symbolic links are preserved for "prepend the
current directory."
dir=${PWD}/x
echo ":a ${dir:a}"
echo ":A ${dir:A}"
echo ":P ${dir:P}"
:a /var/folders/6b/3xjb91g50kq0hpwdyqlry57w0000gp/T/tmp.ACSrdBvO3s/link/x
:A /private/var/folders/6b/3xjb91g50kq0hpwdyqlry57w0000gp/T/tmp.ACSrdBvO3s/real/x
:P /private/var/folders/6b/3xjb91g50kq0hpwdyqlry57w0000gp/T/tmp.ACSrdBvO3s/real/x
That is, symbolic links encountered when interpreting the value of
${dir} are preserved (or more accurately, ignored), not when
constructing an absolute path from a relative one afterward.
You can see this more plainly if you change these two lines of your test:
cd ${tmp_dir} # don't desend into link
dir=link/x
Messages sorted by:
Reverse Date,
Date,
Thread,
Author