? Fallagassrini

Fallagassrini Bypass Shell

echo"
Fallagassrini
";
Current Path : /usr/share/emacs/24.3/lisp/

Linux gator3171.hostgator.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
Upload File :
Current File : //usr/share/emacs/24.3/lisp/ibuffer.elc

;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:06:22 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/ibuffer.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\210\312\313\314\315\316\317\310\303&\210\312\320\321\322\316\323\310\303&\210\312\324\325\326\316\327\310\303&\210\312\330\304\331\316\323\310\303&\210\312\332\304\333\316\323\310\303&\207" [require font-core custom-declare-group ibuffer nil "Advanced replacement for `buffer-menu'.\nIbuffer lets you operate on buffers in a Dired-like way,\nwith the ability to sort, mark by regular expression,\nand filter displayed buffers by various criteria." :version "22.1" :group convenience custom-declare-variable ibuffer-formats '((mark modified read-only " " (name 18 18 :left :elide) " " (size 9 -1 :right) " " (mode 16 16 :left :elide) " " filename-and-process) (mark " " (name 16 -1) " " filename)) "A list of ways to display buffer lines.\n\nWith Ibuffer, you are not limited to displaying just certain\nattributes of a buffer such as size, name, and mode in a particular\norder.  Through this variable, you can completely customize and\ncontrol the appearance of an Ibuffer buffer.  See also\n`define-ibuffer-column', which allows you to define your own columns\nfor display.\n\nThis variable has the form\n ((COLUMN COLUMN ...) (COLUMN COLUMN ...) ...)\nEach element in `ibuffer-formats' should be a list containing COLUMN\nspecifiers.  A COLUMN can be any of the following:\n\n  SYMBOL - A symbol naming the column.  Predefined columns are:\n       mark modified read-only name size mode process filename\n   When you define your own columns using `define-ibuffer-column', just\n   use their name like the predefined columns here.  This entry can\n   also be a function of two arguments, which should return a string.\n   The first argument is the buffer object, and the second is the mark\n   on that buffer.\n or\n  \"STRING\" - A literal string to display.\n or\n  (SYMBOL MIN-SIZE MAX-SIZE &optional ALIGN ELIDE) - SYMBOL is a\n   symbol naming the column, and MIN-SIZE and MAX-SIZE are integers (or\n   functions of no arguments returning an integer) which constrict the\n   size of a column.  If MAX-SIZE is -1, there is no upper bound.  The\n   default values are 0 and -1, respectively.  If MIN-SIZE is negative,\n   use the end of the string.  The optional element ALIGN describes the\n   alignment of the column; it can be :left, :center or :right.  The\n   optional element ELIDE describes whether or not to elide the column\n   if it is too long; valid values are :elide and nil.  The default is\n   nil (don't elide).\n\nSome example of valid entries in `ibuffer-formats', with\ndescription (also, feel free to try them out, and experiment with your\nown!):\n\n (mark \" \" name)\n  This format just displays the current mark (if any) and the name of\n  the buffer, separated by a space.\n (mark modified read-only \" \" (name 16 16 :left) \" \" (size 6 -1 :right))\n  This format displays the current mark (if any), its modification and\n  read-only status, as well as the name of the buffer and its size.  In\n  this format, the name is restricted to 16 characters (longer names\n  will be truncated, and shorter names will be padded with spaces), and\n  the name is also aligned to the left.  The size of the buffer will\n  be padded with spaces up to a minimum of six characters, but there is\n  no upper limit on its size.  The size will also be aligned to the\n  right.\n\nThus, if you wanted to use these two formats, the appropriate\nvalue for this variable would be\n\n  '((mark \" \" name)\n    (mark modified read-only\n          (name 16 16 :left)\n          (size 6 -1 :right)))\n\nUsing \\[ibuffer-switch-format], you can rotate the display between\nthe specified formats in the list." :type (repeat sexp) ibuffer-always-compile-formats (featurep 'bytecomp) "If non-nil, then use the byte-compiler to optimize `ibuffer-formats'.\nThis will increase the redisplay speed, at the cost of loading the\nelisp byte-compiler." boolean ibuffer-fontification-alist `((10 buffer-read-only font-lock-constant-face) (15 (and buffer-file-name (string-match ibuffer-compressed-file-name-regexp buffer-file-name)) font-lock-doc-face) (20 (string-match "^*" (buffer-name)) font-lock-keyword-face) (25 (and (string-match "^ " (buffer-name)) (null buffer-file-name)) italic) (30 (memq major-mode ibuffer-help-buffer-modes) font-lock-comment-face) (35 (eq major-mode 'dired-mode) font-lock-function-name-face)) "An alist describing how to fontify buffers.\nEach element should be of the form (PRIORITY FORM FACE), where\nPRIORITY is an integer, FORM is an arbitrary form to evaluate in the\nbuffer, and FACE is the face to use for fontification.  If the FORM\nevaluates to non-nil, then FACE will be put on the buffer name.  The\nelement with the highest PRIORITY takes precedence.\n\nIf you change this variable, you must kill the Ibuffer buffer and\nrecreate it for the change to take effect." (repeat (list (integer :tag "Priority") (sexp :tag "Test Form") face)) ibuffer-use-other-window "If non-nil, display Ibuffer in another window by default." ibuffer-default-shrink-to-minimum-size "If non-nil, minimize the size of the Ibuffer window by default."] 8)
(defvar ibuffer-shrink-to-minimum-size nil)
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\302\311\304\305\306\307&\210\300\312\313\314\304\305\306\307&\210\300\315\316\317\304\320\306\307&\207" [custom-declare-variable ibuffer-display-summary t "If non-nil, summarize Ibuffer columns." :type boolean :group ibuffer ibuffer-truncate-lines "If non-nil, do not display continuation lines." ibuffer-case-fold-search case-fold-search "If non-nil, ignore case when searching." ibuffer-default-sorting-mode 'recency "The criteria by which to sort the buffers.\n\nNote that this variable is local to each Ibuffer buffer.  Thus, you\ncan have multiple Ibuffer buffers open, each with a different sorted\nview of the buffers." (choice (const :tag "Last view time" :value recency) (const :tag "Lexicographic" :value alphabetic) (const :tag "Buffer size" :value size) (const :tag "File name" :value filename/process) (const :tag "Major mode" :value major-mode))] 8)
(defvar ibuffer-sorting-mode nil)
(defvar ibuffer-last-sorting-mode nil)
#@48 If non-nil, reverse the default sorting order.
(custom-declare-variable 'ibuffer-default-sorting-reversep nil '(#$ . 6729) :type 'boolean :group 'ibuffer)
(defvar ibuffer-sorting-reversep nil)
(byte-code "\300\301\302\303\304\305\306\307&\210\310\301\311\312#\210\300\313\314\315\304\316\306\307&\210\300\317\320\321\304\322\306\307&\210\300\323\302\324\304\305\306\307&\207" [custom-declare-variable ibuffer-elide-long-columns nil "If non-nil, then elide column entries which exceed their max length." :type boolean :group ibuffer make-obsolete-variable "use the :elide argument of `ibuffer-formats'." "22.1" ibuffer-eliding-string "..." "The string to use for eliding long columns." string ibuffer-maybe-show-predicates `(,(lambda (buf) (and (string-match "^ " (buffer-name buf)) (null buffer-file-name)))) "A list of predicates for buffers to display conditionally.\n\nA predicate can be a regexp or a function.\nIf a regexp, then it will be matched against the buffer's name.\nIf a function, it will be called with the buffer as an argument, and\nshould return non-nil if this buffer should be shown.\n\nViewing of buffers hidden because of these predicates may be customized\nvia `ibuffer-default-display-maybe-show-predicates' and is toggled by\ngiving a non-nil prefix argument to `ibuffer-update'.\nNote that this specialized filtering occurs before real filtering." (repeat (choice regexp function)) ibuffer-default-display-maybe-show-predicates "Non-nil means show buffers that match `ibuffer-maybe-show-predicates'."] 8)
(defvar ibuffer-display-maybe-show-predicates nil)
(defvar ibuffer-current-format nil)
(byte-code "\302\303\304\305\306\307\310\311&\210\302\312\313\314\306\315\310\311&\210\302\316\317\320\306\315\310\311&\210\302\321\322\323\306\315\310\311&\210\302\324\325\326\306\315\310\311&\210\302\327\330\331\306\307\310\311&\210\302\332\330\333\306\307\310\311&\210\302\334\330\335\306\336\310\311&\210\302\337\330\340\306\307\310\311&\210\302\341\342\343\306\307\310\311&\210\302\344\330\345\306\346\310\311&\210\302\347\350\351\306\352\310\311&\210\302\353\354\355\356\357\306\360\310\311&	\210\361\362\363\330#\210\364\330\211\203\275	@\362N\203\266\363N\204\266\365\363\362N#\210	A\211\204\237*\366\362\363\367#\210\302\363\330\370\306\371\310\311&\210\361\372\373\330#\210\364\330\211\203\373	@\372N\203\364\373N\204\364\365\373\372N#\210	A\211\204\335*\366\372\373\367#\210\302\373\330\374\306\371\310\311&\210\302\375\330\376\306\371\310\311&\210\302\377\201@\201A\306\201B\310\311&\210\302\201C\201D\201E\306\201B\310\311&\210\302\201F\201G\201H\306\201B\310\311&\210\302\201I\201J\201K\306\201B\310\311&\210\302\201L\330\201M\306\201N\310\311&\207" [prop --dolist-tail-- custom-declare-variable ibuffer-movement-cycle t "If non-nil, then forward and backwards movement commands cycle." :type boolean :group ibuffer ibuffer-modified-char 42 "The character to display for modified buffers." character ibuffer-read-only-char 37 "The character to display for read-only buffers." ibuffer-marked-char 62 "The character to display for marked buffers." ibuffer-deletion-char 68 "The character to display for buffers marked for deletion." ibuffer-expert nil "If non-nil, don't ask for confirmation of \"dangerous\" operations." ibuffer-view-ibuffer "If non-nil, display the current Ibuffer buffer itself.\nNote that this has a drawback - the data about the current Ibuffer\nbuffer will most likely be inaccurate.  This includes modification\nstate, size, etc." ibuffer-always-show-last-buffer "If non-nil, always display the previous buffer.\nThis variable takes precedence over filtering, and even\n`ibuffer-never-show-predicates'." (choice (const :tag "Always" :value t) (const :tag "Never" :value nil) (const :tag "Always except minibuffer" :value :nomini)) ibuffer-jump-offer-only-visible-buffers "If non-nil, only offer buffers visible in the Ibuffer buffer\nin completion lists of the `ibuffer-jump-to-buffer' command." ibuffer-use-header-line (boundp 'header-line-format) "If non-nil, display a header line containing current filters." ibuffer-default-directory "The default directory to use for a new Ibuffer buffer.\nIf nil, inherit the directory of the buffer in which `ibuffer' was\ncalled.  Otherwise, this variable should be a string naming a\ndirectory, like `default-directory'." (choice (const :tag "Inherit" :value nil) string) ibuffer-help-buffer-modes '(help-mode apropos-mode Info-mode Info-edit-mode) "List of \"Help\" major modes." (repeat function) ibuffer-compressed-file-name-regexp "\\.\\(arj\\|bgz\\|bz2\\|gz\\|lzh\\|taz\\|tgz\\|xz\\|zip\\|z\\)$" "Regexp to match compressed file names." :version "24.1" regexp defvaralias ibuffer-hooks ibuffer-hook (saved-value saved-variable-comment) put make-obsolete-variable "22.1" "Hook run when `ibuffer' is called." hook ibuffer-mode-hooks ibuffer-mode-hook "Hook run upon entry into `ibuffer-mode'." ibuffer-load-hook "Hook run when Ibuffer is loaded." ibuffer-marked-face 'warning "Face used for displaying marked buffers." face ibuffer-deletion-face 'error "Face used for displaying buffers marked for deletion." ibuffer-title-face 'font-lock-type-face "Face used for the title string." ibuffer-filter-group-name-face 'bold "Face used for displaying filtering group names." ibuffer-directory-abbrev-alist "An alist of file name abbreviations like `directory-abbrev-alist'." (repeat (cons :format "%v" :value (#1="" . #1#) (regexp :tag "From") (regexp :tag "To")))] 11)
(defvar ibuffer-mode-groups-popup (byte-code "\301\302!\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\317#\210\303\320\321#\210\303\322\323#\210\303\324\325#\210\303\326\327#\210\303\330\331#\210\303\332\333#\210\303\334\335#\210)\207" [groups-map make-sparse-keymap "Filter Groups" define-key-after [filters-to-filter-group] (menu-item "Create filter group from current filters..." ibuffer-filters-to-filter-group :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers)) [forward-filter-group] (menu-item "Move point to the next filter group" ibuffer-forward-filter-group) [backward-filter-group] (menu-item "Move point to the previous filter group" ibuffer-backward-filter-group) [jump-to-filter-group] (menu-item "Move point to a specific filter group..." ibuffer-jump-to-filter-group) [kill-filter-group] (menu-item "Kill filter group named..." ibuffer-kill-filter-group :enable (and (featurep 'ibuf-ext) ibuffer-filter-groups)) [yank-filter-group] (menu-item "Yank last killed filter group before..." ibuffer-yank-filter-group :enable (and (featurep 'ibuf-ext) ibuffer-filter-group-kill-ring)) [pop-filter-group] (menu-item "Remove top filter group" ibuffer-pop-filter-group :enable (and (featurep 'ibuf-ext) ibuffer-filter-groups)) [clear-filter-groups] (menu-item "Remove all filter groups" ibuffer-clear-filter-groups :enable (and (featurep 'ibuf-ext) ibuffer-filter-groups)) [pop-filter-group] (menu-item "Decompose filter group..." ibuffer-pop-filter-group :help "\"Unmake\" a filter group" :enable (and (featurep 'ibuf-ext) ibuffer-filter-groups)) [save-filter-groups] (menu-item "Save current filter groups permanently..." ibuffer-save-filter-groups :enable (and (featurep 'ibuf-ext) ibuffer-filter-groups) :help "Use a mnemonic name to store current filter groups") [switch-to-saved-filter-groups] (menu-item "Restore permanently saved filters..." ibuffer-switch-to-saved-filter-groups :enable (and (featurep 'ibuf-ext) ibuffer-saved-filter-groups) :help "Replace current filters with a saved stack") [delete-saved-filter-groups] (menu-item "Delete permanently saved filter groups..." ibuffer-delete-saved-filter-groups :enable (and (featurep 'ibuf-ext) ibuffer-saved-filter-groups)) [set-filter-groups-by-mode] (menu-item "Set current filter groups to filter by mode" ibuffer-set-filter-groups-by-mode)] 4))
(defvar ibuffer-mode-map (byte-code "\302 \303\304\305#\210\303\306\305#\210\303\307\305#\210\303\310\305#\210\303\311\305#\210\303\312\305#\210\303\313\305#\210\303\314\305#\210\303\315\305#\210\303\316\305#\210\303\317\320#\210\303\321\322#\210\303\323\324#\210\303\325\326#\210\303\327\330#\210\303\331\330#\210\303\332\333#\210\303\334\335#\210\303\336\337#\210\303\340\341#\210\303\342\341#\210\303\343\344#\210\303\345\346#\210\303\347\350#\210\303\351\352#\210\303\353\354#\210\303\355\356#\210\303\357\360#\210\303\361\362#\210\303\363\364#\210\303\365\366#\210\303\367\370#\210\303\371\372#\210\303\373\370#\210\303\374\375#\210\303\376\377#\210\303\201@\201A#\210\303\201B\201C#\210\303\201D\201E#\210\303\201F\201G#\210\303\201H\201I#\210\303\201J\201K#\210\303\201L\201M#\210\303\201N\201O#\210\303\201P\201Q#\210\303\201R\201S#\210\303\201T\201U#\210\303\201V\201W#\210\303\201X\201Y#\210\303\201Z\201[#\210\303\201\\\201]#\210\303\201^\201_#\210\303\201`\201a#\210\303\201b\201c#\210\303\201d\201e#\210\303\201f\201g#\210\303\201h\201i#\210\303\201j\201k#\210\303\201l\201m#\210\303\201n\201o#\210\303\201p\201q#\210\303\201r\201s#\210\303\201t\201u#\210\303\201v\201w#\210\303\201x\201y#\210\303\201z\201{#\210\303\201|\201}#\210\303\201~\201#\210\303\201\200\201\201#\210\303\201\202\201\201#\210\303\201\203\201\204#\210\303\201\205\201\206#\210\303\201\207\201\210#\210\303\201\211\201\212#\210\303\201\213\201\214#\210\303\201\215\201\216#\210\303\201\217\201\216#\210\303\201\220\201\221#\210\303\201\222\201\221#\210\303\201\223\201\224#\210\303\201\225\201\226#\210\303\201\227\201\230#\210\303\201\231\201\232#\210\303\201\233\201\234#\210\303\201\235\201\236#\210\303\201\237\201\240#\210\303\201\241\201\242#\210\303\201\243\201\244#\210\303\201\245\201\244#\210\303\201\246\201\247#\210\303\201\250\201\251#\210\303\201\252\201\253#\210\303\201\254\201\255#\210\303\201\256\201\257#\210\303\201\260\201\261#\210\303\201\262\201\263#\210\303\201\264\201\265#\210\303\201\266\201\267#\210\303\201\270\201\271#\210\303\201\272\201\261#\210\303\201\273\201\274#\210\303\201\275\201\276#\210\303\201\277\201\300#\210\303\201\301\201\263#\210\303\201\302\201\303#\210\303\201\304\201\305#\210\303\201\306\201\307#\210\303\201\310\201\311#\210\303\201\312\201\313#\210\303\201\314\201\315#\210\303\201\316\201\317#\210\303\201\320\201\321#\210\303\201\322\201\323#\210\303\201\324\201\257#\210\303\373\201\325#\210\303\201\326\201\327#\210\303\201\330\201\331#\210\303\201\332\201\331#\210\303\201\333\201\331#\210\303\201\334\201\335#\210\303\201\336\201\337#\210\303\201\340\201\341#\210\303\201\342\201\343#\210\303\201\344\201\265#\210\303\201\345\201\346#\210\303\201\347\201\350#\210\303\201\351\201\337#\210\303\201\352\201\353#\210\303\201\354\201\355\201\356\201\355!B#\210\201\357\201\360\201\361#\210\201\357\201\362\201\363#\210\201\357\201\364\201\365#\210\201\357\201\366\201\367#\210\201\357\201\370\201\371#\210\201\357\201\372\201\373#\210\201\357\201\374\201\375\201\356\201\375!B#\210\201\357\201\376\201\377#\210\201\357\201\201#\210\201\357\201\201#\210\201\357\201\201#\210\201\357\201\201#\210\201\357\201\201	#\210\201\357\201\n\201#\210\201\357\201\f\201
\201\356\201
!B#\210\201\357\201\201#\210\201\357\201\201#\210\201\357\201\201#\210\201\357\201\201#\210\201\357\201\201#\210\201\357\201\201#\210\201\357\201\201#\210\201\357\201\201#\210\201\357\201\201#\210\201\357\201 \201!#\210\201\357\201\"\201##\210\201\357\201$\201%#\210\201\357\201&\201'#\210\201\357\201(\201)#\210\201\357\201*\201+#\210\201\357\201,\201-#\210\201\357\201.\201/#\210\201\357\2010\2011#\210\201\357\2012\2013#\210\201\357\2014\2015	B#\210\201\357\2016\2017#\210\201\357\2018\2019#\210\201\357\201:\201;#\210\201\357\201<\201=#\210\201\357\201>\201?\201\356\201?!B#\210\201\357\201@\201A#\210\201\357\201B\201C#\210\201\357\201D\201E#\210\201\357\201F\201G#\210\201\357\201H\201I#\210\201\357\201J\201K#\210\201\357\201L\201M#\210\201\357\201N\201O#\210\201\357\201P\201Q#\210\201\357\201R\201S#\210\201\357\201T\201U#\210\201\357\201V\201W#\210\201\357\201X\201Y#\210\201\357\201Z\201[#\210\201\357\201\\\201]#\210\201\357\201^\201_#\210\201\357\201`\201a#\210\201\357\201b\201c#\210)\207" [map ibuffer-mode-groups-popup make-keymap define-key "0" digit-argument "1" "2" "3" "4" "5" "6" "7" "8" "9" "m" ibuffer-mark-forward "t" ibuffer-toggle-marks "u" ibuffer-unmark-forward "=" ibuffer-diff-with-file "j" ibuffer-jump-to-buffer [134217831] [134217843 97 19] ibuffer-do-isearch [134217843 97 134217747] ibuffer-do-isearch-regexp "" ibuffer-unmark-backward [134217855] ibuffer-unmark-all "**" "*M" ibuffer-mark-by-mode "*m" ibuffer-mark-modified-buffers "*u" ibuffer-mark-unsaved-buffers "*s" ibuffer-mark-special-buffers "*r" ibuffer-mark-read-only-buffers "*/" ibuffer-mark-dired-buffers "*e" ibuffer-mark-dissociated-buffers "*h" ibuffer-mark-help-buffers "*z" ibuffer-mark-compressed-file-buffers "." ibuffer-mark-old-buffers "d" ibuffer-mark-for-delete "" ibuffer-mark-for-delete-backwards "k" "x" ibuffer-do-kill-on-deletion-marks "n" ibuffer-forward-line " " forward-line "p" ibuffer-backward-line [134217853] ibuffer-forward-next-marked [134217851] ibuffer-backwards-next-marked "l" ibuffer-redisplay "g" ibuffer-update "`" ibuffer-switch-format "-" ibuffer-add-to-tmp-hide "+" ibuffer-add-to-tmp-show "b" ibuffer-bury-buffer "," ibuffer-toggle-sorting-mode "si" ibuffer-invert-sorting "sa" ibuffer-do-sort-by-alphabetic "sv" ibuffer-do-sort-by-recency "ss" ibuffer-do-sort-by-size "sf" ibuffer-do-sort-by-filename/process "sm" ibuffer-do-sort-by-major-mode "/m" ibuffer-filter-by-used-mode "/M" ibuffer-filter-by-derived-mode "/n" ibuffer-filter-by-name "/c" ibuffer-filter-by-content "/e" ibuffer-filter-by-predicate "/f" ibuffer-filter-by-filename "/>" ibuffer-filter-by-size-gt "/<" ibuffer-filter-by-size-lt "/r" ibuffer-switch-to-saved-filters "/a" ibuffer-add-saved-filters "/x" ibuffer-delete-saved-filters "/d" ibuffer-decompose-filter "/s" ibuffer-save-filters "/p" ibuffer-pop-filter "/!" ibuffer-negate-filter "/t" ibuffer-exchange-filters "/	" "/o" ibuffer-or-filter "/g" ibuffer-filters-to-filter-group "/P" ibuffer-pop-filter-group "/D" ibuffer-decompose-filter-group "//" ibuffer-filter-disable [134217838] ibuffer-forward-filter-group "	" [134217840] ibuffer-backward-filter-group [backtab] [134217834] ibuffer-jump-to-filter-group "" ibuffer-kill-line "" ibuffer-yank "/S" ibuffer-save-filter-groups "/R" ibuffer-switch-to-saved-filter-groups "/X" ibuffer-delete-saved-filter-groups "/\\" ibuffer-clear-filter-groups "q" ibuffer-quit "h" describe-mode "?" "%n" ibuffer-mark-by-name-regexp "%m" ibuffer-mark-by-mode-regexp "%f" ibuffer-mark-by-file-name-regexp "" ibuffer-visit-tags-table "|" ibuffer-do-shell-command-pipe "!" ibuffer-do-shell-command-file "~" ibuffer-do-toggle-modified "A" ibuffer-do-view "D" ibuffer-do-delete "E" ibuffer-do-eval "F" "I" ibuffer-do-query-replace-regexp "H" ibuffer-do-view-other-frame "N" ibuffer-do-shell-command-pipe-replace "M" "O" ibuffer-do-occur "P" ibuffer-do-print "Q" ibuffer-do-query-replace "R" ibuffer-do-rename-uniquely "S" ibuffer-do-save "T" ibuffer-do-toggle-read-only "U" ibuffer-do-replace-regexp "V" ibuffer-do-revert "W" ibuffer-do-view-and-eval "X" ibuffer-do-kill-lines "w" ibuffer-copy-filename-as-kill "
" ibuffer-visit-buffer "e" "f" "" ibuffer-find-file "o" ibuffer-visit-buffer-other-window "" ibuffer-visit-buffer-other-window-noselect [134217839] ibuffer-visit-buffer-1-window "v" "v" ibuffer-do-view-horizontally "" ibuffer-auto-mode "4
" "5
" ibuffer-visit-buffer-other-frame [menu-bar view] "View" make-sparse-keymap define-key-after [menu-bar view visit-buffer] (menu-item "View this buffer" ibuffer-visit-buffer) [menu-bar view visit-buffer-other-window] (menu-item "View (other window)" ibuffer-visit-buffer-other-window) [menu-bar view visit-buffer-other-frame] (menu-item "View (other frame)" ibuffer-visit-buffer-other-frame) [menu-bar view ibuffer-update] (menu-item "Update" ibuffer-update :help "Regenerate the list of buffers") [menu-bar view switch-format] (menu-item "Switch display format" ibuffer-switch-format :help "Toggle between available values of `ibuffer-formats'") [menu-bar view dashes] ("--") [menu-bar view sort] "Sort" [menu-bar view sort do-sort-by-major-mode] (menu-item "Sort by major mode" ibuffer-do-sort-by-major-mode) [menu-bar view sort do-sort-by-size] (menu-item "Sort by buffer size" ibuffer-do-sort-by-size) [menu-bar view sort do-sort-by-alphabetic] (menu-item "Sort lexicographically" ibuffer-do-sort-by-alphabetic :help "Sort by the alphabetic order of buffer name") [menu-bar view sort do-sort-by-recency] (menu-item "Sort by view time" ibuffer-do-sort-by-recency :help "Sort by the last time the buffer was displayed") [menu-bar view sort dashes] ("--") [menu-bar view sort invert-sorting] (menu-item "Reverse sorting order" ibuffer-invert-sorting) [menu-bar view sort toggle-sorting-mode] (menu-item "Switch sorting mode" ibuffer-toggle-sorting-mode :help "Switch between the various sorting criteria") [menu-bar view filter] "Filter" [menu-bar view filter filter-disable] (menu-item "Disable all filtering" ibuffer-filter-disable :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers)) [menu-bar view filter filter-by-mode] (menu-item "Add filter by any major mode..." ibuffer-filter-by-mode) [menu-bar view filter filter-by-used-mode] (menu-item "Add filter by a major mode in use..." ibuffer-filter-by-used-mode) [menu-bar view filter filter-by-derived-mode] (menu-item "Add filter by derived mode..." ibuffer-filter-by-derived-mode) [menu-bar view filter filter-by-name] (menu-item "Add filter by buffer name..." ibuffer-filter-by-name) [menu-bar view filter filter-by-filename] (menu-item "Add filter by filename..." ibuffer-filter-by-filename) [menu-bar view filter filter-by-size-lt] (menu-item "Add filter by size less than..." ibuffer-filter-by-size-lt) [menu-bar view filter filter-by-size-gt] (menu-item "Add filter by size greater than..." ibuffer-filter-by-size-gt) [menu-bar view filter filter-by-content] (menu-item "Add filter by content (regexp)..." ibuffer-filter-by-content) [menu-bar view filter filter-by-predicate] (menu-item "Add filter by Lisp predicate..." ibuffer-filter-by-predicate) [menu-bar view filter pop-filter] (menu-item "Remove top filter" ibuffer-pop-filter :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers)) [menu-bar view filter or-filter] (menu-item "OR top two filters" ibuffer-or-filter :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers (cdr ibuffer-filtering-qualifiers)) :help "Create a new filter which is the logical OR of the top two filters") [menu-bar view filter negate-filter] (menu-item "Negate top filter" ibuffer-negate-filter :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers)) [menu-bar view filter decompose-filter] (menu-item "Decompose top filter" ibuffer-decompose-filter :enable (and (featurep 'ibuf-ext) (memq (car ibuffer-filtering-qualifiers) '(or saved not))) :help "Break down a complex filter like OR or NOT") [menu-bar view filter exchange-filters] (menu-item "Swap top two filters" ibuffer-exchange-filters :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers (cdr ibuffer-filtering-qualifiers))) [menu-bar view filter save-filters] (menu-item "Save current filters permanently..." ibuffer-save-filters :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers) :help "Use a mnemonic name to store current filter stack") [menu-bar view filter switch-to-saved-filters] (menu-item "Restore permanently saved filters..." ibuffer-switch-to-saved-filters :enable (and (featurep 'ibuf-ext) ibuffer-saved-filters) :help "Replace current filters with a saved stack") [menu-bar view filter add-saved-filters] (menu-item "Add to permanently saved filters..." ibuffer-add-saved-filters :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers) :help "Include already saved stack with current filters") [menu-bar view filter delete-saved-filters] (menu-item "Delete permanently saved filters..." ibuffer-delete-saved-filters :enable (and (featurep 'ibuf-ext) ibuffer-saved-filters)) [menu-bar view filter-groups] "Filter Groups" [menu-bar view dashes2] ("--") [menu-bar view diff-with-file] (menu-item "Diff with file" ibuffer-diff-with-file :help "View the differences between this buffer and its file") [menu-bar view auto-mode] (menu-item "Toggle Auto Mode" ibuffer-auto-mode :help "Attempt to automatically update the Ibuffer buffer") [menu-bar view customize] (menu-item "Customize Ibuffer" ibuffer-customize :help "Use Custom to customize Ibuffer") [menu-bar mark] "Mark" [menu-bar mark toggle-marks] (menu-item "Toggle marks" ibuffer-toggle-marks :help "Unmark marked buffers, and mark unmarked buffers") [menu-bar mark mark-forward] (menu-item "Mark" ibuffer-mark-forward :help "Mark the buffer at point") [menu-bar mark unmark-forward] (menu-item "Unmark" ibuffer-unmark-forward :help "Unmark the buffer at point") [menu-bar mark mark-by-mode] (menu-item "Mark by mode..." ibuffer-mark-by-mode :help "Mark all buffers in a particular major mode") [menu-bar mark mark-modified-buffers] (menu-item "Mark modified buffers" ibuffer-mark-modified-buffers :help "Mark all buffers which have been modified") [menu-bar mark mark-unsaved-buffers] (menu-item "Mark unsaved buffers" ibuffer-mark-unsaved-buffers :help "Mark all buffers which have a file and are modified") [menu-bar mark mark-read-only-buffers] (menu-item "Mark read-only buffers" ibuffer-mark-read-only-buffers :help "Mark all buffers which are read-only") [menu-bar mark mark-special-buffers] (menu-item "Mark special buffers" ibuffer-mark-special-buffers :help "Mark all buffers whose name begins with a *") [menu-bar mark mark-dired-buffers] (menu-item "Mark dired buffers" ibuffer-mark-dired-buffers :help "Mark buffers in dired-mode") [menu-bar mark mark-dissociated-buffers] (menu-item "Mark dissociated buffers" ibuffer-mark-dissociated-buffers :help "Mark buffers with a non-existent associated file") [menu-bar mark mark-help-buffers] (menu-item "Mark help buffers" ibuffer-mark-help-buffers :help "Mark buffers in help-mode") [menu-bar mark mark-compressed-file-buffers] (menu-item "Mark compressed file buffers" ibuffer-mark-compressed-file-buffers :help "Mark buffers which have a file that is compressed") [menu-bar mark mark-old-buffers] (menu-item "Mark old buffers" ibuffer-mark-old-buffers :help "Mark buffers which have not been viewed recently") [menu-bar mark unmark-all] (menu-item "Unmark All" ibuffer-unmark-all) [menu-bar mark dashes] ("--") [menu-bar mark mark-by-name-regexp] (menu-item "Mark by buffer name (regexp)..." ibuffer-mark-by-name-regexp :help "Mark buffers whose name matches a regexp") [menu-bar mark mark-by-mode-regexp] (menu-item "Mark by major mode (regexp)..." ibuffer-mark-by-mode-regexp :help "Mark buffers whose major mode name matches a regexp") [menu-bar mark mark-by-file-name-regexp] (menu-item "Mark by file name (regexp)..." ibuffer-mark-by-file-name-regexp :help "Mark buffers whose file name matches a regexp")] 6))
(defvar ibuffer-mode-operate-map (byte-code "\301\302!\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\317#\210\303\320\321#\210\303\322\323#\210\303\324\325#\210\303\326\327#\210\303\330\331#\210\303\332\333#\210\303\334\335#\210\303\336\337#\210\303\340\341#\210\303\342\343#\210\303\344\345#\210)\207" [operate-map make-sparse-keymap "Operate" define-key-after [do-view] (menu-item "View" ibuffer-do-view) [do-view-other-frame] (menu-item "View (separate frame)" ibuffer-do-view-other-frame) [do-save] (menu-item "Save" ibuffer-do-save) [do-replace-regexp] (menu-item "Replace (regexp)..." ibuffer-do-replace-regexp :help "Replace text inside marked buffers") [do-query-replace] (menu-item "Query Replace..." ibuffer-do-query-replace :help "Replace text in marked buffers, asking each time") [do-query-replace-regexp] (menu-item "Query Replace (regexp)..." ibuffer-do-query-replace-regexp :help "Replace text in marked buffers by regexp, asking each time") [do-print] (menu-item "Print" ibuffer-do-print) [do-toggle-modified] (menu-item "Toggle modification flag" ibuffer-do-toggle-modified) [do-revert] (menu-item "Revert" ibuffer-do-revert :help "Revert marked buffers to their associated file") [do-rename-uniquely] (menu-item "Rename Uniquely" ibuffer-do-rename-uniquely :help "Rename marked buffers to a new, unique name") [do-delete] (menu-item "Kill" ibuffer-do-delete) [do-occur] (menu-item "List lines matching..." ibuffer-do-occur :help "View all lines in marked buffers matching a regexp") [do-shell-command-pipe] (menu-item "Pipe to shell command..." ibuffer-do-shell-command-pipe :help "For each marked buffer, send its contents to a shell command") [do-shell-command-pipe-replace] (menu-item "Pipe to shell command (replace)..." ibuffer-do-shell-command-pipe-replace :help "For each marked buffer, replace its contents with output of shell command") [do-shell-command-file] (menu-item "Shell command on buffer's file..." ibuffer-do-shell-command-file :help "For each marked buffer, run a shell command with its file as argument") [do-eval] (menu-item "Eval..." ibuffer-do-eval :help "Evaluate a Lisp form in each marked buffer") [do-view-and-eval] (menu-item "Eval (viewing buffer)..." ibuffer-do-view-and-eval :help "Evaluate a Lisp form in each marked buffer while viewing it")] 4))
(byte-code "\301\302\303#\210\301\304\305#\207" [ibuffer-mode-groups-popup define-key [kill-filter-group] (menu-item "Kill filter group" ibuffer-kill-line :enable (and (featurep 'ibuf-ext) ibuffer-filter-groups)) [yank-filter-group] (menu-item "Yank last killed filter group" ibuffer-yank :enable (and (featurep 'ibuf-ext) ibuffer-filter-group-kill-ring))] 4)
(defvar ibuffer-name-map (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210)\207" [map make-sparse-keymap define-key [(mouse-1)] ibuffer-mouse-toggle-mark [(mouse-2)] ibuffer-mouse-visit-buffer [down-mouse-3] ibuffer-mouse-popup-menu] 4))
(defvar ibuffer-filename/process-header-map (byte-code "\301 \302\303\304#\210)\207" [map make-sparse-keymap define-key [(mouse-1)] ibuffer-do-sort-by-filename/process] 4))
(defvar ibuffer-mode-name-map (byte-code "\301 \302\303\304#\210\302\305\306#\210)\207" [map make-sparse-keymap define-key [(mouse-2)] ibuffer-mouse-filter-by-mode "
" ibuffer-interactive-filter-by-mode] 4))
(defvar ibuffer-name-header-map (byte-code "\301 \302\303\304#\210)\207" [map make-sparse-keymap define-key [(mouse-1)] ibuffer-do-sort-by-alphabetic] 4))
(defvar ibuffer-size-header-map (byte-code "\301 \302\303\304#\210)\207" [map make-sparse-keymap define-key [(mouse-1)] ibuffer-do-sort-by-size] 4))
(defvar ibuffer-mode-header-map (byte-code "\301 \302\303\304#\210)\207" [map make-sparse-keymap define-key [(mouse-1)] ibuffer-do-sort-by-major-mode] 4))
(defvar ibuffer-mode-filter-group-map (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210)\207" [map make-sparse-keymap define-key [(mouse-1)] ibuffer-mouse-toggle-mark [(mouse-2)] ibuffer-mouse-toggle-filter-group "
" ibuffer-toggle-filter-group [down-mouse-3] ibuffer-mouse-popup-menu] 4))
#@75 If non-nil, restore previous window configuration upon exiting `ibuffer'.
(defvar ibuffer-restore-window-config-on-quit nil (#$ . 34563))
#@47 Window configuration before starting Ibuffer.
(defvar ibuffer-prev-window-config nil (#$ . 34707))
(defvar ibuffer-did-modification nil)
(defvar ibuffer-compiled-formats nil)
(defvar ibuffer-cached-formats nil)
(defvar ibuffer-cached-eliding-string nil)
(defvar ibuffer-cached-elide-long-columns 0)
#@453 An alist of functions which describe how to sort buffers.

Note: You most likely do not want to modify this variable directly;
use `define-ibuffer-sorter' instead.

The alist elements are constructed like (NAME DESCRIPTION FUNCTION)
Where NAME is a symbol describing the sorting method, DESCRIPTION is a
short string which will be displayed in the minibuffer and menu, and
FUNCTION is a function of two arguments, which will be the buffers to
compare.
(defvar ibuffer-sorting-functions-alist nil (#$ . 35013))
#@173 Insert LIST into the current buffer in as many columns as possible.
The maximum number of columns is determined by the current window
width and the longest string in LIST.
(defalias 'ibuffer-columnize-and-insert-list #[(list &optional pad-width) "\204\306\307 \310\302\311\312	\"\"\\\211\n\245\313\f!\203\314	\205Y\fS\315
W\203G	@\316\n	@GZ\317\"Pc\210	A
T\211\202**	\203S	\211A@c\210\320c\210\202+\207" [pad-width list max width columns i 3 window-width apply mapcar length zerop 1 0 make-string 32 "\n" --dotimes-limit--] 7 (#$ . 35530)])
(defalias 'ibuffer-current-mark #[nil "\301\302 \303\"\211A@)\207" [x get-text-property line-beginning-position ibuffer-properties] 4])
(put 'ibuffer-current-mark 'byte-optimizer 'byte-compile-inline-expand)
#@63 Toggle the marked status of the buffer chosen with the mouse.
(defalias 'ibuffer-mouse-toggle-mark #[(event) "\306\216\212\307!\210`)\310`\311\"\211\203\n\312!)\202?	b\210\310\313 \314\"\211A@)\315
=\203:\316\317!\202>\316!)+\207" [event pt #1=#:ibuffer-aif-sym it x mark ((byte-code "\301\211\207" [buffer-read-only t] 2)) mouse-set-point get-text-property ibuffer-filter-group-name ibuffer-toggle-marks line-beginning-position ibuffer-properties nil ibuffer-set-mark 32 buffer-read-only ibuffer-marked-char] 4 (#$ . 36311) "e"])
#@72 Like `find-file', but default to the directory of the buffer at point.
(defalias 'ibuffer-find-file #[(file &optional wildcards) "\302	\"\207" [file wildcards find-file] 3 (#$ . 36867) (let ((default-directory (let ((buf (ibuffer-current-buffer))) (if (buffer-live-p buf) (save-current-buffer (set-buffer buf) default-directory) default-directory)))) (list (read-file-name "Find file: " default-directory) t))])
#@41 Visit the buffer chosen with the mouse.
(defalias 'ibuffer-mouse-visit-buffer #[(event) "\301\212\302!\210\303\304!)!\207" [event switch-to-buffer mouse-set-point ibuffer-current-buffer t] 3 (#$ . 37286) "e"])
#@31 Display a menu of operations.
(defalias 'ibuffer-mouse-popup-menu #[(event) "\306!\307	8\206	A@:\203	A@@\202	A@)`\310\216\311\312\"\2031b\210\313\f!\202R\314p\315 \316\216\212\317\320!\210\212b\210\321!\210)\212\313!.+\207" [event position origpt eventpt ibuffer-mode-groups-popup inhibit-read-only event-end 5 ((byte-code "\303	`U\203\nb\210\303\207" [buffer-read-only eventpt origpt t] 2)) get-text-property ibuffer-filter-group-name popup-menu t ibuffer-current-state-list ((byte-code "rq\210\302\303\304\305\306	\"\"!\210\307\310!\210)\304\207" [#1=#:bufsym ibuffer-save-marks-tmp-mark-list ibuffer-redisplay-engine delq nil mapcar #[(e) "\301@!\205\207" [e buffer-live-p] 2] ibuffer-redisplay t] 6)) ibuffer-unmark-all 13 ibuffer-set-mark ibuffer-save-marks-tmp-mark-list #1# ibuffer-marked-char ibuffer-mode-operate-map] 3 (#$ . 37503) "e"])
(defalias 'ibuffer-skip-properties #[(props direction) "m?\2052\305	\305\211\203\"@\306`\n\"\203\307A\211\204\305+\2052\fy\210\310 \210\202\207" [hit props prop --dolist-tail-- direction nil get-text-property t beginning-of-line] 4])
#@42 Begin customizing Ibuffer interactively.
(defalias 'ibuffer-customize #[nil "\300\301!\207" [customize-group ibuffer] 2 (#$ . 38643) nil])
#@66 Move backwards ARG lines, wrapping around the list if necessary.
(defalias 'ibuffer-backward-line #[(&optional arg skip-group-names) "\204\303\304 \210\305V\205M\306y\210	\203.\307`\310\"\204(\n\203.\307`\311\"\203.db\210\304 \210\312\313\314\n\2056\315\"\306\"\210\307`\310\"\203F\303y\210\303S\211\202\n\207" [arg ibuffer-movement-cycle skip-group-names 1 beginning-of-line 0 -1 get-text-property ibuffer-title ibuffer-filter-group-name ibuffer-skip-properties append (ibuffer-summary) (ibuffer-filter-group-name)] 5 (#$ . 38788) "P"])
#@64 Move forward ARG lines, wrapping around the list if necessary.
(defalias 'ibuffer-forward-line #[(&optional arg skip-group-names) "\204\303\304 \210	\203m\204\305`\306\"\203eb\210\305`\307\"\204-\n\203B\305`\310\"\203B\311V\2036S\312\313\314\n\205>\315\"\303\"\210\311W\203M\316[!\207\311V\205z\303y\210	\203hm\204e\305`\306\"\203heb\210S\312\313\317\n\205s\320\"\303\"\210\202M\207" [arg ibuffer-movement-cycle skip-group-names 1 beginning-of-line get-text-property ibuffer-summary ibuffer-title ibuffer-filter-group-name 0 ibuffer-skip-properties append (ibuffer-title) (ibuffer-filter-group-name) ibuffer-backward-line (ibuffer-title) (ibuffer-filter-group-name)] 4 (#$ . 39348) "P"])
#@115 Visit the buffer on this line.
If optional argument SINGLE is non-nil, then also ensure there is only
one window.
(defalias 'ibuffer-visit-buffer #[(&optional single) "\302\303!\304!\210	\205\305 )\207" [buf single ibuffer-current-buffer t switch-to-buffer delete-other-windows] 2 (#$ . 40073) "P"])
#@50 Visit the buffer on this line in another window.
(defalias 'ibuffer-visit-buffer-other-window #[(&optional noselect) "\303\304!\305p!\210	\203\306 \307!\210\310\n!)\202\311!)\207" [buf noselect curwin ibuffer-current-buffer t bury-buffer selected-window pop-to-buffer select-window switch-to-buffer-other-window] 2 (#$ . 40383) nil])
#@71 Visit the buffer on this line in another window, but don't select it.
(defalias 'ibuffer-visit-buffer-other-window-noselect #[nil "\300\301!\207" [ibuffer-visit-buffer-other-window t] 2 (#$ . 40731) nil])
#@49 Visit the buffer on this line in another frame.
(defalias 'ibuffer-visit-buffer-other-frame #[nil "\301\302!\303p!\210\304!)\207" [buf ibuffer-current-buffer t bury-buffer switch-to-buffer-other-frame] 2 (#$ . 40942) nil])
#@58 Visit the buffer on this line, and delete other windows.
(defalias 'ibuffer-visit-buffer-1-window #[nil "\300\301!\207" [ibuffer-visit-buffer t] 2 (#$ . 41173) nil])
#@31 Bury the buffer on this line.
(defalias 'ibuffer-bury-buffer #[nil "\302\303!\304\305`\"T\306	!\210\307\310\303\"\210eb\210Sy*\207" [line buf ibuffer-current-buffer t count-lines 1 bury-buffer ibuffer-update nil] 4 (#$ . 41345) nil])
#@75 Visit the tags table in the buffer on this line.  See `visit-tags-table'.
(defalias 'ibuffer-visit-tags-table #[nil "\301\302\303!!\211\203\304!\202\305\306!)\207" [file buffer-file-name ibuffer-current-buffer t visit-tags-table error "Specified buffer has no file"] 4 (#$ . 41588) nil])
#@242 View marked buffers, or the buffer on the current line.
If optional argument OTHER-FRAME is non-nil, then display each
marked buffer in a new frame.  Otherwise, display each buffer as
a new window in the current frame, splitting vertically.
(defalias 'ibuffer-do-view #[(&optional other-frame) "\301\203	\300\202\n\302!\207" [other-frame ibuffer-do-view-1 vertically] 2 (#$ . 41889) nil])
#@55 As `ibuffer-do-view', but split windows horizontally.
(defalias 'ibuffer-do-view-horizontally #[(&optional other-frame) "\301\203	\300\202\n\302!\207" [other-frame ibuffer-do-view-1 horizontally] 2 (#$ . 42287) nil])
(defalias 'ibuffer-do-view-1 #[(type) "\304 \211\204\f\305\306!C	\307=\205&\n?\205&G\310V\205&\311\312\313G\"!??\205[\314\315!\210\316 \210\317\211A@!\210	\320=\203D\321 \202F\322 SGT\245\323	\307=\203W\324\202X\325\"))\207" [marked-bufs type ibuffer-expert height ibuffer-get-marked-buffers ibuffer-current-buffer t other-frame 3 y-or-n-p format "Really create a new frame for %s buffers? " set-buffer-modified-p nil delete-other-windows switch-to-buffer horizontally frame-width frame-height mapcar #[(buf) "\302 \303\304 !\210\305	!\210\303!)\207" [curframe buf selected-frame select-frame make-frame switch-to-buffer] 2] #[(buf) "\303\304	\305=#\210\306\307!\210\310\n!\207" [height type buf split-window nil horizontally other-window 1 switch-to-buffer] 5]] 5])
#@54 View each of the marked buffers in a separate frame.
(defalias 'ibuffer-do-view-other-frame #[nil "\300\301!\207" [ibuffer-do-view t] 2 (#$ . 43301) nil])
(defalias 'ibuffer-map-marked-lines #[(func) "\302	\"\303\304!\210\207" [ibuffer-marked-char func ibuffer-map-on-mark ibuffer-redisplay t] 3])
(put 'ibuffer-map-marked-lines 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'ibuffer-shrink-to-fit #[(&optional owin) "\301\302!\210\303\304\205\305 \306\307 !G\245\"\207" [owin redisplay t fit-window-to-buffer nil frame-height window-list selected-frame] 5])
#@64 Display a buffer asking whether to perform OPERATION on NAMES.
(defalias 'ibuffer-confirm-operation-on #[(operation names) "\206h	G\306U\203\307\310\311\n	@#!\207\312\313!rq\210\314\315 \210\316	!\210eb\210\317)\320\321\314\322\"!@\323 \324\216\325
!\210\326\317 ! \203P\327\330\331\217\210\202C*\325\332 !\210\333!\210\334\216\335 \210\307\310\336\n	G#!-\207" [ibuffer-expert names operation buf buffer-read-only lastwin 1 y-or-n-p format "Really %s buffer %s? " get-buffer-create "*Ibuffer confirmation*" nil erase-buffer ibuffer-columnize-and-insert-list t last window-list nomini current-window-configuration ((set-window-configuration #1=#:wconfig)) select-window 0 err (byte-code "\301 \210\302\211\207" [trying split-window nil] 2) ((error (byte-code "T\211\303V\204	\211A@);\203)\304\305	\211A@)\"\204)\306	@	A\"\210\202-\307\310!\210\303\207" [attempts err x 4 string-match "too small" signal enlarge-window 3] 4))) next-window switch-to-buffer ((kill-buffer buf)) fit-window-to-buffer "Really %s %d buffers? " #1# trying attempts] 5 (#$ . 43879)])
#@62 As `ibuffer-map-lines', but don't set the modification flag.
(defalias 'ibuffer-map-lines-nomodify #[(function) "\301\302\"\207" [function ibuffer-map-lines t] 3 (#$ . 44970)])
(put 'ibuffer-map-lines-nomodify 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'ibuffer-buffer-names-with-mark #[(mark) "\302\303\304	\305\")\210)\207" [ibuffer-buffer-names-with-mark-result function nil #[(buf mk) "\304	\"\205\305\n!B\211\207" [mark mk buf ibuffer-buffer-names-with-mark-result char-equal buffer-name] 3] ibuffer-map-lines t] 3])
(defalias 'ibuffer-marked-buffer-names #[nil "\301!\207" [ibuffer-marked-char ibuffer-buffer-names-with-mark] 2])
(put 'ibuffer-marked-buffer-names 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'ibuffer-deletion-marked-buffer-names #[nil "\301!\207" [ibuffer-deletion-char ibuffer-buffer-names-with-mark] 2])
(put 'ibuffer-deletion-marked-buffer-names 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'ibuffer-count-marked-lines #[(&optional all) "\203\f\302\303	\304\")\207\305\303	\304\")\207" [all function #[(_buf mark) "\301\302\"?\207" [mark char-equal 32] 3] ibuffer-map-lines t #[(_buf mark) "\302	\"\207" [mark ibuffer-marked-char char-equal] 3]] 3])
(defalias 'ibuffer-count-deletion-lines #[nil "\301\302\303\")\207" [function #[(_buf mark) "\302	\"\207" [mark ibuffer-deletion-char char-equal] 3] ibuffer-map-lines t] 3])
(put 'ibuffer-count-deletion-lines 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'ibuffer-map-deletion-lines #[(func) "\302	\"\207" [ibuffer-deletion-char func ibuffer-map-on-mark] 3])
(put 'ibuffer-map-deletion-lines 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'ibuffer-assert-ibuffer-mode #[nil "\300\301!\204\f\302\303\304C\"\210\305\207" [derived-mode-p ibuffer-mode signal cl-assertion-failed (derived-mode-p 'ibuffer-mode) nil] 3])
(put 'ibuffer-assert-ibuffer-mode 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'ibuffer-buffer-file-name #[nil "\206(\304\301!\203	;\203	\202	@\206\304\302!\205\n\211\205'\305!)\207" [buffer-file-name dired-directory list-buffers-directory dirname boundp expand-file-name] 3])
#@44 Save marked buffers as with `save-buffer'.
(defalias 'ibuffer-do-save #[nil "\305\306!\204\f\307\310\311C\"\210\312\313	!\211\204 \314\315 !C\316	!\210\317\320	\"\321\322!\210)\321\322!\210\323\324\f\"*\207" [ibuffer-did-modification ibuffer-marked-char marked-names func count derived-mode-p ibuffer-mode signal cl-assertion-failed (derived-mode-p 'ibuffer-mode) nil ibuffer-buffer-names-with-mark buffer-name ibuffer-current-buffer ibuffer-set-mark #[(buf mark) "\305!\305!\203+rq\210\n)\204#\306 \307\216\310!\210\311 \210*\202+rq\210\311 \210)\312	\305!=\2046\312)\207" [buf ibuffer-tmp-previous-buffer-modification buffer-file-name #1=#:wconfig ibuffer-did-modification buffer-modified-p current-window-configuration ((set-window-configuration #1#)) switch-to-buffer save-buffer t] 4] ibuffer-map-on-mark ibuffer-redisplay t message "Operation finished; saved %s buffers"] 4 (#$ . 47141) nil])
#@45 Toggle modification flag of marked buffers.
(defalias 'ibuffer-do-toggle-modified #[nil "\305\306!\204\f\307\310\311C\"\210\312\313	!\211\204 \314\315 !C\316	!\210\317\320	\"\321\322!\210)\322\321\322!\210\323\324\f\"*\207" [ibuffer-did-modification ibuffer-marked-char marked-names func count derived-mode-p ibuffer-mode signal cl-assertion-failed (derived-mode-p 'ibuffer-mode) nil ibuffer-buffer-names-with-mark buffer-name ibuffer-current-buffer ibuffer-set-mark #[(buf mark) "rq\210\212\301\302 ?!\210*\303\207" [buf set-buffer-modified-p buffer-modified-p t] 2] ibuffer-map-on-mark ibuffer-redisplay t message "Operation finished; (un)marked as modified %s buffers"] 4 (#$ . 48067) nil])
#@107 Toggle read only status in marked buffers.
With optional ARG, make read-only only if ARG is not negative.
(defalias 'ibuffer-do-toggle-read-only #[(&optional arg) "\305\306!\204\f\307\310\311C\"\210\312\313	!\211\204 \314\315 !C\316	!\210\317\320	\"\321\322!\210)\322\321\322!\210\323\324\f\"*\207" [ibuffer-did-modification ibuffer-marked-char marked-names func count derived-mode-p ibuffer-mode signal cl-assertion-failed (derived-mode-p 'ibuffer-mode) nil ibuffer-buffer-names-with-mark buffer-name ibuffer-current-buffer ibuffer-set-mark #[(buf mark) "rq\210\212\301\302!\210*\303\207" [buf read-only-mode toggle t] 2] ibuffer-map-on-mark ibuffer-redisplay t message "Operation finished; toggled read only status in %s buffers"] 4 (#$ . 48778) "P"])
#@49 Kill marked buffers as with `kill-this-buffer'.
(defalias 'ibuffer-do-delete #[nil "\305\306!\204\f\307\310\311C\"\210\312\313	!\211\204 \314\315 !C\316	!\210\317\320\n\"\205>\321\322	\"\323\324!\210)\324\323\324!\210\325\326\f\"))\207" [ibuffer-did-modification ibuffer-marked-char marked-names func count derived-mode-p ibuffer-mode signal cl-assertion-failed (derived-mode-p 'ibuffer-mode) nil ibuffer-buffer-names-with-mark buffer-name ibuffer-current-buffer ibuffer-set-mark ibuffer-confirm-operation-on "kill" #[(buf mark) "\301!\205\302\207" [buf kill-buffer kill] 2] ibuffer-map-on-mark ibuffer-redisplay t message "Operation finished; killed %s buffers"] 4 (#$ . 49548) nil])
#@62 Kill buffers marked for deletion as with `kill-this-buffer'.
(defalias 'ibuffer-do-kill-on-deletion-marks #[nil "\305\306!\204\f\307\310\311C\"\210\312\313	!\211\204 \314\315 !C\316	!\210\317\320\n\"\205:\321\322	\")\323\324\323!\210\325\326\f\"))\207" [ibuffer-did-modification ibuffer-deletion-char marked-names func count derived-mode-p ibuffer-mode signal cl-assertion-failed (derived-mode-p 'ibuffer-mode) nil ibuffer-buffer-names-with-mark buffer-name ibuffer-current-buffer ibuffer-set-mark ibuffer-confirm-operation-on "kill" #[(buf mark) "\301!\205\302\207" [buf kill-buffer kill] 2] ibuffer-map-on-mark t ibuffer-redisplay message "Operation finished; killed %s buffers"] 4 (#$ . 50252) nil])
#@36 Unmark all buffers with mark MARK.
(defalias 'ibuffer-unmark-all #[(mark) "\304\305!\306U\203\307\310!\210\202;\311	\"\203%\312\313	\n\"\314\305!\210)\210\202;\311\"\2037\315\313\n\")\210\202;\316\317!\210\314\305!\207" [mark ibuffer-marked-char func ibuffer-deletion-char ibuffer-count-marked-lines t 0 message "No buffers marked; use 'm' to mark a buffer" char-equal #[(_buf _mark) "\300\301!\210\302\207" [ibuffer-set-mark-1 32 t] 2] ibuffer-map-on-mark ibuffer-redisplay #[(_buf _mark) "\300\301!\210\302\207" [ibuffer-set-mark-1 32 t] 2] ibuffer-map-lines #[(_buf mark) "\301\302\"\204\303\302!\210\304\207" [mark char-equal 32 ibuffer-set-mark-1 t] 3]] 3 (#$ . 50974) "cRemove marks (RET means all):"])
#@190 Toggle which buffers are marked.
In other words, unmarked buffers become marked, and marked buffers
become unmarked.
If point is on a group name, then this function operates on that
group.
(defalias 'ibuffer-toggle-marks #[(&optional group) "\304`\305\"\211\203\211))\306\307\310\n#\311\312\"\210)\313\314!\207" [#1=#:ibuffer-aif-sym it group count get-text-property ibuffer-filter-group-name ibuffer-map-lines #[(_buf mark) "	=\203\f\302\303!\210\304\207\303=\203\302	!\210\305\207\304\207" [mark ibuffer-marked-char ibuffer-set-mark-1 32 nil t] 2] nil message "%s buffers marked" ibuffer-redisplay t] 5 (#$ . 51706) nil])
#@126 Mark the buffer on this line, and move forward ARG lines.
If point is on a group name, this function operates on that group.
(defalias 'ibuffer-mark-forward #[(arg) "\302	\303#\207" [arg ibuffer-marked-char ibuffer-mark-interactive 1] 4 (#$ . 52350) "P"])
#@128 Unmark the buffer on this line, and move forward ARG lines.
If point is on a group name, this function operates on that group.
(defalias 'ibuffer-unmark-forward #[(arg) "\301\302\303#\207" [arg ibuffer-mark-interactive 32 1] 4 (#$ . 52614) "P"])
#@129 Unmark the buffer on this line, and move backward ARG lines.
If point is on a group name, this function operates on that group.
(defalias 'ibuffer-unmark-backward #[(arg) "\301\302\303#\207" [arg ibuffer-mark-interactive 32 -1] 4 (#$ . 52868) "P"])
(defalias 'ibuffer-mark-interactive #[(arg mark movement) "\306\307!\204\f\310\311\312C\"\210\204\313\314\315!\210\316`\317\"\211\203.	\320\321!\210\322\323\n#)\202L\314\315\324\"\210\324\315V\205K\325!\210\314
\324\"\210S\211\2026))\207" [arg #1=#:ibuffer-aif-sym it mark inhibit-read-only movement derived-mode-p ibuffer-mode signal cl-assertion-failed (derived-mode-p 'ibuffer-mode) 1 ibuffer-forward-line 0 get-text-property ibuffer-filter-group-name require ibuf-ext ibuffer-mark-on-buffer identity t ibuffer-set-mark] 5])
(defalias 'ibuffer-set-mark #[(mark) "\303\304!\204\f\305\306\307C\"\210\310\311	!\210\310\312 \210\313 )\207" [inhibit-read-only mark ibuffer-did-modification derived-mode-p ibuffer-mode signal cl-assertion-failed (derived-mode-p 'ibuffer-mode) t ibuffer-set-mark-1 ibuffer-redisplay-current beginning-of-line] 3])
(defalias 'ibuffer-set-mark-1 #[(mark) "\303 \304 \305	\306\307 \nD$*\207" [end beg mark line-beginning-position line-end-position put-text-property ibuffer-properties ibuffer-current-buffer] 6])
#@120 Mark the buffers on ARG lines forward for deletion.
If point is on a group name, this function operates on that group.
(defalias 'ibuffer-mark-for-delete #[(arg) "\302	\303#\207" [arg ibuffer-deletion-char ibuffer-mark-interactive 1] 4 (#$ . 54188) "P"])
#@121 Mark the buffers on ARG lines backward for deletion.
If point is on a group name, this function operates on that group.
(defalias 'ibuffer-mark-for-delete-backwards #[(arg) "\302	\303#\207" [arg ibuffer-deletion-char ibuffer-mark-interactive -1] 4 (#$ . 54451) "P"])
(defalias 'ibuffer-current-buffer #[(&optional must-be-live) "\302\303 \304\"@	\203&\305!\203\"\306!\204&\307\310\311\312!#\210\202&\307\313!\210)\207" [buf must-be-live get-text-property line-beginning-position ibuffer-properties bufferp buffer-live-p error "Buffer %s has been killed; %s" substitute-command-keys "use `\\[ibuffer-update]' to update" "No buffer on this line"] 5])
(defalias 'ibuffer-active-formats-name #[nil "\306\304!\2037\307	\307\211\203'@\211@\f\236\211\203\n@)A\211\204\307\210*\2034\2025\310)\207\310\207" [ret ibuffer-filtering-qualifiers filter --dolist-tail-- ibuffer-filter-format-alist val boundp nil :ibuffer-formats] 3])
(defalias 'ibuffer-current-formats #[(uncompiledp) "\306 \307 \210\310=\203	\203\n\202)\202)	\203!\f\202\"
\236\211	A@))\207" [name uncompiledp ibuffer-formats ibuffer-compiled-formats ibuffer-filter-format-alist ibuffer-compiled-filter-formats ibuffer-active-formats-name ibuffer-check-formats :ibuffer-formats x] 3])
(defalias 'ibuffer-current-format #[(&optional uncompiledp) "\204\302\303	!8\207" [ibuffer-current-format uncompiledp 0 ibuffer-current-formats] 3])
(defalias 'ibuffer-expand-format-entry #[(form) ":\204\n9\203n\306\307\310:\203@\202!P!\311	!\204-	\n\236\204-\312\313\"\210\314\211\211\211:\203[A@\206B\315\3168\206K\317\3208\206S\321\3228\202d\315\317\321\314	
\f\257-\207\207" [form sym ibuffer-inline-columns elide align max intern "ibuffer-make-column-" symbol-name fboundp error "Unknown column %s in ibuffer-formats" nil 0 2 -1 3 :left 4 min] 5])
(defalias 'ibuffer-compile-make-eliding-form #[(strvar elide from-end-p) "\306\307\310#\n\204\2030\311\312\f\203\313	\314
\315BBE\202+\313\314
\316\317\320	GEF	E
F\2021
)\207" [ibuffer-eliding-string ellipsis elide ibuffer-elide-long-columns from-end-p strvar propertize font-lock-face bold if (> strlen 5) concat substring ((length ibuffer-eliding-string)) 0 - strlen] 9])
(defalias 'ibuffer-compile-make-substring-form #[(strvar maxvar from-end-p) "\203\f\303\304\305\306	EE\207\303\n\307	F\207" [from-end-p maxvar strvar substring str - strlen 0] 5])
(defalias 'ibuffer-compile-make-format-form #[(strvar widthform alignment) "\305\306\307\310\311\n\312BBB\313=\203\314	\fF\202:\315=\203(\314\f	F\202:\316=\2036\314\f	F\202:\317\320\"E*\207" [left right widthform alignment strvar (make-string tmp2 32) (make-string (- tmp1 tmp2) 32) progn setq tmp1 (tmp2 (/ tmp1 2)) :right concat :center :left error "Invalid alignment %s"] 6])
(defalias 'ibuffer-compile-format #[(format) "\306\211\211\211\211
\306/\2110\203\3260@\211/;\203%\307/D\202\312\310/!\211/@1/A@\311/8\312/82\313/83\2114\314W)\205X[\3155\306\21167\306\21189\306\211:;\306<\250\203|\314Y\203\246\315\211:\315\211<\315\211\316\317\320\321\320\322\250\203\233\202\234\323\324BB2#ED8\250\203\263\314V\203\333\315\211;\316\317\320\325\320\250\203\310\202\311\3265#E\327\317\320\330\32035#EF91=\236\211>\203\361>\211?A@)\202\3651\331B)1\332N\211@\203@\210\333\202\334)\335\336\250\203\202\323E\337\336\250\203%\202&\326EABCD:\2049;\203\265:\203M\250\204M\323D6B6;\203a\250\204a\326D6B6:\203z;\203z\340B8\340A9EF\202\216:\203\210\341B8E\202\216\341A9E7B7\342\317\320DE<\205\237\343\"7B7\3427C\3201\"C\"7\202\301CD1\"7B7\34467.BB\fB0A\2110\204*E\204\342\345\346!\203\346\347\202\347\350\351\352D\344\342\205\361\353\205\366\354\n\205\373\355	\205\356$\f\237BBC\244!\211-\207" [global-strlen-used tmp2-used tmp1-used str-used result format nil insert ibuffer-expand-format-entry 2 3 4 0 t progn setq str ibuffer-compile-make-format-form - min (strlen) ibuffer-compile-make-substring-form max (setq strlen (length str)) ibuffer-compile-make-eliding-form (buffer mark) ibuffer-column-summarizer #[(arg sym) "\302\303\304DC\305\306	D\307\310\304\311\306	D\312BBEF\313BBBD\207" [arg sym insert let ret put quote 'ibuffer-column-summary cons get ('ibuffer-column-summary) (ret)] 11] #[(arg sym) "\301D\207" [arg insert] 2] < strlen > if when append (strlen (length str)) let featurep bytecomp byte-compile identity lambda (buffer mark) (str) (strlen) (tmp1) (tmp2) form --dolist-tail-- sym align elide number from-end-p letbindings outforms minform maxform min-used max-used strlen-used ibuffer-inline-columns #1=#:ibuffer-aif-sym it #2=#:ibuffer-aif-sym maxcompform mincompform insertgenfn callform ibuffer-always-compile-formats] 10])
#@30 Recompile `ibuffer-formats'.
(defalias 'ibuffer-recompile-formats #[nil "\304\305\"\306\302!\205\304\307\n\"\211\207" [ibuffer-formats ibuffer-compiled-formats ibuffer-filter-format-alist ibuffer-compiled-filter-formats mapcar ibuffer-compile-format boundp #[(entry) "@\301\302A\"B\207" [entry mapcar #[(formats) "\301\302\"\207" [formats mapcar ibuffer-compile-format] 3]] 4]] 3 (#$ . 59350) nil])
(defalias 'ibuffer-clear-summary-columns #[(format) "\305\211\205,\n@\211:\205	@\306N\211\203#\307	@\310\305#\210))\nA\211\204\305*\207" [format form --dolist-tail-- #1=#:ibuffer-aif-sym it nil ibuffer-column-summarizer put ibuffer-column-summary] 5])
(defalias 'ibuffer-check-formats #[nil "\204\306\307!\210\310\311!\n\203M\203M=\203M\f\203M\f
\232\203M\312\313\"\204M\312\"\203M	\205g=?\205g\205g?\205g\314\315!\210\316 \210
	\203d\314\317!)\207" [ibuffer-formats ext-loaded ibuffer-compiled-formats ibuffer-cached-formats ibuffer-cached-eliding-string ibuffer-eliding-string error "No formats!" featurep ibuf-ext eql 0 message "Formats have changed, recompiling..." ibuffer-recompile-formats "Formats have changed, recompiling...done" ibuffer-cached-elide-long-columns ibuffer-elide-long-columns ibuffer-cached-filter-formats ibuffer-filter-format-alist ibuffer-compiled-filter-formats] 3])
(defvar ibuffer-inline-columns nil)
(byte-code "\304B\305\306\307\310#\210\311B\305\312\307\313#\210\314B\305\315\307\316#\210\317B\305\320\307\321#\210\305\320\322	#\210\305\320\323\324#\210\305\320\325\326#\210\327B\305\330\307\331#\210\305\330\322\n#\210\305\330\323\332#\210\305\330\325\326#\210\333B\305\334\307\335#\210\305\334\322#\207" [ibuffer-inline-columns ibuffer-name-header-map ibuffer-size-header-map ibuffer-mode-header-map (ibuffer-make-column-mark (with-current-buffer buffer (string mark))) put ibuffer-make-column-mark ibuffer-column-name " " (ibuffer-make-column-read-only (with-current-buffer buffer (if buffer-read-only (string ibuffer-read-only-char) " "))) ibuffer-make-column-read-only "R" (ibuffer-make-column-modified (with-current-buffer buffer (if (buffer-modified-p) (string ibuffer-modified-char) " "))) ibuffer-make-column-modified "M" (ibuffer-make-column-name (propertize (with-current-buffer buffer (propertize (buffer-name) 'font-lock-face (ibuffer-buffer-name-face buffer mark))) 'mouse-face 'highlight 'keymap ibuffer-name-map 'ibuffer-name-column t 'help-echo '(if tooltip-mode "mouse-1: mark this buffer\nmouse-2: select this buffer\nmouse-3: operate on this buffer" "mouse-1: mark buffer   mouse-2: select buffer   mouse-3: operate"))) ibuffer-make-column-name "Name" header-mouse-map ibuffer-column-summarizer (lambda (strings) (let ((bufs (length strings))) (cond ((zerop bufs) "No buffers") ((= 1 bufs) "1 buffer") (t (format "%s buffers" bufs))))) ibuffer-column-summary nil (ibuffer-make-column-size (with-current-buffer buffer (format "%s" (buffer-size)))) ibuffer-make-column-size "Size" (lambda (column-strings) (let ((total 0)) (dolist (string column-strings) (setq total (+ (float (string-to-number string)) total))) (format "%.0f" total))) (ibuffer-make-column-mode (propertize (with-current-buffer buffer (format-mode-line mode-name nil nil (current-buffer))) 'mouse-face 'highlight 'keymap ibuffer-mode-name-map 'help-echo "mouse-2: filter by this mode")) ibuffer-make-column-mode "Mode"] 4)
(defalias 'ibuffer-make-column-process #[(buffer mark) "rq\210\303!\211\203	\304\305\n\306\n!#)\202\307*\207" [buffer #1=#:ibuffer-aif-sym it get-buffer-process format "(%s %s)" process-status ""] 6])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307#\207" [put ibuffer-make-column-process ibuffer-column-name "Process" ibuffer-column-summarizer (lambda (strings) (let ((total (length (delete "" strings)))) (cond ((zerop total) "No processes") ((= 1 total) "1 process") (t (format "%d processes" total))))) ibuffer-column-summary nil] 4)
(defalias 'ibuffer-make-column-filename #[(buffer mark) "rq\210	\303\304 \206
\305!*\207" [buffer ibuffer-directory-abbrev-alist directory-abbrev-alist abbreviate-file-name ibuffer-buffer-file-name ""] 2])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307#\207" [put ibuffer-make-column-filename ibuffer-column-name "Filename" ibuffer-column-summarizer (lambda (strings) (let ((total (length (delete "" strings)))) (cond ((zerop total) "No files") ((= 1 total) "1 file") (t (format "%d files" total))))) ibuffer-column-summary nil] 4)
(defalias 'ibuffer-make-column-filename-and-process #[(buffer mark) "rq\210\304!\305	\"\211\203/\306\307\310\311!#\312\313#\nG\314V\203*\307\315\n\"\202+\316P\2020\n+\207" [buffer mark filename proc get-buffer-process ibuffer-make-column-filename propertize format "(%s %s)" process-status font-lock-face italic 0 " %s" ""] 7])
(byte-code "\301\302\303\304#\210\301\302\305#\210\301\302\306\307#\210\301\302\310\311#\207" [ibuffer-filename/process-header-map put ibuffer-make-column-filename-and-process ibuffer-column-name "Filename/Process" header-mouse-map ibuffer-column-summarizer (lambda (strings) (setq strings (delete "" strings)) (let ((procs 0) (files 0)) (dolist (string strings) (if (string-match "\\(?:\\`([[:ascii:]]+)\\)" string) (progn (setq procs (1+ procs)) (if (< (match-end 0) (length string)) (setq files (1+ files)))) (setq files (1+ files)))) (concat (cond ((zerop files) "No files") ((= 1 files) "1 file") (t (format "%d files" files))) ", " (cond ((zerop procs) "no processes") ((= 1 procs) "1 process") (t (format "%d processes" procs)))))) ibuffer-column-summary nil] 4)
(defalias 'ibuffer-format-column #[(str width alignment) "\305\306\245\307\"\305\211\306\245Z\307\"\310=\203\n	\fQ\202.\311=\203*\n\f	Q\202.\f\n	Q*\207" [width right left alignment str make-string 2 32 :right :center] 5])
(defalias 'ibuffer-buffer-name-face #[(buf mark) "\306	\"\203	\n\207\306\"\203\f\207\307\310\f\310
\211\203Q@\211
@V\203Hrq\210\311
A@!)\203H
@\312
8A\211\204\"\310

,\207" [mark ibuffer-marked-char ibuffer-marked-face ibuffer-deletion-char ibuffer-deletion-face result char-equal -1 nil eval 2 level ibuffer-fontification-alist e --dolist-tail-- buf] 4])
#@56 Insert a line describing BUFFER and MARK using FORMAT.
(defalias 'ibuffer-insert-buffer-line #[(buffer mark format) "\304\305!\204\f\306\307\310C\"\210`	\n\"\210\311`\312\nD$\210)\313c\207" [beg format buffer mark derived-mode-p ibuffer-mode signal cl-assertion-failed (derived-mode-p 'ibuffer-mode) put-text-property ibuffer-properties "\n"] 6 (#$ . 65637)])
(defalias 'ibuffer-redisplay-current #[nil "\305\306!\204\f\307\310\311C\"\210m\203\312y\210\313 \210\314\315\316\317!\"\320!\210\321 \211\205I\322\323 \324\"\211A@)\212`\325 T|\210\326	\316 #\210)\f\205H\327 )*\207" [curformat buf x mark ibuffer-shrink-to-minimum-size derived-mode-p ibuffer-mode signal cl-assertion-failed (derived-mode-p 'ibuffer-mode) -1 beginning-of-line mapcar ibuffer-expand-format-entry ibuffer-current-format t ibuffer-clear-summary-columns ibuffer-current-buffer get-text-property line-beginning-position ibuffer-properties line-end-position ibuffer-insert-buffer-line ibuffer-shrink-to-fit] 5])
(defalias 'ibuffer-map-on-mark #[(mark func) "\300\301!\207" [ibuffer-map-lines #[(buf mk) "\304	\"\205\n\"\207" [mark mk func buf char-equal] 3]] 2])
#@289 Call FUNCTION for each buffer.
Set the ibuffer modification flag unless NOMODIFY is non-nil.

If optional argument GROUP is non-nil, then only call FUNCTION on
buffers in filtering group GROUP.

FUNCTION is called with two arguments:
the buffer object itself and the current mark symbol.
(defalias 'ibuffer-map-lines #[(function &optional nomodify group) "\306\307!\204\f\310\311\312C\"\210\313\314!\210\315\212eb\210\313\314!\210`)`\"T\211\314\211\316\216\317eb\210\313\314\320\"\210m\204\273\321`\322\"\204\273\313\314\320\"\210m\204\273\321`\322\"\204\273\323\324 !\203\203
\203n\321`\325\"\211\205j
\232))\205\204\212\324 \321\326 \327\"\211A@)\")\202\204\330\nT\204\224\331y\210\202\267\330=\203\261\326 \332 T|\210T\nW\203\267	S\202\267T\331y\210)\2021-\207" [orig-target-line target-line-offset ibuffer-map-lines-total ibuffer-map-lines-count buffer-read-only group derived-mode-p ibuffer-mode signal cl-assertion-failed (derived-mode-p 'ibuffer-mode) ibuffer-forward-line 0 count-lines ((byte-code "\303	\204\n\304\305!\210eb\210\306\307!\210\306\nS!\207" [buffer-read-only nomodify target-line-offset t set-buffer-modified-p nil ibuffer-forward-line 0] 2)) nil t get-text-property ibuffer-summary buffer-live-p ibuffer-current-buffer ibuffer-filter-group line-beginning-position ibuffer-properties kill 1 line-end-position #1=#:ibuffer-aif-sym it function x result] 6 (#$ . 66799)])
#@51 Return a list of buffer objects currently marked.
(defalias 'ibuffer-get-marked-buffers #[nil "\300\301\302\303\304 \"\"\207" [delq nil mapcar #[(e) "A	=\205	@\207" [e ibuffer-marked-char] 2] ibuffer-current-state-list] 5 (#$ . 68246)])
#@199 Return a list like (BUF . MARK) of all buffers in an ibuffer.
If POS is non-nil, return a list like (BUF MARK POINT), where POINT is
the value of point at the beginning of the line for that buffer.
(defalias 'ibuffer-current-state-list #[(&optional pos) "\303	\203\304\305\n\306\")\210\202\307\305\n\306\")\210\237)\207" [ibuffer-current-state-list-tmp pos function nil #[(buf mark) "\303!\205	`E\nB\211\207" [buf mark ibuffer-current-state-list-tmp buffer-live-p] 3] ibuffer-map-lines t #[(buf mark) "\303!\205
	B\nB\211\207" [buf mark ibuffer-current-state-list-tmp buffer-live-p] 2]] 3 (#$ . 68493)])
#@54 Return a list like (BUF . MARK) of all open buffers.
(defalias 'ibuffer-current-buffers-with-marks #[(curbufs) "\302 \303\304	\")\207" [bufs curbufs ibuffer-current-state-list mapcar #[(buf) "	\236\211\203\f\n\202\303B)\207" [buf bufs e 32] 3]] 3 (#$ . 69120)])
(defalias 'ibuffer-buf-matches-predicates #[(buf predicates) "\306\307!\306\211\203,
@\211;\203\310\f	\"\202 \f!\203%\311
A\211\204*\n*\207" [buf name hit predicates pred --dolist-tail-- nil buffer-name string-match t] 4])
(defalias 'ibuffer-filter-buffers #[(ibuffer-buf last bmarklist all) "\302\303!\304\305\306\307	\"\")\207" [ext-loaded bmarklist featurep ibuf-ext delq nil mapcar #[(e) "@\n\203
	=\204\f\203\306\202\307	
#\205)\207" [e buf ibuffer-always-show-last-buffer last ext-loaded all ibuffer-ext-visible-p ibuffer-visible-p ibuffer-buf] 4]] 5])
(defalias 'ibuffer-visible-p #[(buf all &optional ibuffer-buf) "\204\f\305	\n\"?\205\206\f\205\f	=?\207" [all buf ibuffer-maybe-show-predicates ibuffer-view-ibuffer ibuffer-buf ibuffer-buf-matches-predicates] 3])
#@37 Sort the buffers by last view time.
(defalias 'ibuffer-do-sort-by-recency #[nil "\303	\303=\203\n?\304\305\306\"\210\303\211\207" [ibuffer-sorting-mode ibuffer-last-sorting-mode ibuffer-sorting-reversep recency ibuffer-update nil t] 3 (#$ . 70209) nil])
(defalias 'ibuffer-update-format #[nil "\204\302	?\205\303\304!\207" [ibuffer-current-format ibuffer-formats 0 error "Ibuffer error: no formats!"] 2])
#@36 Switch the current display format.
(defalias 'ibuffer-switch-format #[nil "\302\303!\204\f\304\305\306C\"\210:\204\307\310!\210	\311\312!GSY\203#\313\202%	T\314 \210\315\316!\207" [ibuffer-formats ibuffer-current-format derived-mode-p ibuffer-mode signal cl-assertion-failed (derived-mode-p 'ibuffer-mode) error "Ibuffer error: No formats!" ibuffer-current-formats nil 0 ibuffer-update-format ibuffer-redisplay t] 3 (#$ . 70631) nil])
(defalias 'ibuffer-update-title-and-summary #[(format) "\306\307!\204\f\310\311\312C\"\210\313\314e\315\"\203e\316e\315\"|\210eb\210\317``\n\313\211\203\307\f@\211;\2037\202\276@A\211,@-,A\211.@/.A\2110@10A21/-
34564\2117\320W)\203x4[43\321N\206\204\322\3233\"\2118G93\324N:94W\203\246\325849Z6#\202\2508;:\203\272\326;\327\330\331:%;;.c\210\fA\211\204+*\317	`\332#\210\333c\210\212\334y\210\335 \210`\336 {)<\337\340\341\342<\"\"\210)\333c\210)`\315\343\344=F#\210db\210\314dS\345\"\203\346d\345\"d|\210>\205\264\317`\333c\210\n\313\211\203\260\f@\211;\203*\347G\350\"\202\247@?A\211@@A@A\211B@CBA\211D@EDAFECA?34564\2117\320W)\203m4[43\351N\203\2003\351N3\352N!\202\210\3473\321NG\350\"\211GG\21194W\203\243\325G49Z6#\202\245G.c\210\fA\211\204*`\353#)\207" [after-change-functions opos format element --dolist-tail-- #1=#:xcar derived-mode-p ibuffer-mode signal cl-assertion-failed (derived-mode-p 'ibuffer-mode) nil get-text-property ibuffer-title next-single-property-change add-text-properties 0 ibuffer-column-name error "Unknown column %s in ibuffer-formats" header-mouse-map ibuffer-format-column propertize mouse-face highlight keymap (ibuffer-title-header t) "\n" -1 beginning-of-line line-end-position apply insert mapcar #[(c) "\301\302\"\204\301\303\"\204\304\207\302\207" [c char-equal 32 10 45] 3] t font-lock-face ibuffer-summary previous-single-property-change make-string 32 ibuffer-column-summarizer ibuffer-column-summary (ibuffer-summary t) #2=#:xcdr #3=#:xcar #4=#:xcdr #5=#:xcar #6=#:xcdr #7=#:xcar #8=#:xcdr sym min _max align number name len hmap strname str ibuffer-title-face ibuffer-display-summary #9=#:xcar #10=#:xcdr #11=#:xcar #12=#:xcdr #13=#:xcar #14=#:xcdr #15=#:xcar #16=#:xcdr summary] 9])
#@173 Redisplay the current list of buffers.
This does not show new buffers; use `ibuffer-update' for that.

If optional arg SILENT is non-nil, do not display progress messages.
(defalias 'ibuffer-redisplay #[(&optional silent) "\304\305!\210\204\f\306\307!\210\310 \211\204%\311\312!\203%\n\204!\203%\306\313!\210\314	\315\"\210\2042\306\316!\210\304\305!)\207" [silent blist ibuffer-filtering-qualifiers ibuffer-hidden-filter-groups ibuffer-forward-line 0 message "Redisplaying current buffer list..." ibuffer-current-state-list featurep ibuf-ext "No buffers! (note: filtering in effect)" ibuffer-redisplay-engine t "Redisplaying current buffer list...done"] 4 (#$ . 72936) nil])
#@223 Regenerate the list of all buffers.

Prefix arg non-nil means to toggle whether buffers that match
`ibuffer-maybe-show-predicates' should be displayed.

If optional arg SILENT is non-nil, do not display progress messages.
(defalias 'ibuffer-update #[(arg &optional silent) "\203	?\306\307!\210\310 \311p\n\211A@)\2031\f\312=\2031\313\n\211A@)!\2031\nAA@\2027\n\211A@)\314\n!	$\211\204P\315\316!\203P\203P\317\320!\210\204Y\317\321!\210\322
\"\210\204g\317\323!\210*\324=\203v\325\326!\210\202~\203~\325 \210\306\307!\210\205\216\205\216\211\207" [arg ibuffer-display-maybe-show-predicates bufs x ibuffer-always-show-last-buffer blist ibuffer-forward-line 0 buffer-list ibuffer-filter-buffers :nomini minibufferp ibuffer-current-buffers-with-marks featurep ibuf-ext message "No buffers! (note: filtering in effect)" "Updating buffer list..." ibuffer-redisplay-engine "Updating buffer list...done" onewindow ibuffer-shrink-to-fit t ibuffer-filtering-qualifiers silent ibuffer-shrink-to-minimum-size ibuffer-use-header-line ibuffer-header-line-format header-line-format] 6 (#$ . 73629) "P"])
(defalias 'ibuffer-sort-bufferlist #[(bmarklist) "\204\306\307!\210	\236\211AA@\n\203 \203 \310\f\"\202!\f	\203,
\237\202-
+\207" [ibuffer-sorting-functions-alist ibuffer-sorting-mode sortdat func bmarklist result require ibuf-ext sort ibuffer-sorting-reversep] 4])
(defalias 'ibuffer-insert-filter-group #[(name display-name filter-string format bmarklist) "\306`\307\310\261\210`\311	\312\n\313\314\315\316\317
G\320V\203#\321
\322\fF\202$\f)\257\n#\210\323c\210\205\\\324`\325\211\203W@\326@A#\210A\211\204>*`\327	$\207" [display-name name ibuffer-filter-group-name-face ibuffer-mode-filter-group-map echo filter-string add-text-properties "[ " " ]" ibuffer-filter-group-name font-lock-face keymap mouse-face highlight help-echo (if tooltip-mode "mouse-1: toggle marks in this group\nmouse-2: hide/show this filtering group" "mouse-1: toggle marks  mouse-2: hide/show") 0 concat (if tooltip-mode "\n" " ") "\n" put-text-property nil ibuffer-insert-buffer-line ibuffer-filter-group bmarklist entry --dolist-tail-- format] 17])
(defalias 'ibuffer-redisplay-engine #[(bmarklist &optional _ignore) "\306\307!\204\f\310\311\312C\"\210\313 \314\315\313\316!\"\317e`\"\320\321\322!\211\203+\323
!\202/\324
BC\325	!\210\326\216\320 \327 \210\330 \210\237\320!\211\"\203\251\"@\211!@#\f\205^#$\235%!A\211\204v%\204v\f\203v&\203\237\331#%\203\205#\332P\202\207#\f\203\222\333#!\202\223\334%?\205\235\335
!%\210+\"A\211\"\204L*\336	!.\207" [--ibuffer-insert-buffers-and-marks-format --ibuffer-expanded-format orig after-change-functions ext-loaded bmarklist derived-mode-p ibuffer-mode signal cl-assertion-failed (derived-mode-p 'ibuffer-mode) ibuffer-current-format mapcar ibuffer-expand-format-entry t count-lines nil featurep ibuf-ext ibuffer-generate-filter-groups "Default" ibuffer-clear-summary-columns ((byte-code "\303\304	!\210\305eb\210\ny\207" [buffer-read-only ibuffer-did-modification orig t set-buffer-modified-p nil] 2)) erase-buffer ibuffer-update-format ibuffer-insert-filter-group " ..." ibuffer-format-filter-group-data "" ibuffer-sort-bufferlist ibuffer-update-title-and-summary bgroups buffer-read-only group --dolist-tail-- name ibuffer-hidden-filter-groups disabled ibuffer-show-empty-filter-groups] 8])
#@134 Quit this `ibuffer' session.
Try to restore the previous window configuration if
`ibuffer-restore-window-config-on-quit' is non-nil.
(defalias 'ibuffer-quit #[nil "\203\302 \210\303 \304U?\205\305	!\207\302 \207" [ibuffer-restore-window-config-on-quit ibuffer-prev-window-config bury-buffer count-windows 1 set-window-configuration] 2 (#$ . 77081) nil])
#@148 Display a list of buffers, in another window.
If optional argument FILES-ONLY is non-nil, then add a filter for
buffers which are visiting a file.
(defalias 'ibuffer-list-buffers #[(&optional files-only) "\301\302\303\205\304\302$\207" [files-only ibuffer t nil ((filename . ".*"))] 5 (#$ . 77447) "P"])
#@162 Like `ibuffer', but displayed in another window by default.
If optional argument FILES-ONLY is non-nil, then add a filter for
buffers which are visiting a file.
(defalias 'ibuffer-other-window #[(&optional files-only) "\301\302\303\205\304#\207" [files-only ibuffer t nil ((filename . ".*"))] 4 (#$ . 77761) "P"])
#@741 Begin using Ibuffer to edit a list of buffers.
Type 'h' after entering ibuffer for more information.

All arguments are optional.
OTHER-WINDOW-P says to use another window.
NAME specifies the name of the buffer (defaults to "*Ibuffer*").
QUALIFIERS is an initial set of filtering qualifiers to use;
  see `ibuffer-filtering-qualifiers'.
NOSELECT means don't select the Ibuffer buffer.
SHRINK means shrink the buffer to minimal size.  The special
  value `onewindow' means always use another window.
FILTER-GROUPS is an initial set of filtering groups to use;
  see `ibuffer-filter-groups'.
FORMATS is the value to use for `ibuffer-formats'.
  If specified, then the variable `ibuffer-formats' will have
  that value locally in this buffer.
(defalias 'ibuffer #[(&optional other-window-p name qualifiers noselect shrink filter-groups formats) "\203\306\307 \310\206\311!	\203$
\203\312\202\313\f!\210\2020
\203,\314\202-\315\f!\210r\fq\210\316  r\317\216\320\321\f\322\"!\210!\323=\204L\323 \210	\"#\203X#$%\203e\324\325!\210%&'\203r\324\325!\210'()\203\326\327!\210)\330\331!\210\332\322\306\"\210\333\216\331*\334\335!\210)+?\205\233\336\337!-\207" [ibuffer-use-other-window other-window-p ibuffer-prev-window-config name buf noselect t current-window-configuration get-buffer-create "*Ibuffer*" #[(buf) "\301\302\"\207" [buf display-buffer t] 3] pop-to-buffer display-buffer switch-to-buffer internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) select-window get-buffer-window 0 ibuffer-mode require ibuf-ext make-local-variable ibuffer-formats ibuffer-update nil ibuffer-forward-line ((byte-code "\301\211\207" [buffer-read-only t] 2)) run-hooks ibuffer-hook message "Commands: m, u, t, RET, g, k, S, D, Q; q to quit; h for help" save-selected-window--state major-mode ibuffer-restore-window-config-on-quit shrink ibuffer-shrink-to-minimum-size qualifiers ibuffer-filtering-qualifiers filter-groups ibuffer-filter-groups formats buffer-read-only ibuffer-expert] 4 (#$ . 78085) "P"])
(put 'ibuffer-mode 'mode-class 'special)
#@9567 A major mode for viewing a list of buffers.
In Ibuffer, you can conveniently perform many operations on the
currently open buffers, in addition to filtering your view to a
particular subset of them, and sorting by various criteria.

Operations on marked buffers:
\<ibuffer-mode-map>
  '\[ibuffer-do-save]' - Save the marked buffers
  '\[ibuffer-do-view]' - View the marked buffers in this frame.
  '\[ibuffer-do-view-other-frame]' - View the marked buffers in another frame.
  '\[ibuffer-do-revert]' - Revert the marked buffers.
  '\[ibuffer-do-toggle-read-only]' - Toggle read-only state of marked buffers.
  '\[ibuffer-do-delete]' - Kill the marked buffers.
  '\[ibuffer-do-isearch]' - Do incremental search in the marked buffers.
  '\[ibuffer-do-isearch-regexp]' - Isearch for regexp in the marked buffers.
  '\[ibuffer-do-replace-regexp]' - Replace by regexp in each of the marked
          buffers.
  '\[ibuffer-do-query-replace]' - Query replace in each of the marked buffers.
  '\[ibuffer-do-query-replace-regexp]' - As above, with a regular expression.
  '\[ibuffer-do-print]' - Print the marked buffers.
  '\[ibuffer-do-occur]' - List lines in all marked buffers which match
          a given regexp (like the function `occur').
  '\[ibuffer-do-shell-command-pipe]' - Pipe the contents of the marked
          buffers to a shell command.
  '\[ibuffer-do-shell-command-pipe-replace]' - Replace the contents of the marked
          buffers with the output of a shell command.
  '\[ibuffer-do-shell-command-file]' - Run a shell command with the
          buffer's file as an argument.
  '\[ibuffer-do-eval]' - Evaluate a form in each of the marked buffers.  This
          is a very flexible command.  For example, if you want to make all
          of the marked buffers read only, try using (read-only-mode 1) as
          the input form.
  '\[ibuffer-do-view-and-eval]' - As above, but view each buffer while the form
          is evaluated.
  '\[ibuffer-do-kill-lines]' - Remove the marked lines from the *Ibuffer* buffer,
          but don't kill the associated buffer.
  '\[ibuffer-do-kill-on-deletion-marks]' - Kill all buffers marked for deletion.

Marking commands:

  '\[ibuffer-mark-forward]' - Mark the buffer at point.
  '\[ibuffer-toggle-marks]' - Unmark all currently marked buffers, and mark
          all unmarked buffers.
  '\[ibuffer-unmark-forward]' - Unmark the buffer at point.
  '\[ibuffer-unmark-backward]' - Unmark the buffer at point, and move to the
          previous line.
  '\[ibuffer-unmark-all]' - Unmark all marked buffers.
  '\[ibuffer-mark-by-mode]' - Mark buffers by major mode.
  '\[ibuffer-mark-unsaved-buffers]' - Mark all "unsaved" buffers.
          This means that the buffer is modified, and has an associated file.
  '\[ibuffer-mark-modified-buffers]' - Mark all modified buffers,
          regardless of whether or not they have an associated file.
  '\[ibuffer-mark-special-buffers]' - Mark all buffers whose name begins and
          ends with '*'.
  '\[ibuffer-mark-dissociated-buffers]' - Mark all buffers which have
          an associated file, but that file doesn't currently exist.
  '\[ibuffer-mark-read-only-buffers]' - Mark all read-only buffers.
  '\[ibuffer-mark-dired-buffers]' - Mark buffers in `dired' mode.
  '\[ibuffer-mark-help-buffers]' - Mark buffers in `help-mode', `apropos-mode', etc.
  '\[ibuffer-mark-old-buffers]' - Mark buffers older than `ibuffer-old-time'.
  '\[ibuffer-mark-for-delete]' - Mark the buffer at point for deletion.
  '\[ibuffer-mark-by-name-regexp]' - Mark buffers by their name, using a regexp.
  '\[ibuffer-mark-by-mode-regexp]' - Mark buffers by their major mode, using a regexp.
  '\[ibuffer-mark-by-file-name-regexp]' - Mark buffers by their filename, using a regexp.

Filtering commands:

  '\[ibuffer-filter-by-mode]' - Add a filter by any major mode.
  '\[ibuffer-filter-by-used-mode]' - Add a filter by a major mode now in use.
  '\[ibuffer-filter-by-derived-mode]' - Add a filter by derived mode.
  '\[ibuffer-filter-by-name]' - Add a filter by buffer name.
  '\[ibuffer-filter-by-content]' - Add a filter by buffer content.
  '\[ibuffer-filter-by-filename]' - Add a filter by filename.
  '\[ibuffer-filter-by-size-gt]' - Add a filter by buffer size.
  '\[ibuffer-filter-by-size-lt]' - Add a filter by buffer size.
  '\[ibuffer-filter-by-predicate]' - Add a filter by an arbitrary Lisp predicate.
  '\[ibuffer-save-filters]' - Save the current filters with a name.
  '\[ibuffer-switch-to-saved-filters]' - Switch to previously saved filters.
  '\[ibuffer-add-saved-filters]' - Add saved filters to current filters.
  '\[ibuffer-or-filter]' - Replace the top two filters with their logical OR.
  '\[ibuffer-pop-filter]' - Remove the top filter.
  '\[ibuffer-negate-filter]' - Invert the logical sense of the top filter.
  '\[ibuffer-decompose-filter]' - Break down the topmost filter.
  '\[ibuffer-filter-disable]' - Remove all filtering currently in effect.

Filter group commands:

  '\[ibuffer-filters-to-filter-group]' - Create filter group from filters.
  '\[ibuffer-pop-filter-group]' - Remove top filter group.
  '\[ibuffer-forward-filter-group]' - Move to the next filter group.
  '\[ibuffer-backward-filter-group]' - Move to the previous filter group.
  '\[ibuffer-clear-filter-groups]' - Remove all active filter groups.
  '\[ibuffer-save-filter-groups]' - Save the current groups with a name.
  '\[ibuffer-switch-to-saved-filter-groups]' - Restore previously saved groups.
  '\[ibuffer-delete-saved-filter-groups]' - Delete previously saved groups.

Sorting commands:

  '\[ibuffer-toggle-sorting-mode]' - Rotate between the various sorting modes.
  '\[ibuffer-invert-sorting]' - Reverse the current sorting order.
  '\[ibuffer-do-sort-by-alphabetic]' - Sort the buffers lexicographically.
  '\[ibuffer-do-sort-by-filename/process]' - Sort the buffers by the file name.
  '\[ibuffer-do-sort-by-recency]' - Sort the buffers by last viewing time.
  '\[ibuffer-do-sort-by-size]' - Sort the buffers by size.
  '\[ibuffer-do-sort-by-major-mode]' - Sort the buffers by major mode.

Other commands:

  '\[ibuffer-update]' - Regenerate the list of all buffers.
          Prefix arg means to toggle whether buffers that match
          `ibuffer-maybe-show-predicates' should be displayed.

  '\[ibuffer-switch-format]' - Change the current display format.
  '\[forward-line]' - Move point to the next line.
  '\[previous-line]' - Move point to the previous line.
  '\[ibuffer-quit]' - Bury the Ibuffer buffer.
  '\[describe-mode]' - This help.
  '\[ibuffer-diff-with-file]' - View the differences between this buffer
          and its associated file.
  '\[ibuffer-visit-buffer]' - View the buffer on this line.
  '\[ibuffer-visit-buffer-other-window]' - As above, but in another window.
  '\[ibuffer-visit-buffer-other-window-noselect]' - As both above, but don't select
          the new window.
  '\[ibuffer-bury-buffer]' - Bury (not kill!) the buffer on this line.

** Information on Filtering:

 You can filter your ibuffer view via different criteria.  Each Ibuffer
buffer has its own stack of active filters.  For example, suppose you
are working on an Emacs Lisp project.  You can create an Ibuffer
buffer displays buffers in just `emacs-lisp' modes via
'\[ibuffer-filter-by-mode] emacs-lisp-mode RET'.  In this case, there
is just one entry on the filtering stack.

You can also combine filters.  The various filtering commands push a
new filter onto the stack, and the filters combine to show just
buffers which satisfy ALL criteria on the stack.  For example, suppose
you only want to see buffers in `emacs-lisp' mode, whose names begin
with "gnus".  You can accomplish this via:
'\[ibuffer-filter-by-mode] emacs-lisp-mode RET
\[ibuffer-filter-by-name] ^gnus RET'.

Additionally, you can OR the top two filters together with
'\[ibuffer-or-filters]'.  To see all buffers in either
`emacs-lisp-mode' or `lisp-interaction-mode', type:

'\[ibuffer-filter-by-mode] emacs-lisp-mode RET \[ibuffer-filter-by-mode] lisp-interaction-mode RET \[ibuffer-or-filters]'.

Filters can also be saved and restored using mnemonic names: see the
functions `ibuffer-save-filters' and `ibuffer-switch-to-saved-filters'.

To remove the top filter on the stack, use '\[ibuffer-pop-filter]', and
to disable all filtering currently in effect, use
'\[ibuffer-filter-disable]'.

** Filter Groups:

Once one has mastered filters, the next logical step up is "filter
groups".  A filter group is basically a named group of buffers which
match a filter, which are displayed together in an Ibuffer buffer.  To
create a filter group, simply use the regular functions to create a
filter, and then type '\[ibuffer-filters-to-filter-group]'.

A quick example will make things clearer.  Suppose that one wants to
group all of one's Emacs Lisp buffers together.  To do this, type

'\[ibuffer-filter-by-mode] emacs-lisp-mode RET \[ibuffer-filters-to-filter-group] RET emacs lisp buffers RET'

You may, of course, name the group whatever you want; it doesn't have
to be "emacs lisp buffers".  Filter groups may be composed of any
arbitrary combination of filters.

Just like filters themselves, filter groups act as a stack.  Buffers
will not be displayed multiple times if they would be included in
multiple filter groups; instead, the first filter group is used.  The
filter groups are displayed in this order of precedence.

You may rearrange filter groups by using the regular
'\[ibuffer-kill-line]' and '\[ibuffer-yank]' pair.  Yanked groups
will be inserted before the group at point.
(defalias 'ibuffer-mode #[nil "\306 \210\307!\210\310\311\312\303!\210\313\314\n\315\316\"BB\317\320 \21023\3214\322\323!\2038\2038\312\323!\210\321\312\324!\210\325\312\326!\2105\312\327!\2106\312\330!\2107\312\331!\2108\312\332!\210\321\312\333!\210\321\312\334!\210\321\312\335!\210\321\312\336!\210\321\312\337!\210\321\312\340!\210\321 \312\341!\210\321!\312\342!\210\321\"\312\343!\210\321#\312\344!\210\321$\312\345!\210\321%\312\346!\210\321&\347\350\351#\210\347\352\3539B#\210\354 \210:\203\325:;\355\356\357\321\317$\210\360\361!\207" [ibuffer-mode-map major-mode mode-name mode-line-process ibuffer-header-line-format buffer-read-only kill-all-local-variables use-local-map ibuffer-mode "Ibuffer" make-local-variable (" by " (ibuffer-sorting-mode (:eval (symbol-name ibuffer-sorting-mode)) "view time") (ibuffer-sorting-reversep " [rev]") (ibuffer-auto-mode " (Auto)") (header-line-format #1="" (:eval (if (functionp 'ibuffer-format-qualifier) (mapconcat 'ibuffer-format-qualifier ibuffer-filtering-qualifiers #1#))))) #1# mapcar #[(elem) "\242\301=\203\3028\207\207" [elem header-line-format 2] 2] t buffer-disable-undo nil boundp show-paren-mode revert-buffer-function ibuffer-update ibuffer-sorting-mode ibuffer-sorting-reversep ibuffer-shrink-to-minimum-size ibuffer-display-maybe-show-predicates ibuffer-filtering-qualifiers ibuffer-filter-groups ibuffer-filter-group-kill-ring ibuffer-hidden-filter-groups ibuffer-compiled-formats ibuffer-cached-formats ibuffer-cached-eliding-string ibuffer-cached-elide-long-columns ibuffer-current-format ibuffer-restore-window-config-on-quit ibuffer-did-modification ibuffer-tmp-hide-regexps ibuffer-tmp-show-regexps define-key [menu-bar edit] undefined [menu-bar operate] "Operate" ibuffer-update-format add-hook change-major-mode-hook font-lock-defontify run-mode-hooks ibuffer-mode-hook ibuffer-truncate-lines truncate-lines show-trailing-whitespace ibuffer-default-sorting-mode ibuffer-default-sorting-reversep ibuffer-default-shrink-to-minimum-size ibuffer-default-display-maybe-show-predicates ibuffer-mode-operate-map ibuffer-default-directory default-directory] 5 (#$ . 80218)])
#@250 Toggle use of Ibuffer's auto-update facility (Ibuffer Auto mode).
With a prefix argument ARG, enable Ibuffer Auto mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

(fn &optional ARG)
(autoload 'ibuffer-auto-mode "ibuf-ext" '(#$ . 91994) t nil)
#@77 Enable or disable filtering by the major mode chosen via mouse.

(fn EVENT)
(autoload 'ibuffer-mouse-filter-by-mode "ibuf-ext" '(#$ . 92310) t nil)
#@78 Enable or disable filtering by the major mode at point.

(fn EVENT-OR-POINT)
(autoload 'ibuffer-interactive-filter-by-mode "ibuf-ext" '(#$ . 92464) t nil)
#@82 Toggle the display status of the filter group chosen with the mouse.

(fn EVENT)
(autoload 'ibuffer-mouse-toggle-filter-group "ibuf-ext" '(#$ . 92625) t nil)
#@67 Toggle the display status of the filter group on this line.

(fn)
(autoload 'ibuffer-toggle-filter-group "ibuf-ext" '(#$ . 92789) t nil)
#@70 Move point forwards by COUNT filtering groups.

(fn &optional COUNT)
(autoload 'ibuffer-forward-filter-group "ibuf-ext" '(#$ . 92932) t nil)
#@71 Move point backwards by COUNT filtering groups.

(fn &optional COUNT)
(autoload 'ibuffer-backward-filter-group "ibuf-ext" '(#$ . 93079) t nil)
(byte-code "\300\301\302\"\210\300\303\302\"\210\300\304\302\"\210\300\305\302\"\210\300\306\302\"\210\300\307\302\"\210\300\310\302\"\210\300\311\302\"\210\300\312\302\"\210\300\313\302\"\210\300\314\302\"\210\300\315\302\"\210\300\316\302\"\207" [autoload ibuffer-do-shell-command-pipe "ibuf-ext" ibuffer-do-shell-command-pipe-replace ibuffer-do-shell-command-file ibuffer-do-eval ibuffer-do-view-and-eval ibuffer-do-rename-uniquely ibuffer-do-revert ibuffer-do-isearch ibuffer-do-isearch-regexp ibuffer-do-replace-regexp ibuffer-do-query-replace ibuffer-do-query-replace-regexp ibuffer-do-print] 3)
#@20 

(fn BUF FILTERS)
(autoload 'ibuffer-included-in-filters-p "ibuf-ext" '(#$ . 93830) nil nil)
#@61 Make the current filters into a filtering group.

(fn NAME)
(autoload 'ibuffer-filters-to-filter-group "ibuf-ext" '(#$ . 93930) t nil)
#@56 Set the current filter groups to filter by mode.

(fn)
(autoload 'ibuffer-set-filter-groups-by-mode "ibuf-ext" '(#$ . 94071) t nil)
#@38 Remove the first filter group.

(fn)
(autoload 'ibuffer-pop-filter-group "ibuf-ext" '(#$ . 94209) t nil)
#@67 Decompose the filter group GROUP into active filters.

(fn GROUP)
(autoload 'ibuffer-decompose-filter-group "ibuf-ext" '(#$ . 94320) t nil)
#@33 Remove all filter groups.

(fn)
(autoload 'ibuffer-clear-filter-groups "ibuf-ext" '(#$ . 94466) t nil)
#@63 Move point to the filter group whose name is NAME.

(fn NAME)
(autoload 'ibuffer-jump-to-filter-group "ibuf-ext" '(#$ . 94575) t nil)
#@107 Kill the filter group named NAME.
The group will be added to `ibuffer-filter-group-kill-ring'.

(fn NAME)
(autoload 'ibuffer-kill-filter-group "ibuf-ext" '(#$ . 94716) t nil)
#@105 Kill the filter group at point.
See also `ibuffer-kill-filter-group'.

(fn &optional ARG INTERACTIVE-P)
(autoload 'ibuffer-kill-line "ibuf-ext" '(#$ . 94898) t nil)
#@64 Yank the last killed filter group before group at point.

(fn)
(autoload 'ibuffer-yank "ibuf-ext" '(#$ . 95069) t nil)
#@71 Yank the last killed filter group before group named NAME.

(fn NAME)
(autoload 'ibuffer-yank-filter-group "ibuf-ext" '(#$ . 95194) t nil)
#@176 Save all active filter groups GROUPS as NAME.
They are added to `ibuffer-saved-filter-groups'.  Interactively,
prompt for NAME, and use the current filters.

(fn NAME GROUPS)
(autoload 'ibuffer-save-filter-groups "ibuf-ext" '(#$ . 95340) t nil)
#@103 Delete saved filter groups with NAME.
They are removed from `ibuffer-saved-filter-groups'.

(fn NAME)
(autoload 'ibuffer-delete-saved-filter-groups "ibuf-ext" '(#$ . 95592) t nil)
#@126 Set this buffer's filter groups to saved version with NAME.
The value from `ibuffer-saved-filter-groups' is used.

(fn NAME)
(autoload 'ibuffer-switch-to-saved-filter-groups "ibuf-ext" '(#$ . 95779) t nil)
#@221 Disable all filters currently in effect in this buffer.
With optional arg DELETE-FILTER-GROUPS non-nil, delete all filter
group definitions by setting `ibuffer-filter-groups' to nil.

(fn &optional DELETE-FILTER-GROUPS)
(autoload 'ibuffer-filter-disable "ibuf-ext" '(#$ . 95992) t nil)
#@45 Remove the top filter in this buffer.

(fn)
(autoload 'ibuffer-pop-filter "ibuf-ext" '(#$ . 96284) t nil)
#@282 Separate the top compound filter (OR, NOT, or SAVED) in this buffer.

This means that the topmost filter on the filtering stack, which must
be a complex filter like (OR [name: foo] [mode: bar-mode]), will be
turned into two separate filters [name: foo] and [mode: bar-mode].

(fn)
(autoload 'ibuffer-decompose-filter "ibuf-ext" '(#$ . 96397) t nil)
#@65 Exchange the top two filters on the stack in this buffer.

(fn)
(autoload 'ibuffer-exchange-filters "ibuf-ext" '(#$ . 96752) t nil)
#@65 Negate the sense of the top filter in the current buffer.

(fn)
(autoload 'ibuffer-negate-filter "ibuf-ext" '(#$ . 96890) t nil)
#@176 Replace the top two filters in this buffer with their logical OR.
If optional argument REVERSE is non-nil, instead break the top OR
filter into parts.

(fn &optional REVERSE)
(autoload 'ibuffer-or-filter "ibuf-ext" '(#$ . 97026) t nil)
#@152 Save FILTERS in this buffer with name NAME in `ibuffer-saved-filters'.
Interactively, prompt for NAME, and use the current filters.

(fn NAME FILTERS)
(autoload 'ibuffer-save-filters "ibuf-ext" '(#$ . 97269) t nil)
#@73 Delete saved filters with NAME from `ibuffer-saved-filters'.

(fn NAME)
(autoload 'ibuffer-delete-saved-filters "ibuf-ext" '(#$ . 97490) t nil)
#@85 Add saved filters from `ibuffer-saved-filters' to this buffer's filters.

(fn NAME)
(autoload 'ibuffer-add-saved-filters "ibuf-ext" '(#$ . 97640) t nil)
#@89 Set this buffer's filters to filters with NAME from `ibuffer-saved-filters'.

(fn NAME)
(autoload 'ibuffer-switch-to-saved-filters "ibuf-ext" '(#$ . 97799) t nil)
(byte-code "\300\301\302\"\210\300\303\302\"\210\300\304\302\"\210\300\305\302\"\210\300\306\302\"\210\300\307\302\"\210\300\310\302\"\210\300\311\302\"\210\300\312\302\"\207" [autoload ibuffer-filter-by-mode "ibuf-ext" ibuffer-filter-by-used-mode ibuffer-filter-by-derived-mode ibuffer-filter-by-name ibuffer-filter-by-filename ibuffer-filter-by-size-gt ibuffer-filter-by-size-lt ibuffer-filter-by-content ibuffer-filter-by-predicate] 3)
#@231 Toggle the current sorting mode.
Default sorting modes are:
 Recency - the last time the buffer was viewed
 Name - the name of the buffer
 Major Mode - the name of the major mode of the buffer
 Size - the size of the buffer

(fn)
(autoload 'ibuffer-toggle-sorting-mode "ibuf-ext" '(#$ . 98408) t nil)
#@58 Toggle whether or not sorting is in reverse order.

(fn)
(autoload 'ibuffer-invert-sorting "ibuf-ext" '(#$ . 98715) t nil)
(byte-code "\300\301\302\"\210\300\303\302\"\210\300\304\302\"\210\300\305\302\"\210\300\306\302\"\207" [autoload ibuffer-do-sort-by-major-mode "ibuf-ext" ibuffer-do-sort-by-mode-name ibuffer-do-sort-by-alphabetic ibuffer-do-sort-by-size ibuffer-do-sort-by-filename/process] 3)
#@49 Emulate `bs-show' from the bs.el package.

(fn)
(autoload 'ibuffer-bs-show "ibuf-ext" '(#$ . 99122) t nil)
#@150 Add REGEXP to `ibuffer-tmp-hide-regexps'.
This means that buffers whose name matches REGEXP will not be shown
for this Ibuffer session.

(fn REGEXP)
(autoload 'ibuffer-add-to-tmp-hide "ibuf-ext" '(#$ . 99236) t nil)
#@153 Add REGEXP to `ibuffer-tmp-show-regexps'.
This means that buffers whose name matches REGEXP will always be shown
for this Ibuffer session.

(fn REGEXP)
(autoload 'ibuffer-add-to-tmp-show "ibuf-ext" '(#$ . 99459) t nil)
#@343 Move forward by COUNT marked buffers (default 1).

If MARK is non-nil, it should be a character denoting the type of mark
to move by.  The default is `ibuffer-marked-char'.

If DIRECTION is non-nil, it should be an integer; negative integers
mean move backwards, non-negative integers mean move forwards.

(fn &optional COUNT MARK DIRECTION)
(autoload 'ibuffer-forward-next-marked "ibuf-ext" '(#$ . 99685) t nil)
#@203 Move backwards by COUNT marked buffers (default 1).

If MARK is non-nil, it should be a character denoting the type of mark
to move by.  The default is `ibuffer-marked-char'.

(fn &optional COUNT MARK)
(autoload 'ibuffer-backwards-next-marked "ibuf-ext" '(#$ . 100105) t nil)
#@47 Hide all of the currently marked lines.

(fn)
(autoload 'ibuffer-do-kill-lines "ibuf-ext" '(#$ . 100387) t nil)
#@410 Move point to the buffer whose name is NAME.

If called interactively, prompt for a buffer name and go to the
corresponding line in the Ibuffer buffer.  If said buffer is in a
hidden group filter, open it.

If `ibuffer-jump-offer-only-visible-buffers' is non-nil, only offer
visible buffers in the completion list.  Calling the command with
a prefix argument reverses the meaning of that variable.

(fn NAME)
(autoload 'ibuffer-jump-to-buffer "ibuf-ext" '(#$ . 100506) t nil)
#@195 View the differences between marked buffers and their associated files.
If no buffers are marked, use buffer at point.
This requires the external program "diff" to be in your `exec-path'.

(fn)
(autoload 'ibuffer-diff-with-file "ibuf-ext" '(#$ . 100989) t nil)
#@520 Copy filenames of marked buffers into the kill ring.

The names are separated by a space.
If a buffer has no filename, it is ignored.

With no prefix arg, use the filename sans its directory of each marked file.
With a zero prefix arg, use the complete filename of each marked file.
With \[universal-argument], use the filename of each marked file relative
to `ibuffer-default-directory' if non-nil, otherwise `default-directory'.

You can then feed the file name(s) to other commands with \[yank].

(fn &optional ARG)
(autoload 'ibuffer-copy-filename-as-kill "ibuf-ext" '(#$ . 101257) t nil)
#@58 Mark all buffers whose name matches REGEXP.

(fn REGEXP)
(autoload 'ibuffer-mark-by-name-regexp "ibuf-ext" '(#$ . 101856) t nil)
#@64 Mark all buffers whose major mode matches REGEXP.

(fn REGEXP)
(autoload 'ibuffer-mark-by-mode-regexp "ibuf-ext" '(#$ . 101991) t nil)
#@63 Mark all buffers whose file name matches REGEXP.

(fn REGEXP)
(autoload 'ibuffer-mark-by-file-name-regexp "ibuf-ext" '(#$ . 102132) t nil)
#@59 Mark all buffers whose major mode equals MODE.

(fn MODE)
(autoload 'ibuffer-mark-by-mode "ibuf-ext" '(#$ . 102277) t nil)
#@34 Mark all modified buffers.

(fn)
(autoload 'ibuffer-mark-modified-buffers "ibuf-ext" '(#$ . 102406) t nil)
#@63 Mark all modified buffers that have an associated file.

(fn)
(autoload 'ibuffer-mark-unsaved-buffers "ibuf-ext" '(#$ . 102519) t nil)
#@62 Mark all buffers whose associated file does not exist.

(fn)
(autoload 'ibuffer-mark-dissociated-buffers "ibuf-ext" '(#$ . 102660) t nil)
#@52 Mark buffers like *Help*, *Apropos*, *Info*.

(fn)
(autoload 'ibuffer-mark-help-buffers "ibuf-ext" '(#$ . 102804) t nil)
#@57 Mark buffers whose associated file is compressed.

(fn)
(autoload 'ibuffer-mark-compressed-file-buffers "ibuf-ext" '(#$ . 102931) t nil)
#@76 Mark buffers which have not been viewed in `ibuffer-old-time' hours.

(fn)
(autoload 'ibuffer-mark-old-buffers "ibuf-ext" '(#$ . 103074) t nil)
#@61 Mark all buffers whose name begins and ends with '*'.

(fn)
(autoload 'ibuffer-mark-special-buffers "ibuf-ext" '(#$ . 103224) t nil)
#@35 Mark all read-only buffers.

(fn)
(autoload 'ibuffer-mark-read-only-buffers "ibuf-ext" '(#$ . 103363) t nil)
#@33 Mark all `dired' buffers.

(fn)
(autoload 'ibuffer-mark-dired-buffers "ibuf-ext" '(#$ . 103478) t nil)
#@172 View lines which match REGEXP in all marked buffers.
Optional argument NLINES says how many lines of context to display: it
defaults to one.

(fn REGEXP &optional NLINES)
(autoload 'ibuffer-do-occur "ibuf-ext" '(#$ . 103588) t nil)
(byte-code "\300\301!\210\302\303!\207" [provide ibuffer run-hooks ibuffer-load-hook] 2)

bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped)
Email: contact@elmoujehidin.net