diff options
Diffstat (limited to 'lisp/files.el')
-rw-r--r-- | lisp/files.el | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lisp/files.el b/lisp/files.el index ce4dd99bd53..5ceaacd744e 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2554,13 +2554,13 @@ unless NOMODES is non-nil." (auto-save-mode 1))) ;; Make people do a little extra work (C-x C-q) ;; before altering a backup file. - (when (backup-file-name-p buffer-file-name) - (setq buffer-read-only t)) ;; When a file is marked read-only, ;; make the buffer read-only even if root is looking at it. - (when (and (file-modes (buffer-file-name)) - (zerop (logand (file-modes (buffer-file-name)) #o222))) - (setq buffer-read-only t)) + (unless buffer-read-only + (when (or (backup-file-name-p buffer-file-name) + (let ((modes (file-modes (buffer-file-name)))) + (and modes (zerop (logand modes #o222))))) + (setq buffer-read-only t))) (unless nomodes (when (and view-read-only view-mode) (view-mode -1)) |