diff options
author | Miles Bader <miles@gnu.org> | 2007-07-24 01:21:32 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 2007-07-24 01:21:32 +0000 |
commit | 1e8995158740b15936887264a3d7183beb5c51d9 (patch) | |
tree | cd8fc3c6fde54564cd5dbe15fccfc3c57b9ad270 | |
parent | 26cc71affcdc326491cfd936c43eb90522a06ca0 (diff) | |
parent | f931ce84da6a9515dc99f88beb0de3a4138cc1cd (diff) | |
download | emacs-1e8995158740b15936887264a3d7183beb5c51d9.tar.gz |
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 <monnier@iro.umontreal.ca>
* lisp/ses.el (ses-cleanup): Prevent Emacs from spuriously checking if the
underlying file is uptodate.
2007-07-17 Dan Nicolaescu <dann@ics.uci.edu>
* lisp/vc.el: Add more info about the vc-registered function.
2007-07-15 Richard M. Stallman <rms@gnu.org>
* 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 <aaronh@garden.org>
* lisp/tar-mode.el (tar-get-descriptor): No error for zero-length file.
2007-07-21 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/mm-uu.el (mm-uu-type-alist): Refer to mm-uu-configure-list in doc
string.
2007-07-16 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/gnus-srvr.el (gnus-server-font-lock-keywords): Quote faces.
2007-07-16 Richard M. Stallman <rms@gnu.org>
* lispref/display.texi (Defining Faces): Fix previous change.
2007-07-20 Eli Zaretskii <eliz@gnu.org>
* src/w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
Define if not defined.
2007-07-18 Jason Rumney <jasonr@gnu.org>
* src/w32proc.c (w32_executable_type): Handle 64 bit executables.
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-823
-rw-r--r-- | leim/ChangeLog | 2 | ||||
-rw-r--r-- | lisp/ChangeLog | 20 | ||||
-rw-r--r-- | lisp/add-log.el | 6 | ||||
-rw-r--r-- | lisp/gnus/ChangeLog | 9 | ||||
-rw-r--r-- | lisp/gnus/gnus-srvr.el | 10 | ||||
-rw-r--r-- | lisp/gnus/mm-uu.el | 5 | ||||
-rw-r--r-- | lisp/kmacro.el | 5 | ||||
-rw-r--r-- | lisp/ses.el | 11 | ||||
-rw-r--r-- | lisp/tar-mode.el | 2 | ||||
-rw-r--r-- | lisp/tutorial.el | 8 | ||||
-rw-r--r-- | lisp/vc.el | 8 | ||||
-rw-r--r-- | lispref/ChangeLog | 4 | ||||
-rw-r--r-- | lispref/display.texi | 4 | ||||
-rw-r--r-- | src/ChangeLog | 9 | ||||
-rw-r--r-- | src/data.c | 4 | ||||
-rw-r--r-- | src/w32proc.c | 82 |
16 files changed, 139 insertions, 50 deletions
diff --git a/leim/ChangeLog b/leim/ChangeLog index 330321725f2..083ab946fcb 100644 --- a/leim/ChangeLog +++ b/leim/ChangeLog @@ -13,7 +13,7 @@ * MISC-DIC/pinyin.map, MISC-DIC/ziranma.cin: Add copyright and license notices. - + 2007-01-24 Kenichi Handa <handa@m17n.org> * MISC-DIC/README: New file. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 264bd2ae9ec..0a8e7421056 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2007-07-23 Stefan Monnier <monnier@iro.umontreal.ca> + + * ses.el (ses-cleanup): Prevent Emacs from spuriously checking if the + underlying file is uptodate. + 2007-07-23 Christopher J. Madsen <cjm@cjmweb.net> * 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 <schierlm@gmx.de>. +2007-07-17 Dan Nicolaescu <dann@ics.uci.edu> + + * vc.el: Add more info about the vc-registered function. + 2007-07-17 Michael Albinus <michael.albinus@gmx.de> * 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 <rms@gnu.org> + + * 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 <aaronh@garden.org> + + * tar-mode.el (tar-get-descriptor): No error for zero-length file. + 2007-07-15 Juri Linkov <juri@jurta.org> * delsel.el (delete-selection-pre-hook): diff --git a/lisp/add-log.el b/lisp/add-log.el index 906e747cac5..458dfcff523 100644 --- a/lisp/add-log.el +++ b/lisp/add-log.el @@ -519,15 +519,13 @@ non-nil, otherwise in local time." (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 --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 6a66ebbf756..fa1f2527894 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,12 @@ +2007-07-21 Reiner Steib <Reiner.Steib@gmx.de> + + * mm-uu.el (mm-uu-type-alist): Refer to mm-uu-configure-list in doc + string. + +2007-07-16 Katsumi Yamaoka <yamaoka@jpl.org> + + * gnus-srvr.el (gnus-server-font-lock-keywords): Quote faces. + 2007-07-14 David Kastrup <dak@gnu.org> * gnus-art.el (gnus-mime-delete-part): Don't go through article-edit diff --git a/lisp/gnus/gnus-srvr.el b/lisp/gnus/gnus-srvr.el index 0d5443f576c..21c99749804 100644 --- a/lisp/gnus/gnus-srvr.el +++ b/lisp/gnus/gnus-srvr.el @@ -215,11 +215,11 @@ If nil, a faster, but more primitive, buffer is used instead." (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 --git a/lisp/gnus/mm-uu.el b/lisp/gnus/mm-uu.el index 26eae64777f..acd39c8dfa1 100644 --- a/lisp/gnus/mm-uu.el +++ b/lisp/gnus/mm-uu.el @@ -162,7 +162,10 @@ This can be either \"inline\" or \"attachment\".") 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 --git a/lisp/kmacro.el b/lisp/kmacro.el index 8d162e73da6..094b3b02b6f 100644 --- a/lisp/kmacro.el +++ b/lisp/kmacro.el @@ -798,8 +798,9 @@ may be shaded by a local key binding." 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 --git a/lisp/ses.el b/lisp/ses.el index 4f51c803de1..c729ca4b432 100644 --- a/lisp/ses.el +++ b/lisp/ses.el @@ -1470,17 +1470,22 @@ Narrows the buffer to show only the print area. Gives it `read-only' and (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 --git a/lisp/tar-mode.el b/lisp/tar-mode.el index b97cb11165e..3d908eb3191 100644 --- a/lisp/tar-mode.el +++ b/lisp/tar-mode.el @@ -667,7 +667,7 @@ appear on disk when you save the tar-file's buffer." ((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 --git a/lisp/tutorial.el b/lisp/tutorial.el index 7c97579ab6e..6a52d751c5b 100644 --- a/lisp/tutorial.el +++ b/lisp/tutorial.el @@ -431,11 +431,17 @@ where (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 --git a/lisp/vc.el b/lisp/vc.el index d12a6c20eee..0bbaf33d78d 100644 --- a/lisp/vc.el +++ b/lisp/vc.el @@ -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 --git a/lispref/ChangeLog b/lispref/ChangeLog index 5dc45b43b33..bc81ca4d4e7 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -3,6 +3,10 @@ * files.texi (Magic File Names): Introduce optional parameter IDENTIFICATION for `file-remote-p'. +2007-07-16 Richard Stallman <rms@gnu.org> + + * display.texi (Defining Faces): Fix previous change. + 2007-07-14 Richard Stallman <rms@gnu.org> * control.texi (Handling Errors): Document `debug' in handler list. diff --git a/lispref/display.texi b/lispref/display.texi index f4d7a5dbcdb..84c9ba84935 100644 --- a/lispref/display.texi +++ b/lispref/display.texi @@ -1760,10 +1760,10 @@ When @code{defface} executes, it defines the face according to @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 --git a/src/ChangeLog b/src/ChangeLog index b7bff90947d..ac6b24aaffa 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -5,6 +5,15 @@ * buffer.c (mode-line-format): Describe above case in doc string. +2007-07-20 Eli Zaretskii <eliz@gnu.org> + + * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32): + Define if not defined. + +2007-07-18 Jason Rumney <jasonr@gnu.org> + + * w32proc.c (w32_executable_type): Handle 64 bit executables. + 2007-07-18 Richard Stallman <rms@gnu.org> * data.c (Fsetq_default): Doc fix. diff --git a/src/data.c b/src/data.c index 4cc35501447..0b3be2fc694 100644 --- a/src/data.c +++ b/src/data.c @@ -2349,7 +2349,9 @@ DEFUN ("zerop", Fzerop, Szerop, 1, 1, 0, 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 --git a/src/w32proc.c b/src/w32proc.c index 2120a51fb89..8c99a0a1dff 100644 --- a/src/w32proc.c +++ b/src/w32proc.c @@ -590,6 +590,13 @@ get_result: 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 @@ w32_executable_type (char * filename, int * is_dos_app, int * is_cygnus_app, int } 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); - - /* 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; - } - } - - /* 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); + 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; + + 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); + + /* 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; + } + } + } } } |