aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rwxr-xr-xautogen/configure2
-rw-r--r--configure.in2
-rw-r--r--doc/emacs/ChangeLog38
-rw-r--r--doc/emacs/cmdargs.texi22
-rw-r--r--doc/emacs/emacs.texi9
-rw-r--r--doc/emacs/frames.texi39
-rw-r--r--doc/emacs/killing.texi20
-rw-r--r--doc/emacs/mark.texi6
-rw-r--r--doc/emacs/misc.texi174
-rw-r--r--doc/emacs/msdog.texi8
-rw-r--r--doc/lispref/ChangeLog10
-rw-r--r--doc/lispref/elisp.texi2
-rw-r--r--doc/lispref/frames.texi56
-rw-r--r--doc/lispref/vol1.texi2
-rw-r--r--doc/lispref/vol2.texi2
-rw-r--r--doc/man/ChangeLog4
-rw-r--r--doc/man/emacsclient.13
-rw-r--r--doc/misc/ChangeLog4
-rw-r--r--doc/misc/org.texi20
-rw-r--r--etc/ChangeLog9
-rw-r--r--etc/MH-E-NEWS15
-rw-r--r--etc/NEWS25
-rw-r--r--lisp/ChangeLog38
-rw-r--r--lisp/cus-edit.el42
-rw-r--r--lisp/dired-aux.el21
-rw-r--r--lisp/dired-x.el2
-rw-r--r--lisp/dired.el12
-rw-r--r--lisp/mail/sendmail.el6
-rw-r--r--lisp/mail/smtpmail.el10
-rw-r--r--lisp/mh-e/ChangeLog20
-rw-r--r--lisp/mh-e/mh-compat.el32
-rw-r--r--lisp/mh-e/mh-e.el4
-rw-r--r--lisp/mh-e/mh-folder.el8
-rw-r--r--lisp/mh-e/mh-mime.el6
-rw-r--r--lisp/mh-e/mh-xface.el12
-rw-r--r--lisp/progmodes/compile.el2
-rw-r--r--lisp/subr.el11
-rw-r--r--lisp/textmodes/bibtex.el4
-rw-r--r--src/ChangeLog14
-rw-r--r--src/term.c1
-rw-r--r--src/xdisp.c8
-rw-r--r--src/xsettings.c10
43 files changed, 441 insertions, 301 deletions
diff --git a/ChangeLog b/ChangeLog
index 616c345d7d6..94b4be02106 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,4 @@
12011-07-11 Paul Eggert <eggert@cs.ucla.edu> 12011-07-12 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 Assume freestanding C89 headers, string.h, stdlib.h. 3 Assume freestanding C89 headers, string.h, stdlib.h.
4 Again, this simplifies the code, and all current platforms have these. 4 Again, this simplifies the code, and all current platforms have these.
@@ -13,6 +13,11 @@
13 can add the gnulib modules for these (a 1-line change to Makefile.in). 13 can add the gnulib modules for these (a 1-line change to Makefile.in).
14 * configure.in: Don't check for memcmp, memcpy, memmove, memset. 14 * configure.in: Don't check for memcmp, memcpy, memmove, memset.
15 15
162011-07-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17
18 * configure.in (LD_SWITCH_SYSTEM_TEMACS): Add -fno-pie on Darwin
19 so as to suppress address randomization (Bug#8395).
20
162011-07-09 Paul Eggert <eggert@cs.ucla.edu> 212011-07-09 Paul Eggert <eggert@cs.ucla.edu>
17 22
18 * lib/stdint.in.h: Merge from gnulib (Bug#9025). 23 * lib/stdint.in.h: Merge from gnulib (Bug#9025).
diff --git a/autogen/configure b/autogen/configure
index 60ef873e39d..a6f85b66e53 100755
--- a/autogen/configure
+++ b/autogen/configure
@@ -21515,7 +21515,7 @@ case "$opsys" in
21515 libs_nsgui= 21515 libs_nsgui=
21516 headerpad_extra=690 21516 headerpad_extra=690
21517 fi 21517 fi
21518 LD_SWITCH_SYSTEM_TEMACS="-prebind $libs_nsgui -Xlinker -headerpad -Xlinker $headerpad_extra" 21518 LD_SWITCH_SYSTEM_TEMACS="-fno-pie -prebind $libs_nsgui -Xlinker -headerpad -Xlinker $headerpad_extra"
21519 21519
21520 ## This is here because src/Makefile.in did some extra fiddling around 21520 ## This is here because src/Makefile.in did some extra fiddling around
21521 ## with LD_SWITCH_SYSTEM. The cpp logic was: 21521 ## with LD_SWITCH_SYSTEM. The cpp logic was:
diff --git a/configure.in b/configure.in
index e392a2fab43..46a067d6fee 100644
--- a/configure.in
+++ b/configure.in
@@ -3347,7 +3347,7 @@ case "$opsys" in
3347 libs_nsgui= 3347 libs_nsgui=
3348 headerpad_extra=690 3348 headerpad_extra=690
3349 fi 3349 fi
3350 LD_SWITCH_SYSTEM_TEMACS="-prebind $libs_nsgui -Xlinker -headerpad -Xlinker $headerpad_extra" 3350 LD_SWITCH_SYSTEM_TEMACS="-fno-pie -prebind $libs_nsgui -Xlinker -headerpad -Xlinker $headerpad_extra"
3351 3351
3352 ## This is here because src/Makefile.in did some extra fiddling around 3352 ## This is here because src/Makefile.in did some extra fiddling around
3353 ## with LD_SWITCH_SYSTEM. The cpp logic was: 3353 ## with LD_SWITCH_SYSTEM. The cpp logic was:
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 8a275b9e359..d762ea11654 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,41 @@
12011-07-12 Chong Yidong <cyd@stupidchicken.com>
2
3 * misc.texi (Amusements): Move dissociated press here, from its
4 own section.
5
6 * emacs.texi (Top): Update node listing.
7
82011-07-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
9
10 * emacs.texi (Top): Change "inferiors" to "subnodes" for greater
11 clarity (bug#3523).
12
132011-07-12 Chong Yidong <cyd@stupidchicken.com>
14
15 * cmdargs.texi (Initial Options): Document --no-site-lisp.
16 (Misc X): Document --parent-id.
17
18 * frames.texi (Frame Commands): Note that focus-follows-mouse now
19 defaults to nil.
20
21 * misc.texi (emacsclient Options): Document --parent-id.
22
23 * msdog.texi (Windows HOME): Document _emacs as obsolete.
24
252011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
26
27 * emacs.texi: Use "..." instead of ``...'' in the menus
28 (bug#3503).
29
302011-07-11 Chong Yidong <cyd@stupidchicken.com>
31
32 * killing.texi (Primary Selection): Document `only' setting for
33 select-active-regions.
34
35 * mark.texi (Setting Mark): Reference Shift Selection node.
36
37 * frames.texi (Mouse Commands): Document mouse-yank-primary.
38
12011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org> 392011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
2 40
3 * mark.texi (Setting Mark): Clarify what's meant by "Shifted 41 * mark.texi (Setting Mark): Clarify what's meant by "Shifted
diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi
index af493ade2f2..2a19e1b009d 100644
--- a/doc/emacs/cmdargs.texi
+++ b/doc/emacs/cmdargs.texi
@@ -289,9 +289,14 @@ like this, the Customize facility does not allow options to be saved
289@item --no-site-file 289@item --no-site-file
290@opindex --no-site-file 290@opindex --no-site-file
291@cindex @file{site-start.el} file, not loading 291@cindex @file{site-start.el} file, not loading
292Do not load @file{site-start.el}. The options @samp{-q}, @samp{-u} 292Do not load @file{site-start.el} (@pxref{Init File}). The @samp{-Q}
293and @samp{--batch} have no effect on the loading of this file---this 293option does this too, but other options like @samp{-q} do not.
294option and @samp{-Q} are the only options that block it. 294
295@item --no-site-lisp
296@opindex --no-site-lisp
297@cindex @file{site-start.el} file, not loading
298Do not include the @file{site-lisp} directories in @code{load-path}
299(@pxref{Init File}). The @samp{-Q} option does this too.
295 300
296@item --no-splash 301@item --no-splash
297@opindex --no-splash 302@opindex --no-splash
@@ -307,9 +312,9 @@ in your initialization file (@pxref{Entering Emacs}).
307@itemx --quick 312@itemx --quick
308@opindex --quick 313@opindex --quick
309Start emacs with minimum customizations, similar to using @samp{-q}, 314Start emacs with minimum customizations, similar to using @samp{-q},
310@samp{--no-site-file}, and @samp{--no-splash} together. This also 315@samp{--no-site-file}, @samp{--no-site-lisp}, and @samp{--no-splash}
311stops Emacs from processing X resources by setting 316together. This also stops Emacs from processing X resources by
312@code{inhibit-x-resources} to @code{t} (@pxref{Resources}). 317setting @code{inhibit-x-resources} to @code{t} (@pxref{Resources}).
313 318
314@item -daemon 319@item -daemon
315@opindex -daemon 320@opindex -daemon
@@ -1131,6 +1136,11 @@ use---usually just a small rectangle containing the frame's title.
1131@c Enable horizontal scroll bars. Since horizontal scroll bars 1136@c Enable horizontal scroll bars. Since horizontal scroll bars
1132@c are not yet implemented, this actually does nothing. 1137@c are not yet implemented, this actually does nothing.
1133 1138
1139@item --parent-id @var{ID}
1140Open Emacs as a client X window via the XEmbed protocol, with @var{ID}
1141as the parent X window id. Currently, this option is mainly useful
1142for developers.
1143
1134@item -vb 1144@item -vb
1135@opindex -vb 1145@opindex -vb
1136@itemx --vertical-scroll-bars 1146@itemx --vertical-scroll-bars
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index 2591f56a168..e8fb42db0bb 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -164,7 +164,7 @@ Fundamental Editing Commands
164* Help:: Commands for asking Emacs about its commands. 164* Help:: Commands for asking Emacs about its commands.
165 165
166Important Text-Changing Commands 166Important Text-Changing Commands
167* Mark:: The mark: how to delimit a ``region'' of text. 167* Mark:: The mark: how to delimit a "region" of text.
168* Killing:: Killing (cutting) text. 168* Killing:: Killing (cutting) text.
169* Yanking:: Recovering killed text. Moving text. (Pasting.) 169* Yanking:: Recovering killed text. Moving text. (Pasting.)
170* Cut and Paste:: Clipboard and selections on graphical displays. 170* Cut and Paste:: Clipboard and selections on graphical displays.
@@ -200,7 +200,7 @@ Advanced Features
200@end ifnottex 200@end ifnottex
201* Sending Mail:: Sending mail in Emacs. 201* Sending Mail:: Sending mail in Emacs.
202* Rmail:: Reading mail in Emacs. 202* Rmail:: Reading mail in Emacs.
203* Dired:: You can ``edit'' a directory to manage files in it. 203* Dired:: You can "edit" a directory to manage files in it.
204* Calendar/Diary:: The calendar and diary facilities. 204* Calendar/Diary:: The calendar and diary facilities.
205* Document View:: Viewing PDF, PS and DVI files. 205* Document View:: Viewing PDF, PS and DVI files.
206* Gnus:: A flexible mail and news reader. 206* Gnus:: A flexible mail and news reader.
@@ -219,7 +219,6 @@ Advanced Features
219 "recursive editing level". 219 "recursive editing level".
220* Emulation:: Emulating some other editors with Emacs. 220* Emulation:: Emulating some other editors with Emacs.
221* Hyperlinking:: Following links in buffers. 221* Hyperlinking:: Following links in buffers.
222* Dissociated Press:: Dissociating text for fun.
223* Amusements:: Various games and hacks. 222* Amusements:: Various games and hacks.
224* Customization:: Modifying the behavior of Emacs. 223* Customization:: Modifying the behavior of Emacs.
225 224
@@ -251,7 +250,7 @@ Appendices
251 --- The Detailed Node Listing --- 250 --- The Detailed Node Listing ---
252 --------------------------------- 251 ---------------------------------
253 252
254Here are some other nodes which are really inferiors of the ones 253Here are some other nodes which are really subnodes of the ones
255already listed, mentioned here so you can get to them in one step: 254already listed, mentioned here so you can get to them in one step:
256 255
257The Organization of the Screen 256The Organization of the Screen
@@ -1066,7 +1065,7 @@ Customization
1066 to decide what to do; by setting variables, 1065 to decide what to do; by setting variables,
1067 you can control their functioning. 1066 you can control their functioning.
1068* Key Bindings:: Keymaps say what command each key runs. 1067* Key Bindings:: Keymaps say what command each key runs.
1069 By changing them, you can ``redefine'' keys. 1068 By changing them, you can "redefine" keys.
1070* Init File:: How to write common customizations in the 1069* Init File:: How to write common customizations in the
1071 @file{.emacs} file. 1070 @file{.emacs} file.
1072 1071
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi
index 0fc4dfa427d..b9b56670988 100644
--- a/doc/emacs/frames.texi
+++ b/doc/emacs/frames.texi
@@ -119,16 +119,21 @@ entirely on the screen. The number of lines scrolled per step depends
119on how far away from the window edge the mouse has gone; the variable 119on how far away from the window edge the mouse has gone; the variable
120@code{mouse-scroll-min-lines} specifies a minimum step size. 120@code{mouse-scroll-min-lines} specifies a minimum step size.
121 121
122@findex mouse-yank-primary
122@findex mouse-yank-at-click 123@findex mouse-yank-at-click
123@vindex mouse-yank-at-point
124 Clicking with the middle mouse button, @kbd{Mouse-2}, moves point to 124 Clicking with the middle mouse button, @kbd{Mouse-2}, moves point to
125the position where you clicked and performs a yank 125the position where you clicked and inserts the contents of the primary
126(@code{mouse-yank-at-click}). @xref{Yanking}. If you change the 126selection (@code{mouse-yank-primary}). @xref{Primary Selection}.
127variable @code{mouse-yank-at-point} to a non-@code{nil} value, 127This behavior is consistent with other X applications; alternatively,
128@kbd{Mouse-2} does not move point. Then it does not matter where you 128you can rebind @kbd{Mouse-2} to @code{mouse-yank-at-click}, which
129click, or even which of the frame's windows you click on; the yank 129performs a yank at point.
130occurs at the existing point. This variable also affects yanking the 130
131primary and secondary selections (@pxref{Primary Selection}). 131@vindex mouse-yank-at-point
132 If you change the variable @code{mouse-yank-at-point} to a
133non-@code{nil} value, @kbd{Mouse-2} does not move point; it inserts
134the text at point, regardless of where you clicked or even which of
135the frame's windows you clicked on. This variable affects both
136@code{mouse-yank-primary} and @code{mouse-yank-at-click}.
132 137
133@findex mouse-save-then-kill 138@findex mouse-save-then-kill
134 Clicking with the right mouse button, @kbd{Mouse-3}, runs the 139 Clicking with the right mouse button, @kbd{Mouse-3}, runs the
@@ -455,15 +460,15 @@ this case, @kbd{C-x 5 0} can delete the last interactive frame; you
455can use @command{emacsclient} to reconnect to the Emacs session. 460can use @command{emacsclient} to reconnect to the Emacs session.
456 461
457@vindex focus-follows-mouse 462@vindex focus-follows-mouse
458 On X, you may have to tell Emacs how the system (or the window 463 On X, you may have to tell Emacs how the window manager handles
459manager) handles focus-switching between windows, in order for the 464focus-switching between windows, in order for @kbd{C-x 5 o}
460command @kbd{C-x 5 o} (@code{other-frame}) to work properly. 465(@code{other-frame}) to work properly. Unfortunately, there is no way
461Unfortunately, there is no way for Emacs to detect this automatically, 466for Emacs to detect this automatically, so you should set the variable
462so you should set the variable @code{focus-follows-mouse}. If simply 467@code{focus-follows-mouse}. The default is @code{nil}, meaning you
463moving the mouse onto a window selects it and gives it focus, the 468have to click on the window to select it (the default for most modern
464variable should be @code{t}; if you have to click on the window to 469window managers). You should change it to @code{t} if your window
465select it, the variable should be @code{nil}. The default is 470manager selects and window and gives it focus anytime you move the
466@code{t}. 471mouse onto the window.
467 472
468 The window manager that is part of MS-Windows always gives focus to 473 The window manager that is part of MS-Windows always gives focus to
469a frame that raises, so this variable has no effect in the native 474a frame that raises, so this variable has no effect in the native
diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi
index 6be40c85832..06839ce5187 100644
--- a/doc/emacs/killing.texi
+++ b/doc/emacs/killing.texi
@@ -520,17 +520,19 @@ contents are more ``fragile''; they are overwritten by any mouse
520selection, whereas the clipboard is only overwritten by explicit 520selection, whereas the clipboard is only overwritten by explicit
521``cut'' or ``copy'' commands. 521``cut'' or ``copy'' commands.
522 522
523 Under X, whenever you select some text in Emacs by dragging or 523 Under X, whenever you set an active region (@pxref{Mark}), Emacs
524clicking the mouse (@pxref{Mouse Commands}), it is also saved to the 524saves the text in the active region to the primary selection. This
525primary selection. 525applies to active regions made by dragging or clicking the mouse
526(@pxref{Mouse Commands}), and those made by keyboard commands (e.g. by
527typing @kbd{C-@key{SPC}} and moving point; see @ref{Setting Mark}).
526 528
527@vindex select-active-regions 529@vindex select-active-regions
528 If you set the region using the keyboard---for instance, by typing 530 If you change the variable @code{select-active-regions} to
529@kbd{C-@key{SPC}} and moving point away from the mark---the text in 531@code{only}, Emacs saves only temporarily active regions to the
530the region is also saved to the primary selection. (The updating of 532primary selection, i.e. those made with the mouse or with shift
531the primary selection is done at the end of each command, as long as 533selection (@pxref{Shift Selection}). If you change
532the region is active and non-empty.) To disable this behavior, change 534@code{select-active-regions} to @code{nil}, Emacs avoids saving active
533the variable @code{select-active-regions} to @code{nil}. 535regions to the primary selection entirely.
534 536
535 To insert the primary selection into an Emacs buffer, click 537 To insert the primary selection into an Emacs buffer, click
536@kbd{mouse-2} (@code{mouse-yank-primary}) where you want to insert it. 538@kbd{mouse-2} (@code{mouse-yank-primary}) where you want to insert it.
diff --git a/doc/emacs/mark.texi b/doc/emacs/mark.texi
index 6d3ed351e43..20cc127d272 100644
--- a/doc/emacs/mark.texi
+++ b/doc/emacs/mark.texi
@@ -68,11 +68,11 @@ Set point and the mark around the text you drag across.
68@item Mouse-3 68@item Mouse-3
69Set the mark at point, then move point to where you click 69Set the mark at point, then move point to where you click
70(@code{mouse-save-then-kill}). 70(@code{mouse-save-then-kill}).
71@item @samp{Shifted cursor motion keys}
72Set the mark at point if the mark is inactive, then move point.
73@xref{Shift Selection}.
71@end table 74@end table
72 75
73Also, the shifted motion keys (for example, @key{S-Right}) will set
74the mark at point if the mark is inactive, then move point.
75
76@kindex C-SPC 76@kindex C-SPC
77@kindex C-@@ 77@kindex C-@@
78@findex set-mark-command 78@findex set-mark-command
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index b7b634af8b1..426610e65b9 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -1678,6 +1678,11 @@ all server buffers are finished. You can take as long as you like to
1678edit the server buffers within Emacs, and they are @emph{not} killed 1678edit the server buffers within Emacs, and they are @emph{not} killed
1679when you type @kbd{C-x #} in them. 1679when you type @kbd{C-x #} in them.
1680 1680
1681@item --parent-id @var{ID}
1682Open an @command{emacsclient} frame as a client frame in the parent X
1683window with id @var{ID}, via the XEmbed protocol. Currently, this
1684option is mainly useful for developers.
1685
1681@item -q 1686@item -q
1682@itemx --quiet 1687@itemx --quiet
1683Do not let @command{emacsclient} display messages about waiting for 1688Do not let @command{emacsclient} display messages about waiting for
@@ -2567,7 +2572,7 @@ not use it.
2567key bindings. 2572key bindings.
2568@end table 2573@end table
2569 2574
2570@node Hyperlinking, Dissociated Press, Emulation, Top 2575@node Hyperlinking, Amusements, Emulation, Top
2571@section Hyperlinking and Navigation Features 2576@section Hyperlinking and Navigation Features
2572 2577
2573@cindex hyperlinking 2578@cindex hyperlinking
@@ -2733,81 +2738,14 @@ Display a menu of files and URLs mentioned in current buffer, then
2733find the one you select (@code{ffap-menu}). 2738find the one you select (@code{ffap-menu}).
2734@end table 2739@end table
2735 2740
2736@node Dissociated Press, Amusements, Hyperlinking, Top 2741@node Amusements, Customization, Hyperlinking, Top
2737@section Dissociated Press
2738
2739@findex dissociated-press
2740 @kbd{M-x dissociated-press} is a command for scrambling a file of text
2741either word by word or character by character. Starting from a buffer of
2742straight English, it produces extremely amusing output. The input comes
2743from the current Emacs buffer. Dissociated Press writes its output in a
2744buffer named @samp{*Dissociation*}, and redisplays that buffer after every
2745couple of lines (approximately) so you can read the output as it comes out.
2746
2747 Dissociated Press asks every so often whether to continue generating
2748output. Answer @kbd{n} to stop it. You can also stop at any time by
2749typing @kbd{C-g}. The dissociation output remains in the
2750@samp{*Dissociation*} buffer for you to copy elsewhere if you wish.
2751
2752@cindex presidentagon
2753 Dissociated Press operates by jumping at random from one point in
2754the buffer to another. In order to produce plausible output rather
2755than gibberish, it insists on a certain amount of overlap between the
2756end of one run of consecutive words or characters and the start of the
2757next. That is, if it has just output `president' and then decides to
2758jump to a different point in the buffer, it might spot the `ent' in
2759`pentagon' and continue from there, producing `presidentagon'. Long
2760sample texts produce the best results.
2761
2762@cindex againformation
2763 A positive argument to @kbd{M-x dissociated-press} tells it to operate
2764character by character, and specifies the number of overlap characters. A
2765negative argument tells it to operate word by word, and specifies the number
2766of overlap words. In this mode, whole words are treated as the elements to
2767be permuted, rather than characters. No argument is equivalent to an
2768argument of two. For your againformation, the output goes only into the
2769buffer @samp{*Dissociation*}. The buffer you start with is not changed.
2770
2771@cindex Markov chain
2772@cindex ignoriginal
2773@cindex techniquitous
2774 Dissociated Press produces results fairly like those of a Markov
2775chain based on a frequency table constructed from the sample text. It
2776is, however, an independent, ignoriginal invention. Dissociated Press
2777techniquitously copies several consecutive characters from the sample
2778text between random jumps, unlike a Markov chain which would jump
2779randomly after each word or character. This makes for more plausible
2780sounding results, and runs faster.
2781
2782@cindex outragedy
2783@cindex buggestion
2784@cindex properbose
2785@cindex mustatement
2786@cindex developediment
2787@cindex userenced
2788 It is a mustatement that too much use of Dissociated Press can be a
2789developediment to your real work, sometimes to the point of outragedy.
2790And keep dissociwords out of your documentation, if you want it to be well
2791userenced and properbose. Have fun. Your buggestions are welcome.
2792
2793@node Amusements, Customization, Dissociated Press, Top
2794@section Other Amusements 2742@section Other Amusements
2795@cindex boredom 2743@cindex boredom
2796@findex hanoi
2797@findex gomoku
2798@cindex tower of Hanoi
2799 2744
2800 If you are a little bit bored, you can try @kbd{M-x hanoi}. If you are 2745@findex animate-birthday-present
2801considerably bored, give it a numeric argument. If you are very, very 2746@cindex animate
2802bored, try an argument of 9. Sit back and watch. 2747 The @code{animate} package makes text dance. For an example, try
2803 2748@kbd{M-x animate-birthday-present}.
2804@cindex Go Moku
2805 If you want a little more personal involvement, try @kbd{M-x gomoku},
2806which plays the game Go Moku with you.
2807
2808@findex bubbles
2809 @kbd{M-x bubbles} is a game in which the object is to remove as many
2810bubbles as you can in the smallest number of moves.
2811 2749
2812@findex blackbox 2750@findex blackbox
2813@findex mpuz 2751@findex mpuz
@@ -2820,70 +2758,82 @@ puzzle with letters standing for digits in a code that you must
2820guess---to guess a value, type a letter and then the digit you think it 2758guess---to guess a value, type a letter and then the digit you think it
2821stands for. The aim of @code{5x5} is to fill in all the squares. 2759stands for. The aim of @code{5x5} is to fill in all the squares.
2822 2760
2761@findex bubbles
2762 @kbd{M-x bubbles} is a game in which the object is to remove as many
2763bubbles as you can in the smallest number of moves.
2764
2823@findex decipher 2765@findex decipher
2824@cindex ciphers 2766@cindex ciphers
2825@cindex cryptanalysis 2767@cindex cryptanalysis
2826@kbd{M-x decipher} helps you to cryptanalyze a buffer which is encrypted 2768 @kbd{M-x decipher} helps you to cryptanalyze a buffer which is
2827in a simple monoalphabetic substitution cipher. 2769encrypted in a simple monoalphabetic substitution cipher.
2770
2771@findex dissociated-press
2772 @kbd{M-x dissociated-press} scrambles the text in the current Emacs
2773buffer, word by word or character by character, writing its output to
2774a buffer named @samp{*Dissociation*}. A positive argument tells it to
2775operate character by character, and specifies the number of overlap
2776characters. A negative argument tells it to operate word by word, and
2777specifies the number of overlap words. Dissociated Press produces
2778results fairly like those of a Markov chain, but is however, an
2779independent, ignoriginal invention; it techniquitously copies several
2780consecutive characters from the sample text between random jumps,
2781unlike a Markov chain which would jump randomly after each word or
2782character. Keep dissociwords out of your documentation, if you want
2783it to be well userenced and properbose.
2828 2784
2829@findex dunnet 2785@findex dunnet
2830 @kbd{M-x dunnet} runs an adventure-style exploration game, which is 2786 @kbd{M-x dunnet} runs an text-based adventure game.
2831a bigger sort of puzzle.
2832 2787
2833@findex lm 2788@findex gomoku
2834@cindex landmark game 2789@cindex Go Moku
2835@kbd{M-x lm} runs a relatively non-participatory game in which a robot 2790 If you want a little more personal involvement, try @kbd{M-x gomoku},
2836attempts to maneuver towards a tree at the center of the window based on 2791which plays the game Go Moku with you.
2837unique olfactory cues from each of the four directions. 2792
2793@cindex tower of Hanoi
2794@findex hanoi
2795 If you are a little bit bored, you can try @kbd{M-x hanoi}. If you are
2796considerably bored, give it a numeric argument. If you are very, very
2797bored, try an argument of 9. Sit back and watch.
2838 2798
2839@findex life 2799@findex life
2840@cindex Life 2800@cindex Life
2841@kbd{M-x life} runs Conway's ``Life'' cellular automaton. 2801 @kbd{M-x life} runs Conway's ``Life'' cellular automaton.
2802
2803@findex lm
2804@cindex landmark game
2805 @kbd{M-x lm} runs a relatively non-participatory game in which a
2806robot attempts to maneuver towards a tree at the center of the window
2807based on unique olfactory cues from each of the four directions.
2842 2808
2843@findex morse-region 2809@findex morse-region
2844@findex unmorse-region 2810@findex unmorse-region
2845@cindex Morse code 2811@cindex Morse code
2846@cindex --/---/.-./.../. 2812@cindex --/---/.-./.../.
2847@kbd{M-x morse-region} converts text in a region to Morse code and 2813 @kbd{M-x morse-region} converts text in a region to Morse code and
2848@kbd{M-x unmorse-region} converts it back. No cause for remorse. 2814@kbd{M-x unmorse-region} converts it back. No cause for remorse.
2849 2815
2850@findex pong 2816@findex pong
2851@cindex Pong game 2817@cindex Pong game
2852@kbd{M-x pong} plays a Pong-like game, bouncing the ball off opposing
2853bats.
2854
2855@findex solitaire
2856@cindex solitaire
2857@kbd{M-x solitaire} plays a game of solitaire in which you jump pegs
2858across other pegs.
2859
2860@findex animate-birthday-present
2861@cindex animate
2862The @code{animate} package makes text dance. For an example, try
2863@kbd{M-x animate-birthday-present}.
2864
2865@findex studlify-region
2866@cindex StudlyCaps
2867@kbd{M-x studlify-region} studlify-cases the region, producing
2868text like this:
2869
2870@example
2871M-x stUdlIfY-RegioN stUdlIfY-CaSeS thE region.
2872@end example
2873
2874@findex tetris 2818@findex tetris
2875@cindex Tetris 2819@cindex Tetris
2876@findex snake 2820@findex snake
2877@cindex Snake 2821@cindex Snake
2878@kbd{M-x tetris} runs an implementation of the well-known Tetris game. 2822 @kbd{M-x pong}, @kbd{M-x snake} and @kbd{M-x tetris} are
2879Likewise, @kbd{M-x snake} provides an implementation of Snake. 2823implementations of the well-known Pong, Snake and Tetris games.
2880 2824
2881 When you are frustrated, try the famous Eliza program. Just do 2825@findex solitaire
2882@kbd{M-x doctor}. End each input by typing @key{RET} twice. 2826@cindex solitaire
2827 @kbd{M-x solitaire} plays a game of solitaire in which you jump pegs
2828across other pegs.
2883 2829
2884@findex zone 2830@findex zone
2885The command @kbd{M-x zone} plays games with the display when Emacs is 2831 The command @kbd{M-x zone} plays games with the display when Emacs
2886idle. 2832is idle.
2833
2834 Finally, if you find yourself frustrated, try the famous Eliza
2835program. Just do @kbd{M-x doctor}. End each input by typing
2836@key{RET} twice.
2887 2837
2888@ifnottex 2838@ifnottex
2889@lowersections 2839@lowersections
diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi
index 56fe20f0794..533872ddf61 100644
--- a/doc/emacs/msdog.texi
+++ b/doc/emacs/msdog.texi
@@ -445,10 +445,10 @@ any name mentioned in @ref{Init File}.
445 445
446@cindex @file{_emacs} init file, MS-Windows 446@cindex @file{_emacs} init file, MS-Windows
447 Because MS-DOS does not allow file names with leading dots, and 447 Because MS-DOS does not allow file names with leading dots, and
448because older Windows systems made it hard to create files with such 448older Windows systems made it hard to create files with such names,
449names, the Windows port of Emacs supports an alternative name 449the Windows port of Emacs supports an init file name @file{_emacs}, if
450@file{_emacs} as a fallback, if such a file exists in the home 450such a file exists in the home directory and @file{.emacs} does not.
451directory, whereas @file{.emacs} does not. 451This name is considered obsolete.
452 452
453@node Windows Keyboard 453@node Windows Keyboard
454@section Keyboard Usage on MS-Windows 454@section Keyboard Usage on MS-Windows
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index f9ab82e7966..4517faac80e 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,13 @@
12011-07-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
2
3 * elisp.texi: Change "inferiors" to "subnodes" in three places
4 (bug#3523).
5
62011-07-11 Chong Yidong <cyd@stupidchicken.com>
7
8 * frames.texi (Window System Selections): Discussion of
9 x-select-enable-clipboard moved to Emacs manual.
10
12011-07-11 Deniz Dogan <deniz@dogan.se> 112011-07-11 Deniz Dogan <deniz@dogan.se>
2 12
3 * commands.texi (Prefix Command Arguments): Remove excessive 13 * commands.texi (Prefix Command Arguments): Remove excessive
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi
index 29b3e398f4b..4f8dce561a5 100644
--- a/doc/lispref/elisp.texi
+++ b/doc/lispref/elisp.texi
@@ -193,7 +193,7 @@ Appendices
193 --- The Detailed Node Listing --- 193 --- The Detailed Node Listing ---
194 --------------------------------- 194 ---------------------------------
195 195
196Here are other nodes that are inferiors of those already listed, 196Here are other nodes that are subnodes of those already listed,
197mentioned here so you can get to them in one step: 197mentioned here so you can get to them in one step:
198 198
199Introduction 199Introduction
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index 7dc6934c7d9..9a30ba5fdb4 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -1959,30 +1959,34 @@ defined in the file @file{lisp/term/x-win.el}. Use @kbd{M-x apropos
1959@node Window System Selections 1959@node Window System Selections
1960@section Window System Selections 1960@section Window System Selections
1961@cindex selection (for window systems) 1961@cindex selection (for window systems)
1962 1962@cindex clipboard
1963The X server records a set of @dfn{selections} which permit transfer of 1963@cindex primary selection
1964data between application programs. The various selections are 1964@cindex secondary selection
1965distinguished by @dfn{selection types}, represented in Emacs by 1965
1966symbols. X clients including Emacs can read or set the selection for 1966 In the X window system, data can be transferred between different
1967any given type. 1967applications by means of @dfn{selections}. X defines an arbitrary
1968number of @dfn{selection types}, each of which can store its own data;
1969however, only three are commonly used: the @dfn{clipboard},
1970@dfn{primary selection}, and @dfn{secondary selection}. @xref{Cut and
1971Paste,, Cut and Paste, emacs, The GNU Emacs Manual}, for Emacs
1972commands that make use of these selections. This section documents
1973the low-level functions for reading and setting X selections.
1968 1974
1969@deffn Command x-set-selection type data 1975@deffn Command x-set-selection type data
1970This function sets a ``selection'' in the X server. It takes two 1976This function sets an X selection. It takes two arguments: a
1971arguments: a selection type @var{type}, and the value to assign to it, 1977selection type @var{type}, and the value to assign to it, @var{data}.
1972@var{data}. If @var{data} is @code{nil}, it means to clear out the 1978
1973selection. Otherwise, @var{data} may be a string, a symbol, an integer 1979@var{type} should be a symbol; it is usually one of @code{PRIMARY},
1974(or a cons of two integers or list of two integers), an overlay, or a 1980@code{SECONDARY} or @code{CLIPBOARD}. These are symbols with
1975cons of two markers pointing to the same buffer. An overlay or a pair 1981upper-case names, in accord with X Window System conventions. If
1976of markers stands for text in the overlay or between the markers. 1982@var{type} is @code{nil}, that stands for @code{PRIMARY}.
1977 1983
1978The argument @var{data} may also be a vector of valid non-vector 1984If @var{data} is @code{nil}, it means to clear out the selection.
1979selection values. 1985Otherwise, @var{data} may be a string, a symbol, an integer (or a cons
1980 1986of two integers or list of two integers), an overlay, or a cons of two
1981Each possible @var{type} has its own selection value, which changes 1987markers pointing to the same buffer. An overlay or a pair of markers
1982independently. The usual values of @var{type} are @code{PRIMARY}, 1988stands for text in the overlay or between the markers. The argument
1983@code{SECONDARY} and @code{CLIPBOARD}; these are symbols with upper-case 1989@var{data} may also be a vector of valid non-vector selection values.
1984names, in accord with X Window System conventions. If @var{type} is
1985@code{nil}, that stands for @code{PRIMARY}.
1986 1990
1987This function returns @var{data}. 1991This function returns @var{data}.
1988@end deffn 1992@end deffn
@@ -2019,14 +2023,6 @@ and @code{x-set-selection} on MS-Windows support the text data type
2019only; if the clipboard holds other types of data, Emacs treats the 2023only; if the clipboard holds other types of data, Emacs treats the
2020clipboard as empty. 2024clipboard as empty.
2021 2025
2022@defopt x-select-enable-clipboard
2023If this is non-@code{nil}, the Emacs yank functions consult the
2024clipboard before the primary selection, and the kill functions store in
2025the clipboard as well as the primary selection. Otherwise they do not
2026access the clipboard at all. The default is @code{t} on systems with
2027clipboards.
2028@end defopt
2029
2030@node Drag and Drop 2026@node Drag and Drop
2031@section Drag and Drop 2027@section Drag and Drop
2032 2028
diff --git a/doc/lispref/vol1.texi b/doc/lispref/vol1.texi
index afcd3d6cbd6..3b7718814b5 100644
--- a/doc/lispref/vol1.texi
+++ b/doc/lispref/vol1.texi
@@ -211,7 +211,7 @@ Appendices
211 --- The Detailed Node Listing --- 211 --- The Detailed Node Listing ---
212 --------------------------------- 212 ---------------------------------
213 213
214Here are other nodes that are inferiors of those already listed, 214Here are other nodes that are subnodes of those already listed,
215mentioned here so you can get to them in one step: 215mentioned here so you can get to them in one step:
216 216
217Introduction 217Introduction
diff --git a/doc/lispref/vol2.texi b/doc/lispref/vol2.texi
index 65ffbc23860..22a51d3235c 100644
--- a/doc/lispref/vol2.texi
+++ b/doc/lispref/vol2.texi
@@ -210,7 +210,7 @@ Appendices
210 --- The Detailed Node Listing --- 210 --- The Detailed Node Listing ---
211 --------------------------------- 211 ---------------------------------
212 212
213Here are other nodes that are inferiors of those already listed, 213Here are other nodes that are subnodes of those already listed,
214mentioned here so you can get to them in one step: 214mentioned here so you can get to them in one step:
215 215
216Introduction 216Introduction
diff --git a/doc/man/ChangeLog b/doc/man/ChangeLog
index 88f70e410c8..0735e0593f9 100644
--- a/doc/man/ChangeLog
+++ b/doc/man/ChangeLog
@@ -1,3 +1,7 @@
12011-07-12 Chong Yidong <cyd@stupidchicken.com>
2
3 * emacsclient.1: Document exit status.
4
12011-06-25 Andreas Rottmann <a.rottmann@gmx.at> 52011-06-25 Andreas Rottmann <a.rottmann@gmx.at>
2 6
3 * emacsclient.1: Mention --frame-parameters. 7 * emacsclient.1: Mention --frame-parameters.
diff --git a/doc/man/emacsclient.1 b/doc/man/emacsclient.1
index 4843053666a..4020b6c0b6a 100644
--- a/doc/man/emacsclient.1
+++ b/doc/man/emacsclient.1
@@ -87,6 +87,9 @@ print version information and exit
87.TP 87.TP
88.B \-H, \-\-help 88.B \-H, \-\-help
89print this usage information message and exit 89print this usage information message and exit
90.SH "EXIT STATUS"
91Normally, the exit status is 0. If emacsclient shuts down due to
92Emacs signaling an error, the exit status is 1.
90.SH "SEE ALSO" 93.SH "SEE ALSO"
91The program is documented fully in 94The program is documented fully in
92.IR "Using Emacs as a Server" 95.IR "Using Emacs as a Server"
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index a977b9d2f7f..3738301ceea 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,7 @@
12011-07-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
2
3 * org.texi (Special agenda views): Fix double quoting (bug#3509).
4
12011-07-07 Lars Magne Ingebrigtsen <larsi@gnus.org> 52011-07-07 Lars Magne Ingebrigtsen <larsi@gnus.org>
2 6
3 * ediff.texi (Major Entry Points): Remove mention of `require', 7 * ediff.texi (Major Entry Points): Remove mention of `require',
diff --git a/doc/misc/org.texi b/doc/misc/org.texi
index a0ec20c4034..8e01a10bde3 100644
--- a/doc/misc/org.texi
+++ b/doc/misc/org.texi
@@ -13981,25 +13981,25 @@ particular, you may use the functions @code{org-agenda-skip-entry-if}
13981and @code{org-agenda-skip-subtree-if} in this form, for example: 13981and @code{org-agenda-skip-subtree-if} in this form, for example:
13982 13982
13983@table @code 13983@table @code
13984@item '(org-agenda-skip-entry-if 'scheduled) 13984@item (org-agenda-skip-entry-if 'scheduled)
13985Skip current entry if it has been scheduled. 13985Skip current entry if it has been scheduled.
13986@item '(org-agenda-skip-entry-if 'notscheduled) 13986@item (org-agenda-skip-entry-if 'notscheduled)
13987Skip current entry if it has not been scheduled. 13987Skip current entry if it has not been scheduled.
13988@item '(org-agenda-skip-entry-if 'deadline) 13988@item (org-agenda-skip-entry-if 'deadline)
13989Skip current entry if it has a deadline. 13989Skip current entry if it has a deadline.
13990@item '(org-agenda-skip-entry-if 'scheduled 'deadline) 13990@item (org-agenda-skip-entry-if 'scheduled 'deadline)
13991Skip current entry if it has a deadline, or if it is scheduled. 13991Skip current entry if it has a deadline, or if it is scheduled.
13992@item '(org-agenda-skip-entry-if 'todo '("TODO" "WAITING")) 13992@item (org-agenda-skip-entry-if 'todo '("TODO" "WAITING"))
13993Skip current entry if the TODO keyword is TODO or WAITING. 13993Skip current entry if the TODO keyword is TODO or WAITING.
13994@item '(org-agenda-skip-entry-if 'todo 'done) 13994@item (org-agenda-skip-entry-if 'todo 'done)
13995Skip current entry if the TODO keyword marks a DONE state. 13995Skip current entry if the TODO keyword marks a DONE state.
13996@item '(org-agenda-skip-entry-if 'timestamp) 13996@item (org-agenda-skip-entry-if 'timestamp)
13997Skip current entry if it has any timestamp, may also be deadline or scheduled. 13997Skip current entry if it has any timestamp, may also be deadline or scheduled.
13998@item '(org-agenda-skip-entry 'regexp "regular expression") 13998@item (org-agenda-skip-entry 'regexp "regular expression")
13999Skip current entry if the regular expression matches in the entry. 13999Skip current entry if the regular expression matches in the entry.
14000@item '(org-agenda-skip-entry 'notregexp "regular expression") 14000@item (org-agenda-skip-entry 'notregexp "regular expression")
14001Skip current entry unless the regular expression matches. 14001Skip current entry unless the regular expression matches.
14002@item '(org-agenda-skip-subtree-if 'regexp "regular expression") 14002@item (org-agenda-skip-subtree-if 'regexp "regular expression")
14003Same as above, but check and skip the entire subtree. 14003Same as above, but check and skip the entire subtree.
14004@end table 14004@end table
14005 14005
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 1a9771a960a..bfe584c69a1 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,12 @@
12011-07-12 Bill Wohler <wohler@newt.com>
2
3 Release MH-E version 8.2.91.
4
5 * NEWS, MH-E-NEWS: Update for MH-E release 8.2.91.
6
7 * MH-E-NEWS: Mention that SourceForge MH-E users will have to
8 update their load-paths.
9
12011-07-10 Bill Wohler <wohler@newt.com> 102011-07-10 Bill Wohler <wohler@newt.com>
2 11
3 Release MH-E version 8.2.90. 12 Release MH-E version 8.2.90.
diff --git a/etc/MH-E-NEWS b/etc/MH-E-NEWS
index 0db76bb1237..a46354d7b7b 100644
--- a/etc/MH-E-NEWS
+++ b/etc/MH-E-NEWS
@@ -3,6 +3,18 @@
3Copyright (C) 2001-2011 Free Software Foundation, Inc. 3Copyright (C) 2001-2011 Free Software Foundation, Inc.
4See the end of the file for license conditions. 4See the end of the file for license conditions.
5 5
6* Changes in MH-E 8.2.91
7
8Version 8.2.91 fixes the folder window problem that was introduced
9in 8.2.90. It also fixes compilation warnings in XEmacs 21.5.31, as
10well as an error when running XEmacs 21.5.31 in a terminal.
11
12Another implication of the VCS change is that users who download MH-E
13from SourceForge and explicitly load MH-E will have to be change their
14`load-path' to "/path/to/mh-e/emacs/trunk/lisp/mh-e" instead. Note the
15addition of "trunk."
16
17This version of MH-E is packaged with GNU Emacs 24.1
6 18
7* Changes in MH-E 8.2.90 19* Changes in MH-E 8.2.90
8 20
@@ -15,8 +27,7 @@ scripts.
15Otherwise, this is a small release that includes mostly internal 27Otherwise, this is a small release that includes mostly internal
16changes from the Emacs team. One of these changes manifests itself in 28changes from the Emacs team. One of these changes manifests itself in
17the user interface--you can now complete folders with abbreviations, 29the user interface--you can now complete folders with abbreviations,
18meaning that `+f/b/b TAB' can complete to `+foo/bar/baz'. This version 30meaning that `+f/b/b TAB' can complete to `+foo/bar/baz'.
19of MH-E is packaged with GNU Emacs 24.1
20 31
21Also, RFC 2047-encoded Subject header fields in replies are now 32Also, RFC 2047-encoded Subject header fields in replies are now
22decoded. 33decoded.
diff --git a/etc/NEWS b/etc/NEWS
index c32159f6540..8a37735b41f 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -58,13 +58,16 @@ automatically select it.
58 58
59* Startup Changes in Emacs 24.1 59* Startup Changes in Emacs 24.1
60 60
61---
61** The --unibyte, --multibyte, --no-multibyte, and --no-unibyte 62** The --unibyte, --multibyte, --no-multibyte, and --no-unibyte
62command line arguments, and the EMACS_UNIBYTE environment variable, no 63command line arguments, and the EMACS_UNIBYTE environment variable, no
63longer have any effect. (They were declared obsolete in Emacs 23.) 64longer have any effect. (They were declared obsolete in Emacs 23.)
64 65
66+++
65** New command line option `--no-site-lisp' removes site-lisp directories 67** New command line option `--no-site-lisp' removes site-lisp directories
66from load-path. -Q now implies this. 68from load-path. -Q now implies this.
67 69
70---
68** On Windows, Emacs now warns when the obsolete _emacs init file is used, 71** On Windows, Emacs now warns when the obsolete _emacs init file is used,
69and also when HOME is set to C:\ by default. 72and also when HOME is set to C:\ by default.
70 73
@@ -77,6 +80,7 @@ pops up *Messages*" feature, which can now easily be changed.
77 80
78** emacsclient changes 81** emacsclient changes
79 82
83+++
80*** New emacsclient argument --parent-id ID can be used to open a 84*** New emacsclient argument --parent-id ID can be used to open a
81client frame in parent X window ID, via XEmbed. This works like the 85client frame in parent X window ID, via XEmbed. This works like the
82--parent-id argument to Emacs. 86--parent-id argument to Emacs.
@@ -88,10 +92,12 @@ client frame in parent X window ID, via XEmbed. This works like the
88*** New emacsclient argument --frame-parameters can be used to set the 92*** New emacsclient argument --frame-parameters can be used to set the
89frame parameters of a newly-created graphical frame. 93frame parameters of a newly-created graphical frame.
90 94
95+++
91*** If emacsclient shuts down as a result of Emacs signalling an 96*** If emacsclient shuts down as a result of Emacs signalling an
92error, its exit status is 1. 97error, its exit status is 1.
93 98
94** Completion 99** Completion
100
95*** shell-mode uses pcomplete rules, with the standard completion UI. 101*** shell-mode uses pcomplete rules, with the standard completion UI.
96 102
97*** Many packages have been changed to use completion-at-point rather than 103*** Many packages have been changed to use completion-at-point rather than
@@ -353,6 +359,7 @@ replaced with Lisp commands `doc-file-to-man' and `doc-file-to-info'.
353** The standalone program `fakemail' has been removed. 359** The standalone program `fakemail' has been removed.
354If you need it, feedmail.el ought to provide a superset of the functionality. 360If you need it, feedmail.el ought to provide a superset of the functionality.
355 361
362+++
356** The variable `focus-follows-mouse' now always defaults to nil. 363** The variable `focus-follows-mouse' now always defaults to nil.
357 364
358** New primitive `secure-hash' that supports many secure hash algorithms 365** New primitive `secure-hash' that supports many secure hash algorithms
@@ -419,42 +426,52 @@ use the primary selection.
419In the following, we provide a list of these changes, followed by a 426In the following, we provide a list of these changes, followed by a
420list of steps to get the old behavior back if you prefer that. 427list of steps to get the old behavior back if you prefer that.
421 428
422*** `mouse-drag-copy-region' now defaults to nil. 429+++
423*** `select-active-regions' now defaults to t. 430*** `select-active-regions' now defaults to t.
424Merely selecting text (e.g. with drag-mouse-1) no longer puts it in 431Merely selecting text (e.g. with drag-mouse-1) no longer puts it in
425the kill-ring. The selected text is put in the primary selection, if 432the kill ring. The selected text is put in the primary selection, if
426the system possesses a separate primary selection facility (e.g. X). 433the system possesses a separate primary selection facility (e.g. X).
427 434
435+++
428**** `select-active-regions' also accepts a new value, `only'. 436**** `select-active-regions' also accepts a new value, `only'.
429This means to only set the primary selection for temporarily active 437This means to only set the primary selection for temporarily active
430regions (usually made by mouse-dragging or shift-selection); 438regions (usually made by mouse-dragging or shift-selection);
431"ordinary" active regions, such as those made with C-SPC followed by 439"ordinary" active regions, such as those made with C-SPC followed by
432point motion, do not alter the primary selection. 440point motion, do not alter the primary selection.
433 441
442---
443**** `mouse-drag-copy-region' now defaults to nil.
444
445+++
434*** mouse-2 is now bound to `mouse-yank-primary'. 446*** mouse-2 is now bound to `mouse-yank-primary'.
435This pastes from the primary selection, ignoring the kill-ring. 447This pastes from the primary selection, ignoring the kill-ring.
436Previously, mouse-2 was bound to `mouse-yank-at-click'. 448Previously, mouse-2 was bound to `mouse-yank-at-click'.
437 449
450+++
438*** `x-select-enable-clipboard' now defaults to t on all platforms. 451*** `x-select-enable-clipboard' now defaults to t on all platforms.
452+++
439*** `x-select-enable-primary' now defaults to nil. 453*** `x-select-enable-primary' now defaults to nil.
440Thus, commands that kill text or copy it to the kill-ring (such as 454Thus, commands that kill text or copy it to the kill-ring (such as
441M-w, C-w, and C-k) also use the clipboard---not the primary selection. 455M-w, C-w, and C-k) also use the clipboard---not the primary selection.
442 456
457---
443**** The "Copy", "Cut", and "Paste" items in the "Edit" menu are now 458**** The "Copy", "Cut", and "Paste" items in the "Edit" menu are now
444exactly equivalent to, respectively M-w, C-w, and C-y. 459exactly equivalent to, respectively M-w, C-w, and C-y.
445 460
461---
446**** Note that on MS-Windows, `x-select-enable-clipboard' was already 462**** Note that on MS-Windows, `x-select-enable-clipboard' was already
447non-nil by default, as Windows does not support the primary selection 463non-nil by default, as Windows does not support the primary selection
448between applications. 464between applications.
449 465
466---
450*** To return to the previous behavior, do the following: 467*** To return to the previous behavior, do the following:
451
452**** Change `select-active-regions' to nil. 468**** Change `select-active-regions' to nil.
453**** Change `mouse-drag-copy-region' to t. 469**** Change `mouse-drag-copy-region' to t.
454**** Change `x-select-enable-primary' to t (on X only). 470**** Change `x-select-enable-primary' to t (on X only).
455**** Change `x-select-enable-clipboard' to nil. 471**** Change `x-select-enable-clipboard' to nil.
456**** Bind `mouse-yank-at-click' to mouse-2. 472**** Bind `mouse-yank-at-click' to mouse-2.
457 473
474+++
458*** Support for X cut buffers has been removed. 475*** Support for X cut buffers has been removed.
459 476
460*** Support for X clipboard managers has been added. 477*** Support for X clipboard managers has been added.
@@ -475,7 +492,7 @@ $ESHELL nor variable `explicit-shell-file-name' is set.
475 492
476** MH-E 493** MH-E
477 494
478*** Upgraded to MH-E version 8.2.90. See MH-E-NEWS for details. 495*** Upgraded to MH-E version 8.2.91. See MH-E-NEWS for details.
479 496
480** comint and modes derived from it use the generic completion code. 497** comint and modes derived from it use the generic completion code.
481 498
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index e024646cd26..7a9e0267c3e 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,41 @@
12011-07-12 Johan Bockgård <bojohan@gnu.org>
2
3 * progmodes/compile.el (compilation-error-regexp-alist-alist):
4 Fix previous fix (bug#2490).
5
62011-07-12 Roland Winkler <winkler@gnu.org>
7
8 * textmodes/bibtex.el (bibtex-initialize): Use
9 pop-to-buffer-same-window.
10 (bibtex-search-entries): Fix interactive call.
11
122011-07-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
13
14 * progmodes/compile.el (compilation-error-regexp-alist-alist):
15 Fontise bytecomp Error lines more correctly (bug#2490). Fix
16 suggested by Johan Bockgård.
17
18 * subr.el (remove-duplicates): Remove; `delete-dups' is sufficient.
19
20 * dired-x.el (dired-guess-default): Use `delete-dups'.
21
222011-07-12 Chong Yidong <cyd@stupidchicken.com>
23
24 * dired.el (dired-mark-prompt):
25 * dired-aux.el (dired-read-shell-command): Doc fix.
26
272011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
28
29 * mail/sendmail.el (sendmail-query-once): Use
30 `customize-save-variable' unconditionally, now that it works under
31 emacs -Q.
32
33 * mail/smtpmail.el (smtpmail-query-smtp-server): Ditto.
34
35 * cus-edit.el (custom-file): Take an optional no-error variable.
36 (customize-save-variable): Set the variable, and give a warning if
37 running under "emacs -q".
38
12011-07-11 Juanma Barranquero <lekktu@gmail.com> 392011-07-11 Juanma Barranquero <lekktu@gmail.com>
2 40
3 * loadhist.el (unload-feature-special-hooks): 41 * loadhist.el (unload-feature-special-hooks):
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index 22b7cc6b3fe..d443d6c160c 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -1033,7 +1033,11 @@ If given a prefix (or a COMMENT argument), also prompt for a comment."
1033 (put variable 'saved-variable-comment comment))) 1033 (put variable 'saved-variable-comment comment)))
1034 (put variable 'customized-value nil) 1034 (put variable 'customized-value nil)
1035 (put variable 'customized-variable-comment nil) 1035 (put variable 'customized-variable-comment nil)
1036 (custom-save-all) 1036 (if (custom-file t)
1037 (custom-save-all)
1038 (message "Setting `%s' temporarily since \"emacs -q\" would overwrite customizations"
1039 variable)
1040 (set variable value))
1037 value) 1041 value)
1038 1042
1039;; Some parts of Emacs might prompt the user to save customizations, 1043;; Some parts of Emacs might prompt the user to save customizations,
@@ -4403,23 +4407,27 @@ Click on \"More\" \(or position point there and press RETURN)
4403if only the first line of the docstring is shown.")) 4407if only the first line of the docstring is shown."))
4404 :group 'customize) 4408 :group 'customize)
4405 4409
4406(defun custom-file () 4410(defun custom-file (&optional no-error)
4407 "Return the file name for saving customizations." 4411 "Return the file name for saving customizations."
4408 (file-chase-links 4412 (let ((file
4409 (or custom-file 4413 (or custom-file
4410 (let ((user-init-file user-init-file) 4414 (let ((user-init-file user-init-file)
4411 (default-init-file 4415 (default-init-file
4412 (if (eq system-type 'ms-dos) "~/_emacs" "~/.emacs"))) 4416 (if (eq system-type 'ms-dos) "~/_emacs" "~/.emacs")))
4413 (when (null user-init-file) 4417 (when (null user-init-file)
4414 (if (or (file-exists-p default-init-file) 4418 (if (or (file-exists-p default-init-file)
4415 (and (eq system-type 'windows-nt) 4419 (and (eq system-type 'windows-nt)
4416 (file-exists-p "~/_emacs"))) 4420 (file-exists-p "~/_emacs")))
4417 ;; Started with -q, i.e. the file containing 4421 ;; Started with -q, i.e. the file containing
4418 ;; Custom settings hasn't been read. Saving 4422 ;; Custom settings hasn't been read. Saving
4419 ;; settings there would overwrite other settings. 4423 ;; settings there would overwrite other settings.
4420 (error "Saving settings from \"emacs -q\" would overwrite existing customizations")) 4424 (if no-error
4421 (setq user-init-file default-init-file)) 4425 nil
4422 user-init-file)))) 4426 (error "Saving settings from \"emacs -q\" would overwrite existing customizations"))
4427 (setq user-init-file default-init-file)))
4428 user-init-file))))
4429 (and file
4430 (file-chase-links file))))
4423 4431
4424;; If recentf-mode is non-nil, this is defined. 4432;; If recentf-mode is non-nil, this is defined.
4425(declare-function recentf-expand-file-name "recentf" (name)) 4433(declare-function recentf-expand-file-name "recentf" (name))
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index 5ab4146383b..3103fbd5a7f 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -514,22 +514,25 @@ to the end of the list of defaults just after the default value."
514 514
515;; This is an extra function so that you can redefine it, e.g., to use gmhist. 515;; This is an extra function so that you can redefine it, e.g., to use gmhist.
516(defun dired-read-shell-command (prompt arg files) 516(defun dired-read-shell-command (prompt arg files)
517 "Read a dired shell command prompting with PROMPT. 517 "Read a dired shell command.
518Passes the prefix argument ARG to `dired-mark-prompt', so that it 518PROMPT should be a format string with one \"%s\" format sequence,
519can be used in the prompt to indicate which FILES are affected. 519which is replaced by the value returned by `dired-mark-prompt',
520Normally reads the command with `read-shell-command', but if the 520with ARG and FILES as its arguments. FILES should be a list of
521`dired-x' packages is loaded, uses `dired-guess-shell-command' to offer 521file names. The result is used as the prompt.
522a smarter default choice of shell command." 522
523This normally reads using `read-shell-command', but if the
524`dired-x' package is loaded, use `dired-guess-shell-command' to
525offer a smarter default choice of shell command."
523 (minibuffer-with-setup-hook 526 (minibuffer-with-setup-hook
524 (lambda () 527 (lambda ()
525 (set (make-local-variable 'minibuffer-default-add-function) 528 (set (make-local-variable 'minibuffer-default-add-function)
526 'minibuffer-default-add-dired-shell-commands)) 529 'minibuffer-default-add-dired-shell-commands))
527 (setq prompt (format prompt (dired-mark-prompt arg files))) 530 (setq prompt (format prompt (dired-mark-prompt arg files)))
528 (if (featurep 'dired-x) 531 (if (functionp 'dired-guess-shell-command)
529 (dired-mark-pop-up nil 'shell files 532 (dired-mark-pop-up nil 'shell files
530 #'dired-guess-shell-command prompt files) 533 'dired-guess-shell-command prompt files)
531 (dired-mark-pop-up nil 'shell files 534 (dired-mark-pop-up nil 'shell files
532 #'read-shell-command prompt nil nil)))) 535 'read-shell-command prompt nil nil))))
533 536
534;;;###autoload 537;;;###autoload
535(defun dired-do-async-shell-command (command &optional arg file-list) 538(defun dired-do-async-shell-command (command &optional arg file-list)
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index a341e4f07a1..0f2cfd4973f 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -1103,7 +1103,7 @@ See `dired-guess-shell-alist-user'."
1103 ;; Return commands or nil if flist is still non-nil. 1103 ;; Return commands or nil if flist is still non-nil.
1104 ;; Evaluate the commands in order that any logical testing will be done. 1104 ;; Evaluate the commands in order that any logical testing will be done.
1105 (if (cdr cmds) 1105 (if (cdr cmds)
1106 (remove-duplicates (mapcar #'eval cmds)) 1106 (delete-dups (mapcar #'eval cmds))
1107 (eval (car cmds))))) ; single command 1107 (eval (car cmds))))) ; single command
1108 1108
1109(defun dired-guess-shell-command (prompt files) 1109(defun dired-guess-shell-command (prompt files)
diff --git a/lisp/dired.el b/lisp/dired.el
index 8369d4897be..62420348d0f 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -2831,8 +2831,12 @@ also offers to kill buffers visiting deleted files and directories."
2831 (if (= 1 count) "" "s")) 2831 (if (= 1 count) "" "s"))
2832 2832
2833(defun dired-mark-prompt (arg files) 2833(defun dired-mark-prompt (arg files)
2834 "Return a string for use in a prompt, either the current file 2834 "Return a string suitable for use in a Dired prompt.
2835name, or the marker and a count of marked files." 2835ARG is normally the prefix argument for the calling command.
2836FILES should be a list of file names.
2837
2838The return value has a form like \"foo.txt\", \"[next 3 files]\",
2839or \"* [3 files]\"."
2836 ;; distinguish-one-marked can cause the first element to be just t. 2840 ;; distinguish-one-marked can cause the first element to be just t.
2837 (if (eq (car files) t) (setq files (cdr files))) 2841 (if (eq (car files) t) (setq files (cdr files)))
2838 (let ((count (length files))) 2842 (let ((count (length files)))
@@ -3643,7 +3647,7 @@ Ask means pop up a menu for the user to select one of copy, move or link."
3643;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command 3647;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command
3644;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown 3648;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown
3645;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff 3649;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff
3646;;;;;; dired-diff) "dired-aux" "dired-aux.el" "198ca311b49f0b6354f915502bba4ab6") 3650;;;;;; dired-diff) "dired-aux" "dired-aux.el" "ab62f310329f404f96a29e4f0ab8df73")
3647;;; Generated autoloads from dired-aux.el 3651;;; Generated autoloads from dired-aux.el
3648 3652
3649(autoload 'dired-diff "dired-aux" "\ 3653(autoload 'dired-diff "dired-aux" "\
@@ -4104,7 +4108,7 @@ instead.
4104;;;*** 4108;;;***
4105 4109
4106;;;### (autoloads (dired-do-relsymlink dired-jump-other-window dired-jump) 4110;;;### (autoloads (dired-do-relsymlink dired-jump-other-window dired-jump)
4107;;;;;; "dired-x" "dired-x.el" "90459fb5998296fc67986945701b2bfc") 4111;;;;;; "dired-x" "dired-x.el" "219648338c42c7912fa336680b434db0")
4108;;; Generated autoloads from dired-x.el 4112;;; Generated autoloads from dired-x.el
4109 4113
4110(autoload 'dired-jump "dired-x" "\ 4114(autoload 'dired-jump "dired-x" "\
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el
index 5ffc834f533..fe20ad921da 100644
--- a/lisp/mail/sendmail.el
+++ b/lisp/mail/sendmail.el
@@ -159,8 +159,6 @@ This is used by the default mail-sending commands. See also
159(defvar sendmail-query-once-function 'query 159(defvar sendmail-query-once-function 'query
160 "Either a function to send email, or the symbol `query'.") 160 "Either a function to send email, or the symbol `query'.")
161 161
162(autoload 'custom-file "cus-edit")
163
164;;;###autoload 162;;;###autoload
165(defun sendmail-query-once () 163(defun sendmail-query-once ()
166 "Send an email via `sendmail-query-once-function'. 164 "Send an email via `sendmail-query-once-function'.
@@ -198,9 +196,7 @@ function to use, and then save that choice."
198 'smtpmail-send-it 196 'smtpmail-send-it
199 default)) 197 default))
200 (kill-buffer (current-buffer)))))) 198 (kill-buffer (current-buffer))))))
201 (if (ignore-errors (custom-file)) 199 (customize-save-variable 'sendmail-query-once-function function)))
202 (customize-save-variable 'sendmail-query-once-function function)
203 (setq sendmail-query-once-function function))))
204 (funcall sendmail-query-once-function)) 200 (funcall sendmail-query-once-function))
205 201
206;;;###autoload 202;;;###autoload
diff --git a/lisp/mail/smtpmail.el b/lisp/mail/smtpmail.el
index 57356f3315b..073e2fa4a3c 100644
--- a/lisp/mail/smtpmail.el
+++ b/lisp/mail/smtpmail.el
@@ -587,8 +587,6 @@ The list is in preference order.")
587(defun smtpmail-response-text (response) 587(defun smtpmail-response-text (response)
588 (mapconcat 'identity (cdr response) "\n")) 588 (mapconcat 'identity (cdr response) "\n"))
589 589
590(autoload 'custom-file "cus-edit")
591
592(defun smtpmail-query-smtp-server () 590(defun smtpmail-query-smtp-server ()
593 (let ((server (read-string "Outgoing SMTP mail server: ")) 591 (let ((server (read-string "Outgoing SMTP mail server: "))
594 (ports '(587 "smtp")) 592 (ports '(587 "smtp"))
@@ -600,12 +598,8 @@ The list is in preference order.")
600 (setq port (pop ports))) 598 (setq port (pop ports)))
601 (when (setq stream (ignore-errors 599 (when (setq stream (ignore-errors
602 (open-network-stream "smtp" nil server port))) 600 (open-network-stream "smtp" nil server port)))
603 (if (ignore-errors (custom-file)) 601 (customize-save-variable 'smtpmail-smtp-server server)
604 (progn 602 (customize-save-variable 'smtpmail-smtp-service port)
605 (customize-save-variable 'smtpmail-smtp-server server)
606 (customize-save-variable 'smtpmail-smtp-service port))
607 (setq smtpmail-smtp-server server
608 smtpmail-smtp-service port))
609 (delete-process stream))) 603 (delete-process stream)))
610 (unless smtpmail-smtp-server 604 (unless smtpmail-smtp-server
611 (error "Couldn't contact an SMTP server")))) 605 (error "Couldn't contact an SMTP server"))))
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog
index 2a254c89d25..df4edcc75e1 100644
--- a/lisp/mh-e/ChangeLog
+++ b/lisp/mh-e/ChangeLog
@@ -1,3 +1,23 @@
12011-07-12 Bill Wohler <wohler@newt.com>
2
3 Release MH-E version 8.2.91.
4
5 * mh-e.el (Version, mh-version): Update for release 8.2.91.
6
7 * mh-compat.el (mh-pop-to-buffer-same-window): Add compatibility
8 function to call switch-to-buffer on systems that lack
9 pop-to-buffer-same-window.
10 * mh-folder.el (mh-inc-folder, mh-modify, mh-scan-folder)
11 (mh-make-folder): Call mh-pop-to-buffer-same-window instead of
12 switch-to-buffer. The previous change which used pop-to-buffer
13 produced the wrong behavior.
14
152011-07-12 Henrique Martins <henrique@martins.cc> (tiny change)
16
17 * mh-xface.el (mh-picon-get-image): Remove quote from block
18 argument.
19 * mh-mime.el (mh-mh-directive-present-p): Ditto.
20
12011-07-10 Bill Wohler <wohler@newt.com> 212011-07-10 Bill Wohler <wohler@newt.com>
2 22
3 Release MH-E version 8.2.90. 23 Release MH-E version 8.2.90.
diff --git a/lisp/mh-e/mh-compat.el b/lisp/mh-e/mh-compat.el
index ae2cbff408f..16dfe05b094 100644
--- a/lisp/mh-e/mh-compat.el
+++ b/lisp/mh-e/mh-compat.el
@@ -122,16 +122,6 @@ introduced in Emacs 22."
122 "XEmacs does not have `font-lock-add-keywords'. 122 "XEmacs does not have `font-lock-add-keywords'.
123This function returns nil on that system.") 123This function returns nil on that system.")
124 124
125(defun-mh mh-window-full-height-p
126 window-full-height-p (&optional WINDOW)
127 "Return non-nil if WINDOW is not the result of a vertical split.
128This function is defined in XEmacs as it lacks
129`window-full-height-p'. The values of the functions
130`window-height' and `frame-height' are compared instead. The
131argument WINDOW is ignored."
132 (= (1+ (window-height))
133 (frame-height)))
134
135(defun-mh mh-image-load-path-for-library 125(defun-mh mh-image-load-path-for-library
136 image-load-path-for-library (library image &optional path no-error) 126 image-load-path-for-library (library image &optional path no-error)
137 "Return a suitable search path for images used by LIBRARY. 127 "Return a suitable search path for images used by LIBRARY.
@@ -261,6 +251,18 @@ The argument STRING is ignored."
261 (buffer-substring-no-properties 251 (buffer-substring-no-properties
262 (match-beginning num) (match-end num))) 252 (match-beginning num) (match-end num)))
263 253
254(defun-mh mh-pop-to-buffer-same-window
255 pop-to-buffer-same-window (&optional buffer-or-name norecord label)
256 "Pop to buffer specified by BUFFER-OR-NAME in the selected window.
257Another window will be used only if the buffer can't be shown in
258the selected window, usually because it is dedicated to another
259buffer. Optional arguments BUFFER-OR-NAME, NORECORD and LABEL are
260as for `pop-to-buffer'. This macro is used by Emacs versions that
261lack the `pop-to-buffer-same-window' function, introduced in
262Emacs 24. The function `switch-to-buffer' is used instead and
263LABEL is ignored."
264 (switch-to-buffer buffer-or-name norecord))
265
264(defun-mh mh-replace-regexp-in-string replace-regexp-in-string 266(defun-mh mh-replace-regexp-in-string replace-regexp-in-string
265 (regexp rep string &optional fixedcase literal subexp start) 267 (regexp rep string &optional fixedcase literal subexp start)
266 "Replace REGEXP with REP everywhere in STRING and return result. 268 "Replace REGEXP with REP everywhere in STRING and return result.
@@ -312,6 +314,16 @@ The arguments RETURN-TO and EXIT-ACTION are ignored."
312 (if exit-action nil) 314 (if exit-action nil)
313 (view-mode 1)) 315 (view-mode 1))
314 316
317(defun-mh mh-window-full-height-p
318 window-full-height-p (&optional WINDOW)
319 "Return non-nil if WINDOW is not the result of a vertical split.
320This function is defined in XEmacs as it lacks
321`window-full-height-p'. The values of the functions
322`window-height' and `frame-height' are compared instead. The
323argument WINDOW is ignored."
324 (= (1+ (window-height))
325 (frame-height)))
326
315(defmacro mh-write-file-functions () 327(defmacro mh-write-file-functions ()
316 "Return `write-file-functions' if it exists. 328 "Return `write-file-functions' if it exists.
317Otherwise return `local-write-file-hooks'. 329Otherwise return `local-write-file-hooks'.
diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el
index 70d0cb5fcd5..51b41e854b0 100644
--- a/lisp/mh-e/mh-e.el
+++ b/lisp/mh-e/mh-e.el
@@ -5,7 +5,7 @@
5 5
6;; Author: Bill Wohler <wohler@newt.com> 6;; Author: Bill Wohler <wohler@newt.com>
7;; Maintainer: Bill Wohler <wohler@newt.com> 7;; Maintainer: Bill Wohler <wohler@newt.com>
8;; Version: 8.2.90 8;; Version: 8.2.91
9;; Keywords: mail 9;; Keywords: mail
10 10
11;; This file is part of GNU Emacs. 11;; This file is part of GNU Emacs.
@@ -127,7 +127,7 @@
127;; Try to keep variables local to a single file. Provide accessors if 127;; Try to keep variables local to a single file. Provide accessors if
128;; variables are shared. Use this section as a last resort. 128;; variables are shared. Use this section as a last resort.
129 129
130(defconst mh-version "8.2.90" "Version number of MH-E.") 130(defconst mh-version "8.2.91" "Version number of MH-E.")
131 131
132;; Variants 132;; Variants
133 133
diff --git a/lisp/mh-e/mh-folder.el b/lisp/mh-e/mh-folder.el
index 2248221664b..1d9a79d0deb 100644
--- a/lisp/mh-e/mh-folder.el
+++ b/lisp/mh-e/mh-folder.el
@@ -795,7 +795,7 @@ instead."
795 (setq threading-needed-flag mh-show-threads-flag) 795 (setq threading-needed-flag mh-show-threads-flag)
796 (setq mh-previous-window-config config)) 796 (setq mh-previous-window-config config))
797 ((not (eq (current-buffer) (get-buffer folder))) 797 ((not (eq (current-buffer) (get-buffer folder)))
798 (pop-to-buffer folder) 798 (mh-pop-to-buffer-same-window folder)
799 (setq mh-previous-window-config config)))) 799 (setq mh-previous-window-config config))))
800 (mh-get-new-mail file) 800 (mh-get-new-mail file)
801 (when (and threading-needed-flag 801 (when (and threading-needed-flag
@@ -855,7 +855,7 @@ From a program, edit MESSAGE; nil means edit current message."
855 855
856 ;; Just show the edit buffer... 856 ;; Just show the edit buffer...
857 (delete-other-windows) 857 (delete-other-windows)
858 (pop-to-buffer edit-buffer))) 858 (mh-pop-to-buffer-same-window edit-buffer)))
859 859
860;;;###mh-autoload 860;;;###mh-autoload
861(defun mh-next-button (&optional backward-flag) 861(defun mh-next-button (&optional backward-flag)
@@ -1705,7 +1705,7 @@ DONT-EXEC-PENDING is non-nil."
1705 (unless dont-exec-pending 1705 (unless dont-exec-pending
1706 (mh-process-or-undo-commands folder) 1706 (mh-process-or-undo-commands folder)
1707 (mh-reset-threads-and-narrowing)) 1707 (mh-reset-threads-and-narrowing))
1708 (pop-to-buffer folder))) 1708 (mh-pop-to-buffer-same-window folder)))
1709 (mh-regenerate-headers range) 1709 (mh-regenerate-headers range)
1710 (if (zerop (buffer-size)) 1710 (if (zerop (buffer-size))
1711 (if (equal range "all") 1711 (if (equal range "all")
@@ -1786,7 +1786,7 @@ Also removes all content from the folder buffer."
1786(defun mh-make-folder (name) 1786(defun mh-make-folder (name)
1787 "Create a new mail folder called NAME. 1787 "Create a new mail folder called NAME.
1788Make it the current folder." 1788Make it the current folder."
1789 (pop-to-buffer name) 1789 (mh-pop-to-buffer-same-window name)
1790 (setq buffer-read-only nil) 1790 (setq buffer-read-only nil)
1791 (erase-buffer) 1791 (erase-buffer)
1792 (if mh-adaptive-cmd-note-flag 1792 (if mh-adaptive-cmd-note-flag
diff --git a/lisp/mh-e/mh-mime.el b/lisp/mh-e/mh-mime.el
index bc5080a5d30..0327b64a33f 100644
--- a/lisp/mh-e/mh-mime.el
+++ b/lisp/mh-e/mh-mime.el
@@ -1690,19 +1690,19 @@ buffer, while END defaults to the end of the buffer."
1690 (unless begin (setq begin (point-min))) 1690 (unless begin (setq begin (point-min)))
1691 (unless end (setq end (point-max))) 1691 (unless end (setq end (point-max)))
1692 (save-excursion 1692 (save-excursion
1693 (block 'search-for-mh-directive 1693 (block search-for-mh-directive
1694 (goto-char begin) 1694 (goto-char begin)
1695 (while (re-search-forward "^#" end t) 1695 (while (re-search-forward "^#" end t)
1696 (let ((s (buffer-substring-no-properties 1696 (let ((s (buffer-substring-no-properties
1697 (point) (mh-line-end-position)))) 1697 (point) (mh-line-end-position))))
1698 (cond ((equal s "")) 1698 (cond ((equal s ""))
1699 ((string-match "^forw[ \t\n]+" s) 1699 ((string-match "^forw[ \t\n]+" s)
1700 (return-from 'search-for-mh-directive t)) 1700 (return-from search-for-mh-directive t))
1701 (t (let ((first-token (car (split-string s "[ \t;@]")))) 1701 (t (let ((first-token (car (split-string s "[ \t;@]"))))
1702 (when (and first-token 1702 (when (and first-token
1703 (string-match mh-media-type-regexp 1703 (string-match mh-media-type-regexp
1704 first-token)) 1704 first-token))
1705 (return-from 'search-for-mh-directive t))))))) 1705 (return-from search-for-mh-directive t)))))))
1706 nil))) 1706 nil)))
1707 1707
1708(defun mh-minibuffer-read-type (filename &optional default) 1708(defun mh-minibuffer-read-type (filename &optional default)
diff --git a/lisp/mh-e/mh-xface.el b/lisp/mh-e/mh-xface.el
index 1c7531b59d1..179b552d536 100644
--- a/lisp/mh-e/mh-xface.el
+++ b/lisp/mh-e/mh-xface.el
@@ -207,7 +207,7 @@ The directories are searched for in the order they appear in the list.")
207 (cond (cached-value (return-from mh-picon-get-image cached-value)) 207 (cond (cached-value (return-from mh-picon-get-image cached-value))
208 ((not host-list) (return-from mh-picon-get-image nil))) 208 ((not host-list) (return-from mh-picon-get-image nil)))
209 (setq match 209 (setq match
210 (block 'loop 210 (block loop
211 ;; u@h search 211 ;; u@h search
212 (loop for dir in mh-picon-existing-directory-list 212 (loop for dir in mh-picon-existing-directory-list
213 do (loop for type in mh-picon-image-types 213 do (loop for type in mh-picon-image-types
@@ -215,15 +215,15 @@ The directories are searched for in the order they appear in the list.")
215 for file1 = (format "%s/%s.%s" 215 for file1 = (format "%s/%s.%s"
216 dir canonical-address type) 216 dir canonical-address type)
217 when (file-exists-p file1) 217 when (file-exists-p file1)
218 do (return-from 'loop file1) 218 do (return-from loop file1)
219 ;; [path]user 219 ;; [path]user
220 for file2 = (format "%s/%s.%s" dir user type) 220 for file2 = (format "%s/%s.%s" dir user type)
221 when (file-exists-p file2) 221 when (file-exists-p file2)
222 do (return-from 'loop file2) 222 do (return-from loop file2)
223 ;; [path]host 223 ;; [path]host
224 for file3 = (format "%s/%s.%s" dir host type) 224 for file3 = (format "%s/%s.%s" dir host type)
225 when (file-exists-p file3) 225 when (file-exists-p file3)
226 do (return-from 'loop file3))) 226 do (return-from loop file3)))
227 ;; facedb search 227 ;; facedb search
228 ;; Search order for user@foo.net: 228 ;; Search order for user@foo.net:
229 ;; [path]net/foo/user 229 ;; [path]net/foo/user
@@ -241,11 +241,11 @@ The directories are searched for in the order they appear in the list.")
241 do (loop for type in mh-picon-image-types 241 do (loop for type in mh-picon-image-types
242 for z1 = (format "%s.%s" y type) 242 for z1 = (format "%s.%s" y type)
243 when (file-exists-p z1) 243 when (file-exists-p z1)
244 do (return-from 'loop z1) 244 do (return-from loop z1)
245 for z2 = (format "%s/face.%s" 245 for z2 = (format "%s/face.%s"
246 y type) 246 y type)
247 when (file-exists-p z2) 247 when (file-exists-p z2)
248 do (return-from 'loop z2))))))) 248 do (return-from loop z2)))))))
249 (setf (gethash canonical-address mh-picon-cache) 249 (setf (gethash canonical-address mh-picon-cache)
250 (mh-picon-file-contents match))))) 250 (mh-picon-file-contents match)))))
251 251
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 3a9463f0f97..503698f0f7b 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -253,7 +253,7 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
253\\(?:-\\([0-9]+\\)?\\(?:\\.\\([0-9]+\\)\\)?\\)?:\ 253\\(?:-\\([0-9]+\\)?\\(?:\\.\\([0-9]+\\)\\)?\\)?:\
254\\(?: *\\(\\(?:Future\\|Runtime\\)?[Ww]arning\\|W:\\)\\|\ 254\\(?: *\\(\\(?:Future\\|Runtime\\)?[Ww]arning\\|W:\\)\\|\
255 *\\([Ii]nfo\\(?:\\>\\|rmationa?l?\\)\\|I:\\|instantiated from\\|[Nn]ote\\)\\|\ 255 *\\([Ii]nfo\\(?:\\>\\|rmationa?l?\\)\\|I:\\|instantiated from\\|[Nn]ote\\)\\|\
256\[0-9]?\\(?:[^0-9\n]\\|$\\)\\|[0-9][0-9][0-9]\\)" 256 *[Ee]rror\\|\[0-9]?\\(?:[^0-9\n]\\|$\\)\\|[0-9][0-9][0-9]\\)"
257 1 (2 . 4) (3 . 5) (6 . 7)) 257 1 (2 . 4) (3 . 5) (6 . 7))
258 258
259 (lcc 259 (lcc
diff --git a/lisp/subr.el b/lisp/subr.el
index 2b7ba17e10c..5c9d6c8d724 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -173,7 +173,7 @@ value of last one, or nil if there are none.
173 (progn 173 (progn
174 ;; If we reload subr.el after having loaded CL, be careful not to 174 ;; If we reload subr.el after having loaded CL, be careful not to
175 ;; overwrite CL's extended definition of `dolist', `dotimes', 175 ;; overwrite CL's extended definition of `dolist', `dotimes',
176 ;; `declare', `push', `pop' and `remove-duplicates'. 176 ;; `declare', `push' and `pop'.
177 177
178(defmacro dolist (spec &rest body) 178(defmacro dolist (spec &rest body)
179 "Loop over a list. 179 "Loop over a list.
@@ -250,15 +250,6 @@ the return value (nil if RESULT is omitted).
250Treated as a declaration when used at the right place in a 250Treated as a declaration when used at the right place in a
251`defmacro' form. \(See Info anchor `(elisp)Definition of declare'.)" 251`defmacro' form. \(See Info anchor `(elisp)Definition of declare'.)"
252 nil) 252 nil)
253
254(defun remove-duplicates (list)
255 "Return a copy of LIST with all duplicate elements removed."
256 (let ((result nil))
257 (while list
258 (unless (member (car list) result)
259 (push (car list) result))
260 (pop list))
261 (nreverse result)))
262)) 253))
263 254
264(defmacro ignore-errors (&rest body) 255(defmacro ignore-errors (&rest body)
diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el
index 930d3200234..a660bdb6488 100644
--- a/lisp/textmodes/bibtex.el
+++ b/lisp/textmodes/bibtex.el
@@ -3060,7 +3060,7 @@ When called interactively, FORCE is t, CURRENT is t if current buffer uses
3060 ;; select BibTeX buffer 3060 ;; select BibTeX buffer
3061 (if select 3061 (if select
3062 (if buffer-list 3062 (if buffer-list
3063 (switch-to-buffer 3063 (pop-to-buffer-same-window
3064 (completing-read "Switch to BibTeX buffer: " 3064 (completing-read "Switch to BibTeX buffer: "
3065 (mapcar 'buffer-name buffer-list) 3065 (mapcar 'buffer-name buffer-list)
3066 nil t 3066 nil t
@@ -5179,7 +5179,7 @@ where FILE is the BibTeX file of ENTRY."
5179 (delete-dups 5179 (delete-dups
5180 (apply 'append 5180 (apply 'append
5181 bibtex-user-optional-fields 5181 bibtex-user-optional-fields
5182 (mapcar (lambda (x) (mapcar 'car (apply 'append (cdr x)))) 5182 (mapcar (lambda (x) (mapcar 'car (apply 'append (nthcdr 2 x))))
5183 bibtex-entry-alist))) nil t) 5183 bibtex-entry-alist))) nil t)
5184 (read-string "Regexp: ") 5184 (read-string "Regexp: ")
5185 (if bibtex-search-entry-globally 5185 (if bibtex-search-entry-globally
diff --git a/src/ChangeLog b/src/ChangeLog
index c9706aa3a37..3862ce46327 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -6,8 +6,6 @@
6 Without this fix, (bitmap-spec-p '(34359738368 1 "x")) 6 Without this fix, (bitmap-spec-p '(34359738368 1 "x"))
7 would wrongly return t on a 64-bit host. 7 would wrongly return t on a 64-bit host.
8 8
92011-07-11 Paul Eggert <eggert@cs.ucla.edu>
10
11 * dispnew.c (init_display): Use *_RANGE_OVERFLOW macros. 9 * dispnew.c (init_display): Use *_RANGE_OVERFLOW macros.
12 The plain *_OVERFLOW macros run afoul of GCC bug 49705 10 The plain *_OVERFLOW macros run afoul of GCC bug 49705
13 <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49705> 11 <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49705>
@@ -164,6 +162,18 @@
164 Use EMACS_INT, not EMACS_UINT, for sizes. The code works equally 162 Use EMACS_INT, not EMACS_UINT, for sizes. The code works equally
165 well either way, and we prefer signed to unsigned. 163 well either way, and we prefer signed to unsigned.
166 164
1652011-07-12 Paul Eggert <eggert@cs.ucla.edu>
166
167 Fix minor new problems caught by GCC 4.6.1.
168 * term.c (init_tty): Remove unused local.
169 * xsettings.c (store_monospaced_changed): Define this function only
170 if (defined HAVE_GSETTINGS || defined HAVE_GCONF), as it's
171 not used otherwise.
172
1732011-07-12 Chong Yidong <cyd@stupidchicken.com>
174
175 * xdisp.c (Vresize_mini_windows): Minor doc fix (Bug#3300).
176
1672011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org> 1772011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
168 178
169 * xdisp.c (syms_of_xdisp): Make it explicit that the mini-windows 179 * xdisp.c (syms_of_xdisp): Make it explicit that the mini-windows
diff --git a/src/term.c b/src/term.c
index b9f10b122a7..22056451cb9 100644
--- a/src/term.c
+++ b/src/term.c
@@ -3097,7 +3097,6 @@ init_tty (const char *name, const char *terminal_type, int must_succeed)
3097 char *area = NULL; 3097 char *area = NULL;
3098 char **address = &area; 3098 char **address = &area;
3099 int buffer_size = 4096; 3099 int buffer_size = 4096;
3100 register char *p = NULL;
3101 int status; 3100 int status;
3102 struct tty_display_info *tty = NULL; 3101 struct tty_display_info *tty = NULL;
3103 struct terminal *terminal = NULL; 3102 struct terminal *terminal = NULL;
diff --git a/src/xdisp.c b/src/xdisp.c
index 490b23891af..123d2fa984c 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -26852,12 +26852,12 @@ If an integer, it specifies a number of lines. */);
26852 Vmax_mini_window_height = make_float (0.25); 26852 Vmax_mini_window_height = make_float (0.25);
26853 26853
26854 DEFVAR_LISP ("resize-mini-windows", Vresize_mini_windows, 26854 DEFVAR_LISP ("resize-mini-windows", Vresize_mini_windows,
26855 doc: /* *How to resize mini-windows (the minibuffer and the echo area). 26855 doc: /* How to resize mini-windows (the minibuffer and the echo area).
26856A value of nil means don't automatically resize mini-windows. 26856A value of nil means don't automatically resize mini-windows.
26857A value of t means resize them to fit the text displayed in them. 26857A value of t means resize them to fit the text displayed in them.
26858A value of `grow-only', the default, means let mini-windows grow 26858A value of `grow-only', the default, means let mini-windows grow only;
26859only, until their display becomes empty, at which point the windows 26859they return to their normal size when the minibuffer is closed, or the
26860go back to their normal size. */); 26860echo area becomes empty. */);
26861 Vresize_mini_windows = Qgrow_only; 26861 Vresize_mini_windows = Qgrow_only;
26862 26862
26863 DEFVAR_LISP ("blink-cursor-alist", Vblink_cursor_alist, 26863 DEFVAR_LISP ("blink-cursor-alist", Vblink_cursor_alist,
diff --git a/src/xsettings.c b/src/xsettings.c
index 06718df5a3c..dadbe68b4cb 100644
--- a/src/xsettings.c
+++ b/src/xsettings.c
@@ -83,7 +83,7 @@ dpyinfo_valid (struct x_display_info *dpyinfo)
83 83
84/* Store a monospace font change event if the monospaced font changed. */ 84/* Store a monospace font change event if the monospaced font changed. */
85 85
86#ifdef HAVE_XFT 86#if defined HAVE_XFT && (defined HAVE_GSETTINGS || defined HAVE_GCONF)
87static void 87static void
88store_monospaced_changed (const char *newfont) 88store_monospaced_changed (const char *newfont)
89{ 89{
@@ -99,9 +99,11 @@ store_monospaced_changed (const char *newfont)
99 XCAR (first_dpyinfo->name_list_element)); 99 XCAR (first_dpyinfo->name_list_element));
100 } 100 }
101} 101}
102#endif
102 103
103/* Store a font name change event if the font name changed. */ 104/* Store a font name change event if the font name changed. */
104 105
106#ifdef HAVE_XFT
105static void 107static void
106store_font_name_changed (const char *newfont) 108store_font_name_changed (const char *newfont)
107{ 109{
@@ -252,7 +254,7 @@ something_changed_gsettingsCB (GSettings *settings,
252 g_variant_unref (val); 254 g_variant_unref (val);
253 } 255 }
254 } 256 }
255#endif /* HAVE_XFT */ 257#endif /* HAVE_XFT */
256} 258}
257 259
258#endif /* HAVE_GSETTINGS */ 260#endif /* HAVE_GSETTINGS */
@@ -441,14 +443,14 @@ parse_settings (unsigned char *prop,
441 bytes_parsed += 4; /* Skip serial for this value */ 443 bytes_parsed += 4; /* Skip serial for this value */
442 if (bytes_parsed > bytes) return BadLength; 444 if (bytes_parsed > bytes) return BadLength;
443 445
444 want_this = 446 want_this =
445#ifdef HAVE_XFT 447#ifdef HAVE_XFT
446 (nlen > 6 && strncmp (name, "Xft/", 4) == 0) 448 (nlen > 6 && strncmp (name, "Xft/", 4) == 0)
447 || strcmp (XSETTINGS_FONT_NAME, name) == 0 449 || strcmp (XSETTINGS_FONT_NAME, name) == 0
448 || 450 ||
449#endif 451#endif
450 strcmp (XSETTINGS_TOOL_BAR_STYLE, name) == 0; 452 strcmp (XSETTINGS_TOOL_BAR_STYLE, name) == 0;
451 453
452 switch (type) 454 switch (type)
453 { 455 {
454 case 0: /* Integer */ 456 case 0: /* Integer */