aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Bader2007-11-21 04:55:58 +0000
committerMiles Bader2007-11-21 04:55:58 +0000
commitd4aa48db8ed36b1fc7e7b0e6bd35049353f7f96e (patch)
tree4a8c1381059835b73876f59183e228a2fb740d59
parent3d9bd2bc2806ecaf85f4474060a7fadfd00e61fd (diff)
parent33127d1a78f2a37d68ffa09642df2f38d78e95b1 (diff)
downloademacs-d4aa48db8ed36b1fc7e7b0e6bd35049353f7f96e.tar.gz
emacs-d4aa48db8ed36b1fc7e7b0e6bd35049353f7f96e.zip
Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-937
-rw-r--r--admin/FOR-RELEASE6
-rw-r--r--doc/emacs/ChangeLog16
-rw-r--r--doc/emacs/mule.texi9
-rw-r--r--doc/misc/cl.texi63
-rw-r--r--doc/misc/flymake.texi9
-rw-r--r--etc/PROBLEMS6
-rw-r--r--lisp/ChangeLog36
-rw-r--r--lisp/add-log.el1
-rw-r--r--lisp/bindings.el6
-rw-r--r--lisp/emacs-lisp/byte-opt.el2
-rw-r--r--lisp/filecache.el4
-rw-r--r--lisp/international/mule-cmds.el16
-rw-r--r--lisp/mail/rmail.el4
-rw-r--r--lisp/menu-bar.el14
-rw-r--r--lisp/pcvs-parse.el7
-rw-r--r--lisp/reposition.el2
-rw-r--r--lisp/url/ChangeLog6
-rw-r--r--lisp/url/url.el4
-rw-r--r--src/ChangeLog10
-rw-r--r--src/ChangeLog.102
-rw-r--r--src/search.c28
-rw-r--r--src/w32bdf.c4
22 files changed, 154 insertions, 101 deletions
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE
index 71f9d08d34b..4b40c74c90e 100644
--- a/admin/FOR-RELEASE
+++ b/admin/FOR-RELEASE
@@ -106,6 +106,12 @@ http://thread.gmane.org/gmane.emacs.gnus.general/65622
106** Extra question asked when doing a reply in Gnus 106** Extra question asked when doing a reply in Gnus
107http://thread.gmane.org/gmane.emacs.gnus.general/65627 107http://thread.gmane.org/gmane.emacs.gnus.general/65627
108 108
109** sdl.web@gmail.com, 30 Oct: ps-lpr-switches has no effect
110
111** Stephen.Berman@gmx.net: minibuffer and current-local-map
112
113** timh@insightful.com, 9 Nov: X-coding-system incompatibility, and workaround
114
109* DOCUMENTATION 115* DOCUMENTATION
110 116
111** Check the Emacs Tutorial. 117** Check the Emacs Tutorial.
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index cb40f082307..02d9e85ac50 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,8 @@
12007-11-18 Richard Stallman <rms@gnu.org>
2
3 * flymake.texi (Example -- Configuring a tool called directly):
4 Update example.
5
12007-11-17 Eli Zaretskii <eliz@gnu.org> 62007-11-17 Eli Zaretskii <eliz@gnu.org>
2 7
3 * mule.texi (Communication Coding): Fix wording of last change. 8 * mule.texi (Communication Coding): Fix wording of last change.
@@ -7,9 +12,18 @@
7 * custom.texi (Specifying File Variables), major.texi (Choosing 12 * custom.texi (Specifying File Variables), major.texi (Choosing
8 Modes): Mention '\" in man pages. 13 Modes): Mention '\" in man pages.
9 14
152007-11-15 Richard Stallman <rms@gnu.org>
16
17 * cl.texi (Equality Predicates): Delete `eql'.
18 (Predicates, Naming Conventions, Top): Delete `eql'.
19 (Common Lisp Compatibility): Delete `eql'.
20 (Porting Common Lisp): Delete obsolete backquote info.
21 Minor clarification about character constants.
22 (Sequence Basics): Minor clarification.
23
102007-11-16 Kenichi Handa <handa@ni.aist.go.jp> 242007-11-16 Kenichi Handa <handa@ni.aist.go.jp>
11 25
12 * mule.texi (Communication Coding): Mention x-select-request-type. 26 * mule.texi (Communication Coding): Document x-select-request-type.
13 27
14 * frames.texi (Cut/Paste Other App): Mention x-select-request-type. 28 * frames.texi (Cut/Paste Other App): Mention x-select-request-type.
15 29
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi
index 27b3284082f..d7dd364b6d0 100644
--- a/doc/emacs/mule.texi
+++ b/doc/emacs/mule.texi
@@ -1129,6 +1129,15 @@ specified by one of the environment variables @env{LC_ALL},
1129specified above, whose value is nonempty is the one that determines 1129specified above, whose value is nonempty is the one that determines
1130the text representation.) 1130the text representation.)
1131 1131
1132@vindex x-select-request-type
1133 The variable @code{x-select-request-type} specifies a selection data
1134type of selection to request from the X server. The default value is
1135@code{nil}, which means Emacs tries @code{COMPOUND_TEXT} and
1136@code{UTF8_STRING}, and uses whichever result seems more appropriate.
1137You can explicitly specify the data type by setting the variable to
1138one of the symbols @code{COMPOUND_TEXT}, @code{UTF8_STRING},
1139@code{STRING} and @code{TEXT}.
1140
1132@node File Name Coding 1141@node File Name Coding
1133@section Coding Systems for File Names 1142@section Coding Systems for File Names
1134 1143
diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi
index c27021cb325..ea485ef84f8 100644
--- a/doc/misc/cl.texi
+++ b/doc/misc/cl.texi
@@ -62,14 +62,14 @@ does assume a basic familiarity with Emacs Lisp.
62@menu 62@menu
63* Overview:: Installation, usage, etc. 63* Overview:: Installation, usage, etc.
64* Program Structure:: Arglists, `eval-when', `defalias' 64* Program Structure:: Arglists, `eval-when', `defalias'
65* Predicates:: `typep', `eql', and `equalp' 65* Predicates:: `typep' and `equalp'
66* Control Structure:: `setf', `do', `loop', etc. 66* Control Structure:: `setf', `do', `loop', etc.
67* Macros:: Destructuring, `define-compiler-macro' 67* Macros:: Destructuring, `define-compiler-macro'
68* Declarations:: `proclaim', `declare', etc. 68* Declarations:: `proclaim', `declare', etc.
69* Symbols:: Property lists, `gensym' 69* Symbols:: Property lists, `gensym'
70* Numbers:: Predicates, functions, random numbers 70* Numbers:: Predicates, functions, random numbers
71* Sequences:: Mapping, functions, searching, sorting 71* Sequences:: Mapping, functions, searching, sorting
72* Lists:: `cadr', `sublis', `member*', `assoc*', etc. 72* Lists:: `caddr', `sublis', `member*', `assoc*', etc.
73* Structures:: `defstruct' 73* Structures:: `defstruct'
74* Assertions:: `check-type', `assert', `ignore-errors'. 74* Assertions:: `check-type', `assert', `ignore-errors'.
75 75
@@ -287,7 +287,7 @@ The following simple functions and macros are defined in @file{cl.el};
287they do not cause other components like @file{cl-extra} to be loaded. 287they do not cause other components like @file{cl-extra} to be loaded.
288 288
289@example 289@example
290eql floatp-safe endp 290floatp-safe endp
291evenp oddp plusp minusp 291evenp oddp plusp minusp
292caaar .. cddddr 292caaar .. cddddr
293list* ldiff rest first .. tenth 293list* ldiff rest first .. tenth
@@ -700,7 +700,7 @@ facts are true or false.
700 700
701@menu 701@menu
702* Type Predicates:: `typep', `deftype', and `coerce' 702* Type Predicates:: `typep', `deftype', and `coerce'
703* Equality Predicates:: `eql' and `equalp' 703* Equality Predicates:: `equalp'
704@end menu 704@end menu
705 705
706@node Type Predicates, Equality Predicates, Predicates, Predicates 706@node Type Predicates, Equality Predicates, Predicates, Predicates
@@ -840,40 +840,7 @@ arguments to specify the type of sequence to return. @xref{Sequences}.
840@section Equality Predicates 840@section Equality Predicates
841 841
842@noindent 842@noindent
843This package defines two Common Lisp predicates, @code{eql} and 843This package defines the Common Lisp predicate @code{equalp}.
844@code{equalp}.
845
846@defun eql a b
847This function is almost the same as @code{eq}, except that if @var{a}
848and @var{b} are numbers of the same type, it compares them for numeric
849equality (as if by @code{equal} instead of @code{eq}). This makes a
850difference only for versions of Emacs that are compiled with
851floating-point support. Emacs floats are allocated
852objects just like cons cells, which means that @code{(eq 3.0 3.0)}
853will not necessarily be true---if the two @code{3.0}s were allocated
854separately, the pointers will be different even though the numbers are
855the same. But @code{(eql 3.0 3.0)} will always be true.
856
857The types of the arguments must match, so @code{(eql 3 3.0)} is
858still false.
859
860Note that Emacs integers are ``direct'' rather than allocated, which
861basically means @code{(eq 3 3)} will always be true. Thus @code{eq}
862and @code{eql} behave differently only if floating-point numbers are
863involved, and are indistinguishable on Emacs versions that don't
864support floats.
865
866There is a slight inconsistency with Common Lisp in the treatment of
867positive and negative zeros. Some machines, notably those with IEEE
868standard arithmetic, represent @code{+0} and @code{-0} as distinct
869values. Normally this doesn't matter because the standard specifies
870that @code{(= 0.0 -0.0)} should always be true, and this is indeed
871what Emacs Lisp and Common Lisp do. But the Common Lisp standard
872states that @code{(eql 0.0 -0.0)} and @code{(equal 0.0 -0.0)} should
873be false on IEEE-like machines; Emacs Lisp does not do this, and in
874fact the only known way to distinguish between the two zeros in Emacs
875Lisp is to @code{format} them and check for a minus sign.
876@end defun
877 844
878@defun equalp a b 845@defun equalp a b
879This function is a more flexible version of @code{equal}. In 846This function is a more flexible version of @code{equal}. In
@@ -3685,7 +3652,7 @@ the same sequence, in the same order as they appear in that sequence.)
3685The @code{:test} argument specifies a function which must return 3652The @code{:test} argument specifies a function which must return
3686true (non-@code{nil}) to indicate a match; instead, you may use 3653true (non-@code{nil}) to indicate a match; instead, you may use
3687@code{:test-not} to give a function which returns @emph{false} to 3654@code{:test-not} to give a function which returns @emph{false} to
3688indicate a match. The default test function is @code{:test 'eql}. 3655indicate a match. The default test function is @code{eql}.
3689 3656
3690Many functions which take @var{item} and @code{:test} or @code{:test-not} 3657Many functions which take @var{item} and @code{:test} or @code{:test-not}
3691arguments also come in @code{-if} and @code{-if-not} varieties, 3658arguments also come in @code{-if} and @code{-if-not} varieties,
@@ -4998,7 +4965,7 @@ which understand full-featured argument lists. The @code{&whole}
4998keyword does not work in @code{defmacro} argument lists (except 4965keyword does not work in @code{defmacro} argument lists (except
4999inside recursive argument lists). 4966inside recursive argument lists).
5000 4967
5001The @code{eql} and @code{equal} predicates do not distinguish 4968The @code{equal} predicate does not distinguish
5002between IEEE floating-point plus and minus zero. The @code{equalp} 4969between IEEE floating-point plus and minus zero. The @code{equalp}
5003predicate has several differences with Common Lisp; @pxref{Predicates}. 4970predicate has several differences with Common Lisp; @pxref{Predicates}.
5004 4971
@@ -5218,12 +5185,6 @@ whereas Emacs Lisp's parser just treats quote as a special case.
5218Some Lisp packages use reader macros to create special syntaxes 5185Some Lisp packages use reader macros to create special syntaxes
5219for themselves, which the Emacs parser is incapable of reading. 5186for themselves, which the Emacs parser is incapable of reading.
5220 5187
5221The lack of reader macros, incidentally, is the reason behind
5222Emacs Lisp's unusual backquote syntax. Since backquotes are
5223implemented as a Lisp package and not built-in to the Emacs
5224parser, they are forced to use a regular macro named @code{`}
5225which is used with the standard function/macro call notation.
5226
5227@item 5188@item
5228Other syntactic features. Common Lisp provides a number of 5189Other syntactic features. Common Lisp provides a number of
5229notations beginning with @code{#} that the Emacs Lisp parser 5190notations beginning with @code{#} that the Emacs Lisp parser
@@ -5287,11 +5248,11 @@ matters, Emacs has its own @code{#(} notation for
5287something entirely different---strings with properties. 5248something entirely different---strings with properties.
5288 5249
5289@item 5250@item
5290Characters are distinct from integers in Common Lisp. The 5251Characters are distinct from integers in Common Lisp. The notation
5291notation for character constants is also different: @code{#\A} 5252for character constants is also different: @code{#\A} in Common Lisp
5292instead of @code{?A}. Also, @code{string=} and @code{string-equal} 5253where Emacs Lisp uses @code{?A}. Also, @code{string=} and
5293are synonyms in Emacs Lisp whereas the latter is case-insensitive 5254@code{string-equal} are synonyms in Emacs Lisp, whereas the latter is
5294in Common Lisp. 5255case-insensitive in Common Lisp.
5295 5256
5296@item 5257@item
5297Data types. Some Common Lisp data types do not exist in Emacs 5258Data types. Some Common Lisp data types do not exist in Emacs
diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi
index 491ee631fe7..6ab4c199de6 100644
--- a/doc/misc/flymake.texi
+++ b/doc/misc/flymake.texi
@@ -413,12 +413,9 @@ First, we write the @code{init-function}:
413(defun flymake-perl-init () 413(defun flymake-perl-init ()
414 (let* ((temp-file (flymake-init-create-temp-buffer-copy 414 (let* ((temp-file (flymake-init-create-temp-buffer-copy
415 'flymake-create-temp-inplace)) 415 'flymake-create-temp-inplace))
416 (local-file (concat (flymake-build-relative-filename 416 (local-file (file-relative-name
417 (file-name-directory 417 temp-file
418 (buffer-file-name 418 (file-name-directory buffer-file-name))))
419 (current-buffer)))
420 (file-name-directory temp-file))
421 (file-name-nondirectory temp-file))))
422 (list "perl" (list "-wc " local-file)))) 419 (list "perl" (list "-wc " local-file))))
423@end lisp 420@end lisp
424 421
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index 3b1b69caab8..21d4d695a17 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -2218,7 +2218,11 @@ This combination of keys is a command to change keyboard layout. If
2218you proceed to type another non-modifier key before you let go of Alt 2218you proceed to type another non-modifier key before you let go of Alt
2219and Shift, the Alt and Shift act as modifiers in the usual way. A 2219and Shift, the Alt and Shift act as modifiers in the usual way. A
2220more permanent work around is to change it to another key combination, 2220more permanent work around is to change it to another key combination,
2221or disable it in the keyboard control panel. 2221or disable it in the "Regional and Language Options" applet of the
2222Control Panel. (The exact sequence of mouse clicks in the "Regional
2223and Language Options" applet needed to find the key combination that
2224changes the keyboard layout depends on your Windows version; for XP,
2225in the Languages tab, click "Details" and then "Key Settings".)
2222 2226
2223** Cygwin build of Emacs hangs after rebasing Cygwin DLLs 2227** Cygwin build of Emacs hangs after rebasing Cygwin DLLs
2224 2228
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 34215cd55a7..31437fb1a38 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,39 @@
12007-11-21 Eli Zaretskii <eliz@gnu.org>
2
3 * international/mule-cmds.el (set-locale-environment): Set
4 default-file-name-coding-system _after_ keyboard and terminal
5 coding systems. This fixes last change.
6
7 * mail/rmail.el (rmail-current-subject-regexp): Allow more than
8 one space after "Subject:".
9
102007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
11
12 * pcvs-parse.el (cvs-parse-table): Ignore errors when looking up files
13 in order to determine if there's a conflict.
14
152007-11-21 Richard Stallman <rms@gnu.org>
16
17 * bindings.el (esc-map): Bind C-M-l here; moved from reposition.el.
18
19 * reposition.el (reposition-window):
20 Binding C-M-l moved to bindings.el.
21
22 * bindings.el (ctl-x-4-map): Bind C-x 4 a here; moved from add-log.el.
23
24 * add-log.el (add-change-log-entry-other-window):
25 Key binding C-x 4 a moved to bindings.el.
26
27 * bindings.el (minibuffer-local-map): Bind C-tab here; moved
28 from filecache.el.
29
30 * filecache.el: Minibuffer map bindings moved to bindings.el.
31
322007-11-21 Jason Rumney <jasonr@gnu.org>
33
34 * international/mule-cmds.el (set-locale-environment):
35 Set default-file-name-coding-system from system defaults on Windows.
36
12007-11-21 Jason Rumney <jasonr@gnu.org> 372007-11-21 Jason Rumney <jasonr@gnu.org>
2 38
3 * term/w32console.el: New term init file for w32 console. 39 * term/w32console.el: New term init file for w32 console.
diff --git a/lisp/add-log.el b/lisp/add-log.el
index 21b4a5dbdc8..89aeafc75d6 100644
--- a/lisp/add-log.el
+++ b/lisp/add-log.el
@@ -664,7 +664,6 @@ the change log file in another window."
664 (list current-prefix-arg 664 (list current-prefix-arg
665 (prompt-for-change-log-name)))) 665 (prompt-for-change-log-name))))
666 (add-change-log-entry whoami file-name t)) 666 (add-change-log-entry whoami file-name t))
667;;;###autoload (define-key ctl-x-4-map "a" 'add-change-log-entry-other-window)
668 667
669 668
670(defvar change-log-indent-text 0) 669(defvar change-log-indent-text 0)
diff --git a/lisp/bindings.el b/lisp/bindings.el
index 52d7a6f6a59..ca9f03c4c7c 100644
--- a/lisp/bindings.el
+++ b/lisp/bindings.el
@@ -710,7 +710,8 @@ language you are using."
710 ;; Override the global binding (which calls indent-relative via 710 ;; Override the global binding (which calls indent-relative via
711 ;; indent-for-tab-command). The alignment that indent-relative tries to 711 ;; indent-for-tab-command). The alignment that indent-relative tries to
712 ;; do doesn't make much sense here since the prompt messes it up. 712 ;; do doesn't make much sense here since the prompt messes it up.
713 (define-key map "\t" 'self-insert-command)) 713 (define-key map "\t" 'self-insert-command)
714 (define-key minibuffer-local-map [C-tab] 'file-cache-minibuffer-complete))
714 715
715(define-key global-map "\C-u" 'universal-argument) 716(define-key global-map "\C-u" 'universal-argument)
716(let ((i ?0)) 717(let ((i ?0))
@@ -1079,6 +1080,9 @@ language you are using."
1079 1080
1080(define-key ctl-x-map "z" 'repeat) 1081(define-key ctl-x-map "z" 'repeat)
1081 1082
1083(define-key esc-map "\C-l" 'reposition-window)
1084
1085(define-key ctl-x-4-map "a" 'add-change-log-entry-other-window)
1082(define-key ctl-x-4-map "c" 'clone-indirect-buffer-other-window) 1086(define-key ctl-x-4-map "c" 'clone-indirect-buffer-other-window)
1083 1087
1084;; Signal handlers 1088;; Signal handlers
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
index f56e2544272..b021b8d9f1a 100644
--- a/lisp/emacs-lisp/byte-opt.el
+++ b/lisp/emacs-lisp/byte-opt.el
@@ -277,6 +277,8 @@
277 ;; Isn't it an error for `string' not to be unibyte?? --stef 277 ;; Isn't it an error for `string' not to be unibyte?? --stef
278 (if (fboundp 'string-as-unibyte) 278 (if (fboundp 'string-as-unibyte)
279 (setq string (string-as-unibyte string))) 279 (setq string (string-as-unibyte string)))
280 ;; `byte-compile-splice-in-already-compiled-code'
281 ;; takes care of inlining the body.
280 (cons `(lambda ,(aref fn 0) 282 (cons `(lambda ,(aref fn 0)
281 (byte-code ,string ,(aref fn 2) ,(aref fn 3))) 283 (byte-code ,string ,(aref fn 2) ,(aref fn 3)))
282 (cdr form))) 284 (cdr form)))
diff --git a/lisp/filecache.el b/lisp/filecache.el
index 18c537fed7c..5138c947b7d 100644
--- a/lisp/filecache.el
+++ b/lisp/filecache.el
@@ -780,10 +780,6 @@ match REGEXP."
780;; Keybindings 780;; Keybindings
781;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 781;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
782 782
783;;;###autoload (define-key minibuffer-local-completion-map [C-tab] 'file-cache-minibuffer-complete)
784;;;###autoload (define-key minibuffer-local-map [C-tab] 'file-cache-minibuffer-complete)
785;;;###autoload (define-key minibuffer-local-must-match-map [C-tab] 'file-cache-minibuffer-complete)
786
787(provide 'filecache) 783(provide 'filecache)
788 784
789;;; arch-tag: 433d3ca4-4af2-47ce-b2cf-1f727460f538 785;;; arch-tag: 433d3ca4-4af2-47ce-b2cf-1f727460f538
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index d61e1f31d8f..ca76d4f5054 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -2619,14 +2619,24 @@ See also `locale-charset-language-names', `locale-language-names',
2619 (setq locale-coding-system coding-system)))) 2619 (setq locale-coding-system coding-system))))
2620 2620
2621 ;; On Windows, override locale-coding-system, 2621 ;; On Windows, override locale-coding-system,
2622 ;; keyboard-coding-system with system codepage. Note: 2622 ;; default-file-name-coding-system, keyboard-coding-system,
2623 ;; selection-coding-system is already set in w32select.c. 2623 ;; terminal-coding-system with system codepage.
2624 (when (boundp 'w32-ansi-code-page) 2624 (when (boundp 'w32-ansi-code-page)
2625 (let ((code-page-coding (intern (format "cp%d" w32-ansi-code-page)))) 2625 (let ((code-page-coding (intern (format "cp%d" w32-ansi-code-page))))
2626 (when (coding-system-p code-page-coding) 2626 (when (coding-system-p code-page-coding)
2627 (unless frame (setq locale-coding-system code-page-coding)) 2627 (unless frame (setq locale-coding-system code-page-coding))
2628 (set-keyboard-coding-system code-page-coding frame) 2628 (set-keyboard-coding-system code-page-coding frame)
2629 (set-terminal-coding-system code-page-coding frame)))) 2629 (set-terminal-coding-system code-page-coding frame)
2630 ;; Set default-file-name-coding-system last, so that Emacs
2631 ;; doesn't try to use cpNNNN when it defines keyboard and
2632 ;; terminal encoding. That's because the above two lines
2633 ;; will want to load code-pages.el, where cpNNNN are
2634 ;; defined; if default-file-name-coding-system were set to
2635 ;; cpNNNN while these two lines run, Emacs will want to use
2636 ;; it for encoding the file name it wants to load. And that
2637 ;; will fail, since cpNNNN is not yet usable until
2638 ;; code-pages.el finishes loading.
2639 (setq default-file-name-coding-system code-page-coding))))
2630 2640
2631 (when (eq system-type 'darwin) 2641 (when (eq system-type 'darwin)
2632 ;; On Darwin, file names are always encoded in utf-8, no matter 2642 ;; On Darwin, file names are always encoded in utf-8, no matter
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index c999f687fbc..53296cfb0fe 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -3282,7 +3282,9 @@ and more whitespace. The returned regular expressions contains
3282 (setq subject (regexp-quote subject)) 3282 (setq subject (regexp-quote subject))
3283 (setq subject 3283 (setq subject
3284 (replace-regexp-in-string "[ \t\n]+" "[ \t\n]+" subject t t)) 3284 (replace-regexp-in-string "[ \t\n]+" "[ \t\n]+" subject t t))
3285 (concat "^Subject: " 3285 ;; Some mailers insert extra spaces after "Subject:", so allow any
3286 ;; amount of them.
3287 (concat "^Subject:[ \t]+"
3286 (if (string= "\\`" (substring rmail-reply-regexp 0 2)) 3288 (if (string= "\\`" (substring rmail-reply-regexp 0 2))
3287 (substring rmail-reply-regexp 2) 3289 (substring rmail-reply-regexp 2)
3288 rmail-reply-regexp) 3290 rmail-reply-regexp)
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index ca20f6182fc..116d7842053 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -1343,10 +1343,10 @@ key, a click, or a menu-item"))
1343 '(menu-item "Introduction to Emacs Lisp" menu-bar-read-lispintro 1343 '(menu-item "Introduction to Emacs Lisp" menu-bar-read-lispintro
1344 :help "Read the Introduction to Emacs Lisp Programming")) 1344 :help "Read the Introduction to Emacs Lisp Programming"))
1345 1345
1346(define-key menu-bar-help-menu [describe-project] 1346(define-key menu-bar-help-menu [about-gnu-project]
1347 '(menu-item "About GNU" describe-project 1347 '(menu-item "About GNU" describe-project
1348 :help "About the GNU System, GNU Project, and GNU/Linux")) 1348 :help "About the GNU System, GNU Project, and GNU/Linux"))
1349(define-key menu-bar-help-menu [about] 1349(define-key menu-bar-help-menu [about-emacs]
1350 '(menu-item "About Emacs" about-emacs 1350 '(menu-item "About Emacs" about-emacs
1351 :help "Display version number, copyright info, and basic help")) 1351 :help "Display version number, copyright info, and basic help"))
1352(define-key menu-bar-help-menu [sep4] 1352(define-key menu-bar-help-menu [sep4]
@@ -1357,7 +1357,7 @@ key, a click, or a menu-item"))
1357(define-key menu-bar-help-menu [describe-copying] 1357(define-key menu-bar-help-menu [describe-copying]
1358 '(menu-item "Copying Conditions" describe-copying 1358 '(menu-item "Copying Conditions" describe-copying
1359 :help "Show the Emacs license (GPL)")) 1359 :help "Show the Emacs license (GPL)"))
1360(define-key menu-bar-help-menu [describe-distribution] 1360(define-key menu-bar-help-menu [getting-new-versions]
1361 '(menu-item "Getting New Versions" describe-distribution 1361 '(menu-item "Getting New Versions" describe-distribution
1362 :help "How to get latest versions of Emacs")) 1362 :help "How to get latest versions of Emacs"))
1363(defun menu-bar-help-extra-packages () 1363(defun menu-bar-help-extra-packages ()
@@ -1369,10 +1369,10 @@ key, a click, or a menu-item"))
1369 (goto-address))) 1369 (goto-address)))
1370(define-key menu-bar-help-menu [sep2] 1370(define-key menu-bar-help-menu [sep2]
1371 '("--")) 1371 '("--"))
1372(define-key menu-bar-help-menu [more] 1372(define-key menu-bar-help-menu [external-packages]
1373 '(menu-item "External Packages" menu-bar-help-extra-packages 1373 '(menu-item "External Packages" menu-bar-help-extra-packages
1374 :help "Lisp packages distributed separately for use in Emacs")) 1374 :help "Lisp packages distributed separately for use in Emacs"))
1375(define-key menu-bar-help-menu [finder-by-keyword] 1375(define-key menu-bar-help-menu [find-emacs-packages]
1376 '(menu-item "Find Emacs Packages" finder-by-keyword 1376 '(menu-item "Find Emacs Packages" finder-by-keyword
1377 :help "Find packages and features by keyword")) 1377 :help "Find packages and features by keyword"))
1378(define-key menu-bar-help-menu [more-manuals] 1378(define-key menu-bar-help-menu [more-manuals]
@@ -1386,10 +1386,10 @@ key, a click, or a menu-item"))
1386 (list 'menu-item "Search Documentation" menu-bar-search-documentation-menu)) 1386 (list 'menu-item "Search Documentation" menu-bar-search-documentation-menu))
1387(define-key menu-bar-help-menu [sep1] 1387(define-key menu-bar-help-menu [sep1]
1388 '("--")) 1388 '("--"))
1389(define-key menu-bar-help-menu [eliza] 1389(define-key menu-bar-help-menu [emacs-psychotherapist]
1390 '(menu-item "Emacs Psychotherapist" doctor 1390 '(menu-item "Emacs Psychotherapist" doctor
1391 :help "Our doctor will help you feel better")) 1391 :help "Our doctor will help you feel better"))
1392(define-key menu-bar-help-menu [report-emacs-bug] 1392(define-key menu-bar-help-menu [send-emacs-bug-report]
1393 '(menu-item "Send Bug Report..." report-emacs-bug 1393 '(menu-item "Send Bug Report..." report-emacs-bug
1394 :help "Send e-mail to Emacs maintainers")) 1394 :help "Send e-mail to Emacs maintainers"))
1395(define-key menu-bar-help-menu [emacs-known-problems] 1395(define-key menu-bar-help-menu [emacs-known-problems]
diff --git a/lisp/pcvs-parse.el b/lisp/pcvs-parse.el
index 3ca1829030f..7eb5c0b488f 100644
--- a/lisp/pcvs-parse.el
+++ b/lisp/pcvs-parse.el
@@ -235,7 +235,7 @@ The remaining KEYS are passed directly to `cvs-create-fileinfo'."
235 ;; servers, this should not be necessary, because they return 235 ;; servers, this should not be necessary, because they return
236 ;; a complete merge output. 236 ;; a complete merge output.
237 (with-temp-buffer 237 (with-temp-buffer
238 (insert-file-contents path) 238 (ignore-errors (insert-file-contents path))
239 (goto-char (point-min)) 239 (goto-char (point-min))
240 (if (re-search-forward "^<<<<<<< " nil t) 240 (if (re-search-forward "^<<<<<<< " nil t)
241 'CONFLICT 'NEED-MERGE)))) 241 'CONFLICT 'NEED-MERGE))))
@@ -272,8 +272,9 @@ The remaining KEYS are passed directly to `cvs-create-fileinfo'."
272 ;; branches, or because it's been removed). 272 ;; branches, or because it's been removed).
273 (if (ignore-errors 273 (if (ignore-errors
274 (with-temp-buffer 274 (with-temp-buffer
275 (insert-file-contents (expand-file-name 275 (ignore-errors
276 ".cvsignore" (file-name-directory dir))) 276 (insert-file-contents
277 (expand-file-name ".cvsignore" (file-name-directory dir))))
277 (goto-char (point-min)) 278 (goto-char (point-min))
278 (re-search-forward 279 (re-search-forward
279 (concat "^" (regexp-quote (file-name-nondirectory dir)) "/$") 280 (concat "^" (regexp-quote (file-name-nondirectory dir)) "/$")
diff --git a/lisp/reposition.el b/lisp/reposition.el
index 3a5f24cbe8f..6ebbe57840d 100644
--- a/lisp/reposition.el
+++ b/lisp/reposition.el
@@ -171,8 +171,6 @@ first comment line visible (if point is in a comment)."
171 ;;(repos-debug-macro "4") 171 ;;(repos-debug-macro "4")
172 )))) 172 ))))
173 173
174;;;###autoload (define-key esc-map "\C-l" 'reposition-window)
175
176;;; Auxiliary functions 174;;; Auxiliary functions
177 175
178;; Return number of screen lines between START and END. 176;; Return number of screen lines between START and END.
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog
index e8ae7233c20..d5dd002cf7a 100644
--- a/lisp/url/ChangeLog
+++ b/lisp/url/ChangeLog
@@ -2,11 +2,15 @@
2 2
3 * url-mailto.el (mail-send-and-exit): 3 * url-mailto.el (mail-send-and-exit):
4 * url-http.el (url-dav-file-attributes): 4 * url-http.el (url-dav-file-attributes):
5 * url-file.el (ange-ftp-set-passwd, ange-ftp-copy-file-internal): 5 * url-file.el (ange-ftp-set-passwd, ange-ftp-copy-file-internal)
6 (url-generate-unique-filename): Declare as functions. 6 (url-generate-unique-filename): Declare as functions.
7 7
8 * url-privacy.el (url-device-type): Define unconditionally. 8 * url-privacy.el (url-device-type): Define unconditionally.
9 9
102007-11-15 Richard Stallman <rms@gnu.org>
11
12 * url.el (url-retrieve-synchronously): Call delete-process.
13
102007-10-31 Juanma Barranquero <lekktu@gmail.com> 142007-10-31 Juanma Barranquero <lekktu@gmail.com>
11 15
12 * url-vars.el (url-vars-unload-hook): Remove function and variable. 16 * url-vars.el (url-vars-unload-hook): Remove function and variable.
diff --git a/lisp/url/url.el b/lisp/url/url.el
index 3b292b4452d..c375a75e06f 100644
--- a/lisp/url/url.el
+++ b/lisp/url/url.el
@@ -241,7 +241,9 @@ no further processing). URL is either a string or a parsed URL."
241 ;; XXX: The callback must always be called. Any 241 ;; XXX: The callback must always be called. Any
242 ;; exception is a bug that should be fixed, not worked 242 ;; exception is a bug that should be fixed, not worked
243 ;; around. 243 ;; around.
244 (setq retrieval-done t)) 244 (progn ;; Call delete-process so we run any sentinel now.
245 (delete-process proc)
246 (setq retrieval-done t)))
245 ;; We used to use `sit-for' here, but in some cases it wouldn't 247 ;; We used to use `sit-for' here, but in some cases it wouldn't
246 ;; work because apparently pending keyboard input would always 248 ;; work because apparently pending keyboard input would always
247 ;; interrupt it before it got a chance to handle process input. 249 ;; interrupt it before it got a chance to handle process input.
diff --git a/src/ChangeLog b/src/ChangeLog
index 8b6b11b39fa..9f99493e668 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,15 @@
12007-11-21 Jason Rumney <jasonr@gnu.org> 12007-11-21 Jason Rumney <jasonr@gnu.org>
2 2
3 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font): CreateFileMapping
4 returns NULL on failure.
5
62007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
7
8 * search.c (Fset_match_data): Remove the `evaporate' feature.
9 (unwind_set_match_data): Don't use the `evaporate' feature.
10
112007-11-21 Jason Rumney <jasonr@gnu.org>
12
3 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type. 13 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
4 14
5 * w32console.c (w32con_write_glyphs): Remove unused variables. 15 * w32console.c (w32con_write_glyphs): Remove unused variables.
diff --git a/src/ChangeLog.10 b/src/ChangeLog.10
index c5e7bc61e47..b7187263257 100644
--- a/src/ChangeLog.10
+++ b/src/ChangeLog.10
@@ -3016,7 +3016,7 @@
3016 * w32.c: Fix high cpu load for server sockets. 3016 * w32.c: Fix high cpu load for server sockets.
3017 (pfn_WSAEventSelect): New function ptr. 3017 (pfn_WSAEventSelect): New function ptr.
3018 (init_winsock): Load it. 3018 (init_winsock): Load it.
3019 (sys_listen): Set FILE_LISTEN flag. Set event mask for socket's 3019 (sys_listen): Set FILE_LISTEN flag. Set event mask for socket's
3020 char_avail event object to FD_ACCEPT. 3020 char_avail event object to FD_ACCEPT.
3021 (sys_accept): Check FILE_LISTEN flag. Set event mask on new 3021 (sys_accept): Check FILE_LISTEN flag. Set event mask on new
3022 socket's char_avail event object to FD_READ|FD_CLOSE. 3022 socket's char_avail event object to FD_READ|FD_CLOSE.
diff --git a/src/search.c b/src/search.c
index aca95c03308..29def81c3eb 100644
--- a/src/search.c
+++ b/src/search.c
@@ -2964,11 +2964,15 @@ Return value is undefined if the last search failed. */)
2964 return reuse; 2964 return reuse;
2965} 2965}
2966 2966
2967/* Internal usage only: 2967/* We used to have an internal use variant of `reseat' described as:
2968 If RESEAT is `evaporate', put the markers back on the free list 2968
2969 immediately. No other references to the markers must exist in this case, 2969 If RESEAT is `evaporate', put the markers back on the free list
2970 so it is used only internally on the unwind stack and save-match-data from 2970 immediately. No other references to the markers must exist in this
2971 Lisp. */ 2971 case, so it is used only internally on the unwind stack and
2972 save-match-data from Lisp.
2973
2974 But it was ill-conceived: those supposedly-internal markers get exposed via
2975 the undo-list, so freeing them here is unsafe. */
2972 2976
2973DEFUN ("set-match-data", Fset_match_data, Sset_match_data, 1, 2, 0, 2977DEFUN ("set-match-data", Fset_match_data, Sset_match_data, 1, 2, 0,
2974 doc: /* Set internal data on last search match from elements of LIST. 2978 doc: /* Set internal data on last search match from elements of LIST.
@@ -3053,10 +3057,7 @@ If optional arg RESEAT is non-nil, make markers on LIST point nowhere. */)
3053 3057
3054 if (!NILP (reseat) && MARKERP (m)) 3058 if (!NILP (reseat) && MARKERP (m))
3055 { 3059 {
3056 if (EQ (reseat, Qevaporate)) 3060 unchain_marker (XMARKER (m));
3057 free_marker (m);
3058 else
3059 unchain_marker (XMARKER (m));
3060 XSETCAR (list, Qnil); 3061 XSETCAR (list, Qnil);
3061 } 3062 }
3062 3063
@@ -3074,10 +3075,7 @@ If optional arg RESEAT is non-nil, make markers on LIST point nowhere. */)
3074 3075
3075 if (!NILP (reseat) && MARKERP (m)) 3076 if (!NILP (reseat) && MARKERP (m))
3076 { 3077 {
3077 if (EQ (reseat, Qevaporate)) 3078 unchain_marker (XMARKER (m));
3078 free_marker (m);
3079 else
3080 unchain_marker (XMARKER (m));
3081 XSETCAR (list, Qnil); 3079 XSETCAR (list, Qnil);
3082 } 3080 }
3083 } 3081 }
@@ -3141,8 +3139,8 @@ static Lisp_Object
3141unwind_set_match_data (list) 3139unwind_set_match_data (list)
3142 Lisp_Object list; 3140 Lisp_Object list;
3143{ 3141{
3144 /* It is safe to free (evaporate) the markers immediately. */ 3142 /* It is NOT ALWAYS safe to free (evaporate) the markers immediately. */
3145 return Fset_match_data (list, Qevaporate); 3143 return Fset_match_data (list, Qt);
3146} 3144}
3147 3145
3148/* Called to unwind protect the match data. */ 3146/* Called to unwind protect the match data. */
diff --git a/src/w32bdf.c b/src/w32bdf.c
index 80ef098d8de..4a12b1f0190 100644
--- a/src/w32bdf.c
+++ b/src/w32bdf.c
@@ -261,7 +261,7 @@ w32_init_bdf_font(char *filename)
261 error("Fail to open BDF file"); 261 error("Fail to open BDF file");
262 } 262 }
263 hfilemap = CreateFileMapping(hfile, NULL, PAGE_READONLY, 0, 0, NULL); 263 hfilemap = CreateFileMapping(hfile, NULL, PAGE_READONLY, 0, 0, NULL);
264 if (hfilemap == INVALID_HANDLE_VALUE) 264 if (!hfilemap)
265 { 265 {
266 CloseHandle(hfile); 266 CloseHandle(hfile);
267 error("Can't map font"); 267 error("Can't map font");
@@ -828,7 +828,7 @@ int w32_BDF_to_x_font (char *file, char* xstr, int len)
828 size = fileinfo.nFileSizeLow; 828 size = fileinfo.nFileSizeLow;
829 829
830 hfilemap = CreateFileMapping (hfile, NULL, PAGE_READONLY, 0, 0, NULL); 830 hfilemap = CreateFileMapping (hfile, NULL, PAGE_READONLY, 0, 0, NULL);
831 if (hfilemap == INVALID_HANDLE_VALUE) 831 if (!hfilemap)
832 { 832 {
833 CloseHandle (hfile); 833 CloseHandle (hfile);
834 return 0; 834 return 0;