diff options
| author | Glenn Morris | 2019-03-09 10:07:46 -0800 |
|---|---|---|
| committer | Glenn Morris | 2019-03-09 10:07:46 -0800 |
| commit | 3b63afd73b541ea559aa58edc1901c8b30e2af40 (patch) | |
| tree | a68afec4142bd100f3b6dfa3eb90aa2c0a71b34f | |
| parent | e1819a254f28a7dcba3c395c345fe237a512e92e (diff) | |
| parent | 0589de55c465627c16314519568f22daa62ff654 (diff) | |
| download | emacs-3b63afd73b541ea559aa58edc1901c8b30e2af40.tar.gz emacs-3b63afd73b541ea559aa58edc1901c8b30e2af40.zip | |
Merge from origin/emacs-26
0589de5 (origin/emacs-26) Fix markup of fake keys in the ELisp manual
82d4b98 Avoid errors in Auto Revert mode
a3b1935 Mention empty strings in file name expansion, emacs lisp refe...
a38da0d cc-mode.texi: Work around makeinfo alignment bug. Fix proble...
464ee80 Warn against recursive invocations of 'buffer-list-update-hoo...
60b5c10 Provide more details in doc-string of 'delete-windows-on' (Bu...
f0be0f1 Improve documentation of 'delete-windows-on'
f1bddc7 * lisp/frame.el (make-frame-command): Doc fix. (Bug#34715)
2848623 Avoid undefined behavior in gdb-mi.el
dbf1837 * lisp/window.el (fit-frame-to-buffer): Make doc-string more ...
099ef44 Minor spelling and grammar fixes (bug#34756)
52fd400 Minor improvement of documentation of '(when CONDITION . SPEC)'
f872b65 Improve documentation of 'auto-coding-functions'
04cad5e Fix visiting XML files with non-Unix EOL format
a89fabe Update example major mode code in Elisp manual
# Conflicts:
# lisp/autorevert.el
# lisp/window.el
| -rw-r--r-- | doc/emacs/windows.texi | 7 | ||||
| -rw-r--r-- | doc/lispintro/emacs-lisp-intro.texi | 2 | ||||
| -rw-r--r-- | doc/lispref/buffers.texi | 4 | ||||
| -rw-r--r-- | doc/lispref/display.texi | 10 | ||||
| -rw-r--r-- | doc/lispref/files.texi | 13 | ||||
| -rw-r--r-- | doc/lispref/keymaps.texi | 11 | ||||
| -rw-r--r-- | doc/lispref/modes.texi | 29 | ||||
| -rw-r--r-- | doc/lispref/nonascii.texi | 15 | ||||
| -rw-r--r-- | doc/misc/cc-mode.texi | 28 | ||||
| -rw-r--r-- | doc/misc/ede.texi | 16 | ||||
| -rw-r--r-- | doc/misc/gnus-faq.texi | 2 | ||||
| -rw-r--r-- | doc/misc/gnus.texi | 2 | ||||
| -rw-r--r-- | lisp/autorevert.el | 2 | ||||
| -rw-r--r-- | lisp/frame.el | 4 | ||||
| -rw-r--r-- | lisp/gnus/gnus-art.el | 4 | ||||
| -rw-r--r-- | lisp/gnus/message.el | 2 | ||||
| -rw-r--r-- | lisp/international/mule.el | 25 | ||||
| -rw-r--r-- | lisp/progmodes/gdb-mi.el | 2 | ||||
| -rw-r--r-- | lisp/window.el | 24 | ||||
| -rw-r--r-- | src/buffer.c | 8 |
20 files changed, 151 insertions, 59 deletions
diff --git a/doc/emacs/windows.texi b/doc/emacs/windows.texi index 4e6e7e399b4..ece53130531 100644 --- a/doc/emacs/windows.texi +++ b/doc/emacs/windows.texi | |||
| @@ -262,6 +262,8 @@ Delete all windows in the selected frame except the selected window | |||
| 262 | Delete the selected window and kill the buffer that was showing in it | 262 | Delete the selected window and kill the buffer that was showing in it |
| 263 | (@code{kill-buffer-and-window}). The last character in this key | 263 | (@code{kill-buffer-and-window}). The last character in this key |
| 264 | sequence is a zero. | 264 | sequence is a zero. |
| 265 | @item M-x delete-windows-on @key{RET} @var{buffer} @key{RET} | ||
| 266 | Delete windows showing the specified @var{buffer}. | ||
| 265 | @item C-x ^ | 267 | @item C-x ^ |
| 266 | Make selected window taller (@code{enlarge-window}). | 268 | Make selected window taller (@code{enlarge-window}). |
| 267 | @item C-x @} | 269 | @item C-x @} |
| @@ -297,6 +299,11 @@ selected window. | |||
| 297 | whole frame. (This command cannot be used while the minibuffer window | 299 | whole frame. (This command cannot be used while the minibuffer window |
| 298 | is active; attempting to do so signals an error.) | 300 | is active; attempting to do so signals an error.) |
| 299 | 301 | ||
| 302 | @kbd{M-x delete-windows-on} deletes windows that show a specific | ||
| 303 | buffer. It prompts for the buffer, defaulting to the current buffer. | ||
| 304 | With prefix argument of zero, @kbd{C-u 0}, this command deletes | ||
| 305 | windows only on the current display's frames. | ||
| 306 | |||
| 300 | @cindex resize window | 307 | @cindex resize window |
| 301 | @cindex resizing windows | 308 | @cindex resizing windows |
| 302 | @kindex C-x ^ | 309 | @kindex C-x ^ |
diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index f292a1759fc..519decb1d04 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi | |||
| @@ -14825,7 +14825,7 @@ According to its documentation as shown by @kbd{C-h f} (the | |||
| 14825 | @code{describe-function} command), the @code{find-file-noselect} | 14825 | @code{describe-function} command), the @code{find-file-noselect} |
| 14826 | function reads the named file into a buffer and returns the buffer. | 14826 | function reads the named file into a buffer and returns the buffer. |
| 14827 | (Its most recent version includes an optional @var{wildcards} argument, | 14827 | (Its most recent version includes an optional @var{wildcards} argument, |
| 14828 | too, as well as another to read a file literally and an other you | 14828 | too, as well as another to read a file literally and another to |
| 14829 | suppress warning messages. These optional arguments are irrelevant.) | 14829 | suppress warning messages. These optional arguments are irrelevant.) |
| 14830 | 14830 | ||
| 14831 | However, the @code{find-file-noselect} function does not select the | 14831 | However, the @code{find-file-noselect} function does not select the |
diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi index 2dbe9c27f2d..260f159851b 100644 --- a/doc/lispref/buffers.texi +++ b/doc/lispref/buffers.texi | |||
| @@ -935,6 +935,10 @@ This is a normal hook run whenever the buffer list changes. Functions | |||
| 935 | (@pxref{Creating Buffers}), @code{rename-buffer} (@pxref{Buffer Names}), | 935 | (@pxref{Creating Buffers}), @code{rename-buffer} (@pxref{Buffer Names}), |
| 936 | @code{kill-buffer} (@pxref{Killing Buffers}), @code{bury-buffer} (see | 936 | @code{kill-buffer} (@pxref{Killing Buffers}), @code{bury-buffer} (see |
| 937 | above) and @code{select-window} (@pxref{Selecting Windows}). | 937 | above) and @code{select-window} (@pxref{Selecting Windows}). |
| 938 | |||
| 939 | Functions run by this hook should avoid calling @code{select-window} | ||
| 940 | with a nil @var{norecord} argument or @code{with-temp-buffer} since | ||
| 941 | either may lead to infinite recursion. | ||
| 938 | @end defvar | 942 | @end defvar |
| 939 | 943 | ||
| 940 | @node Creating Buffers | 944 | @node Creating Buffers |
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 95379b342b3..c4cb83977fc 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi | |||
| @@ -4894,6 +4894,16 @@ and the buffer position where the @code{display} property was found, | |||
| 4894 | respectively. Both positions can be different when @code{object} is a | 4894 | respectively. Both positions can be different when @code{object} is a |
| 4895 | string. | 4895 | string. |
| 4896 | 4896 | ||
| 4897 | Note that @var{condition} will only be evaluated when redisplay | ||
| 4898 | examines the text where this display spec is located, so this feature | ||
| 4899 | is best suited for conditions that are relatively stable, i.e.@: | ||
| 4900 | yield, for each particular buffer position, the same results on every | ||
| 4901 | evaluation. If the results change for the same text location, e.g., | ||
| 4902 | if the result depends on the position of point, then the conditional | ||
| 4903 | specification might not do what you want, because redisplay examines | ||
| 4904 | only those parts of buffer text where it has reasons to assume that | ||
| 4905 | something changed since the last display cycle. | ||
| 4906 | |||
| 4897 | @node Display Margins | 4907 | @node Display Margins |
| 4898 | @subsection Displaying in the Margins | 4908 | @subsection Displaying in the Margins |
| 4899 | @cindex display margins | 4909 | @cindex display margins |
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 5c99ea2781c..0e57cf9666f 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi | |||
| @@ -16,7 +16,7 @@ described in @ref{Backups and Auto-Saving}. | |||
| 16 | names. A file name is a string. Most of these functions expand file | 16 | names. A file name is a string. Most of these functions expand file |
| 17 | name arguments using the function @code{expand-file-name}, so that | 17 | name arguments using the function @code{expand-file-name}, so that |
| 18 | @file{~} is handled correctly, as are relative file names (including | 18 | @file{~} is handled correctly, as are relative file names (including |
| 19 | @file{../}). @xref{File Name Expansion}. | 19 | @file{../} and the empty string). @xref{File Name Expansion}. |
| 20 | 20 | ||
| 21 | In addition, certain @dfn{magic} file names are handled specially. | 21 | In addition, certain @dfn{magic} file names are handled specially. |
| 22 | For example, when a remote file name is specified, Emacs accesses the | 22 | For example, when a remote file name is specified, Emacs accesses the |
| @@ -2402,6 +2402,17 @@ This is for the sake of filesystems that have the concept of a | |||
| 2402 | superroot above the root directory @file{/}. On other filesystems, | 2402 | superroot above the root directory @file{/}. On other filesystems, |
| 2403 | @file{/../} is interpreted exactly the same as @file{/}. | 2403 | @file{/../} is interpreted exactly the same as @file{/}. |
| 2404 | 2404 | ||
| 2405 | Expanding @file{.} or the empty string returns the default directory: | ||
| 2406 | |||
| 2407 | @example | ||
| 2408 | @group | ||
| 2409 | (expand-file-name "." "/usr/spool/") | ||
| 2410 | @result{} "/usr/spool" | ||
| 2411 | (expand-file-name "" "/usr/spool/") | ||
| 2412 | @result{} "/usr/spool" | ||
| 2413 | @end group | ||
| 2414 | @end example | ||
| 2415 | |||
| 2405 | Note that @code{expand-file-name} does @emph{not} expand environment | 2416 | Note that @code{expand-file-name} does @emph{not} expand environment |
| 2406 | variables; only @code{substitute-in-file-name} does that: | 2417 | variables; only @code{substitute-in-file-name} does that: |
| 2407 | 2418 | ||
diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi index cc0386c8fc7..6ad665a9502 100644 --- a/doc/lispref/keymaps.texi +++ b/doc/lispref/keymaps.texi | |||
| @@ -2502,7 +2502,7 @@ can do it this way: | |||
| 2502 | 2502 | ||
| 2503 | Emacs usually shows a @dfn{menu bar} at the top of each frame. | 2503 | Emacs usually shows a @dfn{menu bar} at the top of each frame. |
| 2504 | @xref{Menu Bars,,,emacs, The GNU Emacs Manual}. Menu bar items are | 2504 | @xref{Menu Bars,,,emacs, The GNU Emacs Manual}. Menu bar items are |
| 2505 | subcommands of the fake function key @code{menu-bar}, as defined | 2505 | subcommands of the fake function key @key{MENU-BAR}, as defined |
| 2506 | in the active keymaps. | 2506 | in the active keymaps. |
| 2507 | 2507 | ||
| 2508 | To add an item to the menu bar, invent a fake function key of your | 2508 | To add an item to the menu bar, invent a fake function key of your |
| @@ -2554,9 +2554,10 @@ bar item: | |||
| 2554 | @end example | 2554 | @end example |
| 2555 | 2555 | ||
| 2556 | @noindent | 2556 | @noindent |
| 2557 | Here, @code{edit} is the fake function key used by the global map for | 2557 | Here, @code{edit} is the symbol produced by a fake function key, it is |
| 2558 | the @samp{Edit} menu bar item. The main reason to suppress a global | 2558 | used by the global map for the @samp{Edit} menu bar item. The main |
| 2559 | menu bar item is to regain space for mode-specific items. | 2559 | reason to suppress a global menu bar item is to regain space for |
| 2560 | mode-specific items. | ||
| 2560 | 2561 | ||
| 2561 | @defvar menu-bar-final-items | 2562 | @defvar menu-bar-final-items |
| 2562 | Normally the menu bar shows global items followed by items defined by the | 2563 | Normally the menu bar shows global items followed by items defined by the |
| @@ -2601,7 +2602,7 @@ If the value is @code{grow-only}, the tool bar expands automatically, | |||
| 2601 | but does not contract automatically. | 2602 | but does not contract automatically. |
| 2602 | 2603 | ||
| 2603 | The tool bar contents are controlled by a menu keymap attached to a | 2604 | The tool bar contents are controlled by a menu keymap attached to a |
| 2604 | fake function key called @code{tool-bar} (much like the way the menu | 2605 | fake function key called @key{TOOL-BAR} (much like the way the menu |
| 2605 | bar is controlled). So you define a tool bar item using | 2606 | bar is controlled). So you define a tool bar item using |
| 2606 | @code{define-key}, like this: | 2607 | @code{define-key}, like this: |
| 2607 | 2608 | ||
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index 22592a57b05..3f6bee9821d 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi | |||
| @@ -1237,6 +1237,7 @@ the conventions listed above: | |||
| 1237 | (modify-syntax-entry ?\\ ". " st) | 1237 | (modify-syntax-entry ?\\ ". " st) |
| 1238 | ;; Add 'p' so M-c on 'hello' leads to 'Hello', not 'hello'. | 1238 | ;; Add 'p' so M-c on 'hello' leads to 'Hello', not 'hello'. |
| 1239 | (modify-syntax-entry ?' "w p" st) | 1239 | (modify-syntax-entry ?' "w p" st) |
| 1240 | @dots{} | ||
| 1240 | st) | 1241 | st) |
| 1241 | "Syntax table used while in `text-mode'.") | 1242 | "Syntax table used while in `text-mode'.") |
| 1242 | @end group | 1243 | @end group |
| @@ -1246,6 +1247,7 @@ the conventions listed above: | |||
| 1246 | (defvar text-mode-map | 1247 | (defvar text-mode-map |
| 1247 | (let ((map (make-sparse-keymap))) | 1248 | (let ((map (make-sparse-keymap))) |
| 1248 | (define-key map "\e\t" 'ispell-complete-word) | 1249 | (define-key map "\e\t" 'ispell-complete-word) |
| 1250 | @dots{} | ||
| 1249 | map) | 1251 | map) |
| 1250 | "Keymap for `text-mode'. | 1252 | "Keymap for `text-mode'. |
| 1251 | Many other modes, such as `mail-mode', `outline-mode' and | 1253 | Many other modes, such as `mail-mode', `outline-mode' and |
| @@ -1289,11 +1291,11 @@ illustrate how these modes are written. | |||
| 1289 | @smallexample | 1291 | @smallexample |
| 1290 | @group | 1292 | @group |
| 1291 | ;; @r{Create mode-specific table variables.} | 1293 | ;; @r{Create mode-specific table variables.} |
| 1292 | (defvar lisp-mode-abbrev-table nil) | 1294 | (define-abbrev-table 'lisp-mode-abbrev-table () |
| 1293 | (define-abbrev-table 'lisp-mode-abbrev-table ()) | 1295 | "Abbrev table for Lisp mode.") |
| 1294 | 1296 | ||
| 1295 | (defvar lisp-mode-syntax-table | 1297 | (defvar lisp-mode-syntax-table |
| 1296 | (let ((table (copy-syntax-table emacs-lisp-mode-syntax-table))) | 1298 | (let ((table (make-syntax-table lisp--mode-syntax-table))) |
| 1297 | (modify-syntax-entry ?\[ "_ " table) | 1299 | (modify-syntax-entry ?\[ "_ " table) |
| 1298 | (modify-syntax-entry ?\] "_ " table) | 1300 | (modify-syntax-entry ?\] "_ " table) |
| 1299 | (modify-syntax-entry ?# "' 14" table) | 1301 | (modify-syntax-entry ?# "' 14" table) |
| @@ -1308,10 +1310,9 @@ each calls the following function to set various variables: | |||
| 1308 | 1310 | ||
| 1309 | @smallexample | 1311 | @smallexample |
| 1310 | @group | 1312 | @group |
| 1311 | (defun lisp-mode-variables (&optional syntax keywords-case-insensitive) | 1313 | (defun lisp-mode-variables (&optional syntax keywords-case-insensitive elisp) |
| 1312 | (when syntax | 1314 | (when syntax |
| 1313 | (set-syntax-table lisp-mode-syntax-table)) | 1315 | (set-syntax-table lisp-mode-syntax-table)) |
| 1314 | (setq local-abbrev-table lisp-mode-abbrev-table) | ||
| 1315 | @dots{} | 1316 | @dots{} |
| 1316 | @end group | 1317 | @end group |
| 1317 | @end smallexample | 1318 | @end smallexample |
| @@ -1322,8 +1323,7 @@ variable to handle Lisp comments: | |||
| 1322 | 1323 | ||
| 1323 | @smallexample | 1324 | @smallexample |
| 1324 | @group | 1325 | @group |
| 1325 | (make-local-variable 'comment-start) | 1326 | (setq-local comment-start ";") |
| 1326 | (setq comment-start ";") | ||
| 1327 | @dots{} | 1327 | @dots{} |
| 1328 | @end group | 1328 | @end group |
| 1329 | @end smallexample | 1329 | @end smallexample |
| @@ -1337,6 +1337,7 @@ common. The following code sets up the common commands: | |||
| 1337 | @group | 1337 | @group |
| 1338 | (defvar lisp-mode-shared-map | 1338 | (defvar lisp-mode-shared-map |
| 1339 | (let ((map (make-sparse-keymap))) | 1339 | (let ((map (make-sparse-keymap))) |
| 1340 | (set-keymap-parent map prog-mode-map) | ||
| 1340 | (define-key map "\e\C-q" 'indent-sexp) | 1341 | (define-key map "\e\C-q" 'indent-sexp) |
| 1341 | (define-key map "\177" 'backward-delete-char-untabify) | 1342 | (define-key map "\177" 'backward-delete-char-untabify) |
| 1342 | map) | 1343 | map) |
| @@ -1351,7 +1352,7 @@ And here is the code to set up the keymap for Lisp mode: | |||
| 1351 | @group | 1352 | @group |
| 1352 | (defvar lisp-mode-map | 1353 | (defvar lisp-mode-map |
| 1353 | (let ((map (make-sparse-keymap)) | 1354 | (let ((map (make-sparse-keymap)) |
| 1354 | (menu-map (make-sparse-keymap "Lisp"))) | 1355 | (menu-map (make-sparse-keymap "Lisp"))) |
| 1355 | (set-keymap-parent map lisp-mode-shared-map) | 1356 | (set-keymap-parent map lisp-mode-shared-map) |
| 1356 | (define-key map "\e\C-x" 'lisp-eval-defun) | 1357 | (define-key map "\e\C-x" 'lisp-eval-defun) |
| 1357 | (define-key map "\C-c\C-z" 'run-lisp) | 1358 | (define-key map "\C-c\C-z" 'run-lisp) |
| @@ -1375,17 +1376,13 @@ Blank lines separate paragraphs. Semicolons start comments. | |||
| 1375 | 1376 | ||
| 1376 | \\@{lisp-mode-map@} | 1377 | \\@{lisp-mode-map@} |
| 1377 | Note that `run-lisp' may be used either to start an inferior Lisp job | 1378 | Note that `run-lisp' may be used either to start an inferior Lisp job |
| 1378 | or to switch back to an existing one. | 1379 | or to switch back to an existing one." |
| 1379 | @end group | 1380 | @end group |
| 1380 | |||
| 1381 | @group | 1381 | @group |
| 1382 | Entry to this mode calls the value of `lisp-mode-hook' | ||
| 1383 | if that value is non-nil." | ||
| 1384 | (lisp-mode-variables nil t) | 1382 | (lisp-mode-variables nil t) |
| 1385 | (set (make-local-variable 'find-tag-default-function) | 1383 | (setq-local find-tag-default-function 'lisp-find-tag-default) |
| 1386 | 'lisp-find-tag-default) | 1384 | (setq-local comment-start-skip |
| 1387 | (set (make-local-variable 'comment-start-skip) | 1385 | "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\)\\(;+\\|#|\\) *") |
| 1388 | "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\)\\(;+\\|#|\\) *") | ||
| 1389 | (setq imenu-case-fold-search t)) | 1386 | (setq imenu-case-fold-search t)) |
| 1390 | @end group | 1387 | @end group |
| 1391 | @end smallexample | 1388 | @end smallexample |
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index ae9a8ab6323..11a77bd1479 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi | |||
| @@ -1632,11 +1632,16 @@ coding system for a file based on its undecoded contents. | |||
| 1632 | 1632 | ||
| 1633 | Each function in this list should be written to look at text in the | 1633 | Each function in this list should be written to look at text in the |
| 1634 | current buffer, but should not modify it in any way. The buffer will | 1634 | current buffer, but should not modify it in any way. The buffer will |
| 1635 | contain undecoded text of parts of the file. Each function should | 1635 | contain the text of parts of the file. Each function should take one |
| 1636 | take one argument, @var{size}, which tells it how many characters to | 1636 | argument, @var{size}, which tells it how many characters to look at, |
| 1637 | look at, starting from point. If the function succeeds in determining | 1637 | starting from point. If the function succeeds in determining a coding |
| 1638 | a coding system for the file, it should return that coding system. | 1638 | system for the file, it should return that coding system. Otherwise, |
| 1639 | Otherwise, it should return @code{nil}. | 1639 | it should return @code{nil}. |
| 1640 | |||
| 1641 | The functions in this list could be called either when the file is | ||
| 1642 | visited and Emacs wants to decode its contents, and/or when the file's | ||
| 1643 | buffer is about to be saved and Emacs wants to determine how to encode | ||
| 1644 | its contents. | ||
| 1640 | 1645 | ||
| 1641 | If a file has a @samp{coding:} tag, that takes precedence, so these | 1646 | If a file has a @samp{coding:} tag, that takes precedence, so these |
| 1642 | functions won't be called. | 1647 | functions won't be called. |
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi index 1a77a64e01c..0c77cc0ee61 100644 --- a/doc/misc/cc-mode.texi +++ b/doc/misc/cc-mode.texi | |||
| @@ -148,7 +148,17 @@ CC Mode | |||
| 148 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | 148 | @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| 149 | 149 | ||
| 150 | @comment Define an index for syntactic symbols. | 150 | @comment Define an index for syntactic symbols. |
| 151 | @c Version for Texinfo <= 4.x | ||
| 152 | @ifclear txicommandconditionals | ||
| 153 | @ifnottex @c In texi2dvi, the @defindex would create an empty cc-mode.ss | ||
| 154 | @c For Info, unlike tex, @syncodeindex needs a matching @defindex. | ||
| 151 | @defindex ss | 155 | @defindex ss |
| 156 | @end ifnottex | ||
| 157 | @end ifclear | ||
| 158 | @c Version for Texinfo >= 5.x | ||
| 159 | @ifset txicommandconditionals | ||
| 160 | @defindex ss | ||
| 161 | @end ifset | ||
| 152 | 162 | ||
| 153 | @comment Combine key, syntactic symbol and concept indices into one. | 163 | @comment Combine key, syntactic symbol and concept indices into one. |
| 154 | @syncodeindex ss cp | 164 | @syncodeindex ss cp |
| @@ -2282,6 +2292,8 @@ method, ``Top-level commands or the customization interface''. | |||
| 2282 | 2292 | ||
| 2283 | If you make conflicting settings in several of these ways, the way | 2293 | If you make conflicting settings in several of these ways, the way |
| 2284 | that takes precedence is the one that appears latest in this list: | 2294 | that takes precedence is the one that appears latest in this list: |
| 2295 | @c Version of list for Texinfo <= 4.x | ||
| 2296 | @ifclear txicommandconditionals | ||
| 2285 | @itemize @w{} | 2297 | @itemize @w{} |
| 2286 | @item | 2298 | @item |
| 2287 | @table @asis | 2299 | @table @asis |
| @@ -2292,6 +2304,18 @@ that takes precedence is the one that appears latest in this list: | |||
| 2292 | @itemx File Local Variable setting | 2304 | @itemx File Local Variable setting |
| 2293 | @end table | 2305 | @end table |
| 2294 | @end itemize | 2306 | @end itemize |
| 2307 | @end ifclear | ||
| 2308 | @c Version of list for Texinfo >= 5.x | ||
| 2309 | @ifset txicommandconditionals | ||
| 2310 | @itemize @asis | ||
| 2311 | @item Style | ||
| 2312 | @item File Style@footnote{In earlier versions of @ccmode{}, a File Style setting took precedence over any other setting apart from a File Local Variable setting.} | ||
| 2313 | @item Top-level command or ``customization interface'' | ||
| 2314 | @item Hook | ||
| 2315 | @item File Local Variable setting | ||
| 2316 | @end itemize | ||
| 2317 | @end ifset | ||
| 2318 | |||
| 2295 | 2319 | ||
| 2296 | Here is a summary of the different ways of writing your configuration | 2320 | Here is a summary of the different ways of writing your configuration |
| 2297 | settings: | 2321 | settings: |
| @@ -2548,7 +2572,7 @@ Basics}). | |||
| 2548 | @item | 2572 | @item |
| 2549 | The style variable @code{c-offsets-alist} (@pxref{c-offsets-alist}) is | 2573 | The style variable @code{c-offsets-alist} (@pxref{c-offsets-alist}) is |
| 2550 | an association list with an element for each syntactic symbol. It's | 2574 | an association list with an element for each syntactic symbol. It's |
| 2551 | handled a little differently from the other style variables. It's | 2575 | handled a little differently from the other style variables. Its |
| 2552 | default global binding is the empty list @code{nil}, rather than | 2576 | default global binding is the empty list @code{nil}, rather than |
| 2553 | @code{set-from-style}. Before the style system is initialized, you | 2577 | @code{set-from-style}. Before the style system is initialized, you |
| 2554 | can add individual elements to @code{c-offsets-alist} by calling | 2578 | can add individual elements to @code{c-offsets-alist} by calling |
| @@ -5286,7 +5310,7 @@ The simplest and most used kind of ``offset'' setting in | |||
| 5286 | @defopt c-basic-offset | 5310 | @defopt c-basic-offset |
| 5287 | @vindex basic-offset @r{(c-)} | 5311 | @vindex basic-offset @r{(c-)} |
| 5288 | This style variable holds the basic offset between indentation levels. | 5312 | This style variable holds the basic offset between indentation levels. |
| 5289 | It's factory default is 4, but all the built-in styles set it | 5313 | Its factory default is 4, but all the built-in styles set it |
| 5290 | themselves, to some value between 2 (for @code{gnu} style) and 8 (for | 5314 | themselves, to some value between 2 (for @code{gnu} style) and 8 (for |
| 5291 | @code{bsd}, @code{linux}, and @code{python} styles). | 5315 | @code{bsd}, @code{linux}, and @code{python} styles). |
| 5292 | @end defopt | 5316 | @end defopt |
diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi index 6d5c1b93a94..7ab386c97a4 100644 --- a/doc/misc/ede.texi +++ b/doc/misc/ede.texi | |||
| @@ -1038,7 +1038,7 @@ details on using @eieio{} to extending classes, and writing methods. | |||
| 1038 | 1038 | ||
| 1039 | If you intend to extend @ede{}, it is most likely that a new target type is | 1039 | If you intend to extend @ede{}, it is most likely that a new target type is |
| 1040 | needed in one of the existing project types. The rest of this chapter | 1040 | needed in one of the existing project types. The rest of this chapter |
| 1041 | will discuss extending the @code{ede-project} class, and it's targets. | 1041 | will discuss extending the @code{ede-project} class, and its targets. |
| 1042 | See @file{project-am.el} for basic details on adding targets to it. | 1042 | See @file{project-am.el} for basic details on adding targets to it. |
| 1043 | 1043 | ||
| 1044 | For the @code{ede-project} type, the core target class is called | 1044 | For the @code{ede-project} type, the core target class is called |
| @@ -1477,7 +1477,7 @@ Get the inode of the directory project @var{PROJ} is in. | |||
| 1477 | @end deffn | 1477 | @end deffn |
| 1478 | 1478 | ||
| 1479 | @deffn Method ede-project-root :AFTER this | 1479 | @deffn Method ede-project-root :AFTER this |
| 1480 | If a project knows it's root, return it here. | 1480 | If a project knows its root, return it here. |
| 1481 | Allows for one-project-object-for-a-tree type systems. | 1481 | Allows for one-project-object-for-a-tree type systems. |
| 1482 | @end deffn | 1482 | @end deffn |
| 1483 | 1483 | ||
| @@ -1486,7 +1486,7 @@ Find a subproject of @var{PROJ} that corresponds to @var{DIR}. | |||
| 1486 | @end deffn | 1486 | @end deffn |
| 1487 | 1487 | ||
| 1488 | @deffn Method ede-project-root-directory :AFTER this &optional file | 1488 | @deffn Method ede-project-root-directory :AFTER this &optional file |
| 1489 | If a project knows it's root, return it here. | 1489 | If a project knows its root, return it here. |
| 1490 | Allows for one-project-object-for-a-tree type systems. | 1490 | Allows for one-project-object-for-a-tree type systems. |
| 1491 | Optional @var{FILE} is the file to test. It is ignored in preference | 1491 | Optional @var{FILE} is the file to test. It is ignored in preference |
| 1492 | of the anchor file for the project. | 1492 | of the anchor file for the project. |
| @@ -2516,7 +2516,7 @@ In sources for @var{THIS}, change version numbers to @var{VERSION}. | |||
| 2516 | @end deffn | 2516 | @end deffn |
| 2517 | 2517 | ||
| 2518 | @deffn Method project-delete-target :AFTER ot | 2518 | @deffn Method project-delete-target :AFTER ot |
| 2519 | Delete the current target @var{OT} from it's parent project. | 2519 | Delete the current target @var{OT} from its parent project. |
| 2520 | @end deffn | 2520 | @end deffn |
| 2521 | 2521 | ||
| 2522 | @deffn Method ede-target-sourcecode :AFTER this | 2522 | @deffn Method ede-target-sourcecode :AFTER this |
| @@ -2715,7 +2715,7 @@ Converts all symbols into the objects to be used. | |||
| 2715 | @end deffn | 2715 | @end deffn |
| 2716 | 2716 | ||
| 2717 | @deffn Method project-delete-target :AFTER this | 2717 | @deffn Method project-delete-target :AFTER this |
| 2718 | Delete the current target @var{THIS} from it's parent project. | 2718 | Delete the current target @var{THIS} from its parent project. |
| 2719 | @end deffn | 2719 | @end deffn |
| 2720 | 2720 | ||
| 2721 | @deffn Method ede-proj-makefile-target-name :AFTER this | 2721 | @deffn Method ede-proj-makefile-target-name :AFTER this |
| @@ -4013,7 +4013,7 @@ Type: @code{list} | |||
| 4013 | 4013 | ||
| 4014 | The commands used to execute this compiler. | 4014 | The commands used to execute this compiler. |
| 4015 | The object which uses this compiler will place these commands after | 4015 | The object which uses this compiler will place these commands after |
| 4016 | it's rule definition. | 4016 | its rule definition. |
| 4017 | 4017 | ||
| 4018 | @item :autoconf | 4018 | @item :autoconf |
| 4019 | Type: @code{list} @* | 4019 | Type: @code{list} @* |
| @@ -4125,7 +4125,7 @@ Type: @code{list} | |||
| 4125 | 4125 | ||
| 4126 | The commands used to execute this compiler. | 4126 | The commands used to execute this compiler. |
| 4127 | The object which uses this compiler will place these commands after | 4127 | The object which uses this compiler will place these commands after |
| 4128 | it's rule definition. | 4128 | its rule definition. |
| 4129 | 4129 | ||
| 4130 | @item :objectextention | 4130 | @item :objectextention |
| 4131 | Type: @code{string} | 4131 | Type: @code{string} |
| @@ -4265,7 +4265,7 @@ Type: @code{list} | |||
| 4265 | 4265 | ||
| 4266 | The commands used to execute this compiler. | 4266 | The commands used to execute this compiler. |
| 4267 | The object which uses this compiler will place these commands after | 4267 | The object which uses this compiler will place these commands after |
| 4268 | it's rule definition. | 4268 | its rule definition. |
| 4269 | 4269 | ||
| 4270 | @item :objectextention | 4270 | @item :objectextention |
| 4271 | Type: @code{string} | 4271 | Type: @code{string} |
diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi index e8ec5020df2..075f5218414 100644 --- a/doc/misc/gnus-faq.texi +++ b/doc/misc/gnus-faq.texi | |||
| @@ -284,7 +284,7 @@ what's this? | |||
| 284 | @subsubheading Answer | 284 | @subsubheading Answer |
| 285 | 285 | ||
| 286 | You get the message described in the q/a pair above while | 286 | You get the message described in the q/a pair above while |
| 287 | starting Gnus, right? It's an other symptom for the same | 287 | starting Gnus, right? It's another symptom for the same |
| 288 | problem, so read the answer above. | 288 | problem, so read the answer above. |
| 289 | 289 | ||
| 290 | @node FAQ 2-3 | 290 | @node FAQ 2-3 |
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 272c8356c20..b9c91a02a3a 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi | |||
| @@ -9416,7 +9416,7 @@ function must return @code{mid}, @code{mail}, @code{invalid} or | |||
| 9416 | @item gnus-button-mid-or-mail-heuristic | 9416 | @item gnus-button-mid-or-mail-heuristic |
| 9417 | @findex gnus-button-mid-or-mail-heuristic | 9417 | @findex gnus-button-mid-or-mail-heuristic |
| 9418 | Function that guesses whether its argument is a message ID or a mail | 9418 | Function that guesses whether its argument is a message ID or a mail |
| 9419 | address. Returns @code{mid} if it's a message IDs, @code{mail} if | 9419 | address. Returns @code{mid} if it's a message ID, @code{mail} if |
| 9420 | it's a mail address, @code{ask} if unsure and @code{invalid} if the | 9420 | it's a mail address, @code{ask} if unsure and @code{invalid} if the |
| 9421 | string is invalid. | 9421 | string is invalid. |
| 9422 | 9422 | ||
diff --git a/lisp/autorevert.el b/lisp/autorevert.el index 150693baf13..bc7c616ecb7 100644 --- a/lisp/autorevert.el +++ b/lisp/autorevert.el | |||
| @@ -816,7 +816,7 @@ the timer when no buffers need to be checked." | |||
| 816 | (when (and (not global-auto-revert-mode) | 816 | (when (and (not global-auto-revert-mode) |
| 817 | (null auto-revert-buffer-list)) | 817 | (null auto-revert-buffer-list)) |
| 818 | (if (timerp auto-revert-timer) | 818 | (if (timerp auto-revert-timer) |
| 819 | (cancel-timer auto-revert-timer)) | 819 | (cancel-timer auto-revert-timer)) |
| 820 | (setq auto-revert-timer nil))))) | 820 | (setq auto-revert-timer nil))))) |
| 821 | 821 | ||
| 822 | 822 | ||
diff --git a/lisp/frame.el b/lisp/frame.el index cdb2ac4af11..dd1d5b030f5 100644 --- a/lisp/frame.el +++ b/lisp/frame.el | |||
| @@ -736,7 +736,9 @@ If DISPLAY is nil, that stands for the selected frame's display." | |||
| 736 | (defun make-frame-command () | 736 | (defun make-frame-command () |
| 737 | "Make a new frame, on the same terminal as the selected frame. | 737 | "Make a new frame, on the same terminal as the selected frame. |
| 738 | If the terminal is a text-only terminal, this also selects the | 738 | If the terminal is a text-only terminal, this also selects the |
| 739 | new frame." | 739 | new frame. |
| 740 | |||
| 741 | When called from Lisp, returns the new frame." | ||
| 740 | (interactive) | 742 | (interactive) |
| 741 | (if (display-graphic-p) | 743 | (if (display-graphic-p) |
| 742 | (make-frame) | 744 | (make-frame) |
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index baf44cb4830..baa8a244c07 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -7473,7 +7473,7 @@ must return `mid', `mail', `invalid' or `ask'." | |||
| 7473 | (2.0 . "^[A-Z][a-z][A-Z][a-z][a-z][^a-z]")) ;; ^[A-Z][a-z]{4,4} | 7473 | (2.0 . "^[A-Z][a-z][A-Z][a-z][a-z][^a-z]")) ;; ^[A-Z][a-z]{4,4} |
| 7474 | "An alist of (RATE . REGEXP) pairs for `gnus-button-mid-or-mail-heuristic'. | 7474 | "An alist of (RATE . REGEXP) pairs for `gnus-button-mid-or-mail-heuristic'. |
| 7475 | 7475 | ||
| 7476 | A negative RATE indicates a message IDs, whereas a positive indicates a mail | 7476 | A negative RATE indicates a message ID, whereas a positive indicates a mail |
| 7477 | address. The REGEXP is processed with `case-fold-search' set to nil." | 7477 | address. The REGEXP is processed with `case-fold-search' set to nil." |
| 7478 | :version "22.1" | 7478 | :version "22.1" |
| 7479 | :group 'gnus-article-buttons | 7479 | :group 'gnus-article-buttons |
| @@ -7482,7 +7482,7 @@ address. The REGEXP is processed with `case-fold-search' set to nil." | |||
| 7482 | 7482 | ||
| 7483 | (defun gnus-button-mid-or-mail-heuristic (mid-or-mail) | 7483 | (defun gnus-button-mid-or-mail-heuristic (mid-or-mail) |
| 7484 | "Guess whether MID-OR-MAIL is a message ID or a mail address. | 7484 | "Guess whether MID-OR-MAIL is a message ID or a mail address. |
| 7485 | Returns `mid' if MID-OR-MAIL is a message IDs, `mail' if it's a mail | 7485 | Returns `mid' if MID-OR-MAIL is a message ID, `mail' if it's a mail |
| 7486 | address, `ask' if unsure and `invalid' if the string is invalid." | 7486 | address, `ask' if unsure and `invalid' if the string is invalid." |
| 7487 | (let ((case-fold-search nil) | 7487 | (let ((case-fold-search nil) |
| 7488 | (list gnus-button-mid-or-mail-heuristic-alist) | 7488 | (list gnus-button-mid-or-mail-heuristic-alist) |
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index d490f0ca74c..c491f16dd86 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -1732,7 +1732,7 @@ no, only reply back to the author." | |||
| 1732 | :type 'boolean) | 1732 | :type 'boolean) |
| 1733 | 1733 | ||
| 1734 | (defcustom message-user-fqdn nil | 1734 | (defcustom message-user-fqdn nil |
| 1735 | "Domain part of Message-Ids." | 1735 | "Domain part of Message-IDs." |
| 1736 | :version "22.1" | 1736 | :version "22.1" |
| 1737 | :group 'message-headers | 1737 | :group 'message-headers |
| 1738 | :link '(custom-manual "(message)News Headers") | 1738 | :link '(custom-manual "(message)News Headers") |
diff --git a/lisp/international/mule.el b/lisp/international/mule.el index 5393958013b..281e5297d63 100644 --- a/lisp/international/mule.el +++ b/lisp/international/mule.el | |||
| @@ -1852,9 +1852,12 @@ or nil." | |||
| 1852 | 1852 | ||
| 1853 | Each function in this list should be written to operate on the | 1853 | Each function in this list should be written to operate on the |
| 1854 | current buffer, but should not modify it in any way. The buffer | 1854 | current buffer, but should not modify it in any way. The buffer |
| 1855 | will contain undecoded text of parts of the file. Each function | 1855 | will contain the text of parts of the file. Each function |
| 1856 | should take one argument, SIZE, which says how many characters | 1856 | should take one argument, SIZE, which says how many characters |
| 1857 | \(starting from point) it should look at. | 1857 | \(starting from point) it should look at. The function might be |
| 1858 | called both when the file is visited and Emacs wants to decode | ||
| 1859 | its contents, and when the file's buffer is about to be saved | ||
| 1860 | and Emacs wants to determine how to encode its contents. | ||
| 1858 | 1861 | ||
| 1859 | If one of these functions succeeds in determining a coding | 1862 | If one of these functions succeeds in determining a coding |
| 1860 | system, it should return that coding system. Otherwise, it | 1863 | system, it should return that coding system. Otherwise, it |
| @@ -2501,10 +2504,17 @@ This function is intended to be added to `auto-coding-functions'." | |||
| 2501 | (let ((sym-type (coding-system-type sym)) | 2504 | (let ((sym-type (coding-system-type sym)) |
| 2502 | (bfcs-type | 2505 | (bfcs-type |
| 2503 | (coding-system-type buffer-file-coding-system))) | 2506 | (coding-system-type buffer-file-coding-system))) |
| 2504 | ;; 'charset' will signal an error in | 2507 | ;; If the buffer is unibyte, its encoding is |
| 2505 | ;; coding-system-equal, since it isn't a | 2508 | ;; immaterial (it is just the default value of |
| 2506 | ;; coding-system. So test that up front. | 2509 | ;; buffer-file-coding-system), so we ignore it. |
| 2507 | (if (and (not (equal sym-type 'charset)) | 2510 | ;; This situation happens when this function is |
| 2511 | ;; called as part of visiting a file, as opposed | ||
| 2512 | ;; to when saving a buffer to a file. | ||
| 2513 | (if (and enable-multibyte-characters | ||
| 2514 | ;; 'charset' will signal an error in | ||
| 2515 | ;; coding-system-equal, since it isn't a | ||
| 2516 | ;; coding-system. So test that up front. | ||
| 2517 | (not (equal sym-type 'charset)) | ||
| 2508 | (coding-system-equal 'utf-8 sym-type) | 2518 | (coding-system-equal 'utf-8 sym-type) |
| 2509 | (coding-system-equal 'utf-8 bfcs-type)) | 2519 | (coding-system-equal 'utf-8 bfcs-type)) |
| 2510 | buffer-file-coding-system | 2520 | buffer-file-coding-system |
| @@ -2556,7 +2566,8 @@ This function is intended to be added to `auto-coding-functions'." | |||
| 2556 | (let ((sym-type (coding-system-type sym)) | 2566 | (let ((sym-type (coding-system-type sym)) |
| 2557 | (bfcs-type | 2567 | (bfcs-type |
| 2558 | (coding-system-type buffer-file-coding-system))) | 2568 | (coding-system-type buffer-file-coding-system))) |
| 2559 | (if (and (coding-system-equal 'utf-8 sym-type) | 2569 | (if (and enable-multibyte-characters |
| 2570 | (coding-system-equal 'utf-8 sym-type) | ||
| 2560 | (coding-system-equal 'utf-8 bfcs-type)) | 2571 | (coding-system-equal 'utf-8 bfcs-type)) |
| 2561 | buffer-file-coding-system | 2572 | buffer-file-coding-system |
| 2562 | sym)) | 2573 | sym)) |
diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el index 75e2deaa4ce..716f40c1f3a 100644 --- a/lisp/progmodes/gdb-mi.el +++ b/lisp/progmodes/gdb-mi.el | |||
| @@ -1843,7 +1843,7 @@ commands to be prefixed by \"-interpreter-exec console\".") | |||
| 1843 | ;; Python and Guile commands that have an argument don't enter the | 1843 | ;; Python and Guile commands that have an argument don't enter the |
| 1844 | ;; recursive reading loop. | 1844 | ;; recursive reading loop. |
| 1845 | (let* ((control-command-p (string-match gdb-control-commands-regexp string)) | 1845 | (let* ((control-command-p (string-match gdb-control-commands-regexp string)) |
| 1846 | (command-arg (match-string 3 string)) | 1846 | (command-arg (and control-command-p (match-string 3 string))) |
| 1847 | (python-or-guile-p (string-match gdb-python-guile-commands-regexp | 1847 | (python-or-guile-p (string-match gdb-python-guile-commands-regexp |
| 1848 | string))) | 1848 | string))) |
| 1849 | (if (and control-command-p | 1849 | (if (and control-command-p |
diff --git a/lisp/window.el b/lisp/window.el index 39f4fa139bb..a8b65657a49 100644 --- a/lisp/window.el +++ b/lisp/window.el | |||
| @@ -4697,6 +4697,8 @@ displayed there." | |||
| 4697 | BUFFER-OR-NAME may be a buffer or the name of an existing buffer | 4697 | BUFFER-OR-NAME may be a buffer or the name of an existing buffer |
| 4698 | and defaults to the current buffer. | 4698 | and defaults to the current buffer. |
| 4699 | 4699 | ||
| 4700 | Interactively, prompt for the buffer. | ||
| 4701 | |||
| 4700 | The following non-nil values of the optional argument FRAME | 4702 | The following non-nil values of the optional argument FRAME |
| 4701 | have special meanings: | 4703 | have special meanings: |
| 4702 | 4704 | ||
| @@ -4713,9 +4715,25 @@ have special meanings: | |||
| 4713 | Any other value of FRAME means consider all windows on all | 4715 | Any other value of FRAME means consider all windows on all |
| 4714 | frames. | 4716 | frames. |
| 4715 | 4717 | ||
| 4716 | When a window showing BUFFER-OR-NAME is dedicated and the only | 4718 | Interactively, FRAME is the prefix argument, so you can |
| 4717 | window of its frame, that frame is deleted when there are other | 4719 | use \\[universal-argument] 0 to specify all windows only on |
| 4718 | frames left." | 4720 | the current terminal's frames. |
| 4721 | |||
| 4722 | If a frame's root window shows the buffer specified by | ||
| 4723 | BUFFER-OR-NAME and is dedicated to that buffer and that frame | ||
| 4724 | does not host the active minibuffer window and there is at least | ||
| 4725 | one other frame on that frame's terminal, delete that frame. | ||
| 4726 | Otherwise, do not delete a frame's root window if it shows the | ||
| 4727 | buffer specified by BUFFER-OR-NAME and do not delete any frame's | ||
| 4728 | main window showing that buffer either. Rather, in any such | ||
| 4729 | case, call `switch-to-prev-buffer' to show another buffer in that | ||
| 4730 | window and make sure the window is no more dedicated to its | ||
| 4731 | buffer. | ||
| 4732 | |||
| 4733 | If the buffer specified by BUFFER-OR-NAME is shown in a | ||
| 4734 | minibuffer window, do nothing for that window. For any window | ||
| 4735 | that does not show that buffer, remove the buffer from that | ||
| 4736 | window's lists of previous and next buffers." | ||
| 4719 | (interactive "bDelete windows on (buffer):\nP") | 4737 | (interactive "bDelete windows on (buffer):\nP") |
| 4720 | (let ((buffer (window-normalize-buffer buffer-or-name)) | 4738 | (let ((buffer (window-normalize-buffer buffer-or-name)) |
| 4721 | ;; Handle the "inverted" meaning of the FRAME argument wrt other | 4739 | ;; Handle the "inverted" meaning of the FRAME argument wrt other |
diff --git a/src/buffer.c b/src/buffer.c index 44b33f5b60d..5fabbc253c8 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -6256,9 +6256,11 @@ The function `kill-all-local-variables' runs this before doing anything else. * | |||
| 6256 | 6256 | ||
| 6257 | DEFVAR_LISP ("buffer-list-update-hook", Vbuffer_list_update_hook, | 6257 | DEFVAR_LISP ("buffer-list-update-hook", Vbuffer_list_update_hook, |
| 6258 | doc: /* Hook run when the buffer list changes. | 6258 | doc: /* Hook run when the buffer list changes. |
| 6259 | Functions running this hook are, `get-buffer-create', | 6259 | Functions (implicitly) running this hook are `get-buffer-create', |
| 6260 | `make-indirect-buffer', `rename-buffer', `kill-buffer', | 6260 | `make-indirect-buffer', `rename-buffer', `kill-buffer', `bury-buffer' |
| 6261 | `bury-buffer-internal' and `select-window'. */); | 6261 | and `select-window'. Functions run by this hook should avoid calling |
| 6262 | `select-window' with a nil NORECORD argument or `with-temp-buffer' | ||
| 6263 | since either may lead to infinite recursion. */); | ||
| 6262 | Vbuffer_list_update_hook = Qnil; | 6264 | Vbuffer_list_update_hook = Qnil; |
| 6263 | DEFSYM (Qbuffer_list_update_hook, "buffer-list-update-hook"); | 6265 | DEFSYM (Qbuffer_list_update_hook, "buffer-list-update-hook"); |
| 6264 | 6266 | ||