# HG changeset patch # User Miles Bader # Date 1185240092 0 # Node ID 38a46faaf8c13e227e3baff16e69c5986bd4fd61 # Parent 7894e62e5b107123603fb090a9b0f35969688a88# Parent 364c3b96da93e0c5b5d8897a9973fea4e430e359 Merge from emacs--rel--22 Patches applied: * emacs--rel--22 (patch 59-69) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 237-238) - Update from CVS 2007-07-23 Stefan Monnier * lisp/ses.el (ses-cleanup): Prevent Emacs from spuriously checking if the underlying file is uptodate. 2007-07-17 Dan Nicolaescu * lisp/vc.el: Add more info about the vc-registered function. 2007-07-15 Richard Stallman * lisp/kmacro.el (kmacro-bind-to-key): Avoid comparisons on function keys. * lisp/tutorial.el (tutorial--find-changed-keys): Handle C-x specially like ESC. 2007-07-15 Aaron Hawley * lisp/tar-mode.el (tar-get-descriptor): No error for zero-length file. 2007-07-21 Reiner Steib * lisp/gnus/mm-uu.el (mm-uu-type-alist): Refer to mm-uu-configure-list in doc string. 2007-07-16 Katsumi Yamaoka * lisp/gnus/gnus-srvr.el (gnus-server-font-lock-keywords): Quote faces. 2007-07-16 Richard Stallman * lispref/display.texi (Defining Faces): Fix previous change. 2007-07-20 Eli Zaretskii * src/w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32): Define if not defined. 2007-07-18 Jason Rumney * src/w32proc.c (w32_executable_type): Handle 64 bit executables. Revision: emacs@sv.gnu.org/emacs--devo--0--patch-823 diff -r 7894e62e5b10 -r 38a46faaf8c1 leim/ChangeLog --- a/leim/ChangeLog Mon Jul 23 21:32:32 2007 +0000 +++ b/leim/ChangeLog Tue Jul 24 01:21:32 2007 +0000 @@ -13,7 +13,7 @@ * MISC-DIC/pinyin.map, MISC-DIC/ziranma.cin: Add copyright and license notices. - + 2007-01-24 Kenichi Handa * MISC-DIC/README: New file. diff -r 7894e62e5b10 -r 38a46faaf8c1 lisp/ChangeLog --- a/lisp/ChangeLog Mon Jul 23 21:32:32 2007 +0000 +++ b/lisp/ChangeLog Tue Jul 24 01:21:32 2007 +0000 @@ -1,3 +1,8 @@ +2007-07-23 Stefan Monnier + + * ses.el (ses-cleanup): Prevent Emacs from spuriously checking if the + underlying file is uptodate. + 2007-07-23 Christopher J. Madsen * replace.el (perform-replace): Use isearch-no-upper-case-p. @@ -364,6 +369,10 @@ avoid incorrect kmacro-ring-empty-p messages. Reported by Michael Schierl . +2007-07-17 Dan Nicolaescu + + * vc.el: Add more info about the vc-registered function. + 2007-07-17 Michael Albinus * files.el (file-remote-p): Introduce optional parameter @@ -469,6 +478,17 @@ * bookmark.el (bookmark-show-all-annotations): Make sure each inserted annotation ends with newline. +2007-07-15 Richard Stallman + + * kmacro.el (kmacro-bind-to-key): Avoid comparisons on function keys. + + * tutorial.el (tutorial--find-changed-keys): + Handle C-x specially like ESC. + +2007-07-15 Aaron Hawley + + * tar-mode.el (tar-get-descriptor): No error for zero-length file. + 2007-07-15 Juri Linkov * delsel.el (delete-selection-pre-hook): diff -r 7894e62e5b10 -r 38a46faaf8c1 lisp/add-log.el --- a/lisp/add-log.el Mon Jul 23 21:32:32 2007 +0000 +++ b/lisp/add-log.el Tue Jul 24 01:21:32 2007 +0000 @@ -519,15 +519,13 @@ (mailing-address (or add-log-mailing-address user-mail-address))) (when whoami - (setq full-name (read-string "Full name: " - (or add-log-full-name (user-full-name)))) + (setq full-name (read-string "Full name: " full-name)) ;; Note that some sites have room and phone number fields in ;; full name which look silly when inserted. Rather than do ;; anything about that here, let user give prefix argument so that ;; s/he can edit the full name field in prompter if s/he wants. (setq mailing-address - (read-string "Mailing address: " - (or add-log-mailing-address user-mail-address)))) + (read-string "Mailing address: " mailing-address))) ;; If file starts with a copyright and permission notice, skip them. ;; Assume they end at first blank line. diff -r 7894e62e5b10 -r 38a46faaf8c1 lisp/gnus/ChangeLog --- a/lisp/gnus/ChangeLog Mon Jul 23 21:32:32 2007 +0000 +++ b/lisp/gnus/ChangeLog Tue Jul 24 01:21:32 2007 +0000 @@ -1,3 +1,12 @@ +2007-07-21 Reiner Steib + + * mm-uu.el (mm-uu-type-alist): Refer to mm-uu-configure-list in doc + string. + +2007-07-16 Katsumi Yamaoka + + * gnus-srvr.el (gnus-server-font-lock-keywords): Quote faces. + 2007-07-14 David Kastrup * gnus-art.el (gnus-mime-delete-part): Don't go through article-edit diff -r 7894e62e5b10 -r 38a46faaf8c1 lisp/gnus/gnus-srvr.el --- a/lisp/gnus/gnus-srvr.el Mon Jul 23 21:32:32 2007 +0000 +++ b/lisp/gnus/gnus-srvr.el Tue Jul 24 01:21:32 2007 +0000 @@ -215,11 +215,11 @@ (put 'gnus-server-offline-face 'face-alias 'gnus-server-offline) (defvar gnus-server-font-lock-keywords - '(("(\\(agent\\))" 1 gnus-server-agent) - ("(\\(opened\\))" 1 gnus-server-opened) - ("(\\(closed\\))" 1 gnus-server-closed) - ("(\\(offline\\))" 1 gnus-server-offline) - ("(\\(denied\\))" 1 gnus-server-denied))) + '(("(\\(agent\\))" 1 'gnus-server-agent) + ("(\\(opened\\))" 1 'gnus-server-opened) + ("(\\(closed\\))" 1 'gnus-server-closed) + ("(\\(offline\\))" 1 'gnus-server-offline) + ("(\\(denied\\))" 1 'gnus-server-denied))) (defun gnus-server-mode () "Major mode for listing and editing servers. diff -r 7894e62e5b10 -r 38a46faaf8c1 lisp/gnus/mm-uu.el --- a/lisp/gnus/mm-uu.el Mon Jul 23 21:32:32 2007 +0000 +++ b/lisp/gnus/mm-uu.el Tue Jul 24 01:21:32 2007 +0000 @@ -162,7 +162,10 @@ Each element consist of the following entries: label, start-regexp, end-regexp, extract-function, test-function. -After modifying this list you must run \\[mm-uu-configure].") +After modifying this list you must run \\[mm-uu-configure]. + +You can disable elements from this list by customizing +`mm-uu-configure-list'.") (defcustom mm-uu-configure-list '((shar . disabled)) "A list of mm-uu configuration. diff -r 7894e62e5b10 -r 38a46faaf8c1 lisp/kmacro.el --- a/lisp/kmacro.el Mon Jul 23 21:32:32 2007 +0000 +++ b/lisp/kmacro.el Tue Jul 24 01:21:32 2007 +0000 @@ -798,8 +798,9 @@ ok cmd) (when (= (length key-seq) 1) (let ((ch (aref key-seq 0))) - (if (or (and (>= ch ?0) (<= ch ?9)) - (and (>= ch ?A) (<= ch ?Z))) + (if (and (integerp ch) + (or (and (>= ch ?0) (<= ch ?9)) + (and (>= ch ?A) (<= ch ?Z)))) (setq key-seq (concat "\C-x\C-k" key-seq) ok t)))) (when (and (not (equal key-seq "")) diff -r 7894e62e5b10 -r 38a46faaf8c1 lisp/ses.el --- a/lisp/ses.el Mon Jul 23 21:32:32 2007 +0000 +++ b/lisp/ses.el Tue Jul 24 01:21:32 2007 +0000 @@ -1470,17 +1470,22 @@ (overlay-put ses--curcell-overlay 'face 'underline)) (defun ses-cleanup () - "Cleanup when changing a buffer from SES mode to something else. Delete -overlay, remove special text properties." + "Cleanup when changing a buffer from SES mode to something else. +Delete overlays, remove special text properties." (widen) (let ((inhibit-read-only t) + ;; When reverting, hide the buffer name, otherwise Emacs will ask + ;; the user "the file is modified, do you really want to make + ;; modifications to this buffer", where the "modifications" refer to + ;; the irrelevant set-text-properties below. + (buffer-file-name nil) (was-modified (buffer-modified-p))) ;;Delete read-only, keymap, and intangible properties (set-text-properties (point-min) (point-max) nil) ;;Delete overlay (mapc 'delete-overlay (overlays-in (point-min) (point-max))) (unless was-modified - (set-buffer-modified-p nil)))) + (restore-buffer-modified-p nil)))) ;;;###autoload (defun ses-mode () diff -r 7894e62e5b10 -r 38a46faaf8c1 lisp/tar-mode.el --- a/lisp/tar-mode.el Mon Jul 23 21:32:32 2007 +0000 +++ b/lisp/tar-mode.el Tue Jul 24 01:21:32 2007 +0000 @@ -667,7 +667,7 @@ ((eq link-p 38) "a volume header") ((eq link-p 55) "an extended pax header") (t "a link")))) - (if (zerop size) (error "This is a zero-length file")) + (if (zerop size) (message "This is a zero-length file")) descriptor)) (defun tar-mouse-extract (event) diff -r 7894e62e5b10 -r 38a46faaf8c1 lisp/tutorial.el --- a/lisp/tutorial.el Mon Jul 23 21:32:32 2007 +0000 +++ b/lisp/tutorial.el Tue Jul 24 01:21:32 2007 +0000 @@ -431,11 +431,17 @@ (def-fun (nth 0 kdf)) (def-fun-txt (format "%s" def-fun)) (rem-fun (command-remapping def-fun)) + ;; Handle prefix definitions specially + ;; so that a mode that rebinds some subcommands + ;; won't make it appear that the whole prefix is gone. (key-fun (if (eq def-fun 'ESC-prefix) (lookup-key global-map [27]) - (key-binding key))) + (if (eq def-fun 'Control-X-prefix) + (lookup-key global-map [24]) + (key-binding key)))) (where (where-is-internal (if rem-fun rem-fun def-fun))) cwhere) + (if where (progn (setq cwhere (car where) diff -r 7894e62e5b10 -r 38a46faaf8c1 lisp/vc.el --- a/lisp/vc.el Mon Jul 23 21:32:32 2007 +0000 +++ b/lisp/vc.el Tue Jul 24 01:21:32 2007 +0000 @@ -113,8 +113,12 @@ ;; * registered (file) ;; ;; Return non-nil if FILE is registered in this backend. Both this -;; function as well as `state' should be careful to fail gracefully in the -;; event that the backend executable is absent. +;; function as well as `state' should be careful to fail gracefully +;; in the event that the backend executable is absent. It is +;; preferable that this function's body is autoloaded, that way only +;; calling vc-registered does not cause the backend to be loaded +;; (all the vc-FOO-registered functions are called to try to find +;; the controlling backend for FILE. ;; ;; * state (file) ;; diff -r 7894e62e5b10 -r 38a46faaf8c1 lispref/ChangeLog --- a/lispref/ChangeLog Mon Jul 23 21:32:32 2007 +0000 +++ b/lispref/ChangeLog Tue Jul 24 01:21:32 2007 +0000 @@ -3,6 +3,10 @@ * files.texi (Magic File Names): Introduce optional parameter IDENTIFICATION for `file-remote-p'. +2007-07-16 Richard Stallman + + * display.texi (Defining Faces): Fix previous change. + 2007-07-14 Richard Stallman * control.texi (Handling Errors): Document `debug' in handler list. diff -r 7894e62e5b10 -r 38a46faaf8c1 lispref/display.texi --- a/lispref/display.texi Mon Jul 23 21:32:32 2007 +0000 +++ b/lispref/display.texi Tue Jul 24 01:21:32 2007 +0000 @@ -1760,10 +1760,10 @@ @var{spec}, then uses any customizations that were read from the init file (@pxref{Init File}) to override that specification. -When you evaluate a @code{defcustom} form with @kbd{C-M-x} in Emacs +When you evaluate a @code{defface} form with @kbd{C-M-x} in Emacs Lisp mode (@code{eval-defun}), a special feature of @code{eval-defun} overrides any customizations of the face. This way, the face reflects -exactly what the @code{defcustom} says. +exactly what the @code{defface} says. The purpose of @var{spec} is to specify how the face should appear on different kinds of terminals. It should be an alist whose elements diff -r 7894e62e5b10 -r 38a46faaf8c1 src/ChangeLog --- a/src/ChangeLog Mon Jul 23 21:32:32 2007 +0000 +++ b/src/ChangeLog Tue Jul 24 01:21:32 2007 +0000 @@ -5,6 +5,15 @@ * buffer.c (mode-line-format): Describe above case in doc string. +2007-07-20 Eli Zaretskii + + * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32): + Define if not defined. + +2007-07-18 Jason Rumney + + * w32proc.c (w32_executable_type): Handle 64 bit executables. + 2007-07-18 Richard Stallman * data.c (Fsetq_default): Doc fix. diff -r 7894e62e5b10 -r 38a46faaf8c1 src/data.c --- a/src/data.c Mon Jul 23 21:32:32 2007 +0000 +++ b/src/data.c Tue Jul 24 01:21:32 2007 +0000 @@ -2349,7 +2349,9 @@ return Qnil; } -/* Convert between long values and pairs of Lisp integers. */ +/* Convert between long values and pairs of Lisp integers. + Note that long_to_cons returns a single Lisp integer + when the value fits in one. */ Lisp_Object long_to_cons (i) diff -r 7894e62e5b10 -r 38a46faaf8c1 src/w32proc.c --- a/src/w32proc.c Mon Jul 23 21:32:32 2007 +0000 +++ b/src/w32proc.c Tue Jul 24 01:21:32 2007 +0000 @@ -590,6 +590,13 @@ return pid; } +/* Old versions of w32api headers don't have separate 32-bit and + 64-bit defines, but the one they have matches the 32-bit variety. */ +#ifndef IMAGE_NT_OPTIONAL_HDR32_MAGIC +# define IMAGE_NT_OPTIONAL_HDR32_MAGIC IMAGE_NT_OPTIONAL_HDR_MAGIC +# define IMAGE_OPTIONAL_HEADER32 IMAGE_OPTIONAL_HEADER +#endif + void w32_executable_type (char * filename, int * is_dos_app, int * is_cygnus_app, int * is_gui_app) { @@ -650,33 +657,54 @@ } else if (nt_header->Signature == IMAGE_NT_SIGNATURE) { - /* Look for cygwin.dll in DLL import list. */ - IMAGE_DATA_DIRECTORY import_dir = - nt_header->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT]; - IMAGE_IMPORT_DESCRIPTOR * imports; - IMAGE_SECTION_HEADER * section; - - section = rva_to_section (import_dir.VirtualAddress, nt_header); - imports = RVA_TO_PTR (import_dir.VirtualAddress, section, executable); - - for ( ; imports->Name; imports++) - { - char * dllname = RVA_TO_PTR (imports->Name, section, executable); + IMAGE_DATA_DIRECTORY *data_dir = NULL; + if (nt_header->OptionalHeader.Magic == IMAGE_NT_OPTIONAL_HDR32_MAGIC) + { + /* Ensure we are using the 32 bit structure. */ + IMAGE_OPTIONAL_HEADER32 *opt + = (IMAGE_OPTIONAL_HEADER32*) &(nt_header->OptionalHeader); + data_dir = opt->DataDirectory; + *is_gui_app = (opt->Subsystem == IMAGE_SUBSYSTEM_WINDOWS_GUI); + } + /* MingW 3.12 has the required 64 bit structs, but in case older + versions don't, only check 64 bit exes if we know how. */ +#ifdef IMAGE_NT_OPTIONAL_HDR64_MAGIC + else if (nt_header->OptionalHeader.Magic + == IMAGE_NT_OPTIONAL_HDR64_MAGIC) + { + IMAGE_OPTIONAL_HEADER64 *opt + = (IMAGE_OPTIONAL_HEADER64*) &(nt_header->OptionalHeader); + data_dir = opt->DataDirectory; + *is_gui_app = (opt->Subsystem == IMAGE_SUBSYSTEM_WINDOWS_GUI); + } +#endif + if (data_dir) + { + /* Look for cygwin.dll in DLL import list. */ + IMAGE_DATA_DIRECTORY import_dir = + data_dir[IMAGE_DIRECTORY_ENTRY_IMPORT]; + IMAGE_IMPORT_DESCRIPTOR * imports; + IMAGE_SECTION_HEADER * section; - /* The exact name of the cygwin dll has changed with - various releases, but hopefully this will be reasonably - future proof. */ - if (strncmp (dllname, "cygwin", 6) == 0) - { - *is_cygnus_app = TRUE; - break; - } - } + section = rva_to_section (import_dir.VirtualAddress, nt_header); + imports = RVA_TO_PTR (import_dir.VirtualAddress, section, + executable); - /* Check whether app is marked as a console or windowed (aka - GUI) app. Accept Posix and OS2 subsytem apps as console - apps. */ - *is_gui_app = (nt_header->OptionalHeader.Subsystem == IMAGE_SUBSYSTEM_WINDOWS_GUI); + for ( ; imports->Name; imports++) + { + char * dllname = RVA_TO_PTR (imports->Name, section, + executable); + + /* The exact name of the cygwin dll has changed with + various releases, but hopefully this will be reasonably + future proof. */ + if (strncmp (dllname, "cygwin", 6) == 0) + { + *is_cygnus_app = TRUE; + break; + } + } + } } }