diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f1f78c20bef..bcaf4a328f5 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2012-08-12 Stefan Monnier + + * ibuffer.el (ibuffer-do-toggle-read-only): + * dired.el (dired-toggle-read-only): + * buff-menu.el (Buffer-menu-toggle-read-only): + * bindings.el (mode-line-toggle-read-only): + * bs.el (bs-toggle-readonly): Call toggle-read-only interactively. + 2012-08-12 Andreas Schwab * descr-text.el (describe-char): Put the overlays over the diff --git a/lisp/bindings.el b/lisp/bindings.el index e0555a17b15..5d8fa261a21 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el @@ -40,8 +40,7 @@ corresponding to the mode line clicked." (interactive "e") (save-selected-window (select-window (posn-window (event-start event))) - (toggle-read-only nil t) - (force-mode-line-update))) + (call-interactively 'toggle-read-only))) (defun mode-line-toggle-modified (event) "Toggle the buffer-modified flag from the mode-line." diff --git a/lisp/bs.el b/lisp/bs.el index 45a7e4d4440..09aefee416e 100644 --- a/lisp/bs.el +++ b/lisp/bs.el @@ -962,7 +962,7 @@ Default is `bs--current-sort-function'." Uses function `toggle-read-only'." (interactive) (with-current-buffer (bs--current-buffer) - (toggle-read-only)) + (call-interactively 'toggle-read-only)) (bs--update-current-line)) (defun bs-clear-modified () diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el index e9288d528ec..490d59a92c0 100644 --- a/lisp/buff-menu.el +++ b/lisp/buff-menu.el @@ -518,10 +518,10 @@ The current window remains selected." "Toggle read-only status of buffer on this line. This behaves like invoking \\[toggle-read-only] in that buffer." (interactive) - (let (read-only) - (with-current-buffer (Buffer-menu-buffer t) - (toggle-read-only) - (setq read-only buffer-read-only)) + (let ((read-only + (with-current-buffer (Buffer-menu-buffer t) + (call-interactively 'toggle-read-only) + buffer-read-only))) (tabulated-list-set-col 1 (if read-only "%" " ") t))) (defun Buffer-menu-bury () diff --git a/lisp/dired.el b/lisp/dired.el index a80f48fa0c2..3aa0088a699 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -1961,9 +1961,9 @@ If the current buffer can be edited with Wdired, (i.e. the major mode is `dired-mode'), call `wdired-change-to-wdired-mode'. Otherwise, call `toggle-read-only'." (interactive) - (if (eq major-mode 'dired-mode) + (if (derived-mode-p 'dired-mode) (wdired-change-to-wdired-mode) - (toggle-read-only nil t))) + (call-interactively 'toggle-read-only))) (defun dired-next-line (arg) "Move down lines then position at filename. diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el index d29653c41ae..648c4c3b0af 100644 --- a/lisp/ibuffer.el +++ b/lisp/ibuffer.el @@ -1279,11 +1279,11 @@ a new window in the current frame, splitting vertically." (define-ibuffer-op ibuffer-do-toggle-read-only (&optional arg) "Toggle read only status in marked buffers. -With optional ARG, make read-only only if ARG is positive." +With optional ARG, make read-only only if ARG is not negative." (:opstring "toggled read only status in" :interactive "P" :modifier-p t) - (toggle-read-only arg t)) + (call-interactively 'toggle-read-only)) (define-ibuffer-op ibuffer-do-delete () "Kill marked buffers as with `kill-this-buffer'."