aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--admin/FOR-RELEASE11
-rw-r--r--doc/emacs/ChangeLog19
-rw-r--r--doc/emacs/ack.texi6
-rw-r--r--doc/emacs/mini.texi32
-rw-r--r--doc/emacs/msdog-xtra.texi33
-rw-r--r--doc/emacs/msdog.texi45
-rw-r--r--etc/ChangeLog8
-rw-r--r--etc/NEWS6
-rw-r--r--lisp/ChangeLog62
-rw-r--r--lisp/ChangeLog.142
-rw-r--r--lisp/ChangeLog.72
-rw-r--r--lisp/emacs-lisp/authors.el51
-rw-r--r--lisp/emacs-lisp/lisp.el5
-rw-r--r--lisp/gnus/ChangeLog5
-rw-r--r--lisp/icomplete.el22
-rw-r--r--lisp/international/mule-cmds.el13
-rw-r--r--lisp/isearch.el40
-rw-r--r--lisp/minibuffer.el100
-rw-r--r--lisp/org/ChangeLog6
-rw-r--r--lisp/progmodes/cc-mode.el3
-rw-r--r--lisp/progmodes/prolog.el3
-rw-r--r--lisp/replace.el3
-rw-r--r--nt/ChangeLog35
-rw-r--r--nt/makefile.w32-in2
-rw-r--r--src/ChangeLog9
-rw-r--r--src/lisp.h25
-rw-r--r--src/window.c5
-rw-r--r--src/window.h4
-rw-r--r--src/xfns.c42
29 files changed, 412 insertions, 187 deletions
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE
index 084aea7f2ba..12b99e49688 100644
--- a/admin/FOR-RELEASE
+++ b/admin/FOR-RELEASE
@@ -151,11 +151,16 @@ kmacro.texi cyd
151macos.texi rgm (can't actually test any of it though) 151macos.texi rgm (can't actually test any of it though)
152maintaining.texi cyd 152maintaining.texi cyd
153mark.texi cyd 153mark.texi cyd
154mini.texi 154mini.texi rgm
155misc.texi cyd 155misc.texi cyd
156modes.texi cyd 156modes.texi cyd
157msdog.texi 157msdog.texi rgm (can't actually test any of it though)
158msdog-xtra.texi 158 It was not obvious to me that the following is true (it could well be though):
159
160 Emacs on Windows automatically determines your default printer and
161 sets the variable `printer-name' to that printer's name.
162
163msdog-xtra.texi rgm (can't actually test any of it though)
159mule.texi 164mule.texi
160m-x.texi cyd 165m-x.texi cyd
161package.texi cyd 166package.texi cyd
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 20f751f703f..2f3a4ee1680 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,22 @@
12012-02-23 Glenn Morris <rgm@gnu.org>
2
3 * mini.texi (Minibuffer File, Completion Options, Repetition):
4 Copyedits.
5 (Completion Example): Other M-x au* commands may be defined.
6 (Completion Styles): Mention emacs21 and completion-category-overrides.
7
8 * msdog.texi (Text and Binary, ls in Lisp, Windows HOME)
9 (Windows Keyboard, Windows Mouse, Windows Processes)
10 (Windows Printing, Windows Misc): Copyedits.
11 (ls in Lisp): Update switches list.
12
13 * msdog-xtra.texi (MS-DOS Display): Update list-colors-display xref.
14 Update dos-mode* function names.
15 (MS-DOS Printing, MS-DOS and MULE): Copyedits.
16 (MS-DOS Processes): Add xref to main ls-lisp section.
17
18 * ack.texi (Acknowledgments): Mention smie.
19
12012-02-22 Glenn Morris <rgm@gnu.org> 202012-02-22 Glenn Morris <rgm@gnu.org>
2 21
3 * macos.texi: Copyedits. Fix @key/@kbd usage. 22 * macos.texi: Copyedits. Fix @key/@kbd usage.
diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi
index 7bccc898d06..0a14f5119d1 100644
--- a/doc/emacs/ack.texi
+++ b/doc/emacs/ack.texi
@@ -833,9 +833,9 @@ text; @file{smerge-mode.el}, a minor mode for resolving @code{diff3}
833conflicts; @file{diff-mode.el}, a mode for viewing and editing context 833conflicts; @file{diff-mode.el}, a mode for viewing and editing context
834diffs; @file{css-mode.el} for Cascading Style Sheets; 834diffs; @file{css-mode.el} for Cascading Style Sheets;
835@file{bibtex-style.el} for BibTeX Style files; @file{mpc.el}, a 835@file{bibtex-style.el} for BibTeX Style files; @file{mpc.el}, a
836client for the ``Music Player Daemon''; and @file{pcase.el}, 836client for the ``Music Player Daemon''; @file{smie.el}, a generic
837implementing ML-style pattern matching. He integrated the 837indentation engine; and @file{pcase.el}, implementing ML-style pattern
838lexical binding code in Emacs 24. 838matching. He integrated the lexical binding code in Emacs 24.
839 839
840@item 840@item
841Morioka Tomohiko wrote several packages for MIME support in Gnus and 841Morioka Tomohiko wrote several packages for MIME support in Gnus and
diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi
index ca8e8f705b4..e20d5a347cd 100644
--- a/doc/emacs/mini.texi
+++ b/doc/emacs/mini.texi
@@ -58,11 +58,11 @@ some initial text ending in a slash. This is the @dfn{default
58directory}. For example, it may start out like this: 58directory}. For example, it may start out like this:
59 59
60@example 60@example
61Find File: /u2/emacs/src/ 61Find file: /u2/emacs/src/
62@end example 62@end example
63 63
64@noindent 64@noindent
65Here, @samp{Find File:@: } is the prompt and @samp{/u2/emacs/src/} is 65Here, @samp{Find file:@: } is the prompt and @samp{/u2/emacs/src/} is
66the default directory. If you now type @kbd{buffer.c} as input, that 66the default directory. If you now type @kbd{buffer.c} as input, that
67specifies the file @file{/u2/emacs/src/buffer.c}. @xref{File Names}, 67specifies the file @file{/u2/emacs/src/buffer.c}. @xref{File Names},
68for information about the default directory. 68for information about the default directory.
@@ -79,7 +79,7 @@ name starting with a slash or a tilde after the default directory.
79For example, you can specify @file{/etc/termcap} as follows: 79For example, you can specify @file{/etc/termcap} as follows:
80 80
81@example 81@example
82Find File: /u2/emacs/src//etc/termcap 82Find file: /u2/emacs/src//etc/termcap
83@end example 83@end example
84 84
85@noindent 85@noindent
@@ -247,7 +247,10 @@ completion.
247completion alternatives (in this case, command names) that start with 247completion alternatives (in this case, command names) that start with
248@samp{au}. There are several, including @code{auto-fill-mode} and 248@samp{au}. There are several, including @code{auto-fill-mode} and
249@code{autoconf-mode}, but they all begin with @code{auto}, so the 249@code{autoconf-mode}, but they all begin with @code{auto}, so the
250@samp{au} in the minibuffer completes to @samp{auto}. 250@samp{au} in the minibuffer completes to @samp{auto}. (More commands
251may be defined in your Emacs session. For example, if a command
252called @code{authorize-me} was defined, Emacs could only complete
253as far as @samp{aut}.)
251 254
252 If you type @key{TAB} again immediately, it cannot determine the 255 If you type @key{TAB} again immediately, it cannot determine the
253next character; it could be @samp{-}, @samp{a}, or @samp{c}. So it 256next character; it could be @samp{-}, @samp{a}, or @samp{c}. So it
@@ -385,7 +388,7 @@ it just submits the argument as you have entered it.
385@item 388@item
386@dfn{Permissive completion with confirmation} is like permissive 389@dfn{Permissive completion with confirmation} is like permissive
387completion, with an exception: if you typed @key{TAB} and this 390completion, with an exception: if you typed @key{TAB} and this
388completed the text up to some intermediate state (i.e. one that is not 391completed the text up to some intermediate state (i.e., one that is not
389yet an exact completion match), typing @key{RET} right afterward does 392yet an exact completion match), typing @key{RET} right afterward does
390not submit the argument. Instead, Emacs asks for confirmation by 393not submit the argument. Instead, Emacs asks for confirmation by
391momentarily displaying @samp{[Confirm]} after the text; type @key{RET} 394momentarily displaying @samp{[Confirm]} after the text; type @key{RET}
@@ -450,8 +453,7 @@ position in the completion alternative.
450@item emacs22 453@item emacs22
451This completion style is similar to @code{basic}, except that it 454This completion style is similar to @code{basic}, except that it
452ignores the text in the minibuffer after point. It is so-named 455ignores the text in the minibuffer after point. It is so-named
453because it corresponds to the completion behavior in Emacs 22 and 456because it corresponds to the completion behavior in Emacs 22.
454earlier.
455@end table 457@end table
456 458
457@noindent 459@noindent
@@ -476,6 +478,18 @@ and initialisms. For example, when completing command names, it
476matches @samp{lch} to @samp{list-command-history}. 478matches @samp{lch} to @samp{list-command-history}.
477@end table 479@end table
478 480
481@noindent
482There is also a very simple completion style called @code{emacs21}.
483In this style, if the text in the minibuffer is @samp{foobar},
484only matches starting with @samp{foobar} are considered.
485
486@vindex completion-category-overrides
487You can use different completion styles in different situations,
488by setting the variable @code{completion-category-overrides}.
489For example, the default setting says to use only @code{basic}
490and @code{substring} completion for buffer names.
491
492
479@node Completion Options 493@node Completion Options
480@subsection Completion Options 494@subsection Completion Options
481 495
@@ -521,7 +535,7 @@ commands never display the completion list buffer; you must type
521@kbd{?} to display the list. If the value is @code{lazy}, Emacs only 535@kbd{?} to display the list. If the value is @code{lazy}, Emacs only
522shows the completion list buffer on the second attempt to complete. 536shows the completion list buffer on the second attempt to complete.
523In other words, if there is nothing to complete, the first @key{TAB} 537In other words, if there is nothing to complete, the first @key{TAB}
524echoes @samp{Next char not unique}; the second @key{TAB} does the 538echoes @samp{Next char not unique}; the second @key{TAB} shows the
525completion list buffer. 539completion list buffer.
526 540
527@vindex completion-cycle-threshold 541@vindex completion-cycle-threshold
@@ -688,7 +702,7 @@ value. @xref{Incremental Search}.
688@vindex command-history 702@vindex command-history
689 The list of previous minibuffer-using commands is stored as a Lisp 703 The list of previous minibuffer-using commands is stored as a Lisp
690list in the variable @code{command-history}. Each element is a Lisp 704list in the variable @code{command-history}. Each element is a Lisp
691expression which describes one command and its arguments. Lisp programs 705expression that describes one command and its arguments. Lisp programs
692can re-execute a command by calling @code{eval} with the 706can re-execute a command by calling @code{eval} with the
693@code{command-history} element. 707@code{command-history} element.
694 708
diff --git a/doc/emacs/msdog-xtra.texi b/doc/emacs/msdog-xtra.texi
index dc50b3d248f..509b9de754d 100644
--- a/doc/emacs/msdog-xtra.texi
+++ b/doc/emacs/msdog-xtra.texi
@@ -199,10 +199,10 @@ of Emacs packages that use fonts (such as @code{font-lock}, Enriched
199Text mode, and others) by defining the relevant faces to use different 199Text mode, and others) by defining the relevant faces to use different
200colors. Use the @code{list-colors-display} command 200colors. Use the @code{list-colors-display} command
201@iftex 201@iftex
202(@pxref{Frame Parameters,,,emacs, the Emacs Manual}) 202(@pxref{Colors,,,emacs, the Emacs Manual})
203@end iftex 203@end iftex
204@ifnottex 204@ifnottex
205(@pxref{Frame Parameters}) 205(@pxref{Colors})
206@end ifnottex 206@end ifnottex
207and the @code{list-faces-display} command 207and the @code{list-faces-display} command
208@iftex 208@iftex
@@ -260,10 +260,10 @@ visible frame smaller than the full screen, but Emacs still cannot
260display more than a single frame at a time. 260display more than a single frame at a time.
261 261
262@cindex frame size under MS-DOS 262@cindex frame size under MS-DOS
263@findex mode4350 263@findex dos-mode4350
264@findex mode25 264@findex dos-mode25
265 The @code{mode4350} command switches the display to 43 or 50 265 The @code{dos-mode4350} command switches the display to 43 or 50
266lines, depending on your hardware; the @code{mode25} command switches 266lines, depending on your hardware; the @code{dos-mode25} command switches
267to the default 80x25 screen size. 267to the default 80x25 screen size.
268 268
269 By default, Emacs only knows how to set screen sizes of 80 columns by 269 By default, Emacs only knows how to set screen sizes of 80 columns by
@@ -394,7 +394,7 @@ different default values on MS-DOS.
394for details about setting up printing to a networked printer. 394for details about setting up printing to a networked printer.
395 395
396 Some printers expect DOS codepage encoding of non-@acronym{ASCII} text, even 396 Some printers expect DOS codepage encoding of non-@acronym{ASCII} text, even
397though they are connected to a Windows machine which uses a different 397though they are connected to a Windows machine that uses a different
398encoding for the same locale. For example, in the Latin-1 locale, DOS 398encoding for the same locale. For example, in the Latin-1 locale, DOS
399uses codepage 850 whereas Windows uses codepage 1252. @xref{MS-DOS and 399uses codepage 850 whereas Windows uses codepage 1252. @xref{MS-DOS and
400MULE}. When you print to such printers from Windows, you can use the 400MULE}. When you print to such printers from Windows, you can use the
@@ -483,7 +483,7 @@ appropriate terminal coding system that is supported by the codepage.
483The special features described in the rest of this section mostly 483The special features described in the rest of this section mostly
484pertain to codepages that encode ISO 8859 character sets. 484pertain to codepages that encode ISO 8859 character sets.
485 485
486 For the codepages which correspond to one of the ISO character sets, 486 For the codepages that correspond to one of the ISO character sets,
487Emacs knows the character set based on the codepage number. Emacs 487Emacs knows the character set based on the codepage number. Emacs
488automatically creates a coding system to support reading and writing 488automatically creates a coding system to support reading and writing
489files that use the current codepage, and uses this coding system by 489files that use the current codepage, and uses this coding system by
@@ -607,9 +607,14 @@ MS-DOS with some network redirector.
607 607
608@cindex directory listing on MS-DOS 608@cindex directory listing on MS-DOS
609@vindex dired-listing-switches @r{(MS-DOS)} 609@vindex dired-listing-switches @r{(MS-DOS)}
610 Dired on MS-DOS uses the @code{ls-lisp} package where other 610 Dired on MS-DOS uses the @code{ls-lisp} package
611platforms use the system @code{ls} command. Therefore, Dired on 611@iftex
612MS-DOS supports only some of the possible options you can mention in 612(@pxref{ls in Lisp,,,emacs, the Emacs Manual}).
613the @code{dired-listing-switches} variable. The options that work are 613@end iftex
614@samp{-A}, @samp{-a}, @samp{-c}, @samp{-i}, @samp{-r}, @samp{-S}, 614@ifnottex
615@samp{-s}, @samp{-t}, and @samp{-u}. 615(@pxref{ls in Lisp}).
616@end ifnottex
617Therefore, Dired on MS-DOS supports only some of the possible options
618you can mention in the @code{dired-listing-switches} variable. The
619options that work are @samp{-A}, @samp{-a}, @samp{-c}, @samp{-i},
620@samp{-r}, @samp{-S}, @samp{-s}, @samp{-t}, and @samp{-u}.
diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi
index 8b050bee439..93bc5f0e4b1 100644
--- a/doc/emacs/msdog.texi
+++ b/doc/emacs/msdog.texi
@@ -159,7 +159,8 @@ save a buffer in a specified EOL format with the @kbd{C-x @key{RET} f}
159command. For example, to save a buffer with Unix EOL format, type 159command. For example, to save a buffer with Unix EOL format, type
160@kbd{C-x @key{RET} f unix @key{RET} C-x C-s}. If you visit a file 160@kbd{C-x @key{RET} f unix @key{RET} C-x C-s}. If you visit a file
161with DOS EOL conversion, then save it with Unix EOL format, that 161with DOS EOL conversion, then save it with Unix EOL format, that
162effectively converts the file to Unix EOL style, like @code{dos2unix}. 162effectively converts the file to Unix EOL style, like the
163@code{dos2unix} program.
163 164
164@cindex untranslated file system 165@cindex untranslated file system
165@findex add-untranslated-filesystem 166@findex add-untranslated-filesystem
@@ -221,7 +222,7 @@ for files which are known to be Windows-style text files with
221carriage-return linefeed EOL format, such as @file{CONFIG.SYS}; Emacs 222carriage-return linefeed EOL format, such as @file{CONFIG.SYS}; Emacs
222always writes those files with Windows-style EOLs. 223always writes those files with Windows-style EOLs.
223 224
224 If a file which belongs to an untranslated file system matches one of 225 If a file that belongs to an untranslated file system matches one of
225the file-name patterns in @code{file-name-buffer-file-type-alist}, the 226the file-name patterns in @code{file-name-buffer-file-type-alist}, the
226EOL conversion is determined by @code{file-name-buffer-file-type-alist}. 227EOL conversion is determined by @code{file-name-buffer-file-type-alist}.
227 228
@@ -263,8 +264,8 @@ FAT32, and XFAT volumes.
263@cindex Dired, and MS-Windows/MS-DOS 264@cindex Dired, and MS-Windows/MS-DOS
264@cindex @code{ls} emulation 265@cindex @code{ls} emulation
265 266
266 Dired normally uses the external program @code{ls} (or its close 267 Dired normally uses the external program @code{ls}
267work-alike) to produce the directory listing displayed in Dired 268to produce the directory listing displayed in Dired
268buffers (@pxref{Dired}). However, MS-Windows and MS-DOS systems don't 269buffers (@pxref{Dired}). However, MS-Windows and MS-DOS systems don't
269come with such a program, although several ports of @sc{gnu} @code{ls} 270come with such a program, although several ports of @sc{gnu} @code{ls}
270are available. Therefore, Emacs on those systems @emph{emulates} 271are available. Therefore, Emacs on those systems @emph{emulates}
@@ -281,8 +282,8 @@ they are described in this section.
281 The @code{ls} emulation supports many of the @code{ls} switches, but 282 The @code{ls} emulation supports many of the @code{ls} switches, but
282it doesn't support all of them. Here's the list of the switches it 283it doesn't support all of them. Here's the list of the switches it
283does support: @option{-A}, @option{-a}, @option{-B}, @option{-C}, 284does support: @option{-A}, @option{-a}, @option{-B}, @option{-C},
284@option{-c}, @option{-i}, @option{-G}, @option{-g}, @option{-R}, 285@option{-c}, @option{-G}, @option{-g}, @option{-h}, @option{-i}, @option{-n},
285@option{-r}, @option{-S}, @option{-s}, @option{-t}, @option{-U}, 286@option{-R}, @option{-r}, @option{-S}, @option{-s}, @option{-t}, @option{-U},
286@option{-u}, and @option{-X}. The @option{-F} switch is partially 287@option{-u}, and @option{-X}. The @option{-F} switch is partially
287supported (it appends the character that classifies the file, but does 288supported (it appends the character that classifies the file, but does
288not prevent symlink following). 289not prevent symlink following).
@@ -413,9 +414,9 @@ value of @code{HOME}.
413 You can override this default value of @code{HOME} by explicitly 414 You can override this default value of @code{HOME} by explicitly
414setting the environment variable @env{HOME} to point to any directory 415setting the environment variable @env{HOME} to point to any directory
415on your system. @env{HOME} can be set either from the command shell 416on your system. @env{HOME} can be set either from the command shell
416prompt or from the @samp{My Computer}s @samp{Properties} dialog. 417prompt or from @samp{Properties} dialog of @samp{My Computer}.
417@code{HOME} can also be set in the system registry, for details see 418@code{HOME} can also be set in the system registry,
418@ref{MS-Windows Registry}. 419@pxref{MS-Windows Registry}.
419 420
420 For compatibility with older versions of Emacs@footnote{ 421 For compatibility with older versions of Emacs@footnote{
421Older versions of Emacs didn't check the application data directory. 422Older versions of Emacs didn't check the application data directory.
@@ -431,9 +432,9 @@ deprecated.
431 Whatever the final place is, Emacs sets the internal value of the 432 Whatever the final place is, Emacs sets the internal value of the
432@env{HOME} environment variable to point to it, and it will use that 433@env{HOME} environment variable to point to it, and it will use that
433location for other files and directories it normally looks for or 434location for other files and directories it normally looks for or
434creates in the user's home directory. 435creates in your home directory.
435 436
436 You can always find out where Emacs thinks is your home directory's 437 You can always find out what Emacs thinks is your home directory's
437location by typing @kbd{C-x d ~/ @key{RET}}. This should present the 438location by typing @kbd{C-x d ~/ @key{RET}}. This should present the
438list of files in the home directory, and show its full name on the 439list of files in the home directory, and show its full name on the
439first line. Likewise, to visit your init file, type @kbd{C-x C-f 440first line. Likewise, to visit your init file, type @kbd{C-x C-f
@@ -510,7 +511,7 @@ otherwise it returns @code{nil}.
510@cindex @kbd{M-@key{TAB}} vs @kbd{Alt-@key{TAB}} (MS-Windows) 511@cindex @kbd{M-@key{TAB}} vs @kbd{Alt-@key{TAB}} (MS-Windows)
511@cindex @kbd{Alt-@key{TAB}} vs @kbd{M-@key{TAB}} (MS-Windows) 512@cindex @kbd{Alt-@key{TAB}} vs @kbd{M-@key{TAB}} (MS-Windows)
512 For example, @code{(w32-register-hot-key [M-tab])} lets you use 513 For example, @code{(w32-register-hot-key [M-tab])} lets you use
513@kbd{M-TAB} normally in Emacs, for instance, to complete the word or 514@kbd{M-TAB} normally in Emacs; for instance, to complete the word or
514symbol at point at top level, or to complete the current search string 515symbol at point at top level, or to complete the current search string
515against previously sought strings during incremental search. 516against previously sought strings during incremental search.
516 517
@@ -589,7 +590,7 @@ of these variables. Passing each of these keys to Windows produces
589its normal effect: for example, @kbd{@key{Lwindow}} opens the 590its normal effect: for example, @kbd{@key{Lwindow}} opens the
590@code{Start} menu, etc.@footnote{ 591@code{Start} menu, etc.@footnote{
591Some combinations of the ``Windows'' keys with other keys are caught 592Some combinations of the ``Windows'' keys with other keys are caught
592by Windows at low level in a way that Emacs currently cannot prevent. 593by Windows at a low level in a way that Emacs currently cannot prevent.
593For example, @kbd{@key{Lwindow} r} always pops up the Windows 594For example, @kbd{@key{Lwindow} r} always pops up the Windows
594@samp{Run} dialog. Customizing the value of 595@samp{Run} dialog. Customizing the value of
595@code{w32-phantom-key-code} might help in some cases, though.} 596@code{w32-phantom-key-code} might help in some cases, though.}
@@ -612,7 +613,7 @@ modifiers.
612@cindex mouse, and MS-Windows 613@cindex mouse, and MS-Windows
613 614
614 This section describes the Windows-specific variables related to 615 This section describes the Windows-specific variables related to
615mouse. 616the mouse.
616 617
617@vindex w32-mouse-button-tolerance 618@vindex w32-mouse-button-tolerance
618@cindex simulation of middle mouse button 619@cindex simulation of middle mouse button
@@ -689,8 +690,8 @@ to do its job.
689@vindex w32-quote-process-args 690@vindex w32-quote-process-args
690 The variable @code{w32-quote-process-args} controls how Emacs quotes 691 The variable @code{w32-quote-process-args} controls how Emacs quotes
691the process arguments. Non-@code{nil} means quote with the @code{"} 692the process arguments. Non-@code{nil} means quote with the @code{"}
692character. If the value is a character, use that character to escape 693character. If the value is a character, Emacs uses that character to escape
693any quote characters that appear; otherwise chose a suitable escape 694any quote characters that appear; otherwise it chooses a suitable escape
694character based on the type of the program. 695character based on the type of the program.
695 696
696@ifnottex 697@ifnottex
@@ -723,7 +724,7 @@ tell Emacs which printer to use.
723 If you want to use your local printer, then set the Lisp variable 724 If you want to use your local printer, then set the Lisp variable
724@code{lpr-command} to @code{""} (its default value on Windows) and 725@code{lpr-command} to @code{""} (its default value on Windows) and
725@code{printer-name} to the name of the printer port---for example, 726@code{printer-name} to the name of the printer port---for example,
726@code{"PRN"}, the usual local printer port or @code{"LPT2"}, or 727@code{"PRN"}, the usual local printer port, or @code{"LPT2"}, or
727@code{"COM1"} for a serial printer. You can also set 728@code{"COM1"} for a serial printer. You can also set
728@code{printer-name} to a file name, in which case ``printed'' output 729@code{printer-name} to a file name, in which case ``printed'' output
729is actually appended to that file. If you set @code{printer-name} to 730is actually appended to that file. If you set @code{printer-name} to
@@ -738,7 +739,7 @@ printers, run the command @samp{net view} from the command prompt to
738obtain a list of servers, and @samp{net view @var{server-name}} to see 739obtain a list of servers, and @samp{net view @var{server-name}} to see
739the names of printers (and directories) shared by that server. 740the names of printers (and directories) shared by that server.
740Alternatively, click the @samp{Network Neighborhood} icon on your 741Alternatively, click the @samp{Network Neighborhood} icon on your
741desktop, and look for machines which share their printers via the 742desktop, and look for machines that share their printers via the
742network. 743network.
743 744
744@cindex @samp{net use}, and printing on MS-Windows 745@cindex @samp{net use}, and printing on MS-Windows
@@ -797,8 +798,8 @@ specified by @code{printer-name}.
797 Finally, if you do have an @code{lpr} work-alike, you can set the 798 Finally, if you do have an @code{lpr} work-alike, you can set the
798variable @code{lpr-command} to @code{"lpr"}. Then Emacs will use 799variable @code{lpr-command} to @code{"lpr"}. Then Emacs will use
799@code{lpr} for printing, as on other systems. (If the name of the 800@code{lpr} for printing, as on other systems. (If the name of the
800program isn't @code{lpr}, set @code{lpr-command} to specify where to 801program isn't @code{lpr}, set @code{lpr-command} to the appropriate value.)
801find it.) The variable @code{lpr-switches} has its standard meaning 802The variable @code{lpr-switches} has its standard meaning
802when @code{lpr-command} is not @code{""}. If the variable 803when @code{lpr-command} is not @code{""}. If the variable
803@code{printer-name} has a string value, it is used as the value for the 804@code{printer-name} has a string value, it is used as the value for the
804@code{-P} option to @code{lpr}, as on Unix. 805@code{-P} option to @code{lpr}, as on Unix.
@@ -822,7 +823,7 @@ ports, and only one of them is a PostScript printer.)
822@cindex Ghostscript, use for PostScript printing 823@cindex Ghostscript, use for PostScript printing
823 The default value of the variable @code{ps-lpr-command} is @code{""}, 824 The default value of the variable @code{ps-lpr-command} is @code{""},
824which causes PostScript output to be sent to the printer port specified 825which causes PostScript output to be sent to the printer port specified
825by @code{ps-printer-name}, but @code{ps-lpr-command} can also be set to 826by @code{ps-printer-name}; but @code{ps-lpr-command} can also be set to
826the name of a program which will accept PostScript files. Thus, if you 827the name of a program which will accept PostScript files. Thus, if you
827have a non-PostScript printer, you can set this variable to the name of 828have a non-PostScript printer, you can set this variable to the name of
828a PostScript interpreter program (such as Ghostscript). Any switches 829a PostScript interpreter program (such as Ghostscript). Any switches
@@ -980,7 +981,7 @@ the system default antialiasing.
980determines whether to make the system caret visible. The default when 981determines whether to make the system caret visible. The default when
981no screen reader software is in use is @code{nil}, which means Emacs 982no screen reader software is in use is @code{nil}, which means Emacs
982draws its own cursor to indicate the position of point. A 983draws its own cursor to indicate the position of point. A
983non-@code{nil} value means Emacs will indicate point location by the 984non-@code{nil} value means Emacs will indicate point location with the
984system caret; this facilitates use of screen reader software, and is 985system caret; this facilitates use of screen reader software, and is
985the default when such software is detected when running Emacs. 986the default when such software is detected when running Emacs.
986When this variable is non-@code{nil}, other variables affecting the 987When this variable is non-@code{nil}, other variables affecting the
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 7e71eca54b9..da9b8c180c4 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -380,12 +380,12 @@
380 380
3812011-02-17 Ken Manheimer <ken.manheimer@gmail.com> 3812011-02-17 Ken Manheimer <ken.manheimer@gmail.com>
382 382
383 * images/icons/allout-widgets/dark-bg/encrypted-locked.png: 383 * images/icons/allout-widgets/dark-bg/locked-encrypted.png:
384 * images/icons/allout-widgets/dark-bg/encrypted-locked.xpm: 384 * images/icons/allout-widgets/dark-bg/locked-encrypted.xpm:
385 * images/icons/allout-widgets/dark-bg/unlocked-encrypted.png: 385 * images/icons/allout-widgets/dark-bg/unlocked-encrypted.png:
386 * images/icons/allout-widgets/dark-bg/unlocked-encrypted.xpm: 386 * images/icons/allout-widgets/dark-bg/unlocked-encrypted.xpm:
387 * images/icons/allout-widgets/light-bg/encrypted-locked.png: 387 * images/icons/allout-widgets/light-bg/locked-encrypted.png:
388 * images/icons/allout-widgets/light-bg/encrypted-locked.xpm: 388 * images/icons/allout-widgets/light-bg/locked-encrypted.xpm:
389 * images/icons/allout-widgets/light-bg/unlocked-encrypted.png: 389 * images/icons/allout-widgets/light-bg/unlocked-encrypted.png:
390 * images/icons/allout-widgets/light-bg/unlocked-encrypted.xpm: 390 * images/icons/allout-widgets/light-bg/unlocked-encrypted.xpm:
391 Reorganize icon directories and files to reconcile against windows 391 Reorganize icon directories and files to reconcile against windows
diff --git a/etc/NEWS b/etc/NEWS
index 583c86b901d..65b6e532fc8 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -965,6 +965,12 @@ Its functions and variables have been similarly renamed.
965** Occur Edit mode applies edits made in *Occur* buffers to the 965** Occur Edit mode applies edits made in *Occur* buffers to the
966original buffers. It is bound to "e" in Occur mode. 966original buffers. It is bound to "e" in Occur mode.
967 967
968** When `occur' is called with the prefix argument `C-u'
969the matching strings are collected into the `*Occur*' buffer
970without line numbers. If there are parenthesized subexpressions
971in the specified regexp, `occur' reads replacement text that
972may contain \\& and \\N whose convention follows `replace-match'.
973
968+++ 974+++
969** New global minor mode electric-pair-mode. 975** New global minor mode electric-pair-mode.
970When enabled, typing an open parenthesis automatically inserts the 976When enabled, typing an open parenthesis automatically inserts the
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 4f025f3051e..d5951bbbe26 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,52 @@
12012-02-23 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * minibuffer.el: Make sure cycling is reset upon edit with icomplete.el.
4 (completion--cache-all-sorted-completions): New function.
5 (completion-all-sorted-completions): Use it.
6 (completion--do-completion, minibuffer-force-complete):
7 Use it to re-instate the flush hook.
8
9 * icomplete.el (icomplete-completions): Replace last fix with a better
10 one (bug#10850).
11
122012-02-23 Dmitry Gutov <dgutov@yandex.ru>
13
14 * emacs-lisp/lisp.el (beginning-of-defun-raw): Don't call end-of-defun
15 when it might call us back infinitely (bug#10797).
16
172012-02-23 Glenn Morris <rgm@gnu.org>
18
19 * minibuffer.el (completion-category-overrides): Doc fix.
20
212012-02-23 Stefan Monnier <monnier@iro.umontreal.ca>
22
23 * minibuffer.el (completion-table-with-context): Fix inf-loop.
24 Reported by Aaron S. Hawley <aaron.s.hawley@gmail.com>.
25
262012-02-23 Glenn Morris <rgm@gnu.org>
27
28 * emacs-lisp/authors.el (authors-aliases, authors-fixed-case)
29 (authors-obsolete-files-regexps, authors-ignored-files)
30 (authors-ambiguous-files, authors-renamed-files-alist):
31 Add more entries.
32
332012-02-23 Juri Linkov <juri@jurta.org>
34
35 * isearch.el (isearch-occur): Sync interactive spec with occur's
36 new feature in `occur-read-primary-args'. Doc fix. (Bug#10705)
37
38 * replace.el (occur-menu-map): Add menu item for `occur-edit-mode'.
39
402012-02-22 Juri Linkov <juri@jurta.org>
41
42 * international/mule-cmds.el (read-char-by-name): Use \` and \'.
43 (ucs-insert): Doc fix. Check for hex digits in the string.
44 Don't display `nil' in the error message. (Bug#10857)
45
462012-02-22 Alan Mackenzie <acm@muc.de>
47
48 * progmodes/cc-mode.el: Revert change #2012-02-06T22:08:41Z!larsi@gnus.org from 2012-02-06.
49
12012-02-22 Glenn Morris <rgm@gnu.org> 502012-02-22 Glenn Morris <rgm@gnu.org>
2 51
3 * ffap.el (ffap-c-path): 52 * ffap.el (ffap-c-path):
@@ -172,7 +221,7 @@
172 221
173 Fix a loop in c-set-fl-decl-start. 222 Fix a loop in c-set-fl-decl-start.
174 223
175 * progmodes/cc-engine (c-set-fl-decl-start): Add a check that 224 * progmodes/cc-engine.el (c-set-fl-decl-start): Add a check that
176 c-backward-syntactic-ws actually moves backwards. 225 c-backward-syntactic-ws actually moves backwards.
177 226
1782012-02-13 Leo Liu <sdl.web@gmail.com> 2272012-02-13 Leo Liu <sdl.web@gmail.com>
@@ -1362,10 +1411,10 @@
1362 1411
1363 Add the switch statement to AWK Mode. 1412 Add the switch statement to AWK Mode.
1364 1413
1365 * progmodes/cc-awk (awk-font-lock-keywords): Add "switch", "case", 1414 * progmodes/cc-awk.el (awk-font-lock-keywords): Add "switch", "case",
1366 "default" to the keywords regexp. 1415 "default" to the keywords regexp.
1367 1416
1368 * progmodes/cc-langs (c-label-kwds): Let AWK take the same 1417 * progmodes/cc-langs.el (c-label-kwds): Let AWK take the same
1369 expression as the rest. 1418 expression as the rest.
1370 (c-nonlabel-token-key): Allow string literals for AWK. 1419 (c-nonlabel-token-key): Allow string literals for AWK.
1371 Refactor for the other modes. 1420 Refactor for the other modes.
@@ -6384,7 +6433,7 @@
6384 * comint.el (comint-password-prompt-regexp): Accept "Response" as 6433 * comint.el (comint-password-prompt-regexp): Accept "Response" as
6385 a password-like phrase. 6434 a password-like phrase.
6386 6435
63872011-06-30 Mastake YAMATO <yamato@redhat.com> 64362011-06-30 Masatake YAMATO <yamato@redhat.com>
6388 6437
6389 * progmodes/cc-guess.el: New file. 6438 * progmodes/cc-guess.el: New file.
6390 6439
@@ -10692,7 +10741,8 @@
10692 (calc-lu-field-reference): Rename from 10741 (calc-lu-field-reference): Rename from
10693 `calc-logunits-field-reference'. 10742 `calc-logunits-field-reference'.
10694 10743
10695 * calc/calc-help (calc-l-prefix-help): Mention musical note functions. 10744 * calc/calc-help.el (calc-l-prefix-help):
10745 Mention musical note functions.
10696 10746
106972011-03-17 Stefan Monnier <monnier@iro.umontreal.ca> 107472011-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
10698 10748
@@ -10868,7 +10918,7 @@
10868 10918
108692011-03-09 Ken Manheimer <ken.manheimer@gmail.com> 109192011-03-09 Ken Manheimer <ken.manheimer@gmail.com>
10870 10920
10871 * allout.el Summary: Change so yank of distinctive-bullet items 10921 * allout.el: Change so yank of distinctive-bullet items
10872 preserves the existing header prefix, rebulleting it if necessary, 10922 preserves the existing header prefix, rebulleting it if necessary,
10873 rather than replacing it. This is necessary for proper operation 10923 rather than replacing it. This is necessary for proper operation
10874 of cooperative addons like allout-widgets. 10924 of cooperative addons like allout-widgets.
diff --git a/lisp/ChangeLog.14 b/lisp/ChangeLog.14
index 6db8f66f0ca..254e2863889 100644
--- a/lisp/ChangeLog.14
+++ b/lisp/ChangeLog.14
@@ -604,7 +604,7 @@
604 * help-at-pt.el (help-at-pt-kbd-string): Reflow docstring. 604 * help-at-pt.el (help-at-pt-kbd-string): Reflow docstring.
605 (scan-buf-previous-region): Fix typo in docstring. 605 (scan-buf-previous-region): Fix typo in docstring.
606 606
6072009-04-14 Edward Wiebe <usenet@pusto.de> (tiny change) 6072009-04-14 Eduard Wiebe <usenet@pusto.de> (tiny change)
608 608
609 * jit-lock.el (jit-lock-stealth-chunk-start): Fix typo in docstring. 609 * jit-lock.el (jit-lock-stealth-chunk-start): Fix typo in docstring.
610 610
diff --git a/lisp/ChangeLog.7 b/lisp/ChangeLog.7
index 5bc9c8a8d25..425268909ea 100644
--- a/lisp/ChangeLog.7
+++ b/lisp/ChangeLog.7
@@ -4115,7 +4115,7 @@
4115 4115
4116 * ffap.el (dired-at-point): Add autoload cookie. 4116 * ffap.el (dired-at-point): Add autoload cookie.
4117 4117
41181998-04-23 Jens Petersen <petersen@kurims.kyoto-u.ac.jp> 41181998-04-23 Jens-Ulrik Petersen <petersen@kurims.kyoto-u.ac.jp>
4119 4119
4120 * ffap.el (dired-at-point-require-prefix): New option. 4120 * ffap.el (dired-at-point-require-prefix): New option.
4121 (dired-at-point): New command. 4121 (dired-at-point): New command.
diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el
index 495144f7252..f12beed3271 100644
--- a/lisp/emacs-lisp/authors.el
+++ b/lisp/emacs-lisp/authors.el
@@ -41,17 +41,21 @@ files.")
41(defconst authors-aliases 41(defconst authors-aliases
42 '( 42 '(
43 ("Aaron S. Hawley" "Aaron Hawley") 43 ("Aaron S. Hawley" "Aaron Hawley")
44 ("Alexandru Harsanyi" "Alex Harsanyi")
44 ("Andrew Csillag" "Drew Csillag") 45 ("Andrew Csillag" "Drew Csillag")
45 ("Anna M. Bigatti" "Anna Bigatti") 46 ("Anna M. Bigatti" "Anna Bigatti")
46 ("Barry A. Warsaw" "Barry A. Warsaw, Century Computing, Inc." 47 ("Barry A. Warsaw" "Barry A. Warsaw, Century Computing, Inc."
47 "Barry A. Warsaw, ITB" "Barry Warsaw") 48 "Barry A. Warsaw, ITB" "Barry Warsaw")
49 ("Bill Carpenter" "WJ Carpenter")
48 ("Bill Mann" "William F. Mann") 50 ("Bill Mann" "William F. Mann")
49 ("Bill Rozas" "Guillermo J. Rozas") 51 ("Bill Rozas" "Guillermo J. Rozas")
50 ("Björn Torkelsson" "Bjorn Torkelsson") 52 ("Björn Torkelsson" "Bjorn Torkelsson")
51 ("Brian Fox" "Brian J. Fox") 53 ("Brian Fox" "Brian J. Fox")
54 ("Brian Sniffen" "Brian T. Sniffen")
52 ("Christoph Wedler" "Christoph.Wedler@sap.com") 55 ("Christoph Wedler" "Christoph.Wedler@sap.com")
53 ("Daniel Pfeiffer" "<Daniel.Pfeiffer@Informatik.START.db.de>" 56 ("Daniel Pfeiffer" "<Daniel.Pfeiffer@Informatik.START.db.de>"
54 "<Daniel.Pfeiffer@Informatik.START.dbp.de>") 57 "<Daniel.Pfeiffer@Informatik.START.dbp.de>")
58 ("David Abrahams" "Dave Abrahams")
55 ("David De La Harpe Golden" "David Golden") 59 ("David De La Harpe Golden" "David Golden")
56 ("David Gillespie" "Dave Gillespie") 60 ("David Gillespie" "Dave Gillespie")
57 ("David KÃ¥gedal" "David K..edal") 61 ("David KÃ¥gedal" "David K..edal")
@@ -77,6 +81,8 @@ files.")
77 ("Gerd Möllmann" "Gerd Moellmann") 81 ("Gerd Möllmann" "Gerd Moellmann")
78 ("Hallvard B. Furuseth" "Hallvard B Furuseth" "Hallvard Furuseth") 82 ("Hallvard B. Furuseth" "Hallvard B Furuseth" "Hallvard Furuseth")
79 ("Hrvoje Nikšić" "Hrvoje Niksic") 83 ("Hrvoje Nikšić" "Hrvoje Niksic")
84 ;; lisp/org/ChangeLog 2010-11-11.
85 (nil "aaa bbb")
80 ;; src/ChangeLog.4, 1994-01-11, since fixed. 86 ;; src/ChangeLog.4, 1994-01-11, since fixed.
81;;; (nil "(afs@hplb.hpl.hp.com)") 87;;; (nil "(afs@hplb.hpl.hp.com)")
82 ;; lisp/gnus/ChangeLog.1, 1998-01-15. 88 ;; lisp/gnus/ChangeLog.1, 1998-01-15.
@@ -93,6 +99,7 @@ files.")
93 ("Jens-Ulrik Holger Petersen" "Jens-Ulrik Petersen") 99 ("Jens-Ulrik Holger Petersen" "Jens-Ulrik Petersen")
94 ("Jeremy Bertram Maitin-Shepard" "Jeremy Maitin-Shepard") 100 ("Jeremy Bertram Maitin-Shepard" "Jeremy Maitin-Shepard")
95 ("Johan Bockgård" "Johan Bockgard") 101 ("Johan Bockgård" "Johan Bockgard")
102 ("John J Foerch" "John Foerch")
96 ("John W. Eaton" "John Eaton") 103 ("John W. Eaton" "John Eaton")
97 ("Jonathan I. Kamens" "Jonathan Kamens") 104 ("Jonathan I. Kamens" "Jonathan Kamens")
98 ("Joseph Arceneaux" "Joe Arceneaux") 105 ("Joseph Arceneaux" "Joe Arceneaux")
@@ -110,10 +117,11 @@ files.")
110 ("Kevin Greiner" "Kevin J. Greiner") 117 ("Kevin Greiner" "Kevin J. Greiner")
111 ("Kim F. Storm" "Kim Storm") 118 ("Kim F. Storm" "Kim Storm")
112 ("Kyle Jones" "Kyle E. Jones") 119 ("Kyle Jones" "Kyle E. Jones")
120 ("Lars Magne Ingebrigtsen" "Lars Ingebrigtsen")
113 ("Marcus G. Daniels" "Marcus Daniels") 121 ("Marcus G. Daniels" "Marcus Daniels")
114 ("Mark D. Baushke" "Mark D Baushke") 122 ("Mark D. Baushke" "Mark D Baushke")
115 ("Marko Kohtala" "Kohtala Marko") 123 ("Marko Kohtala" "Kohtala Marko")
116 ("Agustín Martín" "Agustin Martin") 124 ("Agustín Martín" "Agustin Martin" "Agustín Martín Domingo")
117 ("Martin Lorentzon" "Martin Lorentzson") 125 ("Martin Lorentzon" "Martin Lorentzson")
118 ("Matt Swift" "Matthew Swift") 126 ("Matt Swift" "Matthew Swift")
119 ("Maxime Edouard Robert Froumentin" "Max Froumentin") 127 ("Maxime Edouard Robert Froumentin" "Max Froumentin")
@@ -125,12 +133,14 @@ files.")
125 ("Michael Sperber" "Michael Sperber \\[Mr. Preprocessor\\]") 133 ("Michael Sperber" "Michael Sperber \\[Mr. Preprocessor\\]")
126 ("Mikio Nakajima" "Nakajima Mikio") 134 ("Mikio Nakajima" "Nakajima Mikio")
127 ("Nelson Jose dos Santos Ferreira" "Nelson Ferreira") 135 ("Nelson Jose dos Santos Ferreira" "Nelson Ferreira")
136 ("Noorul Islam" "Noorul Islam K M")
128 ("Paul Eggert" "eggert") 137 ("Paul Eggert" "eggert")
129 ("Paul Reilly" "(pmr@legacy.pajato.com)") 138 ("Paul Reilly" "(pmr@legacy.pajato.com)")
130 ("Pavel Janík" "Pavel Janík Ml." "Pavel Janik Ml." "Pavel Janik" "Pavel Janík" "Pavel@Janik.Cz") 139 ("Pavel Janík" "Pavel Janík Ml." "Pavel Janik Ml." "Pavel Janik" "Pavel Janík" "Pavel@Janik.Cz")
131 ("Pavel Kobiakov" "Pavel Kobyakov") 140 ("Pavel Kobiakov" "Pavel Kobyakov")
132 ("Per Abrahamsen" "Per Abhiddenware") 141 ("Per Abrahamsen" "Per Abhiddenware")
133 ("Per Starbäck" "Per Starback") 142 ("Per Starbäck" "Per Starback")
143 ("Peter J. Weisberg" "PJ Weisberg")
134 ("Peter S. Galbraith" "Peter Galbraith") 144 ("Peter S. Galbraith" "Peter Galbraith")
135 ("Peter Runestig" "Peter 'luna' Runestig") 145 ("Peter Runestig" "Peter 'luna' Runestig")
136 ("Peter S. Galbraith" "Peter S Galbraith") 146 ("Peter S. Galbraith" "Peter S Galbraith")
@@ -145,16 +155,19 @@ files.")
145 ("Sacha Chua" "Sandra Jean Chua") 155 ("Sacha Chua" "Sandra Jean Chua")
146 ("Sam Steingold" "Sam Shteingold") 156 ("Sam Steingold" "Sam Shteingold")
147 ("Satyaki Das" "Indexed search by Satyaki Das") 157 ("Satyaki Das" "Indexed search by Satyaki Das")
158 ("Sébastien Vauban" "Sebastien Vauban")
148 ;; There are other Stefans. 159 ;; There are other Stefans.
149;;; ("Stefan Monnier" "Stefan") 160;;; ("Stefan Monnier" "Stefan")
150 ("Stephen A. Wood" "(saw@cebaf.gov)") 161 ("Stephen A. Wood" "(saw@cebaf.gov)")
151 ("Steven L. Baur" "SL Baur" "Steven L Baur") 162 ("Steven L. Baur" "SL Baur" "Steven L Baur")
152 ("Stewart M. Clamen" "Stewart Clamen") 163 ("Stewart M. Clamen" "Stewart Clamen")
153 ("Stuart D. Herring" "Stuart Herring" "Davis Herring") 164 ("Stuart D. Herring" "Stuart Herring" "Davis Herring")
165 ("T.V. Raman" "T\\. V\\. Raman")
154 ("Taichi Kawabata" "KAWABATA,? Taichi") 166 ("Taichi Kawabata" "KAWABATA,? Taichi")
155 ("Takaaki Ota" "Tak Ota") 167 ("Takaaki Ota" "Tak Ota")
156 ("Takahashi Naoto" "Naoto Takahashi") 168 ("Takahashi Naoto" "Naoto Takahashi")
157 ("Teodor Zlatanov" "Ted Zlatanov") 169 ("Teodor Zlatanov" "Ted Zlatanov")
170 ("Thomas Dye" "Tom Dye")
158 ("Thomas Horsley" "Tom Horsley") ; FIXME ? 171 ("Thomas Horsley" "Tom Horsley") ; FIXME ?
159 ("Thomas Wurgler" "Tom Wurgler") 172 ("Thomas Wurgler" "Tom Wurgler")
160 ("Tomohiko Morioka" "MORIOKA Tomohiko") 173 ("Tomohiko Morioka" "MORIOKA Tomohiko")
@@ -175,6 +188,7 @@ Each entry is of the form (REALNAME REGEXP...). If an author's name
175matches one of the REGEXPs, use REALNAME instead. 188matches one of the REGEXPs, use REALNAME instead.
176If REALNAME is nil, ignore that author.") 189If REALNAME is nil, ignore that author.")
177 190
191;; FIXME seems it would be less fragile to check for O', Mc, etc.
178(defconst authors-fixed-case 192(defconst authors-fixed-case
179 '("Bryan O'Sullivan" 193 '("Bryan O'Sullivan"
180 "Christian von Roques" 194 "Christian von Roques"
@@ -183,6 +197,7 @@ If REALNAME is nil, ignore that author.")
183 "David J. MacKenzie" 197 "David J. MacKenzie"
184 "David McCabe" 198 "David McCabe"
185 "David O'Toole" 199 "David O'Toole"
200 "Devon Sean McCullough"
186 "Dominique de Waleffe" 201 "Dominique de Waleffe"
187 "Edward O'Connor" 202 "Edward O'Connor"
188 "Exal de Jesus Garcia Carrillo" 203 "Exal de Jesus Garcia Carrillo"
@@ -195,8 +210,11 @@ If REALNAME is nil, ignore that author.")
195 "Nelson Jose dos Santos Ferreira" 210 "Nelson Jose dos Santos Ferreira"
196 "Peter von der Ahe" 211 "Peter von der Ahe"
197 "Peter O'Gorman" 212 "Peter O'Gorman"
213 "Piet van Oostrum"
198 "Roland McGrath" 214 "Roland McGrath"
199 "Sean O'Rourke") 215 "Sean O'Halpin"
216 "Sean O'Rourke"
217 "Tijs van Bakel")
200 "List of authors whose names cannot be simply capitalized.") 218 "List of authors whose names cannot be simply capitalized.")
201 219
202(defvar authors-public-domain-files 220(defvar authors-public-domain-files
@@ -223,11 +241,12 @@ If REALNAME is nil, ignore that author.")
223 ".*loaddefs.el$" ; not obsolete, but auto-generated 241 ".*loaddefs.el$" ; not obsolete, but auto-generated
224 "\\.\\(cvs\\|git\\)ignore$" ; obsolete or uninteresting 242 "\\.\\(cvs\\|git\\)ignore$" ; obsolete or uninteresting
225 "\\.arch-inventory$" 243 "\\.arch-inventory$"
244 ;; TODO lib/? Matches other things?
245 "build-aux/" "m4/" "Emacs.xcodeproj" "charsets" "mapfiles"
226 "preferences\\.\\(nib\\|gorm\\)" 246 "preferences\\.\\(nib\\|gorm\\)"
227 "vc-\\(rcs\\|cvs\\|sccs\\)-hooks\\.el$") 247 "vc-\\(rcs\\|cvs\\|sccs\\)-hooks\\.el$")
228 "List of regexps matching obsolete files. 248 "List of regexps matching obsolete files.
229Changes to files matching one of the regexps in this list are not 249Changes to files matching one of the regexps in this list are not listed.")
230listed.")
231 250
232(defconst authors-ignored-files 251(defconst authors-ignored-files
233 '("external-lisp" 252 '("external-lisp"
@@ -258,7 +277,12 @@ listed.")
258 "*.el" 277 "*.el"
259 ;; Autogen: 278 ;; Autogen:
260 "cus-load.el" "finder-inf.el" "ldefs-boot.el" 279 "cus-load.el" "finder-inf.el" "ldefs-boot.el"
280 "compile" "config.guess" "config.sub" "depcomp"
281 ;; Only existed briefly, then renamed:
282 "images/icons/allout-widgets-dark-bg"
283 "images/icons/allout-widgets-light-bg"
261 ;; Never had any meaningful changes logged, now deleted: 284 ;; Never had any meaningful changes logged, now deleted:
285 "unidata/bidimirror.awk" "unidata/biditype.awk"
262 "split-man" "Xkeymap.txt" "ms-7bkermit" "ulimit.hack" 286 "split-man" "Xkeymap.txt" "ms-7bkermit" "ulimit.hack"
263 "gnu-hp300" "refcard.bit" "ledit.l" "forms.README" "forms-d2.dat" 287 "gnu-hp300" "refcard.bit" "ledit.l" "forms.README" "forms-d2.dat"
264 "CXTERM-DIC/PY.tit" "CXTERM-DIC/ZIRANMA.tit" 288 "CXTERM-DIC/PY.tit" "CXTERM-DIC/ZIRANMA.tit"
@@ -309,29 +333,47 @@ Changes to files in this list are not listed.")
309 "complete.el" 333 "complete.el"
310 "cpp.el" 334 "cpp.el"
311 "ctxt.el" 335 "ctxt.el"
336 "custom.el"
337 "cyrillic.el"
338 "czech.el"
312 "debug.el" 339 "debug.el"
313 "dired.el" 340 "dired.el"
314 "el.el" 341 "el.el"
342 "eshell.el"
343 "ethiopic.el"
344 "f90.el"
315 "files.el" 345 "files.el"
316 "find.el" 346 "find.el"
317 "format.el" 347 "format.el"
348 "generic.el"
349 "georgian.el"
350 "greek.el"
318 "grep.el" 351 "grep.el"
352 "hebrew.el"
319 "imenu.el" 353 "imenu.el"
354 "indian.el"
355 "japanese.el"
320 "java.el" 356 "java.el"
357 "lao.el"
321 "linux.el" 358 "linux.el"
322 "locate.el" 359 "locate.el"
323 "make.el" 360 "make.el"
324 "mode.el" 361 "mode.el"
325 "python.el" 362 "python.el"
363 "rmailmm.el"
326 "semantic.el" 364 "semantic.el"
327 "shell.el" 365 "shell.el"
328 "simple.el" 366 "simple.el"
367 "slovak.el"
329 "sort.el" 368 "sort.el"
330 "speedbar.el" 369 "speedbar.el"
331 "srecode.el" 370 "srecode.el"
332 "table.el" 371 "table.el"
333 "texi.el" 372 "texi.el"
373 "thai.el"
374 "tibetan.el"
334 "util.el" 375 "util.el"
376 "vc-bzr.el"
335 "wisent.el") 377 "wisent.el")
336 "List of basenames occurring more than once in the source.") 378 "List of basenames occurring more than once in the source.")
337 379
@@ -589,6 +631,7 @@ in the repository.")
589 ("texi/url.txi" . "url.texi") 631 ("texi/url.txi" . "url.texi")
590 ("edt-user.doc" . "edt.texi") 632 ("edt-user.doc" . "edt.texi")
591 ("DEV-NOTES" . "nextstep") 633 ("DEV-NOTES" . "nextstep")
634 ("org/COPYRIGHT-AND-LICENSE" . "org/README")
592 ;; Moved to different directories. 635 ;; Moved to different directories.
593 ("ctags.1" . "ctags.1") 636 ("ctags.1" . "ctags.1")
594 ("etags.1" . "etags.1") 637 ("etags.1" . "etags.1")
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el
index 8c53ad58612..4efdc3240cd 100644
--- a/lisp/emacs-lisp/lisp.el
+++ b/lisp/emacs-lisp/lisp.el
@@ -257,9 +257,8 @@ is called as a function to find the defun's beginning."
257 (if (> arg 0) 257 (if (> arg 0)
258 (dotimes (i arg) 258 (dotimes (i arg)
259 (funcall beginning-of-defun-function)) 259 (funcall beginning-of-defun-function))
260 ;; Better not call end-of-defun-function directly, in case 260 (dotimes (i (- arg))
261 ;; it's not defined. 261 (funcall end-of-defun-function))))))
262 (end-of-defun (- arg))))))
263 262
264 ((or defun-prompt-regexp open-paren-in-column-0-is-defun-start) 263 ((or defun-prompt-regexp open-paren-in-column-0-is-defun-start)
265 (and (< arg 0) (not (eobp)) (forward-char 1)) 264 (and (< arg 0) (not (eobp)) (forward-char 1))
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index c9fd83aaaa0..0729fb90c48 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -2094,11 +2094,6 @@
2094 (gnus-registry--split-fancy-with-parent-internal): Fix splitting bugs 2094 (gnus-registry--split-fancy-with-parent-internal): Fix splitting bugs
2095 and provide better messaging. 2095 and provide better messaging.
2096 2096
20972011-04-06 David Engster <dengste@eml.cc>
2098
2099 * Makefile.in (fail-on-warning): New rule to compile with warnings as
2100 errors.
2101
21022011-04-06 Teodor Zlatanov <tzz@lifelogs.com> 20972011-04-06 Teodor Zlatanov <tzz@lifelogs.com>
2103 2098
2104 * gnus-registry.el: Don't use ERT if it's not available. Load it 2099 * gnus-registry.el: Don't use ERT if it's not available. Load it
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index a9719651957..97a14b12891 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -333,23 +333,23 @@ are exhibited within the square braces.)"
333 (window-width))) 333 (window-width)))
334 (prefix-len 334 (prefix-len
335 ;; Find the common prefix among `comps'. 335 ;; Find the common prefix among `comps'.
336 (if (eq t (compare-strings (car comps) nil (length most) 336 ;; We can't use the optimization below because its assumptions
337 most nil nil completion-ignore-case)) 337 ;; aren't always true, e.g. when completion-cycling (bug#10850):
338 ;; Common case. 338 ;; (if (eq t (compare-strings (car comps) nil (length most)
339 (length most) 339 ;; most nil nil completion-ignore-case))
340 ;; Else, use try-completion. 340 ;; ;; Common case.
341 (let ((comps-prefix (try-completion "" comps))) 341 ;; (length most)
342 (and (stringp comps-prefix) 342 ;; Else, use try-completion.
343 (length comps-prefix))))) 343 (let ((comps-prefix (try-completion "" comps)))
344 (and (stringp comps-prefix)
345 (length comps-prefix)))) ;;)
344 346
345 prospects most-is-exact comp limit) 347 prospects most-is-exact comp limit)
346 (if (eq most-try t) ;; (or (null (cdr comps)) 348 (if (eq most-try t) ;; (or (null (cdr comps))
347 (setq prospects nil) 349 (setq prospects nil)
348 (while (and comps (not limit)) 350 (while (and comps (not limit))
349 (setq comp 351 (setq comp
350 (if (and prefix-len (<= prefix-len (length (car comps)))) 352 (if prefix-len (substring (car comps) prefix-len) (car comps))
351 (substring (car comps) prefix-len)
352 (car comps))
353 comps (cdr comps)) 353 comps (cdr comps))
354 (cond ((string-equal comp "") (setq most-is-exact t)) 354 (cond ((string-equal comp "") (setq most-is-exact t))
355 ((member comp prospects)) 355 ((member comp prospects))
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index a7fac427e41..debc328c551 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -2949,9 +2949,9 @@ point or a number in hash notation, e.g. #o21430 for octal,
2949 '(metadata (category . unicode-name)) 2949 '(metadata (category . unicode-name))
2950 (complete-with-action action (ucs-names) string pred)))))) 2950 (complete-with-action action (ucs-names) string pred))))))
2951 (cond 2951 (cond
2952 ((string-match-p "^[0-9a-fA-F]+$" input) 2952 ((string-match-p "\\`[0-9a-fA-F]+\\'" input)
2953 (string-to-number input 16)) 2953 (string-to-number input 16))
2954 ((string-match-p "^#" input) 2954 ((string-match-p "\\`#" input)
2955 (read input)) 2955 (read input))
2956 (t 2956 (t
2957 (cdr (assoc-string input (ucs-names) t)))))) 2957 (cdr (assoc-string input (ucs-names) t))))))
@@ -2967,6 +2967,10 @@ preceded by an asterisk `*' and use completion, it will show all
2967the characters whose names include that substring, not necessarily 2967the characters whose names include that substring, not necessarily
2968at the beginning of the name. 2968at the beginning of the name.
2969 2969
2970This function also accepts a hexadecimal number of Unicode code
2971point or a number in hash notation, e.g. #o21430 for octal,
2972#x2318 for hex, or #10r8984 for decimal.
2973
2970The optional third arg INHERIT (non-nil when called interactively), 2974The optional third arg INHERIT (non-nil when called interactively),
2971says to inherit text properties from adjoining text, if those 2975says to inherit text properties from adjoining text, if those
2972properties are sticky." 2976properties are sticky."
@@ -2975,9 +2979,12 @@ properties are sticky."
2975 (prefix-numeric-value current-prefix-arg) 2979 (prefix-numeric-value current-prefix-arg)
2976 t)) 2980 t))
2977 (unless count (setq count 1)) 2981 (unless count (setq count 1))
2978 (if (stringp character) 2982 (if (and (stringp character)
2983 (string-match-p "\\`[0-9a-fA-F]+\\'" character))
2979 (setq character (string-to-number character 16))) 2984 (setq character (string-to-number character 16)))
2980 (cond 2985 (cond
2986 ((null character)
2987 (error "Not a Unicode character"))
2981 ((not (integerp character)) 2988 ((not (integerp character))
2982 (error "Not a Unicode character code: %S" character)) 2989 (error "Not a Unicode character code: %S" character))
2983 ((or (< character 0) (> character #x10FFFF)) 2990 ((or (< character 0) (> character #x10FFFF))
diff --git a/lisp/isearch.el b/lisp/isearch.el
index 27b82940043..9d69443b6a4 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -1433,16 +1433,38 @@ See `isearch-query-replace' for more information."
1433 (isearch-query-replace delimited t)) 1433 (isearch-query-replace delimited t))
1434 1434
1435(defun isearch-occur (regexp &optional nlines) 1435(defun isearch-occur (regexp &optional nlines)
1436 "Run `occur' with regexp to search from the current search string. 1436 "Run `occur' using the last search string as the regexp.
1437Interactively, REGEXP is the current search regexp or a quoted search 1437Interactively, REGEXP is constructed using the search string from the
1438string. NLINES has the same meaning as in `occur'." 1438last search command. NLINES has the same meaning as in `occur'.
1439
1440If the last search command was a word search, REGEXP is computed from
1441the search words, ignoring punctuation. If the last search
1442command was a regular expression search, REGEXP is the regular
1443expression used in that search. If the last search command searched
1444for a literal string, REGEXP is constructed by quoting all the special
1445characters in that string."
1439 (interactive 1446 (interactive
1440 (list 1447 (let* ((perform-collect (consp current-prefix-arg))
1441 (cond 1448 (regexp (cond
1442 (isearch-word (word-search-regexp isearch-string)) 1449 (isearch-word (word-search-regexp isearch-string))
1443 (isearch-regexp isearch-string) 1450 (isearch-regexp isearch-string)
1444 (t (regexp-quote isearch-string))) 1451 (t (regexp-quote isearch-string)))))
1445 (if current-prefix-arg (prefix-numeric-value current-prefix-arg)))) 1452 (list regexp
1453 (if perform-collect
1454 ;; Perform collect operation
1455 (if (zerop (regexp-opt-depth regexp))
1456 ;; No subexpression so collect the entire match.
1457 "\\&"
1458 ;; Get the regexp for collection pattern.
1459 (isearch-done nil t)
1460 (isearch-clean-overlays)
1461 (let ((default (car occur-collect-regexp-history)))
1462 (read-string
1463 (format "Regexp to collect (default %s): " default)
1464 nil 'occur-collect-regexp-history default)))
1465 ;; Otherwise normal occur takes numerical prefix argument.
1466 (when current-prefix-arg
1467 (prefix-numeric-value current-prefix-arg))))))
1446 (let ((case-fold-search isearch-case-fold-search) 1468 (let ((case-fold-search isearch-case-fold-search)
1447 ;; Set `search-upper-case' to nil to not call 1469 ;; Set `search-upper-case' to nil to not call
1448 ;; `isearch-no-upper-case-p' in `occur-1'. 1470 ;; `isearch-no-upper-case-p' in `occur-1'.
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 8564cc2009b..1fdf33bf610 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -226,30 +226,31 @@ case sensitive instead."
226 226
227(defun completion-table-with-context (prefix table string pred action) 227(defun completion-table-with-context (prefix table string pred action)
228 ;; TODO: add `suffix' maybe? 228 ;; TODO: add `suffix' maybe?
229 ;; Notice that `pred' may not be a function in some abusive cases. 229 (let ((pred
230 (when (functionp pred) 230 (if (not (functionp pred))
231 (setq pred 231 ;; Notice that `pred' may not be a function in some abusive cases.
232 ;; Predicates are called differently depending on the nature of 232 pred
233 ;; the completion table :-( 233 ;; Predicates are called differently depending on the nature of
234 (cond 234 ;; the completion table :-(
235 ((vectorp table) ;Obarray. 235 (cond
236 (lambda (sym) (funcall pred (concat prefix (symbol-name sym))))) 236 ((vectorp table) ;Obarray.
237 ((hash-table-p table) 237 (lambda (sym) (funcall pred (concat prefix (symbol-name sym)))))
238 (lambda (s _v) (funcall pred (concat prefix s)))) 238 ((hash-table-p table)
239 ((functionp table) 239 (lambda (s _v) (funcall pred (concat prefix s))))
240 (lambda (s) (funcall pred (concat prefix s)))) 240 ((functionp table)
241 (t ;Lists and alists. 241 (lambda (s) (funcall pred (concat prefix s))))
242 (lambda (s) 242 (t ;Lists and alists.
243 (funcall pred (concat prefix (if (consp s) (car s) s)))))))) 243 (lambda (s)
244 (if (eq (car-safe action) 'boundaries) 244 (funcall pred (concat prefix (if (consp s) (car s) s)))))))))
245 (let* ((len (length prefix)) 245 (if (eq (car-safe action) 'boundaries)
246 (bound (completion-boundaries string table pred (cdr action)))) 246 (let* ((len (length prefix))
247 (list* 'boundaries (+ (car bound) len) (cdr bound))) 247 (bound (completion-boundaries string table pred (cdr action))))
248 (let ((comp (complete-with-action action table string pred))) 248 (list* 'boundaries (+ (car bound) len) (cdr bound)))
249 (cond 249 (let ((comp (complete-with-action action table string pred)))
250 ;; In case of try-completion, add the prefix. 250 (cond
251 ((stringp comp) (concat prefix comp)) 251 ;; In case of try-completion, add the prefix.
252 (t comp))))) 252 ((stringp comp) (concat prefix comp))
253 (t comp))))))
253 254
254(defun completion-table-with-terminator (terminator table string pred action) 255(defun completion-table-with-terminator (terminator table string pred action)
255 "Construct a completion table like TABLE but with an extra TERMINATOR. 256 "Construct a completion table like TABLE but with an extra TERMINATOR.
@@ -509,7 +510,9 @@ styles for specific categories, such as files, buffers, etc."
509Each override has the shape (CATEGORY . ALIST) where ALIST is 510Each override has the shape (CATEGORY . ALIST) where ALIST is
510an association list that can specify properties such as: 511an association list that can specify properties such as:
511- `styles': the list of `completion-styles' to use for that category. 512- `styles': the list of `completion-styles' to use for that category.
512- `cycle': the `completion-cycle-threshold' to use for that category." 513- `cycle': the `completion-cycle-threshold' to use for that category.
514Categories are symbols such as `buffer' and `file', used when
515completing buffer and file names, respectively."
513 :version "24.1" 516 :version "24.1"
514 :type `(alist :key-type (choice :tag "Category" 517 :type `(alist :key-type (choice :tag "Category"
515 (const buffer) 518 (const buffer)
@@ -702,23 +705,23 @@ when the buffer's text is already an exact match."
702 705
703 ;; It did find a match. Do we match some possibility exactly now? 706 ;; It did find a match. Do we match some possibility exactly now?
704 (let* ((exact (test-completion completion 707 (let* ((exact (test-completion completion
705 minibuffer-completion-table 708 minibuffer-completion-table
706 minibuffer-completion-predicate)) 709 minibuffer-completion-predicate))
707 (threshold (completion--cycle-threshold md)) 710 (threshold (completion--cycle-threshold md))
708 (comps 711 (comps
709 ;; Check to see if we want to do cycling. We do it 712 ;; Check to see if we want to do cycling. We do it
710 ;; here, after having performed the normal completion, 713 ;; here, after having performed the normal completion,
711 ;; so as to take advantage of the difference between 714 ;; so as to take advantage of the difference between
712 ;; try-completion and all-completions, for things 715 ;; try-completion and all-completions, for things
713 ;; like completion-ignored-extensions. 716 ;; like completion-ignored-extensions.
714 (when (and threshold 717 (when (and threshold
715 ;; Check that the completion didn't make 718 ;; Check that the completion didn't make
716 ;; us jump to a different boundary. 719 ;; us jump to a different boundary.
717 (or (not completed) 720 (or (not completed)
718 (< (car (completion-boundaries 721 (< (car (completion-boundaries
719 (substring completion 0 comp-pos) 722 (substring completion 0 comp-pos)
720 minibuffer-completion-table 723 minibuffer-completion-table
721 minibuffer-completion-predicate 724 minibuffer-completion-predicate
722 "")) 725 ""))
723 comp-pos))) 726 comp-pos)))
724 (completion-all-sorted-completions)))) 727 (completion-all-sorted-completions))))
@@ -732,7 +735,7 @@ when the buffer's text is already an exact match."
732 ;; Fewer than completion-cycle-threshold remaining 735 ;; Fewer than completion-cycle-threshold remaining
733 ;; completions: let's cycle. 736 ;; completions: let's cycle.
734 (setq completed t exact t) 737 (setq completed t exact t)
735 (setq completion-all-sorted-completions comps) 738 (completion--cache-all-sorted-completions comps)
736 (minibuffer-force-complete)) 739 (minibuffer-force-complete))
737 (completed 740 (completed
738 ;; We could also decide to refresh the completions, 741 ;; We could also decide to refresh the completions,
@@ -797,6 +800,11 @@ scroll the window of possible completions."
797 (#b000 nil) 800 (#b000 nil)
798 (t t))))) 801 (t t)))))
799 802
803(defun completion--cache-all-sorted-completions (comps)
804 (add-hook 'after-change-functions
805 'completion--flush-all-sorted-completions nil t)
806 (setq completion-all-sorted-completions comps))
807
800(defun completion--flush-all-sorted-completions (&rest _ignore) 808(defun completion--flush-all-sorted-completions (&rest _ignore)
801 (remove-hook 'after-change-functions 809 (remove-hook 'after-change-functions
802 'completion--flush-all-sorted-completions t) 810 'completion--flush-all-sorted-completions t)
@@ -845,10 +853,7 @@ scroll the window of possible completions."
845 ;; Cache the result. This is not just for speed, but also so that 853 ;; Cache the result. This is not just for speed, but also so that
846 ;; repeated calls to minibuffer-force-complete can cycle through 854 ;; repeated calls to minibuffer-force-complete can cycle through
847 ;; all possibilities. 855 ;; all possibilities.
848 (add-hook 'after-change-functions 856 (completion--cache-all-sorted-completions (nconc all base-size))))))
849 'completion--flush-all-sorted-completions nil t)
850 (setq completion-all-sorted-completions
851 (nconc all base-size))))))
852 857
853(defun minibuffer-force-complete () 858(defun minibuffer-force-complete ()
854 "Complete the minibuffer to an exact match. 859 "Complete the minibuffer to an exact match.
@@ -872,9 +877,10 @@ Repeated uses step through the possible completions."
872 (completion--done (buffer-substring-no-properties start (point)) 877 (completion--done (buffer-substring-no-properties start (point))
873 'finished (unless mod "Sole completion")))) 878 'finished (unless mod "Sole completion"))))
874 (t 879 (t
875 (setq completion-cycling t)
876 (completion--replace base end (car all)) 880 (completion--replace base end (car all))
877 (completion--done (buffer-substring-no-properties start (point)) 'sole) 881 (completion--done (buffer-substring-no-properties start (point)) 'sole)
882 ;; Set cycling after modifying the buffer since the flush hook resets it.
883 (setq completion-cycling t)
878 ;; If completing file names, (car all) may be a directory, so we'd now 884 ;; If completing file names, (car all) may be a directory, so we'd now
879 ;; have a new set of possible completions and might want to reset 885 ;; have a new set of possible completions and might want to reset
880 ;; completion-all-sorted-completions to nil, but we prefer not to, 886 ;; completion-all-sorted-completions to nil, but we prefer not to,
@@ -882,7 +888,7 @@ Repeated uses step through the possible completions."
882 ;; through the previous possible completions. 888 ;; through the previous possible completions.
883 (let ((last (last all))) 889 (let ((last (last all)))
884 (setcdr last (cons (car all) (cdr last))) 890 (setcdr last (cons (car all) (cdr last)))
885 (setq completion-all-sorted-completions (cdr all))))))) 891 (completion--cache-all-sorted-completions (cdr all)))))))
886 892
887(defvar minibuffer-confirm-exit-commands 893(defvar minibuffer-confirm-exit-commands
888 '(minibuffer-complete minibuffer-complete-word PC-complete PC-complete-word) 894 '(minibuffer-complete minibuffer-complete-word PC-complete PC-complete-word)
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog
index a2f83eecce5..392fe25202f 100644
--- a/lisp/org/ChangeLog
+++ b/lisp/org/ChangeLog
@@ -440,7 +440,7 @@
440 440
4412012-01-03 Michael Brand <michael.ch.brand@gmail.com> 4412012-01-03 Michael Brand <michael.ch.brand@gmail.com>
442 442
443 * org.el Key bindings: remap the Outline functions from 443 * org.el (Key bindings): remap the Outline functions from
444 `outline-mode-prefix-map' where possible. 444 `outline-mode-prefix-map' where possible.
445 445
4462012-01-03 Christian Moe <mail@christianmoe.com> (tiny change) 4462012-01-03 Christian Moe <mail@christianmoe.com> (tiny change)
@@ -539,9 +539,7 @@
539 (org-odt-styles-dir, org-export-odt-schema-dir): New 539 (org-odt-styles-dir, org-export-odt-schema-dir): New
540 variables. 540 variables.
541 541
542 * org-odt.el: New file. 542 * org-odt.el, org-lparse.el: New files.
543
544 * org-lparse: New file.
545 543
5462012-01-03 Carsten Dominik <carsten.dominik@gmail.com> 5442012-01-03 Carsten Dominik <carsten.dominik@gmail.com>
547 545
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index 2eb00e72a76..985214db1dc 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -1156,8 +1156,7 @@ Note that the style variables are always made local to the buffer."
1156 ;; `c-set-fl-decl-start' for the detailed functionality. 1156 ;; `c-set-fl-decl-start' for the detailed functionality.
1157 (cons (c-set-fl-decl-start beg) end)) 1157 (cons (c-set-fl-decl-start beg) end))
1158 1158
1159(defvar c-standard-font-lock-fontify-region-function 1159(defvar c-standard-font-lock-fontify-region-function nil
1160 (default-value 'font-lock-fontify-region-function)
1161 "Standard value of `font-lock-fontify-region-function'") 1160 "Standard value of `font-lock-fontify-region-function'")
1162 1161
1163(defun c-font-lock-fontify-region (beg end &optional verbose) 1162(defun c-font-lock-fontify-region (beg end &optional verbose)
diff --git a/lisp/progmodes/prolog.el b/lisp/progmodes/prolog.el
index bb72984a00b..a8ee6f4bff4 100644
--- a/lisp/progmodes/prolog.el
+++ b/lisp/progmodes/prolog.el
@@ -37,7 +37,8 @@
37;; Some ideas and also a few lines of code have been borrowed (not stolen ;-) 37;; Some ideas and also a few lines of code have been borrowed (not stolen ;-)
38;; from Oz.el, the Emacs major mode for the Oz programming language, 38;; from Oz.el, the Emacs major mode for the Oz programming language,
39;; Copyright (C) 1993 DFKI GmbH, Germany, with permission. 39;; Copyright (C) 1993 DFKI GmbH, Germany, with permission.
40;; Authors: Ralf Scheidhauer and Michael Mehl ([scheidhr|mehl](at)dfki(dot)uni-sb(dot)de) 40;; Authored by Ralf Scheidhauer and Michael Mehl
41;; ([scheidhr|mehl](at)dfki(dot)uni-sb(dot)de)
41;; 42;;
42;; More ideas and code have been taken from the SICStus debugger mode 43;; More ideas and code have been taken from the SICStus debugger mode
43;; (http://www.csd.uu.se/~perm/source_debug/index.shtml -- broken link 44;; (http://www.csd.uu.se/~perm/source_debug/index.shtml -- broken link
diff --git a/lisp/replace.el b/lisp/replace.el
index cb6d7d21e77..349e63d4201 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -786,6 +786,9 @@ a previously found match."
786 (define-key map [occur-rename-buffer] 786 (define-key map [occur-rename-buffer]
787 `(menu-item ,(purecopy "Rename Occur Buffer") occur-rename-buffer 787 `(menu-item ,(purecopy "Rename Occur Buffer") occur-rename-buffer
788 :help ,(purecopy "Rename the current *Occur* buffer to *Occur: original-buffer-name*."))) 788 :help ,(purecopy "Rename the current *Occur* buffer to *Occur: original-buffer-name*.")))
789 (define-key map [occur-edit-buffer]
790 `(menu-item ,(purecopy "Edit Occur Buffer") occur-edit-mode
791 :help ,(purecopy "Edit the *Occur* buffer and apply changes to the original buffers.")))
789 (define-key map [separator-2] menu-bar-separator) 792 (define-key map [separator-2] menu-bar-separator)
790 (define-key map [occur-mode-goto-occurrence-other-window] 793 (define-key map [occur-mode-goto-occurrence-other-window]
791 `(menu-item ,(purecopy "Go To Occurrence Other Window") occur-mode-goto-occurrence-other-window 794 `(menu-item ,(purecopy "Go To Occurrence Other Window") occur-mode-goto-occurrence-other-window
diff --git a/nt/ChangeLog b/nt/ChangeLog
index 544b964be3d..919decfbc53 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,7 @@
12012-02-23 Dani Moncayo <dmoncayo@gmail.com> (tiny change)
2
3 * makefile.w32-in (maybe-copy-distfiles-SH): Fix typo.
4
12012-02-06 Christoph Scholtes <cschol2112@googlemail.com> 52012-02-06 Christoph Scholtes <cschol2112@googlemail.com>
2 6
3 * README.W32: Removed specific version information for libXpm 7 * README.W32: Removed specific version information for libXpm
@@ -13,7 +17,7 @@
13 17
14 * makefile.w32-in (maybe-copy-distfiles) 18 * makefile.w32-in (maybe-copy-distfiles)
15 (maybe-copy-distfiles-CMD, maybe-copy-distfiles-SH) 19 (maybe-copy-distfiles-CMD, maybe-copy-distfiles-SH)
16 (create-tmp-dist-dir): Added to make --distfiles optional. 20 (create-tmp-dist-dir): Add to make --distfiles optional.
17 (dist): Use create-tmp-dist-dir and maybe-copy-distfiles. (Bug#10261) 21 (dist): Use create-tmp-dist-dir and maybe-copy-distfiles. (Bug#10261)
18 22
192012-02-04 Eli Zaretskii <eliz@gnu.org> 232012-02-04 Eli Zaretskii <eliz@gnu.org>
@@ -149,8 +153,8 @@
149 A new ESC_USER_CFLAGS variable is written to config.settings. 153 A new ESC_USER_CFLAGS variable is written to config.settings.
150 This variable has the same value as the escusercflags variable. 154 This variable has the same value as the escusercflags variable.
151 155
152 * gmake.defs, nmake.defs: Added the variable ESC_CFLAGS. This 156 * gmake.defs, nmake.defs: Added the variable ESC_CFLAGS.
153 variable is identical to the CFLAGS variable except that it 157 This variable is identical to the CFLAGS variable except that it
154 includes the new ESC_USER_CFLAGS variable instead of USER_CFLAGS. 158 includes the new ESC_USER_CFLAGS variable instead of USER_CFLAGS.
155 159
156 These changes, along with some changes to src/makefile.w32-in, 160 These changes, along with some changes to src/makefile.w32-in,
@@ -195,8 +199,7 @@
195 199
1962011-04-28 Eli Zaretskii <eliz@gnu.org> 2002011-04-28 Eli Zaretskii <eliz@gnu.org>
197 201
198 * gmake.defs (ARCH): Fix error message in case of unknown 202 * gmake.defs (ARCH): Fix error message in case of unknown architecture.
199 architecture.
200 203
2012011-04-27 Eli Zaretskii <eliz@gnu.org> 2042011-04-27 Eli Zaretskii <eliz@gnu.org>
202 205
@@ -227,8 +230,8 @@
227 230
228 * configure.bat: Modified the code that parses the --cflags and 231 * configure.bat: Modified the code that parses the --cflags and
229 --ldflags options to support parameters that include the = 232 --ldflags options to support parameters that include the =
230 character as long as they are enclosed in quotes. This 233 character as long as they are enclosed in quotes.
231 functionality depends on command extensions. Configure.bat now 234 This functionality depends on command extensions. Configure.bat now
232 attempts to enable command extensions and displays a warning 235 attempts to enable command extensions and displays a warning
233 message if they could not be enabled. If configure.bat could 236 message if they could not be enabled. If configure.bat could
234 not enable command extensions the old parsing code is used that 237 not enable command extensions the old parsing code is used that
@@ -756,8 +759,8 @@
756 Ignore return status. 759 Ignore return status.
757 760
758 * configure.bat (dontCopy): Rename admin/unidata/Makefile to keep 761 * configure.bat (dontCopy): Rename admin/unidata/Makefile to keep
759 it out of the way of Windows generated file. Generate 762 it out of the way of Windows generated file.
760 admin/unidata/makefile. 763 Generate admin/unidata/makefile.
761 764
762 * makefile.w32-in (unidatagen-nmake, unidatagen-clean-nmake) 765 * makefile.w32-in (unidatagen-nmake, unidatagen-clean-nmake)
763 (unidatagen-CMD, unidatagen-clean-CMD, unidatagen-SH) 766 (unidatagen-CMD, unidatagen-clean-CMD, unidatagen-SH)
@@ -956,8 +959,8 @@
956 959
957 * gmake.defs: Export XMFLAGS. 960 * gmake.defs: Export XMFLAGS.
958 961
959 * makefile.w32-in (all-other-dirs-nmake, recompile-nmake): Don't 962 * makefile.w32-in (all-other-dirs-nmake, recompile-nmake):
960 use $(XMFLAGS) for nmake, as it doesn't support parallelism. 963 Don't use $(XMFLAGS) for nmake, as it doesn't support parallelism.
961 964
9622006-12-22 Eli Zaretskii <eliz@gnu.org> 9652006-12-22 Eli Zaretskii <eliz@gnu.org>
963 966
@@ -1541,8 +1544,8 @@
1541 * README: Update info about compilers. 1544 * README: Update info about compilers.
1542 1545
1543 * makefile.w32-in: Use $(MAKETYPE) instead of $(SHELLTYPE) to 1546 * makefile.w32-in: Use $(MAKETYPE) instead of $(SHELLTYPE) to
1544 select correct rule for invoking make in another directory. Amend 1547 select correct rule for invoking make in another directory.
1545 rules accordingly. 1548 Amend rules accordingly.
1546 (clean): Delete $(COMPILER_TEMP_FILES) instead of *.pdb. 1549 (clean): Delete $(COMPILER_TEMP_FILES) instead of *.pdb.
1547 1550
1548 * nmake.defs (EMACS_ICON_PATH): Delete definition. 1551 * nmake.defs (EMACS_ICON_PATH): Delete definition.
@@ -1785,7 +1788,7 @@
1785 1788
17861999-01-31 Andrew Innes <andrewi@gnu.org> 17891999-01-31 Andrew Innes <andrewi@gnu.org>
1787 1790
1788 * addsection.c (ROUND_UP_DST_AND_ZERO): Renamed from 1791 * addsection.c (ROUND_UP_DST_AND_ZERO): Rename from
1789 ROUND_UP_DST. Zeroes the alignment slop. 1792 ROUND_UP_DST. Zeroes the alignment slop.
1790 (copy_executable_and_add_section): Update the 1793 (copy_executable_and_add_section): Update the
1791 SizeOfHeaders field properly. 1794 SizeOfHeaders field properly.
@@ -2127,7 +2130,7 @@
21271995-06-09 Geoff Voelker <voelker@cs.washington.edu> 21301995-06-09 Geoff Voelker <voelker@cs.washington.edu>
2128 2131
2129 * emacs.bat.in: Renamed from emacs.bat. 2132 * emacs.bat.in: Renamed from emacs.bat.
2130 (emacs_dir): Renamed from emacs_path. 2133 (emacs_dir): Rename from emacs_path.
2131 Definition removed. 2134 Definition removed.
2132 2135
2133 * addpm.c: New file. 2136 * addpm.c: New file.
@@ -2189,7 +2192,7 @@
2189 2192
21901995-04-09 Geoff Voelker <voelker@cs.washington.edu> 21931995-04-09 Geoff Voelker <voelker@cs.washington.edu>
2191 2194
2192 * makefile.def (INSTALL_DIR): Changed to generic directory. 2195 * makefile.def (INSTALL_DIR): Change to generic directory.
2193 2196
2194 * emacs.bat: Added arguments when emacs.exe invoked. 2197 * emacs.bat: Added arguments when emacs.exe invoked.
2195 2198
diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in
index 30a5f83ea00..f01ef4f98d1 100644
--- a/nt/makefile.w32-in
+++ b/nt/makefile.w32-in
@@ -264,7 +264,7 @@ maybe-copy-distfiles-CMD: doit
264 264
265maybe-copy-distfiles-SH: doit 265maybe-copy-distfiles-SH: doit
266 @if [ ! $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE)=="" ] ; then \ 266 @if [ ! $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE)=="" ] ; then \
267 $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin 267 $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin ; \
268 fi 268 fi
269 269
270create-tmp-dist-dir: 270create-tmp-dist-dir:
diff --git a/src/ChangeLog b/src/ChangeLog
index 5a376c4ad5b..3d660159a1a 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,12 @@
12012-02-23 Chong Yidong <cyd@gnu.org>
2
3 * xfns.c (Fx_create_frame): Avoid window-configuration-change-hook
4 call when setting menu-bar-lines and tool-bar-lines parameters.
5 (unwind_create_frame_1): New helper function.
6
7 * window.c (inhibit_window_configuration_change_hook): New var.
8 (run_window_configuration_change_hook): Obey it.
9
12012-02-22 Chong Yidong <cyd@gnu.org> 102012-02-22 Chong Yidong <cyd@gnu.org>
2 11
3 * xterm.c (x_draw_image_relief): Add missing type check for 12 * xterm.c (x_draw_image_relief): Add missing type check for
diff --git a/src/lisp.h b/src/lisp.h
index 9199c9aabcf..8ddc7ef143d 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -195,12 +195,25 @@ extern int suppress_checking EXTERNALLY_VISIBLE;
195 || defined DARWIN_OS || defined __sun) 195 || defined DARWIN_OS || defined __sun)
196/* We also need to be able to specify mult-of-8 alignment on static vars. */ 196/* We also need to be able to specify mult-of-8 alignment on static vars. */
197# if defined DECL_ALIGN 197# if defined DECL_ALIGN
198/* mark_maybe_object assumes that EMACS_INT values are contiguous, 198/* On hosts where VALBITS is greater than the pointer width in bits,
199 but this is not true on some hosts where EMACS_INT is wider than a pointer, 199 USE_LSB_TAG is:
200 as they may allocate the halves of an EMACS_INT separately. 200
201 On these hosts USE_LSB_TAG is not needed because the top bits of an 201 a. unnecessary, because the top bits of an EMACS_INT are unused,
202 EMACS_INT are unused, so define USE_LSB_TAG only on hosts where it 202
203 might be useful. */ 203 b. slower, because it typically requires extra masking, and
204
205 c. harmful, because it can create Lisp_Object values that are so scrambled
206 that mark_maybe_object cannot decipher them. mark_maybe_object assumes
207 that EMACS_INT values are contiguous, but a host where EMACS_INT is
208 wider than a pointer might allocate the top half of an EMACS_INT in
209 (say) a 32-bit word on the stack, putting the bottom half in a 32-bit
210 register that is saved elsewhere in a jmp_buf. When this happens,
211 since USE_LSB_TAG is not defined the bottom half alone is a valid
212 pointer that mark_maybe_pointer can follow; but if USE_LSB_TAG were
213 defined, the bottom half would not be a valid pointer and neither
214 mark_maybe_object nor mark_maybe_pointer would follow it.
215
216 So, define USE_LSB_TAG only on hosts where it might be useful. */
204# if UINTPTR_MAX >> VALBITS != 0 217# if UINTPTR_MAX >> VALBITS != 0
205# define USE_LSB_TAG 218# define USE_LSB_TAG
206# endif 219# endif
diff --git a/src/window.c b/src/window.c
index b50ae71df8c..ac462624495 100644
--- a/src/window.c
+++ b/src/window.c
@@ -124,6 +124,9 @@ static int window_initialized;
124/* Hook to run when window config changes. */ 124/* Hook to run when window config changes. */
125static Lisp_Object Qwindow_configuration_change_hook; 125static Lisp_Object Qwindow_configuration_change_hook;
126 126
127/* If non-nil, run_window_configuration_change_hook does nothing. */
128Lisp_Object inhibit_window_configuration_change_hook;
129
127/* Used by the function window_scroll_pixel_based */ 130/* Used by the function window_scroll_pixel_based */
128static int window_scroll_pixel_based_preserve_x; 131static int window_scroll_pixel_based_preserve_x;
129static int window_scroll_pixel_based_preserve_y; 132static int window_scroll_pixel_based_preserve_y;
@@ -2896,7 +2899,7 @@ run_window_configuration_change_hook (struct frame *f)
2896 = Fdefault_value (Qwindow_configuration_change_hook); 2899 = Fdefault_value (Qwindow_configuration_change_hook);
2897 XSETFRAME (frame, f); 2900 XSETFRAME (frame, f);
2898 2901
2899 if (NILP (Vrun_hooks)) 2902 if (NILP (Vrun_hooks) || !NILP (inhibit_window_configuration_change_hook))
2900 return; 2903 return;
2901 2904
2902 /* Use the right buffer. Matters when running the local hooks. */ 2905 /* Use the right buffer. Matters when running the local hooks. */
diff --git a/src/window.h b/src/window.h
index ea127ca95a8..f4a5f52b9a5 100644
--- a/src/window.h
+++ b/src/window.h
@@ -810,6 +810,10 @@ extern Lisp_Object Vmouse_window;
810 810
811extern Lisp_Object Vmouse_event; 811extern Lisp_Object Vmouse_event;
812 812
813/* If non-nil, run_window_configuration_change_hook does nothing. */
814
815extern Lisp_Object inhibit_window_configuration_change_hook;
816
813EXFUN (Fnext_window, 3); 817EXFUN (Fnext_window, 3);
814EXFUN (Fselect_window, 2); 818EXFUN (Fselect_window, 2);
815EXFUN (Fset_window_buffer, 3); 819EXFUN (Fset_window_buffer, 3);
diff --git a/src/xfns.c b/src/xfns.c
index f00335b5d03..6fcd129e4a4 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -2949,6 +2949,12 @@ unwind_create_frame (Lisp_Object frame)
2949 return Qnil; 2949 return Qnil;
2950} 2950}
2951 2951
2952static Lisp_Object
2953unwind_create_frame_1 (Lisp_Object val)
2954{
2955 inhibit_window_configuration_change_hook = val;
2956 return Qnil;
2957}
2952 2958
2953static void 2959static void
2954x_default_font_parameter (struct frame *f, Lisp_Object parms) 2960x_default_font_parameter (struct frame *f, Lisp_Object parms)
@@ -3321,17 +3327,31 @@ This function is an internal primitive--use `make-frame' instead. */)
3321 happen. */ 3327 happen. */
3322 init_frame_faces (f); 3328 init_frame_faces (f);
3323 3329
3324 /* The X resources controlling the menu-bar and tool-bar are 3330 /* Set the menu-bar-lines and tool-bar-lines parameters. We don't
3325 processed specially at startup, and reflected in the mode 3331 look up the X resources controlling the menu-bar and tool-bar
3326 variables; ignore them here. */ 3332 here; they are processed specially at startup, and reflected in
3327 x_default_parameter (f, parms, Qmenu_bar_lines, 3333 the values of the mode variables.
3328 NILP (Vmenu_bar_mode) 3334
3329 ? make_number (0) : make_number (1), 3335 Avoid calling window-configuration-change-hook; otherwise we
3330 NULL, NULL, RES_TYPE_NUMBER); 3336 could get an infloop in next_frame since the frame is not yet in
3331 x_default_parameter (f, parms, Qtool_bar_lines, 3337 Vframe_list. */
3332 NILP (Vtool_bar_mode) 3338 {
3333 ? make_number (0) : make_number (1), 3339 int count2 = SPECPDL_INDEX ();
3334 NULL, NULL, RES_TYPE_NUMBER); 3340 record_unwind_protect (unwind_create_frame_1,
3341 inhibit_window_configuration_change_hook);
3342 inhibit_window_configuration_change_hook = Qt;
3343
3344 x_default_parameter (f, parms, Qmenu_bar_lines,
3345 NILP (Vmenu_bar_mode)
3346 ? make_number (0) : make_number (1),
3347 NULL, NULL, RES_TYPE_NUMBER);
3348 x_default_parameter (f, parms, Qtool_bar_lines,
3349 NILP (Vtool_bar_mode)
3350 ? make_number (0) : make_number (1),
3351 NULL, NULL, RES_TYPE_NUMBER);
3352
3353 unbind_to (count2, Qnil);
3354 }
3335 3355
3336 x_default_parameter (f, parms, Qbuffer_predicate, Qnil, 3356 x_default_parameter (f, parms, Qbuffer_predicate, Qnil,
3337 "bufferPredicate", "BufferPredicate", 3357 "bufferPredicate", "BufferPredicate",