summaryrefslogtreecommitdiff
path: root/lisp/menu-bar.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2022-02-22 15:44:14 +0100
committerLars Ingebrigtsen <larsi@gnus.org>2022-02-22 18:56:09 +0100
commitc20e96d186618e7f644188a7f71d5dcb6fa4eaf1 (patch)
tree1a59106cdc80b37d7e8249891c4c6e1b07368b04 /lisp/menu-bar.el
parent4bd7963e2e244ace94afa59124f2637543d74ba2 (diff)
downloademacs-c20e96d186618e7f644188a7f71d5dcb6fa4eaf1.tar.gz
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).
Diffstat (limited to 'lisp/menu-bar.el')
-rw-r--r--lisp/menu-bar.el28
1 files 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)