home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / languages / elisp / functions / bm-toggle.el < prev    next >
Encoding:
Text File  |  1990-07-22  |  997 b   |  33 lines

  1. ;From: sra@lcs.mit.edu (Rob Austein)
  2. ;Newsgroups: gnu.emacs.bug
  3. ;Subject: Suggested addition: Buffer-menu-toggle-read-only
  4. ;Message-ID: <SRA.89Aug30223544@mintaka.lcs.mit.edu>
  5. ;Date: 31 Aug 89 02:35:46 GMT
  6. ;Distribution: gnu
  7. ;Organization: ITS Preservation Society
  8. ;Lines: 23
  9. ;
  10. ;Here's a function I wanted for a while and finally got to writing.  It
  11. ;defines a command to be used in Buffer Menu mode to toggle the
  12. ;read-only status of the buffer named on the current line.
  13.  
  14. (defun Buffer-menu-toggle-read-only ()
  15.   "Toggle read-only status of buffer on this line."
  16.   (interactive)
  17.   (let (char)
  18.     (save-excursion
  19.       (set-buffer (Buffer-menu-buffer t))
  20.       (toggle-read-only)
  21.       (setq char (if buffer-read-only ?% ? )))
  22.     (save-excursion
  23.       (beginning-of-line)
  24.       (forward-char 2)
  25.       (if (/= (following-char) char)
  26.       (let (buffer-read-only)
  27.         (delete-char 1)
  28.         (insert char))))))
  29.  
  30. (define-key Buffer-menu-mode-map "%" 'Buffer-menu-toggle-read-only)
  31.  
  32. ;--Rob Austein, MIT
  33.