summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>2007-07-24 01:21:32 +0000
committerMiles Bader <miles@gnu.org>2007-07-24 01:21:32 +0000
commit1e8995158740b15936887264a3d7183beb5c51d9 (patch)
treecd8fc3c6fde54564cd5dbe15fccfc3c57b9ad270
parent26cc71affcdc326491cfd936c43eb90522a06ca0 (diff)
parentf931ce84da6a9515dc99f88beb0de3a4138cc1cd (diff)
downloademacs-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/ChangeLog2
-rw-r--r--lisp/ChangeLog20
-rw-r--r--lisp/add-log.el6
-rw-r--r--lisp/gnus/ChangeLog9
-rw-r--r--lisp/gnus/gnus-srvr.el10
-rw-r--r--lisp/gnus/mm-uu.el5
-rw-r--r--lisp/kmacro.el5
-rw-r--r--lisp/ses.el11
-rw-r--r--lisp/tar-mode.el2
-rw-r--r--lisp/tutorial.el8
-rw-r--r--lisp/vc.el8
-rw-r--r--lispref/ChangeLog4
-rw-r--r--lispref/display.texi4
-rw-r--r--src/ChangeLog9
-rw-r--r--src/data.c4
-rw-r--r--src/w32proc.c82
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;
+ }
+ }
+ }
}
}