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,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 8083 invoked from network); 29 Apr 2023 18:08:02 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 29 Apr 2023 18:08:02 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1682791682; b=PXEq5cXza6NiKDCsodEHN3wxeddx49QNZxHN1WeDjV/xLy2WWA+AgTD/uXB6B6IEkcheruGkIm 4ldheBl5Eig9Ees/TqO3fSSQrabalk6GZrCJ9tbX6ViBytayMk8QjYRBdT3Tne4Posm9bNTHGh igJDzIUAQNh7W5fDvEECXvYoLt28MfBi3H/294oyPP/vTUYjHjI6Y39H+AVtF65KUmM5Vu3M07 HdqVSCy4sQOHfjEWcpQntKW6nA0DSbUiWq0CYC3lu8ModsB7wMPzLzhxY/N7xQs8QRNddBtO7k uxClMgTR889kFqXRpGmGYzVFHxTmq9984a16fnYha36JJg==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-oo1-f42.google.com) smtp.remote-ip=209.85.161.42; dkim=pass header.d=gmail.com header.s=20221208 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=1682791682; bh=eEjVREuYe3ioEC4t7Mus5i6W3L7saSo1+hQrbt3LNLk=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:To:Subject:Message-ID:Date:From:MIME-Version: DKIM-Signature:DKIM-Signature; b=Ri90D4i2TJHTEM/Hd5jxvcQbaO141pCZfWtJIvPuYztlU+XUbVYLnd4d7fJ4dRpEFnbNHTFTZj AJHWtGQIYINWD5D0QA+ORerK8F/f2nCx3p/GiuU/IA6Re3/EO+SgXXl+b1fEvoi8SxeJ7U3GtX jgHEimipV4CHfKgvpVzcRdN3y9FbF8egVgGVGyG/gdhGvEyvUYnF9u/hgXtGX4CANjYM8NDoKw PqzWLS4CrDcpl72GAYZ5g96oxBUOwMfThk3Gwi5uGEYDH/G+iz+TH7i2J9vbKqERcoQVcg+Adf 1/4RJbKC9AmINXWmsEv4cqDyOQGFQkX9BK3VvPHyugP8iQ==; 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:To:Subject:Message-ID: Date:From:MIME-Version: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=eEjVREuYe3ioEC4t7Mus5i6W3L7saSo1+hQrbt3LNLk=; b=GAU8do9grRrKaipYQa05WiZBSZ erGQm0gepqzuctupuqOgiSQqEhpoJjwIDEFYRHTCighe6sB3vA4sNREgfRih4fCG4068u/OaWWX01 aSAoJItS5NZJdsZVM28eKqGqZC9RpD4RnDz6ZuSc8vkE9a0uHnBJef2mZh1TiRGeHrbVFkCmiaIgo umAj67SXM+kI7deefen8l/ljLyKQmz779NRb8NcaKr3NX3xhkk4GOdv0CaIQ9rxiZ+Qn4hC2QMhyb UsK8zy923+UkQBWyDXNuc22BtPJsu2uWvS5AlNwpuA43Dwu8wttcplTxmw7KSpvqIDevD2r+BDKrm kaZxbxYg==; Received: by zero.zsh.org with local id 1psozJ-000B7L-B4; Sat, 29 Apr 2023 18:08:01 +0000 Authentication-Results: zsh.org; iprev=pass (mail-oo1-f42.google.com) smtp.remote-ip=209.85.161.42; dkim=pass header.d=gmail.com header.s=20221208 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-oo1-f42.google.com ([209.85.161.42]:40430) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1psoyF-000AQ6-VB; Sat, 29 Apr 2023 18:06:58 +0000 Received: by mail-oo1-f42.google.com with SMTP id 006d021491bc7-546e0ed5fe6so120570eaf.1 for ; Sat, 29 Apr 2023 11:06:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682791614; x=1685383614; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=eEjVREuYe3ioEC4t7Mus5i6W3L7saSo1+hQrbt3LNLk=; b=dXbNKfbNYYk3rN4mItBqvhIWNGkAxP4cTJFYwI5N19XHUMr20TyDu8FeohmmJyC8ee GTe7+AhoSTFiOxr8J/SlKw7zOiKQqReYtRHjuN0LmynkOpOB2/fW5SIkGuKej1fD3mw3 jrfawHvyaKvNxKnm6ue47LxgIiZQ78rbgLsWX1tcN7NDiHtj2XZWqMrQWdTEJqJloCYZ 0RNHpbgH504F5E8svwf5W7EUTQPoFYXkKi5b442dQ9txp2BTjE23SHnK3ILd3his8KP/ R1oZwD5Z3HgHbYmY6bNrA39n7HFWlBX4/OfF/qKKUf+jg7PjNIeuQmXV9ADA6bMmk73Y jYqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682791614; x=1685383614; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=eEjVREuYe3ioEC4t7Mus5i6W3L7saSo1+hQrbt3LNLk=; b=AHUju98tm5IFDAVnPNm1InzcOdDUnILVAf6O5cWnA7nn/zSNZgtT6YRKED5I5gE1aW hb4rVBbuuBo0+wWqhNdymoz80qAqEKM+Ad1n2K1Nv2zzrIhOuKbXcL5BJaP8AL3CX9DD eEReS57B3NdvbYq2tuNtJCNbxu4XLn+48ofC9aA7jT9y4ivMbkavckORsbI9kFLOKLk6 luLnpgtRoqwf2ezZQiDM3Wj51z41I6c4DVdXTFfvmRIEdISKY6lAr+pq4hF+kvn0tJUQ QEmPQg0z3pz/o19tt7BHOxmuBzcDl0rGAhLqBkx7YhkiLS2Qsr5zQA3l72rISFsTMkYA wAWw== X-Gm-Message-State: AC+VfDzWaZUjnMpO+HHCrBnM+icM9sOt8Tk6uhFaQuqNVBbCWXaATEkQ yMwX9OuQnePf3v9wNS4BNfoNa6yu9XMWCfkncXN2SyqDtLA= X-Google-Smtp-Source: ACHHUZ6NOJw/MhH0TmlndrF/1a2r6NVsm6E9IN9CphnodYpQYHwbV1VdeJ/xe0Rd+EKxKAAtaxuP+PUzIUOymlDQsJ0= X-Received: by 2002:a05:6820:1a05:b0:547:50b4:9236 with SMTP id bq5-20020a0568201a0500b0054750b49236mr3691141oob.0.1682791614170; Sat, 29 Apr 2023 11:06:54 -0700 (PDT) MIME-Version: 1.0 From: Marlon Richert Date: Sat, 29 Apr 2023 21:06:18 +0300 Message-ID: Subject: How to resolve a symlink's to its non-existing destination? To: Zsh Users Content-Type: multipart/alternative; boundary="00000000000064cbf805fa7d7458" X-Seq: 29067 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: --00000000000064cbf805fa7d7458 Content-Type: text/plain; charset="UTF-8" When I use :a, :A or :P on a symlink whose destination does not exist, I do not get the output I'm expecting: % touch foo % ln -s foo bar % print bar(:P) /private/var/folders/hk/lcsr76092ygbtc8y1fryg7jh0000gn/T/tmp.ir6Iuz7K/foo % rm foo % print bar(:P) /private/var/folders/hk/lcsr76092ygbtc8y1fryg7jh0000gn/T/tmp.ir6Iuz7K/bar % How can I consistently resolve a symlink's destination, regardless of whether it exists? I know I can use readlink for this, but is there any way to do this with Zsh? --00000000000064cbf805fa7d7458 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
When I use :a, :A or :P on a symlink whose destination=C2=A0= does not exist, I do not get the output I'm expecting:

% touch= foo
% ln -s foo bar
% print bar(:P)
/private/var/folders/hk/lcsr7= 6092ygbtc8y1fryg7jh0000gn/T/tmp.ir6Iuz7K/foo
% rm foo
% print bar(:P)=
/private/var/folders/hk/lcsr76092ygbtc8y1fryg7jh0000gn/T/tmp.ir6Iuz7K/= bar
%=C2=A0

<= font face=3D"arial, sans-serif">How can I consistently resolve a symlink= 9;s destination, regardless of whether it exists?

= I know I can use readlink for this, but is there any way to do this with Zs= h?

--00000000000064cbf805fa7d7458--