# HG changeset patch # User Katsumi Yamaoka # Date 1267017954 0 # Node ID 9976fba4d65d53cc2aa8eb0962c01dfc513bc739 # Parent b8e814363b3d6d9c714284fe9e66720b39b3e0c6# Parent a41886cf38903f7a357ce3211351d406142f283d Merge from mainline. diff -r b8e814363b3d -r 9976fba4d65d doc/emacs/ChangeLog --- a/doc/emacs/ChangeLog Sat Feb 20 13:10:32 2010 +0000 +++ b/doc/emacs/ChangeLog Wed Feb 24 13:25:54 2010 +0000 @@ -1,3 +1,8 @@ +2010-02-21 Chong Yidong + + * frames.texi (Frame Commands): Note that the last ordinary frame can + be deleted in daemon mode (Bug#5616). + 2010-02-18 Glenn Morris * trouble.texi (Contributing): Repository is no longer CVS. diff -r b8e814363b3d -r 9976fba4d65d doc/emacs/frames.texi --- a/doc/emacs/frames.texi Sat Feb 20 13:10:32 2010 +0000 +++ b/doc/emacs/frames.texi Wed Feb 24 13:25:54 2010 +0000 @@ -622,18 +622,24 @@ Delete all frames except the selected one. @end table + The @kbd{C-x 5 0} (@code{delete-frame}) command will never delete +the last frame, to prevent you from losing the ability to interact +with the Emacs process. Note that when Emacs is run as a daemon +(@pxref{Emacs Server}), there is always a ``virtual frame'' that +remains after all the ordinary, interactive frames are deleted. In +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 - To make the command @kbd{C-x 5 o} work properly, you should tell -Emacs how the system (or the window manager) handles focus-switching -between windows. There are two possibilities: either simply moving -the mouse onto a window selects it (gives it focus), or you have to -click on it to do so. On X, this focus policy also affects whether -the focus is given to a frame that Emacs raises. Unfortunately there -is no way Emacs can find out automatically which way the system -handles this, so you have to explicitly say, by setting the variable -@code{focus-follows-mouse}. If just moving the mouse onto a window -selects it, that variable should be @code{t}; if a click is necessary, -the variable should be @code{nil}. The default is @code{t}. + 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}. 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 -r b8e814363b3d -r 9976fba4d65d lib-src/ChangeLog --- a/lib-src/ChangeLog Sat Feb 20 13:10:32 2010 +0000 +++ b/lib-src/ChangeLog Wed Feb 24 13:25:54 2010 +0000 @@ -1,3 +1,8 @@ +2010-02-20 Kevin Ryde + + * etags.c (Scheme_functions): Don't loop past a null character + (Bug#5601). + 2010-01-29 Kester Habermann (tiny change) * etags.c (Fortran_functions): Handle recursive keyword diff -r b8e814363b3d -r 9976fba4d65d lib-src/etags.c --- a/lib-src/etags.c Sat Feb 20 13:10:32 2010 +0000 +++ b/lib-src/etags.c Wed Feb 24 13:25:54 2010 +0000 @@ -5004,8 +5004,9 @@ if (strneq (bp, "(def", 4) || strneq (bp, "(DEF", 4)) { bp = skip_non_spaces (bp+4); - /* Skip over open parens and white space */ - while (notinname (*bp)) + /* Skip over open parens and white space. Don't continue past + '\0'. */ + while (*bp && notinname (*bp)) bp++; get_tag (bp, NULL); } diff -r b8e814363b3d -r 9976fba4d65d lisp/ChangeLog --- a/lisp/ChangeLog Sat Feb 20 13:10:32 2010 +0000 +++ b/lisp/ChangeLog Wed Feb 24 13:25:54 2010 +0000 @@ -1,3 +1,29 @@ +2010-02-22 Michael Albinus + + * net/tramp.el (tramp-do-copy-or-rename-file-out-of-band): Protect + setting the modes by `ignore-errors'. It might fail, for example + if the file is not owned by the user but the group. + (tramp-handle-write-region): Ensure, that `tmpfile' is always readable. + +2010-02-21 Chong Yidong + + * files.el (directory-listing-before-filename-regexp): Use + stricter matching for iso-style dates, to avoid false matches with + date-like filenames (Bug#5597). + + * htmlfontify.el (htmlfontify): Doc fix. + + * eshell/eshell.el (eshell): Doc fix. + + * startup.el (fancy-about-screen): In mode-line, apply + mode-line-buffer-id face only to the buffer name (Bug#5613). + +2010-02-20 Kevin Ryde + + * progmodes/compile.el (compilation-error-regexp-alist-alist): In + `watcom' anchor regexp to start of line, to avoid slowness + (Bug#5599). + 2010-02-20 Eli Zaretskii * subr.el (remove-yank-excluded-properties): Explain in a comment diff -r b8e814363b3d -r 9976fba4d65d lisp/eshell/eshell.el --- a/lisp/eshell/eshell.el Sat Feb 20 13:10:32 2010 +0000 +++ b/lisp/eshell/eshell.el Wed Feb 24 13:25:54 2010 +0000 @@ -229,11 +229,10 @@ (require 'esh-mode) (defgroup eshell nil - "Eshell is a command shell implemented entirely in Emacs Lisp. It -invokes no external processes beyond those requested by the user. It -is intended to be a functional replacement for command shells such as -bash, zsh, rc, 4dos; since Emacs itself is capable of handling most of -the tasks accomplished by such tools." + "A command shell implemented entirely in Emacs Lisp. +It invokes no external processes beyond those requested by the +user, and is intended to be a functional replacement for command +shells such as bash, zsh, rc, 4dos." :tag "The Emacs shell" :link '(info-link "(eshell)Top") :version "21.1" diff -r b8e814363b3d -r 9976fba4d65d lisp/files.el --- a/lisp/files.el Sat Feb 20 13:10:32 2010 +0000 +++ b/lisp/files.el Wed Feb 24 13:25:54 2010 +0000 @@ -5592,8 +5592,10 @@ ;; -r--r--r-- 1 may 1997 1168 Oct 19 16:49 README ;; The "[BkKMGTPEZY]?" below supports "ls -alh" output. - ;; The ".*" below finds the last match if there are multiple matches. - ;; This avoids recognizing `jservice 10 1024' as a date in the line: + + ;; For non-iso date formats, we add the ".*" in order to find + ;; the last possible match. This avoids recognizing + ;; `jservice 10 1024' as a date in the line: ;; drwxr-xr-x 3 jservice 10 1024 Jul 2 1997 esg-host ;; vc dired listings provide the state or blanks between file @@ -5601,9 +5603,10 @@ ;; parantheses: ;; -rw-r--r-- (modified) 2005-10-22 21:25 files.el ;; This is not supported yet. - (purecopy (concat ".*[0-9][BkKMGTPEZY]?" s - "\\(" western "\\|" western-comma "\\|" east-asian "\\|" iso "\\)" - s "+"))) + (purecopy (concat "\\([0-9][BkKMGTPEZY]? " iso + "\\|.*[0-9][BkKMGTPEZY]? " + "\\(" western "\\|" western-comma "\\|" east-asian "\\)" + "\\) +"))) "Regular expression to match up to the file name in a directory listing. The default value is designed to recognize dates and times regardless of the language.") diff -r b8e814363b3d -r 9976fba4d65d lisp/gnus/ChangeLog --- a/lisp/gnus/ChangeLog Sat Feb 20 13:10:32 2010 +0000 +++ b/lisp/gnus/ChangeLog Wed Feb 24 13:25:54 2010 +0000 @@ -1,3 +1,8 @@ +2010-02-24 Glenn Morris + + * message.el (message-smtpmail-send-it) + (message-send-mail-with-mailclient): Doc fixes. + 2010-02-16 Glenn Morris * message.el (message-default-mail-headers): Change the default value diff -r b8e814363b3d -r 9976fba4d65d lisp/gnus/message.el --- a/lisp/gnus/message.el Sat Feb 20 13:10:32 2010 +0000 +++ b/lisp/gnus/message.el Wed Feb 24 13:25:54 2010 +0000 @@ -4684,17 +4684,17 @@ (defun message-smtpmail-send-it () "Send the prepared message buffer with `smtpmail-send-it'. -This only differs from `smtpmail-send-it' that this command evaluates -`message-send-mail-hook' just before sending a message. It is useful -if your ISP requires the POP-before-SMTP authentication. See the Gnus -manual for details." +The only difference from `smtpmail-send-it' is that this command +evaluates `message-send-mail-hook' just before sending a message. +It is useful if your ISP requires the POP-before-SMTP +authentication. See the Gnus manual for details." (run-hooks 'message-send-mail-hook) (smtpmail-send-it)) (defun message-send-mail-with-mailclient () "Send the prepared message buffer with `mailclient-send-it'. -This only differs from `smtpmail-send-it' that this command evaluates -`message-send-mail-hook' just before sending a message." +The only difference from `mailclient-send-it' is that this +command evaluates `message-send-mail-hook' just before sending a message." (run-hooks 'message-send-mail-hook) (mailclient-send-it)) diff -r b8e814363b3d -r 9976fba4d65d lisp/htmlfontify.el --- a/lisp/htmlfontify.el Sat Feb 20 13:10:32 2010 +0000 +++ b/lisp/htmlfontify.el Wed Feb 24 13:25:54 2010 +0000 @@ -176,10 +176,9 @@ (htmlfontify-copy-and-link-dir srcdir destdir \".src\" \".html\")))") (defgroup htmlfontify nil - "Copy and convert buffers and files to HTML, adding hyperlinks between -files (driven by etags) if requested.\n -See also `htmlfontify-manual'." + "Convert buffers and files to HTML." :group 'applications + :link '(variable-link htmlfontify-manual) :prefix "hfy-") (defcustom hfy-page-header 'hfy-default-header diff -r b8e814363b3d -r 9976fba4d65d lisp/net/tramp.el --- a/lisp/net/tramp.el Sat Feb 20 13:10:32 2010 +0000 +++ b/lisp/net/tramp.el Wed Feb 24 13:25:54 2010 +0000 @@ -3926,7 +3926,8 @@ ;; Set the mode. (unless (and keep-date copy-keep-date) - (set-file-modes newname (tramp-default-file-modes filename)))) + (ignore-errors + (set-file-modes newname (tramp-default-file-modes filename))))) ;; If the operation was `rename', delete the original file. (unless (eq op 'copy) @@ -5031,7 +5032,10 @@ ;; filename does not exist (eq modes nil) it has been ;; renamed to the backup file. This case `save-buffer' ;; handles permissions. - (when modes (set-file-modes tmpfile modes)) + ;; Ensure, that it is still readable. + (when modes + (set-file-modes + tmpfile (logior (or modes 0) (tramp-octal-to-decimal "0400")))) ;; This is a bit lengthy due to the different methods ;; possible for file transfer. First, we check whether the diff -r b8e814363b3d -r 9976fba4d65d lisp/nxml/TODO --- a/lisp/nxml/TODO Sat Feb 20 13:10:32 2010 +0000 +++ b/lisp/nxml/TODO Wed Feb 24 13:25:54 2010 +0000 @@ -450,7 +450,7 @@ ** Investigate performance on large files all on one line. -* CVS emacs issues +* Issues for Emacs versions >= 22 ** Take advantage of UTF-8 CJK support. diff -r b8e814363b3d -r 9976fba4d65d lisp/progmodes/compile.el --- a/lisp/progmodes/compile.el Sat Feb 20 13:10:32 2010 +0000 +++ b/lisp/progmodes/compile.el Wed Feb 24 13:25:54 2010 +0000 @@ -350,7 +350,7 @@ "^\\([^, \n\t]+\\), line \\([0-9]+\\), char \\([0-9]+\\)[:., \(-]" 1 2 3) (watcom - "\\(\\(?:[a-zA-Z]:\\)?[^:(\t\n]+\\)(\\([0-9]+\\)): ?\ + "^[ \t]*\\(\\(?:[a-zA-Z]:\\)?[^:(\t\n]+\\)(\\([0-9]+\\)): ?\ \\(?:\\(Error! E[0-9]+\\)\\|\\(Warning! W[0-9]+\\)\\):" 1 2 nil (4)) diff -r b8e814363b3d -r 9976fba4d65d lisp/startup.el --- a/lisp/startup.el Sat Feb 20 13:10:32 2010 +0000 +++ b/lisp/startup.el Wed Feb 24 13:25:54 2010 +0000 @@ -1626,8 +1626,10 @@ (select-frame frame) (switch-to-buffer "*About GNU Emacs*") (setq buffer-undo-list t - mode-line-format (propertize "---- %b %-" - 'face 'mode-line-buffer-id)) + mode-line-format + (concat "----" + (propertize "%b" 'face 'mode-line-buffer-id) + "%-")) (let ((inhibit-read-only t)) (erase-buffer) (if pure-space-overflow diff -r b8e814363b3d -r 9976fba4d65d src/ChangeLog --- a/src/ChangeLog Sat Feb 20 13:10:32 2010 +0000 +++ b/src/ChangeLog Wed Feb 24 13:25:54 2010 +0000 @@ -1,3 +1,7 @@ +2010-02-21 Chong Yidong + + * m/arm.h: Define the LIB_GCC flag to be -lgcc_s (Bug#5518). + 2010-02-18 Stefan Monnier * term.c (fatal): Add a final \n if needed (bug#5596). diff -r b8e814363b3d -r 9976fba4d65d src/m/arm.h --- a/src/m/arm.h Sat Feb 20 13:10:32 2010 +0000 +++ b/src/m/arm.h Wed Feb 24 13:25:54 2010 +0000 @@ -36,5 +36,11 @@ #define NO_REMAP +/* armin76@gentoo.org reported that the lgcc_s flag is necessary to + build on ARM EABI under GNU/Linux (Bug#5518). */ +#ifdef GNU_LINUX +#define LIB_GCC -lgcc_s +#endif + /* arch-tag: 07856f0c-f0c8-4bd8-99af-0b7fa1e5ee42 (do not change this comment) */