;;; ibuffer.el --- operate on buffers like dired
-;; Copyright (C) 2000-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
;; Author: Colin Walters <walters@verbum.org>
;; Maintainer: John Paul Wallington <jpw@gnu.org>
:type 'hook
:group 'ibuffer)
-(defcustom ibuffer-marked-face 'font-lock-warning-face
+(defcustom ibuffer-marked-face 'warning
"Face used for displaying marked buffers."
:type 'face
:group 'ibuffer)
-(defcustom ibuffer-deletion-face 'font-lock-type-face
+(defcustom ibuffer-deletion-face 'error
"Face used for displaying buffers marked for deletion."
:type 'face
:group 'ibuffer)
'(menu-item "Save current filter groups permanently..."
ibuffer-save-filter-groups
:enable (and (featurep 'ibuf-ext) ibuffer-filter-groups)
- :help "Use a mnemnonic name to store current filter groups"))
+ :help "Use a mnemonic name to store current filter groups"))
(define-key-after groups-map [switch-to-saved-filter-groups]
'(menu-item "Restore permanently saved filters..."
ibuffer-switch-to-saved-filter-groups
(define-key-after map [menu-bar view filter save-filters]
'(menu-item "Save current filters permanently..." ibuffer-save-filters
:enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers)
- :help "Use a mnemnonic name to store current filter stack"))
+ :help "Use a mnemonic name to store current filter stack"))
(define-key-after map [menu-bar view filter switch-to-saved-filters]
'(menu-item "Restore permanently saved filters..."
ibuffer-switch-to-saved-filters
(frame-height)))
(1+ (length marked-bufs)))))
(mapcar (if (eq type 'other-frame)
- #'(lambda (buf)
- (let ((curframe (selected-frame)))
- (select-frame (make-frame))
- (switch-to-buffer buf)
- (select-frame curframe)))
- #'(lambda (buf)
- (split-window nil height (eq type 'horizontally))
- (other-window 1)
- (switch-to-buffer buf)))
+ (lambda (buf)
+ (let ((curframe (selected-frame)))
+ (select-frame (make-frame))
+ (switch-to-buffer buf)
+ (select-frame curframe)))
+ (lambda (buf)
+ (split-window nil height (eq type 'horizontally))
+ (other-window 1)
+ (switch-to-buffer buf)))
marked-bufs)))))
(defun ibuffer-do-view-other-frame ()
(defun ibuffer-buffer-names-with-mark (mark)
(let ((ibuffer-buffer-names-with-mark-result nil))
(ibuffer-map-lines-nomodify
- #'(lambda (buf mk)
- (when (char-equal mark mk)
- (push (buffer-name buf)
- ibuffer-buffer-names-with-mark-result))))
+ (lambda (buf mk)
+ (when (char-equal mark mk)
+ (push (buffer-name buf)
+ ibuffer-buffer-names-with-mark-result))))
ibuffer-buffer-names-with-mark-result))
(defsubst ibuffer-marked-buffer-names ()
(defun ibuffer-count-marked-lines (&optional all)
(if all
(ibuffer-map-lines-nomodify
- #'(lambda (buf mark)
- (not (char-equal mark ?\s))))
+ (lambda (_buf mark)
+ (not (char-equal mark ?\s))))
(ibuffer-map-lines-nomodify
- #'(lambda (buf mark)
- (char-equal mark ibuffer-marked-char)))))
+ (lambda (_buf mark)
+ (char-equal mark ibuffer-marked-char)))))
(defsubst ibuffer-count-deletion-lines ()
(ibuffer-map-lines-nomodify
- #'(lambda (buf mark)
- (char-equal mark ibuffer-deletion-char))))
+ (lambda (_buf mark)
+ (char-equal mark ibuffer-deletion-char))))
(defsubst ibuffer-map-deletion-lines (func)
(ibuffer-map-on-mark ibuffer-deletion-char func))
(cond
((char-equal mark ibuffer-marked-char)
(ibuffer-map-marked-lines
- #'(lambda (buf mark)
- (ibuffer-set-mark-1 ?\s)
- t)))
+ (lambda (_buf _mark)
+ (ibuffer-set-mark-1 ?\s)
+ t)))
((char-equal mark ibuffer-deletion-char)
(ibuffer-map-deletion-lines
- #'(lambda (buf mark)
- (ibuffer-set-mark-1 ?\s)
- t)))
+ (lambda (_buf _mark)
+ (ibuffer-set-mark-1 ?\s)
+ t)))
(t
(ibuffer-map-lines
- #'(lambda (buf mark)
- (when (not (char-equal mark ?\s))
- (ibuffer-set-mark-1 ?\s))
- t)))))
+ (lambda (_buf mark)
+ (when (not (char-equal mark ?\s))
+ (ibuffer-set-mark-1 ?\s))
+ t)))))
(ibuffer-redisplay t))
(defun ibuffer-toggle-marks (&optional group)
(setq group it))
(let ((count
(ibuffer-map-lines
- #'(lambda (buf mark)
- (cond ((eq mark ibuffer-marked-char)
- (ibuffer-set-mark-1 ?\s)
- nil)
- ((eq mark ?\s)
- (ibuffer-set-mark-1 ibuffer-marked-char)
- t)
- (t
- nil)))
+ (lambda (_buf mark)
+ (cond ((eq mark ibuffer-marked-char)
+ (ibuffer-set-mark-1 ?\s)
+ nil)
+ ((eq mark ?\s)
+ (ibuffer-set-mark-1 ibuffer-marked-char)
+ t)
+ (t
+ nil)))
nil group)))
(message "%s buffers marked" count))
(ibuffer-redisplay t))
(mapcar #'ibuffer-compile-format ibuffer-formats))
(when (boundp 'ibuffer-filter-format-alist)
(setq ibuffer-compiled-filter-formats
- (mapcar #'(lambda (entry)
- (cons (car entry)
- (mapcar #'(lambda (formats)
- (mapcar #'ibuffer-compile-format formats))
- (cdr entry))))
+ (mapcar (lambda (entry)
+ (cons (car entry)
+ (mapcar (lambda (formats)
+ (mapcar #'ibuffer-compile-format formats))
+ (cdr entry))))
ibuffer-filter-format-alist))))
(defun ibuffer-clear-summary-columns (format)
(defun ibuffer-map-on-mark (mark func)
(ibuffer-map-lines
- #'(lambda (buf mk)
- (if (char-equal mark mk)
- (funcall func buf mark)
- nil))))
+ (lambda (buf mk)
+ (if (char-equal mark mk)
+ (funcall func buf mark)
+ nil))))
(defun ibuffer-map-lines (function &optional nomodify group)
"Call FUNCTION for each buffer.
(defun ibuffer-get-marked-buffers ()
"Return a list of buffer objects currently marked."
(delq nil
- (mapcar #'(lambda (e)
- (when (eq (cdr e) ibuffer-marked-char)
- (car e)))
+ (mapcar (lambda (e)
+ (when (eq (cdr e) ibuffer-marked-char)
+ (car e)))
(ibuffer-current-state-list))))
(defun ibuffer-current-state-list (&optional pos)
;; break later. Don't blame me.
(if pos
(ibuffer-map-lines-nomodify
- #'(lambda (buf mark)
- (when (buffer-live-p buf)
- (push (list buf mark (point)) ibuffer-current-state-list-tmp))))
- (ibuffer-map-lines-nomodify
- #'(lambda (buf mark)
+ (lambda (buf mark)
(when (buffer-live-p buf)
- (push (cons buf mark) ibuffer-current-state-list-tmp)))))
+ (push (list buf mark (point)) ibuffer-current-state-list-tmp))))
+ (ibuffer-map-lines-nomodify
+ (lambda (buf mark)
+ (when (buffer-live-p buf)
+ (push (cons buf mark) ibuffer-current-state-list-tmp)))))
(nreverse ibuffer-current-state-list-tmp)))
(defun ibuffer-current-buffers-with-marks (curbufs)
"Return a list like (BUF . MARK) of all open buffers."
(let ((bufs (ibuffer-current-state-list)))
- (mapcar #'(lambda (buf) (let ((e (assq buf bufs)))
- (if e
- e
- (cons buf ?\s))))
+ (mapcar (lambda (buf) (let ((e (assq buf bufs)))
+ (if e
+ e
+ (cons buf ?\s))))
curbufs)))
(defun ibuffer-buf-matches-predicates (buf predicates)
(delq nil
(mapcar
;; element should be like (BUFFER . MARK)
- #'(lambda (e)
- (let* ((buf (car e)))
- (when
- ;; This takes precedence over anything else
- (or (and ibuffer-always-show-last-buffer
- (eq last buf))
- (funcall (if ext-loaded
- #'ibuffer-ext-visible-p
- #'ibuffer-visible-p)
- buf all ibuffer-buf))
- e)))
+ (lambda (e)
+ (let* ((buf (car e)))
+ (when
+ ;; This takes precedence over anything else
+ (or (and ibuffer-always-show-last-buffer
+ (eq last buf))
+ (funcall (if ext-loaded
+ #'ibuffer-ext-visible-p
+ #'ibuffer-visible-p)
+ buf all ibuffer-buf))
+ e)))
bmarklist))))
(defun ibuffer-visible-p (buf all &optional ibuffer-buf)
(beginning-of-line)
(buffer-substring (point) (line-end-position)))))
(apply #'insert (mapcar
- #'(lambda (c)
- (if (not (or (char-equal c ?\s)
- (char-equal c ?\n)))
- ?-
- ?\s))
+ (lambda (c)
+ (if (not (or (char-equal c ?\s)
+ (char-equal c ?\n)))
+ ?-
+ ?\s))
str)))
(insert "\n"))
(point))
'ibuffer-filter-group
name)))
-(defun ibuffer-redisplay-engine (bmarklist &optional ignore)
+(defun ibuffer-redisplay-engine (bmarklist &optional _ignore)
(ibuffer-assert-ibuffer-mode)
(let* ((--ibuffer-insert-buffers-and-marks-format
(ibuffer-current-format))
(setq ibuffer-prev-window-config (current-window-configuration))
(let ((buf (get-buffer-create (or name "*Ibuffer*"))))
(if other-window-p
- (funcall (if noselect #'(lambda (buf) (display-buffer buf t)) #'pop-to-buffer) buf)
+ (funcall (if noselect (lambda (buf) (display-buffer buf t)) #'pop-to-buffer) buf)
(funcall (if noselect #'display-buffer #'switch-to-buffer) buf))
(with-current-buffer buf
(save-selected-window
particular subset of them, and sorting by various criteria.
Operations on marked buffers:
-
+\\<ibuffer-mode-map>
'\\[ibuffer-do-save]' - Save the marked buffers
'\\[ibuffer-do-view]' - View the marked buffers in this frame.
'\\[ibuffer-do-view-other-frame]' - View the marked buffers in another frame.
** Information on Filtering:
- You can filter your ibuffer view via different critera. Each Ibuffer
+ You can filter your ibuffer view via different criteria. Each Ibuffer
buffer has its own stack of active filters. For example, suppose you
are working on an Emacs Lisp project. You can create an Ibuffer
buffer displays buffers in just `emacs-lisp' modes via
;;;;;; ibuffer-backward-filter-group ibuffer-forward-filter-group
;;;;;; ibuffer-toggle-filter-group ibuffer-mouse-toggle-filter-group
;;;;;; ibuffer-interactive-filter-by-mode ibuffer-mouse-filter-by-mode
-;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" "eb3de21aef70e4ca75f611f1c3c56aa1")
+;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" "1400db1bc3d4a3010cbc4807a6725072")
;;; Generated autoloads from ibuf-ext.el
(autoload 'ibuffer-auto-mode "ibuf-ext" "\
-Toggle use of Ibuffer's auto-update facility.
-With numeric ARG, enable auto-update if and only if ARG is positive.
+Toggle use of Ibuffer's auto-update facility (Ibuffer Auto mode).
+With a prefix argument ARG, enable Ibuffer Auto mode if ARG is
+positive, and disable it otherwise. If called from Lisp, enable
+the mode if ARG is omitted or nil.
\(fn &optional ARG)" t nil)
(autoload 'ibuffer-do-print "ibuf-ext")
(autoload 'ibuffer-included-in-filters-p "ibuf-ext" "\
-Not documented
+
\(fn BUF FILTERS)" nil nil)
(autoload 'ibuffer-filter-disable "ibuf-ext" "\
Disable all filters currently in effect in this buffer.
+With optional arg DELETE-FILTER-GROUPS non-nil, delete all filter
+group definitions by setting `ibuffer-filter-groups' to nil.
-\(fn)" t nil)
+\(fn &optional DELETE-FILTER-GROUPS)" t nil)
(autoload 'ibuffer-pop-filter "ibuf-ext" "\
Remove the top filter in this buffer.