Mercurial > emacs
annotate lisp/ibuffer.el @ 107777:13c077500eb3
2010-04-04 John Wiegley <jwiegley@gmail.com>
* ido.el (ido-use-virtual-buffers): New variable to indicate
whether "virtual buffer" support is enabled for IDO. Essentially
it works as follows: Say you are visiting a file and the buffer
gets cleaned up by mignight.el. Later, you want to switch to that
buffer, but find it's no longer open. With virtual buffers
enabled, the buffer name stays in the buffer list (using the
ido-virtual face, and always at the end), and if you select it, it
opens the file back up again. This allows you to think less about
whether recently opened files are still open or not. Most of the
time you can quit Emacs, restart, and then switch to a file buffer
that was previously open as if it still were. NOTE: This feature
has been present in iswitchb for several years now, and I'm
porting the same logic to IDO.
(ido-virtual): Face used to indicate virtual buffers in the list.
(ido-buffer-internal): If a buffer is chosen, and no such buffer
exists, but a virtual buffer of that name does (which would be why
it was in the list), recreate the buffer by reopening the file.
(ido-make-buffer-list): If virtual buffers are being used, call
`ido-add-virtual-buffers-to-list' before the make list hook.
(ido-virtual-buffers): New variable which contains a copy of the
current contents of the `recentf-list', albeit pared down for the
sake of speed, and with proper faces applied.
(ido-add-virtual-buffers-to-list): Using the `recentf-list',
create a list of "virtual buffers" to present to the user in
addition to the currently open set. Note that this logic could
get rather slow if that list is too large. With the default
`recentf-max-saved-items' of 200, there is little speed penalty.
author | jwiegley@gmail.com |
---|---|
date | Sun, 04 Apr 2010 02:55:19 -0400 |
parents | 13cc2986cf43 |
children | 08020ac785a7 376148b31b5e |
rev | line source |
---|---|
42702 | 1 ;;; ibuffer.el --- operate on buffers like dired |
2 | |
104543
da8b3e61b182
Use forward-line rather than goto-line.
Glenn Morris <rgm@gnu.org>
parents:
102270
diff
changeset
|
3 ;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, |
106815 | 4 ;; 2009, 2010 Free Software Foundation, Inc. |
42702 | 5 |
6 ;; Author: Colin Walters <walters@verbum.org> | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
7 ;; Maintainer: John Paul Wallington <jpw@gnu.org> |
42702 | 8 ;; Created: 8 Sep 2000 |
9 ;; Keywords: buffer, convenience | |
10 | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
11 ;; This file is part of GNU Emacs. |
42702 | 12 |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94507
diff
changeset
|
13 ;; GNU Emacs is free software: you can redistribute it and/or modify |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94507
diff
changeset
|
14 ;; it under the terms of the GNU General Public License as published by |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94507
diff
changeset
|
15 ;; the Free Software Foundation, either version 3 of the License, or |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94507
diff
changeset
|
16 ;; (at your option) any later version. |
42702 | 17 |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94507
diff
changeset
|
18 ;; GNU Emacs is distributed in the hope that it will be useful, |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94507
diff
changeset
|
19 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94507
diff
changeset
|
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94507
diff
changeset
|
21 ;; GNU General Public License for more details. |
42702 | 22 |
23 ;; You should have received a copy of the GNU General Public License | |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94507
diff
changeset
|
24 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
42702 | 25 |
26 ;;; Commentary: | |
27 | |
28 ;; ibuffer.el is an advanced replacement for the `buffer-menu' which | |
29 ;; is normally distributed with Emacs. Its interface is intended to | |
30 ;; be analogous to that of Dired. | |
31 | |
32 ;;; Code: | |
33 | |
34 (eval-when-compile | |
35 (require 'cl) | |
36 (require 'ibuf-macs) | |
37 (require 'dired)) | |
38 | |
49723
8e685f71f253
(toplevel): Don't require `font-lock';
John Paul Wallington <jpw@pobox.com>
parents:
49588
diff
changeset
|
39 (require 'font-core) |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
40 |
65136
d66de68f18cb
ibuffer.el: Move the `defvar's to the top level.
Juanma Barranquero <lekktu@gmail.com>
parents:
65089
diff
changeset
|
41 ;; These come from ibuf-ext.el, which can not be require'd at compile time |
d66de68f18cb
ibuffer.el: Move the `defvar's to the top level.
Juanma Barranquero <lekktu@gmail.com>
parents:
65089
diff
changeset
|
42 ;; because it has a recursive dependency on ibuffer.el |
d66de68f18cb
ibuffer.el: Move the `defvar's to the top level.
Juanma Barranquero <lekktu@gmail.com>
parents:
65089
diff
changeset
|
43 (defvar ibuffer-auto-mode) |
d66de68f18cb
ibuffer.el: Move the `defvar's to the top level.
Juanma Barranquero <lekktu@gmail.com>
parents:
65089
diff
changeset
|
44 (defvar ibuffer-cached-filter-formats) |
d66de68f18cb
ibuffer.el: Move the `defvar's to the top level.
Juanma Barranquero <lekktu@gmail.com>
parents:
65089
diff
changeset
|
45 (defvar ibuffer-compiled-filter-formats) |
d66de68f18cb
ibuffer.el: Move the `defvar's to the top level.
Juanma Barranquero <lekktu@gmail.com>
parents:
65089
diff
changeset
|
46 (defvar ibuffer-filter-format-alist) |
d66de68f18cb
ibuffer.el: Move the `defvar's to the top level.
Juanma Barranquero <lekktu@gmail.com>
parents:
65089
diff
changeset
|
47 (defvar ibuffer-filter-group-kill-ring) |
d66de68f18cb
ibuffer.el: Move the `defvar's to the top level.
Juanma Barranquero <lekktu@gmail.com>
parents:
65089
diff
changeset
|
48 (defvar ibuffer-filter-groups) |
d66de68f18cb
ibuffer.el: Move the `defvar's to the top level.
Juanma Barranquero <lekktu@gmail.com>
parents:
65089
diff
changeset
|
49 (defvar ibuffer-filtering-qualifiers) |
91782
c9c3987bcc44
(ibuffer-header-line-format): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87960
diff
changeset
|
50 (defvar ibuffer-header-line-format) |
65136
d66de68f18cb
ibuffer.el: Move the `defvar's to the top level.
Juanma Barranquero <lekktu@gmail.com>
parents:
65089
diff
changeset
|
51 (defvar ibuffer-hidden-filter-groups) |
d66de68f18cb
ibuffer.el: Move the `defvar's to the top level.
Juanma Barranquero <lekktu@gmail.com>
parents:
65089
diff
changeset
|
52 (defvar ibuffer-inline-columns) |
d66de68f18cb
ibuffer.el: Move the `defvar's to the top level.
Juanma Barranquero <lekktu@gmail.com>
parents:
65089
diff
changeset
|
53 (defvar ibuffer-show-empty-filter-groups) |
d66de68f18cb
ibuffer.el: Move the `defvar's to the top level.
Juanma Barranquero <lekktu@gmail.com>
parents:
65089
diff
changeset
|
54 (defvar ibuffer-tmp-hide-regexps) |
d66de68f18cb
ibuffer.el: Move the `defvar's to the top level.
Juanma Barranquero <lekktu@gmail.com>
parents:
65089
diff
changeset
|
55 (defvar ibuffer-tmp-show-regexps) |
65089
b4238c551ea7
(ibuffer-compile-make-eliding-form, ibuffer-check-formats): Use
Juanma Barranquero <lekktu@gmail.com>
parents:
64762
diff
changeset
|
56 |
102210
d7624c39682b
* ibuffer.el (ibuffer-redisplay-engine): Avoid "Mark set" message clobbering
Juanma Barranquero <lekktu@gmail.com>
parents:
100908
diff
changeset
|
57 (declare-function ibuffer-mark-on-buffer "ibuf-ext" |
86234
860a7a8e779e
* progmodes/octave-mod.el (inferior-octave-send-list-and-digest):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
78492
diff
changeset
|
58 (func &optional ibuffer-mark-on-buffer-mark group)) |
102210
d7624c39682b
* ibuffer.el (ibuffer-redisplay-engine): Avoid "Mark set" message clobbering
Juanma Barranquero <lekktu@gmail.com>
parents:
100908
diff
changeset
|
59 (declare-function ibuffer-generate-filter-groups "ibuf-ext" |
86234
860a7a8e779e
* progmodes/octave-mod.el (inferior-octave-send-list-and-digest):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
78492
diff
changeset
|
60 (bmarklist &optional noempty nodefault)) |
860a7a8e779e
* progmodes/octave-mod.el (inferior-octave-send-list-and-digest):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
78492
diff
changeset
|
61 (declare-function ibuffer-format-filter-group-data "ibuf-ext" (filter)) |
860a7a8e779e
* progmodes/octave-mod.el (inferior-octave-send-list-and-digest):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
78492
diff
changeset
|
62 |
42702 | 63 (defgroup ibuffer nil |
64 "An advanced replacement for `buffer-menu'. | |
65 | |
66 Ibuffer allows you to operate on buffers in a manner much like Dired. | |
67 Operations include sorting, marking by regular expression, and | |
68 the ability to filter the displayed buffers by various criteria." | |
59996
aac0a33f5772
Change release version from 21.4 to 22.1 throughout.
Kim F. Storm <storm@cua.dk>
parents:
57809
diff
changeset
|
69 :version "22.1" |
42702 | 70 :group 'convenience) |
71 | |
52325
5206a4b09125
(ibuffer-formats): Make name and size columns wider.
John Paul Wallington <jpw@pobox.com>
parents:
51741
diff
changeset
|
72 (defcustom ibuffer-formats '((mark modified read-only " " (name 18 18 :left :elide) |
5206a4b09125
(ibuffer-formats): Make name and size columns wider.
John Paul Wallington <jpw@pobox.com>
parents:
51741
diff
changeset
|
73 " " (size 9 -1 :right) |
72073
88cafd01cf48
(ibuffer-formats): Use left alignment for the mode
Dan Nicolaescu <dann@ics.uci.edu>
parents:
71510
diff
changeset
|
74 " " (mode 16 16 :left :elide) " " filename-and-process) |
42702 | 75 (mark " " (name 16 -1) " " filename)) |
76 "A list of ways to display buffer lines. | |
77 | |
78 With Ibuffer, you are not limited to displaying just certain | |
79 attributes of a buffer such as size, name, and mode in a particular | |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
80 order. Through this variable, you can completely customize and |
42702 | 81 control the appearance of an Ibuffer buffer. See also |
82 `define-ibuffer-column', which allows you to define your own columns | |
83 for display. | |
84 | |
85 This variable has the form | |
42873
e4be1ae52e5c
(toplevel, ibuffer-default-directory): Doc fixes.
Colin Walters <walters@gnu.org>
parents:
42871
diff
changeset
|
86 ((COLUMN COLUMN ...) (COLUMN COLUMN ...) ...) |
42702 | 87 Each element in `ibuffer-formats' should be a list containing COLUMN |
88 specifiers. A COLUMN can be any of the following: | |
89 | |
90 SYMBOL - A symbol naming the column. Predefined columns are: | |
91 mark modified read-only name size mode process filename | |
92 When you define your own columns using `define-ibuffer-column', just | |
93 use their name like the predefined columns here. This entry can | |
94 also be a function of two arguments, which should return a string. | |
95 The first argument is the buffer object, and the second is the mark | |
96 on that buffer. | |
97 or | |
98 \"STRING\" - A literal string to display. | |
99 or | |
100 (SYMBOL MIN-SIZE MAX-SIZE &optional ALIGN ELIDE) - SYMBOL is a | |
101 symbol naming the column, and MIN-SIZE and MAX-SIZE are integers (or | |
102 functions of no arguments returning an integer) which constrict the | |
103 size of a column. If MAX-SIZE is -1, there is no upper bound. The | |
104 default values are 0 and -1, respectively. If MIN-SIZE is negative, | |
105 use the end of the string. The optional element ALIGN describes the | |
106 alignment of the column; it can be :left, :center or :right. The | |
107 optional element ELIDE describes whether or not to elide the column | |
108 if it is too long; valid values are :elide and nil. The default is | |
109 nil (don't elide). | |
110 | |
111 Some example of valid entries in `ibuffer-formats', with | |
112 description (also, feel free to try them out, and experiment with your | |
113 own!): | |
114 | |
115 (mark \" \" name) | |
116 This format just displays the current mark (if any) and the name of | |
117 the buffer, separated by a space. | |
118 (mark modified read-only \" \" (name 16 16 :left) \" \" (size 6 -1 :right)) | |
119 This format displays the current mark (if any), its modification and | |
120 read-only status, as well as the name of the buffer and its size. In | |
121 this format, the name is restricted to 16 characters (longer names | |
43104
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
122 will be truncated, and shorter names will be padded with spaces), and |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
123 the name is also aligned to the left. The size of the buffer will |
42702 | 124 be padded with spaces up to a minimum of six characters, but there is |
125 no upper limit on its size. The size will also be aligned to the | |
126 right. | |
127 | |
128 Thus, if you wanted to use these two formats, add | |
129 | |
130 (setq ibuffer-formats '((mark \" \" name) | |
131 (mark modified read-only | |
132 (name 16 16 :left) (size 6 -1 :right)))) | |
133 | |
134 to your ~/.emacs file. | |
135 | |
136 Using \\[ibuffer-switch-format], you can rotate the display between | |
137 the specified formats in the list." | |
138 :type '(repeat sexp) | |
139 :group 'ibuffer) | |
140 | |
141 (defcustom ibuffer-always-compile-formats (featurep 'bytecomp) | |
142 "If non-nil, then use the byte-compiler to optimize `ibuffer-formats'. | |
143 This will increase the redisplay speed, at the cost of loading the | |
144 elisp byte-compiler." | |
145 :type 'boolean | |
146 :group 'ibuffer) | |
147 | |
148 (defcustom ibuffer-fontification-alist | |
46770
06873cff56e8
(ibuffer-fontification-alist): Use `font-lock-constant-face' instead
Colin Walters <walters@gnu.org>
parents:
46682
diff
changeset
|
149 `((10 buffer-read-only font-lock-constant-face) |
68580
43619387ab52
(ibuffer-compressed-file-name-regexp): New defcustom.
John Paul Wallington <jpw@pobox.com>
parents:
66739
diff
changeset
|
150 (15 (and buffer-file-name |
43619387ab52
(ibuffer-compressed-file-name-regexp): New defcustom.
John Paul Wallington <jpw@pobox.com>
parents:
66739
diff
changeset
|
151 (string-match ibuffer-compressed-file-name-regexp |
43619387ab52
(ibuffer-compressed-file-name-regexp): New defcustom.
John Paul Wallington <jpw@pobox.com>
parents:
66739
diff
changeset
|
152 buffer-file-name)) |
43619387ab52
(ibuffer-compressed-file-name-regexp): New defcustom.
John Paul Wallington <jpw@pobox.com>
parents:
66739
diff
changeset
|
153 font-lock-doc-face) |
43619387ab52
(ibuffer-compressed-file-name-regexp): New defcustom.
John Paul Wallington <jpw@pobox.com>
parents:
66739
diff
changeset
|
154 (20 (string-match "^*" (buffer-name)) font-lock-keyword-face) |
43619387ab52
(ibuffer-compressed-file-name-regexp): New defcustom.
John Paul Wallington <jpw@pobox.com>
parents:
66739
diff
changeset
|
155 (25 (and (string-match "^ " (buffer-name)) |
47147
bee830f164b7
(ibuffer-update): Revert expansion of `caddr'.
John Paul Wallington <jpw@pobox.com>
parents:
47114
diff
changeset
|
156 (null buffer-file-name)) |
bee830f164b7
(ibuffer-update): Revert expansion of `caddr'.
John Paul Wallington <jpw@pobox.com>
parents:
47114
diff
changeset
|
157 italic) |
68580
43619387ab52
(ibuffer-compressed-file-name-regexp): New defcustom.
John Paul Wallington <jpw@pobox.com>
parents:
66739
diff
changeset
|
158 (30 (memq major-mode ibuffer-help-buffer-modes) font-lock-comment-face) |
43619387ab52
(ibuffer-compressed-file-name-regexp): New defcustom.
John Paul Wallington <jpw@pobox.com>
parents:
66739
diff
changeset
|
159 (35 (eq major-mode 'dired-mode) font-lock-function-name-face)) |
42702 | 160 "An alist describing how to fontify buffers. |
161 Each element should be of the form (PRIORITY FORM FACE), where | |
162 PRIORITY is an integer, FORM is an arbitrary form to evaluate in the | |
163 buffer, and FACE is the face to use for fontification. If the FORM | |
164 evaluates to non-nil, then FACE will be put on the buffer name. The | |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
165 element with the highest PRIORITY takes precedence. |
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
166 |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
167 If you change this variable, you must kill the Ibuffer buffer and |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
168 recreate it for the change to take effect." |
42702 | 169 :type '(repeat |
170 (list (integer :tag "Priority") | |
171 (sexp :tag "Test Form") | |
172 face)) | |
173 :group 'ibuffer) | |
174 | |
175 (defcustom ibuffer-use-other-window nil | |
48343
35889dbb9b84
(ibuffer-use-other-window, ibuffer-use-header-line)
John Paul Wallington <jpw@pobox.com>
parents:
48058
diff
changeset
|
176 "If non-nil, display Ibuffer in another window by default." |
42702 | 177 :type 'boolean |
178 :group 'ibuffer) | |
179 | |
180 (defcustom ibuffer-default-shrink-to-minimum-size nil | |
181 "If non-nil, minimize the size of the Ibuffer window by default." | |
182 :type 'boolean | |
183 :group 'ibuffer) | |
184 (defvar ibuffer-shrink-to-minimum-size nil) | |
185 | |
51074
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
186 (defcustom ibuffer-display-summary t |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
187 "If non-nil, summarize Ibuffer columns." |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
188 :type 'boolean |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
189 :group 'ibuffer) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
190 |
43382
6d5695dd7639
(ibuffer-truncate-lines): New option.
Colin Walters <walters@gnu.org>
parents:
43249
diff
changeset
|
191 (defcustom ibuffer-truncate-lines t |
6d5695dd7639
(ibuffer-truncate-lines): New option.
Colin Walters <walters@gnu.org>
parents:
43249
diff
changeset
|
192 "If non-nil, do not display continuation lines." |
6d5695dd7639
(ibuffer-truncate-lines): New option.
Colin Walters <walters@gnu.org>
parents:
43249
diff
changeset
|
193 :type 'boolean |
6d5695dd7639
(ibuffer-truncate-lines): New option.
Colin Walters <walters@gnu.org>
parents:
43249
diff
changeset
|
194 :group 'ibuffer) |
6d5695dd7639
(ibuffer-truncate-lines): New option.
Colin Walters <walters@gnu.org>
parents:
43249
diff
changeset
|
195 |
42702 | 196 (defcustom ibuffer-case-fold-search case-fold-search |
197 "If non-nil, ignore case when searching." | |
198 :type 'boolean | |
199 :group 'ibuffer) | |
200 | |
201 (defcustom ibuffer-default-sorting-mode 'recency | |
202 "The criteria by which to sort the buffers. | |
203 | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
204 Note that this variable is local to each Ibuffer buffer. Thus, you |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
205 can have multiple Ibuffer buffers open, each with a different sorted |
42702 | 206 view of the buffers." |
207 :type '(choice (const :tag "Last view time" :value recency) | |
208 (const :tag "Lexicographic" :value alphabetic) | |
209 (const :tag "Buffer size" :value size) | |
87960
4693d30bd9c1
* ibuffer.el (ibuffer-default-sorting-mode): Add option to sort by
Dan Nicolaescu <dann@ics.uci.edu>
parents:
87869
diff
changeset
|
210 (const :tag "File name" :value filename/process) |
42702 | 211 (const :tag "Major mode" :value major-mode)) |
212 :group 'ibuffer) | |
213 (defvar ibuffer-sorting-mode nil) | |
94507
f72e4491c400
(ibuffer-last-sorting-mode): New variable.
John Paul Wallington <jpw@pobox.com>
parents:
94501
diff
changeset
|
214 (defvar ibuffer-last-sorting-mode nil) |
42702 | 215 |
216 (defcustom ibuffer-default-sorting-reversep nil | |
217 "If non-nil, reverse the default sorting order." | |
218 :type 'boolean | |
219 :group 'ibuffer) | |
220 (defvar ibuffer-sorting-reversep nil) | |
221 | |
222 (defcustom ibuffer-elide-long-columns nil | |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
223 "If non-nil, then elide column entries which exceed their max length." |
42702 | 224 :type 'boolean |
225 :group 'ibuffer) | |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
226 (make-obsolete-variable 'ibuffer-elide-long-columns |
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
227 "use the :elide argument of `ibuffer-formats'." |
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
228 "22.1") |
42702 | 229 |
230 (defcustom ibuffer-eliding-string "..." | |
231 "The string to use for eliding long columns." | |
232 :type 'string | |
233 :group 'ibuffer) | |
234 | |
235 (defcustom ibuffer-maybe-show-predicates `(,(lambda (buf) | |
236 (and (string-match "^ " (buffer-name buf)) | |
237 (null buffer-file-name)))) | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
238 "A list of predicates for buffers to display conditionally. |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
239 |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
240 A predicate can be a regexp or a function. |
42702 | 241 If a regexp, then it will be matched against the buffer's name. |
242 If a function, it will be called with the buffer as an argument, and | |
243 should return non-nil if this buffer should be shown. | |
244 | |
57563
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
245 Viewing of buffers hidden because of these predicates may be customized |
59996
aac0a33f5772
Change release version from 21.4 to 22.1 throughout.
Kim F. Storm <storm@cua.dk>
parents:
57809
diff
changeset
|
246 via `ibuffer-default-display-maybe-show-predicates' and is toggled by |
57563
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
247 giving a non-nil prefix argument to `ibuffer-update'. |
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
248 Note that this specialized filtering occurs before real filtering." |
42702 | 249 :type '(repeat (choice regexp function)) |
250 :group 'ibuffer) | |
251 | |
57563
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
252 (defcustom ibuffer-default-display-maybe-show-predicates nil |
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
253 "Non-nil means show buffers that match `ibuffer-maybe-show-predicates'." |
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
254 :type 'boolean |
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
255 :group 'ibuffer) |
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
256 |
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
257 (defvar ibuffer-display-maybe-show-predicates nil) |
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
258 |
42702 | 259 (defvar ibuffer-current-format nil) |
260 | |
45839
a3da6ddded28
(ibuffer-movement-cycle): New variable.
Colin Walters <walters@gnu.org>
parents:
45764
diff
changeset
|
261 (defcustom ibuffer-movement-cycle t |
a3da6ddded28
(ibuffer-movement-cycle): New variable.
Colin Walters <walters@gnu.org>
parents:
45764
diff
changeset
|
262 "If non-nil, then forward and backwards movement commands cycle." |
a3da6ddded28
(ibuffer-movement-cycle): New variable.
Colin Walters <walters@gnu.org>
parents:
45764
diff
changeset
|
263 :type 'boolean |
a3da6ddded28
(ibuffer-movement-cycle): New variable.
Colin Walters <walters@gnu.org>
parents:
45764
diff
changeset
|
264 :group 'ibuffer) |
a3da6ddded28
(ibuffer-movement-cycle): New variable.
Colin Walters <walters@gnu.org>
parents:
45764
diff
changeset
|
265 |
42702 | 266 (defcustom ibuffer-modified-char ?* |
267 "The character to display for modified buffers." | |
268 :type 'character | |
269 :group 'ibuffer) | |
270 | |
271 (defcustom ibuffer-read-only-char ?% | |
272 "The character to display for read-only buffers." | |
273 :type 'character | |
274 :group 'ibuffer) | |
275 | |
276 (defcustom ibuffer-marked-char ?> | |
277 "The character to display for marked buffers." | |
278 :type 'character | |
279 :group 'ibuffer) | |
280 | |
281 (defcustom ibuffer-deletion-char ?D | |
282 "The character to display for buffers marked for deletion." | |
283 :type 'character | |
284 :group 'ibuffer) | |
285 | |
286 (defcustom ibuffer-expert nil | |
287 "If non-nil, don't ask for confirmation of \"dangerous\" operations." | |
288 :type 'boolean | |
289 :group 'ibuffer) | |
290 | |
291 (defcustom ibuffer-view-ibuffer nil | |
292 "If non-nil, display the current Ibuffer buffer itself. | |
293 Note that this has a drawback - the data about the current Ibuffer | |
294 buffer will most likely be inaccurate. This includes modification | |
295 state, size, etc." | |
296 :type 'boolean | |
297 :group 'ibuffer) | |
298 | |
299 (defcustom ibuffer-always-show-last-buffer nil | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
300 "If non-nil, always display the previous buffer. |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
301 This variable takes precedence over filtering, and even |
42702 | 302 `ibuffer-never-show-predicates'." |
303 :type '(choice (const :tag "Always" :value t) | |
304 (const :tag "Never" :value nil) | |
305 (const :tag "Always except minibuffer" :value :nomini)) | |
306 :group 'ibuffer) | |
307 | |
55888
3d233a8d8d1f
2004-06-02 Romain Francoise <romain@orebokech.com>
John Paul Wallington <jpw@pobox.com>
parents:
55388
diff
changeset
|
308 (defcustom ibuffer-jump-offer-only-visible-buffers nil |
3d233a8d8d1f
2004-06-02 Romain Francoise <romain@orebokech.com>
John Paul Wallington <jpw@pobox.com>
parents:
55388
diff
changeset
|
309 "If non-nil, only offer buffers visible in the Ibuffer buffer |
3d233a8d8d1f
2004-06-02 Romain Francoise <romain@orebokech.com>
John Paul Wallington <jpw@pobox.com>
parents:
55388
diff
changeset
|
310 in completion lists of the `ibuffer-jump-to-buffer' command." |
3d233a8d8d1f
2004-06-02 Romain Francoise <romain@orebokech.com>
John Paul Wallington <jpw@pobox.com>
parents:
55388
diff
changeset
|
311 :type 'boolean |
3d233a8d8d1f
2004-06-02 Romain Francoise <romain@orebokech.com>
John Paul Wallington <jpw@pobox.com>
parents:
55388
diff
changeset
|
312 :group 'ibuffer) |
3d233a8d8d1f
2004-06-02 Romain Francoise <romain@orebokech.com>
John Paul Wallington <jpw@pobox.com>
parents:
55388
diff
changeset
|
313 |
42702 | 314 (defcustom ibuffer-use-header-line (boundp 'header-line-format) |
48343
35889dbb9b84
(ibuffer-use-other-window, ibuffer-use-header-line)
John Paul Wallington <jpw@pobox.com>
parents:
48058
diff
changeset
|
315 "If non-nil, display a header line containing current filters." |
42702 | 316 :type 'boolean |
317 :group 'ibuffer) | |
318 | |
319 (defcustom ibuffer-default-directory nil | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
320 "The default directory to use for a new Ibuffer buffer. |
42873
e4be1ae52e5c
(toplevel, ibuffer-default-directory): Doc fixes.
Colin Walters <walters@gnu.org>
parents:
42871
diff
changeset
|
321 If nil, inherit the directory of the buffer in which `ibuffer' was |
42702 | 322 called. Otherwise, this variable should be a string naming a |
323 directory, like `default-directory'." | |
324 :type '(choice (const :tag "Inherit" :value nil) | |
325 string) | |
326 :group 'ibuffer) | |
327 | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
328 (defcustom ibuffer-help-buffer-modes |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
329 '(help-mode apropos-mode Info-mode Info-edit-mode) |
44185
c4de5a5d6ecb
(ibuffer-help-buffer-modes): New variable.
Colin Walters <walters@gnu.org>
parents:
44137
diff
changeset
|
330 "List of \"Help\" major modes." |
c4de5a5d6ecb
(ibuffer-help-buffer-modes): New variable.
Colin Walters <walters@gnu.org>
parents:
44137
diff
changeset
|
331 :type '(repeat function) |
c4de5a5d6ecb
(ibuffer-help-buffer-modes): New variable.
Colin Walters <walters@gnu.org>
parents:
44137
diff
changeset
|
332 :group 'ibuffer) |
c4de5a5d6ecb
(ibuffer-help-buffer-modes): New variable.
Colin Walters <walters@gnu.org>
parents:
44137
diff
changeset
|
333 |
68580
43619387ab52
(ibuffer-compressed-file-name-regexp): New defcustom.
John Paul Wallington <jpw@pobox.com>
parents:
66739
diff
changeset
|
334 (defcustom ibuffer-compressed-file-name-regexp |
70489
1fa9bcad4532
(ibuffer-compressed-file-name-regexp): Avoid `regexp-opt' and simplify
John Paul Wallington <jpw@pobox.com>
parents:
70408
diff
changeset
|
335 "\\.\\(arj\\|bgz\\|bz2\\|gz\\|lzh\\|taz\\|tgz\\|zip\\|z\\)$" |
68580
43619387ab52
(ibuffer-compressed-file-name-regexp): New defcustom.
John Paul Wallington <jpw@pobox.com>
parents:
66739
diff
changeset
|
336 "Regexp to match compressed file names." |
43619387ab52
(ibuffer-compressed-file-name-regexp): New defcustom.
John Paul Wallington <jpw@pobox.com>
parents:
66739
diff
changeset
|
337 :type 'regexp |
70408
cd97ab744c2d
(ibuffer-compressed-file-name-regexp): Undo previous
Dan Nicolaescu <dann@ics.uci.edu>
parents:
70375
diff
changeset
|
338 :group 'ibuffer) |
68580
43619387ab52
(ibuffer-compressed-file-name-regexp): New defcustom.
John Paul Wallington <jpw@pobox.com>
parents:
66739
diff
changeset
|
339 |
94029
97873d4b0d7a
Move non-autoloaded define-obsolete-variable-alias calls for
Glenn Morris <rgm@gnu.org>
parents:
92226
diff
changeset
|
340 (define-obsolete-variable-alias 'ibuffer-hooks 'ibuffer-hook "22.1") |
97873d4b0d7a
Move non-autoloaded define-obsolete-variable-alias calls for
Glenn Morris <rgm@gnu.org>
parents:
92226
diff
changeset
|
341 |
46772
9bc85060942d
(ibuffer-hooks): Rename to `ibuffer-hook'; Add defvaralias for
Colin Walters <walters@gnu.org>
parents:
46770
diff
changeset
|
342 (defcustom ibuffer-hook nil |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
343 "Hook run when `ibuffer' is called." |
42702 | 344 :type 'hook |
345 :group 'ibuffer) | |
94029
97873d4b0d7a
Move non-autoloaded define-obsolete-variable-alias calls for
Glenn Morris <rgm@gnu.org>
parents:
92226
diff
changeset
|
346 |
97873d4b0d7a
Move non-autoloaded define-obsolete-variable-alias calls for
Glenn Morris <rgm@gnu.org>
parents:
92226
diff
changeset
|
347 (define-obsolete-variable-alias 'ibuffer-mode-hooks 'ibuffer-mode-hook "22.1") |
42702 | 348 |
46772
9bc85060942d
(ibuffer-hooks): Rename to `ibuffer-hook'; Add defvaralias for
Colin Walters <walters@gnu.org>
parents:
46770
diff
changeset
|
349 (defcustom ibuffer-mode-hook nil |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
350 "Hook run upon entry into `ibuffer-mode'." |
42702 | 351 :type 'hook |
352 :group 'ibuffer) | |
353 | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
354 (defcustom ibuffer-load-hook nil |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
355 "Hook run when Ibuffer is loaded." |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
356 :type 'hook |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
357 :group 'ibuffer) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
358 |
42702 | 359 (defcustom ibuffer-marked-face 'font-lock-warning-face |
360 "Face used for displaying marked buffers." | |
361 :type 'face | |
362 :group 'ibuffer) | |
363 | |
364 (defcustom ibuffer-deletion-face 'font-lock-type-face | |
365 "Face used for displaying buffers marked for deletion." | |
366 :type 'face | |
367 :group 'ibuffer) | |
368 | |
369 (defcustom ibuffer-title-face 'font-lock-type-face | |
370 "Face used for the title string." | |
371 :type 'face | |
372 :group 'ibuffer) | |
373 | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
374 (defcustom ibuffer-filter-group-name-face 'bold |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
375 "Face used for displaying filtering group names." |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
376 :type 'face |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
377 :group 'ibuffer) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
378 |
42702 | 379 (defcustom ibuffer-directory-abbrev-alist nil |
380 "An alist of file name abbreviations like `directory-abbrev-alist'." | |
381 :type '(repeat (cons :format "%v" | |
382 :value ("" . "") | |
383 (regexp :tag "From") | |
384 (regexp :tag "To"))) | |
385 :group 'ibuffer) | |
386 | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
387 |
42702 | 388 (defvar ibuffer-mode-map nil) |
389 (defvar ibuffer-mode-operate-map nil) | |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
390 (defvar ibuffer-mode-groups-popup nil) |
42702 | 391 (unless ibuffer-mode-map |
392 (let ((map (make-sparse-keymap)) | |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
393 (operate-map (make-sparse-keymap "Operate")) |
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
394 (groups-map (make-sparse-keymap "Filter Groups"))) |
42702 | 395 (define-key map (kbd "0") 'digit-argument) |
396 (define-key map (kbd "1") 'digit-argument) | |
397 (define-key map (kbd "2") 'digit-argument) | |
398 (define-key map (kbd "3") 'digit-argument) | |
399 (define-key map (kbd "4") 'digit-argument) | |
400 (define-key map (kbd "5") 'digit-argument) | |
401 (define-key map (kbd "6") 'digit-argument) | |
402 (define-key map (kbd "7") 'digit-argument) | |
403 (define-key map (kbd "8") 'digit-argument) | |
404 (define-key map (kbd "9") 'digit-argument) | |
405 | |
406 (define-key map (kbd "m") 'ibuffer-mark-forward) | |
407 (define-key map (kbd "t") 'ibuffer-toggle-marks) | |
408 (define-key map (kbd "u") 'ibuffer-unmark-forward) | |
409 (define-key map (kbd "=") 'ibuffer-diff-with-file) | |
410 (define-key map (kbd "j") 'ibuffer-jump-to-buffer) | |
55888
3d233a8d8d1f
2004-06-02 Romain Francoise <romain@orebokech.com>
John Paul Wallington <jpw@pobox.com>
parents:
55388
diff
changeset
|
411 (define-key map (kbd "M-g") 'ibuffer-jump-to-buffer) |
96956
a6f40f87513a
(ibuffer-mode-map): Bind "M-s a C-s" to
Juri Linkov <juri@jurta.org>
parents:
96491
diff
changeset
|
412 (define-key map (kbd "M-s a C-s") 'ibuffer-do-isearch) |
a6f40f87513a
(ibuffer-mode-map): Bind "M-s a C-s" to
Juri Linkov <juri@jurta.org>
parents:
96491
diff
changeset
|
413 (define-key map (kbd "M-s a M-C-s") 'ibuffer-do-isearch-regexp) |
42702 | 414 (define-key map (kbd "DEL") 'ibuffer-unmark-backward) |
415 (define-key map (kbd "M-DEL") 'ibuffer-unmark-all) | |
416 (define-key map (kbd "* *") 'ibuffer-unmark-all) | |
417 (define-key map (kbd "* M") 'ibuffer-mark-by-mode) | |
418 (define-key map (kbd "* m") 'ibuffer-mark-modified-buffers) | |
419 (define-key map (kbd "* u") 'ibuffer-mark-unsaved-buffers) | |
420 (define-key map (kbd "* s") 'ibuffer-mark-special-buffers) | |
421 (define-key map (kbd "* r") 'ibuffer-mark-read-only-buffers) | |
422 (define-key map (kbd "* /") 'ibuffer-mark-dired-buffers) | |
423 (define-key map (kbd "* e") 'ibuffer-mark-dissociated-buffers) | |
424 (define-key map (kbd "* h") 'ibuffer-mark-help-buffers) | |
68580
43619387ab52
(ibuffer-compressed-file-name-regexp): New defcustom.
John Paul Wallington <jpw@pobox.com>
parents:
66739
diff
changeset
|
425 (define-key map (kbd "* z") 'ibuffer-mark-compressed-file-buffers) |
42702 | 426 (define-key map (kbd ".") 'ibuffer-mark-old-buffers) |
49588
37645a051842
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49410
diff
changeset
|
427 |
42702 | 428 (define-key map (kbd "d") 'ibuffer-mark-for-delete) |
429 (define-key map (kbd "C-d") 'ibuffer-mark-for-delete-backwards) | |
430 (define-key map (kbd "k") 'ibuffer-mark-for-delete) | |
431 (define-key map (kbd "x") 'ibuffer-do-kill-on-deletion-marks) | |
49588
37645a051842
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49410
diff
changeset
|
432 |
42702 | 433 ;; immediate operations |
434 (define-key map (kbd "n") 'ibuffer-forward-line) | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
435 (define-key map (kbd "<down>") 'ibuffer-forward-line) |
42702 | 436 (define-key map (kbd "SPC") 'forward-line) |
437 (define-key map (kbd "p") 'ibuffer-backward-line) | |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
438 (define-key map (kbd "<up>") 'ibuffer-backward-line) |
42702 | 439 (define-key map (kbd "M-}") 'ibuffer-forward-next-marked) |
440 (define-key map (kbd "M-{") 'ibuffer-backwards-next-marked) | |
441 (define-key map (kbd "l") 'ibuffer-redisplay) | |
442 (define-key map (kbd "g") 'ibuffer-update) | |
443 (define-key map "`" 'ibuffer-switch-format) | |
444 (define-key map "-" 'ibuffer-add-to-tmp-hide) | |
445 (define-key map "+" 'ibuffer-add-to-tmp-show) | |
446 (define-key map "b" 'ibuffer-bury-buffer) | |
447 (define-key map (kbd ",") 'ibuffer-toggle-sorting-mode) | |
448 (define-key map (kbd "s i") 'ibuffer-invert-sorting) | |
449 (define-key map (kbd "s a") 'ibuffer-do-sort-by-alphabetic) | |
450 (define-key map (kbd "s v") 'ibuffer-do-sort-by-recency) | |
451 (define-key map (kbd "s s") 'ibuffer-do-sort-by-size) | |
87960
4693d30bd9c1
* ibuffer.el (ibuffer-default-sorting-mode): Add option to sort by
Dan Nicolaescu <dann@ics.uci.edu>
parents:
87869
diff
changeset
|
452 (define-key map (kbd "s f") 'ibuffer-do-sort-by-filename/process) |
42702 | 453 (define-key map (kbd "s m") 'ibuffer-do-sort-by-major-mode) |
454 | |
455 (define-key map (kbd "/ m") 'ibuffer-filter-by-mode) | |
46824
86fa1b4393a2
(ibuffer-mode-map): Added ibuffer-filter-by-used-mode.
Colin Walters <walters@gnu.org>
parents:
46772
diff
changeset
|
456 (define-key map (kbd "/ M") 'ibuffer-filter-by-used-mode) |
42702 | 457 (define-key map (kbd "/ n") 'ibuffer-filter-by-name) |
458 (define-key map (kbd "/ c") 'ibuffer-filter-by-content) | |
459 (define-key map (kbd "/ e") 'ibuffer-filter-by-predicate) | |
460 (define-key map (kbd "/ f") 'ibuffer-filter-by-filename) | |
461 (define-key map (kbd "/ >") 'ibuffer-filter-by-size-gt) | |
462 (define-key map (kbd "/ <") 'ibuffer-filter-by-size-lt) | |
463 (define-key map (kbd "/ r") 'ibuffer-switch-to-saved-filters) | |
464 (define-key map (kbd "/ a") 'ibuffer-add-saved-filters) | |
465 (define-key map (kbd "/ x") 'ibuffer-delete-saved-filters) | |
466 (define-key map (kbd "/ d") 'ibuffer-decompose-filter) | |
467 (define-key map (kbd "/ s") 'ibuffer-save-filters) | |
468 (define-key map (kbd "/ p") 'ibuffer-pop-filter) | |
469 (define-key map (kbd "/ !") 'ibuffer-negate-filter) | |
470 (define-key map (kbd "/ t") 'ibuffer-exchange-filters) | |
471 (define-key map (kbd "/ TAB") 'ibuffer-exchange-filters) | |
472 (define-key map (kbd "/ o") 'ibuffer-or-filter) | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
473 (define-key map (kbd "/ g") 'ibuffer-filters-to-filter-group) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
474 (define-key map (kbd "/ P") 'ibuffer-pop-filter-group) |
45161
91602250e999
(ibuffer-mode-map): Bind it. Add :enable guard around
Colin Walters <walters@gnu.org>
parents:
45129
diff
changeset
|
475 (define-key map (kbd "/ D") 'ibuffer-decompose-filter-group) |
42702 | 476 (define-key map (kbd "/ /") 'ibuffer-filter-disable) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
477 |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
478 (define-key map (kbd "M-n") 'ibuffer-forward-filter-group) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
479 (define-key map (kbd "<right>") 'ibuffer-forward-filter-group) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
480 (define-key map (kbd "M-p") 'ibuffer-backward-filter-group) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
481 (define-key map (kbd "<left>") 'ibuffer-backward-filter-group) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
482 (define-key map (kbd "M-j") 'ibuffer-jump-to-filter-group) |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
483 (define-key map (kbd "C-k") 'ibuffer-kill-line) |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
484 (define-key map (kbd "C-y") 'ibuffer-yank) |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
485 (define-key map (kbd "/ S") 'ibuffer-save-filter-groups) |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
486 (define-key map (kbd "/ R") 'ibuffer-switch-to-saved-filter-groups) |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
487 (define-key map (kbd "/ X") 'ibuffer-delete-saved-filter-groups) |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
488 (define-key map (kbd "/ \\") 'ibuffer-clear-filter-groups) |
49588
37645a051842
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49410
diff
changeset
|
489 |
42702 | 490 (define-key map (kbd "q") 'ibuffer-quit) |
491 (define-key map (kbd "h") 'describe-mode) | |
492 (define-key map (kbd "?") 'describe-mode) | |
493 | |
494 (define-key map (kbd "% n") 'ibuffer-mark-by-name-regexp) | |
495 (define-key map (kbd "% m") 'ibuffer-mark-by-mode-regexp) | |
496 (define-key map (kbd "% f") 'ibuffer-mark-by-file-name-regexp) | |
49588
37645a051842
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49410
diff
changeset
|
497 |
42702 | 498 (define-key map (kbd "C-t") 'ibuffer-visit-tags-table) |
499 | |
500 (define-key map (kbd "|") 'ibuffer-do-shell-command-pipe) | |
501 (define-key map (kbd "!") 'ibuffer-do-shell-command-file) | |
502 (define-key map (kbd "~") 'ibuffer-do-toggle-modified) | |
503 ;; marked operations | |
504 (define-key map (kbd "A") 'ibuffer-do-view) | |
505 (define-key map (kbd "D") 'ibuffer-do-delete) | |
506 (define-key map (kbd "E") 'ibuffer-do-eval) | |
507 (define-key map (kbd "F") 'ibuffer-do-shell-command-file) | |
508 (define-key map (kbd "I") 'ibuffer-do-query-replace-regexp) | |
509 (define-key map (kbd "H") 'ibuffer-do-view-other-frame) | |
510 (define-key map (kbd "N") 'ibuffer-do-shell-command-pipe-replace) | |
511 (define-key map (kbd "M") 'ibuffer-do-toggle-modified) | |
512 (define-key map (kbd "O") 'ibuffer-do-occur) | |
513 (define-key map (kbd "P") 'ibuffer-do-print) | |
514 (define-key map (kbd "Q") 'ibuffer-do-query-replace) | |
515 (define-key map (kbd "R") 'ibuffer-do-rename-uniquely) | |
516 (define-key map (kbd "S") 'ibuffer-do-save) | |
517 (define-key map (kbd "T") 'ibuffer-do-toggle-read-only) | |
518 (define-key map (kbd "U") 'ibuffer-do-replace-regexp) | |
519 (define-key map (kbd "V") 'ibuffer-do-revert) | |
520 (define-key map (kbd "W") 'ibuffer-do-view-and-eval) | |
521 (define-key map (kbd "X") 'ibuffer-do-shell-command-pipe) | |
49588
37645a051842
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49410
diff
changeset
|
522 |
42702 | 523 (define-key map (kbd "k") 'ibuffer-do-kill-lines) |
524 (define-key map (kbd "w") 'ibuffer-copy-filename-as-kill) | |
525 | |
526 (define-key map (kbd "RET") 'ibuffer-visit-buffer) | |
527 (define-key map (kbd "e") 'ibuffer-visit-buffer) | |
528 (define-key map (kbd "f") 'ibuffer-visit-buffer) | |
529 (define-key map (kbd "C-x C-f") 'ibuffer-find-file) | |
530 (define-key map (kbd "o") 'ibuffer-visit-buffer-other-window) | |
531 (define-key map (kbd "C-o") 'ibuffer-visit-buffer-other-window-noselect) | |
532 (define-key map (kbd "M-o") 'ibuffer-visit-buffer-1-window) | |
533 (define-key map (kbd "v") 'ibuffer-do-view) | |
534 (define-key map (kbd "C-x v") 'ibuffer-do-view-horizontally) | |
535 (define-key map (kbd "C-c C-a") 'ibuffer-auto-mode) | |
536 (define-key map (kbd "C-x 4 RET") 'ibuffer-visit-buffer-other-window) | |
537 (define-key map (kbd "C-x 5 RET") 'ibuffer-visit-buffer-other-frame) | |
538 | |
539 (define-key map [menu-bar view] | |
540 (cons "View" (make-sparse-keymap "View"))) | |
541 | |
542 (define-key-after map [menu-bar view visit-buffer] | |
543 '(menu-item "View this buffer" ibuffer-visit-buffer)) | |
544 (define-key-after map [menu-bar view visit-buffer-other-window] | |
545 '(menu-item "View (other window)" ibuffer-visit-buffer-other-window)) | |
546 (define-key-after map [menu-bar view visit-buffer-other-frame] | |
547 '(menu-item "View (other frame)" ibuffer-visit-buffer-other-frame)) | |
548 (define-key-after map [menu-bar view ibuffer-update] | |
549 '(menu-item "Update" ibuffer-update | |
550 :help "Regenerate the list of buffers")) | |
551 (define-key-after map [menu-bar view switch-format] | |
552 '(menu-item "Switch display format" ibuffer-switch-format | |
553 :help "Toggle between available values of `ibuffer-formats'")) | |
554 | |
555 (define-key-after map [menu-bar view dashes] | |
556 '("--")) | |
557 | |
558 (define-key-after map [menu-bar view sort] | |
559 (cons "Sort" (make-sparse-keymap "Sort"))) | |
560 | |
561 (define-key-after map [menu-bar view sort do-sort-by-major-mode] | |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
562 '(menu-item "Sort by major mode" ibuffer-do-sort-by-major-mode)) |
42702 | 563 (define-key-after map [menu-bar view sort do-sort-by-size] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
564 '(menu-item "Sort by buffer size" ibuffer-do-sort-by-size)) |
42702 | 565 (define-key-after map [menu-bar view sort do-sort-by-alphabetic] |
566 '(menu-item "Sort lexicographically" ibuffer-do-sort-by-alphabetic | |
567 :help "Sort by the alphabetic order of buffer name")) | |
568 (define-key-after map [menu-bar view sort do-sort-by-recency] | |
569 '(menu-item "Sort by view time" ibuffer-do-sort-by-recency | |
570 :help "Sort by the last time the buffer was displayed")) | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
571 (define-key-after map [menu-bar view sort dashes] |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
572 '("--")) |
42702 | 573 (define-key-after map [menu-bar view sort invert-sorting] |
574 '(menu-item "Reverse sorting order" ibuffer-invert-sorting)) | |
575 (define-key-after map [menu-bar view sort toggle-sorting-mode] | |
576 '(menu-item "Switch sorting mode" ibuffer-toggle-sorting-mode | |
577 :help "Switch between the various sorting criteria")) | |
578 | |
579 (define-key-after map [menu-bar view filter] | |
580 (cons "Filter" (make-sparse-keymap "Filter"))) | |
581 | |
582 (define-key-after map [menu-bar view filter filter-disable] | |
45213
162082d00c8f
(ibuffer-mode-map): Add :enable guards for `ibuffer-filter-disable',
Colin Walters <walters@gnu.org>
parents:
45161
diff
changeset
|
583 '(menu-item "Disable all filtering" ibuffer-filter-disable |
162082d00c8f
(ibuffer-mode-map): Add :enable guards for `ibuffer-filter-disable',
Colin Walters <walters@gnu.org>
parents:
45161
diff
changeset
|
584 :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers))) |
42702 | 585 (define-key-after map [menu-bar view filter filter-by-mode] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
586 '(menu-item "Add filter by major mode..." ibuffer-filter-by-mode)) |
46824
86fa1b4393a2
(ibuffer-mode-map): Added ibuffer-filter-by-used-mode.
Colin Walters <walters@gnu.org>
parents:
46772
diff
changeset
|
587 (define-key-after map [menu-bar view filter filter-by-mode] |
86fa1b4393a2
(ibuffer-mode-map): Added ibuffer-filter-by-used-mode.
Colin Walters <walters@gnu.org>
parents:
46772
diff
changeset
|
588 '(menu-item "Add filter by major mode in use..." ibuffer-filter-by-used-mode)) |
42702 | 589 (define-key-after map [menu-bar view filter filter-by-name] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
590 '(menu-item "Add filter by buffer name..." ibuffer-filter-by-name)) |
42702 | 591 (define-key-after map [menu-bar view filter filter-by-filename] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
592 '(menu-item "Add filter by filename..." ibuffer-filter-by-filename)) |
42702 | 593 (define-key-after map [menu-bar view filter filter-by-size-lt] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
594 '(menu-item "Add filter by size less than..." ibuffer-filter-by-size-lt)) |
42702 | 595 (define-key-after map [menu-bar view filter filter-by-size-gt] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
596 '(menu-item "Add filter by size greater than..." ibuffer-filter-by-size-gt)) |
42702 | 597 (define-key-after map [menu-bar view filter filter-by-content] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
598 '(menu-item "Add filter by content (regexp)..." ibuffer-filter-by-content)) |
42702 | 599 (define-key-after map [menu-bar view filter filter-by-predicate] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
600 '(menu-item "Add filter by Lisp predicate..." ibuffer-filter-by-predicate)) |
42702 | 601 (define-key-after map [menu-bar view filter pop-filter] |
45213
162082d00c8f
(ibuffer-mode-map): Add :enable guards for `ibuffer-filter-disable',
Colin Walters <walters@gnu.org>
parents:
45161
diff
changeset
|
602 '(menu-item "Remove top filter" ibuffer-pop-filter |
162082d00c8f
(ibuffer-mode-map): Add :enable guards for `ibuffer-filter-disable',
Colin Walters <walters@gnu.org>
parents:
45161
diff
changeset
|
603 :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers))) |
42702 | 604 (define-key-after map [menu-bar view filter or-filter] |
605 '(menu-item "OR top two filters" ibuffer-or-filter | |
45220 | 606 :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers |
607 (cdr ibuffer-filtering-qualifiers)) | |
42702 | 608 :help "Create a new filter which is the logical OR of the top two filters")) |
609 (define-key-after map [menu-bar view filter negate-filter] | |
45213
162082d00c8f
(ibuffer-mode-map): Add :enable guards for `ibuffer-filter-disable',
Colin Walters <walters@gnu.org>
parents:
45161
diff
changeset
|
610 '(menu-item "Negate top filter" ibuffer-negate-filter |
162082d00c8f
(ibuffer-mode-map): Add :enable guards for `ibuffer-filter-disable',
Colin Walters <walters@gnu.org>
parents:
45161
diff
changeset
|
611 :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers))) |
42702 | 612 (define-key-after map [menu-bar view filter decompose-filter] |
613 '(menu-item "Decompose top filter" ibuffer-decompose-filter | |
45220 | 614 :enable (and (featurep 'ibuf-ext) (memq (car ibuffer-filtering-qualifiers) '(or saved not))) |
42702 | 615 :help "Break down a complex filter like OR or NOT")) |
616 (define-key-after map [menu-bar view filter exchange-filters] | |
45213
162082d00c8f
(ibuffer-mode-map): Add :enable guards for `ibuffer-filter-disable',
Colin Walters <walters@gnu.org>
parents:
45161
diff
changeset
|
617 '(menu-item "Swap top two filters" ibuffer-exchange-filters |
45220 | 618 :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers |
619 (cdr ibuffer-filtering-qualifiers)))) | |
42702 | 620 (define-key-after map [menu-bar view filter save-filters] |
621 '(menu-item "Save current filters permanently..." ibuffer-save-filters | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
622 :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers) |
42702 | 623 :help "Use a mnemnonic name to store current filter stack")) |
624 (define-key-after map [menu-bar view filter switch-to-saved-filters] | |
625 '(menu-item "Restore permanently saved filters..." ibuffer-switch-to-saved-filters | |
45213
162082d00c8f
(ibuffer-mode-map): Add :enable guards for `ibuffer-filter-disable',
Colin Walters <walters@gnu.org>
parents:
45161
diff
changeset
|
626 :enable (and (featurep 'ibuf-ext) ibuffer-saved-filters) |
42702 | 627 :help "Replace current filters with a saved stack")) |
628 (define-key-after map [menu-bar view filter add-saved-filters] | |
629 '(menu-item "Add to permanently saved filters..." ibuffer-add-saved-filters | |
45213
162082d00c8f
(ibuffer-mode-map): Add :enable guards for `ibuffer-filter-disable',
Colin Walters <walters@gnu.org>
parents:
45161
diff
changeset
|
630 :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers) |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
631 :help "Include already saved stack with current filters")) |
42702 | 632 (define-key-after map [menu-bar view filter delete-saved-filters] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
633 '(menu-item "Delete permanently saved filters..." |
45213
162082d00c8f
(ibuffer-mode-map): Add :enable guards for `ibuffer-filter-disable',
Colin Walters <walters@gnu.org>
parents:
45161
diff
changeset
|
634 ibuffer-delete-saved-filters |
162082d00c8f
(ibuffer-mode-map): Add :enable guards for `ibuffer-filter-disable',
Colin Walters <walters@gnu.org>
parents:
45161
diff
changeset
|
635 :enable (and (featurep 'ibuf-ext) ibuffer-saved-filters))) |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
636 |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
637 ;; Filter groups |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
638 |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
639 (define-key-after groups-map [filters-to-filter-group] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
640 '(menu-item "Create filter group from current filters..." |
45161
91602250e999
(ibuffer-mode-map): Bind it. Add :enable guard around
Colin Walters <walters@gnu.org>
parents:
45129
diff
changeset
|
641 ibuffer-filters-to-filter-group |
91602250e999
(ibuffer-mode-map): Bind it. Add :enable guard around
Colin Walters <walters@gnu.org>
parents:
45129
diff
changeset
|
642 :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers))) |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
643 (define-key-after groups-map [forward-filter-group] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
644 '(menu-item "Move point to the next filter group" |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
645 ibuffer-forward-filter-group)) |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
646 (define-key-after groups-map [backward-filter-group] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
647 '(menu-item "Move point to the previous filter group" |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
648 ibuffer-backward-filter-group)) |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
649 (define-key-after groups-map [jump-to-filter-group] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
650 '(menu-item "Move point to a specific filter group..." |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
651 ibuffer-jump-to-filter-group)) |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
652 (define-key-after groups-map [kill-filter-group] |
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
653 '(menu-item "Kill filter group named..." |
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
654 ibuffer-kill-filter-group |
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
655 :enable (and (featurep 'ibuf-ext) ibuffer-filter-groups))) |
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
656 (define-key-after groups-map [yank-filter-group] |
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
657 '(menu-item "Yank last killed filter group before..." |
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
658 ibuffer-yank-filter-group |
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
659 :enable (and (featurep 'ibuf-ext) ibuffer-filter-group-kill-ring))) |
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
660 (define-key-after groups-map [pop-filter-group] |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
661 '(menu-item "Remove top filter group" |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
662 ibuffer-pop-filter-group |
45161
91602250e999
(ibuffer-mode-map): Bind it. Add :enable guard around
Colin Walters <walters@gnu.org>
parents:
45129
diff
changeset
|
663 :enable (and (featurep 'ibuf-ext) ibuffer-filter-groups))) |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
664 (define-key-after groups-map [clear-filter-groups] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
665 '(menu-item "Remove all filter groups" |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
666 ibuffer-clear-filter-groups |
45161
91602250e999
(ibuffer-mode-map): Bind it. Add :enable guard around
Colin Walters <walters@gnu.org>
parents:
45129
diff
changeset
|
667 :enable (and (featurep 'ibuf-ext) ibuffer-filter-groups))) |
91602250e999
(ibuffer-mode-map): Bind it. Add :enable guard around
Colin Walters <walters@gnu.org>
parents:
45129
diff
changeset
|
668 (define-key-after groups-map [pop-filter-group] |
91602250e999
(ibuffer-mode-map): Bind it. Add :enable guard around
Colin Walters <walters@gnu.org>
parents:
45129
diff
changeset
|
669 '(menu-item "Decompose filter group..." |
91602250e999
(ibuffer-mode-map): Bind it. Add :enable guard around
Colin Walters <walters@gnu.org>
parents:
45129
diff
changeset
|
670 ibuffer-pop-filter-group |
91602250e999
(ibuffer-mode-map): Bind it. Add :enable guard around
Colin Walters <walters@gnu.org>
parents:
45129
diff
changeset
|
671 :help "\"Unmake\" a filter group" |
91602250e999
(ibuffer-mode-map): Bind it. Add :enable guard around
Colin Walters <walters@gnu.org>
parents:
45129
diff
changeset
|
672 :enable (and (featurep 'ibuf-ext) ibuffer-filter-groups))) |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
673 (define-key-after groups-map [save-filter-groups] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
674 '(menu-item "Save current filter groups permanently..." |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
675 ibuffer-save-filter-groups |
45213
162082d00c8f
(ibuffer-mode-map): Add :enable guards for `ibuffer-filter-disable',
Colin Walters <walters@gnu.org>
parents:
45161
diff
changeset
|
676 :enable (and (featurep 'ibuf-ext) ibuffer-filter-groups) |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
677 :help "Use a mnemnonic name to store current filter groups")) |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
678 (define-key-after groups-map [switch-to-saved-filter-groups] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
679 '(menu-item "Restore permanently saved filters..." |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
680 ibuffer-switch-to-saved-filter-groups |
45213
162082d00c8f
(ibuffer-mode-map): Add :enable guards for `ibuffer-filter-disable',
Colin Walters <walters@gnu.org>
parents:
45161
diff
changeset
|
681 :enable (and (featurep 'ibuf-ext) ibuffer-saved-filter-groups) |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
682 :help "Replace current filters with a saved stack")) |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
683 (define-key-after groups-map [delete-saved-filter-groups] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
684 '(menu-item "Delete permanently saved filter groups..." |
45213
162082d00c8f
(ibuffer-mode-map): Add :enable guards for `ibuffer-filter-disable',
Colin Walters <walters@gnu.org>
parents:
45161
diff
changeset
|
685 ibuffer-delete-saved-filter-groups |
162082d00c8f
(ibuffer-mode-map): Add :enable guards for `ibuffer-filter-disable',
Colin Walters <walters@gnu.org>
parents:
45161
diff
changeset
|
686 :enable (and (featurep 'ibuf-ext) ibuffer-saved-filter-groups))) |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
687 (define-key-after groups-map [set-filter-groups-by-mode] |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
688 '(menu-item "Set current filter groups to filter by mode" |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
689 ibuffer-set-filter-groups-by-mode)) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
690 |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
691 (define-key-after map [menu-bar view filter-groups] |
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
692 (cons "Filter Groups" groups-map)) |
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
693 |
42702 | 694 (define-key-after map [menu-bar view dashes2] |
695 '("--")) | |
696 (define-key-after map [menu-bar view diff-with-file] | |
697 '(menu-item "Diff with file" ibuffer-diff-with-file | |
698 :help "View the differences between this buffer and its file")) | |
699 (define-key-after map [menu-bar view auto-mode] | |
700 '(menu-item "Toggle Auto Mode" ibuffer-auto-mode | |
701 :help "Attempt to automatically update the Ibuffer buffer")) | |
702 (define-key-after map [menu-bar view customize] | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
703 '(menu-item "Customize Ibuffer" ibuffer-customize |
42702 | 704 :help "Use Custom to customize Ibuffer")) |
705 | |
706 (define-key-after map [menu-bar mark] | |
707 (cons "Mark" (make-sparse-keymap "Mark"))) | |
708 | |
709 (define-key-after map [menu-bar mark toggle-marks] | |
710 '(menu-item "Toggle marks" ibuffer-toggle-marks | |
711 :help "Unmark marked buffers, and mark unmarked buffers")) | |
712 (define-key-after map [menu-bar mark mark-forward] | |
713 '(menu-item "Mark" ibuffer-mark-forward | |
714 :help "Mark the buffer at point")) | |
715 (define-key-after map [menu-bar mark unmark-forward] | |
716 '(menu-item "Unmark" ibuffer-unmark-forward | |
717 :help "Unmark the buffer at point")) | |
718 (define-key-after map [menu-bar mark mark-by-mode] | |
719 '(menu-item "Mark by mode..." ibuffer-mark-by-mode | |
720 :help "Mark all buffers in a particular major mode")) | |
721 (define-key-after map [menu-bar mark mark-modified-buffers] | |
722 '(menu-item "Mark modified buffers" ibuffer-mark-modified-buffers | |
723 :help "Mark all buffers which have been modified")) | |
724 (define-key-after map [menu-bar mark mark-unsaved-buffers] | |
725 '(menu-item "Mark unsaved buffers" ibuffer-mark-unsaved-buffers | |
726 :help "Mark all buffers which have a file and are modified")) | |
727 (define-key-after map [menu-bar mark mark-read-only-buffers] | |
728 '(menu-item "Mark read-only buffers" ibuffer-mark-read-only-buffers | |
729 :help "Mark all buffers which are read-only")) | |
730 (define-key-after map [menu-bar mark mark-special-buffers] | |
731 '(menu-item "Mark special buffers" ibuffer-mark-special-buffers | |
732 :help "Mark all buffers whose name begins with a *")) | |
733 (define-key-after map [menu-bar mark mark-dired-buffers] | |
734 '(menu-item "Mark dired buffers" ibuffer-mark-dired-buffers | |
735 :help "Mark buffers in dired-mode")) | |
736 (define-key-after map [menu-bar mark mark-dissociated-buffers] | |
737 '(menu-item "Mark dissociated buffers" ibuffer-mark-dissociated-buffers | |
738 :help "Mark buffers with a non-existent associated file")) | |
739 (define-key-after map [menu-bar mark mark-help-buffers] | |
740 '(menu-item "Mark help buffers" ibuffer-mark-help-buffers | |
741 :help "Mark buffers in help-mode")) | |
68580
43619387ab52
(ibuffer-compressed-file-name-regexp): New defcustom.
John Paul Wallington <jpw@pobox.com>
parents:
66739
diff
changeset
|
742 (define-key-after map [menu-bar mark mark-compressed-file-buffers] |
43619387ab52
(ibuffer-compressed-file-name-regexp): New defcustom.
John Paul Wallington <jpw@pobox.com>
parents:
66739
diff
changeset
|
743 '(menu-item "Mark compressed file buffers" ibuffer-mark-compressed-file-buffers |
43619387ab52
(ibuffer-compressed-file-name-regexp): New defcustom.
John Paul Wallington <jpw@pobox.com>
parents:
66739
diff
changeset
|
744 :help "Mark buffers which have a file that is compressed")) |
42702 | 745 (define-key-after map [menu-bar mark mark-old-buffers] |
746 '(menu-item "Mark old buffers" ibuffer-mark-old-buffers | |
747 :help "Mark buffers which have not been viewed recently")) | |
748 (define-key-after map [menu-bar mark unmark-all] | |
749 '(menu-item "Unmark All" ibuffer-unmark-all)) | |
49588
37645a051842
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49410
diff
changeset
|
750 |
42702 | 751 (define-key-after map [menu-bar mark dashes] |
752 '("--")) | |
49588
37645a051842
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49410
diff
changeset
|
753 |
42702 | 754 (define-key-after map [menu-bar mark mark-by-name-regexp] |
755 '(menu-item "Mark by buffer name (regexp)..." ibuffer-mark-by-name-regexp | |
756 :help "Mark buffers whose name matches a regexp")) | |
757 (define-key-after map [menu-bar mark mark-by-mode-regexp] | |
758 '(menu-item "Mark by major mode (regexp)..." ibuffer-mark-by-mode-regexp | |
759 :help "Mark buffers whose major mode name matches a regexp")) | |
760 (define-key-after map [menu-bar mark mark-by-file-name-regexp] | |
761 '(menu-item "Mark by file name (regexp)..." ibuffer-mark-by-file-name-regexp | |
762 :help "Mark buffers whose file name matches a regexp")) | |
763 | |
764 ;; Operate map is added later | |
765 | |
766 (define-key-after operate-map [do-view] | |
767 '(menu-item "View" ibuffer-do-view)) | |
768 (define-key-after operate-map [do-view-other-frame] | |
769 '(menu-item "View (separate frame)" ibuffer-do-view-other-frame)) | |
770 (define-key-after operate-map [do-save] | |
771 '(menu-item "Save" ibuffer-do-save)) | |
772 (define-key-after operate-map [do-replace-regexp] | |
773 '(menu-item "Replace (regexp)..." ibuffer-do-replace-regexp | |
774 :help "Replace text inside marked buffers")) | |
775 (define-key-after operate-map [do-query-replace] | |
776 '(menu-item "Query Replace..." ibuffer-do-query-replace | |
777 :help "Replace text in marked buffers, asking each time")) | |
778 (define-key-after operate-map [do-query-replace-regexp] | |
779 '(menu-item "Query Replace (regexp)..." ibuffer-do-query-replace-regexp | |
780 :help "Replace text in marked buffers by regexp, asking each time")) | |
781 (define-key-after operate-map [do-print] | |
782 '(menu-item "Print" ibuffer-do-print)) | |
783 (define-key-after operate-map [do-toggle-modified] | |
784 '(menu-item "Toggle modification flag" ibuffer-do-toggle-modified)) | |
785 (define-key-after operate-map [do-revert] | |
786 '(menu-item "Revert" ibuffer-do-revert | |
787 :help "Revert marked buffers to their associated file")) | |
788 (define-key-after operate-map [do-rename-uniquely] | |
789 '(menu-item "Rename Uniquely" ibuffer-do-rename-uniquely | |
790 :help "Rename marked buffers to a new, unique name")) | |
791 (define-key-after operate-map [do-delete] | |
792 '(menu-item "Kill" ibuffer-do-delete)) | |
793 (define-key-after operate-map [do-occur] | |
794 '(menu-item "List lines matching..." ibuffer-do-occur | |
795 :help "View all lines in marked buffers matching a regexp")) | |
796 (define-key-after operate-map [do-shell-command-pipe] | |
797 '(menu-item "Pipe to shell command..." ibuffer-do-shell-command-pipe | |
798 :help "For each marked buffer, send its contents to a shell command")) | |
799 (define-key-after operate-map [do-shell-command-pipe-replace] | |
800 '(menu-item "Pipe to shell command (replace)..." ibuffer-do-shell-command-pipe-replace | |
801 :help "For each marked buffer, replace its contents with output of shell command")) | |
802 (define-key-after operate-map [do-shell-command-file] | |
803 '(menu-item "Shell command on buffer's file..." ibuffer-do-shell-command-file | |
804 :help "For each marked buffer, run a shell command with its file as argument")) | |
805 (define-key-after operate-map [do-eval] | |
806 '(menu-item "Eval..." ibuffer-do-eval | |
807 :help "Evaluate a Lisp form in each marked buffer")) | |
808 (define-key-after operate-map [do-view-and-eval] | |
809 '(menu-item "Eval (viewing buffer)..." ibuffer-do-view-and-eval | |
810 :help "Evaluate a Lisp form in each marked buffer while viewing it")) | |
49588
37645a051842
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49410
diff
changeset
|
811 |
42702 | 812 (setq ibuffer-mode-map map |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
813 ibuffer-mode-operate-map operate-map |
45161
91602250e999
(ibuffer-mode-map): Bind it. Add :enable guard around
Colin Walters <walters@gnu.org>
parents:
45129
diff
changeset
|
814 ibuffer-mode-groups-popup (copy-keymap groups-map)))) |
91602250e999
(ibuffer-mode-map): Bind it. Add :enable guard around
Colin Walters <walters@gnu.org>
parents:
45129
diff
changeset
|
815 |
91602250e999
(ibuffer-mode-map): Bind it. Add :enable guard around
Colin Walters <walters@gnu.org>
parents:
45129
diff
changeset
|
816 (define-key ibuffer-mode-groups-popup [kill-filter-group] |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
817 '(menu-item "Kill filter group" |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
818 ibuffer-kill-line |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
819 :enable (and (featurep 'ibuf-ext) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
820 ibuffer-filter-groups))) |
45687
434d9f56eab8
(ibuffer-category-alist): Delete.
Colin Walters <walters@gnu.org>
parents:
45443
diff
changeset
|
821 (define-key ibuffer-mode-groups-popup [yank-filter-group] |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
822 '(menu-item "Yank last killed filter group" |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
823 ibuffer-yank |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
824 :enable (and (featurep 'ibuf-ext) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
825 ibuffer-filter-group-kill-ring))) |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
826 |
50708
c2c47be7d704
(ibuffer-name-map, ibuffer-mode-name-map)
John Paul Wallington <jpw@pobox.com>
parents:
50448
diff
changeset
|
827 (defvar ibuffer-name-map |
42702 | 828 (let ((map (make-sparse-keymap))) |
829 (define-key map [(mouse-1)] 'ibuffer-mouse-toggle-mark) | |
830 (define-key map [(mouse-2)] 'ibuffer-mouse-visit-buffer) | |
831 (define-key map [down-mouse-3] 'ibuffer-mouse-popup-menu) | |
50708
c2c47be7d704
(ibuffer-name-map, ibuffer-mode-name-map)
John Paul Wallington <jpw@pobox.com>
parents:
50448
diff
changeset
|
832 map)) |
42702 | 833 |
87960
4693d30bd9c1
* ibuffer.el (ibuffer-default-sorting-mode): Add option to sort by
Dan Nicolaescu <dann@ics.uci.edu>
parents:
87869
diff
changeset
|
834 (defvar ibuffer-filename/process-header-map |
4693d30bd9c1
* ibuffer.el (ibuffer-default-sorting-mode): Add option to sort by
Dan Nicolaescu <dann@ics.uci.edu>
parents:
87869
diff
changeset
|
835 (let ((map (make-sparse-keymap))) |
4693d30bd9c1
* ibuffer.el (ibuffer-default-sorting-mode): Add option to sort by
Dan Nicolaescu <dann@ics.uci.edu>
parents:
87869
diff
changeset
|
836 (define-key map [(mouse-1)] 'ibuffer-do-sort-by-filename/process) |
4693d30bd9c1
* ibuffer.el (ibuffer-default-sorting-mode): Add option to sort by
Dan Nicolaescu <dann@ics.uci.edu>
parents:
87869
diff
changeset
|
837 map)) |
4693d30bd9c1
* ibuffer.el (ibuffer-default-sorting-mode): Add option to sort by
Dan Nicolaescu <dann@ics.uci.edu>
parents:
87869
diff
changeset
|
838 |
50708
c2c47be7d704
(ibuffer-name-map, ibuffer-mode-name-map)
John Paul Wallington <jpw@pobox.com>
parents:
50448
diff
changeset
|
839 (defvar ibuffer-mode-name-map |
42702 | 840 (let ((map (make-sparse-keymap))) |
841 (define-key map [(mouse-2)] 'ibuffer-mouse-filter-by-mode) | |
842 (define-key map (kbd "RET") 'ibuffer-interactive-filter-by-mode) | |
50708
c2c47be7d704
(ibuffer-name-map, ibuffer-mode-name-map)
John Paul Wallington <jpw@pobox.com>
parents:
50448
diff
changeset
|
843 map)) |
42702 | 844 |
69764
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
845 (defvar ibuffer-name-header-map |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
846 (let ((map (make-sparse-keymap))) |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
847 (define-key map [(mouse-1)] 'ibuffer-do-sort-by-alphabetic) |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
848 map)) |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
849 |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
850 (defvar ibuffer-size-header-map |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
851 (let ((map (make-sparse-keymap))) |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
852 (define-key map [(mouse-1)] 'ibuffer-do-sort-by-size) |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
853 map)) |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
854 |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
855 (defvar ibuffer-mode-header-map |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
856 (let ((map (make-sparse-keymap))) |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
857 (define-key map [(mouse-1)] 'ibuffer-do-sort-by-major-mode) |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
858 map)) |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
859 |
50708
c2c47be7d704
(ibuffer-name-map, ibuffer-mode-name-map)
John Paul Wallington <jpw@pobox.com>
parents:
50448
diff
changeset
|
860 (defvar ibuffer-mode-filter-group-map |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
861 (let ((map (make-sparse-keymap))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
862 (define-key map [(mouse-1)] 'ibuffer-mouse-toggle-mark) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
863 (define-key map [(mouse-2)] 'ibuffer-mouse-toggle-filter-group) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
864 (define-key map (kbd "RET") 'ibuffer-toggle-filter-group) |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
865 (define-key map [down-mouse-3] 'ibuffer-mouse-popup-menu) |
50708
c2c47be7d704
(ibuffer-name-map, ibuffer-mode-name-map)
John Paul Wallington <jpw@pobox.com>
parents:
50448
diff
changeset
|
866 map)) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
867 |
54813
59f2a23a44d1
(ibuffer-delete-window-on-quit): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
52401
diff
changeset
|
868 (defvar ibuffer-restore-window-config-on-quit nil |
59f2a23a44d1
(ibuffer-delete-window-on-quit): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
52401
diff
changeset
|
869 "If non-nil, restore previous window configuration upon exiting `ibuffer'.") |
59f2a23a44d1
(ibuffer-delete-window-on-quit): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
52401
diff
changeset
|
870 |
59f2a23a44d1
(ibuffer-delete-window-on-quit): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
52401
diff
changeset
|
871 (defvar ibuffer-prev-window-config nil |
59f2a23a44d1
(ibuffer-delete-window-on-quit): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
52401
diff
changeset
|
872 "Window configuration before starting Ibuffer.") |
42702 | 873 |
874 (defvar ibuffer-did-modification nil) | |
875 | |
65089
b4238c551ea7
(ibuffer-compile-make-eliding-form, ibuffer-check-formats): Use
Juanma Barranquero <lekktu@gmail.com>
parents:
64762
diff
changeset
|
876 (defvar ibuffer-compiled-formats nil) |
b4238c551ea7
(ibuffer-compile-make-eliding-form, ibuffer-check-formats): Use
Juanma Barranquero <lekktu@gmail.com>
parents:
64762
diff
changeset
|
877 (defvar ibuffer-cached-formats nil) |
b4238c551ea7
(ibuffer-compile-make-eliding-form, ibuffer-check-formats): Use
Juanma Barranquero <lekktu@gmail.com>
parents:
64762
diff
changeset
|
878 (defvar ibuffer-cached-eliding-string nil) |
b4238c551ea7
(ibuffer-compile-make-eliding-form, ibuffer-check-formats): Use
Juanma Barranquero <lekktu@gmail.com>
parents:
64762
diff
changeset
|
879 (defvar ibuffer-cached-elide-long-columns 0) |
b4238c551ea7
(ibuffer-compile-make-eliding-form, ibuffer-check-formats): Use
Juanma Barranquero <lekktu@gmail.com>
parents:
64762
diff
changeset
|
880 |
42702 | 881 (defvar ibuffer-sorting-functions-alist nil |
882 "An alist of functions which describe how to sort buffers. | |
883 | |
884 Note: You most likely do not want to modify this variable directly; | |
885 use `define-ibuffer-sorter' instead. | |
886 | |
887 The alist elements are constructed like (NAME DESCRIPTION FUNCTION) | |
888 Where NAME is a symbol describing the sorting method, DESCRIPTION is a | |
889 short string which will be displayed in the minibuffer and menu, and | |
890 FUNCTION is a function of two arguments, which will be the buffers to | |
891 compare.") | |
892 | |
893 ;;; Utility functions | |
894 (defun ibuffer-columnize-and-insert-list (list &optional pad-width) | |
895 "Insert LIST into the current buffer in as many columns as possible. | |
896 The maximum number of columns is determined by the current window | |
897 width and the longest string in LIST." | |
898 (unless pad-width | |
899 (setq pad-width 3)) | |
900 (let ((width (window-width)) | |
901 (max (+ (apply #'max (mapcar #'length list)) | |
902 pad-width))) | |
903 (let ((columns (/ width max))) | |
904 (when (zerop columns) | |
905 (setq columns 1)) | |
906 (while list | |
907 (dotimes (i (1- columns)) | |
908 (insert (concat (car list) (make-string (- max (length (car list))) | |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
909 ?\s))) |
42702 | 910 (setq list (cdr list))) |
911 (when (not (null list)) | |
912 (insert (pop list))) | |
913 (insert "\n"))))) | |
914 | |
915 (defsubst ibuffer-current-mark () | |
916 (cadr (get-text-property (line-beginning-position) | |
917 'ibuffer-properties))) | |
918 | |
919 (defun ibuffer-mouse-toggle-mark (event) | |
920 "Toggle the marked status of the buffer chosen with the mouse." | |
921 (interactive "e") | |
922 (unwind-protect | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
923 (let ((pt (save-excursion |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
924 (mouse-set-point event) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
925 (point)))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
926 (ibuffer-aif (get-text-property (point) 'ibuffer-filter-group-name) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
927 (ibuffer-toggle-marks it) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
928 (goto-char pt) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
929 (let ((mark (ibuffer-current-mark))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
930 (setq buffer-read-only nil) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
931 (if (eq mark ibuffer-marked-char) |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
932 (ibuffer-set-mark ?\s) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
933 (ibuffer-set-mark ibuffer-marked-char))))) |
42702 | 934 (setq buffer-read-only t))) |
935 | |
936 (defun ibuffer-find-file (file &optional wildcards) | |
937 "Like `find-file', but default to the directory of the buffer at point." | |
938 (interactive | |
939 (let ((default-directory (let ((buf (ibuffer-current-buffer))) | |
940 (if (buffer-live-p buf) | |
941 (with-current-buffer buf | |
942 default-directory) | |
943 default-directory)))) | |
944 (list (read-file-name "Find file: " default-directory) | |
57654
000df8ff0cc6
(ibuffer-find-file): Remove `interactive-p' call; `wildcards' set to t
John Paul Wallington <jpw@pobox.com>
parents:
57563
diff
changeset
|
945 t))) |
000df8ff0cc6
(ibuffer-find-file): Remove `interactive-p' call; `wildcards' set to t
John Paul Wallington <jpw@pobox.com>
parents:
57563
diff
changeset
|
946 (find-file file wildcards)) |
42702 | 947 |
948 (defun ibuffer-mouse-visit-buffer (event) | |
949 "Visit the buffer chosen with the mouse." | |
950 (interactive "e") | |
951 (switch-to-buffer | |
952 (save-excursion | |
953 (mouse-set-point event) | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
954 (ibuffer-current-buffer t)))) |
42702 | 955 |
956 (defun ibuffer-mouse-popup-menu (event) | |
957 "Display a menu of operations." | |
958 (interactive "e") | |
48058
7dab1d891656
(ibuffer-mouse-popup-menu): Set point before popping
John Paul Wallington <jpw@pobox.com>
parents:
47740
diff
changeset
|
959 (let ((eventpt (posn-point (event-end event))) |
7dab1d891656
(ibuffer-mouse-popup-menu): Set point before popping
John Paul Wallington <jpw@pobox.com>
parents:
47740
diff
changeset
|
960 (origpt (point))) |
42702 | 961 (unwind-protect |
46682
7a836df2d686
(ibuffer-mouse-popup-menu): Allow point to be moved by menu functions.
Colin Walters <walters@gnu.org>
parents:
45839
diff
changeset
|
962 (if (get-text-property eventpt 'ibuffer-filter-group-name) |
48058
7dab1d891656
(ibuffer-mouse-popup-menu): Set point before popping
John Paul Wallington <jpw@pobox.com>
parents:
47740
diff
changeset
|
963 (progn |
7dab1d891656
(ibuffer-mouse-popup-menu): Set point before popping
John Paul Wallington <jpw@pobox.com>
parents:
47740
diff
changeset
|
964 (goto-char eventpt) |
7dab1d891656
(ibuffer-mouse-popup-menu): Set point before popping
John Paul Wallington <jpw@pobox.com>
parents:
47740
diff
changeset
|
965 (popup-menu ibuffer-mode-groups-popup)) |
46682
7a836df2d686
(ibuffer-mouse-popup-menu): Allow point to be moved by menu functions.
Colin Walters <walters@gnu.org>
parents:
45839
diff
changeset
|
966 (let ((inhibit-read-only t)) |
45129
7b5b6369f90a
(ibuffer-mode-operate-menu, ibuffer-mode-mark-menu)
Colin Walters <walters@gnu.org>
parents:
44936
diff
changeset
|
967 (ibuffer-save-marks |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
968 ;; hm. we could probably do this in a better fashion |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
969 (ibuffer-unmark-all ?\r) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
970 (save-excursion |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
971 (goto-char eventpt) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
972 (ibuffer-set-mark ibuffer-marked-char)) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
973 (save-excursion |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
974 (popup-menu ibuffer-mode-operate-map))))) |
48058
7dab1d891656
(ibuffer-mouse-popup-menu): Set point before popping
John Paul Wallington <jpw@pobox.com>
parents:
47740
diff
changeset
|
975 (setq buffer-read-only t) |
48778
d414c281a629
* ibuffer.el (ibuffer-mode): If `show-paren-mode' is enabled,
John Paul Wallington <jpw@pobox.com>
parents:
48485
diff
changeset
|
976 (if (= eventpt (point)) |
48058
7dab1d891656
(ibuffer-mouse-popup-menu): Set point before popping
John Paul Wallington <jpw@pobox.com>
parents:
47740
diff
changeset
|
977 (goto-char origpt))))) |
46682
7a836df2d686
(ibuffer-mouse-popup-menu): Allow point to be moved by menu functions.
Colin Walters <walters@gnu.org>
parents:
45839
diff
changeset
|
978 |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
979 (defun ibuffer-skip-properties (props direction) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
980 (while (and (not (eobp)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
981 (let ((hit nil)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
982 (dolist (prop props hit) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
983 (when (get-text-property (point) prop) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
984 (setq hit t))))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
985 (forward-line direction) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
986 (beginning-of-line))) |
42702 | 987 |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
988 (defun ibuffer-customize () |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
989 "Begin customizing Ibuffer interactively." |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
990 (interactive) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
991 (customize-group 'ibuffer)) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
992 |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
993 (defun ibuffer-backward-line (&optional arg skip-group-names) |
42702 | 994 "Move backwards ARG lines, wrapping around the list if necessary." |
995 (interactive "P") | |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
996 (or arg (setq arg 1)) |
42702 | 997 (beginning-of-line) |
998 (while (> arg 0) | |
999 (forward-line -1) | |
45839
a3da6ddded28
(ibuffer-movement-cycle): New variable.
Colin Walters <walters@gnu.org>
parents:
45764
diff
changeset
|
1000 (when (and ibuffer-movement-cycle |
a3da6ddded28
(ibuffer-movement-cycle): New variable.
Colin Walters <walters@gnu.org>
parents:
45764
diff
changeset
|
1001 (or (get-text-property (point) 'ibuffer-title) |
a3da6ddded28
(ibuffer-movement-cycle): New variable.
Colin Walters <walters@gnu.org>
parents:
45764
diff
changeset
|
1002 (and skip-group-names |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1003 (get-text-property (point) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1004 'ibuffer-filter-group-name)))) |
42702 | 1005 (goto-char (point-max)) |
44185
c4de5a5d6ecb
(ibuffer-help-buffer-modes): New variable.
Colin Walters <walters@gnu.org>
parents:
44137
diff
changeset
|
1006 (beginning-of-line)) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1007 (ibuffer-skip-properties (append '(ibuffer-summary) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1008 (when skip-group-names |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1009 '(ibuffer-filter-group-name))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1010 -1) |
44185
c4de5a5d6ecb
(ibuffer-help-buffer-modes): New variable.
Colin Walters <walters@gnu.org>
parents:
44137
diff
changeset
|
1011 ;; Handle the special case of no buffers. |
c4de5a5d6ecb
(ibuffer-help-buffer-modes): New variable.
Colin Walters <walters@gnu.org>
parents:
44137
diff
changeset
|
1012 (when (get-text-property (point) 'ibuffer-title) |
c4de5a5d6ecb
(ibuffer-help-buffer-modes): New variable.
Colin Walters <walters@gnu.org>
parents:
44137
diff
changeset
|
1013 (forward-line 1) |
c4de5a5d6ecb
(ibuffer-help-buffer-modes): New variable.
Colin Walters <walters@gnu.org>
parents:
44137
diff
changeset
|
1014 (setq arg 1)) |
c4de5a5d6ecb
(ibuffer-help-buffer-modes): New variable.
Colin Walters <walters@gnu.org>
parents:
44137
diff
changeset
|
1015 (decf arg))) |
42702 | 1016 |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1017 (defun ibuffer-forward-line (&optional arg skip-group-names) |
42702 | 1018 "Move forward ARG lines, wrapping around the list if necessary." |
1019 (interactive "P") | |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1020 (or arg (setq arg 1)) |
42702 | 1021 (beginning-of-line) |
45839
a3da6ddded28
(ibuffer-movement-cycle): New variable.
Colin Walters <walters@gnu.org>
parents:
45764
diff
changeset
|
1022 (when (and ibuffer-movement-cycle |
a3da6ddded28
(ibuffer-movement-cycle): New variable.
Colin Walters <walters@gnu.org>
parents:
45764
diff
changeset
|
1023 (or (eobp) |
a3da6ddded28
(ibuffer-movement-cycle): New variable.
Colin Walters <walters@gnu.org>
parents:
45764
diff
changeset
|
1024 (get-text-property (point) 'ibuffer-summary))) |
44245
8bff6cc92867
(ibuffer-mark-interactive): Use `ibuffer-forward-line' instead of
Colin Walters <walters@gnu.org>
parents:
44185
diff
changeset
|
1025 (goto-char (point-min))) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1026 (when (or (get-text-property (point) 'ibuffer-title) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1027 (and skip-group-names |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1028 (get-text-property (point) 'ibuffer-filter-group-name))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1029 (when (> arg 0) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1030 (decf arg)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1031 (ibuffer-skip-properties (append '(ibuffer-title) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1032 (when skip-group-names |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1033 '(ibuffer-filter-group-name))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1034 1)) |
42702 | 1035 (if (< arg 0) |
1036 (ibuffer-backward-line (- arg)) | |
44185
c4de5a5d6ecb
(ibuffer-help-buffer-modes): New variable.
Colin Walters <walters@gnu.org>
parents:
44137
diff
changeset
|
1037 (while (> arg 0) |
c4de5a5d6ecb
(ibuffer-help-buffer-modes): New variable.
Colin Walters <walters@gnu.org>
parents:
44137
diff
changeset
|
1038 (forward-line 1) |
45839
a3da6ddded28
(ibuffer-movement-cycle): New variable.
Colin Walters <walters@gnu.org>
parents:
45764
diff
changeset
|
1039 (when (and ibuffer-movement-cycle |
a3da6ddded28
(ibuffer-movement-cycle): New variable.
Colin Walters <walters@gnu.org>
parents:
45764
diff
changeset
|
1040 (or (eobp) |
a3da6ddded28
(ibuffer-movement-cycle): New variable.
Colin Walters <walters@gnu.org>
parents:
45764
diff
changeset
|
1041 (get-text-property (point) 'ibuffer-summary))) |
44185
c4de5a5d6ecb
(ibuffer-help-buffer-modes): New variable.
Colin Walters <walters@gnu.org>
parents:
44137
diff
changeset
|
1042 (goto-char (point-min))) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1043 (decf arg) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1044 (ibuffer-skip-properties (append '(ibuffer-title) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1045 (when skip-group-names |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1046 '(ibuffer-filter-group-name))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1047 1)))) |
42702 | 1048 |
44659
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1049 (defun ibuffer-visit-buffer (&optional single) |
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1050 "Visit the buffer on this line. |
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1051 If optional argument SINGLE is non-nil, then also ensure there is only |
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1052 one window." |
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1053 (interactive "P") |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1054 (let ((buf (ibuffer-current-buffer t))) |
42702 | 1055 (bury-buffer (current-buffer)) |
44659
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1056 (switch-to-buffer buf) |
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1057 (when single |
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1058 (delete-other-windows)))) |
42702 | 1059 |
1060 (defun ibuffer-visit-buffer-other-window (&optional noselect) | |
1061 "Visit the buffer on this line in another window." | |
1062 (interactive) | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1063 (let ((buf (ibuffer-current-buffer t))) |
42702 | 1064 (bury-buffer (current-buffer)) |
1065 (if noselect | |
1066 (let ((curwin (selected-window))) | |
1067 (pop-to-buffer buf) | |
1068 (select-window curwin)) | |
1069 (switch-to-buffer-other-window buf)))) | |
1070 | |
1071 (defun ibuffer-visit-buffer-other-window-noselect () | |
1072 "Visit the buffer on this line in another window, but don't select it." | |
1073 (interactive) | |
1074 (ibuffer-visit-buffer-other-window t)) | |
1075 | |
1076 (defun ibuffer-visit-buffer-other-frame () | |
1077 "Visit the buffer on this line in another frame." | |
1078 (interactive) | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1079 (let ((buf (ibuffer-current-buffer t))) |
42702 | 1080 (bury-buffer (current-buffer)) |
1081 (switch-to-buffer-other-frame buf))) | |
1082 | |
1083 (defun ibuffer-visit-buffer-1-window () | |
1084 "Visit the buffer on this line, and delete other windows." | |
1085 (interactive) | |
44659
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1086 (ibuffer-visit-buffer t)) |
42702 | 1087 |
1088 (defun ibuffer-bury-buffer () | |
1089 "Bury the buffer on this line." | |
1090 (interactive) | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1091 (let ((buf (ibuffer-current-buffer t)) |
42702 | 1092 (line (+ 1 (count-lines 1 (point))))) |
1093 (bury-buffer buf) | |
1094 (ibuffer-update nil t) | |
104543
da8b3e61b182
Use forward-line rather than goto-line.
Glenn Morris <rgm@gnu.org>
parents:
102270
diff
changeset
|
1095 (goto-char (point-min)) |
da8b3e61b182
Use forward-line rather than goto-line.
Glenn Morris <rgm@gnu.org>
parents:
102270
diff
changeset
|
1096 (forward-line (1- line)))) |
42702 | 1097 |
1098 (defun ibuffer-visit-tags-table () | |
1099 "Visit the tags table in the buffer on this line. See `visit-tags-table'." | |
1100 (interactive) | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1101 (let ((file (buffer-file-name (ibuffer-current-buffer t)))) |
42702 | 1102 (if file |
1103 (visit-tags-table file) | |
1104 (error "Specified buffer has no file")))) | |
1105 | |
1106 (defun ibuffer-do-view (&optional other-frame) | |
1107 "View marked buffers, or the buffer on the current line. | |
1108 If optional argument OTHER-FRAME is non-nil, then display each | |
1109 marked buffer in a new frame. Otherwise, display each buffer as | |
1110 a new window in the current frame, splitting vertically." | |
1111 (interactive) | |
1112 (ibuffer-do-view-1 (if other-frame 'other-frame 'vertically))) | |
1113 | |
1114 (defun ibuffer-do-view-horizontally (&optional other-frame) | |
1115 "As `ibuffer-do-view', but split windows horizontally." | |
1116 (interactive) | |
1117 (ibuffer-do-view-1 (if other-frame 'other-frame 'horizontally))) | |
1118 | |
1119 (defun ibuffer-do-view-1 (type) | |
1120 (let ((marked-bufs (ibuffer-get-marked-buffers))) | |
1121 (when (null marked-bufs) | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1122 (setq marked-bufs (list (ibuffer-current-buffer t)))) |
42702 | 1123 (unless (and (eq type 'other-frame) |
1124 (not ibuffer-expert) | |
1125 (> (length marked-bufs) 3) | |
1126 (not (y-or-n-p (format "Really create a new frame for %s buffers? " | |
1127 (length marked-bufs))))) | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1128 (set-buffer-modified-p nil) |
42702 | 1129 (delete-other-windows) |
1130 (switch-to-buffer (pop marked-bufs)) | |
1131 (let ((height (/ (1- (if (eq type 'horizontally) (frame-width) | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1132 (frame-height))) |
42702 | 1133 (1+ (length marked-bufs))))) |
1134 (mapcar (if (eq type 'other-frame) | |
1135 #'(lambda (buf) | |
1136 (let ((curframe (selected-frame))) | |
50708
c2c47be7d704
(ibuffer-name-map, ibuffer-mode-name-map)
John Paul Wallington <jpw@pobox.com>
parents:
50448
diff
changeset
|
1137 (select-frame (make-frame)) |
42702 | 1138 (switch-to-buffer buf) |
1139 (select-frame curframe))) | |
1140 #'(lambda (buf) | |
1141 (split-window nil height (eq type 'horizontally)) | |
1142 (other-window 1) | |
1143 (switch-to-buffer buf))) | |
1144 marked-bufs))))) | |
1145 | |
1146 (defun ibuffer-do-view-other-frame () | |
1147 "View each of the marked buffers in a separate frame." | |
1148 (interactive) | |
1149 (ibuffer-do-view t)) | |
1150 | |
1151 (defsubst ibuffer-map-marked-lines (func) | |
1152 (prog1 (ibuffer-map-on-mark ibuffer-marked-char func) | |
1153 (ibuffer-redisplay t))) | |
1154 | |
1155 (defun ibuffer-shrink-to-fit (&optional owin) | |
98561
bac33d669abf
ibuffer: Fix issue with ERC scroll-to-bottom (Bug #858).
Michael Olson <mwolson@gnu.org>
parents:
97396
diff
changeset
|
1156 ;; Make sure that redisplay is performed, otherwise there can be a |
bac33d669abf
ibuffer: Fix issue with ERC scroll-to-bottom (Bug #858).
Michael Olson <mwolson@gnu.org>
parents:
97396
diff
changeset
|
1157 ;; bad interaction with code in the window-scroll-functions hook |
bac33d669abf
ibuffer: Fix issue with ERC scroll-to-bottom (Bug #858).
Michael Olson <mwolson@gnu.org>
parents:
97396
diff
changeset
|
1158 (redisplay t) |
42702 | 1159 (fit-window-to-buffer nil (when owin (/ (frame-height) |
1160 (length (window-list (selected-frame))))))) | |
1161 | |
1162 (defun ibuffer-confirm-operation-on (operation names) | |
1163 "Display a buffer asking whether to perform OPERATION on NAMES." | |
1164 (or ibuffer-expert | |
1165 (if (= (length names) 1) | |
1166 (y-or-n-p (format "Really %s buffer %s? " operation (car names))) | |
1167 (let ((buf (get-buffer-create "*Ibuffer confirmation*"))) | |
1168 (with-current-buffer buf | |
1169 (setq buffer-read-only nil) | |
1170 (erase-buffer) | |
1171 (ibuffer-columnize-and-insert-list names) | |
1172 (goto-char (point-min)) | |
1173 (setq buffer-read-only t)) | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1174 (let ((lastwin (car (last (window-list nil 'nomini))))) |
42702 | 1175 ;; Now attempt to display the buffer... |
1176 (save-window-excursion | |
1177 (select-window lastwin) | |
1178 ;; The window might be too small to split; in that case, | |
48343
35889dbb9b84
(ibuffer-use-other-window, ibuffer-use-header-line)
John Paul Wallington <jpw@pobox.com>
parents:
48058
diff
changeset
|
1179 ;; try a few times to increase its size before giving up. |
42702 | 1180 (let ((attempts 0) |
1181 (trying t)) | |
1182 (while trying | |
1183 (condition-case err | |
1184 (progn | |
1185 (split-window) | |
1186 (setq trying nil)) | |
1187 (error | |
1188 ;; Handle a failure | |
1189 (if (or (> (incf attempts) 4) | |
1190 (and (stringp (cadr err)) | |
49588
37645a051842
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49410
diff
changeset
|
1191 ;; This definitely falls in the |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1192 ;; ghetto hack category... |
42702 | 1193 (not (string-match "too small" (cadr err))))) |
105665
4f559aa94368
(ibuffer-confirm-operation-on): Correction to error
Kevin Ryde <user42@zip.com.au>
parents:
105322
diff
changeset
|
1194 (signal (car err) (cdr err)) |
42702 | 1195 (enlarge-window 3)))))) |
1196 (select-window (next-window)) | |
1197 (switch-to-buffer buf) | |
1198 (unwind-protect | |
1199 (progn | |
1200 (fit-window-to-buffer) | |
1201 (y-or-n-p (format "Really %s %d buffers? " | |
1202 operation (length names)))) | |
1203 (kill-buffer buf)))))))) | |
1204 | |
1205 (defsubst ibuffer-map-lines-nomodify (function) | |
1206 "As `ibuffer-map-lines', but don't set the modification flag." | |
1207 (ibuffer-map-lines function t)) | |
1208 | |
1209 (defun ibuffer-buffer-names-with-mark (mark) | |
1210 (let ((ibuffer-buffer-names-with-mark-result nil)) | |
1211 (ibuffer-map-lines-nomodify | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1212 #'(lambda (buf mk) |
42702 | 1213 (when (char-equal mark mk) |
1214 (push (buffer-name buf) | |
1215 ibuffer-buffer-names-with-mark-result)))) | |
1216 ibuffer-buffer-names-with-mark-result)) | |
1217 | |
1218 (defsubst ibuffer-marked-buffer-names () | |
1219 (ibuffer-buffer-names-with-mark ibuffer-marked-char)) | |
1220 | |
1221 (defsubst ibuffer-deletion-marked-buffer-names () | |
1222 (ibuffer-buffer-names-with-mark ibuffer-deletion-char)) | |
1223 | |
1224 (defun ibuffer-count-marked-lines (&optional all) | |
1225 (if all | |
1226 (ibuffer-map-lines-nomodify | |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1227 #'(lambda (buf mark) |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1228 (not (char-equal mark ?\s)))) |
42702 | 1229 (ibuffer-map-lines-nomodify |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1230 #'(lambda (buf mark) |
42702 | 1231 (char-equal mark ibuffer-marked-char))))) |
1232 | |
1233 (defsubst ibuffer-count-deletion-lines () | |
1234 (ibuffer-map-lines-nomodify | |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1235 #'(lambda (buf mark) |
42702 | 1236 (char-equal mark ibuffer-deletion-char)))) |
1237 | |
1238 (defsubst ibuffer-map-deletion-lines (func) | |
1239 (ibuffer-map-on-mark ibuffer-deletion-char func)) | |
1240 | |
94977
905940be40d9
(ibuffer-assert-ibuffer-mode): New defsubst.
John Paul Wallington <jpw@pobox.com>
parents:
94905
diff
changeset
|
1241 (defsubst ibuffer-assert-ibuffer-mode () |
102210
d7624c39682b
* ibuffer.el (ibuffer-redisplay-engine): Avoid "Mark set" message clobbering
Juanma Barranquero <lekktu@gmail.com>
parents:
100908
diff
changeset
|
1242 (assert (derived-mode-p 'ibuffer-mode))) |
94977
905940be40d9
(ibuffer-assert-ibuffer-mode): New defsubst.
John Paul Wallington <jpw@pobox.com>
parents:
94905
diff
changeset
|
1243 |
94905
c3aeab0459b2
(ibuffer-buffer-file-name): New function.
John Paul Wallington <jpw@pobox.com>
parents:
94678
diff
changeset
|
1244 (defun ibuffer-buffer-file-name () |
c3aeab0459b2
(ibuffer-buffer-file-name): New function.
John Paul Wallington <jpw@pobox.com>
parents:
94678
diff
changeset
|
1245 (or buffer-file-name |
c3aeab0459b2
(ibuffer-buffer-file-name): New function.
John Paul Wallington <jpw@pobox.com>
parents:
94678
diff
changeset
|
1246 (let ((dirname (or (and (boundp 'dired-directory) |
c3aeab0459b2
(ibuffer-buffer-file-name): New function.
John Paul Wallington <jpw@pobox.com>
parents:
94678
diff
changeset
|
1247 (if (stringp dired-directory) |
c3aeab0459b2
(ibuffer-buffer-file-name): New function.
John Paul Wallington <jpw@pobox.com>
parents:
94678
diff
changeset
|
1248 dired-directory |
c3aeab0459b2
(ibuffer-buffer-file-name): New function.
John Paul Wallington <jpw@pobox.com>
parents:
94678
diff
changeset
|
1249 (car dired-directory))) |
96491
c427b6f2332a
(ibuffer-buffer-file-name): Use `list-buffers-directory'. Remove
John Paul Wallington <jpw@pobox.com>
parents:
94977
diff
changeset
|
1250 (bound-and-true-p list-buffers-directory)))) |
97396
d122b5da1bae
(ibuffer-buffer-file-name): Return nil rather than empty string when
John Paul Wallington <jpw@pobox.com>
parents:
96956
diff
changeset
|
1251 (and dirname (expand-file-name dirname))))) |
94905
c3aeab0459b2
(ibuffer-buffer-file-name): New function.
John Paul Wallington <jpw@pobox.com>
parents:
94678
diff
changeset
|
1252 |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
1253 (define-ibuffer-op ibuffer-do-save () |
42702 | 1254 "Save marked buffers as with `save-buffer'." |
1255 (:complex t | |
1256 :opstring "saved" | |
1257 :modifier-p :maybe) | |
1258 (when (buffer-modified-p buf) | |
1259 (if (not (with-current-buffer buf | |
1260 buffer-file-name)) | |
1261 ;; handle the case where we're prompted | |
1262 ;; for a file name | |
1263 (save-window-excursion | |
1264 (switch-to-buffer buf) | |
1265 (save-buffer)) | |
1266 (with-current-buffer buf | |
1267 (save-buffer)))) | |
1268 t) | |
1269 | |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
1270 (define-ibuffer-op ibuffer-do-toggle-modified () |
42702 | 1271 "Toggle modification flag of marked buffers." |
1272 (:opstring "(un)marked as modified" | |
1273 :modifier-p t) | |
1274 (set-buffer-modified-p (not (buffer-modified-p)))) | |
1275 | |
92221
dadfc0119018
(ibuffer-do-toggle-read-only): New optional arg as in
Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
parents:
91782
diff
changeset
|
1276 (define-ibuffer-op ibuffer-do-toggle-read-only (&optional arg) |
dadfc0119018
(ibuffer-do-toggle-read-only): New optional arg as in
Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
parents:
91782
diff
changeset
|
1277 "Toggle read only status in marked buffers. |
92226
bafdf3c04297
(ibuffer-do-toggle-read-only): Don't use `iff' in doc-string.
Glenn Morris <rgm@gnu.org>
parents:
92221
diff
changeset
|
1278 With optional ARG, make read-only only if ARG is positive." |
42702 | 1279 (:opstring "toggled read only status in" |
92221
dadfc0119018
(ibuffer-do-toggle-read-only): New optional arg as in
Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
parents:
91782
diff
changeset
|
1280 :interactive "P" |
42702 | 1281 :modifier-p t) |
92221
dadfc0119018
(ibuffer-do-toggle-read-only): New optional arg as in
Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
parents:
91782
diff
changeset
|
1282 (toggle-read-only arg)) |
42702 | 1283 |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
1284 (define-ibuffer-op ibuffer-do-delete () |
42702 | 1285 "Kill marked buffers as with `kill-this-buffer'." |
1286 (:opstring "killed" | |
1287 :active-opstring "kill" | |
1288 :dangerous t | |
1289 :complex t | |
1290 :modifier-p t) | |
1291 (if (kill-buffer buf) | |
1292 'kill | |
1293 nil)) | |
1294 | |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
1295 (define-ibuffer-op ibuffer-do-kill-on-deletion-marks () |
42702 | 1296 "Kill buffers marked for deletion as with `kill-this-buffer'." |
1297 (:opstring "killed" | |
1298 :active-opstring "kill" | |
1299 :dangerous t | |
1300 :complex t | |
1301 :mark :deletion | |
1302 :modifier-p t) | |
1303 (if (kill-buffer buf) | |
1304 'kill | |
1305 nil)) | |
1306 | |
1307 (defun ibuffer-unmark-all (mark) | |
1308 "Unmark all buffers with mark MARK." | |
1309 (interactive "cRemove marks (RET means all):") | |
1310 (if (= (ibuffer-count-marked-lines t) 0) | |
1311 (message "No buffers marked; use 'm' to mark a buffer") | |
1312 (cond | |
1313 ((char-equal mark ibuffer-marked-char) | |
1314 (ibuffer-map-marked-lines | |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1315 #'(lambda (buf mark) |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1316 (ibuffer-set-mark-1 ?\s) |
42702 | 1317 t))) |
1318 ((char-equal mark ibuffer-deletion-char) | |
1319 (ibuffer-map-deletion-lines | |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1320 #'(lambda (buf mark) |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1321 (ibuffer-set-mark-1 ?\s) |
42702 | 1322 t))) |
1323 (t | |
1324 (ibuffer-map-lines | |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1325 #'(lambda (buf mark) |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1326 (when (not (char-equal mark ?\s)) |
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1327 (ibuffer-set-mark-1 ?\s)) |
42702 | 1328 t))))) |
1329 (ibuffer-redisplay t)) | |
1330 | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1331 (defun ibuffer-toggle-marks (&optional group) |
42702 | 1332 "Toggle which buffers are marked. |
1333 In other words, unmarked buffers become marked, and marked buffers | |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1334 become unmarked. |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1335 If point is on a group name, then this function operates on that |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1336 group." |
42702 | 1337 (interactive) |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1338 (ibuffer-aif (get-text-property (point) 'ibuffer-filter-group-name) |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1339 (setq group it)) |
42702 | 1340 (let ((count |
1341 (ibuffer-map-lines | |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1342 #'(lambda (buf mark) |
42702 | 1343 (cond ((eq mark ibuffer-marked-char) |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1344 (ibuffer-set-mark-1 ?\s) |
42702 | 1345 nil) |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1346 ((eq mark ?\s) |
42702 | 1347 (ibuffer-set-mark-1 ibuffer-marked-char) |
1348 t) | |
1349 (t | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1350 nil))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1351 nil group))) |
42702 | 1352 (message "%s buffers marked" count)) |
1353 (ibuffer-redisplay t)) | |
1354 | |
1355 (defun ibuffer-mark-forward (arg) | |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1356 "Mark the buffer on this line, and move forward ARG lines. |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1357 If point is on a group name, this function operates on that group." |
42702 | 1358 (interactive "P") |
1359 (ibuffer-mark-interactive arg ibuffer-marked-char 1)) | |
1360 | |
1361 (defun ibuffer-unmark-forward (arg) | |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1362 "Unmark the buffer on this line, and move forward ARG lines. |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1363 If point is on a group name, this function operates on that group." |
42702 | 1364 (interactive "P") |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1365 (ibuffer-mark-interactive arg ?\s 1)) |
42702 | 1366 |
1367 (defun ibuffer-unmark-backward (arg) | |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1368 "Unmark the buffer on this line, and move backward ARG lines. |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1369 If point is on a group name, this function operates on that group." |
42702 | 1370 (interactive "P") |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1371 (ibuffer-mark-interactive arg ?\s -1)) |
42702 | 1372 |
1373 (defun ibuffer-mark-interactive (arg mark movement) | |
94977
905940be40d9
(ibuffer-assert-ibuffer-mode): New defsubst.
John Paul Wallington <jpw@pobox.com>
parents:
94905
diff
changeset
|
1374 (ibuffer-assert-ibuffer-mode) |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1375 (or arg (setq arg 1)) |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1376 (ibuffer-forward-line 0) |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1377 (ibuffer-aif (get-text-property (point) 'ibuffer-filter-group-name) |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1378 (progn |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1379 (require 'ibuf-ext) |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1380 (ibuffer-mark-on-buffer #'identity mark it)) |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1381 (ibuffer-forward-line 0 t) |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1382 (let ((inhibit-read-only t)) |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1383 (while (> arg 0) |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1384 (ibuffer-set-mark mark) |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1385 (ibuffer-forward-line movement t) |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1386 (setq arg (1- arg)))))) |
42702 | 1387 |
1388 (defun ibuffer-set-mark (mark) | |
94977
905940be40d9
(ibuffer-assert-ibuffer-mode): New defsubst.
John Paul Wallington <jpw@pobox.com>
parents:
94905
diff
changeset
|
1389 (ibuffer-assert-ibuffer-mode) |
42702 | 1390 (let ((inhibit-read-only t)) |
1391 (ibuffer-set-mark-1 mark) | |
1392 (setq ibuffer-did-modification t) | |
44021
b2462b8e1cf2
(ibuffer-set-mark): Go back to the beginning of the line after setting
Colin Walters <walters@gnu.org>
parents:
43873
diff
changeset
|
1393 (ibuffer-redisplay-current) |
b2462b8e1cf2
(ibuffer-set-mark): Go back to the beginning of the line after setting
Colin Walters <walters@gnu.org>
parents:
43873
diff
changeset
|
1394 (beginning-of-line))) |
42702 | 1395 |
1396 (defun ibuffer-set-mark-1 (mark) | |
1397 (let ((beg (line-beginning-position)) | |
1398 (end (line-end-position))) | |
1399 (put-text-property beg end 'ibuffer-properties | |
1400 (list (ibuffer-current-buffer) | |
1401 mark)))) | |
1402 | |
1403 (defun ibuffer-mark-for-delete (arg) | |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1404 "Mark the buffers on ARG lines forward for deletion. |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1405 If point is on a group name, this function operates on that group." |
42702 | 1406 (interactive "P") |
1407 (ibuffer-mark-interactive arg ibuffer-deletion-char 1)) | |
1408 | |
1409 (defun ibuffer-mark-for-delete-backwards (arg) | |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1410 "Mark the buffers on ARG lines backward for deletion. |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
1411 If point is on a group name, this function operates on that group." |
42702 | 1412 (interactive "P") |
1413 (ibuffer-mark-interactive arg ibuffer-deletion-char -1)) | |
1414 | |
1415 (defun ibuffer-current-buffer (&optional must-be-live) | |
1416 (let ((buf (car (get-text-property (line-beginning-position) | |
1417 'ibuffer-properties)))) | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1418 (when must-be-live |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1419 (if (bufferp buf) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1420 (unless (buffer-live-p buf) |
87145
f19c915a241f
Fix my previous breakages; improve ChangeLog
Deepak Goel <deego@gnufans.org>
parents:
87139
diff
changeset
|
1421 (error "Buffer %s has been killed; %s" buf (substitute-command-keys "use `\\[ibuffer-update]' to update"))) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1422 (error "No buffer on this line"))) |
42702 | 1423 buf)) |
43104
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1424 |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1425 (defun ibuffer-active-formats-name () |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1426 (if (boundp 'ibuffer-filter-format-alist) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1427 (let ((ret nil)) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1428 (dolist (filter ibuffer-filtering-qualifiers ret) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1429 (let ((val (assq (car filter) ibuffer-filter-format-alist))) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1430 (when val |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1431 (setq ret (car filter))))) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1432 (if ret |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1433 ret |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1434 :ibuffer-formats)) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1435 :ibuffer-formats)) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1436 |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1437 (defun ibuffer-current-formats (uncompiledp) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1438 (let* ((name (ibuffer-active-formats-name))) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1439 (ibuffer-check-formats) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1440 (if (eq name :ibuffer-formats) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1441 (if uncompiledp |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1442 ibuffer-formats |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1443 ibuffer-compiled-formats) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1444 (cadr (assq name |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1445 (if uncompiledp |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1446 ibuffer-filter-format-alist |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1447 ibuffer-compiled-filter-formats)))))) |
49588
37645a051842
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49410
diff
changeset
|
1448 |
43104
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1449 (defun ibuffer-current-format (&optional uncompiledp) |
42702 | 1450 (or ibuffer-current-format |
1451 (setq ibuffer-current-format 0)) | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1452 (nth ibuffer-current-format (ibuffer-current-formats uncompiledp))) |
42702 | 1453 |
1454 (defun ibuffer-expand-format-entry (form) | |
1455 (if (or (consp form) | |
1456 (symbolp form)) | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1457 (let ((sym (intern (concat "ibuffer-make-column-" |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1458 (symbol-name (if (consp form) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1459 (car form) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1460 form)))))) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1461 (unless (or (fboundp sym) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1462 (assq sym ibuffer-inline-columns)) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1463 (error "Unknown column %s in ibuffer-formats" form)) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1464 (let (min max align elide) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1465 (if (consp form) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1466 (setq min (or (nth 1 form) 0) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1467 max (or (nth 2 form) -1) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1468 align (or (nth 3 form) :left) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1469 elide (or (nth 4 form) nil)) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1470 (setq min 0 |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1471 max -1 |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1472 align :left |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1473 elide nil)) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1474 (list sym min max align elide))) |
42702 | 1475 form)) |
49588
37645a051842
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49410
diff
changeset
|
1476 |
42702 | 1477 (defun ibuffer-compile-make-eliding-form (strvar elide from-end-p) |
45687
434d9f56eab8
(ibuffer-category-alist): Delete.
Colin Walters <walters@gnu.org>
parents:
45443
diff
changeset
|
1478 (let ((ellipsis (propertize ibuffer-eliding-string 'font-lock-face 'bold))) |
65089
b4238c551ea7
(ibuffer-compile-make-eliding-form, ibuffer-check-formats): Use
Juanma Barranquero <lekktu@gmail.com>
parents:
64762
diff
changeset
|
1479 (if (or elide (with-no-warnings ibuffer-elide-long-columns)) |
42702 | 1480 `(if (> strlen 5) |
1481 ,(if from-end-p | |
1482 `(concat ,ellipsis | |
1483 (substring ,strvar | |
1484 (length ibuffer-eliding-string))) | |
1485 `(concat | |
1486 (substring ,strvar 0 (- strlen ,(length ellipsis))) | |
1487 ,ellipsis)) | |
1488 ,strvar) | |
1489 strvar))) | |
1490 | |
1491 (defun ibuffer-compile-make-substring-form (strvar maxvar from-end-p) | |
1492 (if from-end-p | |
1493 `(substring str | |
1494 (- strlen ,maxvar)) | |
1495 `(substring ,strvar 0 ,maxvar))) | |
1496 | |
1497 (defun ibuffer-compile-make-format-form (strvar widthform alignment) | |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1498 (let* ((left `(make-string tmp2 ?\s)) |
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1499 (right `(make-string (- tmp1 tmp2) ?\s))) |
42702 | 1500 `(progn |
1501 (setq tmp1 ,widthform | |
1502 tmp2 (/ tmp1 2)) | |
1503 ,(case alignment | |
1504 (:right `(concat ,left ,right ,strvar)) | |
1505 (:center `(concat ,left ,strvar ,right)) | |
1506 (:left `(concat ,strvar ,left ,right)) | |
1507 (t (error "Invalid alignment %s" alignment)))))) | |
1508 | |
1509 (defun ibuffer-compile-format (format) | |
1510 (let ((result nil) | |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1511 ;; We use these variables to keep track of which variables |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1512 ;; inside the generated function we need to bind, since |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1513 ;; binding variables in Emacs takes time. |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1514 str-used tmp1-used tmp2-used global-strlen-used) |
42702 | 1515 (dolist (form format) |
1516 (push | |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1517 ;; Generate a form based on a particular format entry, like |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1518 ;; " ", mark, or (mode 16 16 :right). |
42702 | 1519 (if (stringp form) |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1520 ;; It's a string; all we need to do is insert it. |
42702 | 1521 `(insert ,form) |
1522 (let* ((form (ibuffer-expand-format-entry form)) | |
1523 (sym (nth 0 form)) | |
1524 (min (nth 1 form)) | |
1525 (max (nth 2 form)) | |
1526 (align (nth 3 form)) | |
1527 (elide (nth 4 form))) | |
1528 (let* ((from-end-p (when (minusp min) | |
1529 (setq min (- min)) | |
1530 t)) | |
1531 (letbindings nil) | |
1532 (outforms nil) | |
1533 minform | |
1534 maxform | |
1535 min-used max-used strlen-used) | |
1536 (when (or (not (integerp min)) (>= min 0)) | |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1537 ;; This is a complex case; they want it limited to a |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1538 ;; minimum size. |
42702 | 1539 (setq min-used t) |
1540 (setq str-used t strlen-used t global-strlen-used t | |
1541 tmp1-used t tmp2-used t) | |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1542 ;; Generate code to limit the string to a minimum size. |
42702 | 1543 (setq minform `(progn |
1544 (setq str | |
1545 ,(ibuffer-compile-make-format-form | |
1546 'str | |
1547 `(- ,(if (integerp min) | |
1548 min | |
1549 'min) | |
1550 strlen) | |
1551 align))))) | |
1552 (when (or (not (integerp max)) (> max 0)) | |
1553 (setq str-used t max-used t) | |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1554 ;; Generate code to limit the string to a maximum size. |
42702 | 1555 (setq maxform `(progn |
1556 (setq str | |
1557 ,(ibuffer-compile-make-substring-form | |
1558 'str | |
1559 (if (integerp max) | |
1560 max | |
1561 'max) | |
1562 from-end-p)) | |
1563 (setq strlen (length str)) | |
1564 (setq str | |
1565 ,(ibuffer-compile-make-eliding-form 'str | |
1566 elide | |
1567 from-end-p))))) | |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1568 ;; Now, put these forms together with the rest of the code. |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1569 (let ((callform |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1570 ;; Is this an "inline" column? This means we have |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1571 ;; to get the code from the |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1572 ;; `ibuffer-inline-columns' alist and insert it |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1573 ;; into our generated code. Otherwise, we just |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1574 ;; generate a call to the column function. |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1575 (ibuffer-aif (assq sym ibuffer-inline-columns) |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1576 (nth 1 it) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1577 `(,sym buffer mark))) |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1578 ;; You're not expected to understand this. Hell, I |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1579 ;; don't even understand it, and I wrote it five |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1580 ;; minutes ago. |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1581 (insertgenfn (ibuffer-aif (get sym 'ibuffer-column-summarizer) |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1582 ;; I really, really wish Emacs Lisp had closures. |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1583 (lambda (arg sym) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1584 `(insert |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1585 (let ((ret ,arg)) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1586 (put ',sym 'ibuffer-column-summary |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1587 (cons ret (get ',sym 'ibuffer-column-summary))) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1588 ret))) |
45687
434d9f56eab8
(ibuffer-category-alist): Delete.
Colin Walters <walters@gnu.org>
parents:
45443
diff
changeset
|
1589 (lambda (arg sym) |
434d9f56eab8
(ibuffer-category-alist): Delete.
Colin Walters <walters@gnu.org>
parents:
45443
diff
changeset
|
1590 `(insert ,arg)))) |
42702 | 1591 (mincompform `(< strlen ,(if (integerp min) |
1592 min | |
1593 'min))) | |
1594 (maxcompform `(> strlen ,(if (integerp max) | |
1595 max | |
1596 'max)))) | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1597 (if (or min-used max-used) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1598 ;; The complex case, where we have to limit the |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1599 ;; form to a maximum or minimum size. |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1600 (progn |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1601 (when (and min-used (not (integerp min))) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1602 (push `(min ,min) letbindings)) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1603 (when (and max-used (not (integerp max))) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1604 (push `(max ,max) letbindings)) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1605 (push |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1606 (if (and min-used max-used) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1607 `(if ,mincompform |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1608 ,minform |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1609 (if ,maxcompform |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1610 ,maxform)) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1611 (if min-used |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1612 `(when ,mincompform |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1613 ,minform) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1614 `(when ,maxcompform |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1615 ,maxform))) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1616 outforms) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1617 (push (append |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1618 `(setq str ,callform) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1619 (when strlen-used |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1620 `(strlen (length str)))) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1621 outforms) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1622 (setq outforms |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1623 (append outforms (list (funcall insertgenfn 'str sym))))) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1624 ;; The simple case; just insert the string. |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1625 (push (funcall insertgenfn callform sym) outforms)) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1626 ;; Finally, return a `let' form which binds the |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1627 ;; variables in `letbindings', and contains all the |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1628 ;; code in `outforms'. |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1629 `(let ,letbindings |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1630 ,@outforms))))) |
42702 | 1631 result)) |
1632 (setq result | |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1633 ;; We don't want to unconditionally load the byte-compiler. |
42702 | 1634 (funcall (if (or ibuffer-always-compile-formats |
1635 (featurep 'bytecomp)) | |
1636 #'byte-compile | |
1637 #'identity) | |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1638 ;; Here, we actually create a lambda form which |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1639 ;; inserts all the generated forms for each entry |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1640 ;; in the format string. |
42702 | 1641 (nconc (list 'lambda '(buffer mark)) |
43489
ffa9b62fa5b9
(ibuffer-compile-format): Don't uselessly bind `pt' in generated
Colin Walters <walters@gnu.org>
parents:
43382
diff
changeset
|
1642 `((let ,(append (when str-used |
42702 | 1643 '(str)) |
1644 (when global-strlen-used | |
1645 '(strlen)) | |
1646 (when tmp1-used | |
1647 '(tmp1)) | |
1648 (when tmp2-used | |
1649 '(tmp2))) | |
1650 ,@(nreverse result)))))))) | |
1651 | |
1652 (defun ibuffer-recompile-formats () | |
1653 "Recompile `ibuffer-formats'." | |
1654 (interactive) | |
1655 (setq ibuffer-compiled-formats | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1656 (mapcar #'ibuffer-compile-format ibuffer-formats)) |
43104
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1657 (when (boundp 'ibuffer-filter-format-alist) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1658 (setq ibuffer-compiled-filter-formats |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1659 (mapcar #'(lambda (entry) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1660 (cons (car entry) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1661 (mapcar #'(lambda (formats) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1662 (mapcar #'ibuffer-compile-format formats)) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1663 (cdr entry)))) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1664 ibuffer-filter-format-alist)))) |
42702 | 1665 |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1666 (defun ibuffer-clear-summary-columns (format) |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1667 (dolist (form format) |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1668 (ibuffer-awhen (and (consp form) |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1669 (get (car form) 'ibuffer-column-summarizer)) |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1670 (put (car form) 'ibuffer-column-summary nil)))) |
49588
37645a051842
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49410
diff
changeset
|
1671 |
42702 | 1672 (defun ibuffer-check-formats () |
43104
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1673 (when (null ibuffer-formats) |
2a6ac08c9a18
(ibuffer): Remove link; the "home page" for ibuffer is now the Emacs
Colin Walters <walters@gnu.org>
parents:
42884
diff
changeset
|
1674 (error "No formats!")) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1675 (let ((ext-loaded (featurep 'ibuf-ext))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1676 (when (or (null ibuffer-compiled-formats) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1677 (null ibuffer-cached-formats) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1678 (not (eq ibuffer-cached-formats ibuffer-formats)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1679 (null ibuffer-cached-eliding-string) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1680 (not (equal ibuffer-cached-eliding-string ibuffer-eliding-string)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1681 (eql 0 ibuffer-cached-elide-long-columns) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1682 (not (eql ibuffer-cached-elide-long-columns |
65089
b4238c551ea7
(ibuffer-compile-make-eliding-form, ibuffer-check-formats): Use
Juanma Barranquero <lekktu@gmail.com>
parents:
64762
diff
changeset
|
1683 (with-no-warnings ibuffer-elide-long-columns))) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1684 (and ext-loaded |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1685 (not (eq ibuffer-cached-filter-formats |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1686 ibuffer-filter-format-alist)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1687 (and ibuffer-filter-format-alist |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1688 (null ibuffer-compiled-filter-formats)))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1689 (message "Formats have changed, recompiling...") |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1690 (ibuffer-recompile-formats) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1691 (setq ibuffer-cached-formats ibuffer-formats |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1692 ibuffer-cached-eliding-string ibuffer-eliding-string |
65089
b4238c551ea7
(ibuffer-compile-make-eliding-form, ibuffer-check-formats): Use
Juanma Barranquero <lekktu@gmail.com>
parents:
64762
diff
changeset
|
1693 ibuffer-cached-elide-long-columns (with-no-warnings ibuffer-elide-long-columns)) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1694 (when ext-loaded |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1695 (setq ibuffer-cached-filter-formats ibuffer-filter-format-alist)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1696 (message "Formats have changed, recompiling...done")))) |
42702 | 1697 |
1698 (defvar ibuffer-inline-columns nil) | |
1699 | |
1700 (define-ibuffer-column mark (:name " " :inline t) | |
1701 (string mark)) | |
1702 | |
1703 (define-ibuffer-column read-only (:name "R" :inline t) | |
1704 (if buffer-read-only | |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1705 (string ibuffer-read-only-char) |
42702 | 1706 " ")) |
1707 | |
1708 (define-ibuffer-column modified (:name "M" :inline t) | |
1709 (if (buffer-modified-p) | |
1710 (string ibuffer-modified-char) | |
1711 " ")) | |
1712 | |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1713 (define-ibuffer-column name |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1714 (:inline t |
69764
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
1715 :header-mouse-map ibuffer-name-header-map |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1716 :props |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1717 ('mouse-face 'highlight 'keymap ibuffer-name-map |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1718 'ibuffer-name-column t |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1719 'help-echo '(if tooltip-mode |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1720 "mouse-1: mark this buffer\nmouse-2: select this buffer\nmouse-3: operate on this buffer" |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1721 "mouse-1: mark buffer mouse-2: select buffer mouse-3: operate")) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1722 :summarizer |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1723 (lambda (strings) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1724 (let ((bufs (length strings))) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1725 (cond ((zerop bufs) "No buffers") |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1726 ((= 1 bufs) "1 buffer") |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1727 (t (format "%s buffers" bufs)))))) |
45687
434d9f56eab8
(ibuffer-category-alist): Delete.
Colin Walters <walters@gnu.org>
parents:
45443
diff
changeset
|
1728 (propertize (buffer-name) 'font-lock-face (ibuffer-buffer-name-face buffer mark))) |
49588
37645a051842
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49410
diff
changeset
|
1729 |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1730 (define-ibuffer-column size |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1731 (:inline t |
69764
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
1732 :header-mouse-map ibuffer-size-header-map |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1733 :summarizer |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1734 (lambda (column-strings) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1735 (let ((total 0)) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1736 (dolist (string column-strings) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1737 (setq total |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1738 ;; like, ewww ... |
56630
50923476a86f
(define-ibuffer-column size): Use string-to-number instead of string-to-int.
John Paul Wallington <jpw@pobox.com>
parents:
56337
diff
changeset
|
1739 (+ (float (string-to-number string)) |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1740 total))) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1741 (format "%.0f" total)))) |
42702 | 1742 (format "%s" (buffer-size))) |
1743 | |
56630
50923476a86f
(define-ibuffer-column size): Use string-to-number instead of string-to-int.
John Paul Wallington <jpw@pobox.com>
parents:
56337
diff
changeset
|
1744 (define-ibuffer-column mode |
50923476a86f
(define-ibuffer-column size): Use string-to-number instead of string-to-int.
John Paul Wallington <jpw@pobox.com>
parents:
56337
diff
changeset
|
1745 (:inline t |
69764
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
1746 :header-mouse-map ibuffer-mode-header-map |
56630
50923476a86f
(define-ibuffer-column size): Use string-to-number instead of string-to-int.
John Paul Wallington <jpw@pobox.com>
parents:
56337
diff
changeset
|
1747 :props |
50923476a86f
(define-ibuffer-column size): Use string-to-number instead of string-to-int.
John Paul Wallington <jpw@pobox.com>
parents:
56337
diff
changeset
|
1748 ('mouse-face 'highlight |
50923476a86f
(define-ibuffer-column size): Use string-to-number instead of string-to-int.
John Paul Wallington <jpw@pobox.com>
parents:
56337
diff
changeset
|
1749 'keymap ibuffer-mode-name-map |
50923476a86f
(define-ibuffer-column size): Use string-to-number instead of string-to-int.
John Paul Wallington <jpw@pobox.com>
parents:
56337
diff
changeset
|
1750 'help-echo "mouse-2: filter by this mode")) |
87791
179da0eedc24
(mode): Pass the buffer to format-mode-line.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
1751 (format-mode-line mode-name nil nil (current-buffer))) |
42702 | 1752 |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1753 (define-ibuffer-column process |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1754 (:summarizer |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1755 (lambda (strings) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1756 (let ((total (length (delete "" strings)))) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1757 (cond ((zerop total) "No processes") |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1758 ((= 1 total) "1 process") |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1759 (t (format "%d processes" total)))))) |
44870
ed308b745565
(define column process): Use `ibuffer-aif'.
Colin Walters <walters@gnu.org>
parents:
44854
diff
changeset
|
1760 (ibuffer-aif (get-buffer-process buffer) |
ed308b745565
(define column process): Use `ibuffer-aif'.
Colin Walters <walters@gnu.org>
parents:
44854
diff
changeset
|
1761 (format "(%s %s)" it (process-status it)) |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1762 "")) |
42702 | 1763 |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1764 (define-ibuffer-column filename |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1765 (:summarizer |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1766 (lambda (strings) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1767 (let ((total (length (delete "" strings)))) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1768 (cond ((zerop total) "No files") |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1769 ((= 1 total) "1 file") |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1770 (t (format "%d files" total)))))) |
42702 | 1771 (let ((directory-abbrev-alist ibuffer-directory-abbrev-alist)) |
1772 (abbreviate-file-name | |
97396
d122b5da1bae
(ibuffer-buffer-file-name): Return nil rather than empty string when
John Paul Wallington <jpw@pobox.com>
parents:
96956
diff
changeset
|
1773 (or (ibuffer-buffer-file-name) "")))) |
42702 | 1774 |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1775 (define-ibuffer-column filename-and-process |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1776 (:name "Filename/Process" |
87960
4693d30bd9c1
* ibuffer.el (ibuffer-default-sorting-mode): Add option to sort by
Dan Nicolaescu <dann@ics.uci.edu>
parents:
87869
diff
changeset
|
1777 :header-mouse-map ibuffer-filename/process-header-map |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1778 :summarizer |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1779 (lambda (strings) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1780 (setq strings (delete "" strings)) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1781 (let ((procs 0) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1782 (files 0)) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1783 (dolist (string strings) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1784 (if (string-match "\\(\?:\\`(\[\[:ascii:\]\]\+)\\)" string) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1785 (progn (setq procs (1+ procs)) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1786 (if (< (match-end 0) (length string)) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1787 (setq files (1+ files)))) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1788 (setq files (1+ files)))) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1789 (concat (cond ((zerop files) "No files") |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1790 ((= 1 files) "1 file") |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1791 (t (format "%d files" files))) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1792 ", " |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1793 (cond ((zerop procs) "no processes") |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1794 ((= 1 procs) "1 process") |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1795 (t (format "%d processes" procs))))))) |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
1796 (let ((proc (get-buffer-process buffer)) |
45705
650fdcae4092
(ibuffer-mode): Do set `font-lock-defaults', and be sure to set
Colin Walters <walters@gnu.org>
parents:
45687
diff
changeset
|
1797 (filename (ibuffer-make-column-filename buffer mark))) |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
1798 (if proc |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1799 (concat (propertize (format "(%s %s)" proc (process-status proc)) |
45687
434d9f56eab8
(ibuffer-category-alist): Delete.
Colin Walters <walters@gnu.org>
parents:
45443
diff
changeset
|
1800 'font-lock-face 'italic) |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1801 (if (> (length filename) 0) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1802 (format " %s" filename) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
1803 "")) |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
1804 filename))) |
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
1805 |
42702 | 1806 (defun ibuffer-format-column (str width alignment) |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1807 (let ((left (make-string (/ width 2) ?\s)) |
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1808 (right (make-string (- width (/ width 2)) ?\s))) |
42702 | 1809 (case alignment |
1810 (:right (concat left right str)) | |
1811 (:center (concat left str right)) | |
1812 (t (concat str left right))))) | |
1813 | |
45687
434d9f56eab8
(ibuffer-category-alist): Delete.
Colin Walters <walters@gnu.org>
parents:
45443
diff
changeset
|
1814 (defun ibuffer-buffer-name-face (buf mark) |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
1815 (cond ((char-equal mark ibuffer-marked-char) |
45687
434d9f56eab8
(ibuffer-category-alist): Delete.
Colin Walters <walters@gnu.org>
parents:
45443
diff
changeset
|
1816 ibuffer-marked-face) |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
1817 ((char-equal mark ibuffer-deletion-char) |
45687
434d9f56eab8
(ibuffer-category-alist): Delete.
Colin Walters <walters@gnu.org>
parents:
45443
diff
changeset
|
1818 ibuffer-deletion-face) |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
1819 (t |
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
1820 (let ((level -1) |
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
1821 result) |
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
1822 (dolist (e ibuffer-fontification-alist result) |
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
1823 (when (and (> (car e) level) |
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
1824 (with-current-buffer buf |
45687
434d9f56eab8
(ibuffer-category-alist): Delete.
Colin Walters <walters@gnu.org>
parents:
45443
diff
changeset
|
1825 (eval (nth 1 e)))) |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
1826 (setq level (car e) |
45687
434d9f56eab8
(ibuffer-category-alist): Delete.
Colin Walters <walters@gnu.org>
parents:
45443
diff
changeset
|
1827 result (nth 2 e)))))))) |
42702 | 1828 |
1829 (defun ibuffer-insert-buffer-line (buffer mark format) | |
1830 "Insert a line describing BUFFER and MARK using FORMAT." | |
94977
905940be40d9
(ibuffer-assert-ibuffer-mode): New defsubst.
John Paul Wallington <jpw@pobox.com>
parents:
94905
diff
changeset
|
1831 (ibuffer-assert-ibuffer-mode) |
42702 | 1832 (let ((beg (point))) |
1833 (funcall format buffer mark) | |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1834 (put-text-property beg (point) 'ibuffer-properties (list buffer mark))) |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1835 (insert "\n")) |
42702 | 1836 |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1837 ;; This function knows a bit too much of the internals. It would be |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1838 ;; nice if it was all abstracted away. |
42702 | 1839 (defun ibuffer-redisplay-current () |
94977
905940be40d9
(ibuffer-assert-ibuffer-mode): New defsubst.
John Paul Wallington <jpw@pobox.com>
parents:
94905
diff
changeset
|
1840 (ibuffer-assert-ibuffer-mode) |
42702 | 1841 (when (eobp) |
1842 (forward-line -1)) | |
1843 (beginning-of-line) | |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1844 (let ((curformat (mapcar #'ibuffer-expand-format-entry |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1845 (ibuffer-current-format t)))) |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1846 (ibuffer-clear-summary-columns curformat) |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1847 (let ((buf (ibuffer-current-buffer))) |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1848 (when buf |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1849 (let ((mark (ibuffer-current-mark))) |
43873
2ce5d75bd538
(ibuffer-redisplay-current): Don't move point when redisplaying a
Colin Walters <walters@gnu.org>
parents:
43768
diff
changeset
|
1850 (save-excursion |
2ce5d75bd538
(ibuffer-redisplay-current): Don't move point when redisplaying a
Colin Walters <walters@gnu.org>
parents:
43768
diff
changeset
|
1851 (delete-region (point) (1+ (line-end-position))) |
2ce5d75bd538
(ibuffer-redisplay-current): Don't move point when redisplaying a
Colin Walters <walters@gnu.org>
parents:
43768
diff
changeset
|
1852 (ibuffer-insert-buffer-line |
2ce5d75bd538
(ibuffer-redisplay-current): Don't move point when redisplaying a
Colin Walters <walters@gnu.org>
parents:
43768
diff
changeset
|
1853 buf mark |
2ce5d75bd538
(ibuffer-redisplay-current): Don't move point when redisplaying a
Colin Walters <walters@gnu.org>
parents:
43768
diff
changeset
|
1854 (ibuffer-current-format))) |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1855 (when ibuffer-shrink-to-minimum-size |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
1856 (ibuffer-shrink-to-fit))))))) |
49588
37645a051842
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49410
diff
changeset
|
1857 |
42702 | 1858 (defun ibuffer-map-on-mark (mark func) |
1859 (ibuffer-map-lines | |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1860 #'(lambda (buf mk) |
42702 | 1861 (if (char-equal mark mk) |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1862 (funcall func buf mark) |
42702 | 1863 nil)))) |
1864 | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1865 (defun ibuffer-map-lines (function &optional nomodify group) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1866 "Call FUNCTION for each buffer. |
78492
7c8949dbfa0d
Replace `iff' in doc-strings and comments.
Glenn Morris <rgm@gnu.org>
parents:
78236
diff
changeset
|
1867 Set the ibuffer modification flag unless NOMODIFY is non-nil. |
42702 | 1868 |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1869 If optional argument GROUP is non-nil, then only call FUNCTION on |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1870 buffers in filtering group GROUP. |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1871 |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1872 FUNCTION is called with two arguments: |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1873 the buffer object itself and the current mark symbol." |
94977
905940be40d9
(ibuffer-assert-ibuffer-mode): New defsubst.
John Paul Wallington <jpw@pobox.com>
parents:
94905
diff
changeset
|
1874 (ibuffer-assert-ibuffer-mode) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1875 (ibuffer-forward-line 0) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1876 (let* ((orig-target-line (1+ (count-lines (save-excursion |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1877 (goto-char (point-min)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1878 (ibuffer-forward-line 0) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1879 (point)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1880 (point)))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1881 (target-line-offset orig-target-line) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1882 (ibuffer-map-lines-total 0) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1883 (ibuffer-map-lines-count 0)) |
42702 | 1884 (unwind-protect |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1885 (progn |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1886 (setq buffer-read-only nil) |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1887 (goto-char (point-min)) |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1888 (ibuffer-forward-line 0 t) |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1889 (while (and (not (eobp)) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1890 (not (get-text-property (point) 'ibuffer-summary)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1891 (progn |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1892 (ibuffer-forward-line 0 t) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1893 (and (not (eobp)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1894 (not (get-text-property (point) 'ibuffer-summary))))) |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1895 (let ((result |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1896 (if (buffer-live-p (ibuffer-current-buffer)) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1897 (when (or (null group) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1898 (ibuffer-aif (get-text-property (point) 'ibuffer-filter-group) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1899 (equal group it))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1900 (save-excursion |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1901 (funcall function |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1902 (ibuffer-current-buffer) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1903 (ibuffer-current-mark)))) |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1904 ;; Kill the line if the buffer is dead |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1905 'kill))) |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1906 ;; A given mapping function should return: |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1907 ;; `nil' if it chose not to affect the buffer |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1908 ;; `kill' means the remove line from the buffer list |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1909 ;; `t' otherwise |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1910 (incf ibuffer-map-lines-total) |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1911 (cond ((null result) |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1912 (forward-line 1)) |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1913 ((eq result 'kill) |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1914 (delete-region (line-beginning-position) |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1915 (1+ (line-end-position))) |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1916 (incf ibuffer-map-lines-count) |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1917 (when (< ibuffer-map-lines-total |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1918 orig-target-line) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1919 (decf target-line-offset))) |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1920 (t |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1921 (incf ibuffer-map-lines-count) |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1922 (forward-line 1))))) |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1923 ibuffer-map-lines-count) |
42702 | 1924 (progn |
1925 (setq buffer-read-only t) | |
1926 (unless nomodify | |
1927 (set-buffer-modified-p nil)) | |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1928 (goto-char (point-min)) |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
1929 (ibuffer-forward-line 0) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1930 (ibuffer-forward-line (1- target-line-offset)))))) |
42702 | 1931 |
1932 (defun ibuffer-get-marked-buffers () | |
1933 "Return a list of buffer objects currently marked." | |
1934 (delq nil | |
1935 (mapcar #'(lambda (e) | |
1936 (when (eq (cdr e) ibuffer-marked-char) | |
1937 (car e))) | |
1938 (ibuffer-current-state-list)))) | |
1939 | |
44659
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1940 (defun ibuffer-current-state-list (&optional pos) |
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1941 "Return a list like (BUF . MARK) of all buffers in an ibuffer. |
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1942 If POS is non-nil, return a list like (BUF MARK POINT), where POINT is |
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1943 the value of point at the beginning of the line for that buffer." |
42702 | 1944 (let ((ibuffer-current-state-list-tmp '())) |
1945 ;; ah, if only we had closures. I bet this will mysteriously | |
1946 ;; break later. Don't blame me. | |
44659
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1947 (if pos |
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1948 (ibuffer-map-lines-nomodify |
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1949 #'(lambda (buf mark) |
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1950 (when (buffer-live-p buf) |
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1951 (push (list buf mark (point)) ibuffer-current-state-list-tmp)))) |
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1952 (ibuffer-map-lines-nomodify |
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1953 #'(lambda (buf mark) |
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1954 (when (buffer-live-p buf) |
9d84a456037d
(ibuffer-visit-buffer): Optionally allow reducing to one window.
Colin Walters <walters@gnu.org>
parents:
44571
diff
changeset
|
1955 (push (cons buf mark) ibuffer-current-state-list-tmp))))) |
42702 | 1956 (nreverse ibuffer-current-state-list-tmp))) |
1957 | |
44501 | 1958 (defun ibuffer-current-buffers-with-marks (curbufs) |
42702 | 1959 "Return a list like (BUF . MARK) of all open buffers." |
1960 (let ((bufs (ibuffer-current-state-list))) | |
1961 (mapcar #'(lambda (buf) (let ((e (assq buf bufs))) | |
1962 (if e | |
1963 e | |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1964 (cons buf ?\s)))) |
44501 | 1965 curbufs))) |
42702 | 1966 |
1967 (defun ibuffer-buf-matches-predicates (buf predicates) | |
1968 (let ((hit nil) | |
1969 (name (buffer-name buf))) | |
1970 (dolist (pred predicates) | |
1971 (when (if (stringp pred) | |
1972 (string-match pred name) | |
1973 (funcall pred buf)) | |
1974 (setq hit t))) | |
1975 hit)) | |
49588
37645a051842
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49410
diff
changeset
|
1976 |
42702 | 1977 (defun ibuffer-filter-buffers (ibuffer-buf last bmarklist all) |
1978 (let ((ext-loaded (featurep 'ibuf-ext))) | |
1979 (delq nil | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1980 (mapcar |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1981 ;; element should be like (BUFFER . MARK) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1982 #'(lambda (e) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1983 (let* ((buf (car e))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1984 (when |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1985 ;; This takes precedence over anything else |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1986 (or (and ibuffer-always-show-last-buffer |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1987 (eq last buf)) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1988 (funcall (if ext-loaded |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1989 #'ibuffer-ext-visible-p |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1990 #'ibuffer-visible-p) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
1991 buf all ibuffer-buf)) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1992 e))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
1993 bmarklist)))) |
42702 | 1994 |
1995 (defun ibuffer-visible-p (buf all &optional ibuffer-buf) | |
1996 (and (or all | |
1997 (not | |
1998 (ibuffer-buf-matches-predicates buf ibuffer-maybe-show-predicates))) | |
1999 (or ibuffer-view-ibuffer | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
2000 (and ibuffer-buf |
42702 | 2001 (not (eq ibuffer-buf buf)))))) |
2002 | |
2003 ;; This function is a special case; it's not defined by | |
72564
976ef29e497e
* woman.el (woman-follow): New function, based on `man-follow'.
Chong Yidong <cyd@stupidchicken.com>
parents:
72073
diff
changeset
|
2004 ;; `define-ibuffer-sorter'. |
42702 | 2005 (defun ibuffer-do-sort-by-recency () |
2006 "Sort the buffers by last view time." | |
2007 (interactive) | |
2008 (setq ibuffer-sorting-mode 'recency) | |
94507
f72e4491c400
(ibuffer-last-sorting-mode): New variable.
John Paul Wallington <jpw@pobox.com>
parents:
94501
diff
changeset
|
2009 (when (eq ibuffer-last-sorting-mode 'recency) |
f72e4491c400
(ibuffer-last-sorting-mode): New variable.
John Paul Wallington <jpw@pobox.com>
parents:
94501
diff
changeset
|
2010 (setq ibuffer-sorting-reversep (not ibuffer-sorting-reversep))) |
f72e4491c400
(ibuffer-last-sorting-mode): New variable.
John Paul Wallington <jpw@pobox.com>
parents:
94501
diff
changeset
|
2011 (ibuffer-update nil t) |
f72e4491c400
(ibuffer-last-sorting-mode): New variable.
John Paul Wallington <jpw@pobox.com>
parents:
94501
diff
changeset
|
2012 (setq ibuffer-last-sorting-mode 'recency)) |
42702 | 2013 |
2014 (defun ibuffer-update-format () | |
2015 (when (null ibuffer-current-format) | |
2016 (setq ibuffer-current-format 0)) | |
2017 (when (null ibuffer-formats) | |
2018 (error "Ibuffer error: no formats!"))) | |
2019 | |
2020 (defun ibuffer-switch-format () | |
2021 "Switch the current display format." | |
2022 (interactive) | |
94977
905940be40d9
(ibuffer-assert-ibuffer-mode): New defsubst.
John Paul Wallington <jpw@pobox.com>
parents:
94905
diff
changeset
|
2023 (ibuffer-assert-ibuffer-mode) |
42702 | 2024 (unless (consp ibuffer-formats) |
2025 (error "Ibuffer error: No formats!")) | |
2026 (setq ibuffer-current-format | |
43249
783a6eac348c
(ibuffer-switch-format): Supply required argument for
Colin Walters <walters@gnu.org>
parents:
43104
diff
changeset
|
2027 (if (>= ibuffer-current-format (1- (length (ibuffer-current-formats nil)))) |
42702 | 2028 0 |
2029 (1+ ibuffer-current-format))) | |
2030 (ibuffer-update-format) | |
2031 (ibuffer-redisplay t)) | |
2032 | |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
2033 (defun ibuffer-update-title-and-summary (format) |
94977
905940be40d9
(ibuffer-assert-ibuffer-mode): New defsubst.
John Paul Wallington <jpw@pobox.com>
parents:
94905
diff
changeset
|
2034 (ibuffer-assert-ibuffer-mode) |
42702 | 2035 ;; Don't do funky font-lock stuff here |
2036 (let ((after-change-functions nil)) | |
2037 (if (get-text-property (point-min) 'ibuffer-title) | |
2038 (delete-region (point-min) | |
2039 (next-single-property-change | |
2040 (point-min) 'ibuffer-title))) | |
2041 (goto-char (point-min)) | |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
2042 (add-text-properties |
42702 | 2043 (point) |
2044 (progn | |
2045 (let ((opos (point))) | |
2046 ;; Insert the title names. | |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
2047 (dolist (element format) |
42702 | 2048 (insert |
2049 (if (stringp element) | |
2050 element | |
2051 (let ((sym (car element)) | |
2052 (min (cadr element)) | |
2053 ;; (max (caddr element)) | |
2054 (align (cadddr element))) | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
2055 ;; Ignore a negative min when we're inserting the title |
42702 | 2056 (when (minusp min) |
2057 (setq min (- min))) | |
2058 (let* ((name (or (get sym 'ibuffer-column-name) | |
2059 (error "Unknown column %s in ibuffer-formats" sym))) | |
69764
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
2060 (len (length name)) |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
2061 (hmap (get sym 'header-mouse-map)) |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
2062 (strname (if (< len min) |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
2063 (ibuffer-format-column name |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
2064 (- min len) |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
2065 align) |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
2066 name))) |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
2067 (when hmap |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
2068 (setq |
102210
d7624c39682b
* ibuffer.el (ibuffer-redisplay-engine): Avoid "Mark set" message clobbering
Juanma Barranquero <lekktu@gmail.com>
parents:
100908
diff
changeset
|
2069 strname |
69764
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
2070 (propertize strname 'mouse-face 'highlight 'keymap hmap))) |
986a4b641e9e
* ibuf-macs.el (define-ibuffer-column): Add a new key:
Dan Nicolaescu <dann@ics.uci.edu>
parents:
68582
diff
changeset
|
2071 strname))))) |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
2072 (add-text-properties opos (point) `(ibuffer-title-header t)) |
42702 | 2073 (insert "\n") |
2074 ;; Add the underlines | |
2075 (let ((str (save-excursion | |
2076 (forward-line -1) | |
2077 (beginning-of-line) | |
2078 (buffer-substring (point) (line-end-position))))) | |
2079 (apply #'insert (mapcar | |
2080 #'(lambda (c) | |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2081 (if (not (or (char-equal c ?\s) |
42702 | 2082 (char-equal c ?\n))) |
2083 ?- | |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2084 ?\s)) |
42702 | 2085 str))) |
2086 (insert "\n")) | |
2087 (point)) | |
45687
434d9f56eab8
(ibuffer-category-alist): Delete.
Colin Walters <walters@gnu.org>
parents:
45443
diff
changeset
|
2088 `(ibuffer-title t font-lock-face ,ibuffer-title-face)) |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
2089 ;; Now, insert the summary columns. |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
2090 (goto-char (point-max)) |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
2091 (if (get-text-property (1- (point-max)) 'ibuffer-summary) |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
2092 (delete-region (previous-single-property-change |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
2093 (point-max) 'ibuffer-summary) |
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
2094 (point-max))) |
51074
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2095 (if ibuffer-display-summary |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2096 (add-text-properties |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2097 (point) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2098 (progn |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2099 (insert "\n") |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2100 (dolist (element format) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2101 (insert |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2102 (if (stringp element) |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2103 (make-string (length element) ?\s) |
51074
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2104 (let ((sym (car element))) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2105 (let ((min (cadr element)) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2106 ;; (max (caddr element)) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2107 (align (cadddr element))) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2108 ;; Ignore a negative min when we're inserting the title |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2109 (when (minusp min) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2110 (setq min (- min))) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2111 (let* ((summary (if (get sym 'ibuffer-column-summarizer) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2112 (funcall (get sym 'ibuffer-column-summarizer) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2113 (get sym 'ibuffer-column-summary)) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2114 (make-string (length (get sym 'ibuffer-column-name)) |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2115 ?\s))) |
51074
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2116 (len (length summary))) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2117 (if (< len min) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2118 (ibuffer-format-column summary |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2119 (- min len) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2120 align) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2121 summary))))))) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2122 (point)) |
9765d874366d
(ibuffer-display-summary): New customizable variable.
John Paul Wallington <jpw@pobox.com>
parents:
50708
diff
changeset
|
2123 `(ibuffer-summary t))))) |
42702 | 2124 |
2125 | |
2126 (defun ibuffer-redisplay (&optional silent) | |
2127 "Redisplay the current list of buffers. | |
2128 This does not show new buffers; use `ibuffer-update' for that. | |
2129 | |
48343
35889dbb9b84
(ibuffer-use-other-window, ibuffer-use-header-line)
John Paul Wallington <jpw@pobox.com>
parents:
48058
diff
changeset
|
2130 If optional arg SILENT is non-nil, do not display progress messages." |
42702 | 2131 (interactive) |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
2132 (ibuffer-forward-line 0) |
42702 | 2133 (unless silent |
2134 (message "Redisplaying current buffer list...")) | |
2135 (let ((blist (ibuffer-current-state-list))) | |
2136 (when (null blist) | |
2137 (if (and (featurep 'ibuf-ext) | |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2138 (or ibuffer-filtering-qualifiers ibuffer-hidden-filter-groups)) |
42702 | 2139 (message "No buffers! (note: filtering in effect)") |
2140 (error "No buffers!"))) | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2141 (ibuffer-redisplay-engine blist t) |
42702 | 2142 (unless silent |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
2143 (message "Redisplaying current buffer list...done")) |
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
2144 (ibuffer-forward-line 0))) |
42702 | 2145 |
2146 (defun ibuffer-update (arg &optional silent) | |
2147 "Regenerate the list of all buffers. | |
57563
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
2148 |
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
2149 Prefix arg non-nil means to toggle whether buffers that match |
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
2150 `ibuffer-maybe-show-predicates' should be displayed. |
42702 | 2151 |
48343
35889dbb9b84
(ibuffer-use-other-window, ibuffer-use-header-line)
John Paul Wallington <jpw@pobox.com>
parents:
48058
diff
changeset
|
2152 If optional arg SILENT is non-nil, do not display progress messages." |
42702 | 2153 (interactive "P") |
57563
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
2154 (if arg |
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
2155 (setq ibuffer-display-maybe-show-predicates |
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
2156 (not ibuffer-display-maybe-show-predicates))) |
44571
be1cb50b8859
(ibuffer-forward-line): Just skip header if we're
Colin Walters <walters@gnu.org>
parents:
44501
diff
changeset
|
2157 (ibuffer-forward-line 0) |
42702 | 2158 (let* ((bufs (buffer-list)) |
2159 (blist (ibuffer-filter-buffers | |
47114
b0e4184605e5
* ibuffer.el (ibuffer-update): Use `minibufferp'. Expand `caddr'.
John Paul Wallington <jpw@pobox.com>
parents:
46824
diff
changeset
|
2160 (current-buffer) |
b0e4184605e5
* ibuffer.el (ibuffer-update): Use `minibufferp'. Expand `caddr'.
John Paul Wallington <jpw@pobox.com>
parents:
46824
diff
changeset
|
2161 (if (and |
b0e4184605e5
* ibuffer.el (ibuffer-update): Use `minibufferp'. Expand `caddr'.
John Paul Wallington <jpw@pobox.com>
parents:
46824
diff
changeset
|
2162 (cadr bufs) |
b0e4184605e5
* ibuffer.el (ibuffer-update): Use `minibufferp'. Expand `caddr'.
John Paul Wallington <jpw@pobox.com>
parents:
46824
diff
changeset
|
2163 (eq ibuffer-always-show-last-buffer |
b0e4184605e5
* ibuffer.el (ibuffer-update): Use `minibufferp'. Expand `caddr'.
John Paul Wallington <jpw@pobox.com>
parents:
46824
diff
changeset
|
2164 :nomini) |
47624
dbdc31f1646b
(ibuffer-update): Call `minibufferp' with argument
John Paul Wallington <jpw@pobox.com>
parents:
47378
diff
changeset
|
2165 (minibufferp (cadr bufs))) |
47147
bee830f164b7
(ibuffer-update): Revert expansion of `caddr'.
John Paul Wallington <jpw@pobox.com>
parents:
47114
diff
changeset
|
2166 (caddr bufs) |
47114
b0e4184605e5
* ibuffer.el (ibuffer-update): Use `minibufferp'. Expand `caddr'.
John Paul Wallington <jpw@pobox.com>
parents:
46824
diff
changeset
|
2167 (cadr bufs)) |
b0e4184605e5
* ibuffer.el (ibuffer-update): Use `minibufferp'. Expand `caddr'.
John Paul Wallington <jpw@pobox.com>
parents:
46824
diff
changeset
|
2168 (ibuffer-current-buffers-with-marks bufs) |
57563
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
2169 ibuffer-display-maybe-show-predicates))) |
42702 | 2170 (when (null blist) |
2171 (if (and (featurep 'ibuf-ext) | |
2172 ibuffer-filtering-qualifiers) | |
2173 (message "No buffers! (note: filtering in effect)") | |
2174 (error "No buffers!"))) | |
2175 (unless silent | |
2176 (message "Updating buffer list...")) | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2177 (ibuffer-redisplay-engine blist arg) |
42702 | 2178 (unless silent |
2179 (message "Updating buffer list...done"))) | |
2180 (if (eq ibuffer-shrink-to-minimum-size 'onewindow) | |
2181 (ibuffer-shrink-to-fit t) | |
2182 (when ibuffer-shrink-to-minimum-size | |
2183 (ibuffer-shrink-to-fit))) | |
91782
c9c3987bcc44
(ibuffer-header-line-format): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87960
diff
changeset
|
2184 (ibuffer-forward-line 0) |
c9c3987bcc44
(ibuffer-header-line-format): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87960
diff
changeset
|
2185 ;; I tried to update this automatically from the mode-line-process format, |
c9c3987bcc44
(ibuffer-header-line-format): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87960
diff
changeset
|
2186 ;; but changing nil-ness of header-line-format while computing |
c9c3987bcc44
(ibuffer-header-line-format): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87960
diff
changeset
|
2187 ;; mode-line-format is asking a bit too much it seems. --Stef |
c9c3987bcc44
(ibuffer-header-line-format): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87960
diff
changeset
|
2188 (setq header-line-format |
c9c3987bcc44
(ibuffer-header-line-format): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87960
diff
changeset
|
2189 (and ibuffer-use-header-line |
c9c3987bcc44
(ibuffer-header-line-format): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87960
diff
changeset
|
2190 ibuffer-filtering-qualifiers |
c9c3987bcc44
(ibuffer-header-line-format): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87960
diff
changeset
|
2191 ibuffer-header-line-format))) |
42702 | 2192 |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2193 (defun ibuffer-sort-bufferlist (bmarklist) |
100232
518a4346ef68
* ibuffer.el (ibuffer-sort-bufferlist): Require ibuf-ext
Juanma Barranquero <lekktu@gmail.com>
parents:
98561
diff
changeset
|
2194 (unless ibuffer-sorting-functions-alist |
518a4346ef68
* ibuffer.el (ibuffer-sort-bufferlist): Require ibuf-ext
Juanma Barranquero <lekktu@gmail.com>
parents:
98561
diff
changeset
|
2195 ;; make sure the sorting functions are loaded |
518a4346ef68
* ibuffer.el (ibuffer-sort-bufferlist): Require ibuf-ext
Juanma Barranquero <lekktu@gmail.com>
parents:
98561
diff
changeset
|
2196 (require 'ibuf-ext)) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2197 (let* ((sortdat (assq ibuffer-sorting-mode |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2198 ibuffer-sorting-functions-alist)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2199 (func (caddr sortdat))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2200 (let ((result |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2201 ;; actually sort the buffers |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2202 (if (and sortdat func) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2203 (sort bmarklist func) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2204 bmarklist))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2205 ;; perhaps reverse the sorted buffer list |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2206 (if ibuffer-sorting-reversep |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2207 (nreverse result) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2208 result)))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2209 |
45270
087cbd1a5087
(ibuffer-insert-filter-group): New argument filter-string.
Colin Walters <walters@gnu.org>
parents:
45220
diff
changeset
|
2210 (defun ibuffer-insert-filter-group (name display-name filter-string format bmarklist) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2211 (add-text-properties |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2212 (point) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2213 (progn |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2214 (insert "[ " display-name " ]") |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2215 (point)) |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
2216 `(ibuffer-filter-group-name |
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
2217 ,name |
45687
434d9f56eab8
(ibuffer-category-alist): Delete.
Colin Walters <walters@gnu.org>
parents:
45443
diff
changeset
|
2218 font-lock-face ,ibuffer-filter-group-name-face |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
2219 keymap ,ibuffer-mode-filter-group-map |
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
2220 mouse-face highlight |
50444
2ca336b1259d
(ibuffer-insert-filter-group): `help-echo' text property dynamically
John Paul Wallington <jpw@pobox.com>
parents:
49723
diff
changeset
|
2221 help-echo ,(let ((echo '(if tooltip-mode |
2ca336b1259d
(ibuffer-insert-filter-group): `help-echo' text property dynamically
John Paul Wallington <jpw@pobox.com>
parents:
49723
diff
changeset
|
2222 "mouse-1: toggle marks in this group\nmouse-2: hide/show this filtering group" |
50448
6ced6cabcc81
(ibuffer-insert-filter-group): Fix spazz.
John Paul Wallington <jpw@pobox.com>
parents:
50444
diff
changeset
|
2223 "mouse-1: toggle marks mouse-2: hide/show"))) |
50444
2ca336b1259d
(ibuffer-insert-filter-group): `help-echo' text property dynamically
John Paul Wallington <jpw@pobox.com>
parents:
49723
diff
changeset
|
2224 (if (> (length filter-string) 0) |
50448
6ced6cabcc81
(ibuffer-insert-filter-group): Fix spazz.
John Paul Wallington <jpw@pobox.com>
parents:
50444
diff
changeset
|
2225 `(concat ,filter-string |
6ced6cabcc81
(ibuffer-insert-filter-group): Fix spazz.
John Paul Wallington <jpw@pobox.com>
parents:
50444
diff
changeset
|
2226 (if tooltip-mode "\n" " ") |
6ced6cabcc81
(ibuffer-insert-filter-group): Fix spazz.
John Paul Wallington <jpw@pobox.com>
parents:
50444
diff
changeset
|
2227 ,echo) |
50444
2ca336b1259d
(ibuffer-insert-filter-group): `help-echo' text property dynamically
John Paul Wallington <jpw@pobox.com>
parents:
49723
diff
changeset
|
2228 echo)))) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2229 (insert "\n") |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2230 (when bmarklist |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2231 (put-text-property |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2232 (point) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2233 (progn |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2234 (dolist (entry bmarklist) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2235 (ibuffer-insert-buffer-line (car entry) (cdr entry) format)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2236 (point)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2237 'ibuffer-filter-group |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2238 name))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2239 |
57563
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
2240 (defun ibuffer-redisplay-engine (bmarklist &optional ignore) |
94977
905940be40d9
(ibuffer-assert-ibuffer-mode): New defsubst.
John Paul Wallington <jpw@pobox.com>
parents:
94905
diff
changeset
|
2241 (ibuffer-assert-ibuffer-mode) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2242 (let* ((--ibuffer-insert-buffers-and-marks-format |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2243 (ibuffer-current-format)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2244 (--ibuffer-expanded-format (mapcar #'ibuffer-expand-format-entry |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2245 (ibuffer-current-format t))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2246 (orig (count-lines (point-min) (point))) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2247 ;; Inhibit font-lock caching tricks, since we're modifying the |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2248 ;; entire buffer at once |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2249 (after-change-functions nil) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2250 (ext-loaded (featurep 'ibuf-ext)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2251 (bgroups (if ext-loaded |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2252 (ibuffer-generate-filter-groups bmarklist) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2253 (list (cons "Default" bmarklist))))) |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
2254 (ibuffer-clear-summary-columns --ibuffer-expanded-format) |
42702 | 2255 (unwind-protect |
2256 (progn | |
2257 (setq buffer-read-only nil) | |
2258 (erase-buffer) | |
2259 (ibuffer-update-format) | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2260 (dolist (group (nreverse bgroups)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2261 (let* ((name (car group)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2262 (disabled (and ext-loaded |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2263 (member name ibuffer-hidden-filter-groups))) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2264 (bmarklist (cdr group))) |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2265 (unless (and (null bmarklist) |
55388
7df6b4d2d69d
2004-05-06 Romain Francoise <romain@orebokech.com> (tiny change)
John Paul Wallington <jpw@pobox.com>
parents:
54813
diff
changeset
|
2266 (not disabled) |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2267 ext-loaded |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2268 (null ibuffer-show-empty-filter-groups)) |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2269 (ibuffer-insert-filter-group |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2270 name |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2271 (if disabled (concat name " ...") name) |
45270
087cbd1a5087
(ibuffer-insert-filter-group): New argument filter-string.
Colin Walters <walters@gnu.org>
parents:
45220
diff
changeset
|
2272 (if ext-loaded |
087cbd1a5087
(ibuffer-insert-filter-group): New argument filter-string.
Colin Walters <walters@gnu.org>
parents:
45220
diff
changeset
|
2273 (ibuffer-format-filter-group-data name) |
087cbd1a5087
(ibuffer-insert-filter-group): New argument filter-string.
Colin Walters <walters@gnu.org>
parents:
45220
diff
changeset
|
2274 "") |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2275 --ibuffer-insert-buffers-and-marks-format |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2276 (if disabled |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2277 nil |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2278 (ibuffer-sort-bufferlist bmarklist)))))) |
43768
643faa52276e
(ibuffer-update-mode-name): Substitute "view time" instead of
Colin Walters <walters@gnu.org>
parents:
43489
diff
changeset
|
2279 (ibuffer-update-title-and-summary --ibuffer-expanded-format)) |
42702 | 2280 (setq buffer-read-only t) |
2281 (set-buffer-modified-p ibuffer-did-modification) | |
2282 (setq ibuffer-did-modification nil) | |
102270
fd0e4d67e735
* bs.el (bs--down):
Juanma Barranquero <lekktu@gmail.com>
parents:
102210
diff
changeset
|
2283 (goto-char (point-min)) |
102210
d7624c39682b
* ibuffer.el (ibuffer-redisplay-engine): Avoid "Mark set" message clobbering
Juanma Barranquero <lekktu@gmail.com>
parents:
100908
diff
changeset
|
2284 (forward-line orig)))) |
42702 | 2285 |
2286 (defun ibuffer-quit () | |
2287 "Quit this `ibuffer' session. | |
78492
7c8949dbfa0d
Replace `iff' in doc-strings and comments.
Glenn Morris <rgm@gnu.org>
parents:
78236
diff
changeset
|
2288 Try to restore the previous window configuration if |
54813
59f2a23a44d1
(ibuffer-delete-window-on-quit): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
52401
diff
changeset
|
2289 `ibuffer-restore-window-config-on-quit' is non-nil." |
42702 | 2290 (interactive) |
54813
59f2a23a44d1
(ibuffer-delete-window-on-quit): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
52401
diff
changeset
|
2291 (if ibuffer-restore-window-config-on-quit |
56630
50923476a86f
(define-ibuffer-column size): Use string-to-number instead of string-to-int.
John Paul Wallington <jpw@pobox.com>
parents:
56337
diff
changeset
|
2292 (progn |
42702 | 2293 (bury-buffer) |
2294 (unless (= (count-windows) 1) | |
54813
59f2a23a44d1
(ibuffer-delete-window-on-quit): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
52401
diff
changeset
|
2295 (set-window-configuration ibuffer-prev-window-config))) |
42702 | 2296 (bury-buffer))) |
2297 | |
2298 ;;;###autoload | |
2299 (defun ibuffer-list-buffers (&optional files-only) | |
2300 "Display a list of buffers, in another window. | |
2301 If optional argument FILES-ONLY is non-nil, then add a filter for | |
2302 buffers which are visiting a file." | |
2303 (interactive "P") | |
2304 (ibuffer t nil (when files-only | |
2305 '((filename . ".*"))) t)) | |
2306 | |
2307 ;;;###autoload | |
2308 (defun ibuffer-other-window (&optional files-only) | |
2309 "Like `ibuffer', but displayed in another window by default. | |
2310 If optional argument FILES-ONLY is non-nil, then add a filter for | |
2311 buffers which are visiting a file." | |
2312 (interactive "P") | |
2313 (ibuffer t nil (when files-only | |
2314 '((filename . ".*"))))) | |
2315 | |
2316 ;;;###autoload | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2317 (defun ibuffer (&optional other-window-p name qualifiers noselect |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
2318 shrink filter-groups formats) |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2319 "Begin using Ibuffer to edit a list of buffers. |
42702 | 2320 Type 'h' after entering ibuffer for more information. |
2321 | |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2322 All arguments are optional. |
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2323 OTHER-WINDOW-P says to use another window. |
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2324 NAME specifies the name of the buffer (defaults to \"*Ibuffer*\"). |
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2325 QUALIFIERS is an initial set of filtering qualifiers to use; |
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2326 see `ibuffer-filtering-qualifiers'. |
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2327 NOSELECT means don't select the Ibuffer buffer. |
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2328 SHRINK means shrink the buffer to minimal size. The special |
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2329 value `onewindow' means always use another window. |
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2330 FILTER-GROUPS is an initial set of filtering groups to use; |
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2331 see `ibuffer-filter-groups'. |
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2332 FORMATS is the value to use for `ibuffer-formats'. |
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2333 If specified, then the variable `ibuffer-formats' will have |
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2334 that value locally in this buffer." |
42702 | 2335 (interactive "P") |
2336 (when ibuffer-use-other-window | |
44137
32c7d9355caf
(ibuffer): If the user has `ibuffer-use-other-window' non-nil, then
Colin Walters <walters@gnu.org>
parents:
44021
diff
changeset
|
2337 (setq other-window-p t)) |
54813
59f2a23a44d1
(ibuffer-delete-window-on-quit): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
52401
diff
changeset
|
2338 (setq ibuffer-prev-window-config (current-window-configuration)) |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
2339 (let ((buf (get-buffer-create (or name "*Ibuffer*")))) |
42702 | 2340 (if other-window-p |
2341 (funcall (if noselect #'(lambda (buf) (display-buffer buf t)) #'pop-to-buffer) buf) | |
2342 (funcall (if noselect #'display-buffer #'switch-to-buffer) buf)) | |
2343 (with-current-buffer buf | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2344 (save-selected-window |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2345 ;; We switch to the buffer's window in order to be able |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2346 ;; to modify the value of point |
66739
7edb08362291
(ibuffer): Search iconified frames too when getting Ibuffer buffer's window.
John Paul Wallington <jpw@pobox.com>
parents:
66733
diff
changeset
|
2347 (select-window (get-buffer-window buf 0)) |
51741
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
2348 (or (eq major-mode 'ibuffer-mode) |
09f746b0e209
(ibuffer-backward-line, ibuffer-forward-line)
John Paul Wallington <jpw@pobox.com>
parents:
51074
diff
changeset
|
2349 (ibuffer-mode)) |
54813
59f2a23a44d1
(ibuffer-delete-window-on-quit): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
52401
diff
changeset
|
2350 (setq ibuffer-restore-window-config-on-quit other-window-p) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2351 (when shrink |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2352 (setq ibuffer-shrink-to-minimum-size shrink)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2353 (when qualifiers |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2354 (require 'ibuf-ext) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2355 (setq ibuffer-filtering-qualifiers qualifiers)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2356 (when filter-groups |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2357 (require 'ibuf-ext) |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2358 (setq ibuffer-filter-groups filter-groups)) |
45443
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
2359 (when formats |
8fd13e1863ed
(toplevel): Require font-lock, to get the face definitions.
Colin Walters <walters@gnu.org>
parents:
45270
diff
changeset
|
2360 (set (make-local-variable 'ibuffer-formats) formats)) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2361 (ibuffer-update nil) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2362 ;; Skip the group name by default. |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2363 (ibuffer-forward-line 0 t) |
42702 | 2364 (unwind-protect |
2365 (progn | |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2366 (setq buffer-read-only nil) |
48343
35889dbb9b84
(ibuffer-use-other-window, ibuffer-use-header-line)
John Paul Wallington <jpw@pobox.com>
parents:
48058
diff
changeset
|
2367 (run-hooks 'ibuffer-hook)) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2368 (setq buffer-read-only t)) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2369 (unless ibuffer-expert |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2370 (message "Commands: m, u, t, RET, g, k, S, D, Q; q to quit; h for help")))))) |
42702 | 2371 |
44482
510e978b6292
(ibuffer-canonicalize-state-list): Delete unused function.
Colin Walters <walters@gnu.org>
parents:
44245
diff
changeset
|
2372 (put 'ibuffer-mode 'mode-class 'special) |
42702 | 2373 (defun ibuffer-mode () |
2374 "A major mode for viewing a list of buffers. | |
64678
2fdca9c174be
(ibuffer-columnize-and-insert-list, ibuffer-mouse-toggle-mark,
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2375 In Ibuffer, you can conveniently perform many operations on the |
42702 | 2376 currently open buffers, in addition to filtering your view to a |
2377 particular subset of them, and sorting by various criteria. | |
2378 | |
2379 Operations on marked buffers: | |
2380 | |
2381 '\\[ibuffer-do-save]' - Save the marked buffers | |
2382 '\\[ibuffer-do-view]' - View the marked buffers in this frame. | |
2383 '\\[ibuffer-do-view-other-frame]' - View the marked buffers in another frame. | |
2384 '\\[ibuffer-do-revert]' - Revert the marked buffers. | |
2385 '\\[ibuffer-do-toggle-read-only]' - Toggle read-only state of marked buffers. | |
2386 '\\[ibuffer-do-delete]' - Kill the marked buffers. | |
96956
a6f40f87513a
(ibuffer-mode-map): Bind "M-s a C-s" to
Juri Linkov <juri@jurta.org>
parents:
96491
diff
changeset
|
2387 '\\[ibuffer-do-isearch]' - Do incremental search in the marked buffers. |
a6f40f87513a
(ibuffer-mode-map): Bind "M-s a C-s" to
Juri Linkov <juri@jurta.org>
parents:
96491
diff
changeset
|
2388 '\\[ibuffer-do-isearch-regexp]' - Isearch for regexp in the marked buffers. |
42702 | 2389 '\\[ibuffer-do-replace-regexp]' - Replace by regexp in each of the marked |
2390 buffers. | |
2391 '\\[ibuffer-do-query-replace]' - Query replace in each of the marked buffers. | |
2392 '\\[ibuffer-do-query-replace-regexp]' - As above, with a regular expression. | |
2393 '\\[ibuffer-do-print]' - Print the marked buffers. | |
2394 '\\[ibuffer-do-occur]' - List lines in all marked buffers which match | |
2395 a given regexp (like the function `occur'). | |
2396 '\\[ibuffer-do-shell-command-pipe]' - Pipe the contents of the marked | |
2397 buffers to a shell command. | |
2398 '\\[ibuffer-do-shell-command-pipe-replace]' - Replace the contents of the marked | |
2399 buffers with the output of a shell command. | |
2400 '\\[ibuffer-do-shell-command-file]' - Run a shell command with the | |
2401 buffer's file as an argument. | |
2402 '\\[ibuffer-do-eval]' - Evaluate a form in each of the marked buffers. This | |
2403 is a very flexible command. For example, if you want to make all | |
2404 of the marked buffers read only, try using (toggle-read-only 1) as | |
2405 the input form. | |
2406 '\\[ibuffer-do-view-and-eval]' - As above, but view each buffer while the form | |
2407 is evaluated. | |
2408 '\\[ibuffer-do-kill-lines]' - Remove the marked lines from the *Ibuffer* buffer, | |
2409 but don't kill the associated buffer. | |
2410 '\\[ibuffer-do-kill-on-deletion-marks]' - Kill all buffers marked for deletion. | |
2411 | |
2412 Marking commands: | |
2413 | |
2414 '\\[ibuffer-mark-forward]' - Mark the buffer at point. | |
2415 '\\[ibuffer-toggle-marks]' - Unmark all currently marked buffers, and mark | |
2416 all unmarked buffers. | |
2417 '\\[ibuffer-unmark-forward]' - Unmark the buffer at point. | |
2418 '\\[ibuffer-unmark-backward]' - Unmark the buffer at point, and move to the | |
2419 previous line. | |
2420 '\\[ibuffer-unmark-all]' - Unmark all marked buffers. | |
2421 '\\[ibuffer-mark-by-mode]' - Mark buffers by major mode. | |
2422 '\\[ibuffer-mark-unsaved-buffers]' - Mark all \"unsaved\" buffers. | |
2423 This means that the buffer is modified, and has an associated file. | |
2424 '\\[ibuffer-mark-modified-buffers]' - Mark all modified buffers, | |
2425 regardless of whether or not they have an associated file. | |
2426 '\\[ibuffer-mark-special-buffers]' - Mark all buffers whose name begins and | |
2427 ends with '*'. | |
2428 '\\[ibuffer-mark-dissociated-buffers]' - Mark all buffers which have | |
2429 an associated file, but that file doesn't currently exist. | |
2430 '\\[ibuffer-mark-read-only-buffers]' - Mark all read-only buffers. | |
2431 '\\[ibuffer-mark-dired-buffers]' - Mark buffers in `dired' mode. | |
2432 '\\[ibuffer-mark-help-buffers]' - Mark buffers in `help-mode', `apropos-mode', etc. | |
2433 '\\[ibuffer-mark-old-buffers]' - Mark buffers older than `ibuffer-old-time'. | |
2434 '\\[ibuffer-mark-for-delete]' - Mark the buffer at point for deletion. | |
2435 '\\[ibuffer-mark-by-name-regexp]' - Mark buffers by their name, using a regexp. | |
2436 '\\[ibuffer-mark-by-mode-regexp]' - Mark buffers by their major mode, using a regexp. | |
2437 '\\[ibuffer-mark-by-file-name-regexp]' - Mark buffers by their filename, using a regexp. | |
2438 | |
2439 Filtering commands: | |
2440 | |
2441 '\\[ibuffer-filter-by-mode]' - Add a filter by major mode. | |
46824
86fa1b4393a2
(ibuffer-mode-map): Added ibuffer-filter-by-used-mode.
Colin Walters <walters@gnu.org>
parents:
46772
diff
changeset
|
2442 '\\[ibuffer-filter-by-used-mode]' - Add a filter by major mode now in use. |
42702 | 2443 '\\[ibuffer-filter-by-name]' - Add a filter by buffer name. |
2444 '\\[ibuffer-filter-by-content]' - Add a filter by buffer content. | |
2445 '\\[ibuffer-filter-by-filename]' - Add a filter by filename. | |
2446 '\\[ibuffer-filter-by-size-gt]' - Add a filter by buffer size. | |
2447 '\\[ibuffer-filter-by-size-lt]' - Add a filter by buffer size. | |
2448 '\\[ibuffer-filter-by-predicate]' - Add a filter by an arbitrary Lisp predicate. | |
2449 '\\[ibuffer-save-filters]' - Save the current filters with a name. | |
2450 '\\[ibuffer-switch-to-saved-filters]' - Switch to previously saved filters. | |
2451 '\\[ibuffer-add-saved-filters]' - Add saved filters to current filters. | |
2452 '\\[ibuffer-or-filter]' - Replace the top two filters with their logical OR. | |
2453 '\\[ibuffer-pop-filter]' - Remove the top filter. | |
2454 '\\[ibuffer-negate-filter]' - Invert the logical sense of the top filter. | |
2455 '\\[ibuffer-decompose-filter]' - Break down the topmost filter. | |
2456 '\\[ibuffer-filter-disable]' - Remove all filtering currently in effect. | |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2457 |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2458 Filter group commands: |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2459 |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2460 '\\[ibuffer-filters-to-filter-group]' - Create filter group from filters. |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2461 '\\[ibuffer-pop-filter-group]' - Remove top filter group. |
44936
ee04dcf4fae7
(ibuffer-mode): Additional documentation on filter groups.
Colin Walters <walters@gnu.org>
parents:
44870
diff
changeset
|
2462 '\\[ibuffer-forward-filter-group]' - Move to the next filter group. |
ee04dcf4fae7
(ibuffer-mode): Additional documentation on filter groups.
Colin Walters <walters@gnu.org>
parents:
44870
diff
changeset
|
2463 '\\[ibuffer-backward-filter-group]' - Move to the previous filter group. |
ee04dcf4fae7
(ibuffer-mode): Additional documentation on filter groups.
Colin Walters <walters@gnu.org>
parents:
44870
diff
changeset
|
2464 '\\[ibuffer-clear-filter-groups]' - Remove all active filter groups. |
ee04dcf4fae7
(ibuffer-mode): Additional documentation on filter groups.
Colin Walters <walters@gnu.org>
parents:
44870
diff
changeset
|
2465 '\\[ibuffer-save-filter-groups]' - Save the current groups with a name. |
ee04dcf4fae7
(ibuffer-mode): Additional documentation on filter groups.
Colin Walters <walters@gnu.org>
parents:
44870
diff
changeset
|
2466 '\\[ibuffer-switch-to-saved-filter-groups]' - Restore previously saved groups. |
ee04dcf4fae7
(ibuffer-mode): Additional documentation on filter groups.
Colin Walters <walters@gnu.org>
parents:
44870
diff
changeset
|
2467 '\\[ibuffer-delete-saved-filter-groups]' - Delete previously saved groups. |
49588
37645a051842
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49410
diff
changeset
|
2468 |
42702 | 2469 Sorting commands: |
2470 | |
2471 '\\[ibuffer-toggle-sorting-mode]' - Rotate between the various sorting modes. | |
2472 '\\[ibuffer-invert-sorting]' - Reverse the current sorting order. | |
2473 '\\[ibuffer-do-sort-by-alphabetic]' - Sort the buffers lexicographically. | |
87960
4693d30bd9c1
* ibuffer.el (ibuffer-default-sorting-mode): Add option to sort by
Dan Nicolaescu <dann@ics.uci.edu>
parents:
87869
diff
changeset
|
2474 '\\[ibuffer-do-sort-by-filename/process]' - Sort the buffers by the file name. |
42702 | 2475 '\\[ibuffer-do-sort-by-recency]' - Sort the buffers by last viewing time. |
2476 '\\[ibuffer-do-sort-by-size]' - Sort the buffers by size. | |
2477 '\\[ibuffer-do-sort-by-major-mode]' - Sort the buffers by major mode. | |
2478 | |
2479 Other commands: | |
2480 | |
71510
7483188f3c91
(ibuffer-mode): Doc fix.
John Paul Wallington <jpw@pobox.com>
parents:
70489
diff
changeset
|
2481 '\\[ibuffer-update]' - Regenerate the list of all buffers. |
7483188f3c91
(ibuffer-mode): Doc fix.
John Paul Wallington <jpw@pobox.com>
parents:
70489
diff
changeset
|
2482 Prefix arg means to toggle whether buffers that match |
7483188f3c91
(ibuffer-mode): Doc fix.
John Paul Wallington <jpw@pobox.com>
parents:
70489
diff
changeset
|
2483 `ibuffer-maybe-show-predicates' should be displayed. |
7483188f3c91
(ibuffer-mode): Doc fix.
John Paul Wallington <jpw@pobox.com>
parents:
70489
diff
changeset
|
2484 |
42702 | 2485 '\\[ibuffer-switch-format]' - Change the current display format. |
2486 '\\[forward-line]' - Move point to the next line. | |
2487 '\\[previous-line]' - Move point to the previous line. | |
2488 '\\[ibuffer-quit]' - Bury the Ibuffer buffer. | |
2489 '\\[describe-mode]' - This help. | |
2490 '\\[ibuffer-diff-with-file]' - View the differences between this buffer | |
2491 and its associated file. | |
2492 '\\[ibuffer-visit-buffer]' - View the buffer on this line. | |
2493 '\\[ibuffer-visit-buffer-other-window]' - As above, but in another window. | |
2494 '\\[ibuffer-visit-buffer-other-window-noselect]' - As both above, but don't select | |
2495 the new window. | |
2496 '\\[ibuffer-bury-buffer]' - Bury (not kill!) the buffer on this line. | |
2497 | |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2498 ** Information on Filtering: |
42702 | 2499 |
2500 You can filter your ibuffer view via different critera. Each Ibuffer | |
2501 buffer has its own stack of active filters. For example, suppose you | |
2502 are working on an Emacs Lisp project. You can create an Ibuffer | |
2503 buffer displays buffers in just `emacs-lisp' modes via | |
2504 '\\[ibuffer-filter-by-mode] emacs-lisp-mode RET'. In this case, there | |
2505 is just one entry on the filtering stack. | |
2506 | |
2507 You can also combine filters. The various filtering commands push a | |
2508 new filter onto the stack, and the filters combine to show just | |
2509 buffers which satisfy ALL criteria on the stack. For example, suppose | |
2510 you only want to see buffers in `emacs-lisp' mode, whose names begin | |
2511 with \"gnus\". You can accomplish this via: | |
2512 '\\[ibuffer-filter-by-mode] emacs-lisp-mode RET | |
2513 \\[ibuffer-filter-by-name] ^gnus RET'. | |
2514 | |
2515 Additionally, you can OR the top two filters together with | |
2516 '\\[ibuffer-or-filters]'. To see all buffers in either | |
2517 `emacs-lisp-mode' or `lisp-interaction-mode', type: | |
2518 | |
2519 '\\[ibuffer-filter-by-mode] emacs-lisp-mode RET \\[ibuffer-filter-by-mode] lisp-interaction-mode RET \\[ibuffer-or-filters]'. | |
2520 | |
2521 Filters can also be saved and restored using mnemonic names: see the | |
2522 functions `ibuffer-save-filters' and `ibuffer-switch-to-saved-filters'. | |
2523 | |
2524 To remove the top filter on the stack, use '\\[ibuffer-pop-filter]', and | |
2525 to disable all filtering currently in effect, use | |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2526 '\\[ibuffer-filter-disable]'. |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2527 |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2528 ** Filter Groups: |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2529 |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2530 Once one has mastered filters, the next logical step up is \"filter |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2531 groups\". A filter group is basically a named group of buffers which |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2532 match a filter, which are displayed together in an Ibuffer buffer. To |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2533 create a filter group, simply use the regular functions to create a |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2534 filter, and then type '\\[ibuffer-filters-to-filter-group]'. |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2535 |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2536 A quick example will make things clearer. Suppose that one wants to |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2537 group all of one's Emacs Lisp buffers together. To do this, type |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2538 |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2539 '\\[ibuffer-filter-by-mode] emacs-lisp-mode RET \\[ibuffer-filters-to-filter-group] RET emacs lisp buffers RET' |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2540 |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2541 You may, of course, name the group whatever you want; it doesn't have |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2542 to be \"emacs lisp buffers\". Filter groups may be composed of any |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2543 arbitrary combination of filters. |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2544 |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2545 Just like filters themselves, filter groups act as a stack. Buffers |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2546 will not be displayed multiple times if they would be included in |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2547 multiple filter groups; instead, the first filter group is used. The |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2548 filter groups are displayed in this order of precedence. |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2549 |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2550 You may rearrange filter groups by using the regular |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2551 '\\[ibuffer-kill-line]' and '\\[ibuffer-yank]' pair. Yanked groups |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2552 will be inserted before the group at point." |
42702 | 2553 (kill-all-local-variables) |
2554 (use-local-map ibuffer-mode-map) | |
2555 (setq major-mode 'ibuffer-mode) | |
2556 (setq mode-name "Ibuffer") | |
87791
179da0eedc24
(mode): Pass the buffer to format-mode-line.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
2557 ;; Include state info next to the mode name. |
87817
cc95d10c6900
(ibuffer-mode): Fix typo in previous change.
Glenn Morris <rgm@gnu.org>
parents:
87791
diff
changeset
|
2558 (set (make-local-variable 'mode-line-process) |
87867
0fe0f2600ea9
(ibuffer-mode): Fix last change.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87817
diff
changeset
|
2559 '(" by " |
0fe0f2600ea9
(ibuffer-mode): Fix last change.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87817
diff
changeset
|
2560 (ibuffer-sorting-mode (:eval (symbol-name ibuffer-sorting-mode)) |
87791
179da0eedc24
(mode): Pass the buffer to format-mode-line.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
2561 "view time") |
179da0eedc24
(mode): Pass the buffer to format-mode-line.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
2562 (ibuffer-sorting-reversep " [rev]") |
179da0eedc24
(mode): Pass the buffer to format-mode-line.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
2563 (ibuffer-auto-mode " (Auto)") |
179da0eedc24
(mode): Pass the buffer to format-mode-line.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
2564 ;; Only list the filters if they're not already in the header-line. |
179da0eedc24
(mode): Pass the buffer to format-mode-line.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
2565 (header-line-format |
179da0eedc24
(mode): Pass the buffer to format-mode-line.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
2566 "" |
179da0eedc24
(mode): Pass the buffer to format-mode-line.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
2567 (:eval (if (functionp 'ibuffer-format-qualifier) |
179da0eedc24
(mode): Pass the buffer to format-mode-line.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
2568 (mapconcat 'ibuffer-format-qualifier |
179da0eedc24
(mode): Pass the buffer to format-mode-line.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
2569 ibuffer-filtering-qualifiers "")))))) |
91782
c9c3987bcc44
(ibuffer-header-line-format): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87960
diff
changeset
|
2570 ;; `ibuffer-update' puts this on header-line-format when needed. |
c9c3987bcc44
(ibuffer-header-line-format): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87960
diff
changeset
|
2571 (setq ibuffer-header-line-format |
c9c3987bcc44
(ibuffer-header-line-format): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87960
diff
changeset
|
2572 ;; Display the part that won't be in the mode-line. |
c9c3987bcc44
(ibuffer-header-line-format): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87960
diff
changeset
|
2573 (list* "" mode-name |
c9c3987bcc44
(ibuffer-header-line-format): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87960
diff
changeset
|
2574 (mapcar (lambda (elem) |
c9c3987bcc44
(ibuffer-header-line-format): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87960
diff
changeset
|
2575 (if (eq (car-safe elem) 'header-line-format) |
c9c3987bcc44
(ibuffer-header-line-format): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87960
diff
changeset
|
2576 (nth 2 elem) elem)) |
c9c3987bcc44
(ibuffer-header-line-format): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87960
diff
changeset
|
2577 mode-line-process))) |
87791
179da0eedc24
(mode): Pass the buffer to format-mode-line.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
2578 |
42702 | 2579 (setq buffer-read-only t) |
2580 (buffer-disable-undo) | |
43382
6d5695dd7639
(ibuffer-truncate-lines): New option.
Colin Walters <walters@gnu.org>
parents:
43249
diff
changeset
|
2581 (setq truncate-lines ibuffer-truncate-lines) |
42702 | 2582 ;; This makes things less ugly for Emacs 21 users with a non-nil |
2583 ;; `show-trailing-whitespace'. | |
2584 (setq show-trailing-whitespace nil) | |
48778
d414c281a629
* ibuffer.el (ibuffer-mode): If `show-paren-mode' is enabled,
John Paul Wallington <jpw@pobox.com>
parents:
48485
diff
changeset
|
2585 ;; disable `show-paren-mode' buffer-locally |
d414c281a629
* ibuffer.el (ibuffer-mode): If `show-paren-mode' is enabled,
John Paul Wallington <jpw@pobox.com>
parents:
48485
diff
changeset
|
2586 (if (bound-and-true-p show-paren-mode) |
d414c281a629
* ibuffer.el (ibuffer-mode): If `show-paren-mode' is enabled,
John Paul Wallington <jpw@pobox.com>
parents:
48485
diff
changeset
|
2587 (set (make-local-variable 'show-paren-mode) nil)) |
42702 | 2588 (set (make-local-variable 'revert-buffer-function) |
2589 #'ibuffer-update) | |
2590 (set (make-local-variable 'ibuffer-sorting-mode) | |
2591 ibuffer-default-sorting-mode) | |
2592 (set (make-local-variable 'ibuffer-sorting-reversep) | |
2593 ibuffer-default-sorting-reversep) | |
2594 (set (make-local-variable 'ibuffer-shrink-to-minimum-size) | |
2595 ibuffer-default-shrink-to-minimum-size) | |
57563
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
2596 (set (make-local-variable 'ibuffer-display-maybe-show-predicates) |
94a1ed353a39
(ibuffer-default-display-maybe-show-predicates): New customizable
John Paul Wallington <jpw@pobox.com>
parents:
56630
diff
changeset
|
2597 ibuffer-default-display-maybe-show-predicates) |
42702 | 2598 (set (make-local-variable 'ibuffer-filtering-qualifiers) nil) |
44854
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2599 (set (make-local-variable 'ibuffer-filter-groups) nil) |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2600 (set (make-local-variable 'ibuffer-filter-group-kill-ring) nil) |
6cd35f994b33
(ibuffer-formats): Doc fix.
Colin Walters <walters@gnu.org>
parents:
44830
diff
changeset
|
2601 (set (make-local-variable 'ibuffer-hidden-filter-groups) nil) |
42702 | 2602 (set (make-local-variable 'ibuffer-compiled-formats) nil) |
2603 (set (make-local-variable 'ibuffer-cached-formats) nil) | |
2604 (set (make-local-variable 'ibuffer-cached-eliding-string) nil) | |
2605 (set (make-local-variable 'ibuffer-cached-elide-long-columns) nil) | |
2606 (set (make-local-variable 'ibuffer-current-format) nil) | |
54813
59f2a23a44d1
(ibuffer-delete-window-on-quit): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
52401
diff
changeset
|
2607 (set (make-local-variable 'ibuffer-restore-window-config-on-quit) nil) |
42702 | 2608 (set (make-local-variable 'ibuffer-did-modification) nil) |
44830
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2609 (set (make-local-variable 'ibuffer-tmp-hide-regexps) nil) |
ce8cb080a127
(ibuffer-filter-group-name-face): New.
Colin Walters <walters@gnu.org>
parents:
44796
diff
changeset
|
2610 (set (make-local-variable 'ibuffer-tmp-show-regexps) nil) |
42702 | 2611 (define-key ibuffer-mode-map [menu-bar edit] 'undefined) |
2612 (define-key ibuffer-mode-map [menu-bar operate] (cons "Operate" ibuffer-mode-operate-map)) | |
2613 (ibuffer-update-format) | |
2614 (when ibuffer-default-directory | |
2615 (setq default-directory ibuffer-default-directory)) | |
47378
84e278f2225f
(ibuffer-mode): Add font-lock-defontify to change-major-mode-hook.
Richard M. Stallman <rms@gnu.org>
parents:
47147
diff
changeset
|
2616 (add-hook 'change-major-mode-hook 'font-lock-defontify nil t) |
87791
179da0eedc24
(mode): Pass the buffer to format-mode-line.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
2617 (run-mode-hooks 'ibuffer-mode-hook)) |
42702 | 2618 |
104941
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2619 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2620 ;;; Start of automatically extracted autoloads. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2621 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2622 ;;;### (autoloads (ibuffer-do-occur ibuffer-mark-dired-buffers ibuffer-mark-read-only-buffers |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2623 ;;;;;; ibuffer-mark-special-buffers ibuffer-mark-old-buffers ibuffer-mark-compressed-file-buffers |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2624 ;;;;;; ibuffer-mark-help-buffers ibuffer-mark-dissociated-buffers |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2625 ;;;;;; ibuffer-mark-unsaved-buffers ibuffer-mark-modified-buffers |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2626 ;;;;;; ibuffer-mark-by-mode ibuffer-mark-by-file-name-regexp ibuffer-mark-by-mode-regexp |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2627 ;;;;;; ibuffer-mark-by-name-regexp ibuffer-copy-filename-as-kill |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2628 ;;;;;; ibuffer-diff-with-file ibuffer-jump-to-buffer ibuffer-do-kill-lines |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2629 ;;;;;; ibuffer-backwards-next-marked ibuffer-forward-next-marked |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2630 ;;;;;; ibuffer-add-to-tmp-show ibuffer-add-to-tmp-hide ibuffer-bs-show |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2631 ;;;;;; ibuffer-invert-sorting ibuffer-toggle-sorting-mode ibuffer-switch-to-saved-filters |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2632 ;;;;;; ibuffer-add-saved-filters ibuffer-delete-saved-filters ibuffer-save-filters |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2633 ;;;;;; ibuffer-or-filter ibuffer-negate-filter ibuffer-exchange-filters |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2634 ;;;;;; ibuffer-decompose-filter ibuffer-pop-filter ibuffer-filter-disable |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2635 ;;;;;; ibuffer-switch-to-saved-filter-groups ibuffer-delete-saved-filter-groups |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2636 ;;;;;; ibuffer-save-filter-groups ibuffer-yank-filter-group ibuffer-yank |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2637 ;;;;;; ibuffer-kill-line ibuffer-kill-filter-group ibuffer-jump-to-filter-group |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2638 ;;;;;; ibuffer-clear-filter-groups ibuffer-decompose-filter-group |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2639 ;;;;;; ibuffer-pop-filter-group ibuffer-set-filter-groups-by-mode |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2640 ;;;;;; ibuffer-filters-to-filter-group ibuffer-included-in-filters-p |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2641 ;;;;;; ibuffer-backward-filter-group ibuffer-forward-filter-group |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2642 ;;;;;; ibuffer-toggle-filter-group ibuffer-mouse-toggle-filter-group |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2643 ;;;;;; ibuffer-interactive-filter-by-mode ibuffer-mouse-filter-by-mode |
106817
13cc2986cf43
Update autoload checksums.
Juanma Barranquero <lekktu@gmail.com>
parents:
106815
diff
changeset
|
2644 ;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" "4fb4f1a32cf4ecf4669a133a866f4a14") |
104941
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2645 ;;; Generated autoloads from ibuf-ext.el |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2646 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2647 (autoload 'ibuffer-auto-mode "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2648 Toggle use of Ibuffer's auto-update facility. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2649 With numeric ARG, enable auto-update if and only if ARG is positive. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2650 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2651 \(fn &optional ARG)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2652 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2653 (autoload 'ibuffer-mouse-filter-by-mode "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2654 Enable or disable filtering by the major mode chosen via mouse. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2655 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2656 \(fn EVENT)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2657 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2658 (autoload 'ibuffer-interactive-filter-by-mode "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2659 Enable or disable filtering by the major mode at point. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2660 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2661 \(fn EVENT-OR-POINT)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2662 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2663 (autoload 'ibuffer-mouse-toggle-filter-group "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2664 Toggle the display status of the filter group chosen with the mouse. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2665 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2666 \(fn EVENT)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2667 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2668 (autoload 'ibuffer-toggle-filter-group "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2669 Toggle the display status of the filter group on this line. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2670 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2671 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2672 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2673 (autoload 'ibuffer-forward-filter-group "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2674 Move point forwards by COUNT filtering groups. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2675 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2676 \(fn &optional COUNT)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2677 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2678 (autoload 'ibuffer-backward-filter-group "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2679 Move point backwards by COUNT filtering groups. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2680 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2681 \(fn &optional COUNT)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2682 (autoload 'ibuffer-do-shell-command-pipe "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2683 (autoload 'ibuffer-do-shell-command-pipe-replace "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2684 (autoload 'ibuffer-do-shell-command-file "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2685 (autoload 'ibuffer-do-eval "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2686 (autoload 'ibuffer-do-view-and-eval "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2687 (autoload 'ibuffer-do-rename-uniquely "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2688 (autoload 'ibuffer-do-revert "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2689 (autoload 'ibuffer-do-isearch "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2690 (autoload 'ibuffer-do-isearch-regexp "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2691 (autoload 'ibuffer-do-replace-regexp "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2692 (autoload 'ibuffer-do-query-replace "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2693 (autoload 'ibuffer-do-query-replace-regexp "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2694 (autoload 'ibuffer-do-print "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2695 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2696 (autoload 'ibuffer-included-in-filters-p "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2697 Not documented |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2698 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2699 \(fn BUF FILTERS)" nil nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2700 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2701 (autoload 'ibuffer-filters-to-filter-group "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2702 Make the current filters into a filtering group. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2703 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2704 \(fn NAME)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2705 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2706 (autoload 'ibuffer-set-filter-groups-by-mode "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2707 Set the current filter groups to filter by mode. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2708 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2709 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2710 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2711 (autoload 'ibuffer-pop-filter-group "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2712 Remove the first filter group. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2713 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2714 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2715 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2716 (autoload 'ibuffer-decompose-filter-group "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2717 Decompose the filter group GROUP into active filters. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2718 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2719 \(fn GROUP)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2720 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2721 (autoload 'ibuffer-clear-filter-groups "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2722 Remove all filter groups. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2723 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2724 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2725 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2726 (autoload 'ibuffer-jump-to-filter-group "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2727 Move point to the filter group whose name is NAME. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2728 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2729 \(fn NAME)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2730 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2731 (autoload 'ibuffer-kill-filter-group "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2732 Kill the filter group named NAME. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2733 The group will be added to `ibuffer-filter-group-kill-ring'. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2734 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2735 \(fn NAME)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2736 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2737 (autoload 'ibuffer-kill-line "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2738 Kill the filter group at point. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2739 See also `ibuffer-kill-filter-group'. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2740 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2741 \(fn &optional ARG INTERACTIVE-P)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2742 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2743 (autoload 'ibuffer-yank "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2744 Yank the last killed filter group before group at point. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2745 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2746 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2747 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2748 (autoload 'ibuffer-yank-filter-group "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2749 Yank the last killed filter group before group named NAME. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2750 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2751 \(fn NAME)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2752 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2753 (autoload 'ibuffer-save-filter-groups "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2754 Save all active filter groups GROUPS as NAME. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2755 They are added to `ibuffer-saved-filter-groups'. Interactively, |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2756 prompt for NAME, and use the current filters. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2757 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2758 \(fn NAME GROUPS)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2759 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2760 (autoload 'ibuffer-delete-saved-filter-groups "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2761 Delete saved filter groups with NAME. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2762 They are removed from `ibuffer-saved-filter-groups'. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2763 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2764 \(fn NAME)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2765 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2766 (autoload 'ibuffer-switch-to-saved-filter-groups "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2767 Set this buffer's filter groups to saved version with NAME. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2768 The value from `ibuffer-saved-filter-groups' is used. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2769 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2770 \(fn NAME)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2771 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2772 (autoload 'ibuffer-filter-disable "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2773 Disable all filters currently in effect in this buffer. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2774 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2775 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2776 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2777 (autoload 'ibuffer-pop-filter "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2778 Remove the top filter in this buffer. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2779 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2780 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2781 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2782 (autoload 'ibuffer-decompose-filter "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2783 Separate the top compound filter (OR, NOT, or SAVED) in this buffer. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2784 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2785 This means that the topmost filter on the filtering stack, which must |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2786 be a complex filter like (OR [name: foo] [mode: bar-mode]), will be |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2787 turned into two separate filters [name: foo] and [mode: bar-mode]. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2788 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2789 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2790 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2791 (autoload 'ibuffer-exchange-filters "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2792 Exchange the top two filters on the stack in this buffer. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2793 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2794 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2795 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2796 (autoload 'ibuffer-negate-filter "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2797 Negate the sense of the top filter in the current buffer. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2798 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2799 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2800 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2801 (autoload 'ibuffer-or-filter "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2802 Replace the top two filters in this buffer with their logical OR. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2803 If optional argument REVERSE is non-nil, instead break the top OR |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2804 filter into parts. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2805 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2806 \(fn &optional REVERSE)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2807 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2808 (autoload 'ibuffer-save-filters "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2809 Save FILTERS in this buffer with name NAME in `ibuffer-saved-filters'. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2810 Interactively, prompt for NAME, and use the current filters. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2811 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2812 \(fn NAME FILTERS)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2813 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2814 (autoload 'ibuffer-delete-saved-filters "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2815 Delete saved filters with NAME from `ibuffer-saved-filters'. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2816 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2817 \(fn NAME)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2818 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2819 (autoload 'ibuffer-add-saved-filters "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2820 Add saved filters from `ibuffer-saved-filters' to this buffer's filters. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2821 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2822 \(fn NAME)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2823 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2824 (autoload 'ibuffer-switch-to-saved-filters "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2825 Set this buffer's filters to filters with NAME from `ibuffer-saved-filters'. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2826 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2827 \(fn NAME)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2828 (autoload 'ibuffer-filter-by-mode "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2829 (autoload 'ibuffer-filter-by-used-mode "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2830 (autoload 'ibuffer-filter-by-name "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2831 (autoload 'ibuffer-filter-by-filename "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2832 (autoload 'ibuffer-filter-by-size-gt "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2833 (autoload 'ibuffer-filter-by-size-lt "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2834 (autoload 'ibuffer-filter-by-content "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2835 (autoload 'ibuffer-filter-by-predicate "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2836 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2837 (autoload 'ibuffer-toggle-sorting-mode "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2838 Toggle the current sorting mode. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2839 Default sorting modes are: |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2840 Recency - the last time the buffer was viewed |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2841 Name - the name of the buffer |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2842 Major Mode - the name of the major mode of the buffer |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2843 Size - the size of the buffer |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2844 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2845 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2846 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2847 (autoload 'ibuffer-invert-sorting "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2848 Toggle whether or not sorting is in reverse order. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2849 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2850 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2851 (autoload 'ibuffer-do-sort-by-major-mode "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2852 (autoload 'ibuffer-do-sort-by-mode-name "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2853 (autoload 'ibuffer-do-sort-by-alphabetic "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2854 (autoload 'ibuffer-do-sort-by-size "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2855 (autoload 'ibuffer-do-sort-by-filename/process "ibuf-ext") |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2856 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2857 (autoload 'ibuffer-bs-show "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2858 Emulate `bs-show' from the bs.el package. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2859 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2860 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2861 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2862 (autoload 'ibuffer-add-to-tmp-hide "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2863 Add REGEXP to `ibuffer-tmp-hide-regexps'. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2864 This means that buffers whose name matches REGEXP will not be shown |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2865 for this Ibuffer session. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2866 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2867 \(fn REGEXP)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2868 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2869 (autoload 'ibuffer-add-to-tmp-show "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2870 Add REGEXP to `ibuffer-tmp-show-regexps'. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2871 This means that buffers whose name matches REGEXP will always be shown |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2872 for this Ibuffer session. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2873 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2874 \(fn REGEXP)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2875 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2876 (autoload 'ibuffer-forward-next-marked "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2877 Move forward by COUNT marked buffers (default 1). |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2878 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2879 If MARK is non-nil, it should be a character denoting the type of mark |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2880 to move by. The default is `ibuffer-marked-char'. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2881 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2882 If DIRECTION is non-nil, it should be an integer; negative integers |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2883 mean move backwards, non-negative integers mean move forwards. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2884 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2885 \(fn &optional COUNT MARK DIRECTION)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2886 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2887 (autoload 'ibuffer-backwards-next-marked "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2888 Move backwards by COUNT marked buffers (default 1). |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2889 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2890 If MARK is non-nil, it should be a character denoting the type of mark |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2891 to move by. The default is `ibuffer-marked-char'. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2892 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2893 \(fn &optional COUNT MARK)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2894 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2895 (autoload 'ibuffer-do-kill-lines "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2896 Hide all of the currently marked lines. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2897 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2898 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2899 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2900 (autoload 'ibuffer-jump-to-buffer "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2901 Move point to the buffer whose name is NAME. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2902 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2903 If called interactively, prompt for a buffer name and go to the |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2904 corresponding line in the Ibuffer buffer. If said buffer is in a |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2905 hidden group filter, open it. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2906 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2907 If `ibuffer-jump-offer-only-visible-buffers' is non-nil, only offer |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2908 visible buffers in the completion list. Calling the command with |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2909 a prefix argument reverses the meaning of that variable. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2910 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2911 \(fn NAME)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2912 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2913 (autoload 'ibuffer-diff-with-file "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2914 View the differences between marked buffers and their associated files. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2915 If no buffers are marked, use buffer at point. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2916 This requires the external program \"diff\" to be in your `exec-path'. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2917 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2918 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2919 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2920 (autoload 'ibuffer-copy-filename-as-kill "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2921 Copy filenames of marked buffers into the kill ring. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2922 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2923 The names are separated by a space. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2924 If a buffer has no filename, it is ignored. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2925 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2926 With no prefix arg, use the filename sans its directory of each marked file. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2927 With a zero prefix arg, use the complete filename of each marked file. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2928 With \\[universal-argument], use the filename of each marked file relative |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2929 to `ibuffer-default-directory' if non-nil, otherwise `default-directory'. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2930 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2931 You can then feed the file name(s) to other commands with \\[yank]. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2932 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2933 \(fn &optional ARG)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2934 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2935 (autoload 'ibuffer-mark-by-name-regexp "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2936 Mark all buffers whose name matches REGEXP. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2937 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2938 \(fn REGEXP)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2939 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2940 (autoload 'ibuffer-mark-by-mode-regexp "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2941 Mark all buffers whose major mode matches REGEXP. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2942 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2943 \(fn REGEXP)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2944 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2945 (autoload 'ibuffer-mark-by-file-name-regexp "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2946 Mark all buffers whose file name matches REGEXP. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2947 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2948 \(fn REGEXP)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2949 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2950 (autoload 'ibuffer-mark-by-mode "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2951 Mark all buffers whose major mode equals MODE. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2952 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2953 \(fn MODE)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2954 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2955 (autoload 'ibuffer-mark-modified-buffers "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2956 Mark all modified buffers. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2957 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2958 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2959 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2960 (autoload 'ibuffer-mark-unsaved-buffers "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2961 Mark all modified buffers that have an associated file. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2962 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2963 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2964 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2965 (autoload 'ibuffer-mark-dissociated-buffers "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2966 Mark all buffers whose associated file does not exist. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2967 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2968 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2969 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2970 (autoload 'ibuffer-mark-help-buffers "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2971 Mark buffers like *Help*, *Apropos*, *Info*. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2972 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2973 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2974 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2975 (autoload 'ibuffer-mark-compressed-file-buffers "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2976 Mark buffers whose associated file is compressed. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2977 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2978 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2979 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2980 (autoload 'ibuffer-mark-old-buffers "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2981 Mark buffers which have not been viewed in `ibuffer-old-time' hours. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2982 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2983 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2984 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2985 (autoload 'ibuffer-mark-special-buffers "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2986 Mark all buffers whose name begins and ends with '*'. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2987 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2988 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2989 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2990 (autoload 'ibuffer-mark-read-only-buffers "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2991 Mark all read-only buffers. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2992 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2993 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2994 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2995 (autoload 'ibuffer-mark-dired-buffers "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2996 Mark all `dired' buffers. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2997 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2998 \(fn)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
2999 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
3000 (autoload 'ibuffer-do-occur "ibuf-ext" "\ |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
3001 View lines which match REGEXP in all marked buffers. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
3002 Optional argument NLINES says how many lines of context to display: it |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
3003 defaults to one. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
3004 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
3005 \(fn REGEXP &optional NLINES)" t nil) |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
3006 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
3007 ;;;*** |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
3008 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
3009 ;;; End of automatically extracted autoloads. |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
3010 |
f02d30058310
Regenerate with extracted autoloads.
Glenn Morris <rgm@gnu.org>
parents:
104543
diff
changeset
|
3011 |
42702 | 3012 (provide 'ibuffer) |
3013 | |
49410
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
3014 (run-hooks 'ibuffer-load-hook) |
798119a6859c
* ibuffer.el (ibuffer-window-list): Remove.
John Paul Wallington <jpw@pobox.com>
parents:
48778
diff
changeset
|
3015 |
42702 | 3016 ;; Local Variables: |
3017 ;; coding: iso-8859-1 | |
3018 ;; End: | |
3019 | |
87791
179da0eedc24
(mode): Pass the buffer to format-mode-line.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
3020 ;; arch-tag: 72581688-0603-4954-b8cf-837c700f62e8 |
42702 | 3021 ;;; ibuffer.el ends here |