From: Maxime Devos <maximedevos@telenet.be>
To: Andrew Tropin <andrew@trop.in>, 54762@debbugs.gnu.org
Subject: [bug#54762] [PATCH] home: symlink-manager: Use no-follow version of file-exists?.
Date: Thu, 07 Apr 2022 14:28:11 +0200 [thread overview]
Message-ID: <67cab598e57ecf7cf930d4b2d0568fd2f2f6f95d.camel@telenet.be> (raw)
In-Reply-To: <87zgkxxnvv.fsf@trop.in>
[-- Attachment #1: Type: text/plain, Size: 894 bytes --]
Andrew Tropin schreef op do 07-04-2022 om 11:22 [+0300]:
> + (define (no-follow-file-exists? file)
> + "Return #t if file exists, even if it's a dangling
> symlink."
> + (or (file-exists? file)
> + (and=> (false-if-exception (lstat file))
> + (lambda (x)
> + (equal? (stat:type x) 'symlink)))))
Can't this be simplified to
(define (no-follow-file-exists? file)
(false-if-exception (lstat file)))
? Also, do you want to ignore _all_ exceptions, or only the ENOENT and
maybe ENOTDIR system-error?
(catch 'system-error
(lambda () (lstat file) #t)
(lambda e
(if its-a-ENOFILE
#f
(apply throw e))))
More concretely, why is ENOMEM, ENAMETOOLONG and EACCESS ignored here?
Greetings,
Maxime.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]
next prev parent reply other threads:[~2022-04-07 12:29 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-07 8:22 [bug#54762] [PATCH] home: symlink-manager: Use no-follow version of file-exists? Andrew Tropin
2022-04-07 12:28 ` Maxime Devos [this message]
2022-04-07 17:01 ` Andrew Tropin
2022-04-07 18:17 ` Maxime Devos
2022-04-07 18:21 ` Maxime Devos
2022-04-08 4:23 ` Andrew Tropin
2022-04-09 21:57 ` bug#54762: " Ludovic Courtès
2022-04-11 5:26 ` [bug#54762] " Andrew Tropin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=67cab598e57ecf7cf930d4b2d0568fd2f2f6f95d.camel@telenet.be \
--to=maximedevos@telenet.be \
--cc=54762@debbugs.gnu.org \
--cc=andrew@trop.in \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.