aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2011-11-01 23:13:15 -0700
committerPaul Eggert2011-11-01 23:13:15 -0700
commit3616c8b26bfaf024d803371b85bee571cd6f061f (patch)
treebd7b5e6e3560b0496c144b13b44c1917cb9de8dc
parent5b0d046d5b6a6743be6888d02352b878151e1d6c (diff)
parentdb22a3c27b078148c26a9f50afca5454a68d37d1 (diff)
downloademacs-3616c8b26bfaf024d803371b85bee571cd6f061f.tar.gz
emacs-3616c8b26bfaf024d803371b85bee571cd6f061f.zip
Merge from trunk.
-rw-r--r--doc/misc/ChangeLog9
-rw-r--r--doc/misc/gnus.texi18
-rw-r--r--lisp/ChangeLog24
-rw-r--r--lisp/gnus/ChangeLog16
-rw-r--r--lisp/gnus/gnus-registry.el2
-rw-r--r--lisp/gnus/gnus-util.el3
-rw-r--r--lisp/gnus/nnir.el5
-rw-r--r--lisp/gnus/nnmairix.el5
-rw-r--r--lisp/gnus/nnregistry.el3
-rw-r--r--lisp/help.el5
-rw-r--r--lisp/vc/vc-bzr.el4
-rw-r--r--lisp/vc/vc-dir.el4
-rw-r--r--src/ChangeLog16
-rw-r--r--src/window.c15
-rw-r--r--src/xdisp.c50
15 files changed, 89 insertions, 90 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 10a0d5e7a91..029406e2d30 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,7 @@
12011-10-31 Katsumi Yamaoka <yamaoka@jpl.org>
2
3 * gnus.texi (Other Gnus Versions): Remove.
4
12011-10-28 Alan Mackenzie <acm@muc.de> 52011-10-28 Alan Mackenzie <acm@muc.de>
2 6
3 * cc-mode.texi (Indentation Commands): Mention "macros with semicolons". 7 * cc-mode.texi (Indentation Commands): Mention "macros with semicolons".
@@ -6,9 +10,8 @@
6 "Macros with ;". 10 "Macros with ;".
7 (Macros with ;): New page. 11 (Macros with ;): New page.
8 12
9 * progmodes/cc-mode.texi (Movement Commands): Document 13 * cc-mode.texi (Movement Commands): Document `c-defun-tactic'.
10 `c-defun-tactic'. Document the new handling of nested scopes for 14 Document the new handling of nested scopes for movement by defuns.
11 movement by defuns.
12 15
132011-10-23 Michael Albinus <michael.albinus@gmx.de> 162011-10-23 Michael Albinus <michael.albinus@gmx.de>
14 17
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index ad1d45cca1a..70ed62ddfa9 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -891,7 +891,6 @@ Appendices
891History 891History
892 892
893* Gnus Versions:: What Gnus versions have been released. 893* Gnus Versions:: What Gnus versions have been released.
894* Other Gnus Versions:: Other Gnus versions that also have been released.
895* Why?:: What's the point of Gnus? 894* Why?:: What's the point of Gnus?
896* Compatibility:: Just how compatible is Gnus with @sc{gnus}? 895* Compatibility:: Just how compatible is Gnus with @sc{gnus}?
897* Conformity:: Gnus tries to conform to all standards. 896* Conformity:: Gnus tries to conform to all standards.
@@ -26382,7 +26381,6 @@ renamed it back again to ``Gnus''. But in mixed case. ``Gnus'' vs.
26382 26381
26383@menu 26382@menu
26384* Gnus Versions:: What Gnus versions have been released. 26383* Gnus Versions:: What Gnus versions have been released.
26385* Other Gnus Versions:: Other Gnus versions that also have been released.
26386* Why?:: What's the point of Gnus? 26384* Why?:: What's the point of Gnus?
26387* Compatibility:: Just how compatible is Gnus with @sc{gnus}? 26385* Compatibility:: Just how compatible is Gnus with @sc{gnus}?
26388* Conformity:: Gnus tries to conform to all standards. 26386* Conformity:: Gnus tries to conform to all standards.
@@ -26438,22 +26436,6 @@ you do, don't run. Walk away, calmly, until you're out of its reach.
26438Find a proper released version of Gnus and snuggle up to that instead. 26436Find a proper released version of Gnus and snuggle up to that instead.
26439 26437
26440 26438
26441@node Other Gnus Versions
26442@subsection Other Gnus Versions
26443@cindex Semi-gnus
26444
26445In addition to the versions of Gnus which have had their releases
26446coordinated by Lars, one major development has been Semi-gnus from
26447Japan. It's based on a library called @acronym{SEMI}, which provides
26448@acronym{MIME} capabilities.
26449
26450These Gnusae are based mainly on Gnus 5.6 and Pterodactyl Gnus.
26451Collectively, they are called ``Semi-gnus'', and different strains are
26452called T-gnus, ET-gnus, Nana-gnus and Chaos. These provide powerful
26453@acronym{MIME} and multilingualization things, especially important for
26454Japanese users.
26455
26456
26457@node Why? 26439@node Why?
26458@subsection Why? 26440@subsection Why?
26459 26441
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 97ae0232d55..4591b9b9281 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,14 @@
12011-11-02 Juanma Barranquero <lekktu@gmail.com>
2
3 * vc/vc-bzr.el (vc-bzr-state, vc-bzr-after-dir-status):
4 Accept status with more than 9 shelves. (Bug#9935)
5 Reported by Colin D Bennett <colin@gibibit.com>.
6
72011-11-01 Martin Rudalics <rudalics@gmx.at>
8
9 * help.el (with-help-window): Don't reference
10 temp-buffer-show-specifiers in doc-string.
11
12011-10-31 Andreas Schwab <schwab@linux-m68k.org> 122011-10-31 Andreas Schwab <schwab@linux-m68k.org>
2 13
3 * subr.el (keymap--menu-item-with-binding): Ignore item if not a 14 * subr.el (keymap--menu-item-with-binding): Ignore item if not a
@@ -14,8 +25,8 @@
14 * net/newst-treeview.el: Remove "Time-stamp". 25 * net/newst-treeview.el: Remove "Time-stamp".
15 (newsticker--group-manage-orphan-feeds): Do not call 26 (newsticker--group-manage-orphan-feeds): Do not call
16 newsticker--treeview-tree-update. 27 newsticker--treeview-tree-update.
17 (newsticker-treeview-update, newsticker-treeview): Call 28 (newsticker-treeview-update, newsticker-treeview):
18 newsticker--treeview-tree-update if necessary. 29 Call newsticker--treeview-tree-update if necessary.
19 30
202011-10-30 Martin Rudalics <rudalics@gmx.at> 312011-10-30 Martin Rudalics <rudalics@gmx.at>
21 32
@@ -28,8 +39,7 @@
28 (split-window, balance-windows-1) 39 (split-window, balance-windows-1)
29 (shrink-window-if-larger-than-buffer): 40 (shrink-window-if-larger-than-buffer):
30 * calendar/calendar.el (calendar-generate-window): 41 * calendar/calendar.el (calendar-generate-window):
31 * help.el (resize-temp-buffer-window): Adjust callers 42 * help.el (resize-temp-buffer-window): Adjust callers accordingly.
32 accordingly.
33 43
342011-10-30 Stefan Monnier <monnier@iro.umontreal.ca> 442011-10-30 Stefan Monnier <monnier@iro.umontreal.ca>
35 45
@@ -104,7 +114,7 @@
104 114
1052011-10-28 Alan Mackenzie <acm@muc.de> 1152011-10-28 Alan Mackenzie <acm@muc.de>
106 116
107 * progmodes/cc-defs.el (c-version). -> 5.32.2. 117 * progmodes/cc-defs.el (c-version): -> 5.32.2.
108 118
1092011-10-28 Alan Mackenzie <acm@muc.de> 1192011-10-28 Alan Mackenzie <acm@muc.de>
110 120
@@ -292,7 +302,7 @@
292 Fix bug #9560, sporadic wrong indentation; improve instrumentation 302 Fix bug #9560, sporadic wrong indentation; improve instrumentation
293 of c-parse-state. 303 of c-parse-state.
294 304
295 * cc-engine.el (c-append-lower-brace-pair-to-state-cache): 305 * progmodes/cc-engine.el (c-append-lower-brace-pair-to-state-cache):
296 correct faulty logical expression. 306 correct faulty logical expression.
297 (c-parse-state-state, c-record-parse-state-state): 307 (c-parse-state-state, c-record-parse-state-state):
298 (c-replay-parse-state-state): New defvar/defuns. 308 (c-replay-parse-state-state): New defvar/defuns.
@@ -334,7 +344,7 @@
334 344
3352011-10-20 Glenn Morris <rgm@gnu.org> 3452011-10-20 Glenn Morris <rgm@gnu.org>
336 346
337 * vc/vc.el (vc-next-action): Handle removed directories. (Bug#9781) 347 * vc/vc.el (vc-next-action): Handle removed directories. (Bug#9781)
338 348
3392011-10-20 Christoph Scholtes <cschol2112@googlemail.com> 3492011-10-20 Christoph Scholtes <cschol2112@googlemail.com>
340 350
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 7519252f037..a208ccefd4c 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,17 @@
12011-10-31 Teodor Zlatanov <tzz@lifelogs.com>
2
3 * gnus-util.el (gnus-bound-and-true-dumber-p): Define new, slower, dumb
4 function because `gnus-bound-and-true-p' doesn't work well in XEmacs
5 for reasons unknown.
6 * nnir.el: Use it.
7 * nnmairix.el: Use it.
8
9 * nnregistry.el: Remove unnecessary `gnus-registry-enabled' defvar.
10 * nnir.el: Ditto.
11 * nnmairix.el: Ditto.
12
13 * gnus-registry.el (gnus-registry-enabled): Default to nil.
14
12011-10-26 Stefan Monnier <monnier@iro.umontreal.ca> 152011-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
2 16
3 * message.el (message-completion-function): Make sure 17 * message.el (message-completion-function): Make sure
@@ -25,7 +39,7 @@
25 * nnir.el (gnus-registry-enabled): Defvar to keep the compiler happy. 39 * nnir.el (gnus-registry-enabled): Defvar to keep the compiler happy.
26 * nnmairix.el (gnus-registry-enabled): Ditto. 40 * nnmairix.el (gnus-registry-enabled): Ditto.
27 41
282011-10-17 Dave Abrahams <dave@boostpro.com> 422011-10-17 Dave Abrahams <dave@boostpro.com> (tiny change)
29 43
30 * gnus-registry.el (gnus-registry-enabled): Add new variable. (Bug#9691) 44 * gnus-registry.el (gnus-registry-enabled): Add new variable. (Bug#9691)
31 (gnus-registry-install-shortcuts): Set `gnus-registry-install' to 'ask 45 (gnus-registry-install-shortcuts): Set `gnus-registry-install' to 'ask
diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el
index 652e816e56a..d25b8b1d24b 100644
--- a/lisp/gnus/gnus-registry.el
+++ b/lisp/gnus/gnus-registry.el
@@ -164,7 +164,7 @@ nnmairix groups are specifically excluded because they are ephemeral."
164 (const :tag "Always Install" t) 164 (const :tag "Always Install" t)
165 (const :tag "Ask Me" ask))) 165 (const :tag "Ask Me" ask)))
166 166
167(defvar gnus-registry-enabled) 167(defvar gnus-registry-enabled nil)
168 168
169(defvar gnus-summary-misc-menu) ;; Avoid byte compiler warning. 169(defvar gnus-summary-misc-menu) ;; Avoid byte compiler warning.
170 170
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el
index 9c5e6e8312b..71ed50591ad 100644
--- a/lisp/gnus/gnus-util.el
+++ b/lisp/gnus/gnus-util.el
@@ -1994,6 +1994,9 @@ definitions to shadow the loaded ones for use in file byte-compilation."
1994 "Return the value of symbol VAR if it is bound, else nil." 1994 "Return the value of symbol VAR if it is bound, else nil."
1995 `(and (boundp (quote ,var)) ,var)))) 1995 `(and (boundp (quote ,var)) ,var))))
1996 1996
1997(defun gnus-bound-and-true-dumber-p (sym)
1998 (and (boundp sym) (symbol-value sym)))
1999
1997(provide 'gnus-util) 2000(provide 'gnus-util)
1998 2001
1999;;; gnus-util.el ends here 2002;;; gnus-util.el ends here
diff --git a/lisp/gnus/nnir.el b/lisp/gnus/nnir.el
index 2d3c05864e8..7087f8dba96 100644
--- a/lisp/gnus/nnir.el
+++ b/lisp/gnus/nnir.el
@@ -292,9 +292,6 @@ is `(valuefunc member)'."
292 (autoload 'nnimap-make-thread-query "nnimap") 292 (autoload 'nnimap-make-thread-query "nnimap")
293 (autoload 'gnus-registry-action "gnus-registry")) 293 (autoload 'gnus-registry-action "gnus-registry"))
294 294
295;; Suppress byte-compiler warning `reference to free variable'
296(defvar gnus-registry-enabled)
297
298(nnoo-declare nnir) 295(nnoo-declare nnir)
299(nnoo-define-basics nnir) 296(nnoo-define-basics nnir)
300 297
@@ -1742,7 +1739,7 @@ environment unless `not-global' is non-nil."
1742 (when (eq (car (gnus-find-method-for-group gnus-newsgroup-name)) 'nnir) 1739 (when (eq (car (gnus-find-method-for-group gnus-newsgroup-name)) 'nnir)
1743 (setq gnus-summary-line-format 1740 (setq gnus-summary-line-format
1744 (or nnir-summary-line-format gnus-summary-line-format)) 1741 (or nnir-summary-line-format gnus-summary-line-format))
1745 (when (gnus-bound-and-true-p gnus-registry-enabled) 1742 (when (gnus-bound-and-true-dumber-p 'gnus-registry-enabled)
1746 (remove-hook 'gnus-summary-article-delete-hook 'gnus-registry-action t) 1743 (remove-hook 'gnus-summary-article-delete-hook 'gnus-registry-action t)
1747 (remove-hook 'gnus-summary-article-move-hook 'gnus-registry-action t) 1744 (remove-hook 'gnus-summary-article-move-hook 'gnus-registry-action t)
1748 (remove-hook 'gnus-summary-article-expire-hook 'gnus-registry-action t) 1745 (remove-hook 'gnus-summary-article-expire-hook 'gnus-registry-action t)
diff --git a/lisp/gnus/nnmairix.el b/lisp/gnus/nnmairix.el
index 1bf28c5d32f..0e58af73666 100644
--- a/lisp/gnus/nnmairix.el
+++ b/lisp/gnus/nnmairix.el
@@ -605,9 +605,6 @@ Other back ends might or might not work.")
605;; Silence byte-compiler. 605;; Silence byte-compiler.
606(autoload 'gnus-registry-get-id-key "gnus-registry") 606(autoload 'gnus-registry-get-id-key "gnus-registry")
607 607
608;; Suppress byte-compiler warning `reference to free variable'
609(defvar gnus-registry-enabled)
610
611(deffoo nnmairix-request-set-mark (group actions &optional server) 608(deffoo nnmairix-request-set-mark (group actions &optional server)
612 (when server 609 (when server
613 (nnmairix-open-server server)) 610 (nnmairix-open-server server))
@@ -1638,7 +1635,7 @@ search in raw mode."
1638 1635
1639(defun nnmairix-determine-original-group-from-registry (mid) 1636(defun nnmairix-determine-original-group-from-registry (mid)
1640 "Try to determinale original group for message-id MID from the registry." 1637 "Try to determinale original group for message-id MID from the registry."
1641 (when (gnus-bound-and-true-p gnus-registry-enabled) 1638 (when (gnus-bound-and-true-dumber-p 'gnus-registry-enabled)
1642 (unless (string-match "^<" mid) 1639 (unless (string-match "^<" mid)
1643 (set mid (concat "<" mid))) 1640 (set mid (concat "<" mid)))
1644 (unless (string-match ">$" mid) 1641 (unless (string-match ">$" mid)
diff --git a/lisp/gnus/nnregistry.el b/lisp/gnus/nnregistry.el
index 75a640a428a..2001f8f2366 100644
--- a/lisp/gnus/nnregistry.el
+++ b/lisp/gnus/nnregistry.el
@@ -36,9 +36,6 @@
36 36
37(nnoo-declare nnregistry) 37(nnoo-declare nnregistry)
38 38
39;; Suppress byte-compiler warning `reference to free variable'
40(defvar gnus-registry-enabled)
41
42(deffoo nnregistry-server-opened (server) 39(deffoo nnregistry-server-opened (server)
43 gnus-registry-enabled) 40 gnus-registry-enabled)
44 41
diff --git a/lisp/help.el b/lisp/help.el
index bc3d863f357..506889c210e 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -1125,10 +1125,7 @@ HELP-WINDOW is the window used for displaying the help buffer."
1125(defmacro with-help-window (buffer-name &rest body) 1125(defmacro with-help-window (buffer-name &rest body)
1126 "Display buffer with name BUFFER-NAME in a help window evaluating BODY. 1126 "Display buffer with name BUFFER-NAME in a help window evaluating BODY.
1127Select help window if the actual value of the user option 1127Select help window if the actual value of the user option
1128`help-window-select' says so. Return last value in BODY. 1128`help-window-select' says so. Return last value in BODY."
1129
1130You can specify where and how to show the buffer by binding the
1131variable `temp-buffer-show-specifiers' to an appropriate value."
1132 (declare (indent 1) (debug t)) 1129 (declare (indent 1) (debug t))
1133 `(progn 1130 `(progn
1134 ;; Make `help-window-point-marker' point nowhere. The only place 1131 ;; Make `help-window-point-marker' point nowhere. The only place
diff --git a/lisp/vc/vc-bzr.el b/lisp/vc/vc-bzr.el
index cc28db689e9..f6b6a56f31c 100644
--- a/lisp/vc/vc-bzr.el
+++ b/lisp/vc/vc-bzr.el
@@ -444,7 +444,7 @@ If any error occurred in running `bzr status', then return nil."
444 (let ((warnings (cdr result))) 444 (let ((warnings (cdr result)))
445 (when warnings 445 (when warnings
446 ;; bzr 2.3.0 returns info about shelves, which is not really a warning 446 ;; bzr 2.3.0 returns info about shelves, which is not really a warning
447 (when (string-match "[1-9]+ shel\\(f\\|ves\\) exists?\\..*?\n" warnings) 447 (when (string-match "[0-9]+ shel\\(f\\|ves\\) exists?\\..*?\n" warnings)
448 (setq warnings (replace-match "" nil nil warnings))) 448 (setq warnings (replace-match "" nil nil warnings)))
449 (unless (string= warnings "") 449 (unless (string= warnings "")
450 (message "Warnings in `bzr' output: %s" warnings)))) 450 (message "Warnings in `bzr' output: %s" warnings))))
@@ -891,7 +891,7 @@ stream. Standard error output is discarded."
891 (goto-char (point-min)) 891 (goto-char (point-min))
892 (while (not (eobp)) 892 (while (not (eobp))
893 ;; Bzr 2.3.0 added this if there are shelves. (Bug#8170) 893 ;; Bzr 2.3.0 added this if there are shelves. (Bug#8170)
894 (unless (looking-at "[1-9]+ shel\\(f\\|ves\\) exists?\\.") 894 (unless (looking-at "[0-9]+ shel\\(f\\|ves\\) exists?\\.")
895 (setq status-str 895 (setq status-str
896 (buffer-substring-no-properties (point) (+ (point) 3))) 896 (buffer-substring-no-properties (point) (+ (point) 3)))
897 (setq translated (cdr (assoc status-str translation))) 897 (setq translated (cdr (assoc status-str translation)))
diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el
index ed16ee9f6f8..82eb8783a74 100644
--- a/lisp/vc/vc-dir.el
+++ b/lisp/vc/vc-dir.el
@@ -992,8 +992,8 @@ specific headers."
992 (let ((def-dir default-directory) 992 (let ((def-dir default-directory)
993 (backend vc-dir-backend)) 993 (backend vc-dir-backend))
994 (vc-set-mode-line-busy-indicator) 994 (vc-set-mode-line-busy-indicator)
995 ;; Call the `dir-status-file' backend function. 995 ;; Call the `dir-status-files' backend function.
996 ;; `dir-status-file' is supposed to be asynchronous. 996 ;; `dir-status-files' is supposed to be asynchronous.
997 ;; It should compute the results, and then call the function 997 ;; It should compute the results, and then call the function
998 ;; passed as an argument in order to update the vc-dir buffer 998 ;; passed as an argument in order to update the vc-dir buffer
999 ;; with the results. 999 ;; with the results.
diff --git a/src/ChangeLog b/src/ChangeLog
index 0b4da8f5e40..eb71bfc62ed 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,4 +1,4 @@
12011-10-29 Paul Eggert <eggert@cs.ucla.edu> 12011-11-02 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 Fix integer width and related bugs (Bug#9874). 3 Fix integer width and related bugs (Bug#9874).
4 * alloc.c (pure_bytes_used_lisp, pure_bytes_used_non_lisp): 4 * alloc.c (pure_bytes_used_lisp, pure_bytes_used_non_lisp):
@@ -786,6 +786,20 @@
786 rather than rolling our own approximation. 786 rather than rolling our own approximation.
787 (SCROLL_BAR_VEC_SIZE): Remove; not used. 787 (SCROLL_BAR_VEC_SIZE): Remove; not used.
788 788
7892011-11-01 Eli Zaretskii <eliz@gnu.org>
790
791 * xdisp.c (mouse_face_from_buffer_pos): Fix a typo in a comment.
792 Don't stop backward scan on the continuation glyph, even though
793 its CHARPOS is positive.
794 (mouse_face_from_buffer_pos, note_mouse_highlight): Rename
795 cover_string to disp_string.
796
7972011-11-01 Martin Rudalics <rudalics@gmx.at>
798
799 * window.c (temp_output_buffer_show): Don't use
800 Vtemp_buffer_show_specifiers.
801 (Vtemp_buffer_show_specifiers): Remove unused variable.
802
7892011-10-30 Eli Zaretskii <eliz@gnu.org> 8032011-10-30 Eli Zaretskii <eliz@gnu.org>
790 804
791 * xdisp.c (try_cursor_movement): Make sure ROW isn't decremented 805 * xdisp.c (try_cursor_movement): Make sure ROW isn't decremented
diff --git a/src/window.c b/src/window.c
index d9ef9d090ae..5ed7db2c916 100644
--- a/src/window.c
+++ b/src/window.c
@@ -3186,10 +3186,7 @@ temp_output_buffer_show (register Lisp_Object buf)
3186 call1 (Vtemp_buffer_show_function, buf); 3186 call1 (Vtemp_buffer_show_function, buf);
3187 else 3187 else
3188 { 3188 {
3189 window = display_buffer (buf, Vtemp_buffer_show_specifiers, Qnil); 3189 window = display_buffer (buf, Qnil, Qnil);
3190 /* Reset Vtemp_buffer_show_specifiers immediately so it won't
3191 affect subsequent calls. */
3192 Vtemp_buffer_show_specifiers = Qnil;
3193 3190
3194 if (!EQ (XWINDOW (window)->frame, selected_frame)) 3191 if (!EQ (XWINDOW (window)->frame, selected_frame))
3195 Fmake_frame_visible (WINDOW_FRAME (XWINDOW (window))); 3192 Fmake_frame_visible (WINDOW_FRAME (XWINDOW (window)));
@@ -6462,16 +6459,6 @@ If this function is used, then it must do the entire job of showing
6462the buffer; `temp-buffer-show-hook' is not run unless this function runs it. */); 6459the buffer; `temp-buffer-show-hook' is not run unless this function runs it. */);
6463 Vtemp_buffer_show_function = Qnil; 6460 Vtemp_buffer_show_function = Qnil;
6464 6461
6465 DEFVAR_LISP ("temp-buffer-show-specifiers", Vtemp_buffer_show_specifiers,
6466 doc: /* Buffer display specifiers used by `with-output-to-temp-buffer'.
6467These specifiers are passed by `with-output-to-temp-buffer' as second
6468argument to `display-buffer'. Applications should only let-bind this
6469around a call to `with-output-to-temp-buffer'.
6470
6471For a description of buffer display specifiers see the variable
6472`display-buffer-alist'. */);
6473 Vtemp_buffer_show_specifiers = Qnil;
6474
6475 DEFVAR_LISP ("minibuffer-scroll-window", Vminibuf_scroll_window, 6462 DEFVAR_LISP ("minibuffer-scroll-window", Vminibuf_scroll_window,
6476 doc: /* Non-nil means it is the window that C-M-v in minibuffer should scroll. */); 6463 doc: /* Non-nil means it is the window that C-M-v in minibuffer should scroll. */);
6477 Vminibuf_scroll_window = Qnil; 6464 Vminibuf_scroll_window = Qnil;
diff --git a/src/xdisp.c b/src/xdisp.c
index a177a8aca87..698f217f240 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -25813,7 +25813,7 @@ rows_from_pos_range (struct window *w,
25813 for the overlay or run of text properties specifying the mouse 25813 for the overlay or run of text properties specifying the mouse
25814 face. BEFORE_STRING and AFTER_STRING, if non-nil, are a 25814 face. BEFORE_STRING and AFTER_STRING, if non-nil, are a
25815 before-string and after-string that must also be highlighted. 25815 before-string and after-string that must also be highlighted.
25816 COVER_STRING, if non-nil, is a display string that may cover some 25816 DISP_STRING, if non-nil, is a display string that may cover some
25817 or all of the highlighted text. */ 25817 or all of the highlighted text. */
25818 25818
25819static void 25819static void
@@ -25824,7 +25824,7 @@ mouse_face_from_buffer_pos (Lisp_Object window,
25824 ptrdiff_t end_charpos, 25824 ptrdiff_t end_charpos,
25825 Lisp_Object before_string, 25825 Lisp_Object before_string,
25826 Lisp_Object after_string, 25826 Lisp_Object after_string,
25827 Lisp_Object cover_string) 25827 Lisp_Object disp_string)
25828{ 25828{
25829 struct window *w = XWINDOW (window); 25829 struct window *w = XWINDOW (window);
25830 struct glyph_row *first = MATRIX_FIRST_TEXT_ROW (w->current_matrix); 25830 struct glyph_row *first = MATRIX_FIRST_TEXT_ROW (w->current_matrix);
@@ -25833,7 +25833,7 @@ mouse_face_from_buffer_pos (Lisp_Object window,
25833 ptrdiff_t ignore, pos; 25833 ptrdiff_t ignore, pos;
25834 int x; 25834 int x;
25835 25835
25836 xassert (NILP (cover_string) || STRINGP (cover_string)); 25836 xassert (NILP (disp_string) || STRINGP (disp_string));
25837 xassert (NILP (before_string) || STRINGP (before_string)); 25837 xassert (NILP (before_string) || STRINGP (before_string));
25838 xassert (NILP (after_string) || STRINGP (after_string)); 25838 xassert (NILP (after_string) || STRINGP (after_string));
25839 25839
@@ -25843,7 +25843,7 @@ mouse_face_from_buffer_pos (Lisp_Object window,
25843 r1 = MATRIX_ROW (w->current_matrix, XFASTINT (w->window_end_vpos)); 25843 r1 = MATRIX_ROW (w->current_matrix, XFASTINT (w->window_end_vpos));
25844 /* If the before-string or display-string contains newlines, 25844 /* If the before-string or display-string contains newlines,
25845 rows_from_pos_range skips to its last row. Move back. */ 25845 rows_from_pos_range skips to its last row. Move back. */
25846 if (!NILP (before_string) || !NILP (cover_string)) 25846 if (!NILP (before_string) || !NILP (disp_string))
25847 { 25847 {
25848 struct glyph_row *prev; 25848 struct glyph_row *prev;
25849 while ((prev = r1 - 1, prev >= first) 25849 while ((prev = r1 - 1, prev >= first)
@@ -25855,7 +25855,7 @@ mouse_face_from_buffer_pos (Lisp_Object window,
25855 while (--glyph >= beg && INTEGERP (glyph->object)); 25855 while (--glyph >= beg && INTEGERP (glyph->object));
25856 if (glyph < beg 25856 if (glyph < beg
25857 || !(EQ (glyph->object, before_string) 25857 || !(EQ (glyph->object, before_string)
25858 || EQ (glyph->object, cover_string))) 25858 || EQ (glyph->object, disp_string)))
25859 break; 25859 break;
25860 r1 = prev; 25860 r1 = prev;
25861 } 25861 }
@@ -25880,10 +25880,10 @@ mouse_face_from_buffer_pos (Lisp_Object window,
25880 r2 = next; 25880 r2 = next;
25881 } 25881 }
25882 /* The rest of the display engine assumes that mouse_face_beg_row is 25882 /* The rest of the display engine assumes that mouse_face_beg_row is
25883 either above below mouse_face_end_row or identical to it. But 25883 either above mouse_face_end_row or identical to it. But with
25884 with bidi-reordered continued lines, the row for START_CHARPOS 25884 bidi-reordered continued lines, the row for START_CHARPOS could
25885 could be below the row for END_CHARPOS. If so, swap the rows and 25885 be below the row for END_CHARPOS. If so, swap the rows and store
25886 store them in correct order. */ 25886 them in correct order. */
25887 if (r1->y > r2->y) 25887 if (r1->y > r2->y)
25888 { 25888 {
25889 struct glyph_row *tem = r2; 25889 struct glyph_row *tem = r2;
@@ -25898,7 +25898,7 @@ mouse_face_from_buffer_pos (Lisp_Object window,
25898 hlinfo->mouse_face_end_row = MATRIX_ROW_VPOS (r2, w->current_matrix); 25898 hlinfo->mouse_face_end_row = MATRIX_ROW_VPOS (r2, w->current_matrix);
25899 25899
25900 /* For a bidi-reordered row, the positions of BEFORE_STRING, 25900 /* For a bidi-reordered row, the positions of BEFORE_STRING,
25901 AFTER_STRING, COVER_STRING, START_CHARPOS, and END_CHARPOS 25901 AFTER_STRING, DISP_STRING, START_CHARPOS, and END_CHARPOS
25902 could be anywhere in the row and in any order. The strategy 25902 could be anywhere in the row and in any order. The strategy
25903 below is to find the leftmost and the rightmost glyph that 25903 below is to find the leftmost and the rightmost glyph that
25904 belongs to either of these 3 strings, or whose position is 25904 belongs to either of these 3 strings, or whose position is
@@ -25924,11 +25924,11 @@ mouse_face_from_buffer_pos (Lisp_Object window,
25924 x += glyph->pixel_width; 25924 x += glyph->pixel_width;
25925 25925
25926 /* Scan the glyph row, looking for BEFORE_STRING, AFTER_STRING, 25926 /* Scan the glyph row, looking for BEFORE_STRING, AFTER_STRING,
25927 or COVER_STRING, and the first glyph from buffer whose 25927 or DISP_STRING, and the first glyph from buffer whose
25928 position is between START_CHARPOS and END_CHARPOS. */ 25928 position is between START_CHARPOS and END_CHARPOS. */
25929 for (; glyph < end 25929 for (; glyph < end
25930 && !INTEGERP (glyph->object) 25930 && !INTEGERP (glyph->object)
25931 && !EQ (glyph->object, cover_string) 25931 && !EQ (glyph->object, disp_string)
25932 && !(BUFFERP (glyph->object) 25932 && !(BUFFERP (glyph->object)
25933 && (glyph->charpos >= start_charpos 25933 && (glyph->charpos >= start_charpos
25934 && glyph->charpos < end_charpos)); 25934 && glyph->charpos < end_charpos));
@@ -25975,11 +25975,11 @@ mouse_face_from_buffer_pos (Lisp_Object window,
25975 ; 25975 ;
25976 25976
25977 /* Scan the glyph row, looking for BEFORE_STRING, AFTER_STRING, 25977 /* Scan the glyph row, looking for BEFORE_STRING, AFTER_STRING,
25978 or COVER_STRING, and the first glyph from buffer whose 25978 or DISP_STRING, and the first glyph from buffer whose
25979 position is between START_CHARPOS and END_CHARPOS. */ 25979 position is between START_CHARPOS and END_CHARPOS. */
25980 for (; glyph > end 25980 for (; glyph > end
25981 && !INTEGERP (glyph->object) 25981 && !INTEGERP (glyph->object)
25982 && !EQ (glyph->object, cover_string) 25982 && !EQ (glyph->object, disp_string)
25983 && !(BUFFERP (glyph->object) 25983 && !(BUFFERP (glyph->object)
25984 && (glyph->charpos >= start_charpos 25984 && (glyph->charpos >= start_charpos
25985 && glyph->charpos < end_charpos)); 25985 && glyph->charpos < end_charpos));
@@ -26035,17 +26035,16 @@ mouse_face_from_buffer_pos (Lisp_Object window,
26035 row, and also blanks and stretch glyphs inserted by 26035 row, and also blanks and stretch glyphs inserted by
26036 extend_face_to_end_of_line. */ 26036 extend_face_to_end_of_line. */
26037 while (end > glyph 26037 while (end > glyph
26038 && INTEGERP ((end - 1)->object) 26038 && INTEGERP ((end - 1)->object))
26039 && (end - 1)->charpos <= 0)
26040 --end; 26039 --end;
26041 /* Scan the rest of the glyph row from the end, looking for the 26040 /* Scan the rest of the glyph row from the end, looking for the
26042 first glyph that comes from BEFORE_STRING, AFTER_STRING, or 26041 first glyph that comes from BEFORE_STRING, AFTER_STRING, or
26043 COVER_STRING, or whose position is between START_CHARPOS 26042 DISP_STRING, or whose position is between START_CHARPOS
26044 and END_CHARPOS */ 26043 and END_CHARPOS */
26045 for (--end; 26044 for (--end;
26046 end > glyph 26045 end > glyph
26047 && !INTEGERP (end->object) 26046 && !INTEGERP (end->object)
26048 && !EQ (end->object, cover_string) 26047 && !EQ (end->object, disp_string)
26049 && !(BUFFERP (end->object) 26048 && !(BUFFERP (end->object)
26050 && (end->charpos >= start_charpos 26049 && (end->charpos >= start_charpos
26051 && end->charpos < end_charpos)); 26050 && end->charpos < end_charpos));
@@ -26082,20 +26081,19 @@ mouse_face_from_buffer_pos (Lisp_Object window,
26082 x = r2->x; 26081 x = r2->x;
26083 end++; 26082 end++;
26084 while (end < glyph 26083 while (end < glyph
26085 && INTEGERP (end->object) 26084 && INTEGERP (end->object))
26086 && end->charpos <= 0)
26087 { 26085 {
26088 x += end->pixel_width; 26086 x += end->pixel_width;
26089 ++end; 26087 ++end;
26090 } 26088 }
26091 /* Scan the rest of the glyph row from the end, looking for the 26089 /* Scan the rest of the glyph row from the end, looking for the
26092 first glyph that comes from BEFORE_STRING, AFTER_STRING, or 26090 first glyph that comes from BEFORE_STRING, AFTER_STRING, or
26093 COVER_STRING, or whose position is between START_CHARPOS 26091 DISP_STRING, or whose position is between START_CHARPOS
26094 and END_CHARPOS */ 26092 and END_CHARPOS */
26095 for ( ; 26093 for ( ;
26096 end < glyph 26094 end < glyph
26097 && !INTEGERP (end->object) 26095 && !INTEGERP (end->object)
26098 && !EQ (end->object, cover_string) 26096 && !EQ (end->object, disp_string)
26099 && !(BUFFERP (end->object) 26097 && !(BUFFERP (end->object)
26100 && (end->charpos >= start_charpos 26098 && (end->charpos >= start_charpos
26101 && end->charpos < end_charpos)); 26099 && end->charpos < end_charpos));
@@ -27092,7 +27090,7 @@ note_mouse_highlight (struct frame *f, int x, int y)
27092 /* The mouse-highlighting, if any, comes from an overlay 27090 /* The mouse-highlighting, if any, comes from an overlay
27093 or text property in the buffer. */ 27091 or text property in the buffer. */
27094 Lisp_Object buffer IF_LINT (= Qnil); 27092 Lisp_Object buffer IF_LINT (= Qnil);
27095 Lisp_Object cover_string IF_LINT (= Qnil); 27093 Lisp_Object disp_string IF_LINT (= Qnil);
27096 27094
27097 if (STRINGP (object)) 27095 if (STRINGP (object))
27098 { 27096 {
@@ -27106,13 +27104,13 @@ note_mouse_highlight (struct frame *f, int x, int y)
27106 mouse_face = get_char_property_and_overlay 27104 mouse_face = get_char_property_and_overlay
27107 (make_number (pos), Qmouse_face, w->buffer, &overlay); 27105 (make_number (pos), Qmouse_face, w->buffer, &overlay);
27108 buffer = w->buffer; 27106 buffer = w->buffer;
27109 cover_string = object; 27107 disp_string = object;
27110 } 27108 }
27111 } 27109 }
27112 else 27110 else
27113 { 27111 {
27114 buffer = object; 27112 buffer = object;
27115 cover_string = Qnil; 27113 disp_string = Qnil;
27116 } 27114 }
27117 27115
27118 if (!NILP (mouse_face)) 27116 if (!NILP (mouse_face))
@@ -27164,7 +27162,7 @@ note_mouse_highlight (struct frame *f, int x, int y)
27164 XFASTINT (before), 27162 XFASTINT (before),
27165 XFASTINT (after), 27163 XFASTINT (after),
27166 before_string, after_string, 27164 before_string, after_string,
27167 cover_string); 27165 disp_string);
27168 cursor = No_Cursor; 27166 cursor = No_Cursor;
27169 } 27167 }
27170 } 27168 }