From c20e96d186618e7f644188a7f71d5dcb6fa4eaf1 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Tue, 22 Feb 2022 15:44:14 +0100 Subject: [PATCH] Enable "Revert Buffer" if file has different writability * lisp/menu-bar.el (menu-bar-file-menu): Enable "Revert Buffer" if the file has different writability than the buffer (bug#17148). --- lisp/menu-bar.el | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index e26355293f3..ab64928fe76 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -178,17 +178,23 @@ t)) :help "Recover edits from a crashed session")) (bindings--define-key menu [revert-buffer] - '(menu-item "Revert Buffer" revert-buffer - :enable (or (not (eq revert-buffer-function - 'revert-buffer--default)) - (not (eq - revert-buffer-insert-file-contents-function - 'revert-buffer-insert-file-contents--default-function)) - (and buffer-file-number - (or (buffer-modified-p) - (not (verify-visited-file-modtime - (current-buffer)))))) - :help "Re-read current buffer from its file")) + '(menu-item + "Revert Buffer" revert-buffer + :enable + (or (not (eq revert-buffer-function + 'revert-buffer--default)) + (not (eq + revert-buffer-insert-file-contents-function + 'revert-buffer-insert-file-contents--default-function)) + (and buffer-file-number + (or (buffer-modified-p) + (not (verify-visited-file-modtime + (current-buffer))) + ;; Enable if the buffer has a different + ;; writeability than the file. + (not (eq (not buffer-read-only) + (file-writable-p buffer-file-name)))))) + :help "Re-read current buffer from its file")) (bindings--define-key menu [write-file] '(menu-item "Save As..." write-file :enable (and (menu-bar-menu-frame-live-and-visible-p) -- 2.39.5