Commit f78ee6af authored by Glenn Morris's avatar Glenn Morris

Merge from emacs-24; up to 2012-11-09T14:45:15Z!dmantipov@yandex.ru

parents b95a9c0c f8705f6e
2012-11-13 Chong Yidong <cyd@gnu.org>
* building.texi (Multithreaded Debugging): gdb-stopped-hooks is
actually named gdb-stopped-functions.
2012-11-13 Glenn Morris <rgm@gnu.org>
* misc.texi (Single Shell): Mention async-shell-command-buffer.
2012-11-10 Glenn Morris <rgm@gnu.org>
* misc.texi (Terminal emulator): Rename `term-face' to `term'.
......
......@@ -1244,8 +1244,8 @@ depending on the reason which caused the stop. Customize the variable
@code{gdb-switch-reasons} to select the stop reasons which will cause
a thread switch.
@vindex gdb-stopped-hooks
The variable @code{gdb-stopped-hooks} allows you to execute your
@vindex gdb-stopped-functions
The variable @code{gdb-stopped-functions} allows you to execute your
functions whenever some thread stops.
In non-stop mode, you can switch between different modes for GUD
......
......@@ -542,11 +542,19 @@ which is impossible to ignore.
You can also type @kbd{M-&} (@code{async-shell-command}) to execute a
shell command asynchronously; this is exactly like calling @kbd{M-!}
with a trailing @samp{&}, except that you do not need the @samp{&}.
The output buffer for asynchronous shell commands is named
The default output buffer for asynchronous shell commands is named
@samp{*Async Shell Command*}. Emacs inserts the output into this
buffer as it comes in, whether or not the buffer is visible in a
window.
@vindex async-shell-command-buffer
If you want to run more than one asynchronous shell command at the
same time, they could end up competing for the output buffer. The
option @code{async-shell-command-buffer} specifies what to do about
this; e.g., whether to rename the pre-existing output buffer, or to
use a different buffer for the new command. Consult the variable's
documentation for more possibilities.
@kindex M-|
@findex shell-command-on-region
@kbd{M-|} (@code{shell-command-on-region}) is like @kbd{M-!}, but
......
2012-11-13 Glenn Morris <rgm@gnu.org>
* variables.texi (Adding Generalized Variables):
At least mention gv-define-expander and gv-letplace.
* debugging.texi (Error Debugging): Mention debug-on-message.
(Using Debugger): Mention debugger-bury-or-kill.
* control.texi (Signaling Errors):
* debugging.texi (Error Debugging):
* errors.texi (Standard Errors): Add user-error.
* variables.texi (Adding Generalized Variables):
Use standard formatting for common lisp note about setf functions.
2012-11-10 Martin Rudalics <rudalics@gmx.at>
* elisp.texi (Top): Add Recombining Windows to menu.
......
......@@ -824,6 +824,19 @@ The function @code{signal} never returns.
@end example
@end defun
@cindex user errors, signaling
@defun user-error format-string &rest args
This function behaves exactly like @code{error}, except that it uses
the error symbol @code{user-error} rather than @code{error}. As the
name suggests, this is intended to report errors on the part of the
user, rather than errors in the code itself. For example,
if you try to use the command @code{Info-history-back} (@kbd{l}) to
move back beyond the start of your Info browsing history, Emacs
signals a @code{user-error}. Such errors do not cause entry to the
debugger, even when @code{debug-on-error} is non-@code{nil}.
@xref{Error Debugging}.
@end defun
@cindex CL note---no continuable errors
@quotation
@b{Common Lisp note:} Emacs Lisp has nothing like the Common Lisp
......
......@@ -117,12 +117,12 @@ has any of those condition symbols, or if the error message matches
any of the regular expressions, then that error does not enter the
debugger.
The normal value of this variable lists several errors that happen
often during editing but rarely result from bugs in Lisp programs.
However, ``rarely'' is not ``never''; if your program fails with an
error that matches this list, you may try changing this list to debug
the error. The easiest way is usually to set
@code{debug-ignored-errors} to @code{nil}.
The normal value of this variable includes @code{user-error}, as well
as several errors that happen often during editing but rarely result
from bugs in Lisp programs. However, ``rarely'' is not ``never''; if
your program fails with an error that matches this list, you may try
changing this list to debug the error. The easiest way is usually to
set @code{debug-ignored-errors} to @code{nil}.
@end defopt
@defopt eval-expression-debug-on-error
......@@ -163,6 +163,14 @@ supported values correspond to the signals @code{SIGUSR1} and
@code{inhibit-quit} is set and Emacs is not otherwise responding.
@end defopt
@cindex message, finding what causes a particular message
@defvar debug-on-message
If you set @code{debug-on-message} to a regular expression,
Emacs will enter the debugger if it displays a matching message in the
echo area. For example, this can be useful when trying to find the
cause of a particular message.
@end defvar
To debug an error that happens during loading of the init
file, use the option @samp{--debug-init}. This binds
@code{debug-on-error} to @code{t} while loading the init file, and
......@@ -314,6 +322,7 @@ is a message describing the reason that the debugger was invoked (such
as the error message and associated data, if it was invoked due to an
error).
@vindex debugger-bury-or-kill
The backtrace buffer is read-only and uses a special major mode,
Debugger mode, in which letters are defined as debugger commands. The
usual Emacs editing commands are available; thus, you can switch windows
......@@ -322,8 +331,12 @@ switch buffers, visit files, or do any other sort of editing. However,
the debugger is a recursive editing level (@pxref{Recursive Editing})
and it is wise to go back to the backtrace buffer and exit the debugger
(with the @kbd{q} command) when you are finished with it. Exiting
the debugger gets out of the recursive edit and kills the backtrace
buffer.
the debugger gets out of the recursive edit and buries the backtrace
buffer. (You can customize what the @kbd{q} command does with the
backtrace buffer by setting the variable @code{debugger-bury-or-kill}.
For example, set it to @code{kill} if you prefer to kill the buffer
rather than bury it. Consult the variable's documentation for more
possibilities.)
When the debugger has been entered, the @code{debug-on-error}
variable is temporarily set according to
......
......@@ -172,6 +172,9 @@ The message is @samp{Text is read-only}. This is a subcategory of
@item undefined-color
The message is @samp{Undefined color}. @xref{Color Names}.
@item user-error
The message is the empty string. @xref{Signaling Errors}.
@item void-function
The message is @samp{Symbol's function definition is void}.
@xref{Function Cells}.
......
......@@ -2133,20 +2133,24 @@ set. An example of using this macro is:
@end example
@end defmac
@c FIXME? Not sure what, if anything, to say about this.
@ignore
@defmac gv-define-expander name handler
This is the most general way to define a new @code{setf} expansion.
@end defmac
@end ignore
@findex gv-define-expander
@findex gv-letplace
@c FIXME? Not sure what or how much to say about these.
@c See cl.texi for an example of using gv-letplace.
For more control over the expansion, see the macro @code{gv-define-expander}.
The macro @code{gv-letplace} can be useful in defining macros that
perform similarly to @code{setf}; for example, the @code{incf} macro
of Common Lisp. Consult the source file @file{gv.el} for more details.
@cindex CL note---no @code{setf} functions
Common Lisp defines another way to specify the @code{setf} behavior of
a function, namely ``@code{setf} functions'', whose names are lists
@code{(setf @var{name})} rather than symbols. For example,
@code{(defun (setf foo) @dots{})} defines the function that is used
when @code{setf} is applied to @code{foo}. Emacs does not support
this. It is a compile-time error to use @code{setf} on a form that
has not already had an appropriate expansion defined. In Common Lisp,
this is not an error since the function @code{(setf @var{func})} might
be defined later.
@quotation
@b{Common Lisp note:} Common Lisp defines another way to specify the
@code{setf} behavior of a function, namely ``@code{setf} functions'',
whose names are lists @code{(setf @var{name})} rather than symbols.
For example, @code{(defun (setf foo) @dots{})} defines the function
that is used when @code{setf} is applied to @code{foo}. Emacs does
not support this. It is a compile-time error to use @code{setf} on a
form that has not already had an appropriate expansion defined. In
Common Lisp, this is not an error since the function @code{(setf
@var{func})} might be defined later.
@end quotation
2012-11-13 Glenn Morris <rgm@gnu.org>
* flymake.texi (Customizable variables)
(Highlighting erroneous lines): Mention flymake-error-bitmap,
flymake-warning-bitmap, and flymake-fringe-indicator-position.
2012-11-12 Vincent Belaïche <vincentb1@users.sourceforge.net>
* ses.texi: Doc for ses-rename-cell, ses-repair-cell-reference-all & ses-range.
......
......@@ -337,6 +337,17 @@ been reported.
A custom face for highlighting lines for which at least one warning
and no errors have been reported.
@item flymake-error-bitmap
A bitmap used in the fringe to mark lines for which an error has
been reported.
@item flymake-warning-bitmap
A bitmap used in the fringe to mark lines for which a warning has
been reported.
@item flymake-fringe-indicator-position
Which fringe (if any) should show the warning/error bitmaps.
@end table
@node Adding support for a new syntax check tool
......@@ -718,6 +729,15 @@ are used: @code{flymake-errline} and
@code{flymake-warnline}. Errors belonging outside the current
buffer are considered to belong to line 1 of the current buffer.
@c This manual does not use vindex.
@c @vindex flymake-fringe-indicator-position
@c @vindex flymake-error-bitmap
@c @vindex flymake-warning-bitmap
If the option @code{flymake-fringe-indicator-position} is non-@code{nil},
errors and warnings are also highlighted in the left or right fringe,
using the bitmaps specified by @code{flymake-error-bitmap}
and @code{flymake-warning-bitmap}.
@node Interaction with other modes
@section Interaction with other modes
@cindex Interaction with other modes
......
......@@ -162,6 +162,7 @@ next and previous path separator, respectively.
*** minibuffer-electric-default-mode can rewrite (default ...) to [...].
Just set minibuffer-eldef-shorten-default to t before enabling the mode.
+++
** ImageMagick support, if available, is automatically enabled.
It is no longer necessary to call `imagemagick-register-types'
explicitly to install ImageMagick image types; that function is called
......@@ -470,6 +471,7 @@ when you receive a private message or your nickname is mentioned.
*** ERC will look up server/channel names via auth-source and use any
channel keys found.
+++
** Flymake uses fringe bitmaps to indicate errors and warnings.
See `flymake-fringe-indicator-position', `flymake-error-bitmap' and
`flymake-warning-bitmap'.
......@@ -478,10 +480,12 @@ See `flymake-fringe-indicator-position', `flymake-error-bitmap' and
** Follow mode no longer works by using advice.
The option `follow-intercept-processes' has been removed.
---
** The FFAP option `ffap-url-unwrap-remote' can now be a list of strings,
specifying URL types which should be converted to remote file names at
specifying URL types that should be converted to remote file names at
the FFAP prompt. The default is now '("ftp").
---
** New Ibuffer `derived-mode' filter, bound to `/ M'.
The old binding for `/ M' (filter by used-mode) is now bound to `/ m'.
......@@ -497,11 +501,14 @@ The old binding for `/ M' (filter by used-mode) is now bound to `/ m'.
The function `notifications-get-capabilities' returns the supported
server properties.
---
** In Perl mode, new option `perl-indent-parens-as-block' causes non-block
closing brackets to be aligned with the line of the opening bracket.
---
** In Proced mode, new command `proced-renice' renices marked processes.
---
** Python mode
A new version of python.el, which provides several new features, including:
......@@ -548,6 +555,8 @@ python-insert-while | python-skeleton-while
python-find-function | python-nav-jump-to-defun
python-next-statement | python-nav-forward-sentence
python-previous-statement | python-nav-backward-sentence
python-beginning-of-defun-function | python-nav-beginning-of-defun
python-end-of-defun-function | python-nav-end-of-defun
python-send-buffer | python-shell-send-buffer
python-send-defun | python-shell-send-defun
python-send-region | python-shell-send-region
......@@ -586,8 +595,9 @@ Sphinx support has been improved.
*** `sh-use-smie' lets you choose a new indentation and navigation code.
+++
** New option `async-shell-command-buffer' specifies the buffer to use
for a new asynchronous shell command when the default output buffer
for a new asynchronous `shell-command' when the default output buffer
`*Async Shell Command*' is already in use.
---
......@@ -831,11 +841,15 @@ table, but with a different prefix.
** Debugger changes
+++
*** New error type and new function `user-error'.
These do not trigger the debugger.
*** New option `debugger-bury-or-kill'.
+++
*** New option `debugger-bury-or-kill', saying what to do with the
debugger buffer when exiting debug.
+++
*** Set `debug-on-message' to enter the debugger when a certain
message is displayed in the echo area. This can be useful when trying
to work out which code is doing something.
......@@ -900,7 +914,7 @@ in Emacs 24.1:
*** `current-time-string' no longer requires that its argument's year
must be in the range 1000..9999. It now works with any year supported
by the underlying C implementation.
+++
*** `current-time' now returns extended-format time stamps
(HIGH LOW USEC PSEC), where the new PSEC slot specifies picoseconds.
PSEC is typically a multiple of 1000 on current machines. Other
......@@ -912,7 +926,7 @@ stamps are still accepted.
[TRIGGERED-P HI-SECS LO-SECS USECS REPEAT-DELAY FUNCTION ARGS IDLE-DELAY PSECS].
The PSECS slot is new, and uses picosecond resolution. It can be
accessed via the new timer--psecs accessor.
+++
*** Last-modified time stamps in undo lists now are of the form
(t HI-SECS LO-SECS USECS PSECS) instead of (t HI-SECS . LO-SECS).
......
2012-11-13 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/gv.el (gv-define-simple-setter): One more fix (bug#12871).
2012-11-13 Wolfgang Jenkner <wjenkner@inode.at>
* ansi-color.el (ansi-color-apply-sequence): Implement SGR codes
39 and 49 (bug#12792). Also, treat unimplemented parameters as 0,
thereby restoring the behavior of revisions prior to 2012-08-15T03:33:55Z!monnier@iro.umontreal.ca.
2012-11-13 Fabián Ezequiel Gallina <fgallina@cuca>
Fix end-of-defun misbehavior.
* progmodes/python.el (python-nav-beginning-of-defun): Rename from
python-beginning-of-defun-function. Handle nested defuns
correctly.
(python-nav-end-of-defun): Rename from
python-end-of-defun-function. Ensure forward movement.
(python-info-current-defun): Reimplement to work as intended
with new fixed python-nav-{end,beginning}-of-defun. Stop scanning
parent defuns as soon as possible.
2012-11-13 Glenn Morris <rgm@gnu.org>
* progmodes/flymake.el (flymake-error-bitmap)
(flymake-warning-bitmap, flymake-fringe-indicator-position): Doc fixes.
(flymake-error-bitmap, flymake-warning-bitmap): Fix :types.
2012-11-13 Dmitry Gutov <dgutov@yandex.ru>
* progmodes/ruby-mode.el (ruby-move-to-block): When moving
backward, always stop at indentation. Reverts the change from
2012-08-12T22:06:56Z!monnier@iro.umontreal.ca (Bug#12851).
2012-11-13 Glenn Morris <rgm@gnu.org>
* ibuffer.el (ibuffer-mode-map, ibuffer-mode):
Add ibuffer-filter-by-derived-mode.
* ibuffer.el (ibuffer-mode-map): Don't have two menu items with
the same name shadowing each other.
* window.el (with-temp-buffer-window): Doc tweak.
* emacs-lisp/debug.el (debugger-bury-or-kill): Doc tweak.
* help.el (temp-buffer-max-height):
* window.el (fit-frame-to-buffer, fit-frame-to-buffer-bottom-margin):
* emacs-lisp/debug.el (debugger-bury-or-kill): Fix :version.
2012-11-12 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/nadvice.el: New package.
......
......@@ -534,34 +534,39 @@ Returns nil only if there's no match for `ansi-color-parameter-regexp'."
ESCAPE-SEQ is an escape sequence parsed by `ansi-color-parse-sequence'.
If the new codes resulting from ESCAPE-SEQ start with 0, then the
old codes are discarded and the remaining new codes are
processed. Otherwise, for each new code: if it is 21-25 or 27-29
delete appropriate parameters from the list of codes; any other
code that makes sense is added to the list of codes. Finally,
the so changed list of codes is returned."
For each new code, the following happens: if it is 1-7, add it to
the list of codes; if it is 21-25 or 27, delete appropriate
parameters from the list of codes; if it is 30-37 resp. 39, the
foreground color code is replaced or added resp. deleted; if it
is 40-47 resp. 49, the background color code is replaced or added
resp. deleted; any other code is discarded together with the old
codes. Finally, the so changed list of codes is returned."
(let ((new-codes (ansi-color-parse-sequence escape-sequence)))
(while new-codes
(setq codes
(let ((new (pop new-codes)))
(cond ((zerop new)
nil)
((or (<= new 20)
(>= new 30))
(if (memq new codes)
codes
(cons new codes)))
;; The standard says `21 doubly underlined' while
;; http://en.wikipedia.org/wiki/ANSI_escape_code claims
;; `21 Bright/Bold: off or Underline: Double'.
((/= new 26)
(remq (- new 20)
(cond ((= new 22)
(remq 1 codes))
((= new 25)
(remq 6 codes))
(t codes))))
(t codes)))))
(let* ((new (pop new-codes))
(q (/ new 10)))
(setq codes
(pcase q
(0 (unless (memq new '(0 8 9))
(cons new (remq new codes))))
(2 (unless (memq new '(20 26 28 29))
;; The standard says `21 doubly underlined' while
;; http://en.wikipedia.org/wiki/ANSI_escape_code claims
;; `21 Bright/Bold: off or Underline: Double'.
(remq (- new 20) (pcase new
(22 (remq 1 codes))
(25 (remq 6 codes))
(_ codes)))))
((or 3 4) (let ((r (mod new 10)))
(unless (= r 8)
(let (beg)
(while (and codes (/= q (/ (car codes) 10)))
(push (pop codes) beg))
(setq codes (nconc (nreverse beg) (cdr codes)))
(if (= r 9)
codes
(cons new codes))))))
(_ nil)))))
codes))
(defun ansi-color-make-color-map ()
......
2012-11-13 Stefan Monnier <monnier@iro.umontreal.ca>
* semantic/mru-bookmark.el (semantic-mru-bookmark-mode):
* semantic/grammar.el (semantic-grammar-mode):
* semantic/util-modes.el (semantic-highlight-edits-mode)
(semantic-show-parser-state-mode): Avoid obsolete name
semantic-edits-new-change-hooks (bug#12869).
2012-11-13 Glenn Morris <rgm@gnu.org>
* srecode/srt-mode.el (srecode-template-mode):
Don't change global values of comment-start, comment-end. (Bug#12781)
2012-10-25 David Engster <deng@randomsample.de>
* semantic/analyze.el (semantic-analyze-dereference-alias): New
function to dereference aliases.
* semantic/analyze.el (semantic-analyze-dereference-alias):
New function to dereference aliases.
(semantic-analyze-current-context-default): Use it.
* semantic/grammar.el (semantic-grammar-create-package):
......@@ -12,8 +25,8 @@
* semantic.el (semantic-elapsed-time): Make it a defsubst.
* srecode/dictionary.el (srecode-adebug-dictionary): Remove
require for `semantic'.
* srecode/dictionary.el (srecode-adebug-dictionary):
Remove require for `semantic'.
* srecode/map.el:
* srecode/insert.el: Declare functions from `data-debug'.
......
......@@ -1333,8 +1333,8 @@ the change bounds to encompass the whole nonterminal tag."
(add-hook 'before-change-functions
'semantic--grammar-clear-macros-regexp-2 nil t)
;; Handle safe re-parse of grammar rules.
(semantic-make-local-hook 'semantic-edits-new-change-hooks)
(add-hook 'semantic-edits-new-change-hooks
(semantic-make-local-hook 'semantic-edits-new-change-functions)
(add-hook 'semantic-edits-new-change-functions
'semantic-grammar-edits-new-change-hook-fcn
nil t)
(semantic-run-mode-hooks 'semantic-grammar-mode-hook))
......
......@@ -292,13 +292,13 @@ minor mode is enabled."
(setq semantic-mru-bookmark-mode nil)
(error "Buffer %s was not set up for parsing"
(buffer-name)))
(semantic-make-local-hook 'semantic-edits-new-change-hooks)
(add-hook 'semantic-edits-new-change-hooks
(semantic-make-local-hook 'semantic-edits-new-change-functions)
(add-hook 'semantic-edits-new-change-functions
'semantic-mru-bookmark-change-hook-fcn nil t)
(add-hook 'semantic-edits-move-change-hooks
'semantic-mru-bookmark-change-hook-fcn nil t))
;; Remove hooks
(remove-hook 'semantic-edits-new-change-hooks
(remove-hook 'semantic-edits-new-change-functions
'semantic-mru-bookmark-change-hook-fcn t)
(remove-hook 'semantic-edits-move-change-hooks
'semantic-mru-bookmark-change-hook-fcn t)))
......
......@@ -221,11 +221,11 @@ minor mode is enabled."
(setq semantic-highlight-edits-mode nil)
(error "Buffer %s was not set up for parsing"
(buffer-name)))
(semantic-make-local-hook 'semantic-edits-new-change-hooks)
(add-hook 'semantic-edits-new-change-hooks
(semantic-make-local-hook 'semantic-edits-new-change-functions)
(add-hook 'semantic-edits-new-change-functions
'semantic-highlight-edits-new-change-hook-fcn nil t))
;; Remove hooks
(remove-hook 'semantic-edits-new-change-hooks
(remove-hook 'semantic-edits-new-change-functions
'semantic-highlight-edits-new-change-hook-fcn t)))
(semantic-add-minor-mode 'semantic-highlight-edits-mode
......@@ -460,8 +460,8 @@ minor mode is enabled."
(append mode-line-modified
'(semantic-show-parser-state-string))))
;; Add hooks
(semantic-make-local-hook 'semantic-edits-new-change-hooks)
(add-hook 'semantic-edits-new-change-hooks
(semantic-make-local-hook 'semantic-edits-new-change-functions)
(add-hook 'semantic-edits-new-change-functions
'semantic-show-parser-state-marker nil t)
(semantic-make-local-hook 'semantic-edits-incremental-reparse-failed-hook)
(add-hook 'semantic-edits-incremental-reparse-failed-hook
......@@ -491,7 +491,7 @@ minor mode is enabled."
(setq mode-line-modified
(delq 'semantic-show-parser-state-string mode-line-modified))
;; Remove hooks
(remove-hook 'semantic-edits-new-change-hooks
(remove-hook 'semantic-edits-new-change-functions
'semantic-show-parser-state-marker t)
(remove-hook 'semantic-edits-incremental-reparse-failed-hook
'semantic-show-parser-state-marker t)
......
......@@ -189,8 +189,8 @@ we can tell font lock about them.")
;;;###autoload
(define-derived-mode srecode-template-mode fundamental-mode "SRecorder"
"Major-mode for writing SRecode macros."
(setq comment-start ";;"
comment-end "")
(set (make-local-variable 'comment-start) ";;")
(set (make-local-variable 'comment-end) "")
(set (make-local-variable 'parse-sexp-ignore-comments) t)
(set (make-local-variable 'comment-start-skip)
"\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\);+ *")
......
......@@ -49,9 +49,9 @@ the middle is discarded, and just the beginning and end are displayed."
:version "21.1")
(defcustom debugger-bury-or-kill 'bury
"How to proceed with the debugger buffer when exiting `debug'.
The value used here affects the behavior of operations on any
window previously showing the debugger buffer.
"What to do with the debugger buffer when exiting `debug'.
The value affects the behavior of operations on any window
previously showing the debugger buffer.
`nil' means that if its window is not deleted when exiting the
debugger, invoking `switch-to-prev-buffer' will usually show
......@@ -79,7 +79,7 @@ The value used here is passed to `quit-restore-window'."
(const :tag "Bury" bury)
(const :tag "Kill" kill))
:group 'debugger
:version "24.2")
:version "24.3")
(defvar debugger-step-after-exit nil
"Non-nil means \"single-step\" after the debugger exits.")
......
......@@ -220,8 +220,9 @@ so as to preserve the semantics of `setf'."
`(gv-define-setter ,name (val &rest args)
,(if fix-return
`(macroexp-let2 nil v val
(cons ',setter (append args (list v)))
v)
`(progn
(,',setter ,@(append args (list v)))
,v))
`(cons ',setter (append args (list val))))))
;;; Typical operations on generalized variables.
......
......@@ -979,7 +979,7 @@ buffer, and should return a positive integer. At the time the
function is called, the window to be resized is selected."
:type '(choice integer function)
:group 'help
:version "24.2")
:version "24.3")
(define-minor-mode temp-buffer-resize-mode
"Toggle auto-resizing temporary buffer windows (Temp Buffer Resize Mode).
......
......@@ -632,10 +632,13 @@ directory, like `default-directory'."
'(menu-item "Disable all filtering" ibuffer-filter-disable
:enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers)))
(define-key-after map [menu-bar view filter filter-by-mode]
'(menu-item "Add filter by major mode..." ibuffer-filter-by-mode))
(define-key-after map [menu-bar view filter filter-by-mode]
'(menu-item "Add filter by major mode in use..."
'(menu-item "Add filter by any major mode..." ibuffer-filter-by-mode))
(define-key-after map [menu-bar view filter filter-by-used-mode]
'(menu-item "Add filter by a major mode in use..."
ibuffer-filter-by-used-mode))
(define-key-after map [menu-bar view filter filter-by-derived-mode]
'(menu-item "Add filter by derived mode..."
ibuffer-filter-by-derived-mode))
(define-key-after map [menu-bar view filter filter-by-name]
'(menu-item "Add filter by buffer name..." ibuffer-filter-by-name))
(define-key-after map [menu-bar view filter filter-by-filename]
......@@ -2438,8 +2441,9 @@ Marking commands: