aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaroly Lorentey2005-12-29 04:46:59 +0000
committerKaroly Lorentey2005-12-29 04:46:59 +0000
commit01999e9d53e4e8d12314b16ce7d0e3d7785bfbe3 (patch)
tree53c6b956f0daa867484d1fb1d259dc4b37266bb7
parente583523a108624f7fd0c28294010b19daae5ab97 (diff)
parentd0b9c14d9fa4f77c952300c50ab35eddf3f45980 (diff)
downloademacs-01999e9d53e4e8d12314b16ce7d0e3d7785bfbe3.tar.gz
emacs-01999e9d53e4e8d12314b16ce7d0e3d7785bfbe3.zip
Merged from miles@gnu.org--gnu-2005 (patch 681)
Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-681 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-469
-rw-r--r--etc/ChangeLog5
-rw-r--r--etc/NEWS10
-rw-r--r--etc/e/eterm-colorbin1158 -> 1155 bytes
-rw-r--r--etc/e/eterm-color.ti2
-rw-r--r--lisp/ChangeLog240
-rw-r--r--lisp/apropos.el30
-rw-r--r--lisp/button.el2
-rw-r--r--lisp/cus-start.el1
-rw-r--r--lisp/descr-text.el113
-rw-r--r--lisp/files.el3
-rw-r--r--lisp/help-mode.el9
-rw-r--r--lisp/mail/sendmail.el9
-rw-r--r--lisp/mail/smtpmail.el11
-rw-r--r--lisp/mh-e/ChangeLog144
-rw-r--r--lisp/mh-e/mh-comp.el16
-rw-r--r--lisp/mh-e/mh-utils.el11
-rw-r--r--lisp/mouse.el43
-rw-r--r--lisp/paren.el12
-rw-r--r--lisp/progmodes/cc-defs.el3
-rw-r--r--lisp/progmodes/gdb-ui.el15
-rw-r--r--lisp/progmodes/glasses.el2
-rw-r--r--lisp/progmodes/gud.el26
-rw-r--r--lisp/progmodes/make-mode.el4
-rw-r--r--lisp/replace.el43
-rw-r--r--lisp/simple.el4
-rw-r--r--lisp/startup.el1
-rw-r--r--lisp/subr.el23
-rw-r--r--lisp/textmodes/bibtex.el6
-rw-r--r--lisp/textmodes/flyspell.el78
-rw-r--r--lisp/url/ChangeLog7
-rw-r--r--lisp/url/url-cache.el4
-rw-r--r--lisp/url/url.el1
-rw-r--r--lisp/vc.el89
-rw-r--r--lispref/ChangeLog5
-rw-r--r--lispref/minibuf.texi13
-rw-r--r--man/ChangeLog10
-rw-r--r--man/frames.texi6
-rw-r--r--man/org.texi3
-rw-r--r--src/ChangeLog66
-rw-r--r--src/Makefile.in2
-rw-r--r--src/charset.c15
-rw-r--r--src/commands.h5
-rw-r--r--src/eval.c8
-rw-r--r--src/fns.c3
-rw-r--r--src/gtkutil.c43
-rw-r--r--src/keyboard.c7
-rw-r--r--src/keyboard.h1
-rw-r--r--src/lread.c10
-rw-r--r--src/minibuf.c20
-rw-r--r--src/undo.c16
-rw-r--r--src/xfns.c10
51 files changed, 802 insertions, 408 deletions
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 7c3283d24ff..4fcfeaf3842 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,8 @@
12005-12-28 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * e/eterm-color.ti: Temporarily disable the ri entry.
4 * e/eterm-color: Regenerate.
5
12005-12-21 L$,1 q(Brentey K,Aa(Broly <lorentey@elte.hu> 62005-12-21 L$,1 q(Brentey K,Aa(Broly <lorentey@elte.hu>
2 7
3 * TODO: Add note on the multi-tty branch. 8 * TODO: Add note on the multi-tty branch.
diff --git a/etc/NEWS b/etc/NEWS
index 45ef93a9ae4..5d49a5d91b6 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -4214,13 +4214,13 @@ entered. `dynamic-completion-table' then computes the completion.
4214*** The new macro `lazy-completion-table' initializes a variable 4214*** The new macro `lazy-completion-table' initializes a variable
4215as a lazy completion table. 4215as a lazy completion table.
4216 4216
4217 (lazy-completion-table VAR FUN &rest ARGS) 4217 (lazy-completion-table VAR FUN)
4218 4218
4219If the completion table VAR is used for the first time (e.g., by passing VAR 4219If the completion table VAR is used for the first time (e.g., by passing VAR
4220as an argument to `try-completion'), the function FUN is called with arguments 4220as an argument to `try-completion'), the function FUN is called with no
4221ARGS. FUN must return the completion table that will be stored in VAR. If 4221arguments. FUN must return the completion table that will be stored in VAR.
4222completion is requested in the minibuffer, FUN will be called in the buffer 4222If completion is requested in the minibuffer, FUN will be called in the buffer
4223from which the minibuffer was entered. The return value of 4223from which the minibuffer was entered. The return value of
4224`lazy-completion-table' must be used to initialize the value of VAR. 4224`lazy-completion-table' must be used to initialize the value of VAR.
4225 4225
4226+++ 4226+++
diff --git a/etc/e/eterm-color b/etc/e/eterm-color
index c9b87e5854f..de84f4c909c 100644
--- a/etc/e/eterm-color
+++ b/etc/e/eterm-color
Binary files differ
diff --git a/etc/e/eterm-color.ti b/etc/e/eterm-color.ti
index ae38c10014c..bb066ca9bd5 100644
--- a/etc/e/eterm-color.ti
+++ b/etc/e/eterm-color.ti
@@ -52,7 +52,7 @@ eterm-color|Emacs term.el terminal emulator term-protocol-version 0.96,
52 op=\E[39;49m, 52 op=\E[39;49m,
53 rc=\E8, 53 rc=\E8,
54 rev=\E[7m, 54 rev=\E[7m,
55 ri=\EM, 55# ri=\EM, #temporarily disable, it causes problems for mutt
56 rmir=\E[4l, 56 rmir=\E[4l,
57 rmso=\E[27m, 57 rmso=\E[27m,
58 rmul=\E[24m, 58 rmul=\E[24m,
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index c1cb1296b21..288e4d7ed44 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,153 @@
12005-12-29 Nick Roberts <nickrob@snap.net.nz>
2
3 * progmodes/gdb-ui.el (gdb-tooltip-print, gdb-tooltip-print-1):
4 Display name of expression instead of convenience variable.
5 (gdb-post-prompt): Only call gdb-get-changed-registers if needed.
6
7 * progmodes/gud.el (gud-tooltip-dereference): Rename from
8 toggle-gud-tooltip-dereference.
9 (gud-tooltip-print-command): Move concatenation of "*" to expr to...
10 (gud-tooltip-tips): ...here when dereferencing..
11
122005-12-28 Bill Wohler <wohler@newt.com>
13
14 * simple.el (mh-e-user-agent): Move to mh-e/mh-comp.el and
15 autoload.
16
172005-12-28 Stefan Monnier <monnier@iro.umontreal.ca>
18
19 * vc.el (vc-annotate-display): Replace optional arg `color-map' with
20 compulsory arg `ratio'. Inline body of vc-annotate-time-span.
21 (vc-annotate-display-autoscale): Adjust call.
22 (vc-annotate-display-default): Adjust call. Make arg compulsory.
23 Fix interactive spec.
24 (vc-annotate-time-span): Remove.
25 (vc-annotate-oldest-in-map): Rename from vc-annotate-car-last-cons.
26 (vc-annotate-mode-menu, vc-annotate-display-autoscale)
27 (vc-annotate-display-select): Use new name.
28
29 * vc.el (vc-annotate-mode-map): Remove obsolete binding.
30 (vc-annotate-mode-menu): Remove left-over redundant declaration.
31 Correct the construction of span entries. Simplify.
32 (vc-annotate-display-select): Fix the nil case.
33 (vc-annotate): Remove obsolete (and now broken) code.
34 (vc-annotate-extract-revision-at-line): Remove obsolete code.
35 (vc-annotate-time-span): Remove unused arg `quantize'. Simplify.
36
372005-12-28 Luc Teirlinck <teirllm@auburn.edu>
38
39 * subr.el (lazy-completion-table): Correct typo in docstring.
40
41 * startup.el (command-line): Use `custom-reevaluate-setting' for
42 `send-mail-function'.
43
44 * mail/sendmail.el (send-mail-function): Autoload the standard-value.
45
462005-12-05 Ralf Angeli <angeli@iwi.uni-sb.de>
47
48 * mail/smtpmail.el (smtpmail-try-auth-methods):
49 Send credentials together with "AUTH PLAIN" command.
50
512005-12-27 Richard M. Stallman <rms@gnu.org>
52
53 * mouse.el (mouse-drag-region-1): When remapping mouse-1 to
54 mouse-2, go back to previously selected window, so it's selected
55 when mouse-2 command runs.
56
572005-12-27 Juri Linkov <juri@jurta.org>
58
59 * descr-text.el (describe-text-sexp): Use square brackets for
60 button [Show] to distinguish it from the property value `show'.
61 (describe-property-list): Use `insert-text-button' with
62 `help-face' type instead of putting face in quotes, because button
63 is not created automatically for a list of faces.
64 (describe-text-properties-1): Put button-type value in quotes to
65 distinguish from plain text "button".
66 (describe-char): Display code point values in hex. Don't use
67 `symbol-name' for `current-input-method' because it is a string.
68 Use `insert-text-button' with `help-face' type instead of putting
69 hardcoded face in quotes, because button is not created automatically.
70
712005-12-27 Richard M. Stallman <rms@gnu.org>
72
73 * progmodes/glasses.el (glasses-face): More specific custom type.
74
75 * files.el (set-visited-file-name): Doc fix.
76
77 * textmodes/flyspell.el (flyspell-external-point-words):
78 Use local var buffer-scan-pos to advance scan for next misspelling.
79 Advance it only after we find the misspelling.
80
812005-12-27 Agustin Martin <agustin.martin@hispalinux.es>
82
83 * textmodes/flyspell.el (flyspell-external-point-words):
84 New criteria for finding the misspelling in the buffer.
85
862005-12-27 Nick Roberts <nickrob@snap.net.nz>
87
88 * help-mode.el (help-insert-string): Set help-xref-stack-item
89 rather than call help-setup-xref.
90
91 * descr-text.el (describe-char): Revert previous changes for
92 optional buffer argument.
93
942005-12-27 Juri Linkov <juri@jurta.org>
95
96 * help-mode.el (help-insert-string): New function. Save buffer
97 contents in cases where it is impossible to recompute the old contents.
98
99 * descr-text.el (describe-char): Set help-xref-stack-item
100 explicitly after buffer has been generated.
101
1022005-12-27 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
103
104 * cus-start.el (all): Add x-gtk-show-hidden-files.
105
1062005-12-26 Richard M. Stallman <rms@gnu.org>
107
108 * replace.el (perform-replace): Calculate match-again
109 before skipping read-only matches.
110
111 * paren.el (paren-showing-faces): New group.
112 (show-paren-match, show-paren-mismatch): Move to that group.
113
114 * button.el (button): Put into group `basic-faces'.
115
116 * progmodes/make-mode.el: Remove faces from group `faces'.
117
118 * apropos.el (apropos, apropos-value): Doc fix.
119 (apropos-documentation): Doc fix.
120
1212005-12-26 Stefan Monnier <monnier@iro.umontreal.ca>
122
123 * subr.el (lazy-completion-table): Remove argument `args'.
124
125 * textmodes/bibtex.el (bibtex-strings, bibtex-reference-keys):
126 Don't use the `args' argument of lazy-completion-table.
127
1282005-12-26 Nick Roberts <nickrob@snap.net.nz>
129
130 * descr-text.el (describe-char): Add optional argument for buffer.
131 Set buffer appropriately. Call help-setup-xref.
132 Suggested by Stefan Monnier.
133
1342005-12-26 Juri Linkov <juri@jurta.org>
135
136 * descr-text.el: Require `help-fns' at runtime. Don't require
137 `button' for byte compilation.
138 (describe-text-widget): Add `help-echo' for first button.
139 Use `help-info' for second.
140 (describe-property-list): Use `help-argument-name' instead of `italic'.
141 (describe-text-category): Add prompt to interactive spec.
142 Call `help-setup-xref'.
143 (describe-char): Use `help-character-set'. Add `help-echo' for
144 code point. Use `help-input-method'. Remove superfluous insert.
145
12005-12-25 Richard M. Stallman <rms@gnu.org> 1462005-12-25 Richard M. Stallman <rms@gnu.org>
2 147
148 * progmodes/cc-defs.el (c-emacs-features): Do parse-partial-sexp
149 at point, in case of narrowing.
150
3 * progmodes/delphi.el (delphi-other-face): Allow nil in type. 151 * progmodes/delphi.el (delphi-other-face): Allow nil in type.
4 152
5 * locate.el (locate-header-face): Allow nil in type. 153 * locate.el (locate-header-face): Allow nil in type.
@@ -15,16 +163,16 @@
15 163
16 * custom.el (custom-push-theme): Fix docstring. 164 * custom.el (custom-push-theme): Fix docstring.
17 165
18 * cus-edit.el (custom-variable-set, custom-variable-save, 166 * cus-edit.el (custom-variable-set, custom-variable-save)
19 custom-variable-save): Custom-quote widget values. 167 (custom-variable-save): Custom-quote widget values.
20 (customize-save-variable): Fix custom-push-theme call. 168 (customize-save-variable): Fix custom-push-theme call.
21 169
222005-12-24 Eli Zaretskii <eliz@gnu.org> 1702005-12-24 Eli Zaretskii <eliz@gnu.org>
23 171
24 * w32-fns.el (w32-batch-update-autoloads): New function. 172 * w32-fns.el (w32-batch-update-autoloads): New function.
25 173
26 * makefile.w32-in (autoloads, $(lisp)/mh-e/mh-loaddefs.el): Use 174 * makefile.w32-in (autoloads, $(lisp)/mh-e/mh-loaddefs.el):
27 w32-batch-update-autoloads, and don't setq generated-autoload-file 175 Use w32-batch-update-autoloads, and don't setq generated-autoload-file
28 from the command line. 176 from the command line.
29 177
302005-12-23 Chong Yidong <cyd@stupidchicken.com> 1782005-12-23 Chong Yidong <cyd@stupidchicken.com>
@@ -37,15 +185,15 @@
37 customization" button one line up. 185 customization" button one line up.
38 (custom-themed): New face. 186 (custom-themed): New face.
39 (custom-magic-alist): New value, THEMED, for theme settings. 187 (custom-magic-alist): New value, THEMED, for theme settings.
40 (custom-variable-state-set, custom-face-state-set): Check 188 (custom-variable-state-set, custom-face-state-set):
41 theme-value instead of saved-value. 189 Check theme-value instead of saved-value.
42 (custom-variable-reset-standard, custom-face-reset-standard): 190 (custom-variable-reset-standard, custom-face-reset-standard):
43 Remove theme setting entirely. Recalculate new values. 191 Remove theme setting entirely. Recalculate new values.
44 (custom-variable-set, custom-variable-set) 192 (custom-variable-set, custom-variable-set)
45 (custom-variable-reset-saved, custom-variable-reset-backup) 193 (custom-variable-reset-saved, custom-variable-reset-backup)
46 (custom-face-set, custom-face-reset-saved): Update `user' theme. 194 (custom-face-set, custom-face-reset-saved): Update `user' theme.
47 (custom-variable-save): Fix typos. 195 (custom-variable-save): Fix typos.
48 196
492005-12-23 Juri Linkov <juri@jurta.org> 1972005-12-23 Juri Linkov <juri@jurta.org>
50 198
51 * emacs-lisp/edebug.el (edebug-all-defs, edebug-all-forms): 199 * emacs-lisp/edebug.el (edebug-all-defs, edebug-all-forms):
@@ -1384,7 +1532,7 @@
1384 5D.1 and 5D.2 removed since they aren't trigged anymore (case 5B.1 1532 5D.1 and 5D.2 removed since they aren't trigged anymore (case 5B.1
1385 covers all cases now). 1533 covers all cases now).
1386 1534
1387 * progmodes/cc-defs.el (c-point): Added 'bosws and 'eosws. 1535 * progmodes/cc-defs.el (c-point): Added `bosws' and `eosws'.
1388 1536
13892005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 15372005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
1390 1538
@@ -1454,7 +1602,7 @@
1454 * progmodes/cc-engine.el, cc-fonts.el (c-forward-keyword-clause): 1602 * progmodes/cc-engine.el, cc-fonts.el (c-forward-keyword-clause):
1455 Specify which submatch to use. 1603 Specify which submatch to use.
1456 1604
1457 * progmodes/cc-langs.el (c-symbol-start): Include '@' in ObjC. 1605 * progmodes/cc-langs.el (c-symbol-start): Include `@' in ObjC.
1458 1606
1459 (c-decl-start-re): No no longer any need for special treatment of 1607 (c-decl-start-re): No no longer any need for special treatment of
1460 ObjC due to the above. 1608 ObjC due to the above.
@@ -1653,7 +1801,7 @@
1653 1801
1654 (c-decl-start-re): New language variable to make 1802 (c-decl-start-re): New language variable to make
1655 `c-font-lock-declarations' stop for the special protection labels 1803 `c-font-lock-declarations' stop for the special protection labels
1656 in Objective-C that start with '@'. 1804 in Objective-C that start with `@'.
1657 1805
1658 (c-label-key): Removed since it's no longer used. 1806 (c-label-key): Removed since it's no longer used.
1659 1807
@@ -1843,7 +1991,7 @@
1843 has now taken the place of this function. 1991 has now taken the place of this function.
1844 1992
1845 * progmodes/cc-vars.el (c-emacs-features): Removed compatibility 1993 * progmodes/cc-vars.el (c-emacs-features): Removed compatibility
1846 with older emacsen: We now require 'pps-extended-state. 1994 with older emacsen: We now require `pps-extended-state'.
1847 1995
18482005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org> 19962005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
1849 1997
@@ -2020,21 +2168,21 @@
2020 (cua-rectangle-modifier-key): ... this. New defcustom. Can now 2168 (cua-rectangle-modifier-key): ... this. New defcustom. Can now
2021 select either meta, hyper, or super modifier for rectangle commands. 2169 select either meta, hyper, or super modifier for rectangle commands.
2022 (cua--rectangle-modifier-key): New defvar. 2170 (cua--rectangle-modifier-key): New defvar.
2023 (cua--M/H-key): Use it. Remove special case for 'space. 2171 (cua--M/H-key): Use it. Remove special case for `space'.
2024 (cua--init-keymaps): Initialize it from cua-rectangle-modifier-key 2172 (cua--init-keymaps): Initialize it from cua-rectangle-modifier-key
2025 on X, to meta otherwise. Always bind C-return to toggle 2173 on X, to meta otherwise. Always bind C-return to toggle
2026 rectangle. Pass ?\s instead of 'space to cua--M/H-key. 2174 rectangle. Pass ?\s instead of `space' to cua--M/H-key.
2027 2175
2028 * emulation/cua-rect.el (cua-help-for-rectangle): Use 2176 * emulation/cua-rect.el (cua-help-for-rectangle): Use
2029 cua--rectangle-modifier-key. Handle super modifier too. 2177 cua--rectangle-modifier-key. Handle super modifier too.
2030 (cua--init-rectangles): Always bind C-return to toggle rectangle. 2178 (cua--init-rectangles): Always bind C-return to toggle rectangle.
2031 Pass ?\s instead of 'space to cua--M/H-key and cua--rect-M/H-key. 2179 Pass ?\s instead of `space' to cua--M/H-key and cua--rect-M/H-key.
2032 2180
2033 * ido.el: Move Acknowledgements and History after Commentary. 2181 * ido.el: Move Acknowledgements and History after Commentary.
2034 Minor changes to Commentary. 2182 Minor changes to Commentary.
2035 2183
2036 * emulation/cua-base.el (cua--select-keymaps): Enable repeat 2184 * emulation/cua-base.el (cua--select-keymaps): Enable repeat
2037 keymap if cua--prefix-override-timer equals 'shift. 2185 keymap if cua--prefix-override-timer is `shift'.
2038 (cua--shift-control-prefix): New function; emulate "type prefix 2186 (cua--shift-control-prefix): New function; emulate "type prefix
2039 key twice" functionality to handle shifted prefix key override. 2187 key twice" functionality to handle shifted prefix key override.
2040 (cua--shift-control-c-prefix, cua--shift-control-x-prefix): New 2188 (cua--shift-control-c-prefix, cua--shift-control-x-prefix): New
@@ -2330,7 +2478,7 @@
2330 2478
23312005-12-02 Ken Manheimer <ken.manheimer@gmail.com> 24792005-12-02 Ken Manheimer <ken.manheimer@gmail.com>
2332 2480
2333 * allout.el:(eval-when-compile): Remove unnecessary load of 'cl. 2481 * allout.el:(eval-when-compile): Remove unnecessary load of cl.
2334 Add fset of allout-real-isearch-abort during compile to fix 2482 Add fset of allout-real-isearch-abort during compile to fix
2335 byte-compilation warnings. 2483 byte-compilation warnings.
2336 (allout-mode-p): Move definition of this macro above all uses, or 2484 (allout-mode-p): Move definition of this macro above all uses, or
@@ -3467,7 +3615,7 @@
3467 * jka-cmpr-hook.el (jka-compr-install): Use push and dolist. 3615 * jka-cmpr-hook.el (jka-compr-install): Use push and dolist.
3468 Add jka-compr-load-suffixes to load-suffixes. 3616 Add jka-compr-load-suffixes to load-suffixes.
3469 3617
3470 * jka-compr.el: Require 'jka-cmpr-hook. 3618 * jka-compr.el: Require jka-cmpr-hook.
3471 (jka-compr-info-compress-message, jka-compr-info-compress-program) 3619 (jka-compr-info-compress-message, jka-compr-info-compress-program)
3472 (jka-compr-info-compress-args, jka-compr-info-uncompress-message) 3620 (jka-compr-info-compress-args, jka-compr-info-uncompress-message)
3473 (jka-compr-info-uncompress-program, jka-compr-info-uncompress-args) 3621 (jka-compr-info-uncompress-program, jka-compr-info-uncompress-args)
@@ -3650,7 +3798,7 @@
3650 * pgg-pgp.el (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region) 3798 * pgg-pgp.el (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region)
3651 (pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric) 3799 (pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
3652 (pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt) 3800 (pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
3653 (pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase' 3801 (pgg-pgp-sign-region, pgg-pgp-sign): Add optional PASSPHRASE
3654 argument to all these routines, so the passphrase can be managed 3802 argument to all these routines, so the passphrase can be managed
3655 externally and passed in to the system. 3803 externally and passed in to the system.
3656 (pgg-pgp-decrypt-region, pgg-pgp-sign-region): Use new name for 3804 (pgg-pgp-decrypt-region, pgg-pgp-sign-region): Use new name for
@@ -3659,7 +3807,7 @@
3659 * pgg-pgp5.el (pgg-pgp5-encrypt-region, pgg-pgp5-decrypt-region) 3807 * pgg-pgp5.el (pgg-pgp5-encrypt-region, pgg-pgp5-decrypt-region)
3660 (pgg-pgp5-encrypt-symmetric-region, pgg-pgp5-encrypt-symmetric) 3808 (pgg-pgp5-encrypt-symmetric-region, pgg-pgp5-encrypt-symmetric)
3661 (pgg-pgp5-encrypt, pgg-pgp5-decrypt-region, pgg-pgp5-decrypt) 3809 (pgg-pgp5-encrypt, pgg-pgp5-decrypt-region, pgg-pgp5-decrypt)
3662 (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional 'passphrase' 3810 (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional PASSPHRASE
3663 argument to all these routines, so the passphrase can be managed 3811 argument to all these routines, so the passphrase can be managed
3664 externally and passed in to the system. 3812 externally and passed in to the system.
3665 (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache 3813 (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache
@@ -3843,7 +3991,7 @@
3843 Change defvar to defcustom. 3991 Change defvar to defcustom.
3844 (rcirc-update-prompt): Add optional ALL arg, which will update 3992 (rcirc-update-prompt): Add optional ALL arg, which will update
3845 prompts in all rcirc buffers. Regexp quote replacement text. 3993 prompts in all rcirc buffers. Regexp quote replacement text.
3846 (rcirc-fill-column): Accept 'frame-width as a value. 3994 (rcirc-fill-column): Accept frame-width as a value.
3847 (rcirc-set-changed): Add function. 3995 (rcirc-set-changed): Add function.
3848 (rcirc-next-active-buffer): Write more meaningful messages. 3996 (rcirc-next-active-buffer): Write more meaningful messages.
3849 (rcirc-faces): Add customization group. 3997 (rcirc-faces): Add customization group.
@@ -3854,7 +4002,7 @@
3854 (rcirc-debug-buffer): Rename from `rcirc-log-buffer'. 4002 (rcirc-debug-buffer): Rename from `rcirc-log-buffer'.
3855 (rcirc-debug-flag): Rename from `rcirc-log-p'. 4003 (rcirc-debug-flag): Rename from `rcirc-log-p'.
3856 (rcirc-debug): Rename from `rcirc-log'. 4004 (rcirc-debug): Rename from `rcirc-log'.
3857 (rcirc-format-response-string): Do not print '-' chars for a 4005 (rcirc-format-response-string): Do not print `-' chars for a
3858 NOTICE with no sender. Simplify output of server responses. 4006 NOTICE with no sender. Simplify output of server responses.
3859 4007
38602005-11-04 Henrik Enberg <henrik.enberg@telia.com> 40082005-11-04 Henrik Enberg <henrik.enberg@telia.com>
@@ -3872,7 +4020,7 @@
3872 * pgg-pgp.el (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region) 4020 * pgg-pgp.el (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region)
3873 (pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric) 4021 (pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
3874 (pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt) 4022 (pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
3875 (pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase' 4023 (pgg-pgp-sign-region, pgg-pgp-sign): Add optional PASSPHRASE
3876 argument to all these routines, so the passphrase can be managed 4024 argument to all these routines, so the passphrase can be managed
3877 externally and passed in to the system. 4025 externally and passed in to the system.
3878 (pgg-pgp-decrypt-region, pgg-pgp-sign-region): Use new name for 4026 (pgg-pgp-decrypt-region, pgg-pgp-sign-region): Use new name for
@@ -3881,7 +4029,7 @@
3881 * pgg-pgp5.el (pgg-pgp5-encrypt-region, pgg-pgp5-decrypt-region) 4029 * pgg-pgp5.el (pgg-pgp5-encrypt-region, pgg-pgp5-decrypt-region)
3882 (pgg-pgp5-encrypt-symmetric-region, pgg-pgp5-encrypt-symmetric) 4030 (pgg-pgp5-encrypt-symmetric-region, pgg-pgp5-encrypt-symmetric)
3883 (pgg-pgp5-encrypt, pgg-pgp5-decrypt-region, pgg-pgp5-decrypt) 4031 (pgg-pgp5-encrypt, pgg-pgp5-decrypt-region, pgg-pgp5-decrypt)
3884 (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional 'passphrase' 4032 (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional PASSPHRASE
3885 argument to all these routines, so the passphrase can be managed 4033 argument to all these routines, so the passphrase can be managed
3886 externally and passed in to the system. 4034 externally and passed in to the system.
3887 (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache 4035 (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache
@@ -3896,7 +4044,7 @@
3896 4044
3897 * textmodes/org.el (org-read-date, org-goto-calendar) 4045 * textmodes/org.el (org-read-date, org-goto-calendar)
3898 (org-recenter-calendar, org-agenda-goto-calendar): 4046 (org-recenter-calendar, org-agenda-goto-calendar):
3899 Temporarily clear 'calendar-move-hook'. 4047 Temporarily clear `calendar-move-hook'.
3900 4048
39012005-11-04 Michael Kifer <kifer@cs.stonybrook.edu> 40492005-11-04 Michael Kifer <kifer@cs.stonybrook.edu>
3902 4050
@@ -4257,7 +4405,7 @@
4257 key. Also, added a note pointing out fact that the prompt only 4405 key. Also, added a note pointing out fact that the prompt only
4258 indicates the first matching key. 4406 indicates the first matching key.
4259 4407
4260 * pgg.el (pgg-decrypt): Passing along 'passphrase' in call to 4408 * pgg.el (pgg-decrypt): Passing along PASSPHRASE in call to
4261 pgg-decrypt-region. 4409 pgg-decrypt-region.
4262 (pgg-pending-timers): A new hash for tracking the passphrase cache 4410 (pgg-pending-timers): A new hash for tracking the passphrase cache
4263 timers, so that new ones supercede old ones. 4411 timers, so that new ones supercede old ones.
@@ -4287,14 +4435,14 @@
4287 and then passed in to the system. 4435 and then passed in to the system.
4288 4436
4289 * pgg.el (pgg-read-passphrase, pgg-add-passphrase-cache) 4437 * pgg.el (pgg-read-passphrase, pgg-add-passphrase-cache)
4290 (pgg-remove-passphrase-cache): Add optional 'notruncate' argument, 4438 (pgg-remove-passphrase-cache): Add optional NOTRUNCATE argument,
4291 so the passphrase cache can be used reliably with identifiers 4439 so the passphrase cache can be used reliably with identifiers
4292 besides a pgp packet's key id. 4440 besides a pgp packet's key id.
4293 4441
4294 * pgg-gpg.el (pgg-pgp-encrypt-region) 4442 * pgg-gpg.el (pgg-pgp-encrypt-region)
4295 (pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric) 4443 (pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
4296 (pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt) 4444 (pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
4297 (pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase' 4445 (pgg-pgp-sign-region, pgg-pgp-sign): Add optional PASSPHRASE
4298 argument to all these routines, so the passphrase can be managed 4446 argument to all these routines, so the passphrase can be managed
4299 externally and passed in to the system. 4447 externally and passed in to the system.
4300 4448
@@ -4343,7 +4491,7 @@
4343 key. Also, added a note pointing out fact that the prompt only 4491 key. Also, added a note pointing out fact that the prompt only
4344 indicates the first matching key. 4492 indicates the first matching key.
4345 4493
4346 * pgg.el (pgg-decrypt): Passing along 'passphrase' in call to 4494 * pgg.el (pgg-decrypt): Passing along PASSPHRASE in call to
4347 pgg-decrypt-region. 4495 pgg-decrypt-region.
4348 (pgg-pending-timers): A new hash for tracking the passphrase cache 4496 (pgg-pending-timers): A new hash for tracking the passphrase cache
4349 timers, so that new ones supercede old ones. 4497 timers, so that new ones supercede old ones.
@@ -4375,14 +4523,14 @@
4375 and then passed in to the system. 4523 and then passed in to the system.
4376 4524
4377 * pgg.el (pgg-read-passphrase, pgg-add-passphrase-cache) 4525 * pgg.el (pgg-read-passphrase, pgg-add-passphrase-cache)
4378 (pgg-remove-passphrase-cache): Add optional 'notruncate' argument, 4526 (pgg-remove-passphrase-cache): Add optional NOTRUNCATE argument,
4379 so the passphrase cache can be used reliably with identifiers 4527 so the passphrase cache can be used reliably with identifiers
4380 besides a pgp packet's key id. 4528 besides a pgp packet's key id.
4381 4529
4382 * pgg-gpg.el (pgg-pgp-encrypt-region) 4530 * pgg-gpg.el (pgg-pgp-encrypt-region)
4383 (pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric) 4531 (pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
4384 (pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt) 4532 (pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
4385 (pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase' 4533 (pgg-pgp-sign-region, pgg-pgp-sign): Add optional PASSPHRASE
4386 argument to all these routines, so the passphrase can be managed 4534 argument to all these routines, so the passphrase can be managed
4387 externally and passed in to the system. 4535 externally and passed in to the system.
4388 4536
@@ -5020,7 +5168,7 @@
5020 * allout.el: Add autoloads of crypt++ and mailcrypt routines, all 5168 * allout.el: Add autoloads of crypt++ and mailcrypt routines, all
5021 for encryption functionality. 5169 for encryption functionality.
5022 Move allout customization subgroup from `editing' to `outlines' group. 5170 Move allout customization subgroup from `editing' to `outlines' group.
5023 Fix commentary 'keywords' to legitimate ones. 5171 Fix commentary keywords to legitimate ones.
5024 Update author info (using my current email address, obscurified). 5172 Update author info (using my current email address, obscurified).
5025 (allout-encrypt-string, allout-encryption-produce-work-buffer) 5173 (allout-encrypt-string, allout-encryption-produce-work-buffer)
5026 (allout-encrypted-topic-p, allout-encrypted-text-type) 5174 (allout-encrypted-topic-p, allout-encrypted-text-type)
@@ -5061,9 +5209,9 @@
5061 any universal argument provokes now prompt for bullet, defaulting 5209 any universal argument provokes now prompt for bullet, defaulting
5062 to the bullet of the previous topic. 5210 to the bullet of the previous topic.
5063 (allout-plain-bullets-string, allout-distinctive-bullets-string): 5211 (allout-plain-bullets-string, allout-distinctive-bullets-string):
5064 Plain bullet alternates '.' period and ',' comma only. All other 5212 Plain bullet alternates `.' period and `,' comma only. All other
5065 bullets are relegated to special status (but customizable). 5213 bullets are relegated to special status (but customizable).
5066 (allout-end-of-entry): Rename from 'allout-end-of-current-entry 5214 (allout-end-of-entry): Rename from allout-end-of-current-entry
5067 since it actually operates w.r.t. most immediately containing 5215 since it actually operates w.r.t. most immediately containing
5068 entry, visible or not. 5216 entry, visible or not.
5069 (allout-hide-current-entry, allout-show-current-entry): Use the 5217 (allout-hide-current-entry, allout-show-current-entry): Use the
@@ -5084,8 +5232,8 @@
5084 (allout-isearch-rectification): Refine condition for isearching. 5232 (allout-isearch-rectification): Refine condition for isearching.
5085 (allout-isearch-abort, allout-enwrap-isearch) 5233 (allout-isearch-abort, allout-enwrap-isearch)
5086 (allout-flag-region, my-region-active-p): Relocate some macros. 5234 (allout-flag-region, my-region-active-p): Relocate some macros.
5087 (allout-title): Fallback title is '(buffer-name)', not 5235 (allout-title): Fallback title is (buffer-name), not
5088 non-existing '(current-buffer-name)'. 5236 non-existing (current-buffer-name).
5089 (subst-char-in-string): Define if absent (for some XEmacs versions). 5237 (subst-char-in-string): Define if absent (for some XEmacs versions).
5090 5238
50912005-10-20 Jari Aalto <jari.aalto@cante.net> 52392005-10-20 Jari Aalto <jari.aalto@cante.net>
@@ -5600,10 +5748,10 @@
5600 (math-super-types): Add sqmatrix type. 5748 (math-super-types): Add sqmatrix type.
5601 5749
5602 * calc/calc-mode.el (calc-matrix-mode, math-get-modes-vec): Change the 5750 * calc/calc-mode.el (calc-matrix-mode, math-get-modes-vec): Change the
5603 mode name `square' to 'sqmatrix'. 5751 mode name `square' to `sqmatrix'.
5604 5752
5605 * calc/calc.el (calc-matrix-mode, calc-set-mode-line): Change the 5753 * calc/calc.el (calc-matrix-mode, calc-set-mode-line): Change the
5606 mode name `square' to 'sqmatrix'. 5754 mode name `square' to `sqmatrix'.
5607 5755
56082005-10-10 Stefan Monnier <monnier@iro.umontreal.ca> 57562005-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
5609 5757
@@ -7193,7 +7341,7 @@
7193 (vhdl-trailer-re): Add "record" keyword (better indentation). 7341 (vhdl-trailer-re): Add "record" keyword (better indentation).
7194 (vhdl-fixup-whitespace-region): "[^ \t\"-]+" instead of 7342 (vhdl-fixup-whitespace-region): "[^ \t\"-]+" instead of
7195 "[^ \t-\"]+". 7343 "[^ \t-\"]+".
7196 (vhdl-font-lock-keywords-2): Not highlight formal parameter after '|'. 7344 (vhdl-font-lock-keywords-2): Not highlight formal parameter after `|'.
7197 (vhdl-testbench-entity-file-name) 7345 (vhdl-testbench-entity-file-name)
7198 (vhdl-testbench-architecture-file-name): Allow separate 7346 (vhdl-testbench-architecture-file-name): Allow separate
7199 customization of testbench file names. 7347 customization of testbench file names.
@@ -7803,8 +7951,8 @@
7803 * subr.el (insert-for-yank-1): Doc fix. 7951 * subr.el (insert-for-yank-1): Doc fix.
7804 7952
7805 * ido.el (ido-enter-matching-directory): Rename from 7953 * ido.el (ido-enter-matching-directory): Rename from
7806 ido-enter-single-matching-directory. Change 'slash choice to 7954 ido-enter-single-matching-directory. Change `slash' choice to
7807 'only. Add 'first choice. 7955 `only'. Add `first' choice.
7808 (ido-exhibit): Adapt to above changes. 7956 (ido-exhibit): Adapt to above changes.
7809 7957
78102005-08-16 Luc Teirlinck <teirllm@auburn.edu> 79582005-08-16 Luc Teirlinck <teirllm@auburn.edu>
@@ -12064,7 +12212,7 @@
12064 included diary buffer if it was not already being visited. 12212 included diary buffer if it was not already being visited.
12065 Reported by Stephen Berman <Stephen.Berman@gmx.net>. 12213 Reported by Stephen Berman <Stephen.Berman@gmx.net>.
12066 12214
12067 * calendar/icalendar.el (top-level): Do not require 'appt. 12215 * calendar/icalendar.el (top-level): Do not require appt.
12068 12216
12069 * mail/supercite.el (sc-select-attribution): Only use a list 12217 * mail/supercite.el (sc-select-attribution): Only use a list
12070 element from sc-attrib-selection-list if it returns a string. 12218 element from sc-attrib-selection-list if it returns a string.
@@ -15371,7 +15519,7 @@
15371 15519
15372 * calendar/cal-x.el (calendar-one-frame-setup) 15520 * calendar/cal-x.el (calendar-one-frame-setup)
15373 (calendar-only-one-frame-setup, calendar-two-frame-setup): Use t 15521 (calendar-only-one-frame-setup, calendar-two-frame-setup): Use t
15374 rather than 'symbol for set-window-dedicated-p. 15522 rather than `symbol' for set-window-dedicated-p.
15375 15523
15376 * calendar/appt.el (appt-buffer-name): Make it a constant. 15524 * calendar/appt.el (appt-buffer-name): Make it a constant.
15377 (appt-add): Doc fix. 15525 (appt-add): Doc fix.
@@ -18000,10 +18148,10 @@
18000 (reftex-index-region-phrases): Add slave parameter to call of 18148 (reftex-index-region-phrases): Add slave parameter to call of
18001 `reftex-index-this-phrase'. 18149 `reftex-index-this-phrase'.
18002 (reftex-display-index): New argument redo. 18150 (reftex-display-index): New argument redo.
18003 (reftex-index-rescan): Add 'redo to arguments of 18151 (reftex-index-rescan): Add `redo' to arguments of
18004 `reftex-display-index'. 18152 `reftex-display-index'.
18005 (reftex-index-Rescan, reftex-index-revert) 18153 (reftex-index-Rescan, reftex-index-revert)
18006 (reftex-index-switch-index-tag): Add 'redo to arguments of 18154 (reftex-index-switch-index-tag): Add `redo' to arguments of
18007 `reftex-display-index'. 18155 `reftex-display-index'.
18008 (reftex-index-make-phrase-regexp): Fix bug with case-sensitive 18156 (reftex-index-make-phrase-regexp): Fix bug with case-sensitive
18009 indexing. Fix bug with matching is there is a quote before or 18157 indexing. Fix bug with matching is there is a quote before or
@@ -18070,8 +18218,8 @@
18070 18218
18071 * xt-mouse.el (xterm-mouse-translate, xterm-mouse-event): 18219 * xt-mouse.el (xterm-mouse-translate, xterm-mouse-event):
18072 Enable mouse clicks on mode-line, header-line and margin. 18220 Enable mouse clicks on mode-line, header-line and margin.
18073 (event-type): Give mouse event symbols an 'event-kind property 18221 (event-type): Give mouse event symbols an `event-kind' property
18074 with value 'mouse-click. 18222 with value `mouse-click'.
18075 18223
180762005-01-12 Juri Linkov <juri@jurta.org> 182242005-01-12 Juri Linkov <juri@jurta.org>
18077 18225
diff --git a/lisp/apropos.el b/lisp/apropos.el
index 4e5109c1efb..c8201de492a 100644
--- a/lisp/apropos.el
+++ b/lisp/apropos.el
@@ -502,27 +502,31 @@ while a list of strings is used as a word list."
502 502
503;;;###autoload 503;;;###autoload
504(defun apropos (pattern &optional do-all) 504(defun apropos (pattern &optional do-all)
505 "Show all bound symbols whose names match PATTERN. 505 "Show all meaningful Lisp symbols whose names match PATTERN.
506Symbols are shown if they are defined as functions, variables, or
507faces, or if they have nonempty property lists.
508
506PATTERN can be a word, a list of words (separated by spaces), 509PATTERN can be a word, a list of words (separated by spaces),
507or a regexp (using some regexp special characters). If it is a word, 510or a regexp (using some regexp special characters). If it is a word,
508search for matches for that word as a substring. If it is a list of words, 511search for matches for that word as a substring. If it is a list of words,
509search for matches for any two (or more) of those words. 512search for matches for any two (or more) of those words.
510 513
511With \\[universal-argument] prefix, or if `apropos-do-all' is non-nil, also 514With \\[universal-argument] prefix, or if `apropos-do-all' is non-nil,
512show unbound symbols and key bindings, which is a little more 515consider all symbols (if they match PATTERN).
513time-consuming. Returns list of symbols and documentation found." 516
517Returns list of symbols and documentation found."
514 (interactive (list (apropos-read-pattern "symbol") 518 (interactive (list (apropos-read-pattern "symbol")
515 current-prefix-arg)) 519 current-prefix-arg))
516 (apropos-parse-pattern pattern) 520 (apropos-parse-pattern pattern)
517 (apropos-symbols-internal 521 (apropos-symbols-internal
518 (apropos-internal apropos-regexp 522 (apropos-internal apropos-regexp
519 (and (not do-all) 523 (and (not do-all)
520 (not apropos-do-all) 524 (not apropos-do-all)
521 (lambda (symbol) 525 (lambda (symbol)
522 (or (fboundp symbol) 526 (or (fboundp symbol)
523 (boundp symbol) 527 (boundp symbol)
524 (facep symbol) 528 (facep symbol)
525 (symbol-plist symbol))))) 529 (symbol-plist symbol)))))
526 (or do-all apropos-do-all))) 530 (or do-all apropos-do-all)))
527 531
528(defun apropos-symbols-internal (symbols keys &optional text) 532(defun apropos-symbols-internal (symbols keys &optional text)
@@ -571,7 +575,7 @@ time-consuming. Returns list of symbols and documentation found."
571 575
572;;;###autoload 576;;;###autoload
573(defun apropos-value (pattern &optional do-all) 577(defun apropos-value (pattern &optional do-all)
574 "Show all symbols whose value's printed image matches PATTERN. 578 "Show all symbols whose value's printed representation matches PATTERN.
575PATTERN can be a word, a list of words (separated by spaces), 579PATTERN can be a word, a list of words (separated by spaces),
576or a regexp (using some regexp special characters). If it is a word, 580or a regexp (using some regexp special characters). If it is a word,
577search for matches for that word as a substring. If it is a list of words, 581search for matches for that word as a substring. If it is a list of words,
@@ -616,7 +620,7 @@ Returns list of symbols and values found."
616 620
617;;;###autoload 621;;;###autoload
618(defun apropos-documentation (pattern &optional do-all) 622(defun apropos-documentation (pattern &optional do-all)
619 "Show symbols whose documentation contain matches for PATTERN. 623 "Show symbols whose documentation contains matches for PATTERN.
620PATTERN can be a word, a list of words (separated by spaces), 624PATTERN can be a word, a list of words (separated by spaces),
621or a regexp (using some regexp special characters). If it is a word, 625or a regexp (using some regexp special characters). If it is a word,
622search for matches for that word as a substring. If it is a list of words, 626search for matches for that word as a substring. If it is a list of words,
diff --git a/lisp/button.el b/lisp/button.el
index 375182dd36b..d50452fc97a 100644
--- a/lisp/button.el
+++ b/lisp/button.el
@@ -55,7 +55,7 @@
55 (:foreground "lightblue")) 55 (:foreground "lightblue"))
56 (t :underline t)) 56 (t :underline t))
57 "Default face used for buttons." 57 "Default face used for buttons."
58 :group 'faces) 58 :group 'basic-faces)
59 59
60;;;###autoload 60;;;###autoload
61(defvar button-map 61(defvar button-map
diff --git a/lisp/cus-start.el b/lisp/cus-start.el
index 991ff24058a..a851d32d296 100644
--- a/lisp/cus-start.el
+++ b/lisp/cus-start.el
@@ -356,6 +356,7 @@ since it could result in memory overflow and make Emacs crash."
356 (x-bitmap-file-path installation 356 (x-bitmap-file-path installation
357 (repeat (directory :format "%v"))) 357 (repeat (directory :format "%v")))
358 (x-use-old-gtk-file-dialog menu boolean "22.1") 358 (x-use-old-gtk-file-dialog menu boolean "22.1")
359 (x-gtk-show-hidden-files menu boolean "22.1")
359 ;; xterm.c 360 ;; xterm.c
360 (mouse-autoselect-window display boolean "21.3") 361 (mouse-autoselect-window display boolean "21.3")
361 (x-use-underline-position-properties display boolean "21.3") 362 (x-use-underline-position-properties display boolean "21.3")
diff --git a/lisp/descr-text.el b/lisp/descr-text.el
index 76d6ae6be09..550268ac1d9 100644
--- a/lisp/descr-text.el
+++ b/lisp/descr-text.el
@@ -30,7 +30,8 @@
30 30
31;;; Code: 31;;; Code:
32 32
33(eval-when-compile (require 'button) (require 'quail)) 33(eval-when-compile (require 'quail))
34(require 'help-fns)
34 35
35;;; Describe-Text Utilities. 36;;; Describe-Text Utilities.
36 37
@@ -39,11 +40,11 @@
39 (insert-text-button 40 (insert-text-button
40 (symbol-name (if (symbolp widget) widget (car widget))) 41 (symbol-name (if (symbolp widget) widget (car widget)))
41 'action `(lambda (&rest ignore) 42 'action `(lambda (&rest ignore)
42 (widget-browse ',widget))) 43 (widget-browse ',widget))
44 'help-echo "mouse-2, RET: browse this widget")
43 (insert " ") 45 (insert " ")
44 (insert-text-button "(widget)Top" 46 (insert-text-button
45 'action (lambda (&rest ignore) (info "(widget)Top")) 47 "(widget)Top" 'type 'help-info 'help-args '("(widget)Top")))
46 'help-echo "mouse-2, RET: read this Info node"))
47 48
48(defun describe-text-sexp (sexp) 49(defun describe-text-sexp (sexp)
49 "Insert a short description of SEXP in the current buffer." 50 "Insert a short description of SEXP in the current buffer."
@@ -59,7 +60,7 @@
59 (t t)) 60 (t t))
60 (insert pp) 61 (insert pp)
61 (insert-text-button 62 (insert-text-button
62 "show" 'action `(lambda (&rest ignore) 63 "[Show]" 'action `(lambda (&rest ignore)
63 (with-output-to-temp-buffer 64 (with-output-to-temp-buffer
64 "*Pp Eval Output*" 65 "*Pp Eval Output*"
65 (princ ',pp))) 66 (princ ',pp)))
@@ -81,15 +82,17 @@ into help buttons that call `describe-text-category' or
81 (let ((key (nth 0 elt)) 82 (let ((key (nth 0 elt))
82 (value (nth 1 elt))) 83 (value (nth 1 elt)))
83 (insert (propertize (format " %-20s " key) 84 (insert (propertize (format " %-20s " key)
84 'face 'italic)) 85 'face 'help-argument-name))
85 (cond ((eq key 'category) 86 (cond ((eq key 'category)
86 (insert-text-button (symbol-name value) 87 (insert-text-button
87 'action `(lambda (&rest ignore) 88 (symbol-name value)
88 (describe-text-category ',value)) 89 'action `(lambda (&rest ignore)
89 'help-echo 90 (describe-text-category ',value))
90 "mouse-2, RET: describe this category")) 91 'help-echo "mouse-2, RET: describe this category"))
91 ((memq key '(face font-lock-face mouse-face)) 92 ((memq key '(face font-lock-face mouse-face))
92 (insert (concat "`" (format "%S" value) "'"))) 93 (insert-text-button
94 (format "%S" value)
95 'type 'help-face 'help-args (list value)))
93 ((widgetp value) 96 ((widgetp value)
94 (describe-text-widget value)) 97 (describe-text-widget value))
95 (t 98 (t
@@ -100,7 +103,8 @@ into help buttons that call `describe-text-category' or
100 103
101(defun describe-text-category (category) 104(defun describe-text-category (category)
102 "Describe a text property category." 105 "Describe a text property category."
103 (interactive "S") 106 (interactive "SCategory: ")
107 (help-setup-xref (list #'describe-text-category category) (interactive-p))
104 (save-excursion 108 (save-excursion
105 (with-output-to-temp-buffer "*Help*" 109 (with-output-to-temp-buffer "*Help*"
106 (set-buffer standard-output) 110 (set-buffer standard-output)
@@ -159,8 +163,8 @@ otherwise."
159 ;; Buttons 163 ;; Buttons
160 (when (and button (not (widgetp wid-button))) 164 (when (and button (not (widgetp wid-button)))
161 (newline) 165 (newline)
162 (insert "Here is a " (format "%S" button-type) 166 (insert "Here is a `" (format "%S" button-type)
163 " button labeled `" button-label "'.\n\n")) 167 "' button labeled `" button-label "'.\n\n"))
164 ;; Overlays 168 ;; Overlays
165 (when overlays 169 (when overlays
166 (newline) 170 (newline)
@@ -428,13 +432,13 @@ as well as widgets, buttons, overlays, and text properties."
428 (single-key-description char) 432 (single-key-description char)
429 (string-to-multibyte 433 (string-to-multibyte
430 (char-to-string char))))) 434 (char-to-string char)))))
431 (text-props-desc 435 (text-props-desc
432 (let ((tmp-buf (generate-new-buffer " *text-props*"))) 436 (let ((tmp-buf (generate-new-buffer " *text-props*")))
433 (unwind-protect 437 (unwind-protect
434 (progn 438 (progn
435 (describe-text-properties pos tmp-buf) 439 (describe-text-properties pos tmp-buf)
436 (with-current-buffer tmp-buf (buffer-string))) 440 (with-current-buffer tmp-buf (buffer-string)))
437 (kill-buffer tmp-buf)))) 441 (kill-buffer tmp-buf))))
438 item-list max-width unicode) 442 item-list max-width unicode)
439 443
440 (if (or (< char 256) 444 (if (or (< char 256)
@@ -444,36 +448,36 @@ as well as widgets, buttons, overlays, and text properties."
444 (encode-char char 'ucs)))) 448 (encode-char char 'ucs))))
445 (setq item-list 449 (setq item-list
446 `(("character" 450 `(("character"
447 ,(format "%s (%d, #o%o, #x%x%s)" 451 ,(format "%s (%d, #o%o, #x%x%s)"
448 (apply 'propertize char-description 452 (apply 'propertize char-description
449 (text-properties-at pos)) 453 (text-properties-at pos))
450 char char char 454 char char char
451 (if unicode 455 (if unicode
452 (format ", U+%04X" unicode) 456 (format ", U+%04X" unicode)
453 ""))) 457 "")))
454 ("charset" 458 ("charset"
455 ,`(insert-text-button 459 ,`(insert-text-button
456 (symbol-name charset) 460 ,(symbol-name charset)
457 'action `(lambda (&rest ignore) 461 'type 'help-character-set 'help-args '(,charset))
458 (describe-character-set ',charset))
459 'help-echo
460 "mouse-2, RET: describe this character set")
461 ,(format "(%s)" (charset-description charset))) 462 ,(format "(%s)" (charset-description charset)))
462 ("code point" 463 ("code point"
463 ,(let ((split (split-char char))) 464 ,(let ((split (split-char char)))
464 `(insert-text-button ,(if (= (charset-dimension charset) 1) 465 `(insert-text-button
465 (format "%d" (nth 1 split)) 466 ,(if (= (charset-dimension charset) 1)
466 (format "%d %d" (nth 1 split) 467 (format "#x%02X" (nth 1 split))
467 (nth 2 split))) 468 (format "#x%02X #x%02X" (nth 1 split)
468 'action (lambda (&rest ignore) 469 (nth 2 split)))
469 (list-charset-chars ',charset) 470 'action (lambda (&rest ignore)
470 (with-selected-window 471 (list-charset-chars ',charset)
471 (get-buffer-window "*Character List*" 0) 472 (with-selected-window
472 (goto-char (point-min)) 473 (get-buffer-window "*Character List*" 0)
473 (forward-line 2) ;Skip the header. 474 (goto-char (point-min))
474 (let ((case-fold-search nil)) 475 (forward-line 2) ;Skip the header.
475 (search-forward ,(char-to-string char) 476 (let ((case-fold-search nil))
476 nil t))))))) 477 (search-forward ,(char-to-string char)
478 nil t))))
479 'help-echo
480 "mouse-2, RET: show this character in its character set")))
477 ("syntax" 481 ("syntax"
478 ,(let ((syntax (syntax-after pos))) 482 ,(let ((syntax (syntax-after pos)))
479 (with-temp-buffer 483 (with-temp-buffer
@@ -503,10 +507,9 @@ as well as widgets, buttons, overlays, and text properties."
503 key-list " or ") 507 key-list " or ")
504 "with" 508 "with"
505 `(insert-text-button 509 `(insert-text-button
506 (symbol-name current-input-method) 510 ,current-input-method
507 'action (lambda (&rest ignore) 511 'type 'help-input-method
508 (describe-input-method 512 'help-args '(,current-input-method))))))
509 ',current-input-method)))))))
510 ("buffer code" 513 ("buffer code"
511 ,(encoded-string-description 514 ,(encoded-string-description
512 (string-as-unibyte (char-to-string char)) nil)) 515 (string-as-unibyte (char-to-string char)) nil))
@@ -575,8 +578,9 @@ as well as widgets, buttons, overlays, and text properties."
575 ((and (< char 32) (not (memq char '(9 10)))) 578 ((and (< char 32) (not (memq char '(9 10))))
576 'escape-glyph))))) 579 'escape-glyph)))))
577 (if face (list (list "hardcoded face" 580 (if face (list (list "hardcoded face"
578 '(insert 581 `(insert-text-button
579 (concat "`" (symbol-name face) "'")))))) 582 ,(symbol-name face)
583 'type 'help-face 'help-args '(,face))))))
580 ,@(let ((unicodedata (and unicode 584 ,@(let ((unicodedata (and unicode
581 (describe-char-unicode-data unicode)))) 585 (describe-char-unicode-data unicode))))
582 (if unicodedata 586 (if unicodedata
@@ -687,6 +691,7 @@ as well as widgets, buttons, overlays, and text properties."
687 "the meaning of the rule.\n")) 691 "the meaning of the rule.\n"))
688 692
689 (if text-props-desc (insert text-props-desc)) 693 (if text-props-desc (insert text-props-desc))
694 (setq help-xref-stack-item (list 'help-insert-string (buffer-string)))
690 (toggle-read-only 1) 695 (toggle-read-only 1)
691 (print-help-return-message))))) 696 (print-help-return-message)))))
692 697
diff --git a/lisp/files.el b/lisp/files.el
index f886b8e0ad0..8b8a1444ba6 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -2565,8 +2565,9 @@ However, the mode will not be changed if
2565 2565
2566(defun set-visited-file-name (filename &optional no-query along-with-file) 2566(defun set-visited-file-name (filename &optional no-query along-with-file)
2567 "Change name of file visited in current buffer to FILENAME. 2567 "Change name of file visited in current buffer to FILENAME.
2568This also renames the buffer to correspond to the new file.
2568The next time the buffer is saved it will go in the newly specified file. 2569The next time the buffer is saved it will go in the newly specified file.
2569FILENAME nil or an empty string means make buffer not be visiting any file. 2570FILENAME nil or an empty string means mark buffer as not visiting any file.
2570Remember to delete the initial contents of the minibuffer 2571Remember to delete the initial contents of the minibuffer
2571if you wish to pass an empty string as the argument. 2572if you wish to pass an empty string as the argument.
2572 2573
diff --git a/lisp/help-mode.el b/lisp/help-mode.el
index 9941f0604bd..2e5bbb9315b 100644
--- a/lisp/help-mode.el
+++ b/lisp/help-mode.el
@@ -648,6 +648,15 @@ For the cross-reference format, see `help-make-xrefs'."
648 (fboundp sym) (facep sym)) 648 (fboundp sym) (facep sym))
649 (help-do-xref pos #'help-xref-interned (list sym)))))) 649 (help-do-xref pos #'help-xref-interned (list sym))))))
650 650
651(defun help-insert-string (string)
652 "Insert STRING to the help buffer and install xref info for it.
653This function can be used to restore the old contents of the help buffer
654when going back to the previous topic in the xref stack. It is needed
655in case when it is impossible to recompute the old contents of the
656help buffer by other means."
657 (setq help-xref-stack-item (list #'help-insert-string string))
658 (with-output-to-temp-buffer (help-buffer)
659 (insert string)))
651 660
652(provide 'help-mode) 661(provide 'help-mode)
653 662
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el
index 40e678aa130..a03209e5dc9 100644
--- a/lisp/mail/sendmail.el
+++ b/lisp/mail/sendmail.el
@@ -123,6 +123,15 @@ nil means let mailer mail back a message to report errors."
123 :type 'regexp 123 :type 'regexp
124 :group 'sendmail) 124 :group 'sendmail)
125 125
126;; Prevent problems with `window-system' not having the correct value
127;; when loaddefs.el is loaded. `custom-reevaluate-setting' needs the
128;; standard value.
129;;;###autoload
130(put 'send-mail-function 'standard-value
131 '((if (and window-system (memq system-type '(darwin windows-nt)))
132 'mailclient-send-it
133 'sendmail-send-it)))
134
126;; Useful to set in site-init.el 135;; Useful to set in site-init.el
127;;;###autoload 136;;;###autoload
128(defcustom send-mail-function 137(defcustom send-mail-function
diff --git a/lisp/mail/smtpmail.el b/lisp/mail/smtpmail.el
index 0eb956981ce..76598ab8a8d 100644
--- a/lisp/mail/smtpmail.el
+++ b/lisp/mail/smtpmail.el
@@ -560,16 +560,13 @@ This is relative to `smtpmail-queue-dir'.")
560 (>= (car ret) 400)) 560 (>= (car ret) 400))
561 (throw 'done nil))) 561 (throw 'done nil)))
562 ((eq mech 'plain) 562 ((eq mech 'plain)
563 (smtpmail-send-command process "AUTH PLAIN") 563 (smtpmail-send-command process
564 (if (or (null (car (setq ret (smtpmail-read-response process)))) 564 (concat "AUTH PLAIN "
565 (not (integerp (car ret))) 565 (base64-encode-string
566 (not (equal (car ret) 334)))
567 (throw 'done nil))
568 (smtpmail-send-command process (base64-encode-string
569 (concat "\0" 566 (concat "\0"
570 (smtpmail-cred-user cred) 567 (smtpmail-cred-user cred)
571 "\0" 568 "\0"
572 passwd))) 569 passwd))))
573 (if (or (null (car (setq ret (smtpmail-read-response process)))) 570 (if (or (null (car (setq ret (smtpmail-read-response process))))
574 (not (integerp (car ret))) 571 (not (integerp (car ret)))
575 (not (equal (car ret) 235))) 572 (not (equal (car ret) 235)))
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog
index 01ebde5bba3..74fd15a2c19 100644
--- a/lisp/mh-e/ChangeLog
+++ b/lisp/mh-e/ChangeLog
@@ -1,3 +1,17 @@
12005-12-28 Bill Wohler <wohler@newt.com>
2
3 * mh-comp.el (mh-e-user-agent): Move here from simple.el. Use
4 mh-user-agent-compose instead of mh-smail-batch.
5
62005-12-27 Bill Wohler <wohler@newt.com>
7
8 * mh-utils.el (mh-prompt-for-folder): Use can-create argument to
9 suppress creation of folder if it doesn't exist.
10
112005-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
12
13 * mh-utils.el (mh-process-daemon): Don't change buffer in proc-filter.
14
12005-12-23 Bill Wohler <wohler@newt.com> 152005-12-23 Bill Wohler <wohler@newt.com>
2 16
3 * mh-e.el (mh-folders-changed): Fix typo in docstring. 17 * mh-e.el (mh-folders-changed): Fix typo in docstring.
@@ -6,12 +20,12 @@
6 hyperlinks such as symbols, Info nodes, or URLs. Use \" quotes for 20 hyperlinks such as symbols, Info nodes, or URLs. Use \" quotes for
7 everything else. Otherwise, you can accidently get links to 21 everything else. Otherwise, you can accidently get links to
8 nonsense symbols. 22 nonsense symbols.
9 23
102005-12-22 Bill Wohler <wohler@newt.com> 242005-12-22 Bill Wohler <wohler@newt.com>
11 25
12 Follow Emacs coding conventions. Use default setting of 26 Follow Emacs coding conventions. Use default setting of
13 emacs-lisp-docstring-fill-column which is 65. 27 emacs-lisp-docstring-fill-column which is 65.
14 28
15 * mh-alias.el (mh-alias-reload): Sync docstrings with manual. 29 * mh-alias.el (mh-alias-reload): Sync docstrings with manual.
16 30
17 * mh-comp.el (mh-letter-mode): Use 60 column width. 31 * mh-comp.el (mh-letter-mode): Use 60 column width.
@@ -50,8 +64,8 @@
50 (mh-index-data, mh-first-msg-num, mh-last-msg-num) 64 (mh-index-data, mh-first-msg-num, mh-last-msg-num)
51 (mh-mode-line-annotation, mh-sequence-notation-history) 65 (mh-mode-line-annotation, mh-sequence-notation-history)
52 (mh-colors-available-flag): Move comment into docstring. 66 (mh-colors-available-flag): Move comment into docstring.
53 (mh-delete-msg, mh-execute-commands, mh-inc-folder, mh-quit, 67 (mh-delete-msg, mh-execute-commands, mh-inc-folder, mh-quit)
54 mh-process-commands): Sync docstrings with manual. 68 (mh-process-commands): Sync docstrings with manual.
55 (mh-refile-msg): Small doc edit. 69 (mh-refile-msg): Small doc edit.
56 (mh-delete-a-msg, mh-refile-a-msg): Sync docstrings with manual. 70 (mh-delete-a-msg, mh-refile-a-msg): Sync docstrings with manual.
57 Rename msg argument to message. 71 Rename msg argument to message.
@@ -62,7 +76,7 @@
62 `foo-hook' is a list of functions to be called, with no arguments, 76 `foo-hook' is a list of functions to be called, with no arguments,
63 ...," but rather just "The hook foo-hook is called...". 77 ...," but rather just "The hook foo-hook is called...".
64 78
65 * mh-mime.el (mh-mh-to-mime): Ditto 79 * mh-mime.el (mh-mh-to-mime): Ditto.
66 80
67 * mh-pick.el (mh-pick-mode): Ditto. 81 * mh-pick.el (mh-pick-mode): Ditto.
68 82
@@ -73,13 +87,15 @@
73 (mh-show-mode, mh-show-msg, mh-find-path): Sync docstrings with 87 (mh-show-mode, mh-show-msg, mh-find-path): Sync docstrings with
74 manual. 88 manual.
75 89
762005-12-19 Stephen Gildea 902005-12-19 Stephen Gildea <gildea@stop.mail-abuse.org>
77 91
78 * mh-customize.el (mh-after-commands-processed-hook): New variable. 92 * mh-customize.el (mh-after-commands-processed-hook): New
79 (mh-before-commands-processed-hook): mh-folder-updated-hook, renamed. 93 variable.
94 (mh-before-commands-processed-hook): Rename
95 mh-folder-updated-hook.
80 96
81 * mh-e.el (mh-process-commands): Rename mh-folder-updated-hook 97 * mh-e.el (mh-process-commands): Rename mh-folder-updated-hook to
82 to mh-before-commands-processed-hook, call new 98 mh-before-commands-processed-hook, call new
83 mh-after-commands-processed-hook. 99 mh-after-commands-processed-hook.
84 (mh-folders-changed): New variable (for use in 100 (mh-folders-changed): New variable (for use in
85 mh-after-commands-processed-hook). 101 mh-after-commands-processed-hook).
@@ -125,8 +141,8 @@
125 to nil. Sync docstrings with manual. 141 to nil. Sync docstrings with manual.
126 (mh-tool-bar-define): Replace toolbar with tool-bar or tool bar 142 (mh-tool-bar-define): Replace toolbar with tool-bar or tool bar
127 depending on context. 143 depending on context.
128 (mh-toolbar-init): Rename to mh-tool-bar-init. Simplified 144 (mh-toolbar-init): Rename to mh-tool-bar-init. Simplify condition
129 condition for calling set-specifier. Only look at the value of 145 for calling set-specifier. Only look at the value of
130 mh-xemacs-use-tool-bar-flag. 146 mh-xemacs-use-tool-bar-flag.
131 (mh-tool-bar-folder-buttons, mh-tool-bar-letter-buttons): Sync 147 (mh-tool-bar-folder-buttons, mh-tool-bar-letter-buttons): Sync
132 docstrings with manual. 148 docstrings with manual.
@@ -172,7 +188,7 @@
172 * mh-customize.el (mh-sortm-args): Sync docstrings with manual. 188 * mh-customize.el (mh-sortm-args): Sync docstrings with manual.
173 (mh-invisible-header-fields-internal): Add X-Bugzilla-* and 189 (mh-invisible-header-fields-internal): Add X-Bugzilla-* and
174 X-Virus-Scanned. 190 X-Virus-Scanned.
175 191
176 * mh-customize.el (mh-insert-signature-hook): Rename 192 * mh-customize.el (mh-insert-signature-hook): Rename
177 mh-letter-insert-signature-hook to mh-insert-signature-hook. 193 mh-letter-insert-signature-hook to mh-insert-signature-hook.
178 194
@@ -189,7 +205,7 @@
189 mh-index-new-messages-folders. 205 mh-index-new-messages-folders.
190 (mh-ticked-messages-folders): Rename from 206 (mh-ticked-messages-folders): Rename from
191 mh-index-ticked-messages-folders. 207 mh-index-ticked-messages-folders.
192 208
193 * mh-index.el (mh-index-sequenced-messages) 209 * mh-index.el (mh-index-sequenced-messages)
194 (mh-index-new-messages): Ditto. 210 (mh-index-new-messages): Ditto.
195 211
@@ -218,12 +234,11 @@
218 * mh-seq.el (mh-put-msg-in-seq, mh-range-to-msg-list) 234 * mh-seq.el (mh-put-msg-in-seq, mh-range-to-msg-list)
219 (mh-narrow-to-range, mh-toggle-tick): Ditto. 235 (mh-narrow-to-range, mh-toggle-tick): Ditto.
220 236
221
2222005-12-01 Bill Wohler <wohler@newt.com> 2372005-12-01 Bill Wohler <wohler@newt.com>
223 238
224 Rewrote Reading Mail chapter in manual which affected mh-show 239 Rewrote Reading Mail chapter in manual which affected mh-show
225 customization group and related functions. 240 customization group and related functions.
226 241
227 * mh-comp.el (mh-letter-mode): Use mh-highlight-citation-style 242 * mh-comp.el (mh-letter-mode): Use mh-highlight-citation-style
228 instead of mh-highlight-citation-p. 243 instead of mh-highlight-citation-p.
229 (mh-letter-toggle-header-field-display): "Ellipsed" isn't a word, 244 (mh-letter-toggle-header-field-display): "Ellipsed" isn't a word,
@@ -269,7 +284,7 @@
269 (mh-show-use-xface-flag, mh-store-default-directory) 284 (mh-show-use-xface-flag, mh-store-default-directory)
270 (mh-summary-height, mh-delete-msg-hook 285 (mh-summary-height, mh-delete-msg-hook
271 (mh-show-hook, mh-show-mode-hook): Sync docstrings with manual. 286 (mh-show-hook, mh-show-mode-hook): Sync docstrings with manual.
272 287
273 * mh-e.el 288 * mh-e.el
274 (mh-scan-format-mh, mh-scan-good-msg-regexp) 289 (mh-scan-format-mh, mh-scan-good-msg-regexp)
275 (mh-scan-deleted-msg-regexp, mh-scan-refiled-msg-regexp) 290 (mh-scan-deleted-msg-regexp, mh-scan-refiled-msg-regexp)
@@ -288,7 +303,7 @@
288 to no-header. Sync docstrings with manual. 303 to no-header. Sync docstrings with manual.
289 (mh-ps-print-map): Delete keybindings for deleted commands 304 (mh-ps-print-map): Delete keybindings for deleted commands
290 mh-ps-print-toggle-mime and mh-ps-print-msg-show. 305 mh-ps-print-toggle-mime and mh-ps-print-msg-show.
291 (mh-help-messages): Updated printing help. 306 (mh-help-messages): Update printing help.
292 (mh-delete-msg, mh-delete-msg-no-motion, mh-first-msg) 307 (mh-delete-msg, mh-delete-msg-no-motion, mh-first-msg)
293 (mh-last-msg, mh-previous-unread-msg, mh-next-button) 308 (mh-last-msg, mh-previous-unread-msg, mh-next-button)
294 (mh-prev-button, mh-folder-toggle-mime-part) 309 (mh-prev-button, mh-folder-toggle-mime-part)
@@ -296,8 +311,8 @@
296 (mh-next-unread-msg, mh-toggle-mime-buttons): Sync docstrings with 311 (mh-next-unread-msg, mh-toggle-mime-buttons): Sync docstrings with
297 manual. 312 manual.
298 313
299 * mh-funcs.el (mh-sortm-args): Now a customization option and 314 * mh-funcs.el (mh-sortm-args): Now a customization option and in
300 in mh-customize.el. 315 mh-customize.el.
301 (mh-pipe-msg): Rename include-headers to include-header. Sync 316 (mh-pipe-msg): Rename include-headers to include-header. Sync
302 docstrings with manual. 317 docstrings with manual.
303 (mh-burst-digest, mh-page-digest, mh-page-digest-backwards) 318 (mh-burst-digest, mh-page-digest, mh-page-digest-backwards)
@@ -314,13 +329,13 @@
314 minibuffer. Sync docstrings with manual. 329 minibuffer. Sync docstrings with manual.
315 330
316 * mh-print.el: (mh-ps-print-mime, mh-ps-print-toggle-mime): 331 * mh-print.el: (mh-ps-print-mime, mh-ps-print-toggle-mime):
317 Deleted. 332 Delete.
318 (mh-ps-print-color-option): Incorporate docstring from 333 (mh-ps-print-color-option): Incorporate docstring from
319 ps-print-color-p. 334 ps-print-color-p.
320 (mh-ps-spool-buffer): Remove unused code. Fix indent. Slimline 335 (mh-ps-spool-buffer): Remove unused code. Fix indent. Slimline
321 docstring. 336 docstring.
322 (mh-ps-spool-msg): Slimline docstring. Rename from 337 (mh-ps-spool-msg): Slimline docstring. Rename from
323 mh-ps-spool-a-msg. Rewrote to use existing show buffer when 338 mh-ps-spool-a-msg. Rewrite to use existing show buffer when
324 available. 339 available.
325 (mh-ps-print-range): Extract method from common code in 340 (mh-ps-print-range): Extract method from common code in
326 mh-ps-print-msg and mh-ps-print-msg-file. 341 mh-ps-print-msg and mh-ps-print-msg-file.
@@ -334,9 +349,9 @@
334 (mh-ps-print-toggle-faces, mh-ps-print-toggle-color): Sync 349 (mh-ps-print-toggle-faces, mh-ps-print-toggle-color): Sync
335 docstrings with manual. 350 docstrings with manual.
336 351
337 * mh-utils.el (mh-show-ps-print-msg-show, 352 * mh-utils.el (mh-show-ps-print-msg-show)
338 mh-show-ps-print-toggle-mime): Delete. 353 mh-show-ps-print-toggle-mime): Delete.
339 (mh-show-ps-print-map): Updated accordingly. 354 (mh-show-ps-print-map): Update accordingly.
340 (mh-show-mode): Use mh-highlight-citation-style instead of 355 (mh-show-mode): Use mh-highlight-citation-style instead of
341 mh-highlight-citation-p. 356 mh-highlight-citation-p.
342 (mh-show-xface, mh-display-msg): Use mh-mhl-format-file instead of 357 (mh-show-xface, mh-display-msg): Use mh-mhl-format-file instead of
@@ -361,16 +376,16 @@
361 376
362 * mh-init.el: Modify commentary since file is used for load and 377 * mh-init.el: Modify commentary since file is used for load and
363 initialization as well as setting and getting the variant. 378 initialization as well as setting and getting the variant.
364 (mh-min-colors-defined-flag, mh-defface-compat): Move 379 (mh-min-colors-defined-flag, mh-defface-compat): Move here from
365 here from mh-customize.el. 380 mh-customize.el.
366 381
367 * mh-customize.el: Refactor faces. Move grayscale requirements 382 * mh-customize.el: Refactor faces. Move grayscale requirements
368 last before t. Use uniform line breaks. 383 last before t. Use uniform line breaks.
369 (mh-min-colors-defined-flag): New variable. 384 (mh-min-colors-defined-flag): New variable.
370 (mh-defface-compat): New function. Provides backward compatibility 385 (mh-defface-compat): New function. Provides backward compatibility
371 for face specs. 386 for face specs.
372 (mh-show-header, mh-show-date, mh-show-cc, mh-folder-to) 387 (mh-show-header, mh-show-date, mh-show-cc, mh-folder-to)
373 (mh-folder-refiled, mh-folder-cur-msg-number, mh-folder-cur-msg) 388 (mh-folder-refiled, mh-folder-cur-msg-number, mh-folder-cur-msg)
374 (mh-folder-body): Use mh-defface-compat. 389 (mh-folder-body): Use mh-defface-compat.
375 390
3762005-11-03 Dan Nicolaescu <dann@ics.uci.edu> 3912005-11-03 Dan Nicolaescu <dann@ics.uci.edu>
@@ -388,7 +403,7 @@
388 403
389 * mh-e.el (mh-update-sequences): Sync docstrings with manual. 404 * mh-e.el (mh-update-sequences): Sync docstrings with manual.
390 405
391 * mh-seq.el (mh-delete-seq, mh-list-sequences, mh-narrow-to-seq) 406 * mh-seq.el (mh-delete-seq, mh-list-sequences, mh-narrow-to-seq)
392 (mh-widen, mh-toggle-tick, mh-narrow-to-tick): Sync docstrings 407 (mh-widen, mh-toggle-tick, mh-narrow-to-tick): Sync docstrings
393 with manual. 408 with manual.
394 409
@@ -410,15 +425,15 @@
410 (mh-reply-show-message-flag, mh-letter-mode-hook): Sync docstrings 425 (mh-reply-show-message-flag, mh-letter-mode-hook): Sync docstrings
411 with manual. 426 with manual.
412 427
413 * mh-print.el (mh-ps-spool-buffer, mh-ps-spool-a-msg) 428 * mh-print.el (mh-ps-spool-buffer, mh-ps-spool-a-msg)
414 (mh-ps-print-msg): Remove debugging messages. 429 (mh-ps-print-msg): Remove debugging messages.
415 (mh-ps-print-msg-show, mh-ps-print-msg-show) 430 (mh-ps-print-msg-show, mh-ps-print-msg-show)
416 (mh-ps-print-toggle-color, mh-ps-print-toggle-mime): Remove period 431 (mh-ps-print-toggle-color, mh-ps-print-toggle-mime): Remove period
417 after message per conventions. 432 after message per conventions.
418 433
4192005-10-30 Bill Wohler <wohler@newt.com> 4342005-10-30 Bill Wohler <wohler@newt.com>
420 435
421 * mh-e.el (mh-scan-good-msg-regexp, mh-scan-deleted-msg-regexp) 436 * mh-e.el (mh-scan-good-msg-regexp, mh-scan-deleted-msg-regexp)
422 (mh-scan-refiled-msg-regexp, mh-scan-cur-msg-number-regexp): Sync 437 (mh-scan-refiled-msg-regexp, mh-scan-cur-msg-number-regexp): Sync
423 docstrings with manual. 438 docstrings with manual.
424 439
@@ -459,7 +474,7 @@
459 column, not a width. 474 column, not a width.
460 (mh-add-sequence-notation, mh-remove-sequence-notation): Use new 475 (mh-add-sequence-notation, mh-remove-sequence-notation): Use new
461 variable mh-scan-field-destination-offset rather than hard-coding 476 variable mh-scan-field-destination-offset rather than hard-coding
462 1. 477 1.
463 478
464 * mh-utils.el (mh-cmd-note) Synced docstring with manual. 479 * mh-utils.el (mh-cmd-note) Synced docstring with manual.
465 (mh-notate): Use new variable mh-scan-field-destination-offset 480 (mh-notate): Use new variable mh-scan-field-destination-offset
@@ -470,8 +485,8 @@
470 * mh-customize.el (mh-x-face-file, mh-show-use-xface-flag) 485 * mh-customize.el (mh-x-face-file, mh-show-use-xface-flag)
471 (mail-citation-hook): Quote URLs in docstrings and precede with 486 (mail-citation-hook): Quote URLs in docstrings and precede with
472 `URL'. The former will suppress checkdoc warnings, the latter will 487 `URL'. The former will suppress checkdoc warnings, the latter will
473 turn them into hyperlinks in Emacs 22 (I just added the code 488 turn them into hyperlinks in Emacs 22 (I just added the code to do
474 to do that today). 489 that today).
475 (mh-scan-format-file): Checkdoc fix. 490 (mh-scan-format-file): Checkdoc fix.
476 491
4772005-10-27 Bill Wohler <wohler@newt.com> 4922005-10-27 Bill Wohler <wohler@newt.com>
@@ -503,10 +518,10 @@
503 Checkdoc fixes. 518 Checkdoc fixes.
504 519
505 * mh-customize.el (mh-compose-insertion, mh-x-face-file): Ditto. 520 * mh-customize.el (mh-compose-insertion, mh-x-face-file): Ditto.
506 521
507 * mh-mime.el (mh-mh-to-mime, mh-mml-attach-file) 522 * mh-mime.el (mh-mh-to-mime, mh-mml-attach-file)
508 (mh-mml-secure-message-sign, mh-mml-secure-message-encrypt) 523 (mh-mml-secure-message-sign, mh-mml-secure-message-encrypt)
509 (mh-mml-secure-message-signencrypt): Ditto 524 (mh-mml-secure-message-signencrypt): Ditto.
510 525
5112005-10-24 Bill Wohler <wohler@newt.com> 5262005-10-24 Bill Wohler <wohler@newt.com>
512 527
@@ -610,7 +625,7 @@
610 (mh-yank-from-start-of-msg): Rename to mh-yank-behavior. 625 (mh-yank-from-start-of-msg): Rename to mh-yank-behavior.
611 (mh-compose-insertion): Rename values from 'gnus and 'mhn to 'mh 626 (mh-compose-insertion): Rename values from 'gnus and 'mhn to 'mh
612 and user-visible values from mhn and Gnus to MH and MML. 627 and user-visible values from mhn and Gnus to MH and MML.
613 (mh-before-send-letter-hook): Added 'ispell-message option. 628 (mh-before-send-letter-hook): Add 'ispell-message option.
614 (mh-mml-method-default): Rename mh-gnus-pgp-support-flag to 629 (mh-mml-method-default): Rename mh-gnus-pgp-support-flag to
615 mh-pgp-support-flag. 630 mh-pgp-support-flag.
616 (mh-compose-insertion, mh-compose-space-does-completion-flag) 631 (mh-compose-insertion, mh-compose-space-does-completion-flag)
@@ -652,14 +667,13 @@
652 (mh-mh-compose-external-type, mh-mh-forward-message) 667 (mh-mh-compose-external-type, mh-mh-forward-message)
653 (mh-mml-attach-file): Use mml-minibuffer-read-description, 668 (mh-mml-attach-file): Use mml-minibuffer-read-description,
654 mh-minibuffer-read-type. 669 mh-minibuffer-read-type.
655 (mh-mime-content-types): Moved comment about only being used in 670 (mh-mime-content-types): Move comment about only being used in
656 Emacs 20 to docstring. 671 Emacs 20 to docstring.
657 (mh-mh-compose-external-type): Rename extra-param argument to 672 (mh-mh-compose-external-type): Rename extra-param argument to
658 parameters. 673 parameters.
659 (mh-mml-to-mime, mh-secure-message) 674 (mh-mml-to-mime, mh-secure-message, mh-mml-unsecure-message)
660 (mh-mml-unsecure-message, mh-mime-display-part) 675 (mh-mime-display-part, mh-mime-display-single): Rename
661 (mh-mime-display-single): Rename mh-gnus-pgp-support-flag to 676 mh-gnus-pgp-support-flag to mh-pgp-support-flag.
662 mh-pgp-support-flag.
663 (mh-compose-insertion): Rename mh-mhn-compose-insertion to 677 (mh-compose-insertion): Rename mh-mhn-compose-insertion to
664 mh-mh-attach-file. 678 mh-mh-attach-file.
665 (mh-compose-forward): Rename mh-mhn-compose-forw to 679 (mh-compose-forward): Rename mh-mhn-compose-forw to
@@ -671,7 +685,7 @@
671 (mh-mh-compose-anon-ftp, mh-mh-compose-external-compressed-tar) 685 (mh-mh-compose-anon-ftp, mh-mh-compose-external-compressed-tar)
672 (mh-mh-compose-external-compressed-tar) 686 (mh-mh-compose-external-compressed-tar)
673 (mh-mh-compose-external-type, mh-mh-forward-message) 687 (mh-mh-compose-external-type, mh-mh-forward-message)
674 (mh-mh-to-mime, mh-mh-quote-unescaped-sharp, 688 (mh-mh-to-mime, mh-mh-quote-unescaped-sharp)
675 (mh-mh-to-mime-undo, mh-mh-directive-present-p, mh-mml-to-mime) 689 (mh-mh-to-mime-undo, mh-mh-directive-present-p, mh-mml-to-mime)
676 (mh-mml-attach-file, mh-secure-message, mh-mml-unsecure-message) 690 (mh-mml-attach-file, mh-secure-message, mh-mml-unsecure-message)
677 (mh-mml-secure-message-sign, mh-mml-secure-message-encrypt) 691 (mh-mml-secure-message-sign, mh-mml-secure-message-encrypt)
@@ -690,10 +704,10 @@
690 704
6912005-10-17 Bill Wohler <wohler@newt.com> 7052005-10-17 Bill Wohler <wohler@newt.com>
692 706
693 * mh-customize.el (mh-folder-tool-bar-map): Renamed image file 707 * mh-customize.el (mh-folder-tool-bar-map): Rename image file
694 left_arrow to left-arrow, right_arrow to right-arrow, mail_compose 708 left_arrow to left-arrow, right_arrow to right-arrow, mail_compose
695 to mail/compose, fld_open to fld-open. 709 to mail/compose, fld_open to fld-open.
696 (mh-letter-tool-bar-map): Renamed image file mail_send to 710 (mh-letter-tool-bar-map): Rename image file mail_send to
697 mail/send. 711 mail/send.
698 712
6992005-10-16 Bill Wohler <wohler@newt.com> 7132005-10-16 Bill Wohler <wohler@newt.com>
@@ -718,14 +732,14 @@
718 732
7192005-10-16 Masatake YAMATO <jet@gyve.org> 7332005-10-16 Masatake YAMATO <jet@gyve.org>
720 734
721 * mh-comp.el (mh-complete-word): Pass the common 735 * mh-comp.el (mh-complete-word): Pass the common prefix substring
722 prefix substring of completion to `display-completion-list'. 736 of completion to `display-completion-list'.
723 737
7242005-10-15 Satyaki Das <satyaki@theforce.stanford.edu> 7382005-10-15 Satyaki Das <satyaki@theforce.stanford.edu>
725 739
726 * mh-init.el (mh-image-load-path-called-flag): New variable which 740 * mh-init.el (mh-image-load-path-called-flag): New variable which
727 is used by mh-image-load-path so that it runs only once. 741 is used by mh-image-load-path so that it runs only once.
728 (mh-image-load-path): Modified so that it gets run only once. Also 742 (mh-image-load-path): Modify so that it gets run only once. Also
729 flatten out heavily nested if statements to make it clearer. 743 flatten out heavily nested if statements to make it clearer.
730 744
731 * mh-e.el (mh-folder-mode): Call mh-image-load-path to allow Emacs 745 * mh-e.el (mh-folder-mode): Call mh-image-load-path to allow Emacs
@@ -735,29 +749,29 @@
735 749
7362005-10-14 Bill Wohler <wohler@newt.com> 7502005-10-14 Bill Wohler <wohler@newt.com>
737 751
738 * mh-e.el (Version, mh-version): Added +cvs to version. 752 * mh-e.el (Version, mh-version): Add +cvs to version.
739 753
7402005-10-14 Bill Wohler <wohler@newt.com> 7542005-10-14 Bill Wohler <wohler@newt.com>
741 755
742 Released MH-E version 7.85. 756 Released MH-E version 7.85.
743 757
744 * mh-e.el (Version, mh-version): Updated for release 7.85. 758 * mh-e.el (Version, mh-version): Update for release 7.85.
745 759
7462005-10-14 Bill Wohler <wohler@newt.com> 7602005-10-14 Bill Wohler <wohler@newt.com>
747 761
748 * mh-e.el, mh-funcs.el, mh-init.el, mh-mime.el, mh-pick.el: 762 * mh-e.el, mh-funcs.el, mh-init.el, mh-mime.el, mh-pick.el: *
749 * mh-seq.el, mh-utils.el: Ran mh-unit. Continued copyright lines 763 mh-seq.el, mh-utils.el: Ran mh-unit. Continued copyright lines
750 need to be indented. 764 need to be indented.
751 765
752 * mh-e.el: mh-folder-tick-face had been renamed to mh-folder-tick 766 * mh-e.el: mh-folder-tick-face had been renamed to mh-folder-tick
753 but the code that invoked the face had not been updated. Tick 767 but the code that invoked the face had not been updated. Tick
754 highlighting working again. 768 highlighting working again.
755 769
756 * mh-seq.el (mh-non-seq-mode-line-annotation): Moved 770 * mh-seq.el (mh-non-seq-mode-line-annotation): Move
757 make-variable-buffer-local call to top level to avoid warnings in 771 make-variable-buffer-local call to top level to avoid warnings in
758 CVS Emacs. 772 CVS Emacs.
759 773
760 * mh-comp.el (mh-insert-letter): Replaced deprecated read-input 774 * mh-comp.el (mh-insert-letter): Replace deprecated read-input
761 with read-string. 775 with read-string.
762 776
7632005-10-09 Bill Wohler <wohler@newt.com> 7772005-10-09 Bill Wohler <wohler@newt.com>
@@ -771,8 +785,8 @@
771 785
7722005-10-04 Bill Wohler <wohler@newt.com> 7862005-10-04 Bill Wohler <wohler@newt.com>
773 787
774 * ChangeLog: Moved contents into ChangeLog.1 and trimmed. 788 * ChangeLog: Move contents into ChangeLog.1 and trim.
775 789
776 * ChangeLog.1: New file. Contains old ChangeLog. 790 * ChangeLog.1: New file. Contains old ChangeLog.
777 791
778 792
@@ -782,4 +796,8 @@
782 are permitted in any medium without royalty provided the copyright 796 are permitted in any medium without royalty provided the copyright
783 notice and this notice are preserved. 797 notice and this notice are preserved.
784 798
799;; Local Variables:
800;; sentence-end-double-space: nil
801;; End:
802
785;;; arch-tag: 87324964-69b6-4925-a3c2-9c1df53d7d51 803;;; arch-tag: 87324964-69b6-4925-a3c2-9c1df53d7d51
diff --git a/lisp/mh-e/mh-comp.el b/lisp/mh-e/mh-comp.el
index 898f24dccb7..113572153af 100644
--- a/lisp/mh-e/mh-comp.el
+++ b/lisp/mh-e/mh-comp.el
@@ -228,18 +228,28 @@ thus is suitable for use by programs that want to create a mail
228buffer. Users should use \\[mh-smail] to compose mail. 228buffer. Users should use \\[mh-smail] to compose mail.
229 229
230Optional arguments for setting certain fields include TO, 230Optional arguments for setting certain fields include TO,
231SUBJECT, and OTHER-HEADERS. Additional arguments are IGNORED." 231SUBJECT, and OTHER-HEADERS. Additional arguments are IGNORED.
232
233This function remains for Emacs 21 compatibility. New
234applications should use `mh-user-agent-compose'."
232 (mh-find-path) 235 (mh-find-path)
233 (let ((mh-error-if-no-draft t)) 236 (let ((mh-error-if-no-draft t))
234 (mh-send (or to "") "" (or subject "")))) 237 (mh-send (or to "") "" (or subject ""))))
235 238
236;; XEmacs needs this: 239;;;###autoload
240(define-mail-user-agent 'mh-e-user-agent
241 'mh-user-agent-compose 'mh-send-letter 'mh-fully-kill-draft
242 'mh-before-send-letter-hook)
243
237;;;###autoload 244;;;###autoload
238(defun mh-user-agent-compose (&optional to subject other-headers continue 245(defun mh-user-agent-compose (&optional to subject other-headers continue
239 switch-function yank-action 246 switch-function yank-action
240 send-actions) 247 send-actions)
241 "Set up mail composition draft with the MH mail system. 248 "Set up mail composition draft with the MH mail system.
242This is `mail-user-agent' entry point to MH-E. 249This is the `mail-user-agent' entry point to MH-E. This function
250conforms to the contract specified by `define-mail-user-agent'
251which means that this function should accept the same arguments
252as `compose-mail'.
243 253
244The optional arguments TO and SUBJECT specify recipients and the 254The optional arguments TO and SUBJECT specify recipients and the
245initial Subject field, respectively. 255initial Subject field, respectively.
diff --git a/lisp/mh-e/mh-utils.el b/lisp/mh-e/mh-utils.el
index ca51f59bc3f..b5d97a2be05 100644
--- a/lisp/mh-e/mh-utils.el
+++ b/lisp/mh-e/mh-utils.el
@@ -2312,7 +2312,7 @@ three arguments so we bind this variable to t or nil.
2312This variable should never be set.") 2312This variable should never be set.")
2313 2313
2314(defvar mh-folder-completion-map (copy-keymap minibuffer-local-completion-map)) 2314(defvar mh-folder-completion-map (copy-keymap minibuffer-local-completion-map))
2315(define-key mh-folder-completion-map " " 'minibuffer-complete) 2315(define-key mh-folder-completion-map " " 'minibuffer-complete) ;Why???
2316 2316
2317(defvar mh-speed-flists-inhibit-flag nil) 2317(defvar mh-speed-flists-inhibit-flag nil)
2318 2318
@@ -2416,6 +2416,7 @@ used in searching."
2416 (let ((new-file-flag 2416 (let ((new-file-flag
2417 (not (file-exists-p (mh-expand-file-name folder-name))))) 2417 (not (file-exists-p (mh-expand-file-name folder-name)))))
2418 (cond ((and new-file-flag 2418 (cond ((and new-file-flag
2419 can-create
2419 (y-or-n-p 2420 (y-or-n-p
2420 (format "Folder %s does not exist. Create it? " 2421 (format "Folder %s does not exist. Create it? "
2421 folder-name))) 2422 folder-name)))
@@ -2426,7 +2427,7 @@ used in searching."
2426 (mh-speed-add-folder folder-name)) 2427 (mh-speed-add-folder folder-name))
2427 (message "Creating %s...done" folder-name)) 2428 (message "Creating %s...done" folder-name))
2428 (new-file-flag 2429 (new-file-flag
2429 (error "Folder %s is not created" folder-name)) 2430 (error "Folder %s does not exist" folder-name))
2430 ((not (file-directory-p (mh-expand-file-name folder-name))) 2431 ((not (file-directory-p (mh-expand-file-name folder-name)))
2431 (error "\"%s\" is not a directory" 2432 (error "\"%s\" is not a directory"
2432 (mh-expand-file-name folder-name))))) 2433 (mh-expand-file-name folder-name)))))
@@ -2532,9 +2533,9 @@ ARGS are passed to COMMAND as command line arguments."
2532 "PROCESS daemon that puts OUTPUT into a temporary buffer. 2533 "PROCESS daemon that puts OUTPUT into a temporary buffer.
2533Any output from the process is displayed in an asynchronous 2534Any output from the process is displayed in an asynchronous
2534pop-up window." 2535pop-up window."
2535 (set-buffer (get-buffer-create mh-log-buffer)) 2536 (with-current-buffer (get-buffer-create mh-log-buffer)
2536 (insert-before-markers output) 2537 (insert-before-markers output)
2537 (display-buffer mh-log-buffer)) 2538 (display-buffer mh-log-buffer)))
2538 2539
2539(defun mh-exec-cmd-quiet (raise-error command &rest args) 2540(defun mh-exec-cmd-quiet (raise-error command &rest args)
2540 "Signal RAISE-ERROR if COMMAND with ARGS fails. 2541 "Signal RAISE-ERROR if COMMAND with ARGS fails.
diff --git a/lisp/mouse.el b/lisp/mouse.el
index b92413f7383..186fa438b35 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -1002,25 +1002,30 @@ at the same position."
1002 (or end-point 1002 (or end-point
1003 (= (window-start start-window) 1003 (= (window-start start-window)
1004 start-window-start))) 1004 start-window-start)))
1005 (if (and on-link 1005 (when (and on-link
1006 (or (not end-point) (= end-point start-point)) 1006 (or (not end-point) (= end-point start-point))
1007 (consp event) 1007 (consp event)
1008 (or remap-double-click 1008 (or remap-double-click
1009 (and 1009 (and
1010 (not (eq mouse-1-click-follows-link 'double)) 1010 (not (eq mouse-1-click-follows-link 'double))
1011 (= click-count 0) 1011 (= click-count 0)
1012 (= (event-click-count event) 1) 1012 (= (event-click-count event) 1)
1013 (not (input-pending-p)) 1013 (not (input-pending-p))
1014 (or (not (integerp mouse-1-click-follows-link)) 1014 (or (not (integerp mouse-1-click-follows-link))
1015 (let ((t0 (posn-timestamp (event-start start-event))) 1015 (let ((t0 (posn-timestamp (event-start start-event)))
1016 (t1 (posn-timestamp (event-end event)))) 1016 (t1 (posn-timestamp (event-end event))))
1017 (and (integerp t0) (integerp t1) 1017 (and (integerp t0) (integerp t1)
1018 (if (> mouse-1-click-follows-link 0) 1018 (if (> mouse-1-click-follows-link 0)
1019 (<= (- t1 t0) mouse-1-click-follows-link) 1019 (<= (- t1 t0) mouse-1-click-follows-link)
1020 (< (- t0 t1) mouse-1-click-follows-link)))))))) 1020 (< (- t0 t1) mouse-1-click-follows-link))))))))
1021 (if (or (vectorp on-link) (stringp on-link)) 1021 ;; Reselect previous selected window,
1022 (setq event (aref on-link 0)) 1022 ;; so that the mouse-2 event runs in the same
1023 (setcar event 'mouse-2))) 1023 ;; situation as if user had clicked it directly.
1024 ;; Fixes the bug reported by juri@jurta.org on 2005-12-27.
1025 (select-window original-window)
1026 (if (or (vectorp on-link) (stringp on-link))
1027 (setq event (aref on-link 0))
1028 (setcar event 'mouse-2)))
1024 (push event unread-command-events)))) 1029 (push event unread-command-events))))
1025 1030
1026 ;; Case where the end-event is not a cons cell (it's just a boring 1031 ;; Case where the end-event is not a cons cell (it's just a boring
diff --git a/lisp/paren.el b/lisp/paren.el
index 2164ac72d39..f5327c3b344 100644
--- a/lisp/paren.el
+++ b/lisp/paren.el
@@ -72,6 +72,12 @@ otherwise)."
72 :group 'paren-showing 72 :group 'paren-showing
73 :version "20.3") 73 :version "20.3")
74 74
75(defgroup paren-showing-faces ()
76 "Group for faces of Show Paren mode"
77 :group 'paren-showing
78 :group 'faces
79 :version "22.1")
80
75(defface show-paren-match 81(defface show-paren-match
76 '((((class color) (background light)) 82 '((((class color) (background light))
77 :background "turquoise") ; looks OK on tty (becomes cyan) 83 :background "turquoise") ; looks OK on tty (becomes cyan)
@@ -82,8 +88,7 @@ otherwise)."
82 (t 88 (t
83 :background "gray")) 89 :background "gray"))
84 "Show Paren mode face used for a matching paren." 90 "Show Paren mode face used for a matching paren."
85 :group 'faces 91 :group 'show-paren-faces)
86 :group 'paren-showing)
87;; backward-compatibility alias 92;; backward-compatibility alias
88(put 'show-paren-match-face 'face-alias 'show-paren-match) 93(put 'show-paren-match-face 'face-alias 'show-paren-match)
89 94
@@ -91,8 +96,7 @@ otherwise)."
91 '((((class color)) (:foreground "white" :background "purple")) 96 '((((class color)) (:foreground "white" :background "purple"))
92 (t (:inverse-video t))) 97 (t (:inverse-video t)))
93 "Show Paren mode face used for a mismatching paren." 98 "Show Paren mode face used for a mismatching paren."
94 :group 'faces 99 :group 'show-paren-faces)
95 :group 'paren-showing)
96;; backward-compatibility alias 100;; backward-compatibility alias
97(put 'show-paren-mismatch-face 'face-alias 'show-paren-mismatch) 101(put 'show-paren-mismatch-face 'face-alias 'show-paren-mismatch)
98 102
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el
index 1bb76c170dc..b237dd9a598 100644
--- a/lisp/progmodes/cc-defs.el
+++ b/lisp/progmodes/cc-defs.el
@@ -1464,7 +1464,8 @@ non-nil, a caret is prepended to invert the set."
1464 (kill-buffer buf)) 1464 (kill-buffer buf))
1465 1465
1466 ;; See if `parse-partial-sexp' returns the eighth element. 1466 ;; See if `parse-partial-sexp' returns the eighth element.
1467 (if (c-safe (>= (length (save-excursion (parse-partial-sexp 1 1))) 10)) 1467 (if (c-safe (>= (length (save-excursion (parse-partial-sexp (point) (point))))
1468 10))
1468 (setq list (cons 'pps-extended-state list)) 1469 (setq list (cons 'pps-extended-state list))
1469 (error (concat 1470 (error (concat
1470 "CC Mode is incompatible with this version of Emacs - " 1471 "CC Mode is incompatible with this version of Emacs - "
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 002bae1b019..e7bda34e080 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -331,10 +331,14 @@ With arg, use separate IO iff arg is positive."
331 (setq name (nth 1 (split-string define "[( ]"))) 331 (setq name (nth 1 (split-string define "[( ]")))
332 (push (cons name define) gdb-define-alist)))) 332 (push (cons name define) gdb-define-alist))))
333 333
334(defun gdb-tooltip-print () 334(defun gdb-tooltip-print (expr)
335 (tooltip-show 335 (tooltip-show
336 (with-current-buffer (gdb-get-buffer 'gdb-partial-output-buffer) 336 (with-current-buffer (gdb-get-buffer 'gdb-partial-output-buffer)
337 (let ((string (buffer-string))) 337 (goto-char (point-min))
338 (let ((string
339 (if (search-forward "=" nil t)
340 (concat expr (buffer-substring (- (point) 2) (point-max)))
341 (buffer-string))))
338 ;; remove newline for gud-tooltip-echo-area 342 ;; remove newline for gud-tooltip-echo-area
339 (substring string 0 (- (length string) 1)))) 343 (substring string 0 (- (length string) 1))))
340 (or gud-tooltip-echo-area tooltip-use-echo-area))) 344 (or gud-tooltip-echo-area tooltip-use-echo-area)))
@@ -349,7 +353,7 @@ With arg, use separate IO iff arg is positive."
349 (unless (looking-at "\\S-+.*(.*).*") 353 (unless (looking-at "\\S-+.*(.*).*")
350 (gdb-enqueue-input 354 (gdb-enqueue-input
351 (list (concat gdb-server-prefix "print " expr "\n") 355 (list (concat gdb-server-prefix "print " expr "\n")
352 'gdb-tooltip-print)))))) 356 `(lambda () (gdb-tooltip-print ,expr))))))))
353 357
354(defconst gdb-source-file-regexp "\\(.+?\\), \\|\\([^, \n].*$\\)") 358(defconst gdb-source-file-regexp "\\(.+?\\), \\|\\([^, \n].*$\\)")
355 359
@@ -541,7 +545,8 @@ With arg, use separate IO iff arg is positive."
541 :version "22.1") 545 :version "22.1")
542 546
543(defun gdb-speedbar-auto-raise (arg) 547(defun gdb-speedbar-auto-raise (arg)
544 "Toggle automatic raising of the speedbar for watch expressions." 548 "Toggle automatic raising of the speedbar for watch expressions.
549With arg, automatically raise speedbar iff arg is positive."
545 (interactive "P") 550 (interactive "P")
546 (setq gdb-speedbar-auto-raise 551 (setq gdb-speedbar-auto-raise
547 (if (null arg) 552 (if (null arg)
@@ -1194,7 +1199,7 @@ happens to be appropriate."
1194 1199
1195 (if (string-equal gdb-version "pre-6.4") 1200 (if (string-equal gdb-version "pre-6.4")
1196 (gdb-invalidate-registers) 1201 (gdb-invalidate-registers)
1197 (gdb-get-changed-registers) 1202 (if (gdb-get-buffer 'gdb-registers-buffer) (gdb-get-changed-registers))
1198 (gdb-invalidate-registers-1)) 1203 (gdb-invalidate-registers-1))
1199 1204
1200 (gdb-invalidate-memory) 1205 (gdb-invalidate-memory)
diff --git a/lisp/progmodes/glasses.el b/lisp/progmodes/glasses.el
index 2733cb407a4..18f744e81c8 100644
--- a/lisp/progmodes/glasses.el
+++ b/lisp/progmodes/glasses.el
@@ -82,7 +82,7 @@ For example, you can set `glasses-separator' to an empty string and
82`glasses-face' to `bold'. Then unreadable identifiers will have no separators, 82`glasses-face' to `bold'. Then unreadable identifiers will have no separators,
83but will have their capitals in bold." 83but will have their capitals in bold."
84 :group 'glasses 84 :group 'glasses
85 :type 'symbol 85 :type '(choice face (const nil))
86 :set 'glasses-custom-set 86 :set 'glasses-custom-set
87 :initialize 'custom-initialize-default) 87 :initialize 'custom-initialize-default)
88 88
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 5b1edbe89be..a9ccdf38442 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -3343,16 +3343,19 @@ For C this would dereference a pointer expression.")
3343 "The mouse movement event that led to a tooltip display. 3343 "The mouse movement event that led to a tooltip display.
3344This event can be examined by forms in GUD-TOOLTIP-DISPLAY.") 3344This event can be examined by forms in GUD-TOOLTIP-DISPLAY.")
3345 3345
3346(defun toggle-gud-tooltip-dereference () 3346(defun gud-tooltip-dereference ()
3347 "Toggle whether tooltips should show `* expr' or `expr'." 3347 "Toggle whether tooltips should show `* expr' or `expr'.
3348 (interactive) 3348With arg, dereference expr iff arg is positive."
3349 (setq gud-tooltip-dereference (not gud-tooltip-dereference)) 3349 (interactive "P")
3350 (when (interactive-p) 3350 (setq gud-tooltip-dereference
3351 (message "Dereferencing is now %s." 3351 (if (null arg)
3352 (if gud-tooltip-dereference "on" "off")))) 3352 (not gud-tooltip-dereference)
3353 (> (prefix-numeric-value arg) 0)))
3354 (message "Dereferencing is now %s."
3355 (if gud-tooltip-dereference "on" "off")))
3353 3356
3354(define-obsolete-function-alias 'tooltip-gud-toggle-dereference 3357(define-obsolete-function-alias 'tooltip-gud-toggle-dereference
3355 'toggle-gud-tooltip-dereference "22.1") 3358 'gud-tooltip-dereference "22.1")
3356 3359
3357; This will only display data that comes in one chunk. 3360; This will only display data that comes in one chunk.
3358; Larger arrays (say 400 elements) are displayed in 3361; Larger arrays (say 400 elements) are displayed in
@@ -3367,10 +3370,7 @@ This event can be examined by forms in GUD-TOOLTIP-DISPLAY.")
3367 (or gud-tooltip-echo-area tooltip-use-echo-area))) 3370 (or gud-tooltip-echo-area tooltip-use-echo-area)))
3368 3371
3369(defun gud-tooltip-print-command (expr) 3372(defun gud-tooltip-print-command (expr)
3370 "Return a suitable command to print the expression EXPR. 3373 "Return a suitable command to print the expression EXPR."
3371If GUD-TOOLTIP-DEREFERENCE is t, also prepend a `*' to EXPR."
3372 (when gud-tooltip-dereference
3373 (setq expr (concat "*" expr)))
3374 (case gud-minor-mode 3374 (case gud-minor-mode
3375 (gdba (concat "server print " expr)) 3375 (gdba (concat "server print " expr))
3376 ((dbx gdbmi) (concat "print " expr)) 3376 ((dbx gdbmi) (concat "print " expr))
@@ -3412,6 +3412,8 @@ This function must return nil if it doesn't handle EVENT."
3412 (cdr define-elt) 3412 (cdr define-elt)
3413 (or gud-tooltip-echo-area tooltip-use-echo-area)) 3413 (or gud-tooltip-echo-area tooltip-use-echo-area))
3414 expr)))) 3414 expr))))
3415 (when gud-tooltip-dereference
3416 (setq expr (concat "*" expr)))
3415 (let ((cmd (gud-tooltip-print-command expr))) 3417 (let ((cmd (gud-tooltip-print-command expr)))
3416 (when (and gud-tooltip-mode (eq gud-minor-mode 'gdb)) 3418 (when (and gud-tooltip-mode (eq gud-minor-mode 'gdb))
3417 (gud-tooltip-mode -1) 3419 (gud-tooltip-mode -1)
diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el
index fa481a233cd..4665e2cb7c0 100644
--- a/lisp/progmodes/make-mode.el
+++ b/lisp/progmodes/make-mode.el
@@ -105,7 +105,6 @@
105 '((((class color)) (:background "hotpink")) 105 '((((class color)) (:background "hotpink"))
106 (t (:reverse-video t))) 106 (t (:reverse-video t)))
107 "Face to use for highlighting leading spaces in Font-Lock mode." 107 "Face to use for highlighting leading spaces in Font-Lock mode."
108 :group 'faces
109 :group 'makefile) 108 :group 'makefile)
110(put 'makefile-space-face 'face-alias 'makefile-space) 109(put 'makefile-space-face 'face-alias 'makefile-space)
111 110
@@ -113,7 +112,6 @@
113 ;; This needs to go along both with foreground and background colors (i.e. shell) 112 ;; This needs to go along both with foreground and background colors (i.e. shell)
114 '((t (:inherit font-lock-function-name-face))) 113 '((t (:inherit font-lock-function-name-face)))
115 "Face to use for additionally highlighting rule targets in Font-Lock mode." 114 "Face to use for additionally highlighting rule targets in Font-Lock mode."
116 :group 'faces
117 :group 'makefile 115 :group 'makefile
118 :version "22.1") 116 :version "22.1")
119 117
@@ -122,7 +120,6 @@
122 ;;'((((class color) (min-colors 88) (background light)) (:background "seashell1")) 120 ;;'((((class color) (min-colors 88) (background light)) (:background "seashell1"))
123 ;; (((class color) (min-colors 88) (background dark)) (:background "seashell4"))) 121 ;; (((class color) (min-colors 88) (background dark)) (:background "seashell4")))
124 "Face to use for additionally highlighting Shell commands in Font-Lock mode." 122 "Face to use for additionally highlighting Shell commands in Font-Lock mode."
125 :group 'faces
126 :group 'makefile 123 :group 'makefile
127 :version "22.1") 124 :version "22.1")
128 125
@@ -131,7 +128,6 @@
131 (((class color) (background dark)) (:background "DarkBlue")) 128 (((class color) (background dark)) (:background "DarkBlue"))
132 (t (:reverse-video t))) 129 (t (:reverse-video t)))
133 "Face to use for additionally highlighting Perl code in Font-Lock mode." 130 "Face to use for additionally highlighting Perl code in Font-Lock mode."
134 :group 'faces
135 :group 'makefile 131 :group 'makefile
136 :version "22.1") 132 :version "22.1")
137 133
diff --git a/lisp/replace.el b/lisp/replace.el
index 8229eda85a4..46f672a8d1a 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -1474,32 +1474,33 @@ make, or the user didn't cancel the call."
1474 ;; For speed, use only integers and 1474 ;; For speed, use only integers and
1475 ;; reuse the list used last time. 1475 ;; reuse the list used last time.
1476 (replace-match-data t real-match-data))))) 1476 (replace-match-data t real-match-data)))))
1477
1478 ;; Record whether the match is nonempty, to avoid an infinite loop
1479 ;; repeatedly matching the same empty string.
1480 (setq nonempty-match
1481 (/= (nth 0 real-match-data) (nth 1 real-match-data)))
1482
1483 ;; If the match is empty, record that the next one can't be
1484 ;; adjacent.
1485
1486 ;; Otherwise, if matching a regular expression, do the next
1487 ;; match now, since the replacement for this match may
1488 ;; affect whether the next match is adjacent to this one.
1489 ;; If that match is empty, don't use it.
1490 (setq match-again
1491 (and nonempty-match
1492 (or (not regexp-flag)
1493 (and (looking-at search-string)
1494 (let ((match (match-data)))
1495 (and (/= (nth 0 match) (nth 1 match))
1496 match))))))
1497
1477 ;; Optionally ignore matches that have a read-only property. 1498 ;; Optionally ignore matches that have a read-only property.
1478 (unless (and query-replace-skip-read-only 1499 (unless (and query-replace-skip-read-only
1479 (text-property-not-all 1500 (text-property-not-all
1480 (match-beginning 0) (match-end 0) 1501 (nth 0 real-match-data) (nth 1 real-match-data)
1481 'read-only nil)) 1502 'read-only nil))
1482 1503
1483 ;; Record whether the match is nonempty, to avoid an infinite loop
1484 ;; repeatedly matching the same empty string.
1485 (setq nonempty-match
1486 (/= (nth 0 real-match-data) (nth 1 real-match-data)))
1487
1488 ;; If the match is empty, record that the next one can't be
1489 ;; adjacent.
1490
1491 ;; Otherwise, if matching a regular expression, do the next
1492 ;; match now, since the replacement for this match may
1493 ;; affect whether the next match is adjacent to this one.
1494 ;; If that match is empty, don't use it.
1495 (setq match-again
1496 (and nonempty-match
1497 (or (not regexp-flag)
1498 (and (looking-at search-string)
1499 (let ((match (match-data)))
1500 (and (/= (nth 0 match) (nth 1 match))
1501 match))))))
1502
1503 ;; Calculate the replacement string, if necessary. 1504 ;; Calculate the replacement string, if necessary.
1504 (when replacements 1505 (when replacements
1505 (set-match-data real-match-data) 1506 (set-match-data real-match-data)
diff --git a/lisp/simple.el b/lisp/simple.el
index 47047d9ef6d..c55c7596624 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -4561,10 +4561,6 @@ See also `read-mail-command' concerning reading mail."
4561 (insert body)) 4561 (insert body))
4562 t))) 4562 t)))
4563 4563
4564(define-mail-user-agent 'mh-e-user-agent
4565 'mh-smail-batch 'mh-send-letter 'mh-fully-kill-draft
4566 'mh-before-send-letter-hook)
4567
4568(defun compose-mail (&optional to subject other-headers continue 4564(defun compose-mail (&optional to subject other-headers continue
4569 switch-function yank-action send-actions) 4565 switch-function yank-action send-actions)
4570 "Start composing a mail message to send. 4566 "Start composing a mail message to send.
diff --git a/lisp/startup.el b/lisp/startup.el
index 533f9dbeaae..155ef1d3e79 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -781,6 +781,7 @@ opening the first frame (e.g. open a connection to an X server).")
781 (custom-reevaluate-setting 'mouse-wheel-down-event) 781 (custom-reevaluate-setting 'mouse-wheel-down-event)
782 (custom-reevaluate-setting 'mouse-wheel-up-event) 782 (custom-reevaluate-setting 'mouse-wheel-up-event)
783 (custom-reevaluate-setting 'file-name-shadow-mode) 783 (custom-reevaluate-setting 'file-name-shadow-mode)
784 (custom-reevaluate-setting 'send-mail-function)
784 785
785 (normal-erase-is-backspace-setup-frame) 786 (normal-erase-is-backspace-setup-frame)
786 787
diff --git a/lisp/subr.el b/lisp/subr.el
index 01444481b22..c03fa3be5a0 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -2268,20 +2268,33 @@ that can be used as the ALIST argument to `try-completion' and
2268 ((not ,mode) (try-completion ,string (,fun ,string) ,predicate)) 2268 ((not ,mode) (try-completion ,string (,fun ,string) ,predicate))
2269 (t (test-completion ,string (,fun ,string) ,predicate))))))) 2269 (t (test-completion ,string (,fun ,string) ,predicate)))))))
2270 2270
2271(defmacro lazy-completion-table (var fun &rest args) 2271(defmacro lazy-completion-table (var fun)
2272 ;; We used to have `&rest args' where `args' were evaluated late (at the
2273 ;; time of the call to `fun'), which was counter intuitive. But to get
2274 ;; them to be evaluated early, we have to either use lexical-let (which is
2275 ;; not available in subr.el) or use `(lambda (,str) ...) which prevents the use
2276 ;; of lexical-let in the callers.
2277 ;; So we just removed the argument. Callers can then simply use either of:
2278 ;; (lazy-completion-table var (lambda () (fun x y)))
2279 ;; or
2280 ;; (lazy-completion-table var `(lambda () (fun ',x ',y)))
2281 ;; or
2282 ;; (lexical-let ((x x)) ((y y))
2283 ;; (lazy-completion-table var (lambda () (fun x y))))
2284 ;; depending on the behavior they want.
2272 "Initialize variable VAR as a lazy completion table. 2285 "Initialize variable VAR as a lazy completion table.
2273If the completion table VAR is used for the first time (e.g., by passing VAR 2286If the completion table VAR is used for the first time (e.g., by passing VAR
2274as an argument to `try-completion'), the function FUN is called with arguments 2287as an argument to `try-completion'), the function FUN is called with no
2275ARGS. FUN must return the completion table that will be stored in VAR. 2288arguments. FUN must return the completion table that will be stored in VAR.
2276If completion is requested in the minibuffer, FUN will be called in the buffer 2289If completion is requested in the minibuffer, FUN will be called in the buffer
2277from which the minibuffer was entered. The return value of 2290from which the minibuffer was entered. The return value of
2278`lazy-completion-table' must be used to initialize the value of VAR." 2291`lazy-completion-table' must be used to initialize the value of VAR."
2279 (declare (debug (symbol lambda-expr def-body))) 2292 (declare (debug (symbol lambda-expr)))
2280 (let ((str (make-symbol "string"))) 2293 (let ((str (make-symbol "string")))
2281 `(dynamic-completion-table 2294 `(dynamic-completion-table
2282 (lambda (,str) 2295 (lambda (,str)
2283 (when (functionp ,var) 2296 (when (functionp ,var)
2284 (setq ,var (,fun ,@args))) 2297 (setq ,var (,fun)))
2285 ,var)))) 2298 ,var))))
2286 2299
2287(defmacro complete-in-turn (a b) 2300(defmacro complete-in-turn (a b)
diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el
index 82c79ae2569..161b5fbc126 100644
--- a/lisp/textmodes/bibtex.el
+++ b/lisp/textmodes/bibtex.el
@@ -1044,13 +1044,15 @@ At most `bibtex-entry-kill-ring-max' items are kept here.")
1044 1044
1045(defvar bibtex-strings 1045(defvar bibtex-strings
1046 (lazy-completion-table bibtex-strings 1046 (lazy-completion-table bibtex-strings
1047 bibtex-parse-strings (bibtex-string-files-init)) 1047 (lambda ()
1048 (bibtex-parse-strings (bibtex-string-files-init))))
1048 "Completion table for BibTeX string keys. 1049 "Completion table for BibTeX string keys.
1049Initialized from `bibtex-predefined-strings' and `bibtex-string-files'.") 1050Initialized from `bibtex-predefined-strings' and `bibtex-string-files'.")
1050(make-variable-buffer-local 'bibtex-strings) 1051(make-variable-buffer-local 'bibtex-strings)
1051 1052
1052(defvar bibtex-reference-keys 1053(defvar bibtex-reference-keys
1053 (lazy-completion-table bibtex-reference-keys bibtex-parse-keys nil t) 1054 (lazy-completion-table bibtex-reference-keys
1055 (lambda () (bibtex-parse-keys nil t)))
1054 "Completion table for BibTeX reference keys. 1056 "Completion table for BibTeX reference keys.
1055The CDRs of the elements are t for header keys and nil for crossref keys.") 1057The CDRs of the elements are t for header keys and nil for crossref keys.")
1056(make-variable-buffer-local 'bibtex-reference-keys) 1058(make-variable-buffer-local 'bibtex-reference-keys)
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index cad65b3b59d..33582af28b9 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -1308,10 +1308,12 @@ The list of incorrect words should be in `flyspell-external-ispell-buffer'.
1308\(We finish by killing that buffer and setting the variable to nil.) 1308\(We finish by killing that buffer and setting the variable to nil.)
1309The buffer to mark them in is `flyspell-large-region-buffer'." 1309The buffer to mark them in is `flyspell-large-region-buffer'."
1310 (let (words-not-found 1310 (let (words-not-found
1311 (ispell-otherchars (ispell-get-otherchars))) 1311 (ispell-otherchars (ispell-get-otherchars))
1312 (buffer-scan-pos flyspell-large-region-beg))
1312 (with-current-buffer flyspell-external-ispell-buffer 1313 (with-current-buffer flyspell-external-ispell-buffer
1313 (goto-char (point-min)) 1314 (goto-char (point-min))
1314 ;; Loop over incorrect words. 1315 ;; Loop over incorrect words, in the order they were reported,
1316 ;; which is also the order they appear in the buffer being checked.
1315 (while (re-search-forward "\\([^\n]+\\)\n" nil t) 1317 (while (re-search-forward "\\([^\n]+\\)\n" nil t)
1316 ;; Bind WORD to the next one. 1318 ;; Bind WORD to the next one.
1317 (let ((word (match-string 1)) (wordpos (point))) 1319 (let ((word (match-string 1)) (wordpos (point)))
@@ -1325,43 +1327,53 @@ The buffer to mark them in is `flyspell-large-region-buffer'."
1325 (* 100 (/ (float (point)) (point-max))) 1327 (* 100 (/ (float (point)) (point-max)))
1326 word)) 1328 word))
1327 (with-current-buffer flyspell-large-region-buffer 1329 (with-current-buffer flyspell-large-region-buffer
1328 (goto-char flyspell-large-region-beg) 1330 (goto-char buffer-scan-pos)
1329 (let ((keep t)) 1331 (let ((keep t))
1330 ;; Iterate on string search until string is found as word, 1332 ;; Iterate on string search until string is found as word,
1331 ;; not as substring 1333 ;; not as substring
1332 (while keep 1334 (while keep
1333 (if (search-forward word 1335 (if (search-forward word
1334 flyspell-large-region-end t) 1336 flyspell-large-region-end t)
1335 (save-excursion 1337 (let* ((found-list
1336 (goto-char (- (point) 1)) 1338 (save-excursion
1337 (let* ((flyword-prev-l (flyspell-get-word nil)) 1339 ;; Move back into the match
1338 (flyword-prev (car flyword-prev-l)) 1340 ;; so flyspell-get-word will find it.
1339 (size-match (= (length flyword-prev) (length word)))) 1341 (forward-char -1)
1340 (when (or 1342 (flyspell-get-word nil)))
1341 ;; size matches, we are done 1343 (found (car found-list))
1342 size-match 1344 (found-length (length found))
1343 ;; Matches as part of a boundary-char separated word 1345 (misspell-length (length word)))
1344 (member word 1346 (when (or
1345 (split-string flyword-prev ispell-otherchars)) 1347 ;; Size matches, we really found it.
1346 ;; ispell treats beginning of some TeX 1348 (= found-length misspell-length)
1347 ;; commands as nroff control sequences 1349 ;; Matches as part of a boundary-char separated word
1348 ;; and strips them in the list of 1350 (member word
1349 ;; misspelled words thus giving a 1351 (split-string found ispell-otherchars))
1350 ;; non-existent word. Skip if ispell 1352 ;; Misspelling has higher length than
1351 ;; is used, string is a TeX command 1353 ;; what flyspell considers the
1352 ;; (char before beginning of word is 1354 ;; word. Caused by boundary-chars
1353 ;; backslash) and none of the previous 1355 ;; mismatch. Validating seems safe.
1354 ;; contitions match 1356 (< found-length misspell-length)
1355 (and (not ispell-really-aspell) 1357 ;; ispell treats beginning of some TeX
1356 (save-excursion 1358 ;; commands as nroff control sequences
1357 (goto-char (- (nth 1 flyword-prev-l) 1)) 1359 ;; and strips them in the list of
1358 (if (looking-at "[\\]" ) 1360 ;; misspelled words thus giving a
1359 t 1361 ;; non-existent word. Skip if ispell
1360 nil)))) 1362 ;; is used, string is a TeX command
1361 (setq keep nil) 1363 ;; (char before beginning of word is
1362 (flyspell-word) 1364 ;; backslash) and none of the previous
1363 ;; Next search will begin from end of last match 1365 ;; contitions match
1364 ))) 1366 (and (not ispell-really-aspell)
1367 (save-excursion
1368 (goto-char (- (nth 1 found-list) 1))
1369 (if (looking-at "[\\]" )
1370 t
1371 nil))))
1372 (setq keep nil)
1373 (flyspell-word)
1374 ;; Search for next misspelled word will begin from
1375 ;; end of last validated match.
1376 (setq buffer-scan-pos (point))))
1365 ;; Record if misspelling is not found and try new one 1377 ;; Record if misspelling is not found and try new one
1366 (add-to-list 'words-not-found 1378 (add-to-list 'words-not-found
1367 (concat " -> " word " - " 1379 (concat " -> " word " - "
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog
index 9abb65d389d..ac6afe45608 100644
--- a/lisp/url/ChangeLog
+++ b/lisp/url/ChangeLog
@@ -1,3 +1,10 @@
12005-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * url-cache.el (url-store-in-cache): Use save-current-buffer.
4
5 * url.el (url-configuration-directory): Don't autoload because the
6 default value needs to be computed at run-time, not dump-time.
7
12005-12-21 Stefan Monnier <monnier@iro.umontreal.ca> 82005-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
2 9
3 * url-cookie.el (url-cookie-write-file): Create parent dir. 10 * url-cookie.el (url-cookie-write-file): Create parent dir.
diff --git a/lisp/url/url-cache.el b/lisp/url/url-cache.el
index 40967446dd7..b8c2b063adc 100644
--- a/lisp/url/url-cache.el
+++ b/lisp/url/url-cache.el
@@ -65,7 +65,7 @@ FILE can be created or overwritten."
65 "Store buffer BUFF in the cache." 65 "Store buffer BUFF in the cache."
66 (if (not (and buff (get-buffer buff))) 66 (if (not (and buff (get-buffer buff)))
67 nil 67 nil
68 (save-excursion 68 (save-current-buffer
69 (and buff (set-buffer buff)) 69 (and buff (set-buffer buff))
70 (let* ((fname (url-cache-create-filename (url-view-url t)))) 70 (let* ((fname (url-cache-create-filename (url-view-url t))))
71 (if (url-cache-prepare fname) 71 (if (url-cache-prepare fname)
@@ -202,5 +202,5 @@ Very fast if you have an `md5' primitive function, suitably fast otherwise."
202 202
203(provide 'url-cache) 203(provide 'url-cache)
204 204
205;;; arch-tag: 95b050a6-8e81-4f23-8e63-191b9d1d657c 205;; arch-tag: 95b050a6-8e81-4f23-8e63-191b9d1d657c
206;;; url-cache.el ends here 206;;; url-cache.el ends here
diff --git a/lisp/url/url.el b/lisp/url/url.el
index 296b2b9f868..6d6540ac82a 100644
--- a/lisp/url/url.el
+++ b/lisp/url/url.el
@@ -47,7 +47,6 @@
47(require 'url-util) 47(require 'url-util)
48 48
49;; Fixme: customize? convert-standard-filename? 49;; Fixme: customize? convert-standard-filename?
50;;;###autoload
51(defvar url-configuration-directory 50(defvar url-configuration-directory
52 (cond 51 (cond
53 ((file-directory-p "~/.url") "~/.url") 52 ((file-directory-p "~/.url") "~/.url")
diff --git a/lisp/vc.el b/lisp/vc.el
index ed6b13ac2ec..bf3486a9b67 100644
--- a/lisp/vc.el
+++ b/lisp/vc.el
@@ -659,7 +659,6 @@ List of factors, used to expand/compress the time scale. See `vc-annotate'."
659 659
660(defvar vc-annotate-mode-map 660(defvar vc-annotate-mode-map
661 (let ((m (make-sparse-keymap))) 661 (let ((m (make-sparse-keymap)))
662 (define-key m [menu-bar] (make-sparse-keymap "VC-Annotate"))
663 (define-key m "A" 'vc-annotate-revision-previous-to-line) 662 (define-key m "A" 'vc-annotate-revision-previous-to-line)
664 (define-key m "D" 'vc-annotate-show-diff-revision-at-line) 663 (define-key m "D" 'vc-annotate-show-diff-revision-at-line)
665 (define-key m "J" 'vc-annotate-revision-at-line) 664 (define-key m "J" 'vc-annotate-revision-at-line)
@@ -670,9 +669,6 @@ List of factors, used to expand/compress the time scale. See `vc-annotate'."
670 m) 669 m)
671 "Local keymap used for VC-Annotate mode.") 670 "Local keymap used for VC-Annotate mode.")
672 671
673(defvar vc-annotate-mode-menu nil
674 "Local keymap used for VC-Annotate mode's menu bar menu.")
675
676;; Header-insertion hair 672;; Header-insertion hair
677 673
678(defcustom vc-static-header-alist 674(defcustom vc-static-header-alist
@@ -2926,19 +2922,19 @@ menu items."
2926 '(vc-annotate-font-lock-keywords t)) 2922 '(vc-annotate-font-lock-keywords t))
2927 (view-mode 1)) 2923 (view-mode 1))
2928 2924
2929(defun vc-annotate-display-default (&optional ratio) 2925(defun vc-annotate-display-default (ratio)
2930 "Display the output of \\[vc-annotate] using the default color range. 2926 "Display the output of \\[vc-annotate] using the default color range.
2931The color range is given by `vc-annotate-color-map', scaled by RATIO 2927The color range is given by `vc-annotate-color-map', scaled by RATIO.
2932if present. The current time is used as the offset." 2928The current time is used as the offset."
2933 (interactive "e") 2929 (interactive (progn (kill-local-variable 'vc-annotate-color-map) '(1.0)))
2934 (message "Redisplaying annotation...") 2930 (message "Redisplaying annotation...")
2935 (vc-annotate-display 2931 (vc-annotate-display ratio)
2936 (if ratio (vc-annotate-time-span vc-annotate-color-map ratio)))
2937 (message "Redisplaying annotation...done")) 2932 (message "Redisplaying annotation...done"))
2938 2933
2939(defun vc-annotate-car-last-cons (a-list) 2934(defun vc-annotate-oldest-in-map (color-map)
2940 "Return car of last cons in association list A-LIST." 2935 "Return the oldest time in the COLOR-MAP."
2941 (caar (last a-list))) 2936 ;; Since entries should be sorted, we can just use the last one.
2937 (caar (last color-map)))
2942 2938
2943(defun vc-annotate-display-autoscale (&optional full) 2939(defun vc-annotate-display-autoscale (&optional full)
2944 "Highlight the output of \\[vc-annotate] using an autoscaled color map. 2940 "Highlight the output of \\[vc-annotate] using an autoscaled color map.
@@ -2962,10 +2958,8 @@ cover the range from the oldest annotation to the newest."
2962 (if (< date oldest) 2958 (if (< date oldest)
2963 (setq oldest date)))) 2959 (setq oldest date))))
2964 (vc-annotate-display 2960 (vc-annotate-display
2965 (vc-annotate-time-span ;return the scaled colormap. 2961 (/ (- (if full newest current) oldest)
2966 vc-annotate-color-map 2962 (vc-annotate-oldest-in-map vc-annotate-color-map))
2967 (/ (- (if full newest current) oldest)
2968 (vc-annotate-car-last-cons vc-annotate-color-map)))
2969 (if full newest)) 2963 (if full newest))
2970 (message "Redisplaying annotation...done \(%s\)" 2964 (message "Redisplaying annotation...done \(%s\)"
2971 (if full 2965 (if full
@@ -2982,22 +2976,17 @@ cover the range from the oldest annotation to the newest."
2982 (setq vc-annotate-display-mode nil) 2976 (setq vc-annotate-display-mode nil)
2983 (vc-annotate-display-select)) 2977 (vc-annotate-display-select))
2984 :style toggle :selected (null vc-annotate-display-mode)] 2978 :style toggle :selected (null vc-annotate-display-mode)]
2985 ,@(let ((oldest-in-map (vc-annotate-car-last-cons vc-annotate-color-map))) 2979 ,@(let ((oldest-in-map (vc-annotate-oldest-in-map vc-annotate-color-map)))
2986 (mapcar (lambda (element) 2980 (mapcar (lambda (element)
2987 (let ((days (* element oldest-in-map))) 2981 (let ((days (* element oldest-in-map)))
2988 `([,(format "Span %.1f days" days) 2982 `[,(format "Span %.1f days" days)
2989 (unless (and (numberp vc-annotate-display-mode) 2983 (vc-annotate-display-select nil ,days)
2990 (= vc-annotate-display-mode ,days)) 2984 :style toggle :selected
2991 (vc-annotate-display-select nil ,days)) 2985 (eql vc-annotate-display-mode ,days) ]))
2992 :style toggle :selected
2993 (and (numberp vc-annotate-display-mode)
2994 (= vc-annotate-display-mode ,days)) ])))
2995 vc-annotate-menu-elements)) 2986 vc-annotate-menu-elements))
2996 ["Span ..." 2987 ["Span ..."
2997 (let ((days 2988 (vc-annotate-display-select
2998 (float (string-to-number 2989 nil (float (string-to-number (read-string "Span how many days? "))))]
2999 (read-string "Span how many days? ")))))
3000 (vc-annotate-display-select nil days)) t]
3001 "--" 2990 "--"
3002 ["Span to Oldest" 2991 ["Span to Oldest"
3003 (unless (eq vc-annotate-display-mode 'scale) 2992 (unless (eq vc-annotate-display-mode 'scale)
@@ -3031,23 +3020,21 @@ use; you may override this using the second optional arg MODE."
3031 (if (not vc-annotate-parent-rev) 3020 (if (not vc-annotate-parent-rev)
3032 (vc-annotate-mode)) 3021 (vc-annotate-mode))
3033 (cond ((null vc-annotate-display-mode) 3022 (cond ((null vc-annotate-display-mode)
3034 (vc-annotate-display-default vc-annotate-ratio)) 3023 ;; The ratio is global, thus relative to the global color-map.
3035 ;; One of the auto-scaling modes 3024 (kill-local-variable 'vc-annotate-color-map)
3025 (vc-annotate-display-default (or vc-annotate-ratio 1.0)))
3026 ;; One of the auto-scaling modes
3036 ((eq vc-annotate-display-mode 'scale) 3027 ((eq vc-annotate-display-mode 'scale)
3037 (vc-annotate-display-autoscale)) 3028 (vc-annotate-display-autoscale))
3038 ((eq vc-annotate-display-mode 'fullscale) 3029 ((eq vc-annotate-display-mode 'fullscale)
3039 (vc-annotate-display-autoscale t)) 3030 (vc-annotate-display-autoscale t))
3040 ((numberp vc-annotate-display-mode) ; A fixed number of days lookback 3031 ((numberp vc-annotate-display-mode) ; A fixed number of days lookback
3041 (vc-annotate-display-default 3032 (vc-annotate-display-default
3042 (/ vc-annotate-display-mode (vc-annotate-car-last-cons 3033 (/ vc-annotate-display-mode
3043 vc-annotate-color-map)))) 3034 (vc-annotate-oldest-in-map vc-annotate-color-map))))
3044 (t (error "No such display mode: %s" 3035 (t (error "No such display mode: %s"
3045 vc-annotate-display-mode)))) 3036 vc-annotate-display-mode))))
3046 3037
3047;;;; (defun vc-BACKEND-annotate-command (file buffer) ...)
3048;;;; Execute "annotate" on FILE by using `call-process' and insert
3049;;;; the contents in BUFFER.
3050
3051;;;###autoload 3038;;;###autoload
3052(defun vc-annotate (file rev &optional display-mode buf) 3039(defun vc-annotate (file rev &optional display-mode buf)
3053 "Display the edit history of the current file using colors. 3040 "Display the edit history of the current file using colors.
@@ -3100,9 +3087,6 @@ colors. `vc-annotate-background' specifies the background color."
3100 (rename-buffer temp-buffer-name t) 3087 (rename-buffer temp-buffer-name t)
3101 ;; In case it had to be uniquified. 3088 ;; In case it had to be uniquified.
3102 (setq temp-buffer-name (buffer-name)))) 3089 (setq temp-buffer-name (buffer-name))))
3103 (if (not (vc-find-backend-function vc-annotate-backend 'annotate-command))
3104 (error "Sorry, annotating is not implemented for %s"
3105 vc-annotate-backend))
3106 (with-output-to-temp-buffer temp-buffer-name 3090 (with-output-to-temp-buffer temp-buffer-name
3107 (vc-call annotate-command file (get-buffer temp-buffer-name) rev)) 3091 (vc-call annotate-command file (get-buffer temp-buffer-name) rev))
3108 (with-current-buffer temp-buffer-name 3092 (with-current-buffer temp-buffer-name
@@ -3143,9 +3127,6 @@ versions after."
3143(defun vc-annotate-extract-revision-at-line () 3127(defun vc-annotate-extract-revision-at-line ()
3144 "Extract the revision number of the current line." 3128 "Extract the revision number of the current line."
3145 ;; This function must be invoked from a buffer in vc-annotate-mode 3129 ;; This function must be invoked from a buffer in vc-annotate-mode
3146 (save-window-excursion
3147 (vc-ensure-vc-buffer)
3148 (setq vc-annotate-backend (vc-backend buffer-file-name)))
3149 (vc-call-backend vc-annotate-backend 'annotate-extract-revision-at-line)) 3130 (vc-call-backend vc-annotate-backend 'annotate-extract-revision-at-line))
3150 3131
3151(defun vc-annotate-revision-at-line () 3132(defun vc-annotate-revision-at-line ()
@@ -3243,18 +3224,6 @@ revision."
3243 (previous-line) 3224 (previous-line)
3244 (line-number-at-pos)))))))) 3225 (line-number-at-pos))))))))
3245 3226
3246(defun vc-annotate-time-span (a-list span &optional quantize)
3247 "Apply factor SPAN to the time-span of association list A-LIST.
3248Return the new alist.
3249Optionally quantize to the factor of QUANTIZE."
3250 ;; Apply span to each car of every cons
3251 (if (not (eq nil a-list))
3252 (append (list (cons (* (car (car a-list)) span)
3253 (cdr (car a-list))))
3254 (vc-annotate-time-span (nthcdr (or quantize ; optional
3255 1) ; Default to cdr
3256 a-list) span quantize))))
3257
3258(defun vc-annotate-compcar (threshold a-list) 3227(defun vc-annotate-compcar (threshold a-list)
3259 "Test successive cons cells of A-LIST against THRESHOLD. 3228 "Test successive cons cells of A-LIST against THRESHOLD.
3260Return the first cons cell with a car that is not less than THRESHOLD, 3229Return the first cons cell with a car that is not less than THRESHOLD,
@@ -3289,12 +3258,14 @@ or OFFSET if present."
3289 3258
3290(defvar vc-annotate-offset nil) 3259(defvar vc-annotate-offset nil)
3291 3260
3292(defun vc-annotate-display (&optional color-map offset) 3261(defun vc-annotate-display (ratio &optional offset)
3293 "Highlight `vc-annotate' output in the current buffer. 3262 "Highlight `vc-annotate' output in the current buffer.
3294COLOR-MAP, if present, overrides `vc-annotate-color-map'. 3263RATIO, is the expansion that should be applied to `vc-annotate-color-map'.
3295The annotations are relative to the current time, unless overridden by OFFSET." 3264The annotations are relative to the current time, unless overridden by OFFSET."
3296 (if (and color-map (not (eq color-map vc-annotate-color-map))) 3265 (if (/= ratio 1.0)
3297 (set (make-local-variable 'vc-annotate-color-map) color-map)) 3266 (set (make-local-variable 'vc-annotate-color-map)
3267 (mapcar (lambda (elem) (cons (* (car elem) ratio) (cdr elem)))
3268 vc-annotate-color-map)))
3298 (set (make-local-variable 'vc-annotate-offset) offset) 3269 (set (make-local-variable 'vc-annotate-offset) offset)
3299 (font-lock-mode 1)) 3270 (font-lock-mode 1))
3300 3271
diff --git a/lispref/ChangeLog b/lispref/ChangeLog
index 0f350aa4480..e812c834c01 100644
--- a/lispref/ChangeLog
+++ b/lispref/ChangeLog
@@ -1,3 +1,8 @@
12005-12-28 Luc Teirlinck <teirllm@auburn.edu>
2
3 * minibuf.texi (Basic Completion): Update lazy-completion-table
4 examples for removal of ARGS argument.
5
12005-12-23 Richard M. Stallman <rms@gnu.org> 62005-12-23 Richard M. Stallman <rms@gnu.org>
2 7
3 * text.texi (Undo): Restore some explanation from the version 8 * text.texi (Undo): Restore some explanation from the version
diff --git a/lispref/minibuf.texi b/lispref/minibuf.texi
index 3517cb8092b..6f98785f69f 100644
--- a/lispref/minibuf.texi
+++ b/lispref/minibuf.texi
@@ -768,22 +768,19 @@ in this list, with @code{case-fold-search} (@pxref{Searching and Case})
768bound to the value of @code{completion-ignore-case}. 768bound to the value of @code{completion-ignore-case}.
769@end defvar 769@end defvar
770 770
771@defmac lazy-completion-table var fun &rest args 771@defmac lazy-completion-table var fun
772This macro provides a way to initialize the variable @var{var} as a 772This macro provides a way to initialize the variable @var{var} as a
773collection for completion in a lazy way, not computing its actual 773collection for completion in a lazy way, not computing its actual
774contents until they are first needed. You use this macro to produce a 774contents until they are first needed. You use this macro to produce a
775value that you store in @var{var}. The actual computation of the 775value that you store in @var{var}. The actual computation of the
776proper value is done the first time you do completion using @var{var}. 776proper value is done the first time you do completion using @var{var}.
777It is done by calling @var{fun} with the arguments @var{args}. The 777It is done by calling @var{fun} with no arguments. The
778value @var{fun} returns becomes the permanent value of @var{var}. 778value @var{fun} returns becomes the permanent value of @var{var}.
779 779
780Here are two examples of use: 780Here is an example of use:
781 781
782@smallexample 782@smallexample
783(defvar foo (lazy-completion-table foo make-my-alist 'global)) 783(defvar foo (lazy-completion-table foo make-my-alist))
784
785(make-local-variable 'bar)
786(setq bar (lazy-completion-table foo make-my-alist 'local)
787@end smallexample 784@end smallexample
788@end defmac 785@end defmac
789 786
@@ -954,7 +951,7 @@ uses this to highlight text in the completion list for better visual
954feedback. This is not needed in the minibuffer; for minibuffer 951feedback. This is not needed in the minibuffer; for minibuffer
955completion, you can pass @code{nil}. 952completion, you can pass @code{nil}.
956 953
957This function is called by @code{minibuffer-completion-help}. The 954This function is called by @code{minibuffer-completion-help}. The
958most common way to use it is together with 955most common way to use it is together with
959@code{with-output-to-temp-buffer}, like this: 956@code{with-output-to-temp-buffer}, like this:
960 957
diff --git a/man/ChangeLog b/man/ChangeLog
index a5774d68c87..3c4b718c796 100644
--- a/man/ChangeLog
+++ b/man/ChangeLog
@@ -1,3 +1,13 @@
12005-12-28 Luc Teirlinck <teirllm@auburn.edu>
2
3 * org.texi: Remove blank line in @direntry. It is non-standard
4 and recursively produces blank lines all over the dir file (when
5 using Texinfo 4.8).
6
72005-12-27 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
8
9 * frames.texi (Dialog Boxes): Add x-gtk-show-hidden-files.
10
12005-12-24 Chong Yidong <cyd@stupidchicken.com> 112005-12-24 Chong Yidong <cyd@stupidchicken.com>
2 12
3 * custom.texi (Custom Themes): `load-theme' always loads. 13 * custom.texi (Custom Themes): `load-theme' always loads.
diff --git a/man/frames.texi b/man/frames.texi
index 9d24f5ca90e..dd076262e82 100644
--- a/man/frames.texi
+++ b/man/frames.texi
@@ -994,6 +994,12 @@ by setting the variable @code{x-use-old-gtk-file-dialog} to a non-@code{nil}
994value. If Emacs is built with a Gtk+ version that has only one file dialog, 994value. If Emacs is built with a Gtk+ version that has only one file dialog,
995the setting of this variable has no effect. 995the setting of this variable has no effect.
996 996
997@vindex x-gtk-show-hidden-files
998 For Gtk+ version 2.4 and newer, Emacs use the Gtk+ file chooser dialog.
999Emacs adds a toggle button that enables and disables showing of hidden files
1000(files starting with a dot) in that dialog. This variable controls if
1001hidden files should be shown by default or not.
1002
997@node Tooltips 1003@node Tooltips
998@section Tooltips 1004@section Tooltips
999@cindex tooltips 1005@cindex tooltips
diff --git a/man/org.texi b/man/org.texi
index 5056119b3b2..6d7d831a98f 100644
--- a/man/org.texi
+++ b/man/org.texi
@@ -9,8 +9,7 @@
9 9
10@dircategory Emacs 10@dircategory Emacs
11@direntry 11@direntry
12* Org Mode: (org). outline-based notes management and organizer 12* Org Mode: (org). outline-based notes management and organizer.
13
14@end direntry 13@end direntry
15 14
16@c Version and Contact Info 15@c Version and Contact Info
diff --git a/src/ChangeLog b/src/ChangeLog
index f14f216f1d3..4f6cb895004 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,69 @@
12005-12-28 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
2
3 * gtkutil.c (xg_get_file_with_chooser): Changed message shown
4 in file chooser.
5
62005-12-27 Richard M. Stallman <rms@gnu.org>
7
8 * lread.c (readevalloop): Set PT and ZV in the proper buffer,
9 not the current one.
10
11 * minibuf.c (Fminibuffer_message): Doc fix.
12 (read_minibuf): Set current_buffer->enable_multibyte_characters sooner.
13
14 * eval.c (do_autoload): Ignore elements of Vautoload_queue
15 where car is not symbol.
16
172005-12-27 Kenichi Handa <handa@m17n.org>
18
19 * charset.c (lisp_string_width): Check multibyteness of STRING.
20
212005-12-27 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
22
23 * xfns.c: x_show_hidden_files, new variable.
24 (syms_of_xfns): Defvar it.
25
26 * gtkutil.c (xg_toggle_visibility_cb): New function.
27 (xg_get_file_with_chooser): Add toggle hidden files and a message
28 to the new file chooser dialog. Show hidden files if
29 x_show_hidden_files is non-zero.
30
312005-12-26 Richard M. Stallman <rms@gnu.org>
32
33 * keyboard.h: Undo previous change.
34
35 * Makefile.in (undo.o): Undo previous change.
36
37 * undo.c: Undo previous change.
38
392005-12-26 Luc Teirlinck <teirllm@auburn.edu>
40
41 * keyboard.h: extern last_point_position_window.
42
43 * undo.c: include keyboard.h.
44
45 * Makefile.in (undo.o): Depend on keyboard.h.
46
472005-12-26 Richard M. Stallman <rms@gnu.org>
48
49 * commands.h (last_point_position_window): Declare.
50
51 * undo.c: Depend on window.h.
52 (record_point): Save old point from the correct window.
53
54 * keyboard.c (last_point_position_window): New variable.
55 (command_loop_1): Set last_point_position_window.
56 (syms_of_keyboard): Init it.
57
58 * Makefile.in (undo.o): Depend on window.h.
59
602005-12-25 Richard M. Stallman <rms@gnu.org>
61
62 * eval.c (un_autoload): Expect (0 . OFEATURES) in Vautoload_queue
63 to undo a `provide'.
64
65 * fns.c (Fprovide): Store (0 . OFEATURES) in Vautoload_queue.
66
12005-12-25 Giorgos Keramidas <keramida@ceid.upatras.gr> 672005-12-25 Giorgos Keramidas <keramida@ceid.upatras.gr>
2 68
3 * m/amdx86-64.h [__FreeBSD__] (START_FILES, LIB_STANDARD): 69 * m/amdx86-64.h [__FreeBSD__] (START_FILES, LIB_STANDARD):
diff --git a/src/Makefile.in b/src/Makefile.in
index 1054b76ac14..4b40e5acecb 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1175,7 +1175,7 @@ terminal.o: terminal.c frame.h termchar.h termhooks.h charset.h coding.h \
1175 keyboard.h $(config_h) 1175 keyboard.h $(config_h)
1176terminfo.o: terminfo.c $(config_h) 1176terminfo.o: terminfo.c $(config_h)
1177tparam.o: tparam.c $(config_h) 1177tparam.o: tparam.c $(config_h)
1178undo.o: undo.c buffer.h commands.h $(config_h) 1178undo.o: undo.c buffer.h commands.h window.h $(config_h)
1179/* This hack is to discard any space that cpp might put at the beginning 1179/* This hack is to discard any space that cpp might put at the beginning
1180 of UNEXEC when substituting it in. */ 1180 of UNEXEC when substituting it in. */
1181UNEXEC_ALIAS=UNEXEC 1181UNEXEC_ALIAS=UNEXEC
diff --git a/src/charset.c b/src/charset.c
index 2c985b14dbc..fb9804c0306 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -1344,6 +1344,10 @@ lisp_string_width (string, precision, nchars, nbytes)
1344{ 1344{
1345 int len = SCHARS (string); 1345 int len = SCHARS (string);
1346 int len_byte = SBYTES (string); 1346 int len_byte = SBYTES (string);
1347 /* This set multibyte to 0 even if STRING is multibyte when it
1348 contains only ascii and eight-bit-graphic, but that's
1349 intentional. */
1350 int multibyte = len < len_byte;
1347 const unsigned char *str = SDATA (string); 1351 const unsigned char *str = SDATA (string);
1348 int i = 0, i_byte = 0; 1352 int i = 0, i_byte = 0;
1349 int width = 0; 1353 int width = 0;
@@ -1366,8 +1370,12 @@ lisp_string_width (string, precision, nchars, nbytes)
1366 } 1370 }
1367 else if (dp) 1371 else if (dp)
1368 { 1372 {
1369 int c = STRING_CHAR_AND_LENGTH (str + i_byte, len - i_byte, bytes); 1373 int c;
1370 1374
1375 if (multibyte)
1376 c = STRING_CHAR_AND_LENGTH (str + i_byte, len - i_byte, bytes);
1377 else
1378 c = str[i_byte], bytes = 1;
1371 chars = 1; 1379 chars = 1;
1372 val = DISP_CHAR_VECTOR (dp, c); 1380 val = DISP_CHAR_VECTOR (dp, c);
1373 if (VECTORP (val)) 1381 if (VECTORP (val))
@@ -1378,7 +1386,10 @@ lisp_string_width (string, precision, nchars, nbytes)
1378 else 1386 else
1379 { 1387 {
1380 chars = 1; 1388 chars = 1;
1381 PARSE_MULTIBYTE_SEQ (str + i_byte, len_byte - i_byte, bytes); 1389 if (multibyte)
1390 PARSE_MULTIBYTE_SEQ (str + i_byte, len_byte - i_byte, bytes);
1391 else
1392 bytes = 1;
1382 thiswidth = ONE_BYTE_CHAR_WIDTH (str[i_byte]); 1393 thiswidth = ONE_BYTE_CHAR_WIDTH (str[i_byte]);
1383 } 1394 }
1384 1395
diff --git a/src/commands.h b/src/commands.h
index c1330af273e..ed46141bf11 100644
--- a/src/commands.h
+++ b/src/commands.h
@@ -75,12 +75,15 @@ extern Lisp_Object Vthis_command;
75 events until a non-ASCII event is acceptable as input. */ 75 events until a non-ASCII event is acceptable as input. */
76extern Lisp_Object unread_switch_frame; 76extern Lisp_Object unread_switch_frame;
77 77
78/* The value of point when the last command was executed. */ 78/* The value of point when the last command was started. */
79extern int last_point_position; 79extern int last_point_position;
80 80
81/* The buffer that was current when the last command was started. */ 81/* The buffer that was current when the last command was started. */
82extern Lisp_Object last_point_position_buffer; 82extern Lisp_Object last_point_position_buffer;
83 83
84/* The window that was selected when the last command was started. */
85extern Lisp_Object last_point_position_window;
86
84/* Nonzero means ^G can quit instantly */ 87/* Nonzero means ^G can quit instantly */
85extern int immediate_quit; 88extern int immediate_quit;
86 89
diff --git a/src/eval.c b/src/eval.c
index 86859e4ddae..a6c58bc2425 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -103,7 +103,7 @@ Lisp_Object Vrun_hooks;
103/* Non-nil means record all fset's and provide's, to be undone 103/* Non-nil means record all fset's and provide's, to be undone
104 if the file being autoloaded is not fully loaded. 104 if the file being autoloaded is not fully loaded.
105 They are recorded by being consed onto the front of Vautoload_queue: 105 They are recorded by being consed onto the front of Vautoload_queue:
106 (FUN . ODEF) for a defun, (OFEATURES . nil) for a provide. */ 106 (FUN . ODEF) for a defun, (0 . OFEATURES) for a provide. */
107 107
108Lisp_Object Vautoload_queue; 108Lisp_Object Vautoload_queue;
109 109
@@ -2022,8 +2022,8 @@ un_autoload (oldqueue)
2022 first = XCAR (queue); 2022 first = XCAR (queue);
2023 second = Fcdr (first); 2023 second = Fcdr (first);
2024 first = Fcar (first); 2024 first = Fcar (first);
2025 if (EQ (second, Qnil)) 2025 if (EQ (first, make_number (0)))
2026 Vfeatures = first; 2026 Vfeatures = second;
2027 else 2027 else
2028 Ffset (first, second); 2028 Ffset (first, second);
2029 queue = XCDR (queue); 2029 queue = XCDR (queue);
@@ -2069,7 +2069,7 @@ do_autoload (fundef, funname)
2069 second = Fcdr (first); 2069 second = Fcdr (first);
2070 first = Fcar (first); 2070 first = Fcar (first);
2071 2071
2072 if (CONSP (second) && EQ (XCAR (second), Qautoload)) 2072 if (SYMBOLP (first) && CONSP (second) && EQ (XCAR (second), Qautoload))
2073 Fput (first, Qautoload, (XCDR (second))); 2073 Fput (first, Qautoload, (XCDR (second)));
2074 2074
2075 queue = XCDR (queue); 2075 queue = XCDR (queue);
diff --git a/src/fns.c b/src/fns.c
index d30d49a80c7..70b9cf0d30f 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -3519,7 +3519,8 @@ particular subfeatures supported in this version of FEATURE. */)
3519 CHECK_SYMBOL (feature); 3519 CHECK_SYMBOL (feature);
3520 CHECK_LIST (subfeatures); 3520 CHECK_LIST (subfeatures);
3521 if (!NILP (Vautoload_queue)) 3521 if (!NILP (Vautoload_queue))
3522 Vautoload_queue = Fcons (Fcons (Vfeatures, Qnil), Vautoload_queue); 3522 Vautoload_queue = Fcons (Fcons (make_number (0), Vfeatures),
3523 Vautoload_queue);
3523 tem = Fmemq (feature, Vfeatures); 3524 tem = Fmemq (feature, Vfeatures);
3524 if (NILP (tem)) 3525 if (NILP (tem))
3525 Vfeatures = Fcons (feature, Vfeatures); 3526 Vfeatures = Fcons (feature, Vfeatures);
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 9da3c5bf457..cb8e5a21860 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -1220,6 +1220,19 @@ xg_get_file_name_from_chooser (w)
1220 return gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (w)); 1220 return gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (w));
1221} 1221}
1222 1222
1223static void
1224xg_toggle_visibility_cb (widget, data)
1225 GtkWidget *widget;
1226 gpointer data;
1227{
1228 GtkFileChooser *dialog = GTK_FILE_CHOOSER (data);
1229 gboolean visible;
1230 extern int x_gtk_show_hidden_files;
1231 g_object_get (G_OBJECT (dialog), "show-hidden", &visible, NULL);
1232 g_object_set (G_OBJECT (dialog), "show-hidden", !visible, NULL);
1233 x_gtk_show_hidden_files = !visible;
1234}
1235
1223/* Read a file name from the user using a file chooser dialog. 1236/* Read a file name from the user using a file chooser dialog.
1224 F is the current frame. 1237 F is the current frame.
1225 PROMPT is a prompt to show to the user. May not be NULL. 1238 PROMPT is a prompt to show to the user. May not be NULL.
@@ -1239,11 +1252,14 @@ xg_get_file_with_chooser (f, prompt, default_filename,
1239 int mustmatch_p, only_dir_p; 1252 int mustmatch_p, only_dir_p;
1240 xg_get_file_func *func; 1253 xg_get_file_func *func;
1241{ 1254{
1242 GtkWidget *filewin; 1255 char message[1024];
1256
1257 GtkWidget *filewin, *wtoggle, *wbox, *wmessage;
1243 GtkWindow *gwin = GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)); 1258 GtkWindow *gwin = GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f));
1244 GtkFileChooserAction action = (mustmatch_p ? 1259 GtkFileChooserAction action = (mustmatch_p ?
1245 GTK_FILE_CHOOSER_ACTION_OPEN : 1260 GTK_FILE_CHOOSER_ACTION_OPEN :
1246 GTK_FILE_CHOOSER_ACTION_SAVE); 1261 GTK_FILE_CHOOSER_ACTION_SAVE);
1262 extern int x_gtk_show_hidden_files;
1247 1263
1248 if (only_dir_p) 1264 if (only_dir_p)
1249 action = GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER; 1265 action = GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER;
@@ -1256,6 +1272,31 @@ xg_get_file_with_chooser (f, prompt, default_filename,
1256 NULL); 1272 NULL);
1257 gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (filewin), TRUE); 1273 gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (filewin), TRUE);
1258 1274
1275 wbox = gtk_vbox_new (FALSE, 0);
1276 gtk_widget_show (wbox);
1277 wtoggle = gtk_check_button_new_with_label ("Show hidden files.");
1278
1279 if (x_gtk_show_hidden_files)
1280 {
1281 g_object_set (G_OBJECT (filewin), "show-hidden", TRUE, NULL);
1282 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wtoggle), TRUE);
1283 }
1284 gtk_widget_show (wtoggle);
1285 g_signal_connect (G_OBJECT (wtoggle), "clicked",
1286 G_CALLBACK (xg_toggle_visibility_cb), G_OBJECT(filewin));
1287
1288 message[0] = '\0';
1289 if (action != GTK_FILE_CHOOSER_ACTION_SAVE)
1290 strcat (message, "\nType C-l to display a file name text entry box.\n");
1291 strcat (message, "\nIf you don't like this file selector, customize "
1292 "use-file-dialog\nto turn it off, or type C-x C-f to visit files.");
1293
1294 wmessage = gtk_label_new (message);
1295 gtk_widget_show (wmessage);
1296 gtk_box_pack_start (GTK_BOX (wbox), wtoggle, FALSE, FALSE, 0);
1297 gtk_box_pack_start (GTK_BOX (wbox), wmessage, FALSE, FALSE, 0);
1298 gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER (filewin), wbox);
1299
1259 if (default_filename) 1300 if (default_filename)
1260 { 1301 {
1261 Lisp_Object file; 1302 Lisp_Object file;
diff --git a/src/keyboard.c b/src/keyboard.c
index 76ff053410e..c47fda8223c 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -377,12 +377,15 @@ Lisp_Object real_this_command;
377 command is stored in this-original-command. It is nil otherwise. */ 377 command is stored in this-original-command. It is nil otherwise. */
378Lisp_Object Vthis_original_command; 378Lisp_Object Vthis_original_command;
379 379
380/* The value of point when the last command was executed. */ 380/* The value of point when the last command was started. */
381int last_point_position; 381int last_point_position;
382 382
383/* The buffer that was current when the last command was started. */ 383/* The buffer that was current when the last command was started. */
384Lisp_Object last_point_position_buffer; 384Lisp_Object last_point_position_buffer;
385 385
386/* The window that was selected when the last command was started. */
387Lisp_Object last_point_position_window;
388
386/* The frame in which the last input event occurred, or Qmacro if the 389/* The frame in which the last input event occurred, or Qmacro if the
387 last event came from a macro. We use this to determine when to 390 last event came from a macro. We use this to determine when to
388 generate switch-frame events. This may be cleared by functions 391 generate switch-frame events. This may be cleared by functions
@@ -1619,6 +1622,7 @@ command_loop_1 ()
1619 prev_buffer = current_buffer; 1622 prev_buffer = current_buffer;
1620 prev_modiff = MODIFF; 1623 prev_modiff = MODIFF;
1621 last_point_position = PT; 1624 last_point_position = PT;
1625 last_point_position_window = selected_window;
1622 XSETBUFFER (last_point_position_buffer, prev_buffer); 1626 XSETBUFFER (last_point_position_buffer, prev_buffer);
1623 1627
1624 /* By default, we adjust point to a boundary of a region that 1628 /* By default, we adjust point to a boundary of a region that
@@ -11298,6 +11302,7 @@ syms_of_keyboard ()
11298 Fset (Qinput_method_use_echo_area, Qnil); 11302 Fset (Qinput_method_use_echo_area, Qnil);
11299 11303
11300 last_point_position_buffer = Qnil; 11304 last_point_position_buffer = Qnil;
11305 last_point_position_window = Qnil;
11301 11306
11302 { 11307 {
11303 struct event_head *p; 11308 struct event_head *p;
diff --git a/src/keyboard.h b/src/keyboard.h
index 48801dff216..45dbd495d28 100644
--- a/src/keyboard.h
+++ b/src/keyboard.h
@@ -312,7 +312,6 @@ extern Lisp_Object Vfunction_key_map;
312/* Parent keymap of terminal-local key-translation-map instances. */ 312/* Parent keymap of terminal-local key-translation-map instances. */
313extern Lisp_Object Vkey_translation_map; 313extern Lisp_Object Vkey_translation_map;
314 314
315
316extern int parse_menu_item P_ ((Lisp_Object, int, int)); 315extern int parse_menu_item P_ ((Lisp_Object, int, int));
317 316
318extern void echo_now P_ ((void)); 317extern void echo_now P_ ((void));
diff --git a/src/lread.c b/src/lread.c
index e6f1987a50b..6555737fa55 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -1345,10 +1345,20 @@ readevalloop (readcharfun, stream, sourcename, evalfun,
1345 if (b != 0 && NILP (b->name)) 1345 if (b != 0 && NILP (b->name))
1346 error ("Reading from killed buffer"); 1346 error ("Reading from killed buffer");
1347 1347
1348
1348 if (!NILP (start)) 1349 if (!NILP (start))
1349 { 1350 {
1351 /* Switch to the buffer we are reading from. */
1352 record_unwind_protect (save_excursion_restore, save_excursion_save ());
1353 set_buffer_internal (b);
1354
1355 /* Save point in it. */
1350 record_unwind_protect (save_excursion_restore, save_excursion_save ()); 1356 record_unwind_protect (save_excursion_restore, save_excursion_save ());
1357 /* Save ZV in it. */
1351 record_unwind_protect (save_restriction_restore, save_restriction_save ()); 1358 record_unwind_protect (save_restriction_restore, save_restriction_save ());
1359 /* Those get unbound after we read one expression. */
1360
1361 /* Set point and ZV around stuff to be read. */
1352 Fgoto_char (start); 1362 Fgoto_char (start);
1353 Fnarrow_to_region (make_number (BEGV), end); 1363 Fnarrow_to_region (make_number (BEGV), end);
1354 } 1364 }
diff --git a/src/minibuf.c b/src/minibuf.c
index af7fa60aba4..4025226574d 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -602,6 +602,10 @@ read_minibuf (map, initial, prompt, backup_n, expflag,
602 minibuffer = get_minibuffer (minibuf_level); 602 minibuffer = get_minibuffer (minibuf_level);
603 Fset_buffer (minibuffer); 603 Fset_buffer (minibuffer);
604 604
605 /* If appropriate, copy enable-multibyte-characters into the minibuffer. */
606 if (inherit_input_method)
607 current_buffer->enable_multibyte_characters = enable_multibyte;
608
605 /* The current buffer's default directory is usually the right thing 609 /* The current buffer's default directory is usually the right thing
606 for our minibuffer here. However, if you're typing a command at 610 for our minibuffer here. However, if you're typing a command at
607 a minibuffer-only frame when minibuf_level is zero, then buf IS 611 a minibuffer-only frame when minibuf_level is zero, then buf IS
@@ -673,10 +677,6 @@ read_minibuf (map, initial, prompt, backup_n, expflag,
673 677
674 minibuf_prompt_width = (int) current_column (); /* iftc */ 678 minibuf_prompt_width = (int) current_column (); /* iftc */
675 679
676 /* If appropriate, copy enable-multibyte-characters into the minibuffer. */
677 if (inherit_input_method)
678 current_buffer->enable_multibyte_characters = enable_multibyte;
679
680 /* Put in the initial input. */ 680 /* Put in the initial input. */
681 if (!NILP (initial)) 681 if (!NILP (initial))
682 { 682 {
@@ -1244,11 +1244,11 @@ is used to further constrain the set of candidates. */)
1244 int bestmatchsize = 0; 1244 int bestmatchsize = 0;
1245 /* These are in bytes, too. */ 1245 /* These are in bytes, too. */
1246 int compare, matchsize; 1246 int compare, matchsize;
1247 int type = HASH_TABLE_P (alist) ? 3 1247 int type = (HASH_TABLE_P (alist) ? 3
1248 : VECTORP (alist) ? 2 1248 : VECTORP (alist) ? 2
1249 : NILP (alist) || (CONSP (alist) 1249 : NILP (alist) || (CONSP (alist)
1250 && (!SYMBOLP (XCAR (alist)) 1250 && (!SYMBOLP (XCAR (alist))
1251 || NILP (XCAR (alist)))); 1251 || NILP (XCAR (alist)))));
1252 int index = 0, obsize = 0; 1252 int index = 0, obsize = 0;
1253 int matchcount = 0; 1253 int matchcount = 0;
1254 int bindcount = -1; 1254 int bindcount = -1;
@@ -2692,7 +2692,7 @@ temp_echo_area_glyphs (string)
2692DEFUN ("minibuffer-message", Fminibuffer_message, Sminibuffer_message, 2692DEFUN ("minibuffer-message", Fminibuffer_message, Sminibuffer_message,
2693 1, 1, 0, 2693 1, 1, 0,
2694 doc: /* Temporarily display STRING at the end of the minibuffer. 2694 doc: /* Temporarily display STRING at the end of the minibuffer.
2695The text is displayed for two seconds, 2695The text is displayed for a period controlled by `minibuffer-message-timeout',
2696or until the next input event arrives, whichever comes first. */) 2696or until the next input event arrives, whichever comes first. */)
2697 (string) 2697 (string)
2698 Lisp_Object string; 2698 Lisp_Object string;
diff --git a/src/undo.c b/src/undo.c
index ecbb714fddd..bf774affac5 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -24,6 +24,7 @@ Boston, MA 02110-1301, USA. */
24#include "lisp.h" 24#include "lisp.h"
25#include "buffer.h" 25#include "buffer.h"
26#include "commands.h" 26#include "commands.h"
27#include "window.h"
27 28
28/* Limits controlling how much undo information to keep. */ 29/* Limits controlling how much undo information to keep. */
29 30
@@ -100,12 +101,19 @@ record_point (pt)
100 /* If we are just after an undo boundary, and 101 /* If we are just after an undo boundary, and
101 point wasn't at start of deleted range, record where it was. */ 102 point wasn't at start of deleted range, record where it was. */
102 if (at_boundary 103 if (at_boundary
103 && last_point_position != pt
104 /* If we're called from batch mode, this could be nil. */
105 && BUFFERP (last_point_position_buffer) 104 && BUFFERP (last_point_position_buffer)
105 /* If we're called from batch mode, this could be nil. */
106 && current_buffer == XBUFFER (last_point_position_buffer)) 106 && current_buffer == XBUFFER (last_point_position_buffer))
107 current_buffer->undo_list 107 {
108 = Fcons (make_number (last_point_position), current_buffer->undo_list); 108 /* If we have switched windows, use the point value
109 from the window we are in. */
110 if (! EQ (last_point_position_window, selected_window))
111 last_point_position = marker_position (XWINDOW (selected_window)->pointm);
112
113 if (last_point_position != pt)
114 current_buffer->undo_list
115 = Fcons (make_number (last_point_position), current_buffer->undo_list);
116 }
109} 117}
110 118
111/* Record an insertion that just happened or is about to happen, 119/* Record an insertion that just happened or is about to happen,
diff --git a/src/xfns.c b/src/xfns.c
index 2aa237ec549..7bf302594be 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -155,6 +155,10 @@ int display_hourglass_p;
155 155
156int x_use_old_gtk_file_dialog; 156int x_use_old_gtk_file_dialog;
157 157
158/* If non-zero, by default show hidden files in the GTK file chooser. */
159
160int x_gtk_show_hidden_files;
161
158/* The background and shape of the mouse pointer, and shape when not 162/* The background and shape of the mouse pointer, and shape when not
159 over text or in the modeline. */ 163 over text or in the modeline. */
160 164
@@ -5790,6 +5794,12 @@ chooser is used instead. To turn off all file dialogs set the
5790variable `use-file-dialog'. */); 5794variable `use-file-dialog'. */);
5791 x_use_old_gtk_file_dialog = 0; 5795 x_use_old_gtk_file_dialog = 0;
5792 5796
5797 DEFVAR_BOOL ("x-gtk-show-hidden-files", &x_gtk_show_hidden_files,
5798 doc: /* *If non-nil, the GTK file chooser will by default show hidden files.
5799Note that this is just the default, there is a toggle button on the file
5800chooser to show or not show hidden files on a case by case basis. */);
5801 x_gtk_show_hidden_files = 0;
5802
5793 Fprovide (intern ("x"), Qnil); 5803 Fprovide (intern ("x"), Qnil);
5794 5804
5795#ifdef USE_X_TOOLKIT 5805#ifdef USE_X_TOOLKIT