mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-04-26 00:01:47 -07:00
* buff-menu.el (list-buffers-noselect): Use `dolist' instead of
`while'; use `with-current-buffer' instead of `save-excursion'. Removed unnecessary kludges now that "*Buffer List*" is excluded.
This commit is contained in:
parent
6bb6cda236
commit
10e1dad961
2 changed files with 82 additions and 88 deletions
|
|
@ -1,3 +1,9 @@
|
|||
2000-08-16 Sam Steingold <sds@gnu.org>
|
||||
|
||||
* buff-menu.el (list-buffers-noselect): Use `dolist' instead of
|
||||
`while'; use `with-current-buffer' instead of `save-excursion'.
|
||||
Removed unnecessary kludges now that "*Buffer List*" is excluded.
|
||||
|
||||
2000-08-16 Kenichi Handa <handa@etl.go.jp>
|
||||
|
||||
* international/ccl.el (declare-ccl-program): Docstring modified.
|
||||
|
|
@ -17,7 +23,7 @@
|
|||
(Buffer-menu-execute): When deleting, test `(and buf (buffer-name
|
||||
buf))', instead of `(Buffer-menu-buffer nil)', to see if buffer
|
||||
wasn't killed.
|
||||
|
||||
|
||||
* buff-menu.el (list-buffers-noselect): Don't display the
|
||||
*Buffer List* buffer.
|
||||
|
||||
|
|
@ -25,7 +31,7 @@
|
|||
`Loading jit-lock' message.
|
||||
|
||||
* emacs-lisp/cust-print.el, emacs-lisp/cl-specs.el
|
||||
* emacs-lisp/edebug.el, progmodes/hideif.el: Change authors'
|
||||
* emacs-lisp/edebug.el, progmodes/hideif.el: Change authors'
|
||||
mail address.
|
||||
|
||||
2000-08-15 Miles Bader <miles@gnu.org>
|
||||
|
|
@ -104,7 +110,7 @@
|
|||
* paren.el (show-paren-priority): New user option.
|
||||
(show-paren-function): Set overlay priorities to
|
||||
show-paren-priority.
|
||||
|
||||
|
||||
2000-08-14 Miles Bader <miles@gnu.org>
|
||||
|
||||
* comint.el (comint-bol): Use `forward-line 0' instead of calling
|
||||
|
|
@ -124,9 +130,9 @@
|
|||
|
||||
* xml.el (xml-parse-tag, xml-parse-attlist): Do not downcase
|
||||
identifiers, since XML is case sensitive
|
||||
|
||||
|
||||
2000-08-12 Miles Bader <miles@gnu.org>
|
||||
|
||||
|
||||
* comint.el (comint-output-filter): Don't bother frobbing
|
||||
window-start, it doesn't seem to be necessary.
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
;; Based on FSF code dating back to 1985.
|
||||
|
||||
;;; Code:
|
||||
|
||||
|
||||
;;;Trying to preserve the old window configuration works well in
|
||||
;;;simple scenarios, when you enter the buffer menu, use it, and exit it.
|
||||
;;;But it does strange things when you switch back to the buffer list buffer
|
||||
|
|
@ -322,7 +322,7 @@ This command deletes and replaces all the previously existing windows
|
|||
in the selected frame."
|
||||
(interactive)
|
||||
(let ((buff (Buffer-menu-buffer t))
|
||||
(menu (current-buffer))
|
||||
(menu (current-buffer))
|
||||
(others ())
|
||||
tem)
|
||||
(goto-char (point-min))
|
||||
|
|
@ -494,87 +494,75 @@ The R column contains a % for buffers that are read-only."
|
|||
")
|
||||
;; Record the column where buffer names start.
|
||||
(setq Buffer-menu-buffer-column 4)
|
||||
(let ((bl (buffer-list)))
|
||||
(while bl
|
||||
(let* ((buffer (car bl))
|
||||
(name (buffer-name buffer))
|
||||
(file (buffer-file-name buffer))
|
||||
this-buffer-line-start
|
||||
this-buffer-read-only
|
||||
this-buffer-size
|
||||
this-buffer-mode-name
|
||||
this-buffer-directory)
|
||||
(save-excursion
|
||||
(set-buffer buffer)
|
||||
(setq this-buffer-read-only buffer-read-only)
|
||||
(setq this-buffer-size (buffer-size))
|
||||
(setq this-buffer-mode-name
|
||||
(if (eq buffer standard-output)
|
||||
"Buffer Menu" mode-name))
|
||||
(or file
|
||||
;; No visited file. Check local value of
|
||||
;; list-buffers-directory.
|
||||
(if (and (boundp 'list-buffers-directory)
|
||||
list-buffers-directory)
|
||||
(setq this-buffer-directory list-buffers-directory))))
|
||||
(cond
|
||||
;; Don't mention internal buffers.
|
||||
((string= (substring name 0 1) " "))
|
||||
;; Maybe don't mention buffers without files.
|
||||
((and files-only (not file)))
|
||||
((string= name "*Buffer List*"))
|
||||
;; Otherwise output info.
|
||||
(t
|
||||
(setq this-buffer-line-start (point))
|
||||
;; Identify current buffer.
|
||||
(if (eq buffer old-buffer)
|
||||
(progn
|
||||
(setq desired-point (point))
|
||||
(princ "."))
|
||||
(princ " "))
|
||||
;; Identify modified buffers.
|
||||
(princ (if (buffer-modified-p buffer) "*" " "))
|
||||
;; Handle readonly status. The output buffer is special
|
||||
;; cased to appear readonly; it is actually made so at a later
|
||||
;; date.
|
||||
(princ (if (or (eq buffer standard-output)
|
||||
this-buffer-read-only)
|
||||
"% "
|
||||
" "))
|
||||
(princ name)
|
||||
;; Put the buffer name into a text property
|
||||
;; so we don't have to extract it from the text.
|
||||
;; This way we avoid problems with unusual buffer names.
|
||||
(setq this-buffer-line-start
|
||||
(+ this-buffer-line-start Buffer-menu-buffer-column))
|
||||
(let ((name-end (point)))
|
||||
(indent-to 17 2)
|
||||
(put-text-property this-buffer-line-start name-end
|
||||
'buffer-name name)
|
||||
(put-text-property this-buffer-line-start (point)
|
||||
'buffer buffer)
|
||||
(put-text-property this-buffer-line-start name-end
|
||||
'mouse-face 'highlight))
|
||||
(let (size
|
||||
mode
|
||||
(excess (- (current-column) 17)))
|
||||
(setq size (format "%8d" this-buffer-size))
|
||||
;; Ack -- if looking at the *Buffer List* buffer,
|
||||
;; always use "Buffer Menu" mode. Otherwise the
|
||||
;; first time the buffer is created, the mode will be wrong.
|
||||
(setq mode this-buffer-mode-name)
|
||||
(while (and (> excess 0) (= (aref size 0) ?\ ))
|
||||
(setq size (substring size 1))
|
||||
(setq excess (1- excess)))
|
||||
(princ size)
|
||||
(indent-to 27 1)
|
||||
(princ mode))
|
||||
(indent-to 40 1)
|
||||
(or file (setq file this-buffer-directory))
|
||||
(if file
|
||||
(princ (abbreviate-file-name file)))
|
||||
(princ "\n"))))
|
||||
(setq bl (cdr bl))))
|
||||
(dolist (buffer (buffer-list))
|
||||
(let ((name (buffer-name buffer))
|
||||
(file (buffer-file-name buffer))
|
||||
this-buffer-line-start
|
||||
this-buffer-read-only
|
||||
(this-buffer-size (buffer-size buffer))
|
||||
this-buffer-mode-name
|
||||
this-buffer-directory)
|
||||
(with-current-buffer buffer
|
||||
(setq this-buffer-read-only buffer-read-only
|
||||
this-buffer-mode-name mode-name)
|
||||
(unless file
|
||||
;; No visited file. Check local value of
|
||||
;; list-buffers-directory.
|
||||
(when (and (boundp 'list-buffers-directory)
|
||||
list-buffers-directory)
|
||||
(setq this-buffer-directory list-buffers-directory))))
|
||||
(cond
|
||||
;; Don't mention internal buffers.
|
||||
((string= (substring name 0 1) " "))
|
||||
;; Maybe don't mention buffers without files.
|
||||
((and files-only (not file)))
|
||||
((string= name "*Buffer List*"))
|
||||
;; Otherwise output info.
|
||||
(t
|
||||
(setq this-buffer-line-start (point))
|
||||
;; Identify current buffer.
|
||||
(if (eq buffer old-buffer)
|
||||
(progn
|
||||
(setq desired-point (point))
|
||||
(princ "."))
|
||||
(princ " "))
|
||||
;; Identify modified buffers.
|
||||
(princ (if (buffer-modified-p buffer) "*" " "))
|
||||
;; Handle readonly status. The output buffer is special
|
||||
;; cased to appear readonly; it is actually made so at a
|
||||
;; later date.
|
||||
(princ (if (or (eq buffer standard-output)
|
||||
this-buffer-read-only)
|
||||
"% "
|
||||
" "))
|
||||
(princ name)
|
||||
;; Put the buffer name into a text property
|
||||
;; so we don't have to extract it from the text.
|
||||
;; This way we avoid problems with unusual buffer names.
|
||||
(setq this-buffer-line-start
|
||||
(+ this-buffer-line-start Buffer-menu-buffer-column))
|
||||
(let ((name-end (point)))
|
||||
(indent-to 17 2)
|
||||
(put-text-property this-buffer-line-start name-end
|
||||
'buffer-name name)
|
||||
(put-text-property this-buffer-line-start (point)
|
||||
'buffer buffer)
|
||||
(put-text-property this-buffer-line-start name-end
|
||||
'mouse-face 'highlight))
|
||||
(let ((size (format "%8d" this-buffer-size))
|
||||
(mode this-buffer-mode-name)
|
||||
(excess (- (current-column) 17)))
|
||||
(while (and (> excess 0) (= (aref size 0) ?\ ))
|
||||
(setq size (substring size 1)
|
||||
excess (1- excess)))
|
||||
(princ size)
|
||||
(indent-to 27 1)
|
||||
(princ mode))
|
||||
(indent-to 40 1)
|
||||
(or file (setq file this-buffer-directory))
|
||||
(when file
|
||||
(princ (abbreviate-file-name file)))
|
||||
(princ "\n")))))
|
||||
(Buffer-menu-mode)
|
||||
;; DESIRED-POINT doesn't have to be set; it is not when the
|
||||
;; current buffer is not displayed for some reason.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue