diff options
author | Eric S. Raymond <esr@snark.thyrsus.com> | 1993-03-27 01:58:22 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@snark.thyrsus.com> | 1993-03-27 01:58:22 +0000 |
commit | a09fa56473a04e7a3d6b833216a30d37f0a19e8c (patch) | |
tree | 5839b1fcfd12af704afd7a6ddb5633a0a48ff5ea /lisp/buff-menu.el | |
parent | 3783b1701b57b1adf35cf2e6e294e79f5d16be02 (diff) | |
download | emacs-a09fa56473a04e7a3d6b833216a30d37f0a19e8c.tar.gz |
(Buffer-menu-toggle-read-only) Added, per Rob Austein's suggestion
in the LCD package bm-toggle.el.
Diffstat (limited to 'lisp/buff-menu.el')
-rw-r--r-- | lisp/buff-menu.el | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el index e722df90953..c70e9a0aba8 100644 --- a/lisp/buff-menu.el +++ b/lisp/buff-menu.el @@ -83,7 +83,9 @@ restore window configuration when only one buffer is selected.") (define-key Buffer-menu-mode-map "?" 'describe-mode) (define-key Buffer-menu-mode-map "u" 'Buffer-menu-unmark) (define-key Buffer-menu-mode-map "m" 'Buffer-menu-mark) - (define-key Buffer-menu-mode-map "t" 'Buffer-menu-visit-tags-table)) + (define-key Buffer-menu-mode-map "t" 'Buffer-menu-visit-tags-table) + (define-key Buffer-menu-mode-map "%" 'Buffer-menu-toggle-read-only) +) ;; Buffer Menu mode is suitable only for specially formatted data. (put 'Buffer-menu-mode 'mode-class 'special) @@ -111,7 +113,8 @@ Letters do not insert themselves; instead, they are commands. \\[Buffer-menu-execute] -- delete or save marked buffers. \\[Buffer-menu-unmark] -- remove all kinds of marks from current line. With prefix argument, also move up one line. -\\[Buffer-menu-backup-unmark] -- back up a line and remove marks." +\\[Buffer-menu-backup-unmark] -- back up a line and remove marks. +\\[Buffer-menu-toggle-read-only] -- toggle read-only status of buffer on this line." (kill-all-local-variables) (use-local-map Buffer-menu-mode-map) (setq truncate-lines t) @@ -355,4 +358,20 @@ The current window remains selected." (pop-to-buffer buff) (bury-buffer menu))) +(defun Buffer-menu-toggle-read-only () + "Toggle read-only status of buffer on this line." + (interactive) + (let (char) + (save-excursion + (set-buffer (Buffer-menu-buffer t)) + (toggle-read-only) + (setq char (if buffer-read-only ?% ? ))) + (save-excursion + (beginning-of-line) + (forward-char 2) + (if (/= (following-char) char) + (let (buffer-read-only) + (delete-char 1) + (insert char)))))) + ;;; buff-menu.el ends here |