aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorKaroly Lorentey2005-02-28 15:15:44 +0000
committerKaroly Lorentey2005-02-28 15:15:44 +0000
commitab455350da7728b0f8e1daf92c084092d8a04c29 (patch)
treea954961cc3edbabe78e45503a82645ebd5210d7f /lisp
parent047ba4c2fb052fb5187226fe5589a1be9d36b687 (diff)
parentdbaba2d2955aee0f475ad92fab2755314aa3f48a (diff)
downloademacs-ab455350da7728b0f8e1daf92c084092d8a04c29.tar.gz
emacs-ab455350da7728b0f8e1daf92c084092d8a04c29.zip
Merged from miles@gnu.org--gnu-2005 (patch 31-33, 129-141)
Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-129 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-130 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-131 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-132 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-133 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-134 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-135 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-136 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-137 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-138 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-139 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-140 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-141 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-31 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-32 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-33 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-302
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog139
-rw-r--r--lisp/calendar/calendar.el59
-rw-r--r--lisp/calendar/diary-lib.el6
-rw-r--r--lisp/cus-edit.el165
-rw-r--r--lisp/emacs-lisp/debug.el94
-rw-r--r--lisp/emacs-lisp/re-builder.el8
-rw-r--r--lisp/emacs-lisp/trace.el86
-rw-r--r--lisp/gnus/ChangeLog25
-rw-r--r--lisp/gnus/gnus-sum.el8
-rw-r--r--lisp/gnus/mm-decode.el15
-rw-r--r--lisp/international/utf-16.el8
-rw-r--r--lisp/mouse.el49
-rw-r--r--lisp/net/tramp.el2
-rw-r--r--lisp/progmodes/perl-mode.el28
-rw-r--r--lisp/register.el6
-rw-r--r--lisp/replace.el8
-rw-r--r--lisp/reveal.el34
-rw-r--r--lisp/speedbar.el10
-rw-r--r--lisp/textmodes/flyspell.el5
-rw-r--r--lisp/textmodes/ispell.el5
-rw-r--r--lisp/url/ChangeLog5
-rw-r--r--lisp/url/url-history.el3
-rw-r--r--lisp/vc.el3
23 files changed, 495 insertions, 276 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 7d48d8704eb..7c3842ea3a5 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,11 +1,109 @@
12005-02-28 Chong Yidong" <cyd@stupidchicken.com> (tiny change)
2
3 * international/utf-16.el (ccl-encode-mule-utf-16le): Fix
4 BUFFER_MAGNIFICATION to 2.
5 (ccl-encode-mule-utf-16be): Likewise.
6
72005-02-28 Kenichi Handa <handa@m17n.org>
8
9 * international/utf-16.el (ccl-encode-mule-utf-16le-with-signature):
10 Fix BUFFER_MAGNIFICATION to 4.
11 (ccl-encode-mule-utf-16be-with-signature): Likewise.
12
132005-02-28 Nick Roberts <nickrob@snap.net.nz>
14
15 * speedbar.el (speedbar-update-flag): Doc fix.
16 (speedbar-show-info-under-mouse): Give set-mouse-position the right
17 argument.
18
192005-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
20
21 * reveal.el (reveal-post-command): Don't try to reveal overlays which
22 have a non-nil `invisible' property but are actually visible.
23
24 * progmodes/perl-mode.el (perl-imenu-generic-expression): Add entries
25 for perldoc sections.
26 (perl-outline-regexp, perl-outline-level): New var and function.
27 (perl-mode): Use them.
28
292005-02-27 Glenn Morris <gmorris@ast.cam.ac.uk>
30
31 * calendar/diary-lib.el (diary-remind): Discard any mark portion
32 from diary-entry. Reported by Andrew Kemp <ajwk@pell.uklinux.net>.
33
342005-02-27 Luc Teirlinck <teirllm@auburn.edu>
35
36 * cus-edit.el: Comment change.
37 (custom-buffer-create-internal): Slightly reword text at top of
38 Custom buffers. Mention there that saving an option edits the
39 init file. Add link to Emacs manual node on `custom-file'.
40 (custom-magic-alist): Rewrite individual State messages to use
41 capitalized keywords. Doc fix.
42
432005-02-27 Matt Hodges <MPHodges@member.fsf.org>
44
45 * calendar/calendar.el (calendar-buffer): Move above
46 calendar-week-start-day.
47 (calendar-week-start-day): Doc fix. Add :set function.
48 (calendar-minimum-window-height): New variable.
49 (generate-calendar-window): Only resize window if selected-window
50 is displaying the calendar buffer. Use new variable
51 calendar-minimum-window-height.
52 (generate-calendar): Reword error message.
53 (calendar-mode-map): Bind DEL to scroll-other-window-down.
54
552005-02-27 Andreas Schwab <schwab@suse.de>
56
57 * vc.el (vc-do-command): Don't run command asynchronously when
58 operating in a remote directory.
59
60 * net/tramp.el (tramp-file-name-for-operation): Fix misapplied
61 change from sync with Tramp 2.0.47.
62
632005-02-27 Richard M. Stallman <rms@gnu.org>
64
65 * textmodes/ispell.el (ispell-change-dictionary): Doc fix.
66
67 * textmodes/flyspell.el (flyspell-mode-on):
68 Call ispell-change-dictionary only if necessary.
69
70 * emacs-lisp/re-builder.el (regexp-builder): New function.
71
72 * register.el (describe-register-1): Explicitly handle
73 yank-excluded-properties = t.
74
75 * cus-edit.el (custom-buffer-create-internal): Improve progress msgs.
76 (custom-magic-alist): Change the status descriptions again.
77 (face widget-type): Total rewrite based on `restricted-sexp'
78 to eliminate the confusing double hiding levels.
79
80 * emacs-lisp/debug.el (debug-on-entry-1):
81 If function body is empty, add nil as body form.
82
832005-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
84
85 * emacs-lisp/trace.el (inhibit-trace): New var.
86 (trace-make-advice): Use it.
87
88 * emacs-lisp/debug.el (debug): Put back the inhibit-trace.
89
902005-02-26 Kim F. Storm <storm@cua.dk>
91
92 * mouse.el (mouse-1-click-in-non-selected-windows): New defcustom.
93 (mouse-on-link-p, mouse-drag-region-1): Use it.
94
952005-02-25 Lute Kamstra <lute@gnu.org>
96
97 * replace.el (query-replace-read-from): Fix 2005-02-19 change.
98
12005-02-24 Luc Teirlinck <teirllm@auburn.edu> 992005-02-24 Luc Teirlinck <teirllm@auburn.edu>
2 100
3 * frame.el (blink-cursor-mode): Add :group keyword. 101 * frame.el (blink-cursor-mode): Add :group keyword.
4 102
52005-02-24 Ulf Jasper <ulf.jasper@web.de> 1032005-02-24 Ulf Jasper <ulf.jasper@web.de>
6 104
7 * calendar/icalendar.el (icalendar--decode-isodatetime): New 105 * calendar/icalendar.el (icalendar--decode-isodatetime):
8 optional argument DAY-SHIFT. 106 New optional argument DAY-SHIFT.
9 (icalendar-export-region): Fix coding-system-for-write. 107 (icalendar-export-region): Fix coding-system-for-write.
10 (icalendar--convert-ical-to-diary): Shift end-day of all-day 108 (icalendar--convert-ical-to-diary): Shift end-day of all-day
11 events by one. 109 events by one.
@@ -20,6 +118,13 @@
20 during redisplay. Call force-window-update after read-event 118 during redisplay. Call force-window-update after read-event
21 and delete-region to signal that window is not accurate. 119 and delete-region to signal that window is not accurate.
22 120
1212005-02-23 Stefan Monnier <monnier@iro.umontreal.ca>
122
123 * emacs-lisp/debug.el (debug): Hide the buffer if it's not killed.
124 Remove unused and inexistent var `inhibit-trace'.
125 (debugger-mode): Use run-mode-hooks.
126 (debugger-list-functions): Add buttons; setup xref stack.
127
232005-02-23 Richard M. Stallman <rms@gnu.org> 1282005-02-23 Richard M. Stallman <rms@gnu.org>
24 129
25 * calendar/appt.el (appt-time-msg-list): 3rd elt of each 130 * calendar/appt.el (appt-time-msg-list): 3rd elt of each
@@ -152,8 +257,8 @@
152 * viper-util.el (viper-glob-unix-files): Fix shell status check. 257 * viper-util.el (viper-glob-unix-files): Fix shell status check.
153 (viper-file-remote-p): Make equivalent to file-remote-p. 258 (viper-file-remote-p): Make equivalent to file-remote-p.
154 259
155 * viper.el (viper-major-mode-modifier-list): Use 260 * viper.el (viper-major-mode-modifier-list):
156 viper-gnus-modifier-map. 261 Use viper-gnus-modifier-map.
157 262
1582005-02-19 David Kastrup <dak@gnu.org> 2632005-02-19 David Kastrup <dak@gnu.org>
159 264
@@ -163,7 +268,7 @@
1632005-02-19 Jay Belanger <belanger@truman.edu> 2682005-02-19 Jay Belanger <belanger@truman.edu>
164 269
165 * calc/calc-math.el (calc-arctan, calc-tanh, calc-arctanh): 270 * calc/calc-math.el (calc-arctan, calc-tanh, calc-arctanh):
166 Removed extra definitions. 271 Remove extra definitions.
167 (calc-coth): New function. 272 (calc-coth): New function.
168 (calcFunc-cot): Fix `let'. 273 (calcFunc-cot): Fix `let'.
169 274
@@ -180,8 +285,8 @@
180 query-replace-from-history-variable to handle the case of an empty 285 query-replace-from-history-variable to handle the case of an empty
181 string entered to accept the suggested default. 286 string entered to accept the suggested default.
182 287
183 * net/tramp.el (tramp-file-name-for-operation): Use 288 * net/tramp.el (tramp-file-name-for-operation):
184 dired-call-process instead of dired-call-process-command. 289 Use dired-call-process instead of dired-call-process-command.
185 290
1862005-02-19 Jay Belanger <belanger@truman.edu> 2912005-02-19 Jay Belanger <belanger@truman.edu>
187 292
@@ -202,22 +307,22 @@
202 307
2032005-02-19 Michael Kifer <kifer@cs.stonybrook.edu> 3082005-02-19 Michael Kifer <kifer@cs.stonybrook.edu>
204 309
205 * ediff.el (ediff-set-diff-overlays-in-one-buffer, 310 * ediff.el (ediff-set-diff-overlays-in-one-buffer)
206 ediff-set-fine-overlays-in-one-buffer,ediff-goto-word) make sure 311 (ediff-set-fine-overlays-in-one-buffer,ediff-goto-word): Make sure
207 we use the syntax table of the correct buffer. 312 we use the syntax table of the correct buffer.
208 (ediff-same-file-contents,ediff-same-contents): enhancements thanks to 313 (ediff-same-file-contents,ediff-same-contents): Enhancements thanks to
209 Felix Gatzemeier. 314 Felix Gatzemeier.
210 315
211 * ediff-init.el (ediff-hide-face): checks for definedness of functions. 316 * ediff-init.el (ediff-hide-face): Check for definedness of functions.
212 (ediff-file-remote-p): make synonymous with file-remote-p. 317 (ediff-file-remote-p): Make synonymous with file-remote-p.
213 In all deffaces ediff-*-face-*, use min-colors. 318 In all deffaces ediff-*-face-*, use min-colors.
214 319
215 * ediff-mult.el (ediff-meta-mark-equal-files): make use of 320 * ediff-mult.el (ediff-meta-mark-equal-files): Make use of
216 ediff-recurse-to-subdirectories. 321 ediff-recurse-to-subdirectories.
217 (ediff-mark-if-equal): check that the arguments are strings, use 322 (ediff-mark-if-equal): Check that the arguments are strings, use
218 ediff-same-contents (after to Felix Gatzemeier). 323 ediff-same-contents (after to Felix Gatzemeier).
219 324
220 * ediff.el (ediff-merge-on-startup): don't set buffer-modified-p to 325 * ediff.el (ediff-merge-on-startup): Don't set buffer-modified-p to
221 nil. 326 nil.
222 327
2232005-02-18 Stefan Monnier <monnier@iro.umontreal.ca> 3282005-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
@@ -287,7 +392,7 @@
2872005-02-15 Jay Belanger <belanger@truman.edu> 3922005-02-15 Jay Belanger <belanger@truman.edu>
288 393
289 * calc/calc-alg.el: Add simplification rules for calcFunc-sec, 394 * calc/calc-alg.el: Add simplification rules for calcFunc-sec,
290 calcFunc-csc, calcFunc-cot, calcFunc-sech, calcFunc-csch and 395 calcFunc-csc, calcFunc-cot, calcFunc-sech, calcFunc-csch, and
291 calcFunc-coth. 396 calcFunc-coth.
292 (math-simplify-sqrt): Add simplifications. 397 (math-simplify-sqrt): Add simplifications.
293 398
diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el
index 88d6aee513f..291452db080 100644
--- a/lisp/calendar/calendar.el
+++ b/lisp/calendar/calendar.el
@@ -1,7 +1,7 @@
1;;; calendar.el --- calendar functions 1;;; calendar.el --- calendar functions
2 2
3;; Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1997, 3;; Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1997,
4;; 2000, 2001, 2003, 2004 Free Software Foundation, Inc. 4;; 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
5 5
6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 6;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
7;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk> 7;; Maintainer: Glenn Morris <gmorris@ast.cam.ac.uk>
@@ -141,11 +141,25 @@
141 :group 'calendar) 141 :group 'calendar)
142 142
143 143
144(defconst calendar-buffer "*Calendar*"
145 "Name of the buffer used for the calendar.")
146
144;;;###autoload 147;;;###autoload
145(defcustom calendar-week-start-day 0 148(defcustom calendar-week-start-day 0
146 "*The day of the week on which a week in the calendar begins. 149 "*The day of the week on which a week in the calendar begins.
1470 means Sunday (default), 1 means Monday, and so on." 1500 means Sunday (default), 1 means Monday, and so on.
151
152If you change this variable directly (without using customize)
153after starting `calendar', you should call `redraw-calendar' to
154update the calendar display to reflect the change, otherwise
155movement commands will not work correctly."
148 :type 'integer 156 :type 'integer
157 :set (lambda (sym val)
158 (set sym val)
159 (let ((buffer (get-buffer calendar-buffer)))
160 (when (buffer-live-p buffer)
161 (with-current-buffer buffer
162 (redraw-calendar)))))
149 :group 'calendar) 163 :group 'calendar)
150 164
151;;;###autoload 165;;;###autoload
@@ -1303,9 +1317,6 @@ with descriptive strings such as
1303 :type 'sexp 1317 :type 'sexp
1304 :group 'holidays) 1318 :group 'holidays)
1305 1319
1306(defconst calendar-buffer "*Calendar*"
1307 "Name of the buffer used for the calendar.")
1308
1309(defconst holiday-buffer "*Holidays*" 1320(defconst holiday-buffer "*Holidays*"
1310 "Name of the buffer used for the displaying the holidays.") 1321 "Name of the buffer used for the displaying the holidays.")
1311 1322
@@ -1563,7 +1574,7 @@ return negative results."
1563The choices are: `one-frame' (calendar and diary together in one separate, 1574The choices are: `one-frame' (calendar and diary together in one separate,
1564dedicated frame); `two-frames' (calendar and diary in separate, dedicated 1575dedicated frame); `two-frames' (calendar and diary in separate, dedicated
1565frames); `calendar-only' (calendar in a separate, dedicated frame); with 1576frames); `calendar-only' (calendar in a separate, dedicated frame); with
1566any other value the current frame is used. Using any of the first 1577any other value the current frame is used. Using any of the first
1567three options overrides the value of `view-diary-entries-initially'." 1578three options overrides the value of `view-diary-entries-initially'."
1568 :type '(choice 1579 :type '(choice
1569 (const :tag "calendar and diary in separate frame" one-frame) 1580 (const :tag "calendar and diary in separate frame" one-frame)
@@ -1572,6 +1583,12 @@ three options overrides the value of `view-diary-entries-initially'."
1572 (const :tag "use current frame" nil)) 1583 (const :tag "use current frame" nil))
1573 :group 'calendar) 1584 :group 'calendar)
1574 1585
1586(defcustom calendar-minimum-window-height 8
1587 "Minimum height `generate-calendar-window' should use for calendar window."
1588 :type 'integer
1589 :version "22.1"
1590 :group 'calendar)
1591
1575;;;###autoload 1592;;;###autoload
1576(defun calendar (&optional arg) 1593(defun calendar (&optional arg)
1577 "Choose between the one frame, two frame, or basic calendar displays. 1594 "Choose between the one frame, two frame, or basic calendar displays.
@@ -2039,28 +2056,33 @@ Or, for optional MON, YR."
2039 (or (not mon) 2056 (or (not mon)
2040 (let ((offset (calendar-interval mon yr month year))) 2057 (let ((offset (calendar-interval mon yr month year)))
2041 (and (<= offset 1) (>= offset -1))))) 2058 (and (<= offset 1) (>= offset -1)))))
2042 (day-in-week (calendar-day-of-week today))) 2059 (day-in-week (calendar-day-of-week today))
2060 (in-calendar-window (eq (window-buffer (selected-window))
2061 (get-buffer calendar-buffer))))
2043 (update-calendar-mode-line) 2062 (update-calendar-mode-line)
2044 (if mon 2063 (if mon
2045 (generate-calendar mon yr) 2064 (generate-calendar mon yr)
2046 (generate-calendar month year)) 2065 (generate-calendar month year))
2047 (calendar-cursor-to-visible-date 2066 (calendar-cursor-to-visible-date
2048 (if today-visible today (list displayed-month 1 displayed-year))) 2067 (if today-visible today (list displayed-month 1 displayed-year)))
2049 (set-buffer-modified-p nil) 2068 (set-buffer-modified-p nil)
2050 (if (or (one-window-p t) (/= (frame-width) (window-width))) 2069 ;; Don't do any window-related stuff if we weren't called from a
2051 ;; Don't mess with the window size, but ensure that the first 2070 ;; window displaying the calendar
2052 ;; line is fully visible 2071 (when in-calendar-window
2053 (set-window-vscroll nil 0) 2072 (if (or (one-window-p t) (/= (frame-width) (window-width)))
2054 ;; Adjust the window to exactly fit the displayed calendar 2073 ;; Don't mess with the window size, but ensure that the first
2055 (fit-window-to-buffer)) 2074 ;; line is fully visible
2056 (sit-for 0) 2075 (set-window-vscroll nil 0)
2076 ;; Adjust the window to exactly fit the displayed calendar
2077 (fit-window-to-buffer nil nil calendar-minimum-window-height))
2078 (sit-for 0))
2057 (if (and (boundp 'font-lock-mode) 2079 (if (and (boundp 'font-lock-mode)
2058 font-lock-mode) 2080 font-lock-mode)
2059 (font-lock-fontify-buffer)) 2081 (font-lock-fontify-buffer))
2060 (and mark-holidays-in-calendar 2082 (and mark-holidays-in-calendar
2061;;; (calendar-date-is-legal-p today) ; useful for BC dates 2083;;; (calendar-date-is-legal-p today) ; useful for BC dates
2062 (mark-calendar-holidays) 2084 (mark-calendar-holidays)
2063 (sit-for 0)) 2085 (and in-calendar-window (sit-for 0)))
2064 (unwind-protect 2086 (unwind-protect
2065 (if mark-diary-entries-in-calendar (mark-diary-entries)) 2087 (if mark-diary-entries-in-calendar (mark-diary-entries))
2066 (if today-visible 2088 (if today-visible
@@ -2071,10 +2093,10 @@ Or, for optional MON, YR."
2071 "Generate a three-month Gregorian calendar centered around MONTH, YEAR." 2093 "Generate a three-month Gregorian calendar centered around MONTH, YEAR."
2072;;; A negative YEAR is interpreted as BC; -1 being 1 BC, and so on. 2094;;; A negative YEAR is interpreted as BC; -1 being 1 BC, and so on.
2073;;; Note that while calendars for years BC could be displayed as it 2095;;; Note that while calendars for years BC could be displayed as it
2074;;; stands, almost all other calendar functions (eg holidays) would 2096;;; stands, almost all other calendar functions (eg holidays) would
2075;;; at best have unpredictable results for such dates. 2097;;; at best have unpredictable results for such dates.
2076 (if (< (+ month (* 12 (1- year))) 2) 2098 (if (< (+ month (* 12 (1- year))) 2)
2077 (error "Months before February, 1 AD are not available")) 2099 (error "Months before January, 1 AD cannot be displayed"))
2078 (setq displayed-month month 2100 (setq displayed-month month
2079 displayed-year year) 2101 displayed-year year)
2080 (erase-buffer) 2102 (erase-buffer)
@@ -2229,6 +2251,7 @@ the inserted text. Value is always t."
2229 (define-key calendar-mode-map "S" 'calendar-sunrise-sunset) 2251 (define-key calendar-mode-map "S" 'calendar-sunrise-sunset)
2230 (define-key calendar-mode-map "M" 'calendar-phases-of-moon) 2252 (define-key calendar-mode-map "M" 'calendar-phases-of-moon)
2231 (define-key calendar-mode-map " " 'scroll-other-window) 2253 (define-key calendar-mode-map " " 'scroll-other-window)
2254 (define-key calendar-mode-map (kbd "DEL") 'scroll-other-window-down)
2232 (define-key calendar-mode-map "\C-c\C-l" 'redraw-calendar) 2255 (define-key calendar-mode-map "\C-c\C-l" 'redraw-calendar)
2233 (define-key calendar-mode-map "." 'calendar-goto-today) 2256 (define-key calendar-mode-map "." 'calendar-goto-today)
2234 (define-key calendar-mode-map "o" 'calendar-other-month) 2257 (define-key calendar-mode-map "o" 'calendar-other-month)
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el
index ecbafd24430..5fbae2500d7 100644
--- a/lisp/calendar/diary-lib.el
+++ b/lisp/calendar/diary-lib.el
@@ -1625,8 +1625,10 @@ marked on the calendar."
1625 (or (not marking-diary-entries) marking)) 1625 (or (not marking-diary-entries) marking))
1626 (let ((date (calendar-gregorian-from-absolute 1626 (let ((date (calendar-gregorian-from-absolute
1627 (+ (calendar-absolute-from-gregorian date) days)))) 1627 (+ (calendar-absolute-from-gregorian date) days))))
1628 (if (setq diary-entry (eval sexp)) 1628 (when (setq diary-entry (eval sexp)) ; re-evaluate with adjusted date
1629 (mapconcat 'eval diary-remind-message "")))) 1629 ;; Discard any mark portion from diary-anniversary, etc.
1630 (if (consp diary-entry) (setq diary-entry (cdr diary-entry)))
1631 (mapconcat 'eval diary-remind-message ""))))
1630 ;; Diary entry may apply to one of a list of days before date 1632 ;; Diary entry may apply to one of a list of days before date
1631 ((and (listp days) days) 1633 ((and (listp days) days)
1632 (or (diary-remind sexp (car days) marking) 1634 (or (diary-remind sexp (car days) marking)
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index 85772094c9a..fb76aa6c3d8 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -121,10 +121,11 @@
121;; 6. rogue 121;; 6. rogue
122 122
123;; There is no standard value. This means that the variable was 123;; There is no standard value. This means that the variable was
124;; not defined with defcustom. You can not create a Custom buffer 124;; not defined with defcustom, nor handled in cus-start.el. You
125;; for such variables using the normal interactive Custom commands. 125;; can not create a Custom buffer for such variables using the
126;; However, such Custom buffers can be created in other ways, for 126;; normal interactive Custom commands. However, such Custom
127;; instance, by calling `customize-option' non-interactively. 127;; buffers can be created in other ways, for instance, by calling
128;; `customize-option' non-interactively.
128 129
129;; 7. hidden 130;; 7. hidden
130 131
@@ -1367,7 +1368,6 @@ Otherwise use brackets."
1367 :group 'custom-buffer) 1368 :group 'custom-buffer)
1368 1369
1369(defun custom-buffer-create-internal (options &optional description) 1370(defun custom-buffer-create-internal (options &optional description)
1370 (message "Creating customization buffer...")
1371 (custom-mode) 1371 (custom-mode)
1372 (if custom-buffer-verbose-help 1372 (if custom-buffer-verbose-help
1373 (progn 1373 (progn
@@ -1377,17 +1377,23 @@ Otherwise use brackets."
1377 (widget-insert (format ". 1377 (widget-insert (format ".
1378%s show active fields; type RET or click mouse-1 1378%s show active fields; type RET or click mouse-1
1379on an active field to invoke its action. Editing an option value 1379on an active field to invoke its action. Editing an option value
1380changes the text in the buffer; invoke the State button and 1380changes only the text in the buffer. Invoke the State button to set or
1381choose the Set operation to set the option value. 1381save the option value. Saving an option normally edits your init file.
1382Invoke " (if custom-raised-buttons 1382Invoke "
1383 "`Raised' buttons" 1383 (if custom-raised-buttons
1384 "Square brackets"))) 1384 "`Raised' buttons"
1385 "Square brackets")))
1386 (widget-create 'info-link
1387 :tag "Custom file"
1388 "(emacs)Saving Customizations")
1389 (widget-insert
1390 " for information on how to save in a different file.
1391Invoke ")
1385 (widget-create 'info-link 1392 (widget-create 'info-link
1386 :tag "Help" 1393 :tag "Help"
1387 :help-echo "Read the online help." 1394 :help-echo "Read the online help."
1388 "(emacs)Easy Customization") 1395 "(emacs)Easy Customization")
1389 (widget-insert " for more information.\n\n") 1396 (widget-insert " for general information.\n\n")
1390 (message "Creating customization buttons...")
1391 (widget-insert "Operate on everything in this buffer:\n ")) 1397 (widget-insert "Operate on everything in this buffer:\n "))
1392 (widget-insert " ")) 1398 (widget-insert " "))
1393 (widget-create 'push-button 1399 (widget-create 'push-button
@@ -1478,13 +1484,15 @@ Un-customize all values in this buffer. They get their standard settings."
1478 (unless (eq (preceding-char) ?\n) 1484 (unless (eq (preceding-char) ?\n)
1479 (widget-insert "\n")) 1485 (widget-insert "\n"))
1480 (message "Creating customization items ...done") 1486 (message "Creating customization items ...done")
1487 (message "Resetting customization items...")
1481 (unless (eq custom-buffer-style 'tree) 1488 (unless (eq custom-buffer-style 'tree)
1482 (mapc 'custom-magic-reset custom-options)) 1489 (mapc 'custom-magic-reset custom-options))
1490 (message "Resetting customization items...done")
1483 (message "Creating customization setup...") 1491 (message "Creating customization setup...")
1484 (widget-setup) 1492 (widget-setup)
1485 (buffer-enable-undo) 1493 (buffer-enable-undo)
1486 (goto-char (point-min)) 1494 (goto-char (point-min))
1487 (message "Creating customization buffer...done")) 1495 (message "Creating customization setup...done"))
1488 1496
1489;;; The Tree Browser. 1497;;; The Tree Browser.
1490 1498
@@ -1665,31 +1673,31 @@ item in another window.\n\n"))
1665 1673
1666(defconst custom-magic-alist 1674(defconst custom-magic-alist
1667 '((nil "#" underline "\ 1675 '((nil "#" underline "\
1668uninitialized, you should not see this.") 1676UNINITIALIZED, you should not see this.")
1669 (unknown "?" italic "\ 1677 (unknown "?" italic "\
1670unknown, you should not see this.") 1678UNKNOWN, you should not see this.")
1671 (hidden "-" default "\ 1679 (hidden "-" default "\
1672hidden, invoke \"Show\" in the previous line to show." "\ 1680HIDDEN, invoke \"Show\" in the previous line to show." "\
1673group now hidden, invoke \"Show\", above, to show contents.") 1681group now hidden, invoke \"Show\", above, to show contents.")
1674 (invalid "x" custom-invalid-face "\ 1682 (invalid "x" custom-invalid-face "\
1675the value displayed for this %c is invalid and cannot be set.") 1683INVALID, the displayed value cannot be set.")
1676 (modified "*" custom-modified-face "\ 1684 (modified "*" custom-modified-face "\
1677you have edited the value as text, but you have not set the %c." "\ 1685EDITED, shown value does not take effect until you set or save it." "\
1678you have edited something in this group, but not set anything yet.") 1686something in this group has been edited but not set.")
1679 (set "+" custom-set-face "\ 1687 (set "+" custom-set-face "\
1680you have set this %c, but not saved it for future sessions." "\ 1688SET for current session only." "\
1681you have set something in this group, but not saved anything yet.") 1689something in this group has been set but not saved.")
1682 (changed ":" custom-changed-face "\ 1690 (changed ":" custom-changed-face "\
1683this %c has been changed outside the customize buffer." "\ 1691CHANGED outside Customize; operating on it here may be unreliable." "\
1684something in this group has been changed outside customize.") 1692something in this group has been changed outside customize.")
1685 (saved "!" custom-saved-face "\ 1693 (saved "!" custom-saved-face "\
1686You have set this %c and saved it through Customize in your init file." "\ 1694SAVED and set." "\
1687something in this group has been set and saved.") 1695something in this group has been set and saved.")
1688 (rogue "@" custom-rogue-face "\ 1696 (rogue "@" custom-rogue-face "\
1689this %c has not been changed with customize." "\ 1697NO CUSTOMIZATION DATA; you should not see this." "\
1690something in this group is not prepared for customization.") 1698something in this group is not prepared for customization.")
1691 (standard " " nil "\ 1699 (standard " " nil "\
1692this %c is unchanged from its standard setting." "\ 1700STANDARD." "\
1693visible group members are all at standard settings.")) 1701visible group members are all at standard settings."))
1694 "Alist of customize option states. 1702 "Alist of customize option states.
1695Each entry is of the form (STATE MAGIC FACE ITEM-DESC [ GROUP-DESC ]), where 1703Each entry is of the form (STATE MAGIC FACE ITEM-DESC [ GROUP-DESC ]), where
@@ -1709,7 +1717,7 @@ STATE is one of the following symbols:
1709`set' 1717`set'
1710 This item has been set but not saved. 1718 This item has been set but not saved.
1711`changed' 1719`changed'
1712 The current value of this item has been changed temporarily. 1720 The current value of this item has been changed outside Customize.
1713`saved' 1721`saved'
1714 This item is marked for saving. 1722 This item is marked for saving.
1715`rogue' 1723`rogue'
@@ -3285,54 +3293,69 @@ restoring it to the state of a face that has never been customized."
3285 3293
3286;;; The `face' Widget. 3294;;; The `face' Widget.
3287 3295
3288(define-widget 'face 'default 3296(defvar widget-face-prompt-value-history nil
3289 "Select and customize a face." 3297 "History of input to `widget-face-prompt-value'.")
3290 :convert-widget 'widget-value-convert-widget 3298
3291 :button-prefix 'widget-push-button-prefix 3299(define-widget 'face 'restricted-sexp
3292 :button-suffix 'widget-push-button-suffix 3300 "A Lisp face name."
3293 :format "%{%t%}: %[select face%] %v" 3301 :complete-function (lambda ()
3294 :tag "Face" 3302 (interactive)
3295 :value 'default 3303 (lisp-complete-symbol 'facep))
3304 :prompt-value 'widget-field-prompt-value
3305 :prompt-internal 'widget-symbol-prompt-internal
3306 :prompt-match 'facep
3307 :prompt-history 'widget-face-prompt-value-history
3296 :value-create 'widget-face-value-create 3308 :value-create 'widget-face-value-create
3297 :value-delete 'widget-face-value-delete 3309 :action 'widget-field-action
3298 :value-get 'widget-value-value-get 3310 :match-alternatives '(facep)
3299 :validate 'widget-children-validate 3311 :validate (lambda (widget)
3300 :action 'widget-face-action 3312 (unless (facep (widget-value widget))
3301 :match (lambda (widget value) (symbolp value))) 3313 (widget-put widget :error (format "Invalid face: %S"
3314 (widget-value widget)))
3315 widget))
3316 :value 'ignore
3317 :tag "Function")
3318
3319
3320;;; There is a bug here: the sample doesn't get redisplayed
3321;;; in the new font when you specify one. Does anyone know how to
3322;;; make that work? -- rms.
3302 3323
3303(defun widget-face-value-create (widget) 3324(defun widget-face-value-create (widget)
3304 "Create a `custom-face' child." 3325 "Create an editable face name field."
3305 (let* ((symbol (widget-value widget)) 3326 (let ((buttons (widget-get widget :buttons))
3306 (custom-buffer-style 'face) 3327 (symbol (widget-get widget :value)))
3307 (child (widget-create-child-and-convert 3328 ;; Sample.
3308 widget 'custom-face 3329 (push (widget-create-child-and-convert widget 'item
3309 :custom-level nil 3330 :format "(%{%t%})"
3310 :value symbol))) 3331 :sample-face symbol
3311 (custom-magic-reset child) 3332 :tag "sample")
3312 (setq custom-options (cons child custom-options)) 3333 buttons)
3313 (widget-put widget :children (list child)))) 3334 (insert " ")
3314 3335 ;; Update buttons.
3315(defun widget-face-value-delete (widget) 3336 (widget-put widget :buttons buttons))
3316 "Remove the child from the options." 3337
3317 (let ((child (car (widget-get widget :children)))) 3338 (let ((size (widget-get widget :size))
3318 (setq custom-options (delq child custom-options)) 3339 (value (widget-get widget :value))
3319 (widget-children-value-delete widget))) 3340 (from (point))
3320 3341 ;; This is changed to a real overlay in `widget-setup'. We
3321(defvar face-history nil 3342 ;; need the end points to behave differently until
3322 "History of entered face names.") 3343 ;; `widget-setup' is called.
3323 3344 (overlay (cons (make-marker) (make-marker))))
3324(defun widget-face-action (widget &optional event) 3345 (widget-put widget :field-overlay overlay)
3325 "Prompt for a face." 3346 (insert value)
3326 (let ((answer (completing-read "Face: " 3347 (and size
3327 (mapcar (lambda (face) 3348 (< (length value) size)
3328 (list (symbol-name face))) 3349 (insert-char ?\ (- size (length value))))
3329 (face-list)) 3350 (unless (memq widget widget-field-list)
3330 nil nil nil 3351 (setq widget-field-new (cons widget widget-field-new)))
3331 'face-history))) 3352 (move-marker (cdr overlay) (point))
3332 (unless (zerop (length answer)) 3353 (set-marker-insertion-type (cdr overlay) nil)
3333 (widget-value-set widget (intern answer)) 3354 (when (null size)
3334 (widget-apply widget :notify widget event) 3355 (insert ?\n))
3335 (widget-setup)))) 3356 (move-marker (car overlay) from)
3357 (set-marker-insertion-type (car overlay) t)))
3358
3336 3359
3337;;; The `hook' Widget. 3360;;; The `hook' Widget.
3338 3361
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el
index a84a7aca52c..58fb3b4a1b8 100644
--- a/lisp/emacs-lisp/debug.el
+++ b/lisp/emacs-lisp/debug.el
@@ -1,6 +1,7 @@
1;;; debug.el --- debuggers and related commands for Emacs 1;;; debug.el --- debuggers and related commands for Emacs
2 2
3;; Copyright (C) 1985, 1986, 1994, 2001, 2003 Free Software Foundation, Inc. 3;; Copyright (C) 1985, 1986, 1994, 2001, 2003, 2005
4;; Free Software Foundation, Inc.
4 5
5;; Maintainer: FSF 6;; Maintainer: FSF
6;; Keywords: lisp, tools, maint 7;; Keywords: lisp, tools, maint
@@ -197,15 +198,16 @@ first will be printed into the backtrace buffer."
197 (recursive-edit))))) 198 (recursive-edit)))))
198 ;; Kill or at least neuter the backtrace buffer, so that users 199 ;; Kill or at least neuter the backtrace buffer, so that users
199 ;; don't try to execute debugger commands in an invalid context. 200 ;; don't try to execute debugger commands in an invalid context.
200 (if (get-buffer-window debugger-buffer 'visible) 201 (if (get-buffer-window debugger-buffer 0)
201 ;; Still visible despite the save-window-excursion? Maybe it 202 ;; Still visible despite the save-window-excursion? Maybe it
202 ;; it's in a pop-up frame. It would be annoying to delete and 203 ;; it's in a pop-up frame. It would be annoying to delete and
203 ;; recreate it every time the debugger stops, so instead we'll 204 ;; recreate it every time the debugger stops, so instead we'll
204 ;; erase it but leave it visible. 205 ;; erase it and hide it but keep it alive.
205 (save-excursion 206 (with-current-buffer debugger-buffer
206 (set-buffer debugger-buffer)
207 (erase-buffer) 207 (erase-buffer)
208 (fundamental-mode)) 208 (fundamental-mode)
209 (with-selected-window (get-buffer-window debugger-buffer 0)
210 (bury-buffer)))
209 (kill-buffer debugger-buffer)) 211 (kill-buffer debugger-buffer))
210 (set-match-data debugger-outer-match-data))) 212 (set-match-data debugger-outer-match-data)))
211 ;; Put into effect the modified values of these variables 213 ;; Put into effect the modified values of these variables
@@ -543,29 +545,26 @@ Applies to the frame whose line point is on in the backtrace."
543 'read-expression-history))) 545 'read-expression-history)))
544 (debugger-env-macro (eval-expression exp))) 546 (debugger-env-macro (eval-expression exp)))
545 547
546(defvar debugger-mode-map nil) 548(defvar debugger-mode-map
547(unless debugger-mode-map 549 (let ((map (make-keymap)))
548 (let ((loop ? )) 550 (set-keymap-parent map button-buffer-map)
549 (setq debugger-mode-map (make-keymap)) 551 (suppress-keymap map)
550 (set-keymap-parent debugger-mode-map button-buffer-map) 552 (define-key map "-" 'negative-argument)
551 (suppress-keymap debugger-mode-map) 553 (define-key map "b" 'debugger-frame)
552 (define-key debugger-mode-map "-" 'negative-argument) 554 (define-key map "c" 'debugger-continue)
553 (define-key debugger-mode-map "b" 'debugger-frame) 555 (define-key map "j" 'debugger-jump)
554 (define-key debugger-mode-map "c" 'debugger-continue) 556 (define-key map "r" 'debugger-return-value)
555 (define-key debugger-mode-map "j" 'debugger-jump) 557 (define-key map "u" 'debugger-frame-clear)
556 (define-key debugger-mode-map "r" 'debugger-return-value) 558 (define-key map "d" 'debugger-step-through)
557 (define-key debugger-mode-map "u" 'debugger-frame-clear) 559 (define-key map "l" 'debugger-list-functions)
558 (define-key debugger-mode-map "d" 'debugger-step-through) 560 (define-key map "h" 'describe-mode)
559 (define-key debugger-mode-map "l" 'debugger-list-functions) 561 (define-key map "q" 'top-level)
560 (define-key debugger-mode-map "h" 'describe-mode) 562 (define-key map "e" 'debugger-eval-expression)
561 (define-key debugger-mode-map "q" 'top-level) 563 (define-key map " " 'next-line)
562 (define-key debugger-mode-map "e" 'debugger-eval-expression) 564 (define-key map "R" 'debugger-record-expression)
563 (define-key debugger-mode-map " " 'next-line) 565 (define-key map "\C-m" 'help-follow)
564 (define-key debugger-mode-map "R" 'debugger-record-expression) 566 (define-key map [mouse-2] 'push-button)
565 (define-key debugger-mode-map "\C-m" 'help-follow) 567 map))
566 (define-key debugger-mode-map [mouse-2] 'push-button)
567 ))
568
569 568
570(defcustom debugger-record-buffer "*Debugger-record*" 569(defcustom debugger-record-buffer "*Debugger-record*"
571 "*Buffer name for expression values, for \\[debugger-record-expression]." 570 "*Buffer name for expression values, for \\[debugger-record-expression]."
@@ -616,7 +615,7 @@ Complete list of commands:
616 (setq truncate-lines t) 615 (setq truncate-lines t)
617 (set-syntax-table emacs-lisp-mode-syntax-table) 616 (set-syntax-table emacs-lisp-mode-syntax-table)
618 (use-local-map debugger-mode-map) 617 (use-local-map debugger-mode-map)
619 (run-hooks 'debugger-mode-hook)) 618 (run-mode-hooks 'debugger-mode-hook))
620 619
621;;;###autoload 620;;;###autoload
622(defun debug-on-entry (function) 621(defun debug-on-entry (function)
@@ -705,6 +704,10 @@ If argument is nil or an empty string, cancel for all functions."
705 ;; Skip the interactive form. 704 ;; Skip the interactive form.
706 (if (eq 'interactive (car-safe (car tail))) (setq tail (cdr tail))) 705 (if (eq 'interactive (car-safe (car tail))) (setq tail (cdr tail)))
707 (unless (eq flag (equal (car tail) '(debug 'debug))) 706 (unless (eq flag (equal (car tail) '(debug 'debug)))
707 ;; If the function has no body, add nil as a body element.
708 (when (null tail)
709 (setq tail (list nil))
710 (nconc defn tail))
708 ;; Add/remove debug statement as needed. 711 ;; Add/remove debug statement as needed.
709 (if (not flag) 712 (if (not flag)
710 (progn (setcar tail (cadr tail)) 713 (progn (setcar tail (cadr tail))
@@ -716,22 +719,23 @@ If argument is nil or an empty string, cancel for all functions."
716(defun debugger-list-functions () 719(defun debugger-list-functions ()
717 "Display a list of all the functions now set to debug on entry." 720 "Display a list of all the functions now set to debug on entry."
718 (interactive) 721 (interactive)
719 (with-output-to-temp-buffer "*Help*" 722 (require 'help-mode)
720 (if (null debug-function-list) 723 (help-setup-xref '(debugger-list-functions) (interactive-p))
721 (princ "No debug-on-entry functions now\n") 724 (with-output-to-temp-buffer (help-buffer)
722 (princ "Functions set to debug on entry:\n\n") 725 (with-current-buffer standard-output
723 (let ((list debug-function-list)) 726 (if (null debug-function-list)
724 (while list 727 (princ "No debug-on-entry functions now\n")
725 (prin1 (car list)) 728 (princ "Functions set to debug on entry:\n\n")
726 (terpri) 729 (dolist (fun debug-function-list)
727 (setq list (cdr list)))) 730 (make-text-button (point) (progn (prin1 fun) (point))
728 (princ "Note: if you have redefined a function, then it may no longer\n") 731 'type 'help-function
729 (princ "be set to debug on entry, even if it is in the list.")) 732 'help-args (list fun))
730 (save-excursion 733 (terpri))
731 (set-buffer standard-output) 734 (terpri)
732 (help-mode)))) 735 (princ "Note: if you have redefined a function, then it may no longer\n")
736 (princ "be set to debug on entry, even if it is in the list.")))))
733 737
734(provide 'debug) 738(provide 'debug)
735 739
736;;; arch-tag: b6ec7047-f801-4103-9c63-d69322db9d3b 740;; arch-tag: b6ec7047-f801-4103-9c63-d69322db9d3b
737;;; debug.el ends here 741;;; debug.el ends here
diff --git a/lisp/emacs-lisp/re-builder.el b/lisp/emacs-lisp/re-builder.el
index 019a45213c8..d26a0ae5f38 100644
--- a/lisp/emacs-lisp/re-builder.el
+++ b/lisp/emacs-lisp/re-builder.el
@@ -327,10 +327,16 @@ Except for Lisp syntax this is the same as `reb-regexp'.")
327 "Return binding for SYMBOL in the RE Builder target buffer." 327 "Return binding for SYMBOL in the RE Builder target buffer."
328 `(with-current-buffer reb-target-buffer ,symbol)) 328 `(with-current-buffer reb-target-buffer ,symbol))
329 329
330;;; This is to help people find this in Apropos.
331;;;###autoload
332(defun regexp-builder ()
333 "Alias for `re-builder': Construct a regexp interactively."
334 (interactive)
335 (re-builder))
330 336
331;;;###autoload 337;;;###autoload
332(defun re-builder () 338(defun re-builder ()
333 "Call up the RE Builder for the current window." 339 "Construct a regexp interactively."
334 (interactive) 340 (interactive)
335 341
336 (if (and (string= (buffer-name) reb-buffer) 342 (if (and (string= (buffer-name) reb-buffer)
diff --git a/lisp/emacs-lisp/trace.el b/lisp/emacs-lisp/trace.el
index a6ff9b15286..e3d3e9e645e 100644
--- a/lisp/emacs-lisp/trace.el
+++ b/lisp/emacs-lisp/trace.el
@@ -1,6 +1,6 @@
1;;; trace.el --- tracing facility for Emacs Lisp functions 1;;; trace.el --- tracing facility for Emacs Lisp functions
2 2
3;; Copyright (C) 1993 Free Software Foundation, Inc. 3;; Copyright (C) 1993, 1998, 2000, 2005 Free Software Foundation, Inc.
4 4
5;; Author: Hans Chalupsky <hans@cs.buffalo.edu> 5;; Author: Hans Chalupsky <hans@cs.buffalo.edu>
6;; Maintainer: FSF 6;; Maintainer: FSF
@@ -175,6 +175,9 @@
175;; Used to separate new trace output from previous traced runs: 175;; Used to separate new trace output from previous traced runs:
176(defvar trace-separator (format "%s\n" (make-string 70 ?=))) 176(defvar trace-separator (format "%s\n" (make-string 70 ?=)))
177 177
178(defvar inhibit-trace nil
179 "If non-nil, all tracing is temporarily inhibited.")
180
178(defun trace-entry-message (function level argument-bindings) 181(defun trace-entry-message (function level argument-bindings)
179 ;; Generates a string that describes that FUNCTION has been entered at 182 ;; Generates a string that describes that FUNCTION has been entered at
180 ;; trace LEVEL with ARGUMENT-BINDINGS. 183 ;; trace LEVEL with ARGUMENT-BINDINGS.
@@ -183,14 +186,13 @@
183 (if (> level 1) " " "") 186 (if (> level 1) " " "")
184 level 187 level
185 function 188 function
186 (mapconcat (function 189 (mapconcat (lambda (binding)
187 (lambda (binding) 190 (concat
188 (concat 191 (symbol-name (ad-arg-binding-field binding 'name))
189 (symbol-name (ad-arg-binding-field binding 'name)) 192 "="
190 "=" 193 ;; do this so we'll see strings:
191 ;; do this so we'll see strings: 194 (prin1-to-string
192 (prin1-to-string 195 (ad-arg-binding-field binding 'value))))
193 (ad-arg-binding-field binding 'value)))))
194 argument-bindings 196 argument-bindings
195 " "))) 197 " ")))
196 198
@@ -211,43 +213,27 @@
211 ;; (quietly if BACKGROUND is t). 213 ;; (quietly if BACKGROUND is t).
212 (ad-make-advice 214 (ad-make-advice
213 trace-advice-name nil t 215 trace-advice-name nil t
214 (cond (background 216 `(advice
215 `(advice 217 lambda ()
216 lambda () 218 (let ((trace-level (1+ trace-level))
217 (let ((trace-level (1+ trace-level)) 219 (trace-buffer (get-buffer-create ,buffer)))
218 (trace-buffer (get-buffer-create ,buffer))) 220 (unless inhibit-trace
219 (save-excursion 221 (with-current-buffer trace-buffer
220 (set-buffer trace-buffer) 222 ,(unless background '(pop-to-buffer trace-buffer))
221 (goto-char (point-max)) 223 (goto-char (point-max))
222 ;; Insert a separator from previous trace output: 224 ;; Insert a separator from previous trace output:
223 (if (= trace-level 1) (insert trace-separator)) 225 (if (= trace-level 1) (insert trace-separator))
224 (insert 226 (insert
225 (trace-entry-message 227 (trace-entry-message
226 ',function trace-level ad-arg-bindings))) 228 ',function trace-level ad-arg-bindings))))
227 ad-do-it 229 ad-do-it
228 (save-excursion 230 (unless inhibit-trace
229 (set-buffer trace-buffer) 231 (with-current-buffer trace-buffer
230 (goto-char (point-max)) 232 ,(unless background '(pop-to-buffer trace-buffer))
231 (insert 233 (goto-char (point-max))
232 (trace-exit-message 234 (insert
233 ',function trace-level ad-return-value)))))) 235 (trace-exit-message
234 (t `(advice 236 ',function trace-level ad-return-value))))))))
235 lambda ()
236 (let ((trace-level (1+ trace-level))
237 (trace-buffer (get-buffer-create ,buffer)))
238 (pop-to-buffer trace-buffer)
239 (goto-char (point-max))
240 ;; Insert a separator from previous trace output:
241 (if (= trace-level 1) (insert trace-separator))
242 (insert
243 (trace-entry-message
244 ',function trace-level ad-arg-bindings))
245 ad-do-it
246 (pop-to-buffer trace-buffer)
247 (goto-char (point-max))
248 (insert
249 (trace-exit-message
250 ',function trace-level ad-return-value))))))))
251 237
252(defun trace-function-internal (function buffer background) 238(defun trace-function-internal (function buffer background)
253 ;; Adds trace advice for FUNCTION and activates it. 239 ;; Adds trace advice for FUNCTION and activates it.
@@ -297,9 +283,9 @@ activated only if the advice of FUNCTION is currently active. If FUNCTION
297was not traced this is a noop." 283was not traced this is a noop."
298 (interactive 284 (interactive
299 (list (ad-read-advised-function "Untrace function: " 'trace-is-traced))) 285 (list (ad-read-advised-function "Untrace function: " 'trace-is-traced)))
300 (cond ((trace-is-traced function) 286 (when (trace-is-traced function)
301 (ad-remove-advice function 'around trace-advice-name) 287 (ad-remove-advice function 'around trace-advice-name)
302 (ad-update function)))) 288 (ad-update function)))
303 289
304(defun untrace-all () 290(defun untrace-all ()
305 "Untraces all currently traced functions." 291 "Untraces all currently traced functions."
@@ -309,5 +295,5 @@ was not traced this is a noop."
309 295
310(provide 'trace) 296(provide 'trace)
311 297
312;;; arch-tag: cfd170a7-4932-4331-8c8b-b7151942e5a1 298;; arch-tag: cfd170a7-4932-4331-8c8b-b7151942e5a1
313;;; trace.el ends here 299;;; trace.el ends here
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index b994e6520db..7ade8548764 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,13 +1,26 @@
12005-02-27 Arne J,Ax(Brgensen <arne@arnested.dk>
2
3 * mm-decode.el (mm-dissect-buffer): Pass the from field on to
4 `mm-dissect-multipart' and receive the from field as an (optional)
5 argument from `mm-dissect-multipart'.
6 (mm-dissect-multipart): Receive the from field as an argument and
7 pass it on when we call `mm-dissect-buffer' on MIME parts. Fixes
8 verification/decryption of signed/encrypted MIME parts.
9
102005-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
11
12 * gnus-sum.el (gnus-summary-exit): Move point after displaying the
13 buffer, so it moves the window's cursor.
14
12005-02-24 Reiner Steib <Reiner.Steib@gmx.de> 152005-02-24 Reiner Steib <Reiner.Steib@gmx.de>
2 16
3 * nnheader.el (nnheader-find-file-noselect): Added doc string. 17 * nnheader.el (nnheader-find-file-noselect): Add doc string.
4 18
5 * nnfolder.el (nnfolder-read-folder): Use RAWFILE for 19 * nnfolder.el (nnfolder-read-folder): Use RAWFILE for
6 `nnheader-find-file-noselect' to avoid 20 `nnheader-find-file-noselect' to avoid `large-file-warning-threshold'.
7 `large-file-warning-threshold'.
8 21
9 * gnus-sum.el (gnus-summary-caesar-message): Apply 22 * gnus-sum.el (gnus-summary-caesar-message):
10 `gnus-treat-article' after rotation. 23 Apply `gnus-treat-article' after rotation.
11 24
12 * gnus-group.el (gnus-group-clear-data): Mention process/prefix in 25 * gnus-group.el (gnus-group-clear-data): Mention process/prefix in
13 doc string. 26 doc string.
@@ -41,7 +54,7 @@
41 54
422005-02-16 Teodor Zlatanov <tzz@lifelogs.com> 552005-02-16 Teodor Zlatanov <tzz@lifelogs.com>
43 56
44 * gnus-registry.el (gnus-registry-delete-group): minor bug fix 57 * gnus-registry.el (gnus-registry-delete-group): Minor bug fix.
45 58
46 * gnus.el (gnus-install-group-spam-parameters): Doc fix. 59 * gnus.el (gnus-install-group-spam-parameters): Doc fix.
47 60
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 7748a3529fa..73ac963bd3b 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -1,5 +1,5 @@
1;;; gnus-sum.el --- summary mode commands for Gnus 1;;; gnus-sum.el --- summary mode commands for Gnus
2;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 2;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
3;; Free Software Foundation, Inc. 3;; Free Software Foundation, Inc.
4 4
5;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> 5;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -6680,9 +6680,11 @@ If FORCE (the prefix), also save the .newsrc file(s)."
6680 (set-buffer gnus-group-buffer) 6680 (set-buffer gnus-group-buffer)
6681 (if quit-config 6681 (if quit-config
6682 (gnus-handle-ephemeral-exit quit-config) 6682 (gnus-handle-ephemeral-exit quit-config)
6683 (goto-char group-point)
6684 (unless leave-hidden 6683 (unless leave-hidden
6685 (gnus-configure-windows 'group 'force))) 6684 (gnus-configure-windows 'group 'force))
6685 ;; Move point after calling gnus-configure-windows to make sure it
6686 ;; moves the window's point as well.
6687 (goto-char group-point))
6686 ;; Clear the current group name. 6688 ;; Clear the current group name.
6687 (unless quit-config 6689 (unless quit-config
6688 (setq gnus-newsgroup-name nil))))) 6690 (setq gnus-newsgroup-name nil)))))
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el
index 579571e16aa..10c7ea16db4 100644
--- a/lisp/gnus/mm-decode.el
+++ b/lisp/gnus/mm-decode.el
@@ -509,10 +509,10 @@ Postpone undisplaying of viewers for types in
509 (message "Destroying external MIME viewers") 509 (message "Destroying external MIME viewers")
510 (mm-destroy-parts mm-postponed-undisplay-list))) 510 (mm-destroy-parts mm-postponed-undisplay-list)))
511 511
512(defun mm-dissect-buffer (&optional no-strict-mime loose-mime) 512(defun mm-dissect-buffer (&optional no-strict-mime loose-mime from)
513 "Dissect the current buffer and return a list of MIME handles." 513 "Dissect the current buffer and return a list of MIME handles."
514 (save-excursion 514 (save-excursion
515 (let (ct ctl type subtype cte cd description id result from) 515 (let (ct ctl type subtype cte cd description id result)
516 (save-restriction 516 (save-restriction
517 (mail-narrow-to-head) 517 (mail-narrow-to-head)
518 (when (or no-strict-mime 518 (when (or no-strict-mime
@@ -523,8 +523,9 @@ Postpone undisplaying of viewers for types in
523 cte (mail-fetch-field "content-transfer-encoding") 523 cte (mail-fetch-field "content-transfer-encoding")
524 cd (mail-fetch-field "content-disposition") 524 cd (mail-fetch-field "content-disposition")
525 description (mail-fetch-field "content-description") 525 description (mail-fetch-field "content-description")
526 from (mail-fetch-field "from")
527 id (mail-fetch-field "content-id")) 526 id (mail-fetch-field "content-id"))
527 (unless from
528 (setq from (mail-fetch-field "from")))
528 ;; FIXME: In some circumstances, this code is running within 529 ;; FIXME: In some circumstances, this code is running within
529 ;; an unibyte macro. mail-extract-address-components 530 ;; an unibyte macro. mail-extract-address-components
530 ;; creates unibyte buffers. This `if', though not a perfect 531 ;; creates unibyte buffers. This `if', though not a perfect
@@ -567,7 +568,7 @@ Postpone undisplaying of viewers for types in
567 'from from 568 'from from
568 'start start) 569 'start start)
569 (car ctl)) 570 (car ctl))
570 (cons (car ctl) (mm-dissect-multipart ctl)))) 571 (cons (car ctl) (mm-dissect-multipart ctl from))))
571 (t 572 (t
572 (mm-possibly-verify-or-decrypt 573 (mm-possibly-verify-or-decrypt
573 (mm-dissect-singlepart 574 (mm-dissect-singlepart
@@ -594,7 +595,7 @@ Postpone undisplaying of viewers for types in
594 (mm-make-handle 595 (mm-make-handle
595 (mm-copy-to-buffer) ctl cte nil cdl description nil id))) 596 (mm-copy-to-buffer) ctl cte nil cdl description nil id)))
596 597
597(defun mm-dissect-multipart (ctl) 598(defun mm-dissect-multipart (ctl from)
598 (goto-char (point-min)) 599 (goto-char (point-min))
599 (let* ((boundary (concat "\n--" (mail-content-type-get ctl 'boundary))) 600 (let* ((boundary (concat "\n--" (mail-content-type-get ctl 'boundary)))
600 (close-delimiter (concat (regexp-quote boundary) "--[ \t]*$")) 601 (close-delimiter (concat (regexp-quote boundary) "--[ \t]*$"))
@@ -611,7 +612,7 @@ Postpone undisplaying of viewers for types in
611 (save-excursion 612 (save-excursion
612 (save-restriction 613 (save-restriction
613 (narrow-to-region start (point)) 614 (narrow-to-region start (point))
614 (setq parts (nconc (list (mm-dissect-buffer t)) parts))))) 615 (setq parts (nconc (list (mm-dissect-buffer t nil from)) parts)))))
615 (end-of-line 2) 616 (end-of-line 2)
616 (or (looking-at boundary) 617 (or (looking-at boundary)
617 (forward-line 1)) 618 (forward-line 1))
@@ -620,7 +621,7 @@ Postpone undisplaying of viewers for types in
620 (save-excursion 621 (save-excursion
621 (save-restriction 622 (save-restriction
622 (narrow-to-region start end) 623 (narrow-to-region start end)
623 (setq parts (nconc (list (mm-dissect-buffer t)) parts))))) 624 (setq parts (nconc (list (mm-dissect-buffer t nil from)) parts)))))
624 (mm-possibly-verify-or-decrypt (nreverse parts) ctl))) 625 (mm-possibly-verify-or-decrypt (nreverse parts) ctl)))
625 626
626(defun mm-copy-to-buffer () 627(defun mm-copy-to-buffer ()
diff --git a/lisp/international/utf-16.el b/lisp/international/utf-16.el
index 477cccc2bf9..04c9f682139 100644
--- a/lisp/international/utf-16.el
+++ b/lisp/international/utf-16.el
@@ -391,7 +391,7 @@ name `utf-translation-table-for-decode'.")
391 391
392 392
393(define-ccl-program ccl-encode-mule-utf-16le 393(define-ccl-program ccl-encode-mule-utf-16le
394 `(1 394 `(2
395 ,utf-16le-encode-loop) 395 ,utf-16le-encode-loop)
396 "Encode to UTF-16LE (little endian without signature). 396 "Encode to UTF-16LE (little endian without signature).
397Characters from the charsets ascii, eight-bit-control, 397Characters from the charsets ascii, eight-bit-control,
@@ -401,7 +401,7 @@ after translation through the translation-table of name
401Others are encoded as U+FFFD.") 401Others are encoded as U+FFFD.")
402 402
403(define-ccl-program ccl-encode-mule-utf-16be 403(define-ccl-program ccl-encode-mule-utf-16be
404 `(1 404 `(2
405 ,utf-16be-encode-loop) 405 ,utf-16be-encode-loop)
406 "Encode to UTF-16BE (big endian without signature). 406 "Encode to UTF-16BE (big endian without signature).
407Characters from the charsets ascii, eight-bit-control, 407Characters from the charsets ascii, eight-bit-control,
@@ -411,7 +411,7 @@ after translation through the translation-table named
411Others are encoded as U+FFFD.") 411Others are encoded as U+FFFD.")
412 412
413(define-ccl-program ccl-encode-mule-utf-16le-with-signature 413(define-ccl-program ccl-encode-mule-utf-16le-with-signature
414 `(1 414 `(4
415 ((write #xFF) 415 ((write #xFF)
416 (write #xFE) 416 (write #xFE)
417 ,@utf-16le-encode-loop)) 417 ,@utf-16le-encode-loop))
@@ -423,7 +423,7 @@ after translation through the translation-table of name
423Others are encoded as U+FFFD.") 423Others are encoded as U+FFFD.")
424 424
425(define-ccl-program ccl-encode-mule-utf-16be-with-signature 425(define-ccl-program ccl-encode-mule-utf-16be-with-signature
426 `(1 426 `(4
427 ((write #xFE) 427 ((write #xFE)
428 (write #xFF) 428 (write #xFF)
429 ,@utf-16be-encode-loop)) 429 ,@utf-16be-encode-loop))
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 5efcca1bd5e..fdc99205780 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -82,6 +82,17 @@ packages. See `mouse-on-link-p' for details."
82 (other :tag "Single click" t)) 82 (other :tag "Single click" t))
83 :group 'mouse) 83 :group 'mouse)
84 84
85(defcustom mouse-1-click-in-non-selected-windows t
86 "*If non-nil, a Mouse-1 click also follows links in non-selected windows.
87
88If nil, a Mouse-1 click on a link in a non-selected window performs
89the normal mouse-1 binding, typically selects the window and sets
90point at the click position."
91 :type 'boolean
92 :version "22.1"
93 :group 'mouse)
94
95
85 96
86;; Provide a mode-specific menu on a mouse button. 97;; Provide a mode-specific menu on a mouse button.
87 98
@@ -771,6 +782,8 @@ If the click is in the echo area, display the `*Messages*' buffer."
771 "Return non-nil if POS is on a link in the current buffer. 782 "Return non-nil if POS is on a link in the current buffer.
772POS must be a buffer position in the current buffer or an mouse 783POS must be a buffer position in the current buffer or an mouse
773event location in the selected window, see `event-start'. 784event location in the selected window, see `event-start'.
785However, if `mouse-1-click-in-non-selected-windows' is non-nil,
786POS may be a mouse event location in any window.
774 787
775A clickable link is identified by one of the following methods: 788A clickable link is identified by one of the following methods:
776 789
@@ -805,21 +818,24 @@ click is the local or global binding of that event.
805 818
806- Otherwise, the mouse-1 event is translated into a mouse-2 event 819- Otherwise, the mouse-1 event is translated into a mouse-2 event
807at the same position." 820at the same position."
808 (if (consp pos) 821 (let ((w (and (consp pos) (posn-window pos))))
809 (setq pos (and (eq (selected-window) (posn-window pos)) 822 (if (consp pos)
810 (posn-point pos)))) 823 (setq pos (and (or mouse-1-click-in-non-selected-windows
811 (when pos 824 (eq (selected-window) w))
812 (let ((action 825 (posn-point pos))))
813 (or (get-char-property pos 'follow-link) 826 (when pos
814 (save-excursion 827 (with-current-buffer (window-buffer w)
815 (goto-char pos) 828 (let ((action
816 (key-binding [follow-link] nil t))))) 829 (or (get-char-property pos 'follow-link)
817 (cond 830 (save-excursion
818 ((eq action 'mouse-face) 831 (goto-char pos)
819 (and (get-char-property pos 'mouse-face) t)) 832 (key-binding [follow-link] nil t)))))
820 ((functionp action) 833 (cond
821 (funcall action pos)) 834 ((eq action 'mouse-face)
822 (t action))))) 835 (and (get-char-property pos 'mouse-face) t))
836 ((functionp action)
837 (funcall action pos))
838 (t action)))))))
823 839
824 840
825(defun mouse-drag-region-1 (start-event) 841(defun mouse-drag-region-1 (start-event)
@@ -839,7 +855,8 @@ at the same position."
839 ;; Don't count the mode line. 855 ;; Don't count the mode line.
840 (1- (nth 3 bounds)))) 856 (1- (nth 3 bounds))))
841 (on-link (and mouse-1-click-follows-link 857 (on-link (and mouse-1-click-follows-link
842 (eq start-window (selected-window)))) 858 (or mouse-1-click-in-non-selected-windows
859 (eq start-window (selected-window)))))
843 remap-double-click 860 remap-double-click
844 (click-count (1- (event-click-count start-event)))) 861 (click-count (1- (event-click-count start-event))))
845 (setq mouse-selection-click-count click-count) 862 (setq mouse-selection-click-count click-count)
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 0fee809789e..14682975fe9 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -4107,7 +4107,7 @@ ARGS are the arguments OPERATION has been called with."
4107 ((member operation 4107 ((member operation
4108 (list 'dired-call-process 4108 (list 'dired-call-process
4109 ; Emacs only 4109 ; Emacs only
4110 'shell 4110 'shell-command
4111 ; Post Emacs 21.3 only 4111 ; Post Emacs 21.3 only
4112 'process-file 4112 'process-file
4113 ; XEmacs only 4113 ; XEmacs only
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el
index eb630c2ed54..ad4633e20eb 100644
--- a/lisp/progmodes/perl-mode.el
+++ b/lisp/progmodes/perl-mode.el
@@ -161,10 +161,11 @@ The expansion is entirely correct because it uses the C preprocessor."
161 161
162(defvar perl-imenu-generic-expression 162(defvar perl-imenu-generic-expression
163 '(;; Functions 163 '(;; Functions
164 (nil "^sub\\s-+\\([-A-Za-z0-9+_:]+\\)\\(\\s-\\|\n\\)*{" 1 ) 164 (nil "^sub\\s-+\\([-A-Za-z0-9+_:]+\\)" 1)
165 ;;Variables 165 ;;Variables
166 ("Variables" "^\\([$@%][-A-Za-z0-9+_:]+\\)\\s-*=" 1 ) 166 ("Variables" "^\\([$@%][-A-Za-z0-9+_:]+\\)\\s-*=" 1)
167 ("Packages" "^package\\s-+\\([-A-Za-z0-9+_:]+\\);" 1 )) 167 ("Packages" "^package\\s-+\\([-A-Za-z0-9+_:]+\\);" 1)
168 ("Doc sections" "^=head[0-9][ \t]+\\(.*\\)" 1))
168 "Imenu generic expression for Perl mode. See `imenu-generic-expression'.") 169 "Imenu generic expression for Perl mode. See `imenu-generic-expression'.")
169 170
170;; Regexps updated with help from Tom Tromey <tromey@cambric.colorado.edu> and 171;; Regexps updated with help from Tom Tromey <tromey@cambric.colorado.edu> and
@@ -411,6 +412,20 @@ create a new comment."
411(defcustom perl-nochange ";?#\\|\f\\|\\s(\\|\\(\\w\\|\\s_\\)+:[^:]" 412(defcustom perl-nochange ";?#\\|\f\\|\\s(\\|\\(\\w\\|\\s_\\)+:[^:]"
412 "*Lines starting with this regular expression are not auto-indented." 413 "*Lines starting with this regular expression are not auto-indented."
413 :type 'regexp) 414 :type 'regexp)
415
416;; Outline support
417
418(defvar perl-outline-regexp
419 (concat (mapconcat 'cadr perl-imenu-generic-expression "\\|")
420 "\\|^=cut\\>"))
421
422(defun perl-outline-level ()
423 (cond
424 ((looking-at "package\\s-") 0)
425 ((looking-at "sub\\s-") 1)
426 ((looking-at "=head[0-9]") (- (char-before (match-end 0)) ?0))
427 ((looking-at "=cut") 1)
428 (t 3)))
414 429
415;;;###autoload 430;;;###autoload
416(defun perl-mode () 431(defun perl-mode ()
@@ -498,9 +513,12 @@ Turning on Perl mode runs the normal hook `perl-mode-hook'."
498 . perl-font-lock-syntactic-face-function) 513 . perl-font-lock-syntactic-face-function)
499 (parse-sexp-lookup-properties . t))) 514 (parse-sexp-lookup-properties . t)))
500 ;; Tell imenu how to handle Perl. 515 ;; Tell imenu how to handle Perl.
501 (make-local-variable 'imenu-generic-expression) 516 (set (make-local-variable 'imenu-generic-expression)
502 (setq imenu-generic-expression perl-imenu-generic-expression) 517 perl-imenu-generic-expression)
503 (setq imenu-case-fold-search nil) 518 (setq imenu-case-fold-search nil)
519 ;; Setup outline-minor-mode.
520 (set (make-local-variable 'outline-regexp) perl-outline-regexp)
521 (set (make-local-variable 'outline-level) 'perl-outline-level)
504 (run-hooks 'perl-mode-hook)) 522 (run-hooks 'perl-mode-hook))
505 523
506;; This is used by indent-for-comment 524;; This is used by indent-for-comment
diff --git a/lisp/register.el b/lisp/register.el
index bab9d01edf2..253207c3140 100644
--- a/lisp/register.el
+++ b/lisp/register.el
@@ -227,8 +227,10 @@ The Lisp value REGISTER is a character."
227 (princ (car val)))) 227 (princ (car val))))
228 228
229 ((stringp val) 229 ((stringp val)
230 (remove-list-of-text-properties 0 (length val) 230 (if (eq yank-excluded-properties t)
231 yank-excluded-properties val) 231 (set-text-properties 0 (length val) nil val)
232 (remove-list-of-text-properties 0 (length val)
233 yank-excluded-properties val))
232 (if verbose 234 (if verbose
233 (progn 235 (progn
234 (princ "the text:\n") 236 (princ "the text:\n")
diff --git a/lisp/replace.el b/lisp/replace.el
index 2c60cd006f1..d2a0370f93e 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -1,7 +1,7 @@
1;;; replace.el --- replace commands for Emacs 1;;; replace.el --- replace commands for Emacs
2 2
3;; Copyright (C) 1985, 1986, 1987, 1992, 1994, 1996, 1997, 2000, 2001, 2002, 3;; Copyright (C) 1985, 1986, 1987, 1992, 1994, 1996, 1997, 2000, 2001, 2002,
4;; 2003, 2004 Free Software Foundation, Inc. 4;; 2003, 2004, 2005 Free Software Foundation, Inc.
5 5
6;; Maintainer: FSF 6;; Maintainer: FSF
7 7
@@ -116,10 +116,10 @@ wants to replace FROM with TO."
116 nil t t)))) 116 nil t t))))
117 (if (and (zerop (length from)) lastto lastfrom) 117 (if (and (zerop (length from)) lastto lastfrom)
118 (progn 118 (progn
119 (cons lastfrom
120 (query-replace-compile-replacement lastto regexp-flag))
121 (set query-replace-from-history-variable 119 (set query-replace-from-history-variable
122 (cdr (symbol-value query-replace-from-history-variable)))) 120 (cdr (symbol-value query-replace-from-history-variable)))
121 (cons lastfrom
122 (query-replace-compile-replacement lastto regexp-flag)))
123 ;; Warn if user types \n or \t, but don't reject the input. 123 ;; Warn if user types \n or \t, but don't reject the input.
124 (and regexp-flag 124 (and regexp-flag
125 (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\(\\\\[nt]\\)" from) 125 (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\(\\\\[nt]\\)" from)
diff --git a/lisp/reveal.el b/lisp/reveal.el
index 04cc58893c9..4d2742a4810 100644
--- a/lisp/reveal.el
+++ b/lisp/reveal.el
@@ -1,6 +1,6 @@
1;;; reveal.el --- Automatically reveal hidden text at point 1;;; reveal.el --- Automatically reveal hidden text at point
2 2
3;; Copyright (C) 2000, 2001, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2000, 2001, 2004, 2005 Free Software Foundation, Inc.
4 4
5;; Author: Stefan Monnier <monnier@cs.yale.edu> 5;; Author: Stefan Monnier <monnier@cs.yale.edu>
6;; Keywords: outlines 6;; Keywords: outlines
@@ -93,16 +93,22 @@
93 (overlays-at (point)))) 93 (overlays-at (point))))
94 (push (cons (selected-window) ol) reveal-open-spots) 94 (push (cons (selected-window) ol) reveal-open-spots)
95 (setq old-ols (delq ol old-ols)) 95 (setq old-ols (delq ol old-ols))
96 (let ((open (overlay-get ol 'reveal-toggle-invisible)) inv) 96 (let ((inv (overlay-get ol 'invisible)) open)
97 (when (or open 97 (when (and inv
98 (and (setq inv (overlay-get ol 'invisible)) 98 ;; There's an `invisible' property. Make sure it's
99 (symbolp inv) 99 ;; actually invisible.
100 (or (setq open (or (get inv 'reveal-toggle-invisible) 100 (or (not (listp buffer-invisibility-spec))
101 (overlay-get ol 'isearch-open-invisible-temporary))) 101 (memq inv buffer-invisibility-spec)
102 (overlay-get ol 'isearch-open-invisible) 102 (assq inv buffer-invisibility-spec))
103 (and (consp buffer-invisibility-spec) 103 (or (setq open
104 (assq inv buffer-invisibility-spec))) 104 (or (overlay-get ol 'reveal-toggle-invisible)
105 (overlay-put ol 'reveal-invisible inv))) 105 (and (symbolp inv)
106 (get inv 'reveal-toggle-invisible))
107 (overlay-get ol 'isearch-open-invisible-temporary)))
108 (overlay-get ol 'isearch-open-invisible)
109 (and (consp buffer-invisibility-spec)
110 (cdr (assq inv buffer-invisibility-spec))))
111 (overlay-put ol 'reveal-invisible inv))
106 (if (null open) 112 (if (null open)
107 (overlay-put ol 'invisible nil) 113 (overlay-put ol 'invisible nil)
108 ;; Use the provided opening function and repeat (since the 114 ;; Use the provided opening function and repeat (since the
@@ -110,7 +116,8 @@
110 (setq repeat t) 116 (setq repeat t)
111 (condition-case err 117 (condition-case err
112 (funcall open ol nil) 118 (funcall open ol nil)
113 (error (message "!!Reveal-show: %s !!" err) 119 (error (message "!!Reveal-show (funcall %s %s nil): %s !!"
120 open ol err)
114 ;; Let's default to a meaningful behavior to avoid 121 ;; Let's default to a meaningful behavior to avoid
115 ;; getting stuck in an infinite loop. 122 ;; getting stuck in an infinite loop.
116 (setq repeat nil) 123 (setq repeat nil)
@@ -147,7 +154,8 @@
147 (overlay-get ol 'isearch-open-invisible-temporary))))) 154 (overlay-get ol 'isearch-open-invisible-temporary)))))
148 (condition-case err 155 (condition-case err
149 (funcall open ol t) 156 (funcall open ol t)
150 (error (message "!!Reveal-hide: %s !!" err))) 157 (error (message "!!Reveal-hide (funcall %s %s t): %s !!"
158 open ol err)))
151 (overlay-put ol 'invisible inv)))))))) 159 (overlay-put ol 'invisible inv))))))))
152 (error (message "Reveal: %s" err))))) 160 (error (message "Reveal: %s" err)))))
153 161
diff --git a/lisp/speedbar.el b/lisp/speedbar.el
index ecb213d52fd..7a6e01f2859 100644
--- a/lisp/speedbar.el
+++ b/lisp/speedbar.el
@@ -761,11 +761,9 @@ PATH-EXPRESSION to `speedbar-ignored-path-expressions'."
761 (display-graphic-p) 761 (display-graphic-p)
762 window-system)) 762 window-system))
763 "*Non-nil means to automatically update the display. 763 "*Non-nil means to automatically update the display.
764When this is nil then speedbar will not follow the attached frame's path. 764When this is nil then speedbar will not follow the attached
765When speedbar is active, use: 765frame's path. Type \
766 766\\<speedbar-key-map>\\[speedbar-toggle-updates] in the speedbar \
767\\<speedbar-key-map> `\\[speedbar-toggle-updates]'
768
769to toggle this value.") 767to toggle this value.")
770 768
771(defvar speedbar-syntax-table nil 769(defvar speedbar-syntax-table nil
@@ -1344,7 +1342,7 @@ Optional EVENT is currently not used."
1344 (if (equal (car pos) speedbar-frame) 1342 (if (equal (car pos) speedbar-frame)
1345 (save-excursion 1343 (save-excursion
1346 (save-window-excursion 1344 (save-window-excursion
1347 (apply 'set-mouse-position pos) 1345 (apply 'set-mouse-position (list (car pos) (cadr pos) (cddr pos)))
1348 (speedbar-item-info)))))) 1346 (speedbar-item-info))))))
1349 1347
1350(defun speedbar-set-mode-line-format () 1348(defun speedbar-set-mode-line-format ()
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 01db2d64b27..c224a970e01 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -543,8 +543,9 @@ in your .emacs file.
543 "Turn Flyspell mode on. Do not use this; use `flyspell-mode' instead." 543 "Turn Flyspell mode on. Do not use this; use `flyspell-mode' instead."
544 (setq ispell-highlight-face 'flyspell-incorrect-face) 544 (setq ispell-highlight-face 'flyspell-incorrect-face)
545 ;; local dictionaries setup 545 ;; local dictionaries setup
546 (ispell-change-dictionary 546 (or ispell-local-dictionary ispell-dictionary
547 (or ispell-local-dictionary ispell-dictionary flyspell-default-dictionary)) 547 (if flyspell-default-dictionary
548 (ispell-change-dictionary flyspell-default-dictionary)))
548 ;; we have to force ispell to accept the local definition or 549 ;; we have to force ispell to accept the local definition or
549 ;; otherwise it could be too late, the local dictionary may 550 ;; otherwise it could be too late, the local dictionary may
550 ;; be forgotten! 551 ;; be forgotten!
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index a28764b54a1..2a84d584634 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -2417,9 +2417,10 @@ With NO-ERROR, just return non-nil if there was no Ispell running."
2417;;;###autoload 2417;;;###autoload
2418(defun ispell-change-dictionary (dict &optional arg) 2418(defun ispell-change-dictionary (dict &optional arg)
2419 "Change to dictionary DICT for Ispell. 2419 "Change to dictionary DICT for Ispell.
2420By just answering RET you can find out what the current dictionary is. 2420With a prefix arg, set it \"globally\", for all buffers.
2421Without a prefix arg, set it \"locally\", just for this buffer.
2421 2422
2422With prefix argument, set the default dictionary." 2423By just answering RET you can find out what the current dictionary is."
2423 (interactive 2424 (interactive
2424 (list (completing-read 2425 (list (completing-read
2425 "Use new dictionary (RET for current, SPC to complete): " 2426 "Use new dictionary (RET for current, SPC to complete): "
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog
index 8bc7209749f..5a3bf23529c 100644
--- a/lisp/url/ChangeLog
+++ b/lisp/url/ChangeLog
@@ -1,3 +1,8 @@
12005-02-26 James Cloos <cloos@jhcloos.com> (tiny change)
2
3 * url-history.el (url-have-visited-url): Don't barf if
4 url-history-hash-table is nil.
5
12005-02-14 Michael Welsh Duggan <md5i@cs.cmu.edu> 62005-02-14 Michael Welsh Duggan <md5i@cs.cmu.edu>
2 7
3 * url-http.el (url-http-parse-headers): Test url-automatic-caching. 8 * url-http.el (url-http-parse-headers): Test url-automatic-caching.
diff --git a/lisp/url/url-history.el b/lisp/url/url-history.el
index 6a2d87cfbc1..e2bc9b17f69 100644
--- a/lisp/url/url-history.el
+++ b/lisp/url/url-history.el
@@ -164,7 +164,8 @@ user for what type to save as."
164 164
165(defun url-have-visited-url (url) 165(defun url-have-visited-url (url)
166 (url-do-setup) 166 (url-do-setup)
167 (gethash url url-history-hash-table nil)) 167 (and url-history-hash-table
168 (gethash url url-history-hash-table nil)))
168 169
169(defun url-completion-function (string predicate function) 170(defun url-completion-function (string predicate function)
170 (url-do-setup) 171 (url-do-setup)
diff --git a/lisp/vc.el b/lisp/vc.el
index 2daf100ff57..2e241e67f48 100644
--- a/lisp/vc.el
+++ b/lisp/vc.el
@@ -958,6 +958,9 @@ that is inserted into the command line before the filename."
958 (mapconcat 'identity vc-path path-separator)) 958 (mapconcat 'identity vc-path path-separator))
959 process-environment)) 959 process-environment))
960 (w32-quote-process-args t)) 960 (w32-quote-process-args t))
961 (if (and (eq okstatus 'async) (file-remote-p default-directory))
962 ;; start-process does not support remote execution
963 (setq okstatus nil))
961 (if (eq okstatus 'async) 964 (if (eq okstatus 'async)
962 (let ((proc (apply 'start-process command (current-buffer) command 965 (let ((proc (apply 'start-process command (current-buffer) command
963 squeezed))) 966 squeezed)))