[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 4467073 2/2: Simplify and speed up after-find-file
From: |
Paul Eggert |
Subject: |
master 4467073 2/2: Simplify and speed up after-find-file |
Date: |
Wed, 10 Feb 2021 13:58:47 -0500 (EST) |
branch: master
commit 4467073c50d2c7fbbb30530d1a0a25f8272ff56f
Author: Paul Eggert <eggert@cs.ucla.edu>
Commit: Paul Eggert <eggert@cs.ucla.edu>
Simplify and speed up after-find-file
Use newer primitives like file-accessible-directory-p to simplify
and speed up longstanding code in after-find-file.
* lisp/files.el (after-find-file):
Prefer file-exists-p + file-symlink-p to file-attributes +
file-symlink-p + file-chase-links + file-exists-p.
Prefer file-accessible-directory-p to directory-file-name +
file-attributes.
Prefer file-directory-p to file-name-directory + file-exists-p.
---
lisp/files.el | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
diff --git a/lisp/files.el b/lisp/files.el
index dada69c..9ff8f31 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -2530,13 +2530,11 @@ unless NOMODES is non-nil."
(msg
(cond
((not warn) nil)
- ((and error (file-attributes buffer-file-name))
+ ((and error (file-exists-p buffer-file-name))
(setq buffer-read-only t)
- (if (and (file-symlink-p buffer-file-name)
- (not (file-exists-p
- (file-chase-links buffer-file-name))))
- "Symbolic link that points to nonexistent file"
- "File exists, but cannot be read"))
+ "File exists, but cannot be read")
+ ((and error (file-symlink-p buffer-file-name))
+ "Symbolic link that points to nonexistent file")
((not buffer-read-only)
(if (and warn
;; No need to warn if buffer is auto-saved
@@ -2553,13 +2551,12 @@ unless NOMODES is non-nil."
((not error)
(setq not-serious t)
"Note: file is write protected")
- ((file-attributes (directory-file-name default-directory))
+ ((file-accessible-directory-p default-directory)
"File not found and directory write-protected")
- ((file-exists-p (file-name-directory buffer-file-name))
- (setq buffer-read-only nil))
(t
(setq buffer-read-only nil)
- "Use M-x make-directory RET RET to create the directory and its
parents"))))
+ (unless (file-directory-p default-directory)
+ "Use M-x make-directory RET RET to create the directory and its
parents")))))
(when msg
(message "%s" msg)
(or not-serious (sit-for 1 t))))