aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2012-11-17 17:52:36 -0800
committerGlenn Morris2012-11-17 17:52:36 -0800
commit2ac9538d674ab0aa937d22b68fef9136ddd904b9 (patch)
tree81cf8c6762c0443ca2debe490ecfa7c1e55d2da0
parentc9ed8e3d2ba6c7d6eda82a39cbfa87729f1ca53e (diff)
parent291a654dad6d4604ed4db80885b3af04e64c944f (diff)
downloademacs-2ac9538d674ab0aa937d22b68fef9136ddd904b9.tar.gz
emacs-2ac9538d674ab0aa937d22b68fef9136ddd904b9.zip
Merge from emacs-24; up to 2012-11-15T23:31:37Z!dancol@dancol.org
-rw-r--r--doc/emacs/ChangeLog4
-rw-r--r--doc/emacs/mark.texi11
-rw-r--r--doc/lispref/ChangeLog21
-rw-r--r--doc/lispref/display.texi34
-rw-r--r--doc/lispref/frames.texi15
-rw-r--r--doc/lispref/loading.texi19
-rw-r--r--doc/lispref/macros.texi4
-rw-r--r--doc/lispref/minibuf.texi25
-rw-r--r--doc/lispref/windows.texi10
-rw-r--r--etc/NEWS31
-rw-r--r--lisp/ChangeLog28
-rw-r--r--lisp/emacs-lisp/cl-lib.el2
-rw-r--r--lisp/emacs-lisp/syntax.el20
-rw-r--r--lisp/filecache.el4
-rw-r--r--lisp/image.el6
-rw-r--r--lisp/subr.el5
-rw-r--r--lisp/url/url-parse.el2
-rw-r--r--lisp/vc/vc-svn.el2
-rw-r--r--lisp/window.el53
-rw-r--r--src/ChangeLog22
-rw-r--r--src/nsterm.m9
-rw-r--r--src/unexelf.c2
-rw-r--r--src/w32select.c2
-rw-r--r--src/w32term.h15
24 files changed, 279 insertions, 67 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 9fad60d2a8c..dc5fa539cd1 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,7 @@
12012-11-18 Dani Moncayo <dmoncayo@gmail.com>
2
3 * mark.texi (Disabled Transient Mark): Doc fixes (Bug#12746).
4
12012-11-16 Eli Zaretskii <eliz@gnu.org> 52012-11-16 Eli Zaretskii <eliz@gnu.org>
2 6
3 * trouble.texi (Crashing): Add information about MS-Windows and 7 * trouble.texi (Crashing): Add information about MS-Windows and
diff --git a/doc/emacs/mark.texi b/doc/emacs/mark.texi
index 83d519a4cd2..db191eb175c 100644
--- a/doc/emacs/mark.texi
+++ b/doc/emacs/mark.texi
@@ -430,10 +430,6 @@ mark is by using @kbd{C-x C-x}, which exchanges the positions of the
430point and the mark (@pxref{Setting Mark}). 430point and the mark (@pxref{Setting Mark}).
431 431
432@item 432@item
433Many commands that move point long distances, like @kbd{M-<} and
434@kbd{C-s}, first set the mark where point was.
435
436@item
437Some commands, which ordinarily act on the region when the mark is 433Some commands, which ordinarily act on the region when the mark is
438active, no longer do so. For example, normally @kbd{M-%} 434active, no longer do so. For example, normally @kbd{M-%}
439(@code{query-replace}) performs replacements within the region, if the 435(@code{query-replace}) performs replacements within the region, if the
@@ -455,9 +451,10 @@ command twice.)
455 451
456@item C-u C-x C-x 452@item C-u C-x C-x
457@kindex C-u C-x C-x 453@kindex C-u C-x C-x
458Activate the mark and enable Transient Mark mode temporarily, until 454Exchange point and mark, activate the mark and enable Transient Mark
459the mark is next deactivated. (This is the @kbd{C-x C-x} command, 455mode temporarily, until the mark is next deactivated. (This is the
460@code{exchange-point-and-mark}, with a prefix argument.) 456@kbd{C-x C-x} command, @code{exchange-point-and-mark}, with a prefix
457argument.)
461@end table 458@end table
462 459
463 These commands set or activate the mark, and enable Transient Mark 460 These commands set or activate the mark, and enable Transient Mark
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 8c1a863371b..a5295adc368 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,24 @@
12012-11-18 Glenn Morris <rgm@gnu.org>
2
3 * loading.texi (How Programs Do Loading): Add eager macro expansion.
4 * macros.texi (Expansion): Mention eager macro expansion.
5
6 * minibuf.texi (Basic Completion): Mention misc completion-table funcs.
7
82012-11-18 Leo Liu <sdl.web@gmail.com>
9
10 * minibuf.texi (Programmed Completion): Doc fix for metadata
11 request (Bug#12850).
12
132012-11-18 Glenn Morris <rgm@gnu.org>
14
15 * display.texi (Temporary Displays): Document with-temp-buffer-window.
16
17 * frames.texi (Size and Position): Add fit-frame-to-buffer command.
18 * windows.texi (Resizing Windows): Add fit-frame-to-buffer option.
19 (Window Sizes): Add vindex for window-min-height, window-min-width.
20 (Display Action Functions): Mention pop-up-frame-parameters.
21
12012-11-16 Martin Rudalics <rudalics@gmx.at> 222012-11-16 Martin Rudalics <rudalics@gmx.at>
2 23
3 * windows.texi (Choosing Window): Rewrite description of 24 * windows.texi (Choosing Window): Rewrite description of
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 9fedd162da6..475a9550f99 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -1078,7 +1078,8 @@ editing. Many help commands use this feature.
1078This function executes @var{forms} while arranging to insert any output 1078This function executes @var{forms} while arranging to insert any output
1079they print into the buffer named @var{buffer-name}, which is first 1079they print into the buffer named @var{buffer-name}, which is first
1080created if necessary, and put into Help mode. Finally, the buffer is 1080created if necessary, and put into Help mode. Finally, the buffer is
1081displayed in some window, but not selected. 1081displayed in some window, but not selected. (See the similar
1082form @code{with-temp-buffer-window} below.)
1082 1083
1083If the @var{forms} do not change the major mode in the output buffer, 1084If the @var{forms} do not change the major mode in the output buffer,
1084so that it is still Help mode at the end of their execution, then 1085so that it is still Help mode at the end of their execution, then
@@ -1152,6 +1153,37 @@ displaying the temporary buffer. When the hook runs, the temporary buffer
1152is current, and the window it was displayed in is selected. 1153is current, and the window it was displayed in is selected.
1153@end defvar 1154@end defvar
1154 1155
1156@defmac with-temp-buffer-window buffer-or-name action quit-function forms@dots{}
1157This macro is similar to @code{with-output-to-temp-buffer}.
1158Like that construct, it executes @var{forms} while arranging to insert
1159any output they print into the buffer named @var{buffer-or-name}.
1160Finally, the buffer is displayed in some window, but not selected.
1161Unlike @code{with-output-to-temp-buffer}, this does not switch to Help
1162mode.
1163
1164The argument @var{buffer-or-name} specifies the temporary buffer.
1165It can be either a buffer, which must already exist, or a string,
1166in which case a buffer of that name is created if necessary.
1167The buffer is marked as unmodified and read-only when
1168@code{with-temp-buffer-window} exits.
1169
1170This macro does not call @code{temp-buffer-show-function}. Rather, it
1171passes the @var{action} argument to @code{display-buffer} in order to
1172display the buffer.
1173
1174The value of the last form in @var{forms} is returned, unless the
1175argument @var{quit-function} is specified. In that case,
1176it is called with two arguments: the window showing the buffer
1177and the result of @var{forms}. The final return value is then
1178whatever @var{quit-function} returns.
1179
1180@vindex temp-buffer-window-setup-hook
1181@vindex temp-buffer-window-show-hook
1182This macro uses the normal hooks @code{temp-buffer-window-setup-hook}
1183and @code{temp-buffer-window-show-hook} in place of the analogous hooks
1184run by @code{with-output-to-temp-buffer}.
1185@end defmac
1186
1155@defun momentary-string-display string position &optional char message 1187@defun momentary-string-display string position &optional char message
1156This function momentarily displays @var{string} in the current buffer at 1188This function momentarily displays @var{string} in the current buffer at
1157@var{position}. It has no effect on the undo list or on the buffer's 1189@var{position}. It has no effect on the undo list or on the buffer's
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index 27d55c4fdb9..846dfbaf17c 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -1113,6 +1113,21 @@ The argument @var{pretend} has the same meaning as in
1113@code{set-frame-height}. 1113@code{set-frame-height}.
1114@end defun 1114@end defun
1115 1115
1116@c FIXME? Belongs more in Emacs manual than here?
1117@c But eg fit-window-to-buffer is in this manual.
1118@deffn Command fit-frame-to-buffer &optional frame max-height min-height
1119This command adjusts the height of @var{frame} (the default is the
1120selected frame) to fit its contents. The optional arguments
1121@var{max-height} and @var{min-height} specify the maximum and minimum
1122new frame heights, respectively.
1123
1124@vindex fit-frame-to-buffer-bottom-margin
1125The default minimum height corresponds to @code{window-min-height}.
1126The default maximum height is the screen height below the current top
1127position of the frame, minus any margin specified by the option
1128@code{fit-frame-to-buffer-bottom-margin}.
1129@end deffn
1130
1116@node Geometry 1131@node Geometry
1117@subsection Geometry 1132@subsection Geometry
1118 1133
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi
index 3a511d34829..54acd0b4d4c 100644
--- a/doc/lispref/loading.texi
+++ b/doc/lispref/loading.texi
@@ -113,6 +113,25 @@ When loading a source file (not compiled), @code{load} performs
113character set translation just as Emacs would do when visiting the file. 113character set translation just as Emacs would do when visiting the file.
114@xref{Coding Systems}. 114@xref{Coding Systems}.
115 115
116@c This is referred to from the Macros chapter.
117@c Not sure if it should be the other way round.
118@cindex eager macro expansion
119When loading an uncompiled file, Emacs tries to expand any macros
120that the file contains (@pxref{Macros}). We refer to this as
121@dfn{eager macro expansion}. Doing this (rather than deferring
122the expansion until the relevant code runs) can significantly speed
123up the execution of uncompiled code. Sometimes, this macro expansion
124cannot be done, owing to a cyclic dependency. In the simplest
125example of this, the file you are loading refers to a macro defined
126in another file, and that file in turn requires the file you are
127loading. This is generally harmless. Emacs prints a warning
128(@samp{Eager macro-expansion skipped due to cycle@dots{}})
129giving details of the problem, but it still loads the file, just
130leaving the macro unexpanded for now. You may wish to restructure
131your code so that this does not happen. Loading a compiled file does
132not cause macroexpansion, because this should already have happened
133during compilation. @xref{Compiling Macros}.
134
116Messages like @samp{Loading foo...} and @samp{Loading foo...done} appear 135Messages like @samp{Loading foo...} and @samp{Loading foo...done} appear
117in the echo area during loading unless @var{nomessage} is 136in the echo area during loading unless @var{nomessage} is
118non-@code{nil}. 137non-@code{nil}.
diff --git a/doc/lispref/macros.texi b/doc/lispref/macros.texi
index 8be6a3fbcde..b0dee1bf215 100644
--- a/doc/lispref/macros.texi
+++ b/doc/lispref/macros.texi
@@ -86,6 +86,10 @@ macro.
86calls to other macros. It may even be a call to the same macro, though 86calls to other macros. It may even be a call to the same macro, though
87this is unusual. 87this is unusual.
88 88
89 Note that Emacs tries to expand macros when loading an uncompiled
90Lisp file. This is not always possible, but if it is, it speeds up
91subsequent execution. @xref{How Programs Do Loading}.
92
89 You can see the expansion of a given macro call by calling 93 You can see the expansion of a given macro call by calling
90@code{macroexpand}. 94@code{macroexpand}.
91 95
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi
index 7243f46b882..033c10fbf7d 100644
--- a/doc/lispref/minibuf.texi
+++ b/doc/lispref/minibuf.texi
@@ -886,6 +886,26 @@ Here is an example:
886@end smallexample 886@end smallexample
887@end defmac 887@end defmac
888 888
889@c FIXME? completion-table-with-context?
890@findex completion-table-case-fold
891@findex completion-table-in-turn
892@findex completion-table-subvert
893@findex completion-table-with-quoting
894@findex completion-table-with-predicate
895@findex completion-table-with-terminator
896@cindex completion table, modifying
897@cindex completion tables, combining
898There are several functions that take an existing completion table and
899return a modified version. @code{completion-table-case-fold} returns
900a case-insensitive table. @code{completion-table-in-turn} combines
901multiple input tables. @code{completion-table-subvert} alters a table
902to use a different initial prefix. @code{completion-table-with-quoting}
903returns a table suitable for operating on quoted text.
904@code{completion-table-with-predicate} filters a table with a
905predicate function. @code{completion-table-with-terminator} adds a
906terminating string.
907
908
889@node Minibuffer Completion 909@node Minibuffer Completion
890@subsection Completion and the Minibuffer 910@subsection Completion and the Minibuffer
891@cindex minibuffer completion 911@cindex minibuffer completion
@@ -1710,8 +1730,9 @@ string, and @var{end} is the position of the end boundary in
1710 1730
1711@item metadata 1731@item metadata
1712This specifies a request for information about the state of the 1732This specifies a request for information about the state of the
1713current completion. The function should return an alist, as described 1733current completion. The return value should have the form
1714below. The alist may contain any number of elements. 1734@code{(metadata . @var{alist})}, where @var{alist} is an alist whose
1735elements are described below.
1715@end table 1736@end table
1716 1737
1717@noindent 1738@noindent
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index efbfebc670f..b8581b1cc62 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -490,6 +490,8 @@ partially-visible line at the bottom of the text area is not counted.
490aliases are considered obsolete and will be removed in the future. 490aliases are considered obsolete and will be removed in the future.
491 491
492@cindex fixed-size window 492@cindex fixed-size window
493@vindex window-min-height
494@vindex window-min-width
493 Commands that change the size of windows (@pxref{Resizing Windows}), 495 Commands that change the size of windows (@pxref{Resizing Windows}),
494or split them (@pxref{Splitting Windows}), obey the variables 496or split them (@pxref{Splitting Windows}), obey the variables
495@code{window-min-height} and @code{window-min-width}, which specify 497@code{window-min-height} and @code{window-min-width}, which specify
@@ -633,6 +635,10 @@ variable @code{window-min-height}.
633If the optional argument @var{override} is non-@code{nil}, this 635If the optional argument @var{override} is non-@code{nil}, this
634function ignores any size restrictions imposed by 636function ignores any size restrictions imposed by
635@code{window-min-height} and @code{window-min-width}. 637@code{window-min-height} and @code{window-min-width}.
638
639@vindex fit-frame-to-buffer
640If the option @code{fit-frame-to-buffer} is non-@code{nil}, this
641command may resize the frame to fit its contents.
636@end deffn 642@end deffn
637 643
638@deffn Command shrink-window-if-larger-than-buffer &optional window 644@deffn Command shrink-window-if-larger-than-buffer &optional window
@@ -1926,7 +1932,9 @@ entry (@pxref{Choosing Window Options}), raises that frame if necessary.
1926This function creates a new frame, and displays the buffer in that 1932This function creates a new frame, and displays the buffer in that
1927frame's window. It actually performs the frame creation by calling 1933frame's window. It actually performs the frame creation by calling
1928the function specified in @code{pop-up-frame-function} 1934the function specified in @code{pop-up-frame-function}
1929(@pxref{Choosing Window Options}). 1935(@pxref{Choosing Window Options}). If @var{alist} contains a
1936@code{pop-up-frame-parameters} entry, the associated value
1937is added to the newly created frame's parameters.
1930@end defun 1938@end defun
1931 1939
1932@defun display-buffer-pop-up-window buffer alist 1940@defun display-buffer-pop-up-window buffer alist
diff --git a/etc/NEWS b/etc/NEWS
index 6fc0783936c..57e40982af6 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -858,15 +858,10 @@ More commands use `read-regexp' now to read their regexp arguments.
858*** New function `completion-table-with-quoting' to handle completion 858*** New function `completion-table-with-quoting' to handle completion
859in the presence of quoting, such as file completion in shell buffers. 859in the presence of quoting, such as file completion in shell buffers.
860 860
861+++
861*** New function `completion-table-subvert' to use an existing completion 862*** New function `completion-table-subvert' to use an existing completion
862table, but with a different prefix. 863table, but with a different prefix.
863 864
864FIXME?
865*** There are several other completion-table- functions that never got
866added to NEWS or documented: completion-table-case-fold (24.1),
867completion-table-with-context (23,1), completion-table-with-terminator (23.1),
868completion-table-with-predicate (23.1), completion-table-in-turn (23.1)
869
870** Debugger changes 865** Debugger changes
871 866
872+++ 867+++
@@ -892,14 +887,19 @@ now accept a third argument to avoid choosing the selected window.
892+++ 887+++
893*** Additional values recognized for option `window-combination-limit'. 888*** Additional values recognized for option `window-combination-limit'.
894 889
895*** New macro `with-temp-buffer-window'. 890+++
891*** New macro `with-temp-buffer-window', similar to
892`with-output-to-temp-buffer'.
896 893
894---
897*** `temp-buffer-resize-mode' no longer resizes windows that have been 895*** `temp-buffer-resize-mode' no longer resizes windows that have been
898reused. 896reused.
899 897
898+++
900*** New command `fit-frame-to-buffer' adjusts the frame height to 899*** New command `fit-frame-to-buffer' adjusts the frame height to
901fit the contents. 900fit the contents.
902 901
902+++
903*** The command `fit-window-to-buffer' can adjust the frame height 903*** The command `fit-window-to-buffer' can adjust the frame height
904if the new option `fit-frame-to-buffer' is non-nil. 904if the new option `fit-frame-to-buffer' is non-nil.
905 905
@@ -909,11 +909,11 @@ window's point when switching buffers.
909+++ 909+++
910*** New display action functions `display-buffer-below-selected', 910*** New display action functions `display-buffer-below-selected',
911and `display-buffer-in-previous-window'. 911and `display-buffer-in-previous-window'.
912 912+++
913*** New display action alist entry `inhibit-switch-frame', if non-nil, 913*** New display action alist entry `inhibit-switch-frame', if non-nil,
914tells display action functions to avoid changing which frame is 914tells display action functions to avoid changing which frame is
915selected. 915selected.
916 916+++
917*** New display action alist entry `pop-up-frame-parameters', if 917*** New display action alist entry `pop-up-frame-parameters', if
918non-nil, specifies frame parameters to give any newly-created frame. 918non-nil, specifies frame parameters to give any newly-created frame.
919+++ 919+++
@@ -969,13 +969,14 @@ Previously, they returned NaNs on some platforms but signaled errors
969on others. The affected functions are acos, asin, tan, exp, expt, 969on others. The affected functions are acos, asin, tan, exp, expt,
970log, log10, sqrt, and mod. 970log, log10, sqrt, and mod.
971 971
972** Interpreted files are eagerly macro-expanded during load. 972+++
973** Emacs tries to macroexpand interpreted (non-compiled) files during load.
973This can significantly speed up execution of non-byte-compiled code, 974This can significantly speed up execution of non-byte-compiled code,
974but can also bump into harmless and previously unnoticed cyclic 975but can also bump into previously unnoticed cyclic dependencies.
975dependencies. These should not be fatal: they will simply cause the 976These are generally harmless: they will simply cause the macro calls
976macro-calls to be left for later expansion (as before), but will also 977to be left for later expansion (as before), but will result in a
977result in a warning ("Eager macro-expansion skipped due to cycle") 978warning ("Eager macro-expansion skipped due to cycle") describing the cycle.
978describing the cycle. 979You may wish to restructure your code so this does not happen.
979 980
980** Miscellaneous new functions: 981** Miscellaneous new functions:
981+++ 982+++
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index b1bd67fc47d..cd1cf014ef2 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,31 @@
12012-11-18 Glenn Morris <rgm@gnu.org>
2
3 * image.el (insert-image, insert-sliced-image): Doc fix.
4
52012-11-18 Chong Yidong <cyd@gnu.org>
6
7 * emacs-lisp/syntax.el (syntax-propertize-function): Doc fix
8 (Bug#12810).
9
102012-11-18 OKAZAKI Tetsurou <okazaki.tetsurou@gmail.com> (tiny change)
11
12 * vc/vc-svn.el (vc-svn-merge-news): Properly parse the merge
13 response when the target file is in a subdirectory (Bug#12757).
14
152012-11-18 Chong Yidong <cyd@gnu.org>
16
17 * filecache.el (file-cache-add-file-list): Doc fix (Bug#12694).
18
192012-11-18 Glenn Morris <rgm@gnu.org>
20
21 * woman.el (woman-non-underline-faces):
22 * emacs-lisp/cl-lib.el (face-underline-p):
23 Use set-face-underline rather than the alias set-face-underline-p.
24
25 * window.el (with-temp-buffer-window): Doc fix.
26 * subr.el (with-output-to-temp-buffer):
27 Add doc xref to with-temp-buffer-window.
28
12012-11-18 Juanma Barranquero <lekktu@gmail.com> 292012-11-18 Juanma Barranquero <lekktu@gmail.com>
2 30
3 * woman.el (woman-non-underline-faces): Use `set-face-underline'. 31 * woman.el (woman-non-underline-faces): Use `set-face-underline'.
diff --git a/lisp/emacs-lisp/cl-lib.el b/lisp/emacs-lisp/cl-lib.el
index bfc63134985..d5e5f4bbfbc 100644
--- a/lisp/emacs-lisp/cl-lib.el
+++ b/lisp/emacs-lisp/cl-lib.el
@@ -661,7 +661,7 @@ If ALIST is non-nil, the new pairs are prepended to it."
661(gv-define-setter face-foreground (x f &optional s) 661(gv-define-setter face-foreground (x f &optional s)
662 `(set-face-foreground ,f ,x ,s)) 662 `(set-face-foreground ,f ,x ,s))
663(gv-define-setter face-underline-p (x f &optional s) 663(gv-define-setter face-underline-p (x f &optional s)
664 `(set-face-underline-p ,f ,x ,s)) 664 `(set-face-underline ,f ,x ,s))
665(gv-define-simple-setter file-modes set-file-modes t) 665(gv-define-simple-setter file-modes set-file-modes t)
666(gv-define-simple-setter frame-height set-screen-height t) 666(gv-define-simple-setter frame-height set-screen-height t)
667(gv-define-simple-setter frame-parameters modify-frame-parameters t) 667(gv-define-simple-setter frame-parameters modify-frame-parameters t)
diff --git a/lisp/emacs-lisp/syntax.el b/lisp/emacs-lisp/syntax.el
index c3d78b3444b..592cb1b0174 100644
--- a/lisp/emacs-lisp/syntax.el
+++ b/lisp/emacs-lisp/syntax.el
@@ -55,12 +55,18 @@
55 ;; have to flush that cache between each function, and we couldn't use 55 ;; have to flush that cache between each function, and we couldn't use
56 ;; syntax-ppss-flush-cache since that would not only flush the cache but also 56 ;; syntax-ppss-flush-cache since that would not only flush the cache but also
57 ;; reset syntax-propertize--done which should not be done in this case). 57 ;; reset syntax-propertize--done which should not be done in this case).
58 "Mode-specific function to apply the syntax-table properties. 58 "Mode-specific function to apply `syntax-table' text properties.
59Called with two arguments: START and END. 59The value of this variable is a function to be called by Font
60This function can call `syntax-ppss' on any position before END, but it 60Lock mode, prior to performing syntactic fontification on a
61should not call `syntax-ppss-flush-cache', which means that it should not 61stretch of text. It is given two arguments, START and END: the
62call `syntax-ppss' on some position and later modify the buffer on some 62start and end of the text to be fontified. Major modes can
63earlier position.") 63specify a custom function to apply `syntax-table' properties to
64override the default syntax table in special cases.
65
66The specified function may call `syntax-ppss' on any position
67before END, but it should not call `syntax-ppss-flush-cache',
68which means that it should not call `syntax-ppss' on some
69position and later modify the buffer on some earlier position.")
64 70
65(defvar syntax-propertize-chunk-size 500) 71(defvar syntax-propertize-chunk-size 500)
66 72
@@ -118,7 +124,7 @@ The arg RULES can be of the same form as in `syntax-propertize-rules'.
118The return value is an object that can be passed as a rule to 124The return value is an object that can be passed as a rule to
119`syntax-propertize-rules'. 125`syntax-propertize-rules'.
120I.e. this is useful only when you want to share rules among several 126I.e. this is useful only when you want to share rules among several
121syntax-propertize-functions." 127`syntax-propertize-function's."
122 (declare (debug syntax-propertize-rules)) 128 (declare (debug syntax-propertize-rules))
123 ;; Precompile? Yeah, right! 129 ;; Precompile? Yeah, right!
124 ;; Seriously, tho, this is a macro for 2 reasons: 130 ;; Seriously, tho, this is a macro for 2 reasons:
diff --git a/lisp/filecache.el b/lisp/filecache.el
index 23246c24c45..f868ef5e275 100644
--- a/lisp/filecache.el
+++ b/lisp/filecache.el
@@ -300,7 +300,9 @@ files in each directory, not to the directory list itself."
300 directory-list)) 300 directory-list))
301 301
302(defun file-cache-add-file-list (file-list) 302(defun file-cache-add-file-list (file-list)
303 "Add FILE-LIST (a list of files names) to the file cache." 303 "Add FILE-LIST (a list of file names) to the file cache.
304Interactively, FILE-LIST is read as a Lisp expression, which
305should evaluate to the desired list of file names."
304 (interactive "XFile List: ") 306 (interactive "XFile List: ")
305 (mapcar 'file-cache-add-file file-list)) 307 (mapcar 'file-cache-add-file file-list))
306 308
diff --git a/lisp/image.el b/lisp/image.el
index bd2f5c3a3ca..27bbc2c08d6 100644
--- a/lisp/image.el
+++ b/lisp/image.el
@@ -429,7 +429,7 @@ means display it in the right marginal area."
429 "Insert IMAGE into current buffer at point. 429 "Insert IMAGE into current buffer at point.
430IMAGE is displayed by inserting STRING into the current buffer 430IMAGE is displayed by inserting STRING into the current buffer
431with a `display' property whose value is the image. STRING 431with a `display' property whose value is the image. STRING
432defaults to the empty string if you omit it. 432defaults to a single space if you omit it.
433AREA is where to display the image. AREA nil or omitted means 433AREA is where to display the image. AREA nil or omitted means
434display it in the text area, a value of `left-margin' means 434display it in the text area, a value of `left-margin' means
435display it in the left marginal area, a value of `right-margin' 435display it in the left marginal area, a value of `right-margin'
@@ -467,8 +467,8 @@ height of the image; integer values are taken as pixel values."
467(defun insert-sliced-image (image &optional string area rows cols) 467(defun insert-sliced-image (image &optional string area rows cols)
468 "Insert IMAGE into current buffer at point. 468 "Insert IMAGE into current buffer at point.
469IMAGE is displayed by inserting STRING into the current buffer 469IMAGE is displayed by inserting STRING into the current buffer
470with a `display' property whose value is the image. STRING is 470with a `display' property whose value is the image. The default
471defaulted if you omit it. 471STRING is a single space.
472AREA is where to display the image. AREA nil or omitted means 472AREA is where to display the image. AREA nil or omitted means
473display it in the text area, a value of `left-margin' means 473display it in the text area, a value of `left-margin' means
474display it in the left marginal area, a value of `right-margin' 474display it in the left marginal area, a value of `right-margin'
diff --git a/lisp/subr.el b/lisp/subr.el
index 0745ee71eb8..8410897fd6f 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -3189,6 +3189,7 @@ in which case `save-window-excursion' cannot help."
3189 ;; Return nil. 3189 ;; Return nil.
3190 nil) 3190 nil)
3191 3191
3192;; Doc is very similar to with-temp-buffer-window.
3192(defmacro with-output-to-temp-buffer (bufname &rest body) 3193(defmacro with-output-to-temp-buffer (bufname &rest body)
3193 "Bind `standard-output' to buffer BUFNAME, eval BODY, then show that buffer. 3194 "Bind `standard-output' to buffer BUFNAME, eval BODY, then show that buffer.
3194 3195
@@ -3214,7 +3215,9 @@ with the buffer BUFNAME temporarily current. It runs the hook
3214`temp-buffer-show-hook' after displaying buffer BUFNAME, with that 3215`temp-buffer-show-hook' after displaying buffer BUFNAME, with that
3215buffer temporarily current, and the window that was used to display it 3216buffer temporarily current, and the window that was used to display it
3216temporarily selected. But it doesn't run `temp-buffer-show-hook' 3217temporarily selected. But it doesn't run `temp-buffer-show-hook'
3217if it uses `temp-buffer-show-function'." 3218if it uses `temp-buffer-show-function'.
3219
3220See the related form `with-temp-buffer-window'."
3218 (declare (debug t)) 3221 (declare (debug t))
3219 (let ((old-dir (make-symbol "old-dir")) 3222 (let ((old-dir (make-symbol "old-dir"))
3220 (buf (make-symbol "buf"))) 3223 (buf (make-symbol "buf")))
diff --git a/lisp/url/url-parse.el b/lisp/url/url-parse.el
index cb61a021251..2efabed5cd8 100644
--- a/lisp/url/url-parse.el
+++ b/lisp/url/url-parse.el
@@ -48,7 +48,7 @@
48 48
49(defun url-path-and-query (urlobj) 49(defun url-path-and-query (urlobj)
50 "Return the path and query components of URLOBJ. 50 "Return the path and query components of URLOBJ.
51These two components are store together in the FILENAME slot of 51These two components are stored together in the FILENAME slot of
52the object. The return value of this function is (PATH . QUERY), 52the object. The return value of this function is (PATH . QUERY),
53where each of PATH and QUERY are strings or nil." 53where each of PATH and QUERY are strings or nil."
54 (let ((name (url-filename urlobj)) 54 (let ((name (url-filename urlobj))
diff --git a/lisp/vc/vc-svn.el b/lisp/vc/vc-svn.el
index 3becd8950f1..370cd0a9dca 100644
--- a/lisp/vc/vc-svn.el
+++ b/lisp/vc/vc-svn.el
@@ -414,7 +414,7 @@ The changes are between FIRST-VERSION and SECOND-VERSION."
414 ;; We also used to match the filename in column 0 without any 414 ;; We also used to match the filename in column 0 without any
415 ;; meta-info before it, but I believe this can never happen. 415 ;; meta-info before it, but I believe this can never happen.
416 (concat "^\\(\\([ACGDU]\\)\\(.[B ]\\)? \\)" 416 (concat "^\\(\\([ACGDU]\\)\\(.[B ]\\)? \\)"
417 (regexp-quote (file-name-nondirectory file))) 417 (regexp-quote (file-relative-name file)))
418 nil t) 418 nil t)
419 (cond 419 (cond
420 ;; Merge successful, we are in sync with repository now 420 ;; Merge successful, we are in sync with repository now
diff --git a/lisp/window.el b/lisp/window.el
index 9ac3a4ecda0..d378ea5ff14 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -142,41 +142,46 @@ to `display-buffer'."
142 ;; Return the window. 142 ;; Return the window.
143 window)))) 143 window))))
144 144
145;; Doc is very similar to with-output-to-temp-buffer.
145(defmacro with-temp-buffer-window (buffer-or-name action quit-function &rest body) 146(defmacro with-temp-buffer-window (buffer-or-name action quit-function &rest body)
146 "Evaluate BODY and display the buffer specified by BUFFER-OR-NAME. 147 "Bind `standard-output' to BUFFER-OR-NAME, eval BODY, show the buffer.
147BUFFER-OR-NAME must specify either a live buffer, or the name of a 148BUFFER-OR-NAME must specify either a live buffer, or the name of a
148buffer (if it does not exist, this macro creates it). 149buffer (if it does not exist, this macro creates it).
149 150
150Make sure the specified buffer is empty before evaluating BODY. 151This construct makes buffer BUFFER-OR-NAME empty before running BODY.
151Do not make that buffer current for BODY. Instead, bind 152It does not make the buffer current for BODY.
152`standard-output' to that buffer, so that output generated with 153Instead it binds `standard-output' to that buffer, so that output
153`prin1' and similar functions in BODY goes into that buffer. 154generated with `prin1' and similar functions in BODY goes into
155the buffer.
154 156
155After evaluating BODY, this marks the specified buffer unmodified and 157At the end of BODY, this marks the specified buffer unmodified and
156read-only, and displays it in a window via `display-buffer', passing 158read-only, and displays it in a window (but does not select it, or make
157ACTION as the action argument to `display-buffer'. It automatically 159the buffer current). The display happens by calling `display-buffer'
158shrinks the relevant window if `temp-buffer-resize-mode' is enabled. 160with the ACTION argument. If `temp-buffer-resize-mode' is enabled,
161the relevant window shrinks automatically.
159 162
160Returns the value returned by BODY, unless QUIT-FUNCTION specifies 163This returns the value returned by BODY, unless QUIT-FUNCTION specifies
161a function. In that case, runs the function with two arguments - 164a function. In that case, it runs the function with two arguments -
162the window showing the specified buffer and the value returned by 165the window showing the specified buffer and the value returned by
163BODY - and returns the value returned by that function. 166BODY - and returns the value returned by that function.
164 167
165If the buffer is displayed on a new frame, the window manager may 168If the buffer is displayed on a new frame, the window manager may
166decide to select that frame. In that case, it's usually a good 169decide to select that frame. In that case, it's usually a good
167strategy if the function specified by QUIT-FUNCTION selects the 170strategy if QUIT-FUNCTION selects the window showing the buffer
168window showing the buffer before reading a value from the 171before reading any value from the minibuffer; for example, when
169minibuffer; for example, when asking a `yes-or-no-p' question. 172asking a `yes-or-no-p' question.
170 173
171This construct is similar to `with-output-to-temp-buffer', but does 174This runs the hook `temp-buffer-window-setup-hook' before BODY,
172not put the buffer in help mode, or call `temp-buffer-show-function'. 175with the specified buffer temporarily current. It runs the
173It also runs different hooks, namely `temp-buffer-window-setup-hook' 176hook `temp-buffer-window-show-hook' after displaying the buffer,
174\(with the specified buffer current) and `temp-buffer-window-show-hook' 177with that buffer temporarily current, and the window that was used to
175\(with the specified buffer current and the window showing it selected). 178display it temporarily selected.
176 179
177Since this macro calls `display-buffer', the window displaying 180This construct is similar to `with-output-to-temp-buffer', but
178the buffer is usually not selected and the specified buffer 181runs different hooks. In particular, it does not run
179usually not made current. QUIT-FUNCTION can override that." 182`temp-buffer-setup-hook', which usually puts the buffer in Help mode.
183Also, it does not call `temp-buffer-show-function' (the ACTION
184argument replaces this)."
180 (declare (debug t)) 185 (declare (debug t))
181 (let ((buffer (make-symbol "buffer")) 186 (let ((buffer (make-symbol "buffer"))
182 (window (make-symbol "window")) 187 (window (make-symbol "window"))
diff --git a/src/ChangeLog b/src/ChangeLog
index 752207a8d9a..b467a35de5f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,25 @@
12012-11-18 Eli Zaretskii <eliz@gnu.org>
2
3 * w32select.c: Include w32common.h before w32term.h, so that
4 windows.h gets included before w32term.h uses some of its
5 features, see below.
6
7 * w32term.h (LOCALE_ENUMPROCA, LOCALE_ENUMPROCW) [_MSC_VER]: New
8 typedefs.
9 (EnumSystemLocalesA, EnumSystemLocalesW) [_MSC_VER]: New
10 prototypes.
11 (EnumSystemLocales) [_MSC_VER]: Define if undefined. (Bug#12878)
12
132012-11-18 Jan Djärv <jan.h.d@swipnet.se>
14
15 * nsterm.m (hold_event): Set send_appdefined to YES (Bug#12834).
16 (ns_select): Return at once if events are held (Bug#12834).
17
182012-11-18 enami tsugutomo <tsugutomo.enami@jp.sony.com>
19
20 * unexelf.c (ELFSIZE) [__NetBSD__ && _LP64]: Set to 64.
21 Needed following 2012-10-20 change. (Bug#12902)
22
12012-11-18 Juanma Barranquero <lekktu@gmail.com> 232012-11-18 Juanma Barranquero <lekktu@gmail.com>
2 24
3 * w32proc.c (waitpid): Remove unused label get_result. 25 * w32proc.c (waitpid): Remove unused label get_result.
diff --git a/src/nsterm.m b/src/nsterm.m
index 8773c6faf9f..2f400b95c58 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -330,6 +330,7 @@ hold_event (struct input_event *event)
330 hold_event_q.q[hold_event_q.nr++] = *event; 330 hold_event_q.q[hold_event_q.nr++] = *event;
331 /* Make sure ns_read_socket is called, i.e. we have input. */ 331 /* Make sure ns_read_socket is called, i.e. we have input. */
332 raise (SIGIO); 332 raise (SIGIO);
333 send_appdefined = YES;
333} 334}
334 335
335static Lisp_Object 336static Lisp_Object
@@ -3461,6 +3462,14 @@ ns_select (int nfds, fd_set *readfds, fd_set *writefds,
3461 3462
3462/* NSTRACE (ns_select); */ 3463/* NSTRACE (ns_select); */
3463 3464
3465 if (hold_event_q.nr > 0)
3466 {
3467 /* We already have events pending. */
3468 kill (0, SIGIO);
3469 errno = EINTR;
3470 return -1;
3471 }
3472
3464 for (k = 0; k < nfds+1; k++) 3473 for (k = 0; k < nfds+1; k++)
3465 { 3474 {
3466 if (readfds && FD_ISSET(k, readfds)) ++nr; 3475 if (readfds && FD_ISSET(k, readfds)) ++nr;
diff --git a/src/unexelf.c b/src/unexelf.c
index 121e6042fc9..b9f8e05e959 100644
--- a/src/unexelf.c
+++ b/src/unexelf.c
@@ -461,7 +461,7 @@ typedef struct {
461/* 461/*
462 * NetBSD does not have normal-looking user-land ELF support. 462 * NetBSD does not have normal-looking user-land ELF support.
463 */ 463 */
464# if defined __alpha__ || defined __sparc_v9__ 464# if defined __alpha__ || defined __sparc_v9__ || defined _LP64
465# define ELFSIZE 64 465# define ELFSIZE 64
466# else 466# else
467# define ELFSIZE 32 467# define ELFSIZE 32
diff --git a/src/w32select.c b/src/w32select.c
index 1b10c74cfe9..6a2a840f914 100644
--- a/src/w32select.c
+++ b/src/w32select.c
@@ -74,8 +74,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
74 74
75#include <config.h> 75#include <config.h>
76#include "lisp.h" 76#include "lisp.h"
77#include "w32term.h" /* for all of the w32 includes */
78#include "w32common.h" /* os_subtype */ 77#include "w32common.h" /* os_subtype */
78#include "w32term.h" /* for all of the w32 includes */
79#include "keyboard.h" 79#include "keyboard.h"
80#include "blockinput.h" 80#include "blockinput.h"
81#include "charset.h" 81#include "charset.h"
diff --git a/src/w32term.h b/src/w32term.h
index 72fb8a76e35..83535b8faa3 100644
--- a/src/w32term.h
+++ b/src/w32term.h
@@ -745,6 +745,21 @@ extern int w32_system_caret_height;
745extern int w32_system_caret_x; 745extern int w32_system_caret_x;
746extern int w32_system_caret_y; 746extern int w32_system_caret_y;
747 747
748#ifdef _MSC_VER
749#ifndef EnumSystemLocales
750/* MSVC headers define these only for _WIN32_WINNT >= 0x0500. */
751typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR);
752typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR);
753BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD);
754BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD)
755#ifdef UNICODE
756#define EnumSystemLocales EnumSystemLocalesW
757#else
758#define EnumSystemLocales EnumSystemLocalesA
759#endif
760#endif
761#endif
762
748#if EMACSDEBUG 763#if EMACSDEBUG
749extern const char* 764extern const char*
750w32_name_of_message (UINT msg); 765w32_name_of_message (UINT msg);