diff options
author | Mark Oteiza <mvoteiza@udel.edu> | 2017-02-01 22:07:03 -0500 |
---|---|---|
committer | Mark Oteiza <mvoteiza@udel.edu> | 2017-02-01 22:57:23 -0500 |
commit | 141b085674e2945cc0c42bbe35548c368d1b023e (patch) | |
tree | aa4947d408cf19aac9c9d3bd46cfce2e74148f3c /lisp | |
parent | 70d36dda26465b43c1a63e8e13153e070af86456 (diff) | |
download | emacs-141b085674e2945cc0c42bbe35548c368d1b023e.tar.gz |
Treat list-buffers-directory as a string
Another step in the long history of list-buffers-directory. A thread
branch discussing the meaning/use of the variable starts here
https://lists.gnu.org/archive/html/emacs-devel/2009-09/msg00684.html
Also see (info "(elisp) Buffer File Name").
* lisp/buff-menu.el: Relocate special case code into info.el. Nix
Info-* defvars.
(Buffer-menu--pretty-file-name): Remove special case. Use
bound-and-true-p.
(Buffer-menu-info-node-description): Remove.
* lisp/ibuffer.el (ibuffer-buffer-file-name): Treat
list-buffers-directory as a string.
* lisp/info.el (Info-node-description): New function.
(Info-select-node): Use it.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/buff-menu.el | 19 | ||||
-rw-r--r-- | lisp/ibuffer.el | 15 | ||||
-rw-r--r-- | lisp/info.el | 11 |
3 files changed, 20 insertions, 25 deletions
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el index 77b325ff25d..9f618bcb7de 100644 --- a/lisp/buff-menu.el +++ b/lisp/buff-menu.el @@ -102,9 +102,6 @@ This is set by the prefix argument to `buffer-menu' and related commands.") (make-variable-buffer-local 'Buffer-menu-files-only) -(defvar Info-current-file) ; from info.el -(defvar Info-current-node) ; from info.el - (defvar Buffer-menu-mode-map (let ((map (make-sparse-keymap)) (menu-map (make-sparse-keymap))) @@ -702,21 +699,7 @@ means list those buffers and no others." (defun Buffer-menu--pretty-file-name (file) (cond (file (abbreviate-file-name file)) - ((and (boundp 'list-buffers-directory) - list-buffers-directory) - list-buffers-directory) - ((eq major-mode 'Info-mode) - (Buffer-menu-info-node-description Info-current-file)) + ((bound-and-true-p list-buffers-directory)) (t ""))) -(defun Buffer-menu-info-node-description (file) - (cond - ((equal file "dir") "*Info Directory*") - ((eq file 'apropos) "*Info Apropos*") - ((eq file 'history) "*Info History*") - ((eq file 'toc) "*Info TOC*") - ((not (stringp file)) "") ; Avoid errors - (t - (concat "(" (file-name-nondirectory file) ") " Info-current-node)))) - ;;; buff-menu.el ends here diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el index c6e5e471a36..71bf1d6dcc2 100644 --- a/lisp/ibuffer.el +++ b/lisp/ibuffer.el @@ -1319,13 +1319,14 @@ a new window in the current frame, splitting vertically." (cl-assert (derived-mode-p 'ibuffer-mode))) (defun ibuffer-buffer-file-name () - (or buffer-file-name - (let ((dirname (or (and (boundp 'dired-directory) - (if (stringp dired-directory) - dired-directory - (car dired-directory))) - (bound-and-true-p list-buffers-directory)))) - (and dirname (expand-file-name dirname))))) + (cond + ((buffer-file-name)) + ((bound-and-true-p list-buffers-directory)) + ((let ((dirname (and (boundp 'dired-directory) + (if (stringp dired-directory) + dired-directory + (car dired-directory))))) + (and dirname (expand-file-name dirname)))))) (define-ibuffer-op ibuffer-do-save () "Save marked buffers as with `save-buffer'." diff --git a/lisp/info.el b/lisp/info.el index e32b6b35632..0cfcec32f82 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -1599,6 +1599,16 @@ escaped (\\\",\\\\)." parameter-alist)) parameter-alist)) +(defun Info-node-description (file) + (cond + ((equal file "dir") "*Info Directory*") + ((eq file 'apropos) "*Info Apropos*") + ((eq file 'history) "*Info History*") + ((eq file 'toc) "*Info TOC*") + ((not (stringp file)) "") ; Avoid errors + (t + (concat "(" (file-name-nondirectory file) ") " Info-current-node)))) + (defun Info-display-images-node () "Display images in current node." (save-excursion @@ -1693,6 +1703,7 @@ escaped (\\\",\\\\)." (setq Info-history-forward nil)) (if (not (eq Info-fontify-maximum-menu-size nil)) (Info-fontify-node)) + (setq list-buffers-directory (Info-node-description Info-current-file)) (Info-display-images-node) (Info-hide-cookies-node) (run-hooks 'Info-selection-hook))))) |