diff options
| author | John Paul Wallington | 2008-05-15 01:14:41 +0000 |
|---|---|---|
| committer | John Paul Wallington | 2008-05-15 01:14:41 +0000 |
| commit | 95e8ab353bd622e4190bc2f5463e03106c50ca3a (patch) | |
| tree | d69510e1c3854d5ad0c585cc368c9a01a1fbb45a | |
| parent | 6986e5c9788dc2051301c2ac8cbf62c4a5038a5c (diff) | |
| download | emacs-95e8ab353bd622e4190bc2f5463e03106c50ca3a.tar.gz emacs-95e8ab353bd622e4190bc2f5463e03106c50ca3a.zip | |
(ibuffer-interactive-filter-by-mode)
(ibuffer-set-filter-groups-by-mode, ibuffer-list-buffer-modes)
(define-ibuffer-filter mode, define-ibuffer-filter used-mode)
(define-ibuffer-sorter major-mode, ibuffer-mark-unsaved-buffers)
(ibuffer-mark-read-only-buffers)
(ibuffer-mark-dired-buffers): Use `buffer-local-value'.
| -rw-r--r-- | lisp/ibuf-ext.el | 46 |
1 files changed, 16 insertions, 30 deletions
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index 74850a6dca1..257fe89c03b 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el | |||
| @@ -260,9 +260,7 @@ With numeric ARG, enable auto-update if and only if ARG is positive." | |||
| 260 | (if (assq 'mode ibuffer-filtering-qualifiers) | 260 | (if (assq 'mode ibuffer-filtering-qualifiers) |
| 261 | (setq ibuffer-filtering-qualifiers | 261 | (setq ibuffer-filtering-qualifiers |
| 262 | (ibuffer-delete-alist 'mode ibuffer-filtering-qualifiers)) | 262 | (ibuffer-delete-alist 'mode ibuffer-filtering-qualifiers)) |
| 263 | (ibuffer-push-filter (cons 'mode | 263 | (ibuffer-push-filter (cons 'mode (buffer-local-value 'major-mode buf))))) |
| 264 | (with-current-buffer buf | ||
| 265 | major-mode))))) | ||
| 266 | (ibuffer-update nil t)) | 264 | (ibuffer-update nil t)) |
| 267 | 265 | ||
| 268 | ;;;###autoload | 266 | ;;;###autoload |
| @@ -562,7 +560,7 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'." | |||
| 562 | (let ((modes | 560 | (let ((modes |
| 563 | (ibuffer-remove-duplicates | 561 | (ibuffer-remove-duplicates |
| 564 | (mapcar (lambda (buf) | 562 | (mapcar (lambda (buf) |
| 565 | (with-current-buffer buf major-mode)) | 563 | (buffer-local-value 'major-mode buf)) |
| 566 | (buffer-list))))) | 564 | (buffer-list))))) |
| 567 | (if ibuffer-view-ibuffer | 565 | (if ibuffer-view-ibuffer |
| 568 | modes | 566 | modes |
| @@ -966,10 +964,7 @@ The list returned will be of the form (\"MODE-NAME\" . MODE-SYMBOL)." | |||
| 966 | (modes) | 964 | (modes) |
| 967 | (this-mode)) | 965 | (this-mode)) |
| 968 | (while bufs | 966 | (while bufs |
| 969 | (setq this-mode | 967 | (setq this-mode (buffer-local-value 'major-mode (car bufs)) |
| 970 | (with-current-buffer | ||
| 971 | (car bufs) | ||
| 972 | major-mode) | ||
| 973 | bufs (cdr bufs)) | 968 | bufs (cdr bufs)) |
| 974 | (add-to-list | 969 | (add-to-list |
| 975 | 'modes | 970 | 'modes |
| @@ -993,10 +988,9 @@ The list returned will be of the form (\"MODE-NAME\" . MODE-SYMBOL)." | |||
| 993 | t | 988 | t |
| 994 | (let ((buf (ibuffer-current-buffer))) | 989 | (let ((buf (ibuffer-current-buffer))) |
| 995 | (if (and buf (buffer-live-p buf)) | 990 | (if (and buf (buffer-live-p buf)) |
| 996 | (with-current-buffer buf | 991 | (symbol-name (buffer-local-value 'major-mode buf)) |
| 997 | (symbol-name major-mode)) | ||
| 998 | ""))))) | 992 | ""))))) |
| 999 | (eq qualifier (with-current-buffer buf major-mode))) | 993 | (eq qualifier (buffer-local-value 'major-mode buf))) |
| 1000 | 994 | ||
| 1001 | ;;;###autoload (autoload 'ibuffer-filter-by-used-mode "ibuf-ext") | 995 | ;;;###autoload (autoload 'ibuffer-filter-by-used-mode "ibuf-ext") |
| 1002 | (define-ibuffer-filter used-mode | 996 | (define-ibuffer-filter used-mode |
| @@ -1012,10 +1006,10 @@ currently used by buffers." | |||
| 1012 | t | 1006 | t |
| 1013 | (let ((buf (ibuffer-current-buffer))) | 1007 | (let ((buf (ibuffer-current-buffer))) |
| 1014 | (if (and buf (buffer-live-p buf)) | 1008 | (if (and buf (buffer-live-p buf)) |
| 1015 | (with-current-buffer buf | 1009 | (symbol-name (buffer-local-value |
| 1016 | (symbol-name major-mode)) | 1010 | 'major-mode buf)) |
| 1017 | ""))))) | 1011 | ""))))) |
| 1018 | (eq qualifier (with-current-buffer buf major-mode))) | 1012 | (eq qualifier (buffer-local-value 'major-mode buf))) |
| 1019 | 1013 | ||
| 1020 | ;;;###autoload (autoload 'ibuffer-filter-by-name "ibuf-ext") | 1014 | ;;;###autoload (autoload 'ibuffer-filter-by-name "ibuf-ext") |
| 1021 | (define-ibuffer-filter name | 1015 | (define-ibuffer-filter name |
| @@ -1106,13 +1100,9 @@ Default sorting modes are: | |||
| 1106 | Ordering is lexicographic." | 1100 | Ordering is lexicographic." |
| 1107 | (:description "major mode") | 1101 | (:description "major mode") |
| 1108 | (string-lessp (downcase | 1102 | (string-lessp (downcase |
| 1109 | (symbol-name (with-current-buffer | 1103 | (symbol-name (buffer-local-value 'major-mode (car a)))) |
| 1110 | (car a) | ||
| 1111 | major-mode))) | ||
| 1112 | (downcase | 1104 | (downcase |
| 1113 | (symbol-name (with-current-buffer | 1105 | (symbol-name (buffer-local-value 'major-mode (car b)))))) |
| 1114 | (car b) | ||
| 1115 | major-mode))))) | ||
| 1116 | 1106 | ||
| 1117 | ;;;###autoload (autoload 'ibuffer-do-sort-by-mode-name "ibuf-ext") | 1107 | ;;;###autoload (autoload 'ibuffer-do-sort-by-mode-name "ibuf-ext") |
| 1118 | (define-ibuffer-sorter mode-name | 1108 | (define-ibuffer-sorter mode-name |
| @@ -1120,9 +1110,9 @@ Ordering is lexicographic." | |||
| 1120 | Ordering is lexicographic." | 1110 | Ordering is lexicographic." |
| 1121 | (:description "major mode name") | 1111 | (:description "major mode name") |
| 1122 | (string-lessp (downcase | 1112 | (string-lessp (downcase |
| 1123 | (with-current-buffer | 1113 | (with-current-buffer |
| 1124 | (car a) | 1114 | (car a) |
| 1125 | (format-mode-line mode-name))) | 1115 | (format-mode-line mode-name))) |
| 1126 | (downcase | 1116 | (downcase |
| 1127 | (with-current-buffer | 1117 | (with-current-buffer |
| 1128 | (car b) | 1118 | (car b) |
| @@ -1439,7 +1429,7 @@ You can then feed the file name(s) to other commands with \\[yank]." | |||
| 1439 | "Mark all modified buffers that have an associated file." | 1429 | "Mark all modified buffers that have an associated file." |
| 1440 | (interactive) | 1430 | (interactive) |
| 1441 | (ibuffer-mark-on-buffer | 1431 | (ibuffer-mark-on-buffer |
| 1442 | #'(lambda (buf) (and (with-current-buffer buf buffer-file-name) | 1432 | #'(lambda (buf) (and (buffer-local-value 'buffer-file-name buf) |
| 1443 | (buffer-modified-p buf))))) | 1433 | (buffer-modified-p buf))))) |
| 1444 | 1434 | ||
| 1445 | ;;;###autoload | 1435 | ;;;###autoload |
| @@ -1508,18 +1498,14 @@ You can then feed the file name(s) to other commands with \\[yank]." | |||
| 1508 | "Mark all read-only buffers." | 1498 | "Mark all read-only buffers." |
| 1509 | (interactive) | 1499 | (interactive) |
| 1510 | (ibuffer-mark-on-buffer | 1500 | (ibuffer-mark-on-buffer |
| 1511 | #'(lambda (buf) | 1501 | #'(lambda (buf) (buffer-local-value 'buffer-read-only buf)))) |
| 1512 | (with-current-buffer buf | ||
| 1513 | buffer-read-only)))) | ||
| 1514 | 1502 | ||
| 1515 | ;;;###autoload | 1503 | ;;;###autoload |
| 1516 | (defun ibuffer-mark-dired-buffers () | 1504 | (defun ibuffer-mark-dired-buffers () |
| 1517 | "Mark all `dired' buffers." | 1505 | "Mark all `dired' buffers." |
| 1518 | (interactive) | 1506 | (interactive) |
| 1519 | (ibuffer-mark-on-buffer | 1507 | (ibuffer-mark-on-buffer |
| 1520 | #'(lambda (buf) | 1508 | #'(lambda (buf) (eq (buffer-local-value 'major-mode buf) 'dired-mode)))) |
| 1521 | (with-current-buffer buf | ||
| 1522 | (eq major-mode 'dired-mode))))) | ||
| 1523 | 1509 | ||
| 1524 | ;;;###autoload | 1510 | ;;;###autoload |
| 1525 | (defun ibuffer-do-occur (regexp &optional nlines) | 1511 | (defun ibuffer-do-occur (regexp &optional nlines) |