From 963578d396f018f4cae81bca311882ab4ed15b4f Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 11 Jul 2011 14:40:48 -0400 Subject: [PATCH 01/27] More documentation of Emacs 24 X selection changes. * doc/emacs/frames.texi (Mouse Commands): Document mouse-yank-primary. * doc/emacs/killing.texi (Primary Selection): Document `only' setting for select-active-regions. * doc/emacs/mark.texi (Setting Mark): Reference Shift Selection node. * doc/lispref/frames.texi (Window System Selections): Discussion of x-select-enable-clipboard moved to Emacs manual. --- doc/emacs/ChangeLog | 9 ++++++++ doc/emacs/frames.texi | 21 ++++++++++------- doc/emacs/killing.texi | 20 +++++++++-------- doc/emacs/mark.texi | 6 ++--- doc/lispref/ChangeLog | 5 +++++ doc/lispref/frames.texi | 50 +++++++++++++++++++---------------------- etc/NEWS | 16 ++++++++++--- 7 files changed, 77 insertions(+), 50 deletions(-) diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 8a275b9e359..e72edf77acc 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,12 @@ +2011-07-11 Chong Yidong + + * killing.texi (Primary Selection): Document `only' setting for + select-active-regions. + + * mark.texi (Setting Mark): Reference Shift Selection node. + + * frames.texi (Mouse Commands): Document mouse-yank-primary. + 2011-07-11 Lars Magne Ingebrigtsen * mark.texi (Setting Mark): Clarify what's meant by "Shifted diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi index 0fc4dfa427d..5f708895d07 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 on how far away from the window edge the mouse has gone; the variable @code{mouse-scroll-min-lines} specifies a minimum step size. +@findex mouse-yank-primary @findex mouse-yank-at-click -@vindex mouse-yank-at-point Clicking with the middle mouse button, @kbd{Mouse-2}, moves point to -the position where you clicked and performs a yank -(@code{mouse-yank-at-click}). @xref{Yanking}. If you change the -variable @code{mouse-yank-at-point} to a non-@code{nil} value, -@kbd{Mouse-2} does not move point. Then it does not matter where you -click, or even which of the frame's windows you click on; the yank -occurs at the existing point. This variable also affects yanking the -primary and secondary selections (@pxref{Primary Selection}). +the position where you clicked and inserts the contents of the primary +selection (@code{mouse-yank-primary}). @xref{Primary Selection}. +This behavior is consistent with other X applications; alternatively, +you can rebind @kbd{Mouse-2} to @code{mouse-yank-at-click}, which +performs a yank at point. + +@vindex mouse-yank-at-point + If you change the variable @code{mouse-yank-at-point} to a +non-@code{nil} value, @kbd{Mouse-2} does not move point; it inserts +the text at point, regardless of where you clicked or even which of +the frame's windows you clicked on. This variable affects both +@code{mouse-yank-primary} and @code{mouse-yank-at-click}. @findex mouse-save-then-kill Clicking with the right mouse button, @kbd{Mouse-3}, runs the 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 selection, whereas the clipboard is only overwritten by explicit ``cut'' or ``copy'' commands. - Under X, whenever you select some text in Emacs by dragging or -clicking the mouse (@pxref{Mouse Commands}), it is also saved to the -primary selection. + Under X, whenever you set an active region (@pxref{Mark}), Emacs +saves the text in the active region to the primary selection. This +applies to active regions made by dragging or clicking the mouse +(@pxref{Mouse Commands}), and those made by keyboard commands (e.g. by +typing @kbd{C-@key{SPC}} and moving point; see @ref{Setting Mark}). @vindex select-active-regions - If you set the region using the keyboard---for instance, by typing -@kbd{C-@key{SPC}} and moving point away from the mark---the text in -the region is also saved to the primary selection. (The updating of -the primary selection is done at the end of each command, as long as -the region is active and non-empty.) To disable this behavior, change -the variable @code{select-active-regions} to @code{nil}. + If you change the variable @code{select-active-regions} to +@code{only}, Emacs saves only temporarily active regions to the +primary selection, i.e. those made with the mouse or with shift +selection (@pxref{Shift Selection}). If you change +@code{select-active-regions} to @code{nil}, Emacs avoids saving active +regions to the primary selection entirely. To insert the primary selection into an Emacs buffer, click @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. @item Mouse-3 Set the mark at point, then move point to where you click (@code{mouse-save-then-kill}). +@item @samp{Shifted cursor motion keys} +Set the mark at point if the mark is inactive, then move point. +@xref{Shift Selection}. @end table -Also, the shifted motion keys (for example, @key{S-Right}) will set -the mark at point if the mark is inactive, then move point. - @kindex C-SPC @kindex C-@@ @findex set-mark-command diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index f9ab82e7966..fdf5a7753ba 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2011-07-11 Chong Yidong + + * frames.texi (Window System Selections): Discussion of + x-select-enable-clipboard moved to Emacs manual. + 2011-07-11 Deniz Dogan * commands.texi (Prefix Command Arguments): Remove excessive 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 @node Window System Selections @section Window System Selections @cindex selection (for window systems) +@cindex clipboard +@cindex primary selection +@cindex secondary selection -The X server records a set of @dfn{selections} which permit transfer of -data between application programs. The various selections are -distinguished by @dfn{selection types}, represented in Emacs by -symbols. X clients including Emacs can read or set the selection for -any given type. + In the X window system, data can be transferred between different +applications by means of @dfn{selections}. X defines an arbitrary +number of @dfn{selection types}, each of which can store its own data; +however, only three are commonly used: the @dfn{clipboard}, +@dfn{primary selection}, and @dfn{secondary selection}. @xref{Cut and +Paste,, Cut and Paste, emacs, The GNU Emacs Manual}, for Emacs +commands that make use of these selections. This section documents +the low-level functions for reading and setting X selections. @deffn Command x-set-selection type data -This function sets a ``selection'' in the X server. It takes two -arguments: a selection type @var{type}, and the value to assign to it, -@var{data}. If @var{data} is @code{nil}, it means to clear out the -selection. Otherwise, @var{data} may be a string, a symbol, an integer -(or a cons of two integers or list of two integers), an overlay, or a -cons of two markers pointing to the same buffer. An overlay or a pair -of markers stands for text in the overlay or between the markers. +This function sets an X selection. It takes two arguments: a +selection type @var{type}, and the value to assign to it, @var{data}. -The argument @var{data} may also be a vector of valid non-vector -selection values. +@var{type} should be a symbol; it is usually one of @code{PRIMARY}, +@code{SECONDARY} or @code{CLIPBOARD}. These are symbols with +upper-case names, in accord with X Window System conventions. If +@var{type} is @code{nil}, that stands for @code{PRIMARY}. -Each possible @var{type} has its own selection value, which changes -independently. The usual values of @var{type} are @code{PRIMARY}, -@code{SECONDARY} and @code{CLIPBOARD}; these are symbols with upper-case -names, in accord with X Window System conventions. If @var{type} is -@code{nil}, that stands for @code{PRIMARY}. +If @var{data} is @code{nil}, it means to clear out the selection. +Otherwise, @var{data} may be a string, a symbol, an integer (or a cons +of two integers or list of two integers), an overlay, or a cons of two +markers pointing to the same buffer. An overlay or a pair of markers +stands for text in the overlay or between the markers. The argument +@var{data} may also be a vector of valid non-vector selection values. This function returns @var{data}. @end deffn @@ -2019,14 +2023,6 @@ and @code{x-set-selection} on MS-Windows support the text data type only; if the clipboard holds other types of data, Emacs treats the clipboard as empty. -@defopt x-select-enable-clipboard -If this is non-@code{nil}, the Emacs yank functions consult the -clipboard before the primary selection, and the kill functions store in -the clipboard as well as the primary selection. Otherwise they do not -access the clipboard at all. The default is @code{t} on systems with -clipboards. -@end defopt - @node Drag and Drop @section Drag and Drop diff --git a/etc/NEWS b/etc/NEWS index c32159f6540..ab9900883c8 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -419,42 +419,52 @@ use the primary selection. In the following, we provide a list of these changes, followed by a list of steps to get the old behavior back if you prefer that. -*** `mouse-drag-copy-region' now defaults to nil. ++++ *** `select-active-regions' now defaults to t. Merely selecting text (e.g. with drag-mouse-1) no longer puts it in -the kill-ring. The selected text is put in the primary selection, if +the kill ring. The selected text is put in the primary selection, if the system possesses a separate primary selection facility (e.g. X). ++++ **** `select-active-regions' also accepts a new value, `only'. This means to only set the primary selection for temporarily active regions (usually made by mouse-dragging or shift-selection); "ordinary" active regions, such as those made with C-SPC followed by point motion, do not alter the primary selection. +--- +**** `mouse-drag-copy-region' now defaults to nil. + ++++ *** mouse-2 is now bound to `mouse-yank-primary'. This pastes from the primary selection, ignoring the kill-ring. Previously, mouse-2 was bound to `mouse-yank-at-click'. ++++ *** `x-select-enable-clipboard' now defaults to t on all platforms. ++++ *** `x-select-enable-primary' now defaults to nil. Thus, commands that kill text or copy it to the kill-ring (such as M-w, C-w, and C-k) also use the clipboard---not the primary selection. +--- **** The "Copy", "Cut", and "Paste" items in the "Edit" menu are now exactly equivalent to, respectively M-w, C-w, and C-y. +--- **** Note that on MS-Windows, `x-select-enable-clipboard' was already non-nil by default, as Windows does not support the primary selection between applications. +--- *** To return to the previous behavior, do the following: - **** Change `select-active-regions' to nil. **** Change `mouse-drag-copy-region' to t. **** Change `x-select-enable-primary' to t (on X only). **** Change `x-select-enable-clipboard' to nil. **** Bind `mouse-yank-at-click' to mouse-2. ++++ *** Support for X cut buffers has been removed. *** Support for X clipboard managers has been added. From eab5dc0727f022842e4b4eadd4b0ab0ce4b12939 Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Mon, 11 Jul 2011 22:12:07 +0200 Subject: [PATCH 02/27] Allow using `customize-save-variable' under Emacs -Q: Set the variable, and give a warning --- lisp/ChangeLog | 6 ++++++ lisp/cus-edit.el | 42 +++++++++++++++++++++++++----------------- 2 files changed, 31 insertions(+), 17 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e024646cd26..f1c36a9feea 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2011-07-11 Lars Magne Ingebrigtsen + + * cus-edit.el (custom-file): Take an optional no-error variable. + (customize-save-variable): Set the variable, and give a warning if + running under "emacs -q". + 2011-07-11 Juanma Barranquero * 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." (put variable 'saved-variable-comment comment))) (put variable 'customized-value nil) (put variable 'customized-variable-comment nil) - (custom-save-all) + (if (custom-file t) + (custom-save-all) + (message "Setting `%s' temporarily since \"emacs -q\" would overwrite customizations" + variable) + (set variable value)) value) ;; 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) if only the first line of the docstring is shown.")) :group 'customize) -(defun custom-file () +(defun custom-file (&optional no-error) "Return the file name for saving customizations." - (file-chase-links - (or custom-file - (let ((user-init-file user-init-file) - (default-init-file - (if (eq system-type 'ms-dos) "~/_emacs" "~/.emacs"))) - (when (null user-init-file) - (if (or (file-exists-p default-init-file) - (and (eq system-type 'windows-nt) - (file-exists-p "~/_emacs"))) - ;; Started with -q, i.e. the file containing - ;; Custom settings hasn't been read. Saving - ;; settings there would overwrite other settings. - (error "Saving settings from \"emacs -q\" would overwrite existing customizations")) - (setq user-init-file default-init-file)) - user-init-file)))) + (let ((file + (or custom-file + (let ((user-init-file user-init-file) + (default-init-file + (if (eq system-type 'ms-dos) "~/_emacs" "~/.emacs"))) + (when (null user-init-file) + (if (or (file-exists-p default-init-file) + (and (eq system-type 'windows-nt) + (file-exists-p "~/_emacs"))) + ;; Started with -q, i.e. the file containing + ;; Custom settings hasn't been read. Saving + ;; settings there would overwrite other settings. + (if no-error + nil + (error "Saving settings from \"emacs -q\" would overwrite existing customizations")) + (setq user-init-file default-init-file))) + user-init-file)))) + (and file + (file-chase-links file)))) ;; If recentf-mode is non-nil, this is defined. (declare-function recentf-expand-file-name "recentf" (name)) From 9988520a263e1cd78b1be5d182a6cc38cf307f5f Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Mon, 11 Jul 2011 22:15:04 +0200 Subject: [PATCH 03/27] Use `customize-save-variable' unconditionally, now that it works under emacs -Q --- lisp/ChangeLog | 6 ++++++ lisp/mail/sendmail.el | 6 +----- lisp/mail/smtpmail.el | 10 ++-------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f1c36a9feea..af6079ec0eb 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,11 @@ 2011-07-11 Lars Magne Ingebrigtsen + * mail/sendmail.el (sendmail-query-once): Use + `customize-save-variable' unconditionally, now that it works under + emacs -Q. + + * mail/smtpmail.el (smtpmail-query-smtp-server): Ditto. + * cus-edit.el (custom-file): Take an optional no-error variable. (customize-save-variable): Set the variable, and give a warning if running under "emacs -q". 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 (defvar sendmail-query-once-function 'query "Either a function to send email, or the symbol `query'.") -(autoload 'custom-file "cus-edit") - ;;;###autoload (defun sendmail-query-once () "Send an email via `sendmail-query-once-function'. @@ -198,9 +196,7 @@ function to use, and then save that choice." 'smtpmail-send-it default)) (kill-buffer (current-buffer)))))) - (if (ignore-errors (custom-file)) - (customize-save-variable 'sendmail-query-once-function function) - (setq sendmail-query-once-function function)))) + (customize-save-variable 'sendmail-query-once-function function))) (funcall sendmail-query-once-function)) ;;;###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.") (defun smtpmail-response-text (response) (mapconcat 'identity (cdr response) "\n")) -(autoload 'custom-file "cus-edit") - (defun smtpmail-query-smtp-server () (let ((server (read-string "Outgoing SMTP mail server: ")) (ports '(587 "smtp")) @@ -600,12 +598,8 @@ The list is in preference order.") (setq port (pop ports))) (when (setq stream (ignore-errors (open-network-stream "smtp" nil server port))) - (if (ignore-errors (custom-file)) - (progn - (customize-save-variable 'smtpmail-smtp-server server) - (customize-save-variable 'smtpmail-smtp-service port)) - (setq smtpmail-smtp-server server - smtpmail-smtp-service port)) + (customize-save-variable 'smtpmail-smtp-server server) + (customize-save-variable 'smtpmail-smtp-service port) (delete-process stream))) (unless smtpmail-smtp-server (error "Couldn't contact an SMTP server")))) From f584ca38928d95273cd9627f1f40ae95f28a7620 Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Mon, 11 Jul 2011 22:52:09 +0200 Subject: [PATCH 04/27] * emacs.texi: Use "..." instead of ``...'' in the menus --- doc/emacs/ChangeLog | 5 +++++ doc/emacs/emacs.texi | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index e72edf77acc..79558a3ff47 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2011-07-11 Lars Magne Ingebrigtsen + + * emacs.texi: Use "..." instead of ``...'' in the menus + (bug#3503). + 2011-07-11 Chong Yidong * killing.texi (Primary Selection): Document `only' setting for diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 2591f56a168..256cdf3b5c2 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -164,7 +164,7 @@ Fundamental Editing Commands * Help:: Commands for asking Emacs about its commands. Important Text-Changing Commands -* Mark:: The mark: how to delimit a ``region'' of text. +* Mark:: The mark: how to delimit a "region" of text. * Killing:: Killing (cutting) text. * Yanking:: Recovering killed text. Moving text. (Pasting.) * Cut and Paste:: Clipboard and selections on graphical displays. @@ -200,7 +200,7 @@ Advanced Features @end ifnottex * Sending Mail:: Sending mail in Emacs. * Rmail:: Reading mail in Emacs. -* Dired:: You can ``edit'' a directory to manage files in it. +* Dired:: You can "edit" a directory to manage files in it. * Calendar/Diary:: The calendar and diary facilities. * Document View:: Viewing PDF, PS and DVI files. * Gnus:: A flexible mail and news reader. @@ -1066,7 +1066,7 @@ Customization to decide what to do; by setting variables, you can control their functioning. * Key Bindings:: Keymaps say what command each key runs. - By changing them, you can ``redefine'' keys. + By changing them, you can "redefine" keys. * Init File:: How to write common customizations in the @file{.emacs} file. From c8618a0615fc9ed25c04c10c6a4e73d189734fe7 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Tue, 12 Jul 2011 08:13:28 +0900 Subject: [PATCH 05/27] Suppress address randomization on Darwin (Bug#8395). --- ChangeLog | 5 +++++ configure.in | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 28acb307f61..bf4e63d985a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-07-11 YAMAMOTO Mitsuharu + + * configure.in (LD_SWITCH_SYSTEM_TEMACS): Add -fno-pie on Darwin + so as to suppress address randomization (Bug#8395). + 2011-07-09 Paul Eggert * lib/stdint.in.h: Merge from gnulib (Bug#9025). diff --git a/configure.in b/configure.in index 3dd1f035d2b..40a34286f00 100644 --- a/configure.in +++ b/configure.in @@ -3350,7 +3350,7 @@ case "$opsys" in libs_nsgui= headerpad_extra=690 fi - LD_SWITCH_SYSTEM_TEMACS="-prebind $libs_nsgui -Xlinker -headerpad -Xlinker $headerpad_extra" + LD_SWITCH_SYSTEM_TEMACS="-fno-pie -prebind $libs_nsgui -Xlinker -headerpad -Xlinker $headerpad_extra" ## This is here because src/Makefile.in did some extra fiddling around ## with LD_SWITCH_SYSTEM. The cpp logic was: From fdeb32ec4716f7023469dd68a18b514293dbdfb3 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 11 Jul 2011 21:38:28 -0400 Subject: [PATCH 06/27] Document several Emacs 24 changes. * doc/emacs/cmdargs.texi (Initial Options): Document --no-site-lisp. (Misc X): Document --parent-id. * doc/emacs/frames.texi (Frame Commands): Note that focus-follows-mouse now defaults to nil. * doc/emacs/misc.texi (emacsclient Options): Document --parent-id. * doc/emacs/msdog.texi (Windows HOME): Document _emacs as obsolete. * doc/man/emacsclient.1: Document exit status. --- doc/emacs/ChangeLog | 12 ++++++++++++ doc/emacs/cmdargs.texi | 22 ++++++++++++++++------ doc/emacs/frames.texi | 18 +++++++++--------- doc/emacs/misc.texi | 5 +++++ doc/emacs/msdog.texi | 8 ++++---- doc/man/ChangeLog | 4 ++++ doc/man/emacsclient.1 | 3 +++ etc/NEWS | 7 +++++++ 8 files changed, 60 insertions(+), 19 deletions(-) diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 79558a3ff47..aa1657462a2 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,15 @@ +2011-07-12 Chong Yidong + + * cmdargs.texi (Initial Options): Document --no-site-lisp. + (Misc X): Document --parent-id. + + * frames.texi (Frame Commands): Note that focus-follows-mouse now + defaults to nil. + + * misc.texi (emacsclient Options): Document --parent-id. + + * msdog.texi (Windows HOME): Document _emacs as obsolete. + 2011-07-11 Lars Magne Ingebrigtsen * emacs.texi: Use "..." instead of ``...'' in the menus 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 @item --no-site-file @opindex --no-site-file @cindex @file{site-start.el} file, not loading -Do not load @file{site-start.el}. The options @samp{-q}, @samp{-u} -and @samp{--batch} have no effect on the loading of this file---this -option and @samp{-Q} are the only options that block it. +Do not load @file{site-start.el} (@pxref{Init File}). The @samp{-Q} +option does this too, but other options like @samp{-q} do not. + +@item --no-site-lisp +@opindex --no-site-lisp +@cindex @file{site-start.el} file, not loading +Do not include the @file{site-lisp} directories in @code{load-path} +(@pxref{Init File}). The @samp{-Q} option does this too. @item --no-splash @opindex --no-splash @@ -307,9 +312,9 @@ in your initialization file (@pxref{Entering Emacs}). @itemx --quick @opindex --quick Start emacs with minimum customizations, similar to using @samp{-q}, -@samp{--no-site-file}, and @samp{--no-splash} together. This also -stops Emacs from processing X resources by setting -@code{inhibit-x-resources} to @code{t} (@pxref{Resources}). +@samp{--no-site-file}, @samp{--no-site-lisp}, and @samp{--no-splash} +together. This also stops Emacs from processing X resources by +setting @code{inhibit-x-resources} to @code{t} (@pxref{Resources}). @item -daemon @opindex -daemon @@ -1131,6 +1136,11 @@ use---usually just a small rectangle containing the frame's title. @c Enable horizontal scroll bars. Since horizontal scroll bars @c are not yet implemented, this actually does nothing. +@item --parent-id @var{ID} +Open Emacs as a client X window via the XEmbed protocol, with @var{ID} +as the parent X window id. Currently, this option is mainly useful +for developers. + @item -vb @opindex -vb @itemx --vertical-scroll-bars diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi index 5f708895d07..b9b56670988 100644 --- a/doc/emacs/frames.texi +++ b/doc/emacs/frames.texi @@ -460,15 +460,15 @@ this case, @kbd{C-x 5 0} can delete the last interactive frame; you can use @command{emacsclient} to reconnect to the Emacs session. @vindex focus-follows-mouse - On X, you may have to tell Emacs how the system (or the window -manager) handles focus-switching between windows, in order for the -command @kbd{C-x 5 o} (@code{other-frame}) to work properly. -Unfortunately, there is no way for Emacs to detect this automatically, -so you should set the variable @code{focus-follows-mouse}. If simply -moving the mouse onto a window selects it and gives it focus, the -variable should be @code{t}; if you have to click on the window to -select it, the variable should be @code{nil}. The default is -@code{t}. + On X, you may have to tell Emacs how the window manager handles +focus-switching between windows, in order for @kbd{C-x 5 o} +(@code{other-frame}) to work properly. Unfortunately, there is no way +for Emacs to detect this automatically, so you should set the variable +@code{focus-follows-mouse}. The default is @code{nil}, meaning you +have to click on the window to select it (the default for most modern +window managers). You should change it to @code{t} if your window +manager selects and window and gives it focus anytime you move the +mouse onto the window. The window manager that is part of MS-Windows always gives focus to a frame that raises, so this variable has no effect in the native diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index b7b634af8b1..73c742c493a 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 edit the server buffers within Emacs, and they are @emph{not} killed when you type @kbd{C-x #} in them. +@item --parent-id @var{ID} +Open an @command{emacsclient} frame as a client frame in the parent X +window with id @var{ID}, via the XEmbed protocol. Currently, this +option is mainly useful for developers. + @item -q @itemx --quiet Do not let @command{emacsclient} display messages about waiting for 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}. @cindex @file{_emacs} init file, MS-Windows Because MS-DOS does not allow file names with leading dots, and -because older Windows systems made it hard to create files with such -names, the Windows port of Emacs supports an alternative name -@file{_emacs} as a fallback, if such a file exists in the home -directory, whereas @file{.emacs} does not. +older Windows systems made it hard to create files with such names, +the Windows port of Emacs supports an init file name @file{_emacs}, if +such a file exists in the home directory and @file{.emacs} does not. +This name is considered obsolete. @node Windows Keyboard @section Keyboard Usage on MS-Windows 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 @@ +2011-07-12 Chong Yidong + + * emacsclient.1: Document exit status. + 2011-06-25 Andreas Rottmann * 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 .TP .B \-H, \-\-help print this usage information message and exit +.SH "EXIT STATUS" +Normally, the exit status is 0. If emacsclient shuts down due to +Emacs signaling an error, the exit status is 1. .SH "SEE ALSO" The program is documented fully in .IR "Using Emacs as a Server" diff --git a/etc/NEWS b/etc/NEWS index ab9900883c8..c34c0467dd9 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -58,13 +58,16 @@ automatically select it. * Startup Changes in Emacs 24.1 +--- ** The --unibyte, --multibyte, --no-multibyte, and --no-unibyte command line arguments, and the EMACS_UNIBYTE environment variable, no longer have any effect. (They were declared obsolete in Emacs 23.) ++++ ** New command line option `--no-site-lisp' removes site-lisp directories from load-path. -Q now implies this. +--- ** On Windows, Emacs now warns when the obsolete _emacs init file is used, and also when HOME is set to C:\ by default. @@ -77,6 +80,7 @@ pops up *Messages*" feature, which can now easily be changed. ** emacsclient changes ++++ *** New emacsclient argument --parent-id ID can be used to open a client frame in parent X window ID, via XEmbed. This works like the --parent-id argument to Emacs. @@ -88,10 +92,12 @@ client frame in parent X window ID, via XEmbed. This works like the *** New emacsclient argument --frame-parameters can be used to set the frame parameters of a newly-created graphical frame. ++++ *** If emacsclient shuts down as a result of Emacs signalling an error, its exit status is 1. ** Completion + *** shell-mode uses pcomplete rules, with the standard completion UI. *** 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'. ** The standalone program `fakemail' has been removed. If you need it, feedmail.el ought to provide a superset of the functionality. ++++ ** The variable `focus-follows-mouse' now always defaults to nil. ** New primitive `secure-hash' that supports many secure hash algorithms From d988232217c0f545bb87c07dba9afd0e4418c610 Mon Sep 17 00:00:00 2001 From: Bill Wohler Date: Mon, 11 Jul 2011 19:20:42 -0700 Subject: [PATCH 07/27] * MH-E-NEWS: Mention that SourceForge MH-E users will have to update their load-paths. --- etc/ChangeLog | 5 +++++ etc/MH-E-NEWS | 10 +++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/etc/ChangeLog b/etc/ChangeLog index 1a9771a960a..b37e4b70c56 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,8 @@ +2011-07-12 Bill Wohler + + * MH-E-NEWS: Mention that SourceForge MH-E users will have to + update their load-paths. + 2011-07-10 Bill Wohler Release MH-E version 8.2.90. diff --git a/etc/MH-E-NEWS b/etc/MH-E-NEWS index 0db76bb1237..c0cac9d861c 100644 --- a/etc/MH-E-NEWS +++ b/etc/MH-E-NEWS @@ -10,17 +10,21 @@ In 2010, the version control system (VCS) of Emacs was upgraded from CVS to Bazaar. In 2011, the MH-E team followed suit and upgraded the MH-E repository at SourceForge from CVS to Bazaar as well. The result is version 8.2.90 of MH-E, which includes needed changes to the build -scripts. +scripts. Another implication of this change is that users who download +MH-E from SourceForge and explicitly load MH-E will have to be change +their `load-path' to "/path/to/mh-e/emacs/trunk/lisp/mh-e" instead. +Note the addition of "trunk." Otherwise, this is a small release that includes mostly internal changes from the Emacs team. One of these changes manifests itself in the user interface--you can now complete folders with abbreviations, -meaning that `+f/b/b TAB' can complete to `+foo/bar/baz'. This version -of MH-E is packaged with GNU Emacs 24.1 +meaning that `+f/b/b TAB' can complete to `+foo/bar/baz'. Also, RFC 2047-encoded Subject header fields in replies are now decoded. +This version of MH-E is packaged with GNU Emacs 24.1 + * Changes in MH-E 8.2 From f69fd0d2fb66ec97cf315e7ef5b0e6b402822af0 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 11 Jul 2011 22:54:26 -0400 Subject: [PATCH 08/27] Minor Dired doc fixes. * lisp/dired.el (dired-mark-prompt): * lisp/dired-aux.el (dired-read-shell-command): Doc fix. --- lisp/ChangeLog | 5 +++++ lisp/dired-aux.el | 21 ++++++++++++--------- lisp/dired.el | 10 +++++++--- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index af6079ec0eb..c3b33866657 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2011-07-12 Chong Yidong + + * dired.el (dired-mark-prompt): + * dired-aux.el (dired-read-shell-command): Doc fix. + 2011-07-11 Lars Magne Ingebrigtsen * mail/sendmail.el (sendmail-query-once): Use 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." ;; This is an extra function so that you can redefine it, e.g., to use gmhist. (defun dired-read-shell-command (prompt arg files) - "Read a dired shell command prompting with PROMPT. -Passes the prefix argument ARG to `dired-mark-prompt', so that it -can be used in the prompt to indicate which FILES are affected. -Normally reads the command with `read-shell-command', but if the -`dired-x' packages is loaded, uses `dired-guess-shell-command' to offer -a smarter default choice of shell command." + "Read a dired shell command. +PROMPT should be a format string with one \"%s\" format sequence, +which is replaced by the value returned by `dired-mark-prompt', +with ARG and FILES as its arguments. FILES should be a list of +file names. The result is used as the prompt. + +This normally reads using `read-shell-command', but if the +`dired-x' package is loaded, use `dired-guess-shell-command' to +offer a smarter default choice of shell command." (minibuffer-with-setup-hook (lambda () (set (make-local-variable 'minibuffer-default-add-function) 'minibuffer-default-add-dired-shell-commands)) (setq prompt (format prompt (dired-mark-prompt arg files))) - (if (featurep 'dired-x) + (if (functionp 'dired-guess-shell-command) (dired-mark-pop-up nil 'shell files - #'dired-guess-shell-command prompt files) + 'dired-guess-shell-command prompt files) (dired-mark-pop-up nil 'shell files - #'read-shell-command prompt nil nil)))) + 'read-shell-command prompt nil nil)))) ;;;###autoload (defun dired-do-async-shell-command (command &optional arg file-list) diff --git a/lisp/dired.el b/lisp/dired.el index 8369d4897be..246127882f5 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -2831,8 +2831,12 @@ also offers to kill buffers visiting deleted files and directories." (if (= 1 count) "" "s")) (defun dired-mark-prompt (arg files) - "Return a string for use in a prompt, either the current file -name, or the marker and a count of marked files." + "Return a string suitable for use in a Dired prompt. +ARG is normally the prefix argument for the calling command. +FILES should be a list of file names. + +The return value has a form like \"foo.txt\", \"[next 3 files]\", +or \"* [3 files]\"." ;; distinguish-one-marked can cause the first element to be just t. (if (eq (car files) t) (setq files (cdr files))) (let ((count (length files))) @@ -4104,7 +4108,7 @@ instead. ;;;*** ;;;### (autoloads (dired-do-relsymlink dired-jump-other-window dired-jump) -;;;;;; "dired-x" "dired-x.el" "90459fb5998296fc67986945701b2bfc") +;;;;;; "dired-x" "dired-x.el" "cb07aa079a02fde43b9fe1354a8b7a31") ;;; Generated autoloads from dired-x.el (autoload 'dired-jump "dired-x" "\ From b1f5845471eeb5fc41bb6fb7777b2b31beadc726 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 11 Jul 2011 23:04:06 -0400 Subject: [PATCH 09/27] * xdisp.c (Vresize_mini_windows): Incredibly minor doc fix (Bug#3300). --- src/ChangeLog | 4 ++++ src/xdisp.c | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index e75a84a4a6b..4f285c069cf 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2011-07-12 Chong Yidong + + * xdisp.c (Vresize_mini_windows): Minor doc fix (Bug#3300). + 2011-07-11 Lars Magne Ingebrigtsen * xdisp.c (syms_of_xdisp): Make it explicit that the mini-windows diff --git a/src/xdisp.c b/src/xdisp.c index d4c6743f805..685386bc40c 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -26852,12 +26852,12 @@ If an integer, it specifies a number of lines. */); Vmax_mini_window_height = make_float (0.25); DEFVAR_LISP ("resize-mini-windows", Vresize_mini_windows, - doc: /* *How to resize mini-windows (the minibuffer and the echo area). + doc: /* How to resize mini-windows (the minibuffer and the echo area). A value of nil means don't automatically resize mini-windows. A value of t means resize them to fit the text displayed in them. -A value of `grow-only', the default, means let mini-windows grow -only, until their display becomes empty, at which point the windows -go back to their normal size. */); +A value of `grow-only', the default, means let mini-windows grow only; +they return to their normal size when the minibuffer is closed, or the +echo area becomes empty. */); Vresize_mini_windows = Qgrow_only; DEFVAR_LISP ("blink-cursor-alist", Vblink_cursor_alist, From 644509873286e39a24207d47fea38bd11d1d6386 Mon Sep 17 00:00:00 2001 From: Bill Wohler Date: Mon, 11 Jul 2011 20:25:46 -0700 Subject: [PATCH 10/27] * mh-xface.el (mh-picon-get-image): Remove quote from block argument. * mh-mime.el (mh-mh-directive-present-p): Ditto. --- lisp/mh-e/ChangeLog | 6 ++++++ lisp/mh-e/mh-mime.el | 6 +++--- lisp/mh-e/mh-xface.el | 12 ++++++------ 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index 2a254c89d25..d6ee6329ae7 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog @@ -1,3 +1,9 @@ +2011-07-12 Henrique Martins (tiny change) + + * mh-xface.el (mh-picon-get-image): Remove quote from block + argument. + * mh-mime.el (mh-mh-directive-present-p): Ditto. + 2011-07-10 Bill Wohler Release MH-E version 8.2.90. 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." (unless begin (setq begin (point-min))) (unless end (setq end (point-max))) (save-excursion - (block 'search-for-mh-directive + (block search-for-mh-directive (goto-char begin) (while (re-search-forward "^#" end t) (let ((s (buffer-substring-no-properties (point) (mh-line-end-position)))) (cond ((equal s "")) ((string-match "^forw[ \t\n]+" s) - (return-from 'search-for-mh-directive t)) + (return-from search-for-mh-directive t)) (t (let ((first-token (car (split-string s "[ \t;@]")))) (when (and first-token (string-match mh-media-type-regexp first-token)) - (return-from 'search-for-mh-directive t))))))) + (return-from search-for-mh-directive t))))))) nil))) (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.") (cond (cached-value (return-from mh-picon-get-image cached-value)) ((not host-list) (return-from mh-picon-get-image nil))) (setq match - (block 'loop + (block loop ;; u@h search (loop for dir in mh-picon-existing-directory-list 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.") for file1 = (format "%s/%s.%s" dir canonical-address type) when (file-exists-p file1) - do (return-from 'loop file1) + do (return-from loop file1) ;; [path]user for file2 = (format "%s/%s.%s" dir user type) when (file-exists-p file2) - do (return-from 'loop file2) + do (return-from loop file2) ;; [path]host for file3 = (format "%s/%s.%s" dir host type) when (file-exists-p file3) - do (return-from 'loop file3))) + do (return-from loop file3))) ;; facedb search ;; Search order for user@foo.net: ;; [path]net/foo/user @@ -241,11 +241,11 @@ The directories are searched for in the order they appear in the list.") do (loop for type in mh-picon-image-types for z1 = (format "%s.%s" y type) when (file-exists-p z1) - do (return-from 'loop z1) + do (return-from loop z1) for z2 = (format "%s/face.%s" y type) when (file-exists-p z2) - do (return-from 'loop z2))))))) + do (return-from loop z2))))))) (setf (gethash canonical-address mh-picon-cache) (mh-picon-file-contents match))))) From 93d4ce1e19dd390cbf6b8e0e49e0f7eface5f279 Mon Sep 17 00:00:00 2001 From: Bill Wohler Date: Mon, 11 Jul 2011 21:40:16 -0700 Subject: [PATCH 11/27] * mh-compat.el (mh-pop-to-buffer-same-window): Add compatibility function to call switch-to-buffer on systems that lack pop-to-buffer-same-window. * mh-folder.el (mh-inc-folder, mh-modify, mh-scan-folder) (mh-make-folder): Call mh-pop-to-buffer-same-window instead of switch-to-buffer. The previous change which used pop-to-buffer produced the wrong behavior. --- lisp/mh-e/ChangeLog | 10 ++++++++++ lisp/mh-e/mh-compat.el | 32 ++++++++++++++++++++++---------- lisp/mh-e/mh-folder.el | 8 ++++---- 3 files changed, 36 insertions(+), 14 deletions(-) diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index d6ee6329ae7..1ee4867fde6 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog @@ -1,3 +1,13 @@ +2011-07-12 Bill Wohler + + * mh-compat.el (mh-pop-to-buffer-same-window): Add compatibility + function to call switch-to-buffer on systems that lack + pop-to-buffer-same-window. + * mh-folder.el (mh-inc-folder, mh-modify, mh-scan-folder) + (mh-make-folder): Call mh-pop-to-buffer-same-window instead of + switch-to-buffer. The previous change which used pop-to-buffer + produced the wrong behavior. + 2011-07-12 Henrique Martins (tiny change) * mh-xface.el (mh-picon-get-image): Remove quote from block 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." "XEmacs does not have `font-lock-add-keywords'. This function returns nil on that system.") -(defun-mh mh-window-full-height-p - window-full-height-p (&optional WINDOW) - "Return non-nil if WINDOW is not the result of a vertical split. -This function is defined in XEmacs as it lacks -`window-full-height-p'. The values of the functions -`window-height' and `frame-height' are compared instead. The -argument WINDOW is ignored." - (= (1+ (window-height)) - (frame-height))) - (defun-mh mh-image-load-path-for-library image-load-path-for-library (library image &optional path no-error) "Return a suitable search path for images used by LIBRARY. @@ -261,6 +251,18 @@ The argument STRING is ignored." (buffer-substring-no-properties (match-beginning num) (match-end num))) +(defun-mh mh-pop-to-buffer-same-window + pop-to-buffer-same-window (&optional buffer-or-name norecord label) + "Pop to buffer specified by BUFFER-OR-NAME in the selected window. +Another window will be used only if the buffer can't be shown in +the selected window, usually because it is dedicated to another +buffer. Optional arguments BUFFER-OR-NAME, NORECORD and LABEL are +as for `pop-to-buffer'. This macro is used by Emacs versions that +lack the `pop-to-buffer-same-window' function, introduced in +Emacs 24. The function `switch-to-buffer' is used instead and +LABEL is ignored." + (switch-to-buffer buffer-or-name norecord)) + (defun-mh mh-replace-regexp-in-string replace-regexp-in-string (regexp rep string &optional fixedcase literal subexp start) "Replace REGEXP with REP everywhere in STRING and return result. @@ -312,6 +314,16 @@ The arguments RETURN-TO and EXIT-ACTION are ignored." (if exit-action nil) (view-mode 1)) +(defun-mh mh-window-full-height-p + window-full-height-p (&optional WINDOW) + "Return non-nil if WINDOW is not the result of a vertical split. +This function is defined in XEmacs as it lacks +`window-full-height-p'. The values of the functions +`window-height' and `frame-height' are compared instead. The +argument WINDOW is ignored." + (= (1+ (window-height)) + (frame-height))) + (defmacro mh-write-file-functions () "Return `write-file-functions' if it exists. Otherwise return `local-write-file-hooks'. 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." (setq threading-needed-flag mh-show-threads-flag) (setq mh-previous-window-config config)) ((not (eq (current-buffer) (get-buffer folder))) - (pop-to-buffer folder) + (mh-pop-to-buffer-same-window folder) (setq mh-previous-window-config config)))) (mh-get-new-mail file) (when (and threading-needed-flag @@ -855,7 +855,7 @@ From a program, edit MESSAGE; nil means edit current message." ;; Just show the edit buffer... (delete-other-windows) - (pop-to-buffer edit-buffer))) + (mh-pop-to-buffer-same-window edit-buffer))) ;;;###mh-autoload (defun mh-next-button (&optional backward-flag) @@ -1705,7 +1705,7 @@ DONT-EXEC-PENDING is non-nil." (unless dont-exec-pending (mh-process-or-undo-commands folder) (mh-reset-threads-and-narrowing)) - (pop-to-buffer folder))) + (mh-pop-to-buffer-same-window folder))) (mh-regenerate-headers range) (if (zerop (buffer-size)) (if (equal range "all") @@ -1786,7 +1786,7 @@ Also removes all content from the folder buffer." (defun mh-make-folder (name) "Create a new mail folder called NAME. Make it the current folder." - (pop-to-buffer name) + (mh-pop-to-buffer-same-window name) (setq buffer-read-only nil) (erase-buffer) (if mh-adaptive-cmd-note-flag From 97cc26fd5fea9984eef75a287e172ea19c9f37f8 Mon Sep 17 00:00:00 2001 From: Bill Wohler Date: Mon, 11 Jul 2011 21:52:40 -0700 Subject: [PATCH 12/27] * mh-e.el (Version, mh-version): Update for release 8.2.91. --- lisp/mh-e/ChangeLog | 4 ++++ lisp/mh-e/mh-e.el | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index 1ee4867fde6..df4edcc75e1 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog @@ -1,5 +1,9 @@ 2011-07-12 Bill Wohler + Release MH-E version 8.2.91. + + * mh-e.el (Version, mh-version): Update for release 8.2.91. + * mh-compat.el (mh-pop-to-buffer-same-window): Add compatibility function to call switch-to-buffer on systems that lack pop-to-buffer-same-window. 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 @@ ;; Author: Bill Wohler ;; Maintainer: Bill Wohler -;; Version: 8.2.90 +;; Version: 8.2.91 ;; Keywords: mail ;; This file is part of GNU Emacs. @@ -127,7 +127,7 @@ ;; Try to keep variables local to a single file. Provide accessors if ;; variables are shared. Use this section as a last resort. -(defconst mh-version "8.2.90" "Version number of MH-E.") +(defconst mh-version "8.2.91" "Version number of MH-E.") ;; Variants From 71e0ea1358607ad22ee8759345fd023553331f44 Mon Sep 17 00:00:00 2001 From: Bill Wohler Date: Mon, 11 Jul 2011 21:54:15 -0700 Subject: [PATCH 13/27] * NEWS, MH-E-NEWS: Update for MH-E release 8.2.91. --- etc/ChangeLog | 4 ++++ etc/MH-E-NEWS | 19 +++++++++++++------ etc/NEWS | 2 +- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/etc/ChangeLog b/etc/ChangeLog index b37e4b70c56..bfe584c69a1 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,5 +1,9 @@ 2011-07-12 Bill Wohler + Release MH-E version 8.2.91. + + * NEWS, MH-E-NEWS: Update for MH-E release 8.2.91. + * MH-E-NEWS: Mention that SourceForge MH-E users will have to update their load-paths. diff --git a/etc/MH-E-NEWS b/etc/MH-E-NEWS index c0cac9d861c..a46354d7b7b 100644 --- a/etc/MH-E-NEWS +++ b/etc/MH-E-NEWS @@ -3,6 +3,18 @@ Copyright (C) 2001-2011 Free Software Foundation, Inc. See the end of the file for license conditions. +* Changes in MH-E 8.2.91 + +Version 8.2.91 fixes the folder window problem that was introduced +in 8.2.90. It also fixes compilation warnings in XEmacs 21.5.31, as +well as an error when running XEmacs 21.5.31 in a terminal. + +Another implication of the VCS change is that users who download MH-E +from SourceForge and explicitly load MH-E will have to be change their +`load-path' to "/path/to/mh-e/emacs/trunk/lisp/mh-e" instead. Note the +addition of "trunk." + +This version of MH-E is packaged with GNU Emacs 24.1 * Changes in MH-E 8.2.90 @@ -10,10 +22,7 @@ In 2010, the version control system (VCS) of Emacs was upgraded from CVS to Bazaar. In 2011, the MH-E team followed suit and upgraded the MH-E repository at SourceForge from CVS to Bazaar as well. The result is version 8.2.90 of MH-E, which includes needed changes to the build -scripts. Another implication of this change is that users who download -MH-E from SourceForge and explicitly load MH-E will have to be change -their `load-path' to "/path/to/mh-e/emacs/trunk/lisp/mh-e" instead. -Note the addition of "trunk." +scripts. Otherwise, this is a small release that includes mostly internal changes from the Emacs team. One of these changes manifests itself in @@ -23,8 +32,6 @@ meaning that `+f/b/b TAB' can complete to `+foo/bar/baz'. Also, RFC 2047-encoded Subject header fields in replies are now decoded. -This version of MH-E is packaged with GNU Emacs 24.1 - * Changes in MH-E 8.2 diff --git a/etc/NEWS b/etc/NEWS index c34c0467dd9..8a37735b41f 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -492,7 +492,7 @@ $ESHELL nor variable `explicit-shell-file-name' is set. ** MH-E -*** Upgraded to MH-E version 8.2.90. See MH-E-NEWS for details. +*** Upgraded to MH-E version 8.2.91. See MH-E-NEWS for details. ** comint and modes derived from it use the generic completion code. From 296ba3ee9f7f8d1b9ba0c8dbf0cd8127fd02e9f0 Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Tue, 12 Jul 2011 09:26:48 +0200 Subject: [PATCH 14/27] Remove `remove-duplicates', since `delete-dups' is sufficient. --- lisp/ChangeLog | 6 ++++++ lisp/dired-x.el | 2 +- lisp/subr.el | 11 +---------- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c3b33866657..dfea2f43e54 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2011-07-12 Lars Magne Ingebrigtsen + + * subr.el (remove-duplicates): Remove; `delete-dups' is sufficient. + + * dired-x.el (dired-guess-default): Use `delete-dups'. + 2011-07-12 Chong Yidong * dired.el (dired-mark-prompt): 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'." ;; Return commands or nil if flist is still non-nil. ;; Evaluate the commands in order that any logical testing will be done. (if (cdr cmds) - (remove-duplicates (mapcar #'eval cmds)) + (delete-dups (mapcar #'eval cmds)) (eval (car cmds))))) ; single command (defun dired-guess-shell-command (prompt files) 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. (progn ;; If we reload subr.el after having loaded CL, be careful not to ;; overwrite CL's extended definition of `dolist', `dotimes', - ;; `declare', `push', `pop' and `remove-duplicates'. + ;; `declare', `push' and `pop'. (defmacro dolist (spec &rest body) "Loop over a list. @@ -250,15 +250,6 @@ the return value (nil if RESULT is omitted). Treated as a declaration when used at the right place in a `defmacro' form. \(See Info anchor `(elisp)Definition of declare'.)" nil) - -(defun remove-duplicates (list) - "Return a copy of LIST with all duplicate elements removed." - (let ((result nil)) - (while list - (unless (member (car list) result) - (push (car list) result)) - (pop list)) - (nreverse result))) )) (defmacro ignore-errors (&rest body) From 85cf5029d9d2e07990ccf81386f2940dba8f2f7f Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 12 Jul 2011 06:19:18 -0400 Subject: [PATCH 15/27] Auto-commit of generated files. --- autogen/configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 libs_nsgui= headerpad_extra=690 fi - LD_SWITCH_SYSTEM_TEMACS="-prebind $libs_nsgui -Xlinker -headerpad -Xlinker $headerpad_extra" + LD_SWITCH_SYSTEM_TEMACS="-fno-pie -prebind $libs_nsgui -Xlinker -headerpad -Xlinker $headerpad_extra" ## This is here because src/Makefile.in did some extra fiddling around ## with LD_SWITCH_SYSTEM. The cpp logic was: From 854e5fa8238938f41b27d94a1d6ca0ac6162b261 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 12 Jul 2011 06:24:54 -0400 Subject: [PATCH 16/27] Auto-commit of loaddefs files. --- lisp/dired.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/dired.el b/lisp/dired.el index 246127882f5..62420348d0f 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -3647,7 +3647,7 @@ Ask means pop up a menu for the user to select one of copy, move or link." ;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command ;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown ;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff -;;;;;; dired-diff) "dired-aux" "dired-aux.el" "198ca311b49f0b6354f915502bba4ab6") +;;;;;; dired-diff) "dired-aux" "dired-aux.el" "ab62f310329f404f96a29e4f0ab8df73") ;;; Generated autoloads from dired-aux.el (autoload 'dired-diff "dired-aux" "\ @@ -4108,7 +4108,7 @@ instead. ;;;*** ;;;### (autoloads (dired-do-relsymlink dired-jump-other-window dired-jump) -;;;;;; "dired-x" "dired-x.el" "cb07aa079a02fde43b9fe1354a8b7a31") +;;;;;; "dired-x" "dired-x.el" "219648338c42c7912fa336680b434db0") ;;; Generated autoloads from dired-x.el (autoload 'dired-jump "dired-x" "\ From f5242a022f62b577e97faa2dc062936b107fe8b7 Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Tue, 12 Jul 2011 14:28:35 +0200 Subject: [PATCH 17/27] Fontise bytecomp Error lines more correctly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix suggested by Johan Bockgård. Fixes: debbugs:2490 --- lisp/ChangeLog | 4 ++++ lisp/progmodes/compile.el | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index dfea2f43e54..d503171245d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,9 @@ 2011-07-12 Lars Magne Ingebrigtsen + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Fontise bytecomp Error lines more correctly (bug#2490). Fix + suggested by Johan Bockgård. + * subr.el (remove-duplicates): Remove; `delete-dups' is sufficient. * dired-x.el (dired-guess-default): Use `delete-dups'. diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 3a9463f0f97..d9316764895 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -251,7 +251,7 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1)) \\([0-9]*[^0-9\n]\\(?:[^\n :]\\| [^-/\n]\\|:[^ \n]\\)*?\\): ?\ \\([0-9]+\\)\\(?:[.:]\\([0-9]+\\)\\)?\ \\(?:-\\([0-9]+\\)?\\(?:\\.\\([0-9]+\\)\\)?\\)?:\ -\\(?: *\\(\\(?:Future\\|Runtime\\)?[Ww]arning\\|W:\\)\\|\ +\\(?: *\\(\\(?:Future\\|Runtime\\)?[Ww]arning\\|W:\\|[Ee]rror\\)\\|\ *\\([Ii]nfo\\(?:\\>\\|rmationa?l?\\)\\|I:\\|instantiated from\\|[Nn]ote\\)\\|\ \[0-9]?\\(?:[^0-9\n]\\|$\\)\\|[0-9][0-9][0-9]\\)" 1 (2 . 4) (3 . 5) (6 . 7)) From 6d72f719e5e6ae1106e4a3101ab22bedbbf8407c Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Tue, 12 Jul 2011 14:39:51 +0200 Subject: [PATCH 18/27] * org.texi (Special agenda views): Fix double quoting. Fixes: debbugs:3509 --- doc/misc/ChangeLog | 4 ++++ doc/misc/org.texi | 20 ++++++++++---------- 2 files changed, 14 insertions(+), 10 deletions(-) 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 @@ +2011-07-12 Lars Magne Ingebrigtsen + + * org.texi (Special agenda views): Fix double quoting (bug#3509). + 2011-07-07 Lars Magne Ingebrigtsen * 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} and @code{org-agenda-skip-subtree-if} in this form, for example: @table @code -@item '(org-agenda-skip-entry-if 'scheduled) +@item (org-agenda-skip-entry-if 'scheduled) Skip current entry if it has been scheduled. -@item '(org-agenda-skip-entry-if 'notscheduled) +@item (org-agenda-skip-entry-if 'notscheduled) Skip current entry if it has not been scheduled. -@item '(org-agenda-skip-entry-if 'deadline) +@item (org-agenda-skip-entry-if 'deadline) Skip current entry if it has a deadline. -@item '(org-agenda-skip-entry-if 'scheduled 'deadline) +@item (org-agenda-skip-entry-if 'scheduled 'deadline) Skip current entry if it has a deadline, or if it is scheduled. -@item '(org-agenda-skip-entry-if 'todo '("TODO" "WAITING")) +@item (org-agenda-skip-entry-if 'todo '("TODO" "WAITING")) Skip current entry if the TODO keyword is TODO or WAITING. -@item '(org-agenda-skip-entry-if 'todo 'done) +@item (org-agenda-skip-entry-if 'todo 'done) Skip current entry if the TODO keyword marks a DONE state. -@item '(org-agenda-skip-entry-if 'timestamp) +@item (org-agenda-skip-entry-if 'timestamp) Skip current entry if it has any timestamp, may also be deadline or scheduled. -@item '(org-agenda-skip-entry 'regexp "regular expression") +@item (org-agenda-skip-entry 'regexp "regular expression") Skip current entry if the regular expression matches in the entry. -@item '(org-agenda-skip-entry 'notregexp "regular expression") +@item (org-agenda-skip-entry 'notregexp "regular expression") Skip current entry unless the regular expression matches. -@item '(org-agenda-skip-subtree-if 'regexp "regular expression") +@item (org-agenda-skip-subtree-if 'regexp "regular expression") Same as above, but check and skip the entire subtree. @end table From 91223e541e7fa95e76560de1cd741ec76a1f1c9e Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Tue, 12 Jul 2011 14:50:42 +0200 Subject: [PATCH 19/27] * elisp.texi: Change "inferiors" to "subnodes" in three places --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/elisp.texi | 2 +- doc/lispref/vol1.texi | 2 +- doc/lispref/vol2.texi | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index fdf5a7753ba..4517faac80e 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2011-07-12 Lars Magne Ingebrigtsen + + * elisp.texi: Change "inferiors" to "subnodes" in three places + (bug#3523). + 2011-07-11 Chong Yidong * frames.texi (Window System Selections): Discussion of 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 --- The Detailed Node Listing --- --------------------------------- -Here are other nodes that are inferiors of those already listed, +Here are other nodes that are subnodes of those already listed, mentioned here so you can get to them in one step: Introduction 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 --- The Detailed Node Listing --- --------------------------------- -Here are other nodes that are inferiors of those already listed, +Here are other nodes that are subnodes of those already listed, mentioned here so you can get to them in one step: Introduction 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 --- The Detailed Node Listing --- --------------------------------- -Here are other nodes that are inferiors of those already listed, +Here are other nodes that are subnodes of those already listed, mentioned here so you can get to them in one step: Introduction From c2fd0368e4d50d9601fdde14fc5423b858f0d3e1 Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Tue, 12 Jul 2011 14:53:09 +0200 Subject: [PATCH 20/27] * emacs.texi (Top): Change "inferiors" to "subnodes" for greater clarity. Fixes: debbugs:3523 --- doc/emacs/ChangeLog | 5 +++++ doc/emacs/emacs.texi | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index aa1657462a2..a02a1cd2382 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2011-07-12 Lars Magne Ingebrigtsen + + * emacs.texi (Top): Change "inferiors" to "subnodes" for greater + clarity (bug#3523). + 2011-07-12 Chong Yidong * cmdargs.texi (Initial Options): Document --no-site-lisp. diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 256cdf3b5c2..7a0bbd981f4 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -251,7 +251,7 @@ Appendices --- The Detailed Node Listing --- --------------------------------- -Here are some other nodes which are really inferiors of the ones +Here are some other nodes which are really subnodes of the ones already listed, mentioned here so you can get to them in one step: The Organization of the Screen From 48b76ddfd846041c7fb3d5c561a5930b078ee0f8 Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Tue, 12 Jul 2011 14:58:24 +0200 Subject: [PATCH 21/27] (menu-set-font): Clarify that the default will be saved Fixes: debbugs:3527 --- lisp/ChangeLog | 3 +++ lisp/menu-bar.el | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d503171245d..75c6eb01a1e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2011-07-12 Lars Magne Ingebrigtsen + * menu-bar.el (menu-set-font): Clarify that the default will be + saved (bug#3527). + * progmodes/compile.el (compilation-error-regexp-alist-alist): Fontise bytecomp Error lines more correctly (bug#2490). Fix suggested by Johan Bockgård. diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index caae40ed8c5..2954384d23b 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -673,7 +673,8 @@ by \"Save Options\" in Custom buffers.") ;; Function for setting/saving default font. (defun menu-set-font () - "Interactively select a font and make it the default." + "Interactively select a font and make it the default. +This new default will be saved for future Emacs sessions." (interactive) (let ((font (if (fboundp 'x-select-font) (x-select-font) From 9d6f1d90417f8f4b477fb4bc8b8537ed375a1a69 Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Tue, 12 Jul 2011 15:01:20 +0200 Subject: [PATCH 22/27] Revert last patch, which wasn't correct. --- lisp/ChangeLog | 3 --- lisp/menu-bar.el | 3 +-- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 75c6eb01a1e..d503171245d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,8 +1,5 @@ 2011-07-12 Lars Magne Ingebrigtsen - * menu-bar.el (menu-set-font): Clarify that the default will be - saved (bug#3527). - * progmodes/compile.el (compilation-error-regexp-alist-alist): Fontise bytecomp Error lines more correctly (bug#2490). Fix suggested by Johan Bockgård. diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index 2954384d23b..caae40ed8c5 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -673,8 +673,7 @@ by \"Save Options\" in Custom buffers.") ;; Function for setting/saving default font. (defun menu-set-font () - "Interactively select a font and make it the default. -This new default will be saved for future Emacs sessions." + "Interactively select a font and make it the default." (interactive) (let ((font (if (fboundp 'x-select-font) (x-select-font) From ff8be6ef0717b99cbfa4a3208417af5b86917807 Mon Sep 17 00:00:00 2001 From: Roland Winkler Date: Tue, 12 Jul 2011 08:37:38 -0500 Subject: [PATCH 23/27] lisp/textmodes/bibtex.el: small bug fixes --- lisp/ChangeLog | 6 ++++++ lisp/textmodes/bibtex.el | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d503171245d..b4334e18a38 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2011-07-12 Roland Winkler + + * textmodes/bibtex.el (bibtex-initialize): Use + pop-to-buffer-same-window. + (bibtex-search-entries): Fix interactive call. + 2011-07-12 Lars Magne Ingebrigtsen * progmodes/compile.el (compilation-error-regexp-alist-alist): 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 ;; select BibTeX buffer (if select (if buffer-list - (switch-to-buffer + (pop-to-buffer-same-window (completing-read "Switch to BibTeX buffer: " (mapcar 'buffer-name buffer-list) nil t @@ -5179,7 +5179,7 @@ where FILE is the BibTeX file of ENTRY." (delete-dups (apply 'append bibtex-user-optional-fields - (mapcar (lambda (x) (mapcar 'car (apply 'append (cdr x)))) + (mapcar (lambda (x) (mapcar 'car (apply 'append (nthcdr 2 x)))) bibtex-entry-alist))) nil t) (read-string "Regexp: ") (if bibtex-search-entry-globally From c79598ef31da0b1f93d0cfb311e2cc93342f976e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Bockg=C3=A5rd?= Date: Tue, 12 Jul 2011 16:40:56 +0200 Subject: [PATCH 24/27] * progmodes/compile.el (compilation-error-regexp-alist-alist): Fix previous fix. Fixes: debbugs:2490 --- lisp/ChangeLog | 5 +++++ lisp/progmodes/compile.el | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b4334e18a38..7a9e0267c3e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2011-07-12 Johan Bockgård + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Fix previous fix (bug#2490). + 2011-07-12 Roland Winkler * textmodes/bibtex.el (bibtex-initialize): Use diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index d9316764895..503698f0f7b 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -251,9 +251,9 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1)) \\([0-9]*[^0-9\n]\\(?:[^\n :]\\| [^-/\n]\\|:[^ \n]\\)*?\\): ?\ \\([0-9]+\\)\\(?:[.:]\\([0-9]+\\)\\)?\ \\(?:-\\([0-9]+\\)?\\(?:\\.\\([0-9]+\\)\\)?\\)?:\ -\\(?: *\\(\\(?:Future\\|Runtime\\)?[Ww]arning\\|W:\\|[Ee]rror\\)\\|\ +\\(?: *\\(\\(?:Future\\|Runtime\\)?[Ww]arning\\|W:\\)\\|\ *\\([Ii]nfo\\(?:\\>\\|rmationa?l?\\)\\|I:\\|instantiated from\\|[Nn]ote\\)\\|\ -\[0-9]?\\(?:[^0-9\n]\\|$\\)\\|[0-9][0-9][0-9]\\)" + *[Ee]rror\\|\[0-9]?\\(?:[^0-9\n]\\|$\\)\\|[0-9][0-9][0-9]\\)" 1 (2 . 4) (3 . 5) (6 . 7)) (lcc From ecd0b99093da223eb20132271b00371cd85bff51 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 12 Jul 2011 11:29:27 -0400 Subject: [PATCH 25/27] Move Dissociated Press section of manual into Amusements. * doc/emacs/misc.texi (Amusements): Move dissociated press here, from its own section. * doc/emacs/emacs.texi (Top): Update node listing. --- doc/emacs/ChangeLog | 7 ++ doc/emacs/emacs.texi | 1 - doc/emacs/misc.texi | 169 +++++++++++++++---------------------------- 3 files changed, 64 insertions(+), 113 deletions(-) diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index a02a1cd2382..d762ea11654 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,10 @@ +2011-07-12 Chong Yidong + + * misc.texi (Amusements): Move dissociated press here, from its + own section. + + * emacs.texi (Top): Update node listing. + 2011-07-12 Lars Magne Ingebrigtsen * emacs.texi (Top): Change "inferiors" to "subnodes" for greater diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 7a0bbd981f4..e8fb42db0bb 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -219,7 +219,6 @@ Advanced Features "recursive editing level". * Emulation:: Emulating some other editors with Emacs. * Hyperlinking:: Following links in buffers. -* Dissociated Press:: Dissociating text for fun. * Amusements:: Various games and hacks. * Customization:: Modifying the behavior of Emacs. diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 73c742c493a..426610e65b9 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -2572,7 +2572,7 @@ not use it. key bindings. @end table -@node Hyperlinking, Dissociated Press, Emulation, Top +@node Hyperlinking, Amusements, Emulation, Top @section Hyperlinking and Navigation Features @cindex hyperlinking @@ -2738,81 +2738,14 @@ Display a menu of files and URLs mentioned in current buffer, then find the one you select (@code{ffap-menu}). @end table -@node Dissociated Press, Amusements, Hyperlinking, Top -@section Dissociated Press - -@findex dissociated-press - @kbd{M-x dissociated-press} is a command for scrambling a file of text -either word by word or character by character. Starting from a buffer of -straight English, it produces extremely amusing output. The input comes -from the current Emacs buffer. Dissociated Press writes its output in a -buffer named @samp{*Dissociation*}, and redisplays that buffer after every -couple of lines (approximately) so you can read the output as it comes out. - - Dissociated Press asks every so often whether to continue generating -output. Answer @kbd{n} to stop it. You can also stop at any time by -typing @kbd{C-g}. The dissociation output remains in the -@samp{*Dissociation*} buffer for you to copy elsewhere if you wish. - -@cindex presidentagon - Dissociated Press operates by jumping at random from one point in -the buffer to another. In order to produce plausible output rather -than gibberish, it insists on a certain amount of overlap between the -end of one run of consecutive words or characters and the start of the -next. That is, if it has just output `president' and then decides to -jump to a different point in the buffer, it might spot the `ent' in -`pentagon' and continue from there, producing `presidentagon'. Long -sample texts produce the best results. - -@cindex againformation - A positive argument to @kbd{M-x dissociated-press} tells it to operate -character by character, and specifies the number of overlap characters. A -negative argument tells it to operate word by word, and specifies the number -of overlap words. In this mode, whole words are treated as the elements to -be permuted, rather than characters. No argument is equivalent to an -argument of two. For your againformation, the output goes only into the -buffer @samp{*Dissociation*}. The buffer you start with is not changed. - -@cindex Markov chain -@cindex ignoriginal -@cindex techniquitous - Dissociated Press produces results fairly like those of a Markov -chain based on a frequency table constructed from the sample text. It -is, however, an independent, ignoriginal invention. Dissociated Press -techniquitously copies several consecutive characters from the sample -text between random jumps, unlike a Markov chain which would jump -randomly after each word or character. This makes for more plausible -sounding results, and runs faster. - -@cindex outragedy -@cindex buggestion -@cindex properbose -@cindex mustatement -@cindex developediment -@cindex userenced - It is a mustatement that too much use of Dissociated Press can be a -developediment to your real work, sometimes to the point of outragedy. -And keep dissociwords out of your documentation, if you want it to be well -userenced and properbose. Have fun. Your buggestions are welcome. - -@node Amusements, Customization, Dissociated Press, Top +@node Amusements, Customization, Hyperlinking, Top @section Other Amusements @cindex boredom -@findex hanoi -@findex gomoku -@cindex tower of Hanoi - If you are a little bit bored, you can try @kbd{M-x hanoi}. If you are -considerably bored, give it a numeric argument. If you are very, very -bored, try an argument of 9. Sit back and watch. - -@cindex Go Moku - If you want a little more personal involvement, try @kbd{M-x gomoku}, -which plays the game Go Moku with you. - -@findex bubbles - @kbd{M-x bubbles} is a game in which the object is to remove as many -bubbles as you can in the smallest number of moves. +@findex animate-birthday-present +@cindex animate + The @code{animate} package makes text dance. For an example, try +@kbd{M-x animate-birthday-present}. @findex blackbox @findex mpuz @@ -2825,70 +2758,82 @@ puzzle with letters standing for digits in a code that you must guess---to guess a value, type a letter and then the digit you think it stands for. The aim of @code{5x5} is to fill in all the squares. +@findex bubbles + @kbd{M-x bubbles} is a game in which the object is to remove as many +bubbles as you can in the smallest number of moves. + @findex decipher @cindex ciphers @cindex cryptanalysis -@kbd{M-x decipher} helps you to cryptanalyze a buffer which is encrypted -in a simple monoalphabetic substitution cipher. + @kbd{M-x decipher} helps you to cryptanalyze a buffer which is +encrypted in a simple monoalphabetic substitution cipher. + +@findex dissociated-press + @kbd{M-x dissociated-press} scrambles the text in the current Emacs +buffer, word by word or character by character, writing its output to +a buffer named @samp{*Dissociation*}. A positive argument tells it to +operate character by character, and specifies the number of overlap +characters. A negative argument tells it to operate word by word, and +specifies the number of overlap words. Dissociated Press produces +results fairly like those of a Markov chain, but is however, an +independent, ignoriginal invention; it techniquitously copies several +consecutive characters from the sample text between random jumps, +unlike a Markov chain which would jump randomly after each word or +character. Keep dissociwords out of your documentation, if you want +it to be well userenced and properbose. @findex dunnet - @kbd{M-x dunnet} runs an adventure-style exploration game, which is -a bigger sort of puzzle. + @kbd{M-x dunnet} runs an text-based adventure game. -@findex lm -@cindex landmark game -@kbd{M-x lm} runs a relatively non-participatory game in which a robot -attempts to maneuver towards a tree at the center of the window based on -unique olfactory cues from each of the four directions. +@findex gomoku +@cindex Go Moku + If you want a little more personal involvement, try @kbd{M-x gomoku}, +which plays the game Go Moku with you. + +@cindex tower of Hanoi +@findex hanoi + If you are a little bit bored, you can try @kbd{M-x hanoi}. If you are +considerably bored, give it a numeric argument. If you are very, very +bored, try an argument of 9. Sit back and watch. @findex life @cindex Life -@kbd{M-x life} runs Conway's ``Life'' cellular automaton. + @kbd{M-x life} runs Conway's ``Life'' cellular automaton. + +@findex lm +@cindex landmark game + @kbd{M-x lm} runs a relatively non-participatory game in which a +robot attempts to maneuver towards a tree at the center of the window +based on unique olfactory cues from each of the four directions. @findex morse-region @findex unmorse-region @cindex Morse code @cindex --/---/.-./.../. -@kbd{M-x morse-region} converts text in a region to Morse code and + @kbd{M-x morse-region} converts text in a region to Morse code and @kbd{M-x unmorse-region} converts it back. No cause for remorse. @findex pong @cindex Pong game -@kbd{M-x pong} plays a Pong-like game, bouncing the ball off opposing -bats. - -@findex solitaire -@cindex solitaire -@kbd{M-x solitaire} plays a game of solitaire in which you jump pegs -across other pegs. - -@findex animate-birthday-present -@cindex animate -The @code{animate} package makes text dance. For an example, try -@kbd{M-x animate-birthday-present}. - -@findex studlify-region -@cindex StudlyCaps -@kbd{M-x studlify-region} studlify-cases the region, producing -text like this: - -@example -M-x stUdlIfY-RegioN stUdlIfY-CaSeS thE region. -@end example - @findex tetris @cindex Tetris @findex snake @cindex Snake -@kbd{M-x tetris} runs an implementation of the well-known Tetris game. -Likewise, @kbd{M-x snake} provides an implementation of Snake. + @kbd{M-x pong}, @kbd{M-x snake} and @kbd{M-x tetris} are +implementations of the well-known Pong, Snake and Tetris games. - When you are frustrated, try the famous Eliza program. Just do -@kbd{M-x doctor}. End each input by typing @key{RET} twice. +@findex solitaire +@cindex solitaire + @kbd{M-x solitaire} plays a game of solitaire in which you jump pegs +across other pegs. @findex zone -The command @kbd{M-x zone} plays games with the display when Emacs is -idle. + The command @kbd{M-x zone} plays games with the display when Emacs +is idle. + + Finally, if you find yourself frustrated, try the famous Eliza +program. Just do @kbd{M-x doctor}. End each input by typing +@key{RET} twice. @ifnottex @lowersections From 270768cd6e5c704b0e1377b09d0f1691a5a11116 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 12 Jul 2011 09:39:15 -0700 Subject: [PATCH 26/27] * term.c (init_tty): Remove unused local. --- src/ChangeLog | 5 +++++ src/term.c | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index 4f285c069cf..e964e06894d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2011-07-12 Paul Eggert + + Fix recently-introduced minor problems. + * term.c (init_tty): Remove unused local. + 2011-07-12 Chong Yidong * xdisp.c (Vresize_mini_windows): Minor doc fix (Bug#3300). 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) char *area = NULL; char **address = &area; int buffer_size = 4096; - register char *p = NULL; int status; struct tty_display_info *tty = NULL; struct terminal *terminal = NULL; From 490011a6cc38e11c81697c8f5e7353dcd3d81187 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 12 Jul 2011 09:47:56 -0700 Subject: [PATCH 27/27] * xsettings.c (store_monospaced_changed): Define only if used. --- src/ChangeLog | 3 +++ src/xsettings.c | 10 ++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index e964e06894d..a52f71bbf7b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -2,6 +2,9 @@ Fix recently-introduced minor problems. * term.c (init_tty): Remove unused local. + * xsettings.c (store_monospaced_changed): Define this function only + if (defined HAVE_GSETTINGS || define defined HAVE_GCONF), as it's + not used otherwise. 2011-07-12 Chong Yidong 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) /* Store a monospace font change event if the monospaced font changed. */ -#ifdef HAVE_XFT +#if defined HAVE_XFT && (defined HAVE_GSETTINGS || defined HAVE_GCONF) static void store_monospaced_changed (const char *newfont) { @@ -99,9 +99,11 @@ store_monospaced_changed (const char *newfont) XCAR (first_dpyinfo->name_list_element)); } } +#endif /* Store a font name change event if the font name changed. */ +#ifdef HAVE_XFT static void store_font_name_changed (const char *newfont) { @@ -252,7 +254,7 @@ something_changed_gsettingsCB (GSettings *settings, g_variant_unref (val); } } -#endif /* HAVE_XFT */ +#endif /* HAVE_XFT */ } #endif /* HAVE_GSETTINGS */ @@ -441,14 +443,14 @@ parse_settings (unsigned char *prop, bytes_parsed += 4; /* Skip serial for this value */ if (bytes_parsed > bytes) return BadLength; - want_this = + want_this = #ifdef HAVE_XFT (nlen > 6 && strncmp (name, "Xft/", 4) == 0) || strcmp (XSETTINGS_FONT_NAME, name) == 0 || #endif strcmp (XSETTINGS_TOOL_BAR_STYLE, name) == 0; - + switch (type) { case 0: /* Integer */