aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric S. Raymond1993-03-27 01:58:22 +0000
committerEric S. Raymond1993-03-27 01:58:22 +0000
commitd91e2b1a2d91d9dd76754d4c639a5671fb0dd8e6 (patch)
tree3822fe95080043278059474ede7fe1604bc4577c
parent43713c76d373d081595f67aad7b693f49e6854b3 (diff)
downloademacs-d91e2b1a2d91d9dd76754d4c639a5671fb0dd8e6.tar.gz
emacs-d91e2b1a2d91d9dd76754d4c639a5671fb0dd8e6.zip
(Buffer-menu-toggle-read-only) Added, per Rob Austein's suggestion
in the LCD package bm-toggle.el.
-rw-r--r--lisp/buff-menu.el23
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.")
83 (define-key Buffer-menu-mode-map "?" 'describe-mode) 83 (define-key Buffer-menu-mode-map "?" 'describe-mode)
84 (define-key Buffer-menu-mode-map "u" 'Buffer-menu-unmark) 84 (define-key Buffer-menu-mode-map "u" 'Buffer-menu-unmark)
85 (define-key Buffer-menu-mode-map "m" 'Buffer-menu-mark) 85 (define-key Buffer-menu-mode-map "m" 'Buffer-menu-mark)
86 (define-key Buffer-menu-mode-map "t" 'Buffer-menu-visit-tags-table)) 86 (define-key Buffer-menu-mode-map "t" 'Buffer-menu-visit-tags-table)
87 (define-key Buffer-menu-mode-map "%" 'Buffer-menu-toggle-read-only)
88)
87 89
88;; Buffer Menu mode is suitable only for specially formatted data. 90;; Buffer Menu mode is suitable only for specially formatted data.
89(put 'Buffer-menu-mode 'mode-class 'special) 91(put 'Buffer-menu-mode 'mode-class 'special)
@@ -111,7 +113,8 @@ Letters do not insert themselves; instead, they are commands.
111\\[Buffer-menu-execute] -- delete or save marked buffers. 113\\[Buffer-menu-execute] -- delete or save marked buffers.
112\\[Buffer-menu-unmark] -- remove all kinds of marks from current line. 114\\[Buffer-menu-unmark] -- remove all kinds of marks from current line.
113 With prefix argument, also move up one line. 115 With prefix argument, also move up one line.
114\\[Buffer-menu-backup-unmark] -- back up a line and remove marks." 116\\[Buffer-menu-backup-unmark] -- back up a line and remove marks.
117\\[Buffer-menu-toggle-read-only] -- toggle read-only status of buffer on this line."
115 (kill-all-local-variables) 118 (kill-all-local-variables)
116 (use-local-map Buffer-menu-mode-map) 119 (use-local-map Buffer-menu-mode-map)
117 (setq truncate-lines t) 120 (setq truncate-lines t)
@@ -355,4 +358,20 @@ The current window remains selected."
355 (pop-to-buffer buff) 358 (pop-to-buffer buff)
356 (bury-buffer menu))) 359 (bury-buffer menu)))
357 360
361(defun Buffer-menu-toggle-read-only ()
362 "Toggle read-only status of buffer on this line."
363 (interactive)
364 (let (char)
365 (save-excursion
366 (set-buffer (Buffer-menu-buffer t))
367 (toggle-read-only)
368 (setq char (if buffer-read-only ?% ? )))
369 (save-excursion
370 (beginning-of-line)
371 (forward-char 2)
372 (if (/= (following-char) char)
373 (let (buffer-read-only)
374 (delete-char 1)
375 (insert char))))))
376
358;;; buff-menu.el ends here 377;;; buff-menu.el ends here