aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorEli Zaretskii2010-01-22 15:40:56 -0500
committerEli Zaretskii2010-01-22 15:40:56 -0500
commitcf206f28eb11467aed7f5e03f3e4df7724fd98d2 (patch)
tree2f5695e6a774a918874b82c286f140abd052d860 /lisp
parent5a876cd5f810b611f78dd4cf7a1673bffeea19a9 (diff)
parentc893016b07f33eb8d56e1011245fe59a67cb4ee0 (diff)
downloademacs-cf206f28eb11467aed7f5e03f3e4df7724fd98d2.tar.gz
emacs-cf206f28eb11467aed7f5e03f3e4df7724fd98d2.zip
Merge from mainline.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog212
-rw-r--r--lisp/calc/calc.el2
-rw-r--r--lisp/calendar/time-date.el3
-rw-r--r--lisp/cedet/cedet-files.el2
-rw-r--r--lisp/cedet/ede/locate.el26
-rw-r--r--lisp/cedet/ede/proj-aux.el2
-rw-r--r--lisp/cedet/semantic.el54
-rw-r--r--lisp/cedet/semantic/db-ebrowse.el12
-rw-r--r--lisp/cedet/semantic/db-el.el14
-rw-r--r--lisp/cedet/semantic/db-find.el30
-rw-r--r--lisp/cedet/semantic/db-global.el12
-rw-r--r--lisp/cedet/semantic/db-javascript.el18
-rw-r--r--lisp/cedet/semantic/idle.el10
-rw-r--r--lisp/cedet/semantic/util-modes.el20
-rw-r--r--lisp/cedet/srecode/dictionary.el4
-rw-r--r--lisp/cedet/srecode/extract.el2
-rw-r--r--lisp/dired-aux.el2
-rw-r--r--lisp/dired.el4
-rw-r--r--lisp/emacs-lisp/advice.el32
-rw-r--r--lisp/emacs-lisp/chart.el6
-rw-r--r--lisp/emacs-lisp/eieio-speedbar.el4
-rw-r--r--lisp/emacs-lisp/eieio.el18
-rw-r--r--lisp/emulation/viper-cmd.el38
-rw-r--r--lisp/files.el2
-rw-r--r--lisp/gnus/ChangeLog14
-rw-r--r--lisp/gnus/message.el49
-rw-r--r--lisp/gnus/nnmairix.el2
-rw-r--r--lisp/ido.el34
-rw-r--r--lisp/indent.el10
-rw-r--r--lisp/isearch.el5
-rw-r--r--lisp/jka-compr.el9
-rw-r--r--lisp/mail/mail-utils.el2
-rw-r--r--lisp/mail/rmail.el3
-rw-r--r--lisp/mail/rmailmm.el5
-rw-r--r--lisp/mail/sendmail.el14
-rw-r--r--lisp/net/tramp.el2
-rw-r--r--lisp/nxml/nxml-mode.el21
-rw-r--r--lisp/progmodes/ada-mode.el227
-rw-r--r--lisp/progmodes/cc-defs.el6
-rw-r--r--lisp/progmodes/cc-engine.el11
-rw-r--r--lisp/term.el13
-rw-r--r--lisp/term/x-win.el14
-rw-r--r--lisp/textmodes/artist.el34
-rw-r--r--lisp/textmodes/sgml-mode.el6
-rw-r--r--lisp/vc-dir.el5
-rw-r--r--lisp/vc-dispatcher.el5
-rw-r--r--lisp/vc.el14
-rw-r--r--lisp/whitespace.el12
48 files changed, 710 insertions, 336 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 5ff2d7b24c0..c59ecbae67b 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,9 +1,219 @@
12010-01-22 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * mail/rmailmm.el (rmail-mime-handle): Don't set the buffer to unibyte
4 just because we see "encoding: 8bit".
5 * mail/rmail.el (rmail-show-message-1): Decode the body's QP into bytes.
6
72010-01-22 Chong Yidong <cyd@stupidchicken.com>
8
9 * isearch.el (isearch-allow-scroll): Doc fix (Bug#5446).
10
112010-01-22 Eli Zaretskii <eliz@gnu.org>
12
13 * jka-compr.el (jka-compr-load): If load-file is not in
14 load-history, try its file-truename version. (bug#5447)
15
162010-01-21 Alan Mackenzie <acm@muc.de>
17
18 Fix a situation where deletion of a cpp construct throws an error.
19 * progmodes/cc-engine.el (c-invalidate-state-cache): Before
20 invoking c-with-all-but-one-cpps-commented-out, check that the
21 special cpp construct is still in the buffer.
22 (c-parse-state): Record the special cpp with markers, not numbers.
23
242010-01-21 Kenichi Handa <handa@m17n.org>
25
26 * textmodes/sgml-mode.el (sgml-maybe-name-self): No need to
27 process last-command-event, as it is now decoded first (Bug#5380).
28
292010-01-20 Chong Yidong <cyd@stupidchicken.com>
30
31 * term.el (term-send-raw-meta): Revert 2009-12-04 change (Bug#5330).
32
332010-01-20 Glenn Morris <rgm@gnu.org>
34
35 * indent.el (tab-always-indent): Fix custom-type.
36
372010-01-19 Alan Mackenzie <acm@muc.de>
38
39 * progmodes/cc-defs.el: Fix bug#5395: typing '#' in an empty
40 buffer throws "args out of range".
41 (c-set-cpp-delimiters, c-clear-cpp-delimiters): Check for EOB
42 playing the role of delimiter.
43
442010-01-18 Stephen Leake <stephen_leake@member.fsf.org>
45
46 * lisp/progmodes/ada-mode.el: Fix bug#5400.
47 (ada-matching-decl-start-re): Move into ada-goto-decl-start.
48 (ada-goto-decl-start): Rename from ada-goto-matching-decl-start; callers
49 changed. Delete RECURSIVE parameter; never used. Improve doc string.
50 Improve comments in "is" portion. Handle null procedure declaration.
51 (ada-move-to-end): Improve doc string.
52
532010-01-18 Óscar Fuentes <ofv@wanadoo.es>
54
55 * ido.el (ido-cur-list): Initialize to nil.
56 Remove obsolete information from commentary.
57 (ido-choice-list): Initialize to nil.
58 (ido-get-bufname): Reject minibuffers.
59 (ido-make-buffer-list): If "default" is a nonexistent
60 buffer, ignore it, as per the function's comment.
61 (ido-kill-buffer-internal): New function.
62 (ido-kill-buffer-at-head): Use it.
63 (ido-visit-buffer): Likewise.
64
652010-01-18 Chong Yidong <cyd@stupidchicken.com>
66
67 * calendar/time-date.el (date-to-time): Doc fix (Bug#5408).
68
692010-01-18 Juanma Barranquero <lekktu@gmail.com>
70
71 * cedet/ede/locate.el (ede-locate-file-in-project)
72 (ede-locate-file-in-project-impl): Fix typos in docstrings.
73 (ede-enable-locate-on-project): Fix typos in error messages.
74
75 * cedet/semantic/util-modes.el (semantic-unmatched-syntax-face)
76 (semantic-stickyfunc-old-hlf, semantic-stickyfunc-header-line-format)
77 (semantic-stickyfunc-sticky-classes, semantic-highlight-func-mode-setup)
78 (semantic-stickyfunc-fetch-stickyline): Fix typos in docstrings.
79 (semantic-stickyfunc-popup-menu, semantic-highlight-func-popup-menu):
80 Fix typos in menu help.
81
82 * emacs-lisp/chart.el (chart-file-count, chart-rmail-from):
83 Fix typos in chart titles.
84
85 * whitespace.el (whitespace-style, global-whitespace-newline-mode):
86 * cedet/semantic.el (semantic-require-version, semantic--buffer-cache)
87 (semantic-unmatched-syntax-cache-check, semantic-unmatched-syntax-hook)
88 (semantic--before-fetch-tags-hook, semantic-new-buffer-fcn-was-run)
89 (semantic--umatched-syntax-needs-refresh-p, semantic-elapsed-time)
90 (semantic-parse-stream, semantic-parse-region)
91 (semantic-parse-region-default, semantic--set-buffer-cache)
92 (semantic-minimum-working-buffer-size, semantic-refresh-tags-safe)
93 (semantic-bovinate-toplevel, semantic-load-system-cache-loaded)
94 (semantic-default-submodes):
95 * cedet/semantic/db-ebrowse.el (semanticdb-table-ebrowse)
96 (semanticdb-create-ebrowse-database)
97 (semanticdb-find-tags-for-completion-method)
98 (semanticdb-find-tags-by-class-method)
99 (semanticdb-deep-find-tags-by-name-method)
100 (semanticdb-deep-find-tags-for-completion-method):
101 * cedet/semantic/db-el.el (semanticdb-elisp-mapatom-collector)
102 (semanticdb-find-tags-by-name-method, emacs-lisp-mode)
103 (semanticdb-find-tags-for-completion-method)
104 (semanticdb-find-tags-by-class-method)
105 (semanticdb-deep-find-tags-for-completion-method):
106 * cedet/semantic/db-find.el (semanticdb-find-translate-path)
107 (semanticdb-find-need-cache-update-p, semanticdb-find-result-with-nil-p)
108 (semanticdb-find-scanned-include-tags, semanticdb-find-tags-collector)
109 (semanticdb-find-tags-by-name-method)
110 (semanticdb-find-tags-by-name-regexp-method)
111 (semanticdb-find-tags-for-completion-method)
112 (semanticdb-find-tags-by-class-method)
113 (semanticdb-find-tags-external-children-of-type-method)
114 (semanticdb-find-tags-subclasses-of-type-method)
115 (semanticdb-deep-find-tags-by-name-method)
116 (semanticdb-deep-find-tags-by-name-regexp-method)
117 (semanticdb-deep-find-tags-for-completion-method):
118 * cedet/semantic/db-global.el (semanticdb-enable-gnu-global-hook)
119 (semanticdb-enable-gnu-global-in-buffer)
120 (semanticdb-find-tags-for-completion-method)
121 (semanticdb-deep-find-tags-by-name-method)
122 (semanticdb-deep-find-tags-for-completion-method):
123 * cedet/semantic/db-javascript.el (semanticdb-javascript-tags)
124 (javascript-mode, semanticdb-find-translate-path)
125 (semanticdb-find-tags-for-completion-method)
126 (semanticdb-find-tags-by-class-method)
127 (semanticdb-deep-find-tags-by-name-method)
128 (semanticdb-deep-find-tags-for-completion-method)
129 (semanticdb-find-tags-external-children-of-type-method):
130 * cedet/semantic/idle.el (semantic-idle-work-core-handler)
131 (define-semantic-idle-service, semantic-idle-summary-useful-context-p)
132 (global-semantic-idle-scheduler-mode):
133 * cedet/srecode/dictionary.el (srecode-field-value)
134 (srecode-dictionary-add-section-dictionary):
135 * emacs-lisp/eieio.el (eieio-error-unsupported-class-tags)
136 (eieio-generic-form, eieio-help-mode-augmentation-maybee, eieio-browse)
137 (describe-class, eieio-describe-generic, describe-generic):
138 * emacs-lisp/eieio-speedbar.el (eieio-speedbar-handle-click)
139 (eieio-speedbar-expand):
140 * emulation/viper-cmd.el (viper-exec-form-in-vi)
141 (viper-exec-form-in-emacs, viper-harness-minor-mode, viper-ESC)
142 (viper-repeat, viper-replace-state-exit-cmd, viper-toggle-search-style)
143 (viper-del-backward-char-in-replace, viper-backward-indent)
144 (viper-brac-function, viper-register-to-point, viper-submit-report):
145 * net/tramp.el (tramp-remote-coding-commands):
146 * term/x-win.el (emacs-session-save, x-menu-bar-open, icon-map-list):
147 Fix typos in docstrings.
148
1492010-01-17 Chong Yidong <cyd@stupidchicken.com>
150
151 * mail/sendmail.el (mail-yank-original): Set the mark if the
152 specified function for yanking does not do it.
153
1542010-01-17 Dan Nicolaescu <dann@ics.uci.edu>
155
156 * vc.el (with-vc-properties): Deal with directory arguments. (Bug#5298)
157
158 * vc-dir.el (vc-dir-resynch-file): Update the vc-dir header when
159 resyncing a directory.
160
1612010-01-17 Stephen Leake <stephen_leake@member.fsf.org>
162
163 * progmodes/ada-mode.el: Fix bug#1920.
164 (ada-ident-re): Delete ., allow multibyte characters.
165 (ada-goto-label-re): New; matches goto labels.
166 (ada-block-label-re): New; matches block labels.
167 (ada-label-re): New; matches both.
168 (ada-named-block-re): Deleted; callers changed to use
169 `ada-block-label-re' instead.
170 (ada-get-current-indent, ada-get-indent-noindent, ada-get-indent-loop):
171 Use `ada-block-label-re'.
172 (ada-indent-on-previous-lines): Improve handling of goto labels.
173 (ada-get-indent-block-start): Special-case block label.
174 (ada-get-indent-label): Split into `ada-indent-block-label' and
175 `ada-indent-goto-label'.
176 (ada-goto-stmt-start, ada-goto-next-non-ws):
177 Optionally ignore goto labels.
178 (ada-goto-next-word): Simplify.
179 (ada-indent-newline-indent-conditional): Insert newline before
180 trying to fix indentation; doc fix.
181
1822010-01-17 Jay Belanger <jay.p.belanger@gmail.com>
183
184 * calc/calc.el (calc-command-flags): Give it an initial value.
185
1862010-01-17 Glenn Morris <rgm@gnu.org>
187
188 * cedet/semantic/idle.el (semantic-idle-work-for-one-buffer): Doc fix.
189
1902010-01-17 Juanma Barranquero <lekktu@gmail.com>
191
192 * cedet/semantic.el (semantic-mode):
193 * files.el (minibuffer-with-setup-hook):
194 * textmodes/artist.el (artist-mt, artist-key-undraw-continously)
195 (artist-key-draw-continously, artist-key-do-continously-continously)
196 (artist-key-set-point-continously, artist-mouse-draw-continously):
197 Fix typos in docstrings.
198
1992010-01-16 Lennart Borgman <lennart.borgman@gmail.com>
200
201 * nxml/nxml-mode.el (nxml-extend-after-change-region): Never
202 return t (Bug#3898).
203
2042010-01-16 Frédéric Perrin <frederic.perrin@resel.fr> (tiny change)
205
206 * vc-dispatcher.el (vc-do-command): Set LC_MESSAGES, so that we
207 can parse the output of the external commands (Bug#5279).
208
12010-01-16 Jari Aalto <jari.aalto@cante.net> 2092010-01-16 Jari Aalto <jari.aalto@cante.net>
2 210
3 * pcmpl-unix.el (pcmpl-unix-read-passwd-file): Doc fix. 211 * pcmpl-unix.el (pcmpl-unix-read-passwd-file): Doc fix.
4 212
52010-01-16 Chong Yidong <cyd@stupidchicken.com> 2132010-01-16 Chong Yidong <cyd@stupidchicken.com>
6 214
215 * emacs-lisp/advice.el (ad-add-advice): Doc fix (Bug#5274)
216
7 * emacs-lisp/cl-macs.el (defstruct): Doc fix (Bug#5267). 217 * emacs-lisp/cl-macs.el (defstruct): Doc fix (Bug#5267).
8 218
9 * startup.el (command-line): Remove unused --icon-type arg. 219 * startup.el (command-line): Remove unused --icon-type arg.
@@ -34,7 +244,7 @@
342010-01-15 Kenichi Handa <handa@m17n.org> 2442010-01-15 Kenichi Handa <handa@m17n.org>
35 245
36 * international/mule-cmds.el (canonicalize-coding-system-name): 246 * international/mule-cmds.el (canonicalize-coding-system-name):
37 Convert "msXXX", "ibmXXX", "windows-XXX" to "cpXXX". 247 Convert "msXXX", "ibmXXX", "windows-XXX" to "cpXXX" (Bug#5387).
38 248
392010-01-15 Glenn Morris <rgm@gnu.org> 2492010-01-15 Glenn Morris <rgm@gnu.org>
40 250
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el
index a3f95fc73ef..2a6ec97ef5c 100644
--- a/lisp/calc/calc.el
+++ b/lisp/calc/calc.el
@@ -1546,7 +1546,7 @@ See calc-keypad for details."
1546 1546
1547(defvar calc-aborted-prefix nil) 1547(defvar calc-aborted-prefix nil)
1548(defvar calc-start-time nil) 1548(defvar calc-start-time nil)
1549(defvar calc-command-flags) 1549(defvar calc-command-flags nil)
1550(defvar calc-final-point-line) 1550(defvar calc-final-point-line)
1551(defvar calc-final-point-column) 1551(defvar calc-final-point-column)
1552;;; Note that modifications to this function may break calc-pass-errors. 1552;;; Note that modifications to this function may break calc-pass-errors.
diff --git a/lisp/calendar/time-date.el b/lisp/calendar/time-date.el
index 3b4495881f6..914d2d33928 100644
--- a/lisp/calendar/time-date.el
+++ b/lisp/calendar/time-date.el
@@ -98,7 +98,8 @@ and type 2 is the list (HIGH LOW MICRO)."
98 98
99;;;###autoload 99;;;###autoload
100(defun date-to-time (date) 100(defun date-to-time (date)
101 "Parse a string DATE that represents a date-time and return a time value." 101 "Parse a string DATE that represents a date-time and return a time value.
102If DATE lacks timezone information, GMT is assumed."
102 (condition-case () 103 (condition-case ()
103 (apply 'encode-time 104 (apply 'encode-time
104 (parse-time-string 105 (parse-time-string
diff --git a/lisp/cedet/cedet-files.el b/lisp/cedet/cedet-files.el
index 5d149ee7560..9dacf062288 100644
--- a/lisp/cedet/cedet-files.el
+++ b/lisp/cedet/cedet-files.el
@@ -69,7 +69,7 @@ specific conversions during tests."
69 (let ((file referencefile)) 69 (let ((file referencefile))
70 ;; Replace the ! with / 70 ;; Replace the ! with /
71 (setq file (subst-char-in-string ?! ?/ file)) 71 (setq file (subst-char-in-string ?! ?/ file))
72 ;; Occurances of // meant there was once a single !. 72 ;; Occurrences of // meant there was once a single !.
73 (setq file (replace-regexp-in-string "//" "!" file)) 73 (setq file (replace-regexp-in-string "//" "!" file))
74 74
75 ;; Handle Windows special cases 75 ;; Handle Windows special cases
diff --git a/lisp/cedet/ede/locate.el b/lisp/cedet/ede/locate.el
index 0f9e4b22be2..099e193f010 100644
--- a/lisp/cedet/ede/locate.el
+++ b/lisp/cedet/ede/locate.el
@@ -97,7 +97,7 @@ based on `ede-locate-setup-options'."
97 (setq ans 'ede-locate-base)) 97 (setq ans 'ede-locate-base))
98 (oset proj locate-obj (make-instance ans "Loc" :root root)) 98 (oset proj locate-obj (make-instance ans "Loc" :root root))
99 (when (called-interactively-p 'interactive) 99 (when (called-interactively-p 'interactive)
100 (message "Setting locator to %s." ans)) 100 (message "Setting locator to %s" ans))
101 )) 101 ))
102 102
103;;; LOCATE BASECLASS 103;;; LOCATE BASECLASS
@@ -142,9 +142,9 @@ based on `ede-locate-setup-options'."
142(defmethod ede-locate-file-in-project ((loc ede-locate-base) 142(defmethod ede-locate-file-in-project ((loc ede-locate-base)
143 filesubstring 143 filesubstring
144 ) 144 )
145 "Locate with LOC occurances of FILESUBSTRING. 145 "Locate with LOC occurrences of FILESUBSTRING.
146Searches are done under the current root of the EDE project 146Searches are done under the current root of the EDE project
147that crated this ede locat object." 147that created this EDE locate object."
148 (let ((ans (ede-locate-file-in-project-impl loc filesubstring)) 148 (let ((ans (ede-locate-file-in-project-impl loc filesubstring))
149 ) 149 )
150 (oset loc file filesubstring) 150 (oset loc file filesubstring)
@@ -154,9 +154,9 @@ that crated this ede locat object."
154(defmethod ede-locate-file-in-project-impl ((loc ede-locate-base) 154(defmethod ede-locate-file-in-project-impl ((loc ede-locate-base)
155 filesubstring 155 filesubstring
156 ) 156 )
157 "Locate with LOC occurances of FILESUBSTRING. 157 "Locate with LOC occurrences of FILESUBSTRING.
158Searches are done under the current root of the EDE project 158Searches are done under the current root of the EDE project
159that crated this ede locat object." 159that created this EDE locate object."
160 nil 160 nil
161 ) 161 )
162 162
@@ -180,9 +180,9 @@ configure the use of EDE locate.")
180 180
181(defmethod ede-locate-file-in-project-impl ((loc ede-locate-locate) 181(defmethod ede-locate-file-in-project-impl ((loc ede-locate-locate)
182 filesubstring) 182 filesubstring)
183 "Locate with LOC occurances of FILESUBSTRING under PROJECTROOT. 183 "Locate with LOC occurrences of FILESUBSTRING under PROJECTROOT.
184Searches are done under the current root of the EDE project 184Searches are done under the current root of the EDE project
185that crated this ede locat object." 185that created this EDE locate object."
186 ;; We want something like: 186 ;; We want something like:
187 ;; /my/project/root*/filesubstring.c 187 ;; /my/project/root*/filesubstring.c
188 (let* ((searchstr (concat (directory-file-name (oref loc root)) 188 (let* ((searchstr (concat (directory-file-name (oref loc root))
@@ -235,9 +235,9 @@ variable `cedet-global-command'.")
235 235
236(defmethod ede-locate-file-in-project-impl ((loc ede-locate-global) 236(defmethod ede-locate-file-in-project-impl ((loc ede-locate-global)
237 filesubstring) 237 filesubstring)
238 "Locate with LOC occurances of FILESUBSTRING under PROJECTROOT. 238 "Locate with LOC occurrences of FILESUBSTRING under PROJECTROOT.
239Searches are done under the current root of the EDE project 239Searches are done under the current root of the EDE project
240that crated this ede locat object." 240that created this EDE locate object."
241 (require 'cedet-global) 241 (require 'cedet-global)
242 (let ((default-directory (oref loc root))) 242 (let ((default-directory (oref loc root)))
243 (cedet-gnu-global-expand-filename filesubstring))) 243 (cedet-gnu-global-expand-filename filesubstring)))
@@ -273,9 +273,9 @@ file name searching variable `cedet-idutils-file-command'.")
273 273
274(defmethod ede-locate-file-in-project-impl ((loc ede-locate-idutils) 274(defmethod ede-locate-file-in-project-impl ((loc ede-locate-idutils)
275 filesubstring) 275 filesubstring)
276 "Locate with LOC occurances of FILESUBSTRING under PROJECTROOT. 276 "Locate with LOC occurrences of FILESUBSTRING under PROJECTROOT.
277Searches are done under the current root of the EDE project 277Searches are done under the current root of the EDE project
278that crated this ede locat object." 278that created this EDE locate object."
279 (require 'cedet-idutils) 279 (require 'cedet-idutils)
280 (let ((default-directory (oref loc root))) 280 (let ((default-directory (oref loc root)))
281 (cedet-idutils-expand-filename filesubstring))) 281 (cedet-idutils-expand-filename filesubstring)))
@@ -309,9 +309,9 @@ file name searching variable `cedet-cscope-file-command'.")
309 309
310(defmethod ede-locate-file-in-project-impl ((loc ede-locate-cscope) 310(defmethod ede-locate-file-in-project-impl ((loc ede-locate-cscope)
311 filesubstring) 311 filesubstring)
312 "Locate with LOC occurances of FILESUBSTRING under PROJECTROOT. 312 "Locate with LOC occurrences of FILESUBSTRING under PROJECTROOT.
313Searches are done under the current root of the EDE project 313Searches are done under the current root of the EDE project
314that crated this ede locat object." 314that created this EDE locate object."
315 (let ((default-directory (oref loc root))) 315 (let ((default-directory (oref loc root)))
316 (cedet-cscope-expand-filename filesubstring))) 316 (cedet-cscope-expand-filename filesubstring)))
317 317
diff --git a/lisp/cedet/ede/proj-aux.el b/lisp/cedet/ede/proj-aux.el
index 9011c62674f..26bc9540e82 100644
--- a/lisp/cedet/ede/proj-aux.el
+++ b/lisp/cedet/ede/proj-aux.el
@@ -1,4 +1,4 @@
1;;; ede/proj-aux.el --- EDE Generic Project auxilliary file support 1;;; ede/proj-aux.el --- EDE Generic Project auxiliary file support
2 2
3;; Copyright (C) 1998, 1999, 2000, 2007, 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 1998, 1999, 2000, 2007, 2009, 2010 Free Software Foundation, Inc.
4 4
diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el
index 108a8c4b294..b7d5f700d78 100644
--- a/lisp/cedet/semantic.el
+++ b/lisp/cedet/semantic.el
@@ -45,7 +45,7 @@
45(declare-function semanticdb-load-ebrowse-caches "semantic/db-ebrowse") 45(declare-function semanticdb-load-ebrowse-caches "semantic/db-ebrowse")
46 46
47(defun semantic-require-version (major minor &optional beta) 47(defun semantic-require-version (major minor &optional beta)
48 "Non-nil if this version of semantic does not satisfy a specific version. 48 "Non-nil if this version of Semantic does not satisfy a specific version.
49Arguments can be: 49Arguments can be:
50 50
51 (MAJOR MINOR &optional BETA) 51 (MAJOR MINOR &optional BETA)
@@ -130,7 +130,7 @@ this is returned instead of re-parsing the buffer.
130 DO NOT USE THIS VARIABLE IN PROGRAMS. 130 DO NOT USE THIS VARIABLE IN PROGRAMS.
131 131
132If you need a tag list, use `semantic-fetch-tags'. If you need the 132If you need a tag list, use `semantic-fetch-tags'. If you need the
133cached values for some reason, chances are you can, add a hook to 133cached values for some reason, chances are you can add a hook to
134`semantic-after-toplevel-cache-change-hook'.") 134`semantic-after-toplevel-cache-change-hook'.")
135(make-variable-buffer-local 'semantic--buffer-cache) 135(make-variable-buffer-local 'semantic--buffer-cache)
136(semantic-varalias-obsolete 'semantic-toplevel-bovine-cache 136(semantic-varalias-obsolete 'semantic-toplevel-bovine-cache
@@ -141,7 +141,7 @@ cached values for some reason, chances are you can, add a hook to
141(make-variable-buffer-local 'semantic-unmatched-syntax-cache) 141(make-variable-buffer-local 'semantic-unmatched-syntax-cache)
142 142
143(defvar semantic-unmatched-syntax-cache-check nil 143(defvar semantic-unmatched-syntax-cache-check nil
144 "Non nil if the unmatched syntax cache is out of date. 144 "Non-nil if the unmatched syntax cache is out of date.
145This is tracked with `semantic-change-function'.") 145This is tracked with `semantic-change-function'.")
146(make-variable-buffer-local 'semantic-unmatched-syntax-cache-check) 146(make-variable-buffer-local 'semantic-unmatched-syntax-cache-check)
147 147
@@ -154,18 +154,18 @@ will not change the tag structure, such as adding or updating
154`top-level' comments.") 154`top-level' comments.")
155 155
156(defvar semantic-unmatched-syntax-hook nil 156(defvar semantic-unmatched-syntax-hook nil
157 "Hooks run when semantic detects syntax not matched in a grammar. 157 "Hooks run when Semantic detects syntax not matched in a grammar.
158Each individual piece of syntax (such as a symbol or punctuation 158Each individual piece of syntax (such as a symbol or punctuation
159character) is called with this hook when it doesn't match in the 159character) is called with this hook when it doesn't match in the
160grammar, and multiple unmatched syntax elements are not grouped 160grammar, and multiple unmatched syntax elements are not grouped
161together. Each hook is called with one argument, which is a list of 161together. Each hook is called with one argument, which is a list
162syntax tokens created by the semantic lexer. Use the functions 162of syntax tokens created by the semantic lexer. Use the functions
163`semantic-lex-token-start', `semantic-lex-token-end' and 163`semantic-lex-token-start', `semantic-lex-token-end' and
164`semantic-lex-token-text' to get information about these tokens. The 164`semantic-lex-token-text' to get information about these tokens.
165current buffer is the buffer these tokens are derived from.") 165The current buffer is the buffer these tokens are derived from.")
166 166
167(defvar semantic--before-fetch-tags-hook nil 167(defvar semantic--before-fetch-tags-hook nil
168 "Hooks run before a buffer is parses for tags. 168 "Hooks run before a buffer is parsed for tags.
169It is called before any request for tags is made via the function 169It is called before any request for tags is made via the function
170`semantic-fetch-tags' by an application. 170`semantic-fetch-tags' by an application.
171If any hook returns a nil value, the cached value is returned 171If any hook returns a nil value, the cached value is returned
@@ -311,7 +311,7 @@ a parse of the buffer.")
311 'semantic-init-db-hook "23.2") 311 'semantic-init-db-hook "23.2")
312 312
313(defvar semantic-new-buffer-fcn-was-run nil 313(defvar semantic-new-buffer-fcn-was-run nil
314 "Non nil after `semantic-new-buffer-fcn' has been executed.") 314 "Non-nil after `semantic-new-buffer-fcn' has been executed.")
315(make-variable-buffer-local 'semantic-new-buffer-fcn-was-run) 315(make-variable-buffer-local 'semantic-new-buffer-fcn-was-run)
316 316
317(defsubst semantic-active-p () 317(defsubst semantic-active-p ()
@@ -320,7 +320,7 @@ a parse of the buffer.")
320 320
321(defsubst semantic--umatched-syntax-needs-refresh-p () 321(defsubst semantic--umatched-syntax-needs-refresh-p ()
322 "Return non-nil if the unmatched syntax cache needs a refresh. 322 "Return non-nil if the unmatched syntax cache needs a refresh.
323That is if it is dirty or if the current parse tree isn't up to date." 323That is, if it is dirty or if the current parse tree isn't up to date."
324 (or semantic-unmatched-syntax-cache-check 324 (or semantic-unmatched-syntax-cache-check
325 (not (semantic-parse-tree-up-to-date-p)))) 325 (not (semantic-parse-tree-up-to-date-p))))
326 326
@@ -377,7 +377,7 @@ to use Semantic, and `semantic-init-hook' is run."
377Do not set this yourself. Call `semantic-debug'.") 377Do not set this yourself. Call `semantic-debug'.")
378 378
379(defun semantic-elapsed-time (start end) 379(defun semantic-elapsed-time (start end)
380 "Copied from elp.el. Was elp-elapsed-time. 380 "Copied from elp.el. Was `elp-elapsed-time'.
381Argument START and END bound the time being calculated." 381Argument START and END bound the time being calculated."
382 (+ (* (- (car end) (car start)) 65536.0) 382 (+ (* (- (car end) (car start)) 65536.0)
383 (- (car (cdr end)) (car (cdr start))) 383 (- (car (cdr end)) (car (cdr start)))
@@ -410,14 +410,14 @@ the output buffer."
410(define-overloadable-function semantic-parse-stream (stream nonterminal) 410(define-overloadable-function semantic-parse-stream (stream nonterminal)
411 "Parse STREAM, starting at the first NONTERMINAL rule. 411 "Parse STREAM, starting at the first NONTERMINAL rule.
412For bovine and wisent based parsers, STREAM is from the output of 412For bovine and wisent based parsers, STREAM is from the output of
413`semantic-lex', and NONTERMINAL is a rule in the apropriate language 413`semantic-lex', and NONTERMINAL is a rule in the appropriate language
414specific rules file. 414specific rules file.
415The default parser table used for bovine or wisent based parsers is 415The default parser table used for bovine or wisent based parsers is
416`semantic--parse-table'. 416`semantic--parse-table'.
417 417
418Must return a list: (STREAM TAGS) where STREAM is the unused elements 418Must return a list: (STREAM TAGS) where STREAM is the unused elements
419from STREAM, and TAGS is the list of semantic tags found, usually only 419from STREAM, and TAGS is the list of semantic tags found; usually only
420one tag is returned with the exception of compound statements") 420one tag is returned with the exception of compound statements.")
421 421
422(define-overloadable-function semantic-parse-changes () 422(define-overloadable-function semantic-parse-changes ()
423 "Reparse changes in the current buffer. 423 "Reparse changes in the current buffer.
@@ -433,7 +433,7 @@ will be silently ignored.
433 433
434Optional arguments: 434Optional arguments:
435NONTERMINAL is the rule to start parsing at. 435NONTERMINAL is the rule to start parsing at.
436DEPTH specifies the lexical depth to decend for parser that use 436DEPTH specifies the lexical depth to descend for parser that use
437lexical analysis as their first step. 437lexical analysis as their first step.
438RETURNONERROR specifies that parsing should stop on the first 438RETURNONERROR specifies that parsing should stop on the first
439unmatched syntax encountered. When nil, parsing skips the syntax, 439unmatched syntax encountered. When nil, parsing skips the syntax,
@@ -447,8 +447,8 @@ to cook raw tags.")
447(defun semantic-parse-region-default 447(defun semantic-parse-region-default
448 (start end &optional nonterminal depth returnonerror) 448 (start end &optional nonterminal depth returnonerror)
449 "Parse the area between START and END, and return any tags found. 449 "Parse the area between START and END, and return any tags found.
450If END needs to be extended due to a lexical token being too large, it 450If END needs to be extended due to a lexical token being too large,
451will be silently ignored. 451it will be silently ignored.
452Optional arguments: 452Optional arguments:
453NONTERMINAL is the rule to start parsing at if it is known. 453NONTERMINAL is the rule to start parsing at if it is known.
454DEPTH specifies the lexical depth to scan. 454DEPTH specifies the lexical depth to scan.
@@ -532,7 +532,7 @@ is requested."
532(defvar semantic-bovinate-nonterminal-check-obarray) 532(defvar semantic-bovinate-nonterminal-check-obarray)
533 533
534(defun semantic--set-buffer-cache (tagtable) 534(defun semantic--set-buffer-cache (tagtable)
535 "Set the toplevel cache cache to TAGTABLE." 535 "Set the toplevel tag cache to TAGTABLE."
536 (setq semantic--buffer-cache tagtable 536 (setq semantic--buffer-cache tagtable
537 semantic-unmatched-syntax-cache-check nil) 537 semantic-unmatched-syntax-cache-check nil)
538 ;; This is specific to the bovine parser. 538 ;; This is specific to the bovine parser.
@@ -560,7 +560,7 @@ is requested."
560 560
561(defvar semantic-minimum-working-buffer-size (* 1024 5) 561(defvar semantic-minimum-working-buffer-size (* 1024 5)
562 "*The minimum size of a buffer before working messages are displayed. 562 "*The minimum size of a buffer before working messages are displayed.
563Buffers smaller than will parse silently. 563Buffers smaller than this will parse silently.
564Buffers larger than this will display the working progress bar.") 564Buffers larger than this will display the working progress bar.")
565 565
566(defsubst semantic-parser-working-message (&optional arg) 566(defsubst semantic-parser-working-message (&optional arg)
@@ -652,7 +652,7 @@ was marked unparseable, then do nothing, and return the cache."
652 semantic--buffer-cache) 652 semantic--buffer-cache)
653 653
654(defun semantic-refresh-tags-safe () 654(defun semantic-refresh-tags-safe ()
655 "Refreshes the current buffer's tags safely. 655 "Refresh the current buffer's tags safely.
656 656
657Return non-nil if the refresh was successful. 657Return non-nil if the refresh was successful.
658Return nil if there is some sort of syntax error preventing a reparse. 658Return nil if there is some sort of syntax error preventing a reparse.
@@ -694,7 +694,7 @@ Does nothing if the current buffer doesn't need reparsing."
694 lexically-safe)))) 694 lexically-safe))))
695 695
696(defun semantic-bovinate-toplevel (&optional ignored) 696(defun semantic-bovinate-toplevel (&optional ignored)
697 "Backward Compatibility Function." 697 "Backward compatibility function."
698 (semantic-fetch-tags)) 698 (semantic-fetch-tags))
699(make-obsolete 'semantic-bovinate-toplevel 'semantic-fetch-tags "23.2") 699(make-obsolete 'semantic-bovinate-toplevel 'semantic-fetch-tags "23.2")
700 700
@@ -1014,10 +1014,10 @@ Throw away all the old tags, and recreate the tag database."
1014 1014
1015;; The `semantic-mode' command, in conjuction with the 1015;; The `semantic-mode' command, in conjuction with the
1016;; `semantic-default-submodes' variable, toggles Semantic's various 1016;; `semantic-default-submodes' variable, toggles Semantic's various
1017;; auxilliary minor modes. 1017;; auxiliary minor modes.
1018 1018
1019(defvar semantic-load-system-cache-loaded nil 1019(defvar semantic-load-system-cache-loaded nil
1020 "Non nil when the Semantic system caches have been loaded. 1020 "Non-nil when the Semantic system caches have been loaded.
1021Prevent this load system from loading files in twice.") 1021Prevent this load system from loading files in twice.")
1022 1022
1023(defconst semantic-submode-list 1023(defconst semantic-submode-list
@@ -1045,7 +1045,7 @@ The possible elements of this list include the following:
1045 `global-semantic-highlight-func-mode' - Highlight the current tag. 1045 `global-semantic-highlight-func-mode' - Highlight the current tag.
1046 `global-semantic-stickyfunc-mode' - Show current fun in header line. 1046 `global-semantic-stickyfunc-mode' - Show current fun in header line.
1047 `global-semantic-mru-bookmark-mode' - Provide `switch-to-buffer'-like 1047 `global-semantic-mru-bookmark-mode' - Provide `switch-to-buffer'-like
1048 keybinding for tag names." 1048 keybinding for tag names."
1049 :group 'semantic 1049 :group 'semantic
1050 :type `(set ,@(mapcar (lambda (c) (list 'const c)) 1050 :type `(set ,@(mapcar (lambda (c) (list 'const c))
1051 semantic-submode-list))) 1051 semantic-submode-list)))
@@ -1057,7 +1057,7 @@ With ARG, turn Semantic mode on if ARG is positive, off otherwise.
1057 1057
1058In Semantic mode, Emacs parses the buffers you visit for their 1058In Semantic mode, Emacs parses the buffers you visit for their
1059semantic content. This information is used by a variety of 1059semantic content. This information is used by a variety of
1060auxilliary minor modes, listed in `semantic-default-submodes'; 1060auxiliary minor modes, listed in `semantic-default-submodes';
1061all the minor modes in this list are also enabled when you enable 1061all the minor modes in this list are also enabled when you enable
1062Semantic mode. 1062Semantic mode.
1063 1063
@@ -1067,7 +1067,7 @@ Semantic mode.
1067 (if semantic-mode 1067 (if semantic-mode
1068 ;; Turn on Semantic mode 1068 ;; Turn on Semantic mode
1069 (progn 1069 (progn
1070 ;; Enable all the global auxilliary minor modes in 1070 ;; Enable all the global auxiliary minor modes in
1071 ;; `semantic-submode-list'. 1071 ;; `semantic-submode-list'.
1072 (dolist (mode semantic-submode-list) 1072 (dolist (mode semantic-submode-list)
1073 (if (memq mode semantic-default-submodes) 1073 (if (memq mode semantic-default-submodes)
diff --git a/lisp/cedet/semantic/db-ebrowse.el b/lisp/cedet/semantic/db-ebrowse.el
index cd511708661..86602aaa95b 100644
--- a/lisp/cedet/semantic/db-ebrowse.el
+++ b/lisp/cedet/semantic/db-ebrowse.el
@@ -90,7 +90,7 @@ be searched."
90 :initarg :global-extract 90 :initarg :global-extract
91 :documentation 91 :documentation
92 "Table of ebrowse tags specific to this file. 92 "Table of ebrowse tags specific to this file.
93This table is compisited from the ebrowse *Globals* section.") 93This table is composited from the ebrowse *Globals* section.")
94 ) 94 )
95 "A table for returning search results from ebrowse.") 95 "A table for returning search results from ebrowse.")
96 96
@@ -128,7 +128,7 @@ EBROWSE is a C/C++ parser for use with `ebrowse' Emacs program.")
128 ))) 128 )))
129 129
130(defun semanticdb-create-ebrowse-database (dir) 130(defun semanticdb-create-ebrowse-database (dir)
131 "Create an EBROSE database for directory DIR. 131 "Create an EBROWSE database for directory DIR.
132The database file is stored in ~/.semanticdb, or whichever directory 132The database file is stored in ~/.semanticdb, or whichever directory
133is specified by `semanticdb-default-save-directory'." 133is specified by `semanticdb-default-save-directory'."
134 (interactive "DDirectory: ") 134 (interactive "DDirectory: ")
@@ -597,7 +597,7 @@ Return a list of tags."
597 597
598(defmethod semanticdb-find-tags-for-completion-method 598(defmethod semanticdb-find-tags-for-completion-method
599 ((table semanticdb-table-ebrowse) prefix &optional tags) 599 ((table semanticdb-table-ebrowse) prefix &optional tags)
600 "In TABLE, find all occurances of tags matching PREFIX. 600 "In TABLE, find all occurrences of tags matching PREFIX.
601Optional argument TAGS is a list of tags to search. 601Optional argument TAGS is a list of tags to search.
602Returns a table of all matching tags." 602Returns a table of all matching tags."
603 (if tags (call-next-method) 603 (if tags (call-next-method)
@@ -607,7 +607,7 @@ Returns a table of all matching tags."
607 607
608(defmethod semanticdb-find-tags-by-class-method 608(defmethod semanticdb-find-tags-by-class-method
609 ((table semanticdb-table-ebrowse) class &optional tags) 609 ((table semanticdb-table-ebrowse) class &optional tags)
610 "In TABLE, find all occurances of tags of CLASS. 610 "In TABLE, find all occurrences of tags of CLASS.
611Optional argument TAGS is a list of tags to search. 611Optional argument TAGS is a list of tags to search.
612Returns a table of all matching tags." 612Returns a table of all matching tags."
613 (if tags (call-next-method) 613 (if tags (call-next-method)
@@ -625,7 +625,7 @@ Returns a table of all matching tags."
625(defmethod semanticdb-deep-find-tags-by-name-method 625(defmethod semanticdb-deep-find-tags-by-name-method
626 ((table semanticdb-table-ebrowse) name &optional tags) 626 ((table semanticdb-table-ebrowse) name &optional tags)
627 "Find all tags name NAME in TABLE. 627 "Find all tags name NAME in TABLE.
628Optional argument TAGS is a list of tags t 628Optional argument TAGS is a list of tags to search.
629Like `semanticdb-find-tags-by-name-method' for ebrowse." 629Like `semanticdb-find-tags-by-name-method' for ebrowse."
630 ;;(semanticdb-find-tags-by-name-method table name tags) 630 ;;(semanticdb-find-tags-by-name-method table name tags)
631 (call-next-method)) 631 (call-next-method))
@@ -640,7 +640,7 @@ Like `semanticdb-find-tags-by-name-method' for ebrowse."
640 640
641(defmethod semanticdb-deep-find-tags-for-completion-method 641(defmethod semanticdb-deep-find-tags-for-completion-method
642 ((table semanticdb-table-ebrowse) prefix &optional tags) 642 ((table semanticdb-table-ebrowse) prefix &optional tags)
643 "In TABLE, find all occurances of tags matching PREFIX. 643 "In TABLE, find all occurrences of tags matching PREFIX.
644Optional argument TAGS is a list of tags to search. 644Optional argument TAGS is a list of tags to search.
645Like `semanticdb-find-tags-for-completion-method' for ebrowse." 645Like `semanticdb-find-tags-for-completion-method' for ebrowse."
646 ;;(semanticdb-find-tags-for-completion-method table prefix tags) 646 ;;(semanticdb-find-tags-for-completion-method table prefix tags)
diff --git a/lisp/cedet/semantic/db-el.el b/lisp/cedet/semantic/db-el.el
index d46f727fca6..d313d1dc578 100644
--- a/lisp/cedet/semantic/db-el.el
+++ b/lisp/cedet/semantic/db-el.el
@@ -76,7 +76,7 @@ It does not need refreshing."
76(defvar-mode-local emacs-lisp-mode semanticdb-find-default-throttle 76(defvar-mode-local emacs-lisp-mode semanticdb-find-default-throttle
77 '(project omniscience) 77 '(project omniscience)
78 "Search project files, then search this omniscience database. 78 "Search project files, then search this omniscience database.
79It is not necessary to to system or recursive searching because of 79It is not necessary to do system or recursive searching because of
80the omniscience database.") 80the omniscience database.")
81 81
82;;; Filename based methods 82;;; Filename based methods
@@ -246,12 +246,12 @@ TOKTYPE is a hint to the type of tag desired."
246;;; Search Overrides 246;;; Search Overrides
247;; 247;;
248(defvar semanticdb-elisp-mapatom-collector nil 248(defvar semanticdb-elisp-mapatom-collector nil
249 "Variable used to collect mapatoms output.") 249 "Variable used to collect `mapatoms' output.")
250 250
251(defmethod semanticdb-find-tags-by-name-method 251(defmethod semanticdb-find-tags-by-name-method
252 ((table semanticdb-table-emacs-lisp) name &optional tags) 252 ((table semanticdb-table-emacs-lisp) name &optional tags)
253 "Find all tags name NAME in TABLE. 253 "Find all tags named NAME in TABLE.
254Uses `inter-soft' to match NAME to emacs symbols. 254Uses `intern-soft' to match NAME to Emacs symbols.
255Return a list of tags." 255Return a list of tags."
256 (if tags (call-next-method) 256 (if tags (call-next-method)
257 ;; No need to search. Use `intern-soft' which does the same thing for us. 257 ;; No need to search. Use `intern-soft' which does the same thing for us.
@@ -281,7 +281,7 @@ Return a list of tags."
281 281
282(defmethod semanticdb-find-tags-for-completion-method 282(defmethod semanticdb-find-tags-for-completion-method
283 ((table semanticdb-table-emacs-lisp) prefix &optional tags) 283 ((table semanticdb-table-emacs-lisp) prefix &optional tags)
284 "In TABLE, find all occurances of tags matching PREFIX. 284 "In TABLE, find all occurrences of tags matching PREFIX.
285Optional argument TAGS is a list of tags to search. 285Optional argument TAGS is a list of tags to search.
286Returns a table of all matching tags." 286Returns a table of all matching tags."
287 (if tags (call-next-method) 287 (if tags (call-next-method)
@@ -290,7 +290,7 @@ Returns a table of all matching tags."
290 290
291(defmethod semanticdb-find-tags-by-class-method 291(defmethod semanticdb-find-tags-by-class-method
292 ((table semanticdb-table-emacs-lisp) class &optional tags) 292 ((table semanticdb-table-emacs-lisp) class &optional tags)
293 "In TABLE, find all occurances of tags of CLASS. 293 "In TABLE, find all occurrences of tags of CLASS.
294Optional argument TAGS is a list of tags to search. 294Optional argument TAGS is a list of tags to search.
295Returns a table of all matching tags." 295Returns a table of all matching tags."
296 (if tags (call-next-method) 296 (if tags (call-next-method)
@@ -316,7 +316,7 @@ Like `semanticdb-find-tags-by-name-method' for Emacs Lisp."
316 316
317(defmethod semanticdb-deep-find-tags-for-completion-method 317(defmethod semanticdb-deep-find-tags-for-completion-method
318 ((table semanticdb-table-emacs-lisp) prefix &optional tags) 318 ((table semanticdb-table-emacs-lisp) prefix &optional tags)
319 "In TABLE, find all occurances of tags matching PREFIX. 319 "In TABLE, find all occurrences of tags matching PREFIX.
320Optional argument TAGS is a list of tags to search. 320Optional argument TAGS is a list of tags to search.
321Like `semanticdb-find-tags-for-completion-method' for Emacs Lisp." 321Like `semanticdb-find-tags-for-completion-method' for Emacs Lisp."
322 (semanticdb-find-tags-for-completion-method table prefix tags)) 322 (semanticdb-find-tags-for-completion-method table prefix tags))
diff --git a/lisp/cedet/semantic/db-find.el b/lisp/cedet/semantic/db-find.el
index 59b190f0073..eba04a7ee02 100644
--- a/lisp/cedet/semantic/db-find.el
+++ b/lisp/cedet/semantic/db-find.el
@@ -281,7 +281,7 @@ identified by translating PATH. Such searches use brute force to
281scan every available table. 281scan every available table.
282 282
283The return value is a list of objects of type `semanticdb-table' or 283The return value is a list of objects of type `semanticdb-table' or
284it's children. In the case of passing in a find result, the result 284their children. In the case of passing in a find result, the result
285is returned unchanged. 285is returned unchanged.
286 286
287This routine uses `semanticdb-find-table-for-include' to translate 287This routine uses `semanticdb-find-table-for-include' to translate
@@ -366,7 +366,7 @@ Default action as described in `semanticdb-find-translate-path'."
366 ans)) 366 ans))
367 367
368(defun semanticdb-find-need-cache-update-p (table) 368(defun semanticdb-find-need-cache-update-p (table)
369 "Non nil if the semanticdb TABLE cache needs to be updated." 369 "Non-nil if the semanticdb TABLE cache needs to be updated."
370 ;; If we were passed in something related to a TABLE, 370 ;; If we were passed in something related to a TABLE,
371 ;; do a caching lookup. 371 ;; do a caching lookup.
372 (let* ((index (semanticdb-get-table-index table)) 372 (let* ((index (semanticdb-get-table-index table))
@@ -431,7 +431,7 @@ Default action as described in `semanticdb-find-translate-path'."
431 "All include tags scanned, plus action taken on the tag. 431 "All include tags scanned, plus action taken on the tag.
432Each entry is an alist: 432Each entry is an alist:
433 (ACTION . TAG) 433 (ACTION . TAG)
434where ACTION is one of 'scanned, 'duplicate, 'lost. 434where ACTION is one of 'scanned, 'duplicate, 'lost
435and TAG is a clone of the include tag that was found.") 435and TAG is a clone of the include tag that was found.")
436(make-variable-buffer-local 'semanticdb-find-scanned-include-tags) 436(make-variable-buffer-local 'semanticdb-find-scanned-include-tags)
437 437
@@ -927,7 +927,7 @@ but should be good enough for debugging assertions."
927 927
928(defun semanticdb-find-result-with-nil-p (resultp) 928(defun semanticdb-find-result-with-nil-p (resultp)
929 "Non-nil of RESULTP is in the form of a semanticdb search result. 929 "Non-nil of RESULTP is in the form of a semanticdb search result.
930nil is a valid value where a TABLE usually is, but only if the TAG 930The value nil is valid where a TABLE usually is, but only if the TAG
931results include overlays. 931results include overlays.
932This query only really tests the first entry in the list that is RESULTP, 932This query only really tests the first entry in the list that is RESULTP,
933but should be good enough for debugging assertions." 933but should be good enough for debugging assertions."
@@ -1090,8 +1090,8 @@ Returns result."
1090 "Collect all tags returned by FUNCTION over PATH. 1090 "Collect all tags returned by FUNCTION over PATH.
1091The FUNCTION must take two arguments. The first is TABLE, 1091The FUNCTION must take two arguments. The first is TABLE,
1092which is a semanticdb table containing tags. The second argument 1092which is a semanticdb table containing tags. The second argument
1093to FUNCTION is TAGS. TAGS may be a list of tags. If TAGS is non-nil, then 1093to FUNCTION is TAGS. TAGS may be a list of tags. If TAGS is non-nil,
1094FUNCTION should search the TAG list, not through TABLE. 1094then FUNCTION should search the TAG list, not through TABLE.
1095 1095
1096See `semanticdb-find-translate-path' for details on PATH. 1096See `semanticdb-find-translate-path' for details on PATH.
1097FIND-FILE-MATCH indicates that any time a match is found, the file 1097FIND-FILE-MATCH indicates that any time a match is found, the file
@@ -1296,38 +1296,38 @@ associated with that tag should be loaded into a buffer."
1296 1296
1297;;; Top level Searches 1297;;; Top level Searches
1298(defmethod semanticdb-find-tags-by-name-method ((table semanticdb-abstract-table) name &optional tags) 1298(defmethod semanticdb-find-tags-by-name-method ((table semanticdb-abstract-table) name &optional tags)
1299 "In TABLE, find all occurances of tags with NAME. 1299 "In TABLE, find all occurrences of tags with NAME.
1300Optional argument TAGS is a list of tags to search. 1300Optional argument TAGS is a list of tags to search.
1301Returns a table of all matching tags." 1301Returns a table of all matching tags."
1302 (semantic-find-tags-by-name name (or tags (semanticdb-get-tags table)))) 1302 (semantic-find-tags-by-name name (or tags (semanticdb-get-tags table))))
1303 1303
1304(defmethod semanticdb-find-tags-by-name-regexp-method ((table semanticdb-abstract-table) regexp &optional tags) 1304(defmethod semanticdb-find-tags-by-name-regexp-method ((table semanticdb-abstract-table) regexp &optional tags)
1305 "In TABLE, find all occurances of tags matching REGEXP. 1305 "In TABLE, find all occurrences of tags matching REGEXP.
1306Optional argument TAGS is a list of tags to search. 1306Optional argument TAGS is a list of tags to search.
1307Returns a table of all matching tags." 1307Returns a table of all matching tags."
1308 (semantic-find-tags-by-name-regexp regexp (or tags (semanticdb-get-tags table)))) 1308 (semantic-find-tags-by-name-regexp regexp (or tags (semanticdb-get-tags table))))
1309 1309
1310(defmethod semanticdb-find-tags-for-completion-method ((table semanticdb-abstract-table) prefix &optional tags) 1310(defmethod semanticdb-find-tags-for-completion-method ((table semanticdb-abstract-table) prefix &optional tags)
1311 "In TABLE, find all occurances of tags matching PREFIX. 1311 "In TABLE, find all occurrences of tags matching PREFIX.
1312Optional argument TAGS is a list of tags to search. 1312Optional argument TAGS is a list of tags to search.
1313Returns a table of all matching tags." 1313Returns a table of all matching tags."
1314 (semantic-find-tags-for-completion prefix (or tags (semanticdb-get-tags table)))) 1314 (semantic-find-tags-for-completion prefix (or tags (semanticdb-get-tags table))))
1315 1315
1316(defmethod semanticdb-find-tags-by-class-method ((table semanticdb-abstract-table) class &optional tags) 1316(defmethod semanticdb-find-tags-by-class-method ((table semanticdb-abstract-table) class &optional tags)
1317 "In TABLE, find all occurances of tags of CLASS. 1317 "In TABLE, find all occurrences of tags of CLASS.
1318Optional argument TAGS is a list of tags to search. 1318Optional argument TAGS is a list of tags to search.
1319Returns a table of all matching tags." 1319Returns a table of all matching tags."
1320 (semantic-find-tags-by-class class (or tags (semanticdb-get-tags table)))) 1320 (semantic-find-tags-by-class class (or tags (semanticdb-get-tags table))))
1321 1321
1322(defmethod semanticdb-find-tags-external-children-of-type-method ((table semanticdb-abstract-table) parent &optional tags) 1322(defmethod semanticdb-find-tags-external-children-of-type-method ((table semanticdb-abstract-table) parent &optional tags)
1323 "In TABLE, find all occurances of tags whose parent is the PARENT type. 1323 "In TABLE, find all occurrences of tags whose parent is the PARENT type.
1324Optional argument TAGS is a list of tags to search. 1324Optional argument TAGS is a list of tags to search.
1325Returns a table of all matching tags." 1325Returns a table of all matching tags."
1326 (require 'semantic/find) 1326 (require 'semantic/find)
1327 (semantic-find-tags-external-children-of-type parent (or tags (semanticdb-get-tags table)))) 1327 (semantic-find-tags-external-children-of-type parent (or tags (semanticdb-get-tags table))))
1328 1328
1329(defmethod semanticdb-find-tags-subclasses-of-type-method ((table semanticdb-abstract-table) parent &optional tags) 1329(defmethod semanticdb-find-tags-subclasses-of-type-method ((table semanticdb-abstract-table) parent &optional tags)
1330 "In TABLE, find all occurances of tags whose parent is the PARENT type. 1330 "In TABLE, find all occurrences of tags whose parent is the PARENT type.
1331Optional argument TAGS is a list of tags to search. 1331Optional argument TAGS is a list of tags to search.
1332Returns a table of all matching tags." 1332Returns a table of all matching tags."
1333 (require 'semantic/find) 1333 (require 'semantic/find)
@@ -1335,7 +1335,7 @@ Returns a table of all matching tags."
1335 1335
1336;;; Deep Searches 1336;;; Deep Searches
1337(defmethod semanticdb-deep-find-tags-by-name-method ((table semanticdb-abstract-table) name &optional tags) 1337(defmethod semanticdb-deep-find-tags-by-name-method ((table semanticdb-abstract-table) name &optional tags)
1338 "In TABLE, find all occurances of tags with NAME. 1338 "In TABLE, find all occurrences of tags with NAME.
1339Search in all tags in TABLE, and all components of top level tags in 1339Search in all tags in TABLE, and all components of top level tags in
1340TABLE. 1340TABLE.
1341Optional argument TAGS is a list of tags to search. 1341Optional argument TAGS is a list of tags to search.
@@ -1343,7 +1343,7 @@ Return a table of all matching tags."
1343 (semantic-find-tags-by-name name (semantic-flatten-tags-table (or tags (semanticdb-get-tags table))))) 1343 (semantic-find-tags-by-name name (semantic-flatten-tags-table (or tags (semanticdb-get-tags table)))))
1344 1344
1345(defmethod semanticdb-deep-find-tags-by-name-regexp-method ((table semanticdb-abstract-table) regexp &optional tags) 1345(defmethod semanticdb-deep-find-tags-by-name-regexp-method ((table semanticdb-abstract-table) regexp &optional tags)
1346 "In TABLE, find all occurances of tags matching REGEXP. 1346 "In TABLE, find all occurrences of tags matching REGEXP.
1347Search in all tags in TABLE, and all components of top level tags in 1347Search in all tags in TABLE, and all components of top level tags in
1348TABLE. 1348TABLE.
1349Optional argument TAGS is a list of tags to search. 1349Optional argument TAGS is a list of tags to search.
@@ -1351,7 +1351,7 @@ Return a table of all matching tags."
1351 (semantic-find-tags-by-name-regexp regexp (semantic-flatten-tags-table (or tags (semanticdb-get-tags table))))) 1351 (semantic-find-tags-by-name-regexp regexp (semantic-flatten-tags-table (or tags (semanticdb-get-tags table)))))
1352 1352
1353(defmethod semanticdb-deep-find-tags-for-completion-method ((table semanticdb-abstract-table) prefix &optional tags) 1353(defmethod semanticdb-deep-find-tags-for-completion-method ((table semanticdb-abstract-table) prefix &optional tags)
1354 "In TABLE, find all occurances of tags matching PREFIX. 1354 "In TABLE, find all occurrences of tags matching PREFIX.
1355Search in all tags in TABLE, and all components of top level tags in 1355Search in all tags in TABLE, and all components of top level tags in
1356TABLE. 1356TABLE.
1357Optional argument TAGS is a list of tags to search. 1357Optional argument TAGS is a list of tags to search.
diff --git a/lisp/cedet/semantic/db-global.el b/lisp/cedet/semantic/db-global.el
index bfd97fc5a54..444efbd17e0 100644
--- a/lisp/cedet/semantic/db-global.el
+++ b/lisp/cedet/semantic/db-global.el
@@ -66,7 +66,7 @@ in a GNU Global supported hierarchy."
66 ) 66 )
67 67
68(defun semanticdb-enable-gnu-global-hook () 68(defun semanticdb-enable-gnu-global-hook ()
69 "Add support for GNU Global in the current buffer via semantic-init-hook. 69 "Add support for GNU Global in the current buffer via `semantic-init-hook'.
70MODE is the major mode to support." 70MODE is the major mode to support."
71 (semanticdb-enable-gnu-global-in-buffer t)) 71 (semanticdb-enable-gnu-global-in-buffer t))
72 72
@@ -78,8 +78,8 @@ MODE is the major mode to support."
78 78
79(defun semanticdb-enable-gnu-global-in-buffer (&optional dont-err-if-not-available) 79(defun semanticdb-enable-gnu-global-in-buffer (&optional dont-err-if-not-available)
80 "Enable a GNU Global database in the current buffer. 80 "Enable a GNU Global database in the current buffer.
81Argument DONT-ERR-IF-NOT-AVAILABLE will throw an error if GNU Global 81When GNU Global is not available for this directory, display a message
82is not available for this directory." 82if optional DONT-ERR-IF-NOT-AVAILABLE is non-nil; else throw an error."
83 (interactive "P") 83 (interactive "P")
84 (if (cedet-gnu-global-root) 84 (if (cedet-gnu-global-root)
85 (setq 85 (setq
@@ -168,7 +168,7 @@ Return a list of tags."
168 168
169(defmethod semanticdb-find-tags-for-completion-method 169(defmethod semanticdb-find-tags-for-completion-method
170 ((table semanticdb-table-global) prefix &optional tags) 170 ((table semanticdb-table-global) prefix &optional tags)
171 "In TABLE, find all occurances of tags matching PREFIX. 171 "In TABLE, find all occurrences of tags matching PREFIX.
172Optional argument TAGS is a list of tags to search. 172Optional argument TAGS is a list of tags to search.
173Returns a table of all matching tags." 173Returns a table of all matching tags."
174 (if tags (call-next-method) 174 (if tags (call-next-method)
@@ -195,7 +195,7 @@ Returns a table of all matching tags."
195(defmethod semanticdb-deep-find-tags-by-name-method 195(defmethod semanticdb-deep-find-tags-by-name-method
196 ((table semanticdb-table-global) name &optional tags) 196 ((table semanticdb-table-global) name &optional tags)
197 "Find all tags name NAME in TABLE. 197 "Find all tags name NAME in TABLE.
198Optional argument TAGS is a list of tags t 198Optional argument TAGS is a list of tags to search.
199Like `semanticdb-find-tags-by-name-method' for global." 199Like `semanticdb-find-tags-by-name-method' for global."
200 (semanticdb-find-tags-by-name-method table name tags)) 200 (semanticdb-find-tags-by-name-method table name tags))
201 201
@@ -208,7 +208,7 @@ Like `semanticdb-find-tags-by-name-method' for global."
208 208
209(defmethod semanticdb-deep-find-tags-for-completion-method 209(defmethod semanticdb-deep-find-tags-for-completion-method
210 ((table semanticdb-table-global) prefix &optional tags) 210 ((table semanticdb-table-global) prefix &optional tags)
211 "In TABLE, find all occurances of tags matching PREFIX. 211 "In TABLE, find all occurrences of tags matching PREFIX.
212Optional argument TAGS is a list of tags to search. 212Optional argument TAGS is a list of tags to search.
213Like `semanticdb-find-tags-for-completion-method' for global." 213Like `semanticdb-find-tags-for-completion-method' for global."
214 (semanticdb-find-tags-for-completion-method table prefix tags)) 214 (semanticdb-find-tags-for-completion-method table prefix tags))
diff --git a/lisp/cedet/semantic/db-javascript.el b/lisp/cedet/semantic/db-javascript.el
index 2e357e677e2..a972c33f32a 100644
--- a/lisp/cedet/semantic/db-javascript.el
+++ b/lisp/cedet/semantic/db-javascript.el
@@ -77,7 +77,7 @@
77 (("uriComponent" variable nil nil nil))) 77 (("uriComponent" variable nil nil nil)))
78 nil nil)) 78 nil nil))
79 "Hard-coded list of javascript tags for semanticdb. 79 "Hard-coded list of javascript tags for semanticdb.
80See bottom of this file for instruction on managing this list.") 80See bottom of this file for instructions on managing this list.")
81 81
82;;; Classes: 82;;; Classes:
83(defclass semanticdb-table-javascript (semanticdb-search-results-table) 83(defclass semanticdb-table-javascript (semanticdb-search-results-table)
@@ -87,7 +87,7 @@ See bottom of this file for instruction on managing this list.")
87 87
88(defclass semanticdb-project-database-javascript 88(defclass semanticdb-project-database-javascript
89 (semanticdb-project-database 89 (semanticdb-project-database
90 eieio-singleton ;this db is for js globals, so singleton is apropriate 90 eieio-singleton ;this db is for js globals, so singleton is appropriate
91 ) 91 )
92 ((new-table-class :initform semanticdb-table-javascript 92 ((new-table-class :initform semanticdb-table-javascript
93 :type class 93 :type class
@@ -107,7 +107,7 @@ See bottom of this file for instruction on managing this list.")
107(defvar-mode-local javascript-mode semanticdb-find-default-throttle 107(defvar-mode-local javascript-mode semanticdb-find-default-throttle
108 '(project omniscience) 108 '(project omniscience)
109 "Search project files, then search this omniscience database. 109 "Search project files, then search this omniscience database.
110It is not necessary to to system or recursive searching because of 110It is not necessary to do system or recursive searching because of
111the omniscience database.") 111the omniscience database.")
112 112
113;;; Filename based methods 113;;; Filename based methods
@@ -157,7 +157,7 @@ local variable."
157;; to a search list. 157;; to a search list.
158(define-mode-local-override semanticdb-find-translate-path javascript-mode 158(define-mode-local-override semanticdb-find-translate-path javascript-mode
159 (path brutish) 159 (path brutish)
160 "Return a list of semanticdb tables asociated with PATH. 160 "Return a list of semanticdb tables associated with PATH.
161If brutish, do the default action. 161If brutish, do the default action.
162If not brutish, do the default action, and append the system 162If not brutish, do the default action, and append the system
163database (if available.)" 163database (if available.)"
@@ -216,7 +216,7 @@ Return a list of tags."
216 216
217(defmethod semanticdb-find-tags-for-completion-method 217(defmethod semanticdb-find-tags-for-completion-method
218 ((table semanticdb-table-javascript) prefix &optional tags) 218 ((table semanticdb-table-javascript) prefix &optional tags)
219 "In TABLE, find all occurances of tags matching PREFIX. 219 "In TABLE, find all occurrences of tags matching PREFIX.
220Optional argument TAGS is a list of tags to search. 220Optional argument TAGS is a list of tags to search.
221Returns a table of all matching tags." 221Returns a table of all matching tags."
222 (if tags (call-next-method) 222 (if tags (call-next-method)
@@ -226,7 +226,7 @@ Returns a table of all matching tags."
226 226
227(defmethod semanticdb-find-tags-by-class-method 227(defmethod semanticdb-find-tags-by-class-method
228 ((table semanticdb-table-javascript) class &optional tags) 228 ((table semanticdb-table-javascript) class &optional tags)
229 "In TABLE, find all occurances of tags of CLASS. 229 "In TABLE, find all occurrences of tags of CLASS.
230Optional argument TAGS is a list of tags to search. 230Optional argument TAGS is a list of tags to search.
231Returns a table of all matching tags." 231Returns a table of all matching tags."
232 (if tags (call-next-method) 232 (if tags (call-next-method)
@@ -248,7 +248,7 @@ Returns a table of all matching tags."
248(defmethod semanticdb-deep-find-tags-by-name-method 248(defmethod semanticdb-deep-find-tags-by-name-method
249 ((table semanticdb-table-javascript) name &optional tags) 249 ((table semanticdb-table-javascript) name &optional tags)
250 "Find all tags name NAME in TABLE. 250 "Find all tags name NAME in TABLE.
251Optional argument TAGS is a list of tags t 251Optional argument TAGS is a list of tags to search.
252Like `semanticdb-find-tags-by-name-method' for javascript." 252Like `semanticdb-find-tags-by-name-method' for javascript."
253 (semanticdb-find-tags-by-name-method table name tags)) 253 (semanticdb-find-tags-by-name-method table name tags))
254 254
@@ -261,7 +261,7 @@ Like `semanticdb-find-tags-by-name-method' for javascript."
261 261
262(defmethod semanticdb-deep-find-tags-for-completion-method 262(defmethod semanticdb-deep-find-tags-for-completion-method
263 ((table semanticdb-table-javascript) prefix &optional tags) 263 ((table semanticdb-table-javascript) prefix &optional tags)
264 "In TABLE, find all occurances of tags matching PREFIX. 264 "In TABLE, find all occurrences of tags matching PREFIX.
265Optional argument TAGS is a list of tags to search. 265Optional argument TAGS is a list of tags to search.
266Like `semanticdb-find-tags-for-completion-method' for javascript." 266Like `semanticdb-find-tags-for-completion-method' for javascript."
267 (semanticdb-find-tags-for-completion-method table prefix tags)) 267 (semanticdb-find-tags-for-completion-method table prefix tags))
@@ -270,7 +270,7 @@ Like `semanticdb-find-tags-for-completion-method' for javascript."
270;; 270;;
271(defmethod semanticdb-find-tags-external-children-of-type-method 271(defmethod semanticdb-find-tags-external-children-of-type-method
272 ((table semanticdb-table-javascript) type &optional tags) 272 ((table semanticdb-table-javascript) type &optional tags)
273 "Find all nonterminals which are child elements of TYPE 273 "Find all nonterminals which are child elements of TYPE.
274Optional argument TAGS is a list of tags to search. 274Optional argument TAGS is a list of tags to search.
275Return a list of tags." 275Return a list of tags."
276 (if tags (call-next-method) 276 (if tags (call-next-method)
diff --git a/lisp/cedet/semantic/idle.el b/lisp/cedet/semantic/idle.el
index cf107232645..ba7a49757a5 100644
--- a/lisp/cedet/semantic/idle.el
+++ b/lisp/cedet/semantic/idle.el
@@ -338,7 +338,7 @@ Disable to prevent lots of excessive parsing in idle time."
338(defun semantic-idle-work-for-one-buffer (buffer) 338(defun semantic-idle-work-for-one-buffer (buffer)
339 "Do long-processing work for BUFFER. 339 "Do long-processing work for BUFFER.
340Uses `semantic-safe' and returns the output. 340Uses `semantic-safe' and returns the output.
341Returns t of all processing succeeded." 341Returns t if all processing succeeded."
342 (with-current-buffer buffer 342 (with-current-buffer buffer
343 (not (and 343 (not (and
344 ;; Just in case 344 ;; Just in case
@@ -367,7 +367,7 @@ Returns t of all processing succeeded."
367 367
368(defun semantic-idle-work-core-handler () 368(defun semantic-idle-work-core-handler ()
369 "Core handler for idle work processing of long running tasks. 369 "Core handler for idle work processing of long running tasks.
370Visits semantic controlled buffers, and makes sure all needed 370Visits Semantic controlled buffers, and makes sure all needed
371include files have been parsed, and that the typecache is up to date. 371include files have been parsed, and that the typecache is up to date.
372Uses `semantic-idle-work-for-on-buffer' to do the work." 372Uses `semantic-idle-work-for-on-buffer' to do the work."
373 (let ((errbuf nil) 373 (let ((errbuf nil)
@@ -577,7 +577,7 @@ Does nothing if the current buffer doesn't need reparsing."
577DOC will be a documentation string describing FORMS. 577DOC will be a documentation string describing FORMS.
578FORMS will be called during idle time after the current buffer's 578FORMS will be called during idle time after the current buffer's
579semantic tag information has been updated. 579semantic tag information has been updated.
580This routines creates the following functions and variables:" 580This routine creates the following functions and variables:"
581 (let ((global (intern (concat "global-" (symbol-name name) "-mode"))) 581 (let ((global (intern (concat "global-" (symbol-name name) "-mode")))
582 (mode (intern (concat (symbol-name name) "-mode"))) 582 (mode (intern (concat (symbol-name name) "-mode")))
583 (hook (intern (concat (symbol-name name) "-mode-hook"))) 583 (hook (intern (concat (symbol-name name) "-mode-hook")))
@@ -764,7 +764,7 @@ specific to a major mode. For example, in jde mode:
764 jde-java-font-lock-code-face)))") 764 jde-java-font-lock-code-face)))")
765 765
766(defun semantic-idle-summary-useful-context-p () 766(defun semantic-idle-summary-useful-context-p ()
767 "Non-nil of we should show a summary based on context." 767 "Non-nil if we should show a summary based on context."
768 (if (and (boundp 'font-lock-mode) 768 (if (and (boundp 'font-lock-mode)
769 font-lock-mode 769 font-lock-mode
770 (memq (get-text-property (point) 'face) 770 (memq (get-text-property (point) 'face)
@@ -959,7 +959,7 @@ Call `semantic-symref-hits-in-region' to identify local references."
959;;;###autoload 959;;;###autoload
960(defun global-semantic-idle-scheduler-mode (&optional arg) 960(defun global-semantic-idle-scheduler-mode (&optional arg)
961 "Toggle global use of option `semantic-idle-scheduler-mode'. 961 "Toggle global use of option `semantic-idle-scheduler-mode'.
962The idle scheduler with automatically reparse buffers in idle time, 962The idle scheduler will automatically reparse buffers in idle time,
963and then schedule other jobs setup with `semantic-idle-scheduler-add'. 963and then schedule other jobs setup with `semantic-idle-scheduler-add'.
964If ARG is positive, enable, if it is negative, disable. 964If ARG is positive, enable, if it is negative, disable.
965If ARG is nil, then toggle." 965If ARG is nil, then toggle."
diff --git a/lisp/cedet/semantic/util-modes.el b/lisp/cedet/semantic/util-modes.el
index 21087ef2506..7e3a615d0b1 100644
--- a/lisp/cedet/semantic/util-modes.el
+++ b/lisp/cedet/semantic/util-modes.el
@@ -337,7 +337,7 @@ semantic parser cannot match is highlighted with a red underline."
337 (((class color) (background light)) 337 (((class color) (background light))
338 (:underline "red"))) 338 (:underline "red")))
339 "Face used to show unmatched syntax in. 339 "Face used to show unmatched syntax in.
340The face is used in `semantic-show-unmatched-syntax-mode'." 340The face is used in `semantic-show-unmatched-syntax-mode'."
341 :group 'semantic-faces) 341 :group 'semantic-faces)
342 342
343(defsubst semantic-unmatched-syntax-overlay-p (overlay) 343(defsubst semantic-unmatched-syntax-overlay-p (overlay)
@@ -767,7 +767,7 @@ This makes it appear that the first line of that tag is
767 ] 767 ]
768 [ "Narrow To Headerline Tag" senator-narrow-to-defun 768 [ "Narrow To Headerline Tag" senator-narrow-to-defun
769 :active (semantic-current-tag) 769 :active (semantic-current-tag)
770 :help "Narrow to the bounds of the current tag."] 770 :help "Narrow to the bounds of the current tag"]
771 [ "Fold Headerline Tag" senator-fold-tag-toggle 771 [ "Fold Headerline Tag" senator-fold-tag-toggle
772 :active (semantic-current-tag) 772 :active (semantic-current-tag)
773 :style toggle 773 :style toggle
@@ -854,7 +854,7 @@ when it lands in the sticky line."
854 :type 'string) 854 :type 'string)
855 855
856(defvar semantic-stickyfunc-old-hlf nil 856(defvar semantic-stickyfunc-old-hlf nil
857 "Value of the header line when entering sticky func mode.") 857 "Value of the header line when entering stickyfunc mode.")
858 858
859(defconst semantic-stickyfunc-header-line-format 859(defconst semantic-stickyfunc-header-line-format
860 (cond ((featurep 'xemacs) 860 (cond ((featurep 'xemacs)
@@ -868,7 +868,7 @@ when it lands in the sticky line."
868 '(:eval (list semantic-stickyfunc-indent-string 868 '(:eval (list semantic-stickyfunc-indent-string
869 (semantic-stickyfunc-fetch-stickyline)))) 869 (semantic-stickyfunc-fetch-stickyline))))
870 (t nil)) 870 (t nil))
871 "The header line format used by sticky func mode.") 871 "The header line format used by stickyfunc mode.")
872 872
873(defun semantic-stickyfunc-mode-setup () 873(defun semantic-stickyfunc-mode-setup ()
874 "Setup option `semantic-stickyfunc-mode'. 874 "Setup option `semantic-stickyfunc-mode'.
@@ -936,7 +936,7 @@ minor mode is enabled."
936 936
937(defvar semantic-stickyfunc-sticky-classes 937(defvar semantic-stickyfunc-sticky-classes
938 '(function type) 938 '(function type)
939 "List of tag classes which sticky func will display in the header line.") 939 "List of tag classes which stickyfunc will display in the header line.")
940(make-variable-buffer-local 'semantic-stickyfunc-sticky-classes) 940(make-variable-buffer-local 'semantic-stickyfunc-sticky-classes)
941 941
942(defun semantic-stickyfunc-tag-to-stick () 942(defun semantic-stickyfunc-tag-to-stick ()
@@ -953,7 +953,7 @@ minor mode is enabled."
953 953
954(defun semantic-stickyfunc-fetch-stickyline () 954(defun semantic-stickyfunc-fetch-stickyline ()
955 "Make the function at the top of the current window sticky. 955 "Make the function at the top of the current window sticky.
956Capture it's function declaration, and place it in the header line. 956Capture its function declaration, and place it in the header line.
957If there is no function, disable the header line." 957If there is no function, disable the header line."
958 (let ((str 958 (let ((str
959 (save-excursion 959 (save-excursion
@@ -962,7 +962,7 @@ If there is no function, disable the header line."
962 (end-of-line) 962 (end-of-line)
963 ;; Capture this function 963 ;; Capture this function
964 (let* ((tag (semantic-stickyfunc-tag-to-stick))) 964 (let* ((tag (semantic-stickyfunc-tag-to-stick)))
965 ;; TAG is nil if there was nothing of the apropriate type there. 965 ;; TAG is nil if there was nothing of the appropriate type there.
966 (if (not tag) 966 (if (not tag)
967 ;; Set it to be the text under the header line 967 ;; Set it to be the text under the header line
968 (buffer-substring (point-at-bol) (point-at-eol)) 968 (buffer-substring (point-at-bol) (point-at-eol))
@@ -1080,7 +1080,7 @@ When enabled, the first line of the current tag is highlighted."
1080 ] 1080 ]
1081 [ "Narrow To Tag" senator-narrow-to-defun 1081 [ "Narrow To Tag" senator-narrow-to-defun
1082 :active (semantic-current-tag) 1082 :active (semantic-current-tag)
1083 :help "Narrow to the bounds of the current tag."] 1083 :help "Narrow to the bounds of the current tag"]
1084 [ "Fold Tag" senator-fold-tag-toggle 1084 [ "Fold Tag" senator-fold-tag-toggle
1085 :active (semantic-current-tag) 1085 :active (semantic-current-tag)
1086 :style toggle 1086 :style toggle
@@ -1129,7 +1129,7 @@ Use the command `semantic-highlight-func-mode' to change this variable.")
1129 1129
1130(defun semantic-highlight-func-mode-setup () 1130(defun semantic-highlight-func-mode-setup ()
1131 "Setup option `semantic-highlight-func-mode'. 1131 "Setup option `semantic-highlight-func-mode'.
1132For semantic enabled buffers, highlight the first line of the 1132For Semantic enabled buffers, highlight the first line of the
1133current tag declaration." 1133current tag declaration."
1134 (if semantic-highlight-func-mode 1134 (if semantic-highlight-func-mode
1135 (progn 1135 (progn
@@ -1202,7 +1202,7 @@ function was called, move the overlay."
1202 (setq semantic-highlight-func-ct-overlay ol) 1202 (setq semantic-highlight-func-ct-overlay ol)
1203 ) 1203 )
1204 1204
1205 ;; TAG is nil if there was nothing of the apropriate type there. 1205 ;; TAG is nil if there was nothing of the appropriate type there.
1206 (if (or (not tag) disable) 1206 (if (or (not tag) disable)
1207 ;; No tag, make the overlay go away. 1207 ;; No tag, make the overlay go away.
1208 (progn 1208 (progn
diff --git a/lisp/cedet/srecode/dictionary.el b/lisp/cedet/srecode/dictionary.el
index deadc06abba..8d168a7f339 100644
--- a/lisp/cedet/srecode/dictionary.el
+++ b/lisp/cedet/srecode/dictionary.el
@@ -240,7 +240,7 @@ You can add several dictionaries to the same section macro.
240For each dictionary added to a macro, the block of codes in the 240For each dictionary added to a macro, the block of codes in the
241template will be repeated. 241template will be repeated.
242 242
243If optional argument SHOW-ONLY is non-nil, then don't add a new dictionarly 243If optional argument SHOW-ONLY is non-nil, then don't add a new dictionary
244if there is already one in place. Also, don't add FIRST/LAST entries. 244if there is already one in place. Also, don't add FIRST/LAST entries.
245These entries are not needed when we are just showing a section. 245These entries are not needed when we are just showing a section.
246 246
@@ -402,7 +402,7 @@ FUNCTION and DICTIONARY are as for the baseclass."
402(defclass srecode-field-value (srecode-dictionary-compound-value) 402(defclass srecode-field-value (srecode-dictionary-compound-value)
403 ((firstinserter :initarg :firstinserter 403 ((firstinserter :initarg :firstinserter
404 :documentation 404 :documentation
405 "The inserter object for the first occurance of this field.") 405 "The inserter object for the first occurrence of this field.")
406 (defaultvalue :initarg :defaultvalue 406 (defaultvalue :initarg :defaultvalue
407 :documentation 407 :documentation
408 "The default value for this inserter.") 408 "The default value for this inserter.")
diff --git a/lisp/cedet/srecode/extract.el b/lisp/cedet/srecode/extract.el
index 8a324550c4d..90eda533335 100644
--- a/lisp/cedet/srecode/extract.el
+++ b/lisp/cedet/srecode/extract.el
@@ -216,7 +216,7 @@ Return nil if nothing was extracted."
216 (srecode-insert-include-lookup ins dict) 216 (srecode-insert-include-lookup ins dict)
217 ;; There are two modes for includes. One is with no dict, 217 ;; There are two modes for includes. One is with no dict,
218 ;; so it is inserted straight. If the dict has a name, then 218 ;; so it is inserted straight. If the dict has a name, then
219 ;; we need to run once per dictionary occurance. 219 ;; we need to run once per dictionary occurrence.
220 (if (not (string= (oref ins :object-name) "")) 220 (if (not (string= (oref ins :object-name) ""))
221 ;; With a name, do the insertion. 221 ;; With a name, do the insertion.
222 (let ((subdict (srecode-dictionary-add-section-dictionary 222 (let ((subdict (srecode-dictionary-add-section-dictionary
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index 7c53c3d9461..62d6928c024 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -2308,7 +2308,7 @@ Use \\[dired-hide-all] to (un)hide all directories."
2308 (restore-buffer-modified-p modflag))) 2308 (restore-buffer-modified-p modflag)))
2309 2309
2310;;;###autoload 2310;;;###autoload
2311(defun dired-hide-all (arg) 2311(defun dired-hide-all (&optional ignored)
2312 "Hide all subdirectories, leaving only their header lines. 2312 "Hide all subdirectories, leaving only their header lines.
2313If there is already something hidden, make everything visible again. 2313If there is already something hidden, make everything visible again.
2314Use \\[dired-hide-subdir] to (un)hide a particular subdirectory." 2314Use \\[dired-hide-subdir] to (un)hide a particular subdirectory."
diff --git a/lisp/dired.el b/lisp/dired.el
index d4bf1d019a0..1fc90c308b1 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -3517,7 +3517,7 @@ Ask means pop up a menu for the user to select one of copy, move or link."
3517;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command 3517;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command
3518;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown 3518;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown
3519;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff 3519;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff
3520;;;;;; dired-diff) "dired-aux" "dired-aux.el" "557aca1f6e86b39f1c7612ee123d5354") 3520;;;;;; dired-diff) "dired-aux" "dired-aux.el" "07676ea25af17f5d50cc5db4f53bddc0")
3521;;; Generated autoloads from dired-aux.el 3521;;; Generated autoloads from dired-aux.el
3522 3522
3523(autoload 'dired-diff "dired-aux" "\ 3523(autoload 'dired-diff "dired-aux" "\
@@ -3917,7 +3917,7 @@ Hide all subdirectories, leaving only their header lines.
3917If there is already something hidden, make everything visible again. 3917If there is already something hidden, make everything visible again.
3918Use \\[dired-hide-subdir] to (un)hide a particular subdirectory. 3918Use \\[dired-hide-subdir] to (un)hide a particular subdirectory.
3919 3919
3920\(fn ARG)" t nil) 3920\(fn &optional IGNORED)" t nil)
3921 3921
3922(autoload 'dired-isearch-filenames-setup "dired-aux" "\ 3922(autoload 'dired-isearch-filenames-setup "dired-aux" "\
3923Set up isearch to search in Dired file names. 3923Set up isearch to search in Dired file names.
diff --git a/lisp/emacs-lisp/advice.el b/lisp/emacs-lisp/advice.el
index 46522991418..bac24b63021 100644
--- a/lisp/emacs-lisp/advice.el
+++ b/lisp/emacs-lisp/advice.el
@@ -2422,16 +2422,28 @@ in that CLASS."
2422;;;###autoload 2422;;;###autoload
2423(defun ad-add-advice (function advice class position) 2423(defun ad-add-advice (function advice class position)
2424 "Add a piece of ADVICE to FUNCTION's list of advices in CLASS. 2424 "Add a piece of ADVICE to FUNCTION's list of advices in CLASS.
2425If FUNCTION already has one or more pieces of advice of the specified 2425
2426CLASS then POSITION determines where the new piece will go. The value 2426ADVICE has the form (NAME PROTECTED ENABLED DEFINITION), where
2427of POSITION can either be `first', `last' or a number where 0 corresponds 2427NAME is the advice name; PROTECTED is a flag specifying whether
2428to `first'. Numbers outside the range will be mapped to the closest 2428to protect against non-local exits; ENABLED is a flag specifying
2429extreme position. If there was already a piece of ADVICE with the same 2429whether to initially enable the advice; and DEFINITION has the
2430name, then the position argument will be ignored and the old advice 2430form (advice . LAMBDA), where LAMBDA is a lambda expression.
2431will be overwritten with the new one. 2431
2432 If the FUNCTION was not advised already, then its advice info will be 2432If FUNCTION already has a piece of advice with the same name,
2433initialized. Redefining a piece of advice whose name is part of the cache-id 2433then POSITION is ignored, and the old advice is overwritten with
2434will clear the cache." 2434the new one.
2435
2436If FUNCTION already has one or more pieces of advice of the
2437specified CLASS, then POSITION determines where the new piece
2438goes. POSITION can either be `first', `last' or a number (where
24390 corresponds to `first', and numbers outside the valid range are
2440mapped to the closest extremal position).
2441
2442If FUNCTION was not advised already, its advice info will be
2443initialized. Redefining a piece of advice whose name is part of
2444the cache-id will clear the cache.
2445
2446See Info node `(elisp)Computed Advice' for detailed documentation."
2435 (cond ((not (ad-is-advised function)) 2447 (cond ((not (ad-is-advised function))
2436 (ad-initialize-advice-info function) 2448 (ad-initialize-advice-info function)
2437 (ad-set-advice-info-field 2449 (ad-set-advice-info-field
diff --git a/lisp/emacs-lisp/chart.el b/lisp/emacs-lisp/chart.el
index 4f01e540601..d2abdcffe0d 100644
--- a/lisp/emacs-lisp/chart.el
+++ b/lisp/emacs-lisp/chart.el
@@ -644,7 +644,7 @@ SORT-PRED if desired."
644 ;; Lets create the chart! 644 ;; Lets create the chart!
645 (chart-bar-quickie 'vertical "Files Extension Distribution" 645 (chart-bar-quickie 'vertical "Files Extension Distribution"
646 extlst "File Extensions" 646 extlst "File Extensions"
647 cntlst "# of occurances" 647 cntlst "# of occurrences"
648 10 648 10
649 '(lambda (a b) (> (cdr a) (cdr b)))) 649 '(lambda (a b) (> (cdr a) (cdr b))))
650 )) 650 ))
@@ -740,9 +740,9 @@ SORT-PRED if desired."
740 (setcar cell (1+ (car cell)))) 740 (setcar cell (1+ (car cell))))
741 (setq nmlst (cons nam nmlst) 741 (setq nmlst (cons nam nmlst)
742 cntlst (cons 1 cntlst)))))) 742 cntlst (cons 1 cntlst))))))
743 (chart-bar-quickie 'vertical "Username Occurance in RMAIL box" 743 (chart-bar-quickie 'vertical "Username Occurrence in RMAIL box"
744 nmlst "User Names" 744 nmlst "User Names"
745 cntlst "# of occurances" 745 cntlst "# of occurrences"
746 10 746 10
747 '(lambda (a b) (> (cdr a) (cdr b)))) 747 '(lambda (a b) (> (cdr a) (cdr b))))
748 )) 748 ))
diff --git a/lisp/emacs-lisp/eieio-speedbar.el b/lisp/emacs-lisp/eieio-speedbar.el
index aff078e9998..e4c1c50aa8f 100644
--- a/lisp/emacs-lisp/eieio-speedbar.el
+++ b/lisp/emacs-lisp/eieio-speedbar.el
@@ -227,7 +227,7 @@ attributes. These default objects will be pulled up in a custom
227object edit buffer doing an in-place edit. 227object edit buffer doing an in-place edit.
228 228
229If your object represents some other item, override this method 229If your object represents some other item, override this method
230and take the apropriate action." 230and take the appropriate action."
231 (require 'eieio-custom) 231 (require 'eieio-custom)
232 (speedbar-with-attached-buffer 232 (speedbar-with-attached-buffer
233 (eieio-customize-object object)) 233 (eieio-customize-object object))
@@ -327,7 +327,7 @@ Argument DEPTH is the depth at which the tag line is inserted."
327 327
328(defmethod eieio-speedbar-expand ((object eieio-speedbar) depth) 328(defmethod eieio-speedbar-expand ((object eieio-speedbar) depth)
329 "Expand OBJECT at indentation DEPTH. 329 "Expand OBJECT at indentation DEPTH.
330Inserts a list of new tag lines representing expanded elements withing 330Inserts a list of new tag lines representing expanded elements within
331OBJECT." 331OBJECT."
332 (let ((children (eieio-speedbar-object-children object))) 332 (let ((children (eieio-speedbar-object-children object)))
333 (cond ((eieio-object-p (car children)) 333 (cond ((eieio-object-p (car children))
diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el
index 69ddaa72c1c..f5e684e1323 100644
--- a/lisp/emacs-lisp/eieio.el
+++ b/lisp/emacs-lisp/eieio.el
@@ -79,7 +79,7 @@
79 "*This hook is executed, then cleared each time `defclass' is called.") 79 "*This hook is executed, then cleared each time `defclass' is called.")
80 80
81(defvar eieio-error-unsupported-class-tags nil 81(defvar eieio-error-unsupported-class-tags nil
82 "*Non nil to throw an error if an encountered tag us unsupported. 82 "*Non-nil to throw an error if an encountered tag us unsupported.
83This may prevent classes from CLOS applications from being used with EIEIO 83This may prevent classes from CLOS applications from being used with EIEIO
84since EIEIO does not support all CLOS tags.") 84since EIEIO does not support all CLOS tags.")
85 85
@@ -2021,7 +2021,7 @@ This should only be called from a generic function."
2021 (run-hook-with-args 'eieio-pre-method-execution-hooks 2021 (run-hook-with-args 'eieio-pre-method-execution-hooks
2022 primarymethodlist) 2022 primarymethodlist)
2023 2023
2024 ;; Now loop through all occurances forms which we must execute 2024 ;; Now loop through all occurrences forms which we must execute
2025 ;; (which are happily sorted now) and execute them all! 2025 ;; (which are happily sorted now) and execute them all!
2026 (let ((rval nil) (lastval nil) (rvalever nil) (found nil)) 2026 (let ((rval nil) (lastval nil) (rvalever nil) (found nil))
2027 (while lambdas 2027 (while lambdas
@@ -2101,7 +2101,7 @@ for this common case to improve performance."
2101 (setq primarymethodlist ;; Re-use even with bad name here 2101 (setq primarymethodlist ;; Re-use even with bad name here
2102 (eieiomt-method-list method method-primary mclass)) 2102 (eieiomt-method-list method method-primary mclass))
2103 2103
2104 ;; Now loop through all occurances forms which we must execute 2104 ;; Now loop through all occurrences forms which we must execute
2105 ;; (which are happily sorted now) and execute them all! 2105 ;; (which are happily sorted now) and execute them all!
2106 (let* ((rval nil) (lastval nil) (rvalever nil) 2106 (let* ((rval nil) (lastval nil) (rvalever nil)
2107 (scoped-class (cdr lambdas)) 2107 (scoped-class (cdr lambdas))
@@ -2331,7 +2331,7 @@ nil for superclasses. This function performs no type checking!"
2331If CLASS is not a class then use `generic' instead. If class has 2331If CLASS is not a class then use `generic' instead. If class has
2332no form, but has a parent class, then trace to that parent class. 2332no form, but has a parent class, then trace to that parent class.
2333The first time a form is requested from a symbol, an optimized path 2333The first time a form is requested from a symbol, an optimized path
2334is memorized for future faster use." 2334is memorized for faster future use."
2335 (let ((emto (aref (get method 'eieio-method-obarray) 2335 (let ((emto (aref (get method 'eieio-method-obarray)
2336 (if class key (+ key 3))))) 2336 (if class key (+ key 3)))))
2337 (if (class-p class) 2337 (if (class-p class)
@@ -2814,13 +2814,13 @@ Optional argument NOESCAPE is passed to `prin1-to-string' when appropriate."
2814;;; Autoloading some external symbols, and hooking into the help system 2814;;; Autoloading some external symbols, and hooking into the help system
2815;; 2815;;
2816 2816
2817(autoload 'eieio-help-mode-augmentation-maybee "eieio-opt" "For buffers thrown into help mode, augment for eieio.") 2817(autoload 'eieio-help-mode-augmentation-maybee "eieio-opt" "For buffers thrown into help mode, augment for EIEIO.")
2818(autoload 'eieio-browse "eieio-opt" "Create an object browser window" t) 2818(autoload 'eieio-browse "eieio-opt" "Create an object browser window." t)
2819(autoload 'eieio-describe-class "eieio-opt" "Describe CLASS defined by a string or symbol" t) 2819(autoload 'eieio-describe-class "eieio-opt" "Describe CLASS defined by a string or symbol" t)
2820(autoload 'eieio-describe-constructor "eieio-opt" "Describe the constructor function FCN." t) 2820(autoload 'eieio-describe-constructor "eieio-opt" "Describe the constructor function FCN." t)
2821(autoload 'describe-class "eieio-opt" "Describe CLASS defined by a string or symbol" t) 2821(autoload 'describe-class "eieio-opt" "Describe CLASS defined by a string or symbol." t)
2822(autoload 'eieio-describe-generic "eieio-opt" "Describe GENERIC defined by a string or symbol" t) 2822(autoload 'eieio-describe-generic "eieio-opt" "Describe GENERIC defined by a string or symbol." t)
2823(autoload 'describe-generic "eieio-opt" "Describe GENERIC defined by a string or symbol" t) 2823(autoload 'describe-generic "eieio-opt" "Describe GENERIC defined by a string or symbol." t)
2824 2824
2825(autoload 'customize-object "eieio-custom" "Create a custom buffer editing OBJ.") 2825(autoload 'customize-object "eieio-custom" "Create a custom buffer editing OBJ.")
2826 2826
diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el
index 73cff9d8934..8c216d9aca6 100644
--- a/lisp/emulation/viper-cmd.el
+++ b/lisp/emulation/viper-cmd.el
@@ -479,7 +479,7 @@
479 (assoc major-mode viper-emacs-state-modifier-alist)) 479 (assoc major-mode viper-emacs-state-modifier-alist))
480 viper-empty-keymap)) 480 viper-empty-keymap))
481 )) 481 ))
482 482
483 ;; This var is not local in Emacs, so we make it local. It must be local 483 ;; This var is not local in Emacs, so we make it local. It must be local
484 ;; because although the stack of minor modes can be the same for all buffers, 484 ;; because although the stack of minor modes can be the same for all buffers,
485 ;; the associated *keymaps* can be different. In Viper, 485 ;; the associated *keymaps* can be different. In Viper,
@@ -891,7 +891,7 @@ Vi's prefix argument will be used. Otherwise, the prefix argument passed to
891 891
892 892
893(defun viper-exec-form-in-vi (form) 893(defun viper-exec-form-in-vi (form)
894 "Execute FORM in Vi state, regardless of the Ccurrent Vi state." 894 "Execute FORM in Vi state, regardless of the current Vi state."
895 (let ((buff (current-buffer)) 895 (let ((buff (current-buffer))
896 result) 896 result)
897 (viper-set-mode-vars-for 'vi-state) 897 (viper-set-mode-vars-for 'vi-state)
@@ -910,7 +910,7 @@ Vi's prefix argument will be used. Otherwise, the prefix argument passed to
910 910
911(defun viper-exec-form-in-emacs (form) 911(defun viper-exec-form-in-emacs (form)
912 "Execute FORM in Emacs, temporarily disabling Viper's minor modes. 912 "Execute FORM in Emacs, temporarily disabling Viper's minor modes.
913Similar to viper-escape-to-emacs, but accepts forms rather than keystrokes." 913Similar to `viper-escape-to-emacs', but accepts forms rather than keystrokes."
914 (let ((buff (current-buffer)) 914 (let ((buff (current-buffer))
915 result) 915 result)
916 (viper-set-mode-vars-for 'emacs-state) 916 (viper-set-mode-vars-for 'emacs-state)
@@ -939,7 +939,7 @@ such minor modes.
939Usage: 939Usage:
940 (viper-harness-minor-mode load-file) 940 (viper-harness-minor-mode load-file)
941 941
942LOAD-FILE is a name of the file where the specific minor mode is defined. 942LOAD-FILE is the name of the file where the specific minor mode is defined.
943Suffixes such as .el or .elc should be stripped." 943Suffixes such as .el or .elc should be stripped."
944 944
945 (interactive "sEnter name of the load file: ") 945 (interactive "sEnter name of the load file: ")
@@ -961,9 +961,9 @@ Prevents multiple escape keystrokes if viper-no-multiple-ESC is true.
961If viper-no-multiple-ESC is 'twice double ESC would ding in vi-state. 961If viper-no-multiple-ESC is 'twice double ESC would ding in vi-state.
962Other ESC sequences are emulated via the current Emacs's major mode 962Other ESC sequences are emulated via the current Emacs's major mode
963keymap. This is more convenient on TTYs, since this won't block 963keymap. This is more convenient on TTYs, since this won't block
964function keys such as up,down, etc. ESC will also will also work as 964function keys such as up, down, etc. ESC will also will also work as
965a Meta key in this case. When viper-no-multiple-ESC is nil, ESC functions 965a Meta key in this case. When viper-no-multiple-ESC is nil, ESC works
966as a Meta key and any number of multiple escapes is allowed." 966as a Meta key and any number of multiple escapes are allowed."
967 (interactive "P") 967 (interactive "P")
968 (let (char) 968 (let (char)
969 (cond ((and (not viper-no-multiple-ESC) (eq viper-current-state 'vi-state)) 969 (cond ((and (not viper-no-multiple-ESC) (eq viper-current-state 'vi-state))
@@ -1181,7 +1181,7 @@ as a Meta key and any number of multiple escapes is allowed."
1181 ((eq event-char 'delete) (setq event-char ?\C-?)) 1181 ((eq event-char 'delete) (setq event-char ?\C-?))
1182 ((eq event-char 'backspace) (setq event-char ?\C-h)) 1182 ((eq event-char 'backspace) (setq event-char ?\C-h))
1183 ((eq event-char 'space) (setq event-char ?\ ))) 1183 ((eq event-char 'space) (setq event-char ?\ )))
1184 (setq last-command-event 1184 (setq last-command-event
1185 (if (featurep 'xemacs) 1185 (if (featurep 'xemacs)
1186 (character-to-event (or com event-char)) 1186 (character-to-event (or com event-char))
1187 (or com event-char))) 1187 (or com event-char)))
@@ -1257,7 +1257,7 @@ as a Meta key and any number of multiple escapes is allowed."
1257 1257
1258 ;; as com is non-nil, this means that we have a command to execute 1258 ;; as com is non-nil, this means that we have a command to execute
1259 (if (viper-memq-char (car com) '(?r ?R)) 1259 (if (viper-memq-char (car com) '(?r ?R))
1260 ;; execute apropriate region command. 1260 ;; execute appropriate region command.
1261 (let ((char (car com)) (com (cdr com))) 1261 (let ((char (car com)) (com (cdr com)))
1262 (setq prefix-arg (cons value com)) 1262 (setq prefix-arg (cons value com))
1263 (if (viper= char ?r) 1263 (if (viper= char ?r)
@@ -1285,7 +1285,7 @@ as a Meta key and any number of multiple escapes is allowed."
1285 ;; gg acts as G0 1285 ;; gg acts as G0
1286 ((equal (car com) ?g) (viper-goto-line 0)) 1286 ((equal (car com) ?g) (viper-goto-line 0))
1287 (t (error "Viper bell"))))) 1287 (t (error "Viper bell")))))
1288 1288
1289 (if cmd-to-exec-at-end 1289 (if cmd-to-exec-at-end
1290 (progn 1290 (progn
1291 (setq last-command-event 1291 (setq last-command-event
@@ -1621,7 +1621,7 @@ Use the info in viper-d-com, which has the form
1621where `com' is the command to be re-executed, `val' is the 1621where `com' is the command to be re-executed, `val' is the
1622argument to `com', `ch' is a flag for repeat, and `reg' is optional; 1622argument to `com', `ch' is a flag for repeat, and `reg' is optional;
1623if it exists, it is the name of the register for `com'. 1623if it exists, it is the name of the register for `com'.
1624If the prefix argument, ARG, is non-nil, it is used instead of `val'." 1624If the prefix argument ARG is non-nil, it is used instead of `val'."
1625 (interactive "P") 1625 (interactive "P")
1626 (let ((save-point (point)) ; save point before repeating prev cmd 1626 (let ((save-point (point)) ; save point before repeating prev cmd
1627 ;; Pass along that we are repeating a destructive command 1627 ;; Pass along that we are repeating a destructive command
@@ -1944,7 +1944,7 @@ Undo previous insertion and inserts new."
1944 require-final-newline 1944 require-final-newline
1945 ;; add newline only if we actually edited buffer. otherwise it 1945 ;; add newline only if we actually edited buffer. otherwise it
1946 ;; might unintentionally modify binary buffers 1946 ;; might unintentionally modify binary buffers
1947 (buffer-modified-p) 1947 (buffer-modified-p)
1948 (not (viper-is-in-minibuffer)) 1948 (not (viper-is-in-minibuffer))
1949 (not buffer-read-only)) 1949 (not buffer-read-only))
1950 ;; text property may be read-only 1950 ;; text property may be read-only
@@ -2539,7 +2539,7 @@ problems."
2539 2539
2540(defun viper-replace-state-exit-cmd () 2540(defun viper-replace-state-exit-cmd ()
2541 "Binding for keys that cause Replace state to switch to Vi or to Insert. 2541 "Binding for keys that cause Replace state to switch to Vi or to Insert.
2542These keys are ESC, RET, and LineFeed" 2542These keys are ESC, RET, and LineFeed."
2543 (interactive) 2543 (interactive)
2544 (if overwrite-mode ; if in replace mode invoked via 'R' 2544 (if overwrite-mode ; if in replace mode invoked via 'R'
2545 (viper-finish-R-mode) 2545 (viper-finish-R-mode)
@@ -3711,7 +3711,7 @@ controlled by the sign of prefix numeric value."
3711(defun viper-toggle-search-style (arg) 3711(defun viper-toggle-search-style (arg)
3712 "Toggle the value of viper-case-fold-search/viper-re-search. 3712 "Toggle the value of viper-case-fold-search/viper-re-search.
3713Without prefix argument, will ask which search style to toggle. With prefix 3713Without prefix argument, will ask which search style to toggle. With prefix
3714arg 1,toggles viper-case-fold-search; with arg 2 toggles viper-re-search. 3714arg 1, toggles viper-case-fold-search; with arg 2 toggles viper-re-search.
3715 3715
3716Although this function is bound to \\[viper-toggle-search-style], the most 3716Although this function is bound to \\[viper-toggle-search-style], the most
3717convenient way to use it is to bind `//' to the macro 3717convenient way to use it is to bind `//' to the macro
@@ -4262,7 +4262,7 @@ Null string will repeat previous search."
4262(defun viper-del-backward-char-in-replace () 4262(defun viper-del-backward-char-in-replace ()
4263 "Delete one character in replace mode. 4263 "Delete one character in replace mode.
4264If `viper-delete-backwards-in-replace' is t, then DEL key actually deletes 4264If `viper-delete-backwards-in-replace' is t, then DEL key actually deletes
4265charecters. If it is nil, then the cursor just moves backwards, similarly 4265characters. If it is nil, then the cursor just moves backwards, similarly
4266to Vi. The variable `viper-ex-style-editing', if t, doesn't let the 4266to Vi. The variable `viper-ex-style-editing', if t, doesn't let the
4267cursor move past the beginning of line." 4267cursor move past the beginning of line."
4268 (interactive) 4268 (interactive)
@@ -4614,7 +4614,7 @@ One can use `` and '' to temporarily jump 1 step back."
4614 (indent-to (+ (current-column) viper-shift-width))) 4614 (indent-to (+ (current-column) viper-shift-width)))
4615 4615
4616(defun viper-backward-indent () 4616(defun viper-backward-indent ()
4617 "Backtab, C-d in VI" 4617 "Backtab, `C-d' in Vi."
4618 (interactive) 4618 (interactive)
4619 (if viper-cted 4619 (if viper-cted
4620 (let ((p (point)) (c (current-column)) bol (indent t)) 4620 (let ((p (point)) (c (current-column)) bol (indent t))
@@ -4689,7 +4689,7 @@ One can use `` and '' to temporarily jump 1 step back."
4689 viper-InvalidRegister reg))))) 4689 viper-InvalidRegister reg)))))
4690 4690
4691(defun viper-brac-function (arg) 4691(defun viper-brac-function (arg)
4692 "Function called by \[, the brac. View textmarkers and call \[\[" 4692 "Function called by \[, the brac. View textmarkers and call \[\[."
4693 (interactive "P") 4693 (interactive "P")
4694 (let ((reg (read-char))) 4694 (let ((reg (read-char)))
4695 (cond ((viper= ?\[ reg) 4695 (cond ((viper= ?\[ reg)
@@ -4922,7 +4922,7 @@ Please, specify your level now: ")
4922 4922
4923;; if ENFORCE-BUFFER is not nil, error if CHAR is a marker in another buffer 4923;; if ENFORCE-BUFFER is not nil, error if CHAR is a marker in another buffer
4924(defun viper-register-to-point (char &optional enforce-buffer) 4924(defun viper-register-to-point (char &optional enforce-buffer)
4925 "Like jump-to-register, but switches to another buffer in another window." 4925 "Like `jump-to-register', but switches to another buffer in another window."
4926 (interactive "cViper register to point: ") 4926 (interactive "cViper register to point: ")
4927 (let ((val (get-register char))) 4927 (let ((val (get-register char)))
4928 (cond 4928 (cond
@@ -5047,7 +5047,7 @@ PLEASE FOLLOW THESE PROCEDURES
5047------------------------------ 5047------------------------------
5048 5048
5049Before reporting a bug, please verify that it is related to Viper, and is 5049Before reporting a bug, please verify that it is related to Viper, and is
5050not cause by other packages you are using. 5050not caused by other packages you are using.
5051 5051
5052Don't report compilation warnings, unless you are certain that there is a 5052Don't report compilation warnings, unless you are certain that there is a
5053problem. These warnings are normal and unavoidable. 5053problem. These warnings are normal and unavoidable.
diff --git a/lisp/files.el b/lisp/files.el
index b665bd25343..99e818643d0 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -1289,7 +1289,7 @@ BODY should use the minibuffer at most once.
1289Recursive uses of the minibuffer are unaffected (FUN is not 1289Recursive uses of the minibuffer are unaffected (FUN is not
1290called additional times). 1290called additional times).
1291 1291
1292This macro actually adds an auxilliary function that calls FUN, 1292This macro actually adds an auxiliary function that calls FUN,
1293rather than FUN itself, to `minibuffer-setup-hook'." 1293rather than FUN itself, to `minibuffer-setup-hook'."
1294 (declare (indent 1) (debug t)) 1294 (declare (indent 1) (debug t))
1295 (let ((hook (make-symbol "setup-hook"))) 1295 (let ((hook (make-symbol "setup-hook")))
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 8e7ae005762..1c1c62bb1b0 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,17 @@
12010-01-17 Chong Yidong <cyd@stupidchicken.com>
2
3 * message.el (message-mail): Just pass yank-action on to message-setup.
4 (message-setup): Handle (FUN . ARGS) form of yank-action.
5 (message-with-reply-buffer, message-widen-reply)
6 (message-yank-original): Handle non-buffer values of
7 message-reply-buffer (Bug#4080).
8 (message-setup-1): Prefer to save message-reply-buffer as a buffer.
9
102010-01-17 Juanma Barranquero <lekktu@gmail.com>
11
12 * nnmairix.el (nnmairix-group-delete-recreate-this-group):
13 Fix typo in docstring.
14
12010-01-08 Jason Rumney <jasonr@gnu.org> 152010-01-08 Jason Rumney <jasonr@gnu.org>
2 16
3 * sieve-manage.el (sieve-manage-parse-capability-1): Loosely match OK 17 * sieve-manage.el (sieve-manage-parse-capability-1): Loosely match OK
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index c0886c2051c..7194813422a 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -1139,6 +1139,8 @@ If stringp, use this; if non-nil, use no host name (user name only)."
1139 (string :tag "name") 1139 (string :tag "name")
1140 (sexp :tag "none" :format "%t" t))) 1140 (sexp :tag "none" :format "%t" t)))
1141 1141
1142;; This can be the name of a buffer, or a cons cell (FUNCTION . ARGS)
1143;; for yanking the original buffer.
1142(defvar message-reply-buffer nil) 1144(defvar message-reply-buffer nil)
1143(defvar message-reply-headers nil 1145(defvar message-reply-headers nil
1144 "The headers of the current replied article. 1146 "The headers of the current replied article.
@@ -1997,7 +1999,7 @@ see `message-narrow-to-headers-or-head'."
1997 1999
1998(defmacro message-with-reply-buffer (&rest forms) 2000(defmacro message-with-reply-buffer (&rest forms)
1999 "Evaluate FORMS in the reply buffer, if it exists." 2001 "Evaluate FORMS in the reply buffer, if it exists."
2000 `(when (and message-reply-buffer 2002 `(when (and (bufferp message-reply-buffer)
2001 (buffer-name message-reply-buffer)) 2003 (buffer-name message-reply-buffer))
2002 (with-current-buffer message-reply-buffer 2004 (with-current-buffer message-reply-buffer
2003 ,@forms))) 2005 ,@forms)))
@@ -3179,7 +3181,7 @@ or in the synonym headers, defined by `message-header-synonyms'."
3179 "Widen the reply to include maximum recipients." 3181 "Widen the reply to include maximum recipients."
3180 (interactive) 3182 (interactive)
3181 (let ((follow-to 3183 (let ((follow-to
3182 (and message-reply-buffer 3184 (and (bufferp message-reply-buffer)
3183 (buffer-name message-reply-buffer) 3185 (buffer-name message-reply-buffer)
3184 (with-current-buffer message-reply-buffer 3186 (with-current-buffer message-reply-buffer
3185 (message-get-reply-headers t))))) 3187 (message-get-reply-headers t)))))
@@ -3674,9 +3676,16 @@ Really top post? ")))
3674 (point-max))) 3676 (point-max)))
3675 (delete-region (message-goto-body) (point-max))) 3677 (delete-region (message-goto-body) (point-max)))
3676 (set (make-local-variable 'message-cite-reply-above) nil))) 3678 (set (make-local-variable 'message-cite-reply-above) nil)))
3677 (delete-windows-on message-reply-buffer t) 3679 (if (bufferp message-reply-buffer)
3680 (delete-windows-on message-reply-buffer t))
3678 (push-mark (save-excursion 3681 (push-mark (save-excursion
3679 (insert-buffer-substring message-reply-buffer) 3682 (cond
3683 ((bufferp message-reply-buffer)
3684 (insert-buffer-substring message-reply-buffer))
3685 ((and (consp message-reply-buffer)
3686 (functionp (car message-reply-buffer)))
3687 (apply (car message-reply-buffer)
3688 (cdr message-reply-buffer))))
3680 (unless (bolp) 3689 (unless (bolp)
3681 (insert ?\n)) 3690 (insert ?\n))
3682 (point))) 3691 (point)))
@@ -6251,14 +6260,14 @@ between beginning of field and beginning of line."
6251 nil 6260 nil
6252 mua))) 6261 mua)))
6253 6262
6254(defun message-setup (headers &optional replybuffer actions 6263;; YANK-ACTION, if non-nil, can be a buffer or a yank action of the
6264;; form (FUNCTION . ARGS).
6265(defun message-setup (headers &optional yank-action actions
6255 continue switch-function) 6266 continue switch-function)
6256 (let ((mua (message-mail-user-agent)) 6267 (let ((mua (message-mail-user-agent))
6257 subject to field yank-action) 6268 subject to field)
6258 (if (not (and message-this-is-mail mua)) 6269 (if (not (and message-this-is-mail mua))
6259 (message-setup-1 headers replybuffer actions) 6270 (message-setup-1 headers yank-action actions)
6260 (if replybuffer
6261 (setq yank-action (list 'insert-buffer replybuffer)))
6262 (setq headers (copy-sequence headers)) 6271 (setq headers (copy-sequence headers))
6263 (setq field (assq 'Subject headers)) 6272 (setq field (assq 'Subject headers))
6264 (when field 6273 (when field
@@ -6275,7 +6284,11 @@ between beginning of field and beginning of line."
6275 (format "%s" (car item)) 6284 (format "%s" (car item))
6276 (cdr item))) 6285 (cdr item)))
6277 headers) 6286 headers)
6278 continue switch-function yank-action actions))))) 6287 continue switch-function
6288 (if (bufferp yank-action)
6289 (list 'insert-buffer yank-action)
6290 yank-action)
6291 actions)))))
6279 6292
6280(defun message-headers-to-generate (headers included-headers excluded-headers) 6293(defun message-headers-to-generate (headers included-headers excluded-headers)
6281 "Return a list that includes all headers from HEADERS. 6294 "Return a list that includes all headers from HEADERS.
@@ -6302,12 +6315,16 @@ are not included."
6302 (push header result))) 6315 (push header result)))
6303 (nreverse result))) 6316 (nreverse result)))
6304 6317
6305(defun message-setup-1 (headers &optional replybuffer actions) 6318(defun message-setup-1 (headers &optional yank-action actions)
6306 (dolist (action actions) 6319 (dolist (action actions)
6307 (condition-case nil 6320 (condition-case nil
6308 (add-to-list 'message-send-actions 6321 (add-to-list 'message-send-actions
6309 `(apply ',(car action) ',(cdr action))))) 6322 `(apply ',(car action) ',(cdr action)))))
6310 (setq message-reply-buffer replybuffer) 6323 (setq message-reply-buffer
6324 (if (and (consp yank-action)
6325 (eq (car yank-action) 'insert-buffer))
6326 (nth 1 yank-action)
6327 yank-action))
6311 (goto-char (point-min)) 6328 (goto-char (point-min))
6312 ;; Insert all the headers. 6329 ;; Insert all the headers.
6313 (mail-header-format 6330 (mail-header-format
@@ -6438,7 +6455,7 @@ OTHER-HEADERS is an alist of header/value pairs. CONTINUE says whether
6438to continue editing a message already being composed. SWITCH-FUNCTION 6455to continue editing a message already being composed. SWITCH-FUNCTION
6439is a function used to switch to and display the mail buffer." 6456is a function used to switch to and display the mail buffer."
6440 (interactive) 6457 (interactive)
6441 (let ((message-this-is-mail t) replybuffer) 6458 (let ((message-this-is-mail t))
6442 (unless (message-mail-user-agent) 6459 (unless (message-mail-user-agent)
6443 (message-pop-to-buffer 6460 (message-pop-to-buffer
6444 ;; Search for the existing message buffer if `continue' is non-nil. 6461 ;; Search for the existing message buffer if `continue' is non-nil.
@@ -6449,15 +6466,11 @@ is a function used to switch to and display the mail buffer."
6449 message-generate-new-buffers))) 6466 message-generate-new-buffers)))
6450 (message-buffer-name "mail" to)) 6467 (message-buffer-name "mail" to))
6451 switch-function)) 6468 switch-function))
6452 ;; FIXME: message-mail should do something if YANK-ACTION is not
6453 ;; insert-buffer.
6454 (and (consp yank-action) (eq (car yank-action) 'insert-buffer)
6455 (setq replybuffer (nth 1 yank-action)))
6456 (message-setup 6469 (message-setup
6457 (nconc 6470 (nconc
6458 `((To . ,(or to "")) (Subject . ,(or subject ""))) 6471 `((To . ,(or to "")) (Subject . ,(or subject "")))
6459 (when other-headers other-headers)) 6472 (when other-headers other-headers))
6460 replybuffer send-actions continue switch-function) 6473 yank-action send-actions continue switch-function)
6461 ;; FIXME: Should return nil if failure. 6474 ;; FIXME: Should return nil if failure.
6462 t)) 6475 t))
6463 6476
diff --git a/lisp/gnus/nnmairix.el b/lisp/gnus/nnmairix.el
index 215b6d6072a..e39149b996c 100644
--- a/lisp/gnus/nnmairix.el
+++ b/lisp/gnus/nnmairix.el
@@ -1104,7 +1104,7 @@ with `nnmairix-mairix-update-options'."
1104 1104
1105(defun nnmairix-group-delete-recreate-this-group () 1105(defun nnmairix-group-delete-recreate-this-group ()
1106 "Deletes and recreates group on the back end. 1106 "Deletes and recreates group on the back end.
1107You can use this function on nnmairix groups which continously 1107You can use this function on nnmairix groups which continuously
1108show wrong article counts." 1108show wrong article counts."
1109 (interactive) 1109 (interactive)
1110 (let* ((group (gnus-group-group-name)) 1110 (let* ((group (gnus-group-group-name))
diff --git a/lisp/ido.el b/lisp/ido.el
index 60b874dcd49..48acc50581d 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -1042,11 +1042,11 @@ Value is an integer which is number of chars to right of prompt.")
1042;; Stores the current list of items that will be searched through. 1042;; Stores the current list of items that will be searched through.
1043;; The list is ordered, so that the most interesting item comes first, 1043;; The list is ordered, so that the most interesting item comes first,
1044;; although by default, the files visible in the current frame are put 1044;; although by default, the files visible in the current frame are put
1045;; at the end of the list. Created by `ido-make-item-list'. 1045;; at the end of the list.
1046(defvar ido-cur-list) 1046(defvar ido-cur-list nil)
1047 1047
1048;; Stores the choice list for ido-completing-read 1048;; Stores the choice list for ido-completing-read
1049(defvar ido-choice-list) 1049(defvar ido-choice-list nil)
1050 1050
1051;; Stores the list of items which are ignored when building 1051;; Stores the list of items which are ignored when building
1052;; `ido-cur-list'. It is in no specific order. 1052;; `ido-cur-list'. It is in no specific order.
@@ -3344,7 +3344,7 @@ for first matching file."
3344 (if ido-temp-list 3344 (if ido-temp-list
3345 (nconc ido-temp-list ido-current-buffers) 3345 (nconc ido-temp-list ido-current-buffers)
3346 (setq ido-temp-list ido-current-buffers)) 3346 (setq ido-temp-list ido-current-buffers))
3347 (if default 3347 (if (and default (buffer-live-p (get-buffer default)))
3348 (progn 3348 (progn
3349 (setq ido-temp-list 3349 (setq ido-temp-list
3350 (delete default ido-temp-list)) 3350 (delete default ido-temp-list))
@@ -3590,6 +3590,7 @@ for first matching file."
3590 ;; Used by `ido-get-buffers-in-frames' to walk through all windows 3590 ;; Used by `ido-get-buffers-in-frames' to walk through all windows
3591 (let ((buf (buffer-name (window-buffer win)))) 3591 (let ((buf (buffer-name (window-buffer win))))
3592 (unless (or (member buf ido-bufs-in-frame) 3592 (unless (or (member buf ido-bufs-in-frame)
3593 (minibufferp buf)
3593 (member buf ido-ignore-item-temp-list)) 3594 (member buf ido-ignore-item-temp-list))
3594 ;; Only add buf if it is not already in list. 3595 ;; Only add buf if it is not already in list.
3595 ;; This prevents same buf in two different windows being 3596 ;; This prevents same buf in two different windows being
@@ -3830,6 +3831,27 @@ for first matching file."
3830 ;;(add-hook 'completion-setup-hook 'completion-setup-function) 3831 ;;(add-hook 'completion-setup-hook 'completion-setup-function)
3831 (display-completion-list completion-list))))))) 3832 (display-completion-list completion-list)))))))
3832 3833
3834(defun ido-kill-buffer-internal (buf)
3835 "Kill buffer BUF and rebuild ido's buffer list if needed."
3836 (if (not (kill-buffer buf))
3837 ;; buffer couldn't be killed.
3838 (setq ido-rescan t)
3839 ;; else buffer was killed so remove name from list.
3840 (setq ido-cur-list (delq buf ido-cur-list))
3841 ;; Some packages, like uniquify.el, may rename buffers when one
3842 ;; is killed, so we need to test this condition to avoid using
3843 ;; an outdated list of buffer names. We don't want to always
3844 ;; rebuild the list of buffers, as this alters the previous
3845 ;; buffer order that the user was seeing on the prompt. However,
3846 ;; when we rebuild the list, we try to keep the previous second
3847 ;; buffer as the first one.
3848 (catch 'update
3849 (dolist (b ido-cur-list)
3850 (unless (get-buffer b)
3851 (setq ido-cur-list (ido-make-buffer-list (cadr ido-matches)))
3852 (setq ido-rescan t)
3853 (throw 'update nil))))))
3854
3833;;; KILL CURRENT BUFFER 3855;;; KILL CURRENT BUFFER
3834(defun ido-kill-buffer-at-head () 3856(defun ido-kill-buffer-at-head ()
3835 "Kill the buffer at the head of `ido-matches'. 3857 "Kill the buffer at the head of `ido-matches'.
@@ -3840,7 +3862,7 @@ If cursor is not at the end of the user input, delete to end of input."
3840 (let ((enable-recursive-minibuffers t) 3862 (let ((enable-recursive-minibuffers t)
3841 (buf (ido-name (car ido-matches)))) 3863 (buf (ido-name (car ido-matches))))
3842 (when buf 3864 (when buf
3843 (kill-buffer buf) 3865 (ido-kill-buffer-internal buf)
3844 ;; Check if buffer still exists. 3866 ;; Check if buffer still exists.
3845 (if (get-buffer buf) 3867 (if (get-buffer buf)
3846 ;; buffer couldn't be killed. 3868 ;; buffer couldn't be killed.
@@ -3884,7 +3906,7 @@ Record command in `command-history' if optional RECORD is non-nil."
3884 ((eq method 'kill) 3906 ((eq method 'kill)
3885 (if record 3907 (if record
3886 (ido-record-command 'kill-buffer buffer)) 3908 (ido-record-command 'kill-buffer buffer))
3887 (kill-buffer buffer)) 3909 (ido-kill-buffer-internal buffer))
3888 3910
3889 ((eq method 'other-window) 3911 ((eq method 'other-window)
3890 (if record 3912 (if record
diff --git a/lisp/indent.el b/lisp/indent.el
index 12cf9c9bb5d..3f8353bd90c 100644
--- a/lisp/indent.el
+++ b/lisp/indent.el
@@ -1,7 +1,7 @@
1;;; indent.el --- indentation commands for Emacs 1;;; indent.el --- indentation commands for Emacs
2 2
3;; Copyright (C) 1985, 1995, 2001, 2002, 2003, 2004, 3;; Copyright (C) 1985, 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4;; 2008, 2009, 2010 Free Software Foundation, Inc.
5 5
6;; Maintainer: FSF 6;; Maintainer: FSF
7 7
@@ -55,7 +55,11 @@ was already indented, then try to complete the thing at point.
55Some programming language modes have their own variable to control this, 55Some programming language modes have their own variable to control this,
56e.g., `c-tab-always-indent', and do not respect this variable." 56e.g., `c-tab-always-indent', and do not respect this variable."
57 :group 'indent 57 :group 'indent
58 :type '(choice (const nil) (const t) (const always))) 58 :type '(choice
59 (const :tag "Always indent" t)
60 (const :tag "Indent if inside indentation, else TAB" nil)
61 (const :tag "Indent, or if already indented complete" complete)))
62
59 63
60(defun indent-according-to-mode () 64(defun indent-according-to-mode ()
61 "Indent line in proper way for current major mode. 65 "Indent line in proper way for current major mode.
diff --git a/lisp/isearch.el b/lisp/isearch.el
index ab40678e69c..d0ad330c5c0 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -1754,7 +1754,10 @@ Scroll-bar or mode-line events are processed appropriately."
1754(put 'digit-argument 'isearch-scroll t) 1754(put 'digit-argument 'isearch-scroll t)
1755 1755
1756(defcustom isearch-allow-scroll nil 1756(defcustom isearch-allow-scroll nil
1757 "If non-nil, scrolling commands are allowed during incremental search." 1757 "Whether scrolling is allowed during incremental search.
1758If non-nil, scrolling commands can be used in Isearch mode.
1759However, the current match will never scroll offscreen.
1760If nil, scolling commands will first cancel Isearch mode."
1758 :type 'boolean 1761 :type 'boolean
1759 :group 'isearch) 1762 :group 'isearch)
1760 1763
diff --git a/lisp/jka-compr.el b/lisp/jka-compr.el
index 12f48bd96b1..34ffcc90a76 100644
--- a/lisp/jka-compr.el
+++ b/lisp/jka-compr.el
@@ -590,7 +590,14 @@ There should be no more than seven characters after the final `/'."
590 (or nomessage 590 (or nomessage
591 (message "Loading %s...done." file)) 591 (message "Loading %s...done." file))
592 ;; Fix up the load history to point at the right library. 592 ;; Fix up the load history to point at the right library.
593 (let ((l (assoc load-file load-history))) 593 (let ((l (or (assoc load-file load-history)
594 ;; On MS-Windows, if load-file is in
595 ;; temporary-file-directory, it will look like
596 ;; "c:/DOCUME~1/USER/LOCALS~1/foo", whereas
597 ;; readevalloop will record its truename in
598 ;; load-history. Therefore try truename if the
599 ;; original name is not in load-history.
600 (assoc (file-truename load-file) load-history))))
594 ;; Remove .gz and .elc?. 601 ;; Remove .gz and .elc?.
595 (while (file-name-extension file) 602 (while (file-name-extension file)
596 (setq file (file-name-sans-extension file))) 603 (setq file (file-name-sans-extension file)))
diff --git a/lisp/mail/mail-utils.el b/lisp/mail/mail-utils.el
index 3bca0b23a8c..5fad3554ae5 100644
--- a/lisp/mail/mail-utils.el
+++ b/lisp/mail/mail-utils.el
@@ -133,6 +133,8 @@ If NOERROR is non-nil, return t if successful.
133If UNIBYTE is non-nil, insert converted characters as unibyte. 133If UNIBYTE is non-nil, insert converted characters as unibyte.
134That is useful if you are going to character code decoding afterward, 134That is useful if you are going to character code decoding afterward,
135as Rmail does." 135as Rmail does."
136 ;; FIXME: `unibyte' should always be non-nil, and the iso-latin-1
137 ;; specific handling should be removed (or moved elsewhere and generalized).
136 (interactive "r\nP") 138 (interactive "r\nP")
137 (let (failed) 139 (let (failed)
138 (save-match-data 140 (save-match-data
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 67ea3fdc158..20a03ede965 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -2727,7 +2727,8 @@ The current mail message becomes the message displayed."
2727 (insert-buffer-substring mbox-buf body-start end) 2727 (insert-buffer-substring mbox-buf body-start end)
2728 (cond 2728 (cond
2729 ((string= character-coding "quoted-printable") 2729 ((string= character-coding "quoted-printable")
2730 (mail-unquote-printable-region (point-min) (point-max))) 2730 (mail-unquote-printable-region (point-min) (point-max)
2731 nil nil 'unibyte))
2731 ((and (string= character-coding "base64") is-text-message) 2732 ((and (string= character-coding "base64") is-text-message)
2732 (base64-decode-region (point-min) (point-max))) 2733 (base64-decode-region (point-min) (point-max)))
2733 ((eq character-coding 'uuencode) 2734 ((eq character-coding 'uuencode)
diff --git a/lisp/mail/rmailmm.el b/lisp/mail/rmailmm.el
index e87f72a2e47..415bc20cf50 100644
--- a/lisp/mail/rmailmm.el
+++ b/lisp/mail/rmailmm.el
@@ -361,7 +361,10 @@ The parsed header value:
361 (setq content-transfer-encoding nil)) 361 (setq content-transfer-encoding nil))
362 ((string= content-transfer-encoding "8bit") 362 ((string= content-transfer-encoding "8bit")
363 ;; FIXME: Is this the correct way? 363 ;; FIXME: Is this the correct way?
364 (set-buffer-multibyte nil))) 364 ;; No, of course not, it just means there's no decoding to do.
365 ;; (set-buffer-multibyte nil)
366 (setq content-transfer-encoding nil)
367 ))
365 ;; Inline stuff requires work. Attachments are handled by the bulk 368 ;; Inline stuff requires work. Attachments are handled by the bulk
366 ;; handler. 369 ;; handler.
367 (if (string= "inline" (car content-disposition)) 370 (if (string= "inline" (car content-disposition))
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el
index 7004133f584..da8fe85da82 100644
--- a/lisp/mail/sendmail.el
+++ b/lisp/mail/sendmail.el
@@ -1505,14 +1505,18 @@ and don't delete any header fields."
1505 (interactive "P") 1505 (interactive "P")
1506 (if mail-reply-action 1506 (if mail-reply-action
1507 (let ((start (point)) 1507 (let ((start (point))
1508 (original mail-reply-action)) 1508 (original mail-reply-action)
1509 (omark (mark t)))
1509 (and (consp original) (eq (car original) 'insert-buffer) 1510 (and (consp original) (eq (car original) 'insert-buffer)
1510 (setq original (nth 1 original))) 1511 (setq original (nth 1 original)))
1511 (if (consp original) 1512 (if (consp original)
1512 (apply (car original) (cdr original)) 1513 (progn
1513 ;; If the original message is in another window in the same frame, 1514 ;; Call yank function, and set the mark if it doesn't.
1514 ;; delete that window to save screen space. 1515 (apply (car original) (cdr original))
1515 ;; t means don't alter other frames. 1516 (if (eq omark (mark t))
1517 (push-mark (point))))
1518 ;; If the original message is in another window in the same
1519 ;; frame, delete that window to save space.
1516 (delete-windows-on original t) 1520 (delete-windows-on original t)
1517 (with-no-warnings 1521 (with-no-warnings
1518 ;; We really want this to set mark. 1522 ;; We really want this to set mark.
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index f789110d26f..3f4af0ebf0e 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -6890,7 +6890,7 @@ input.
6890 6890
6891If they are variables, this variable is a string containing a Perl 6891If they are variables, this variable is a string containing a Perl
6892implementation for this functionality. This Perl program will be transferred 6892implementation for this functionality. This Perl program will be transferred
6893to the remote host, and it is avalible as shell function with the same name.") 6893to the remote host, and it is available as shell function with the same name.")
6894 6894
6895(defun tramp-find-inline-encoding (vec) 6895(defun tramp-find-inline-encoding (vec)
6896 "Find an inline transfer encoding that works. 6896 "Find an inline transfer encoding that works.
diff --git a/lisp/nxml/nxml-mode.el b/lisp/nxml/nxml-mode.el
index 9fefd304b44..8bcde7a3a22 100644
--- a/lisp/nxml/nxml-mode.el
+++ b/lisp/nxml/nxml-mode.el
@@ -882,16 +882,17 @@ Called with `font-lock-beg' and `font-lock-end' dynamically bound."
882(defun nxml-extend-after-change-region (start end pre-change-length) 882(defun nxml-extend-after-change-region (start end pre-change-length)
883 (unless nxml-degraded 883 (unless nxml-degraded
884 (setq nxml-last-fontify-end nil) 884 (setq nxml-last-fontify-end nil)
885 885 (let ((region (nxml-with-degradation-on-error
886 (nxml-with-degradation-on-error 'nxml-extend-after-change-region 886 'nxml-extend-after-change-region
887 (save-excursion 887 (save-excursion
888 (save-restriction 888 (save-restriction
889 (widen) 889 (widen)
890 (save-match-data 890 (save-match-data
891 (nxml-with-invisible-motion 891 (nxml-with-invisible-motion
892 (nxml-with-unmodifying-text-property-changes 892 (nxml-with-unmodifying-text-property-changes
893 (nxml-extend-after-change-region1 893 (nxml-extend-after-change-region1
894 start end pre-change-length))))))))) 894 start end pre-change-length)))))))))
895 (if (consp region) region))))
895 896
896(defun nxml-extend-after-change-region1 (start end pre-change-length) 897(defun nxml-extend-after-change-region1 (start end pre-change-length)
897 (let* ((region (nxml-after-change1 start end pre-change-length)) 898 (let* ((region (nxml-after-change1 start end pre-change-length))
diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el
index 2b94fdb25ff..3694de23f88 100644
--- a/lisp/progmodes/ada-mode.el
+++ b/lisp/progmodes/ada-mode.el
@@ -590,8 +590,25 @@ This variable defines several rules to use to align different lines.")
590;; FIXME: make this customizable 590;; FIXME: make this customizable
591 591
592(defconst ada-ident-re 592(defconst ada-ident-re
593 "\\(\\sw\\|[_.]\\)+" 593 "[[:alpha:]]\\(?:[_[:alnum:]]\\)*"
594 "Regexp matching Ada (qualified) identifiers.") 594 ;; [:alnum:] matches any multibyte word constituent, as well as
595 ;; Latin-1 letters and numbers. This allows __ and trailing _;
596 ;; someone (emacs bug#1919) proposed [^\W_] to fix that, but \W does
597 ;; _not_ mean "not word constituent" inside a character alternative.
598 "Regexp matching an Ada identifier.")
599
600(defconst ada-goto-label-re
601 (concat "<<" ada-ident-re ">>")
602 "Regexp matching a goto label.")
603
604(defconst ada-block-label-re
605 (concat ada-ident-re "[ \t\n]*:[^=]")
606 "Regexp matching a block label.
607Note that this also matches a variable declaration.")
608
609(defconst ada-label-re
610 (concat "\\(?:" ada-block-label-re "\\)\\|\\(?:" ada-goto-label-re "\\)")
611 "Regexp matching a goto or block label.")
595 612
596;; "with" needs to be included in the regexp, to match generic subprogram parameters 613;; "with" needs to be included in the regexp, to match generic subprogram parameters
597;; Similarly, we put '[not] overriding' on the same line with 'procedure' etc. 614;; Similarly, we put '[not] overriding' on the same line with 'procedure' etc.
@@ -660,14 +677,6 @@ A new statement starts after these.")
660 "\\>")) 677 "\\>"))
661 "Regexp used in `ada-goto-matching-start'.") 678 "Regexp used in `ada-goto-matching-start'.")
662 679
663(defvar ada-matching-decl-start-re
664 (eval-when-compile
665 (concat "\\<"
666 (regexp-opt
667 '("is" "separate" "end" "declare" "if" "new" "begin" "generic" "when") t)
668 "\\>"))
669 "Regexp used in `ada-goto-matching-decl-start'.")
670
671(defvar ada-loop-start-re 680(defvar ada-loop-start-re
672 "\\<\\(for\\|while\\|loop\\)\\>" 681 "\\<\\(for\\|while\\|loop\\)\\>"
673 "Regexp for the start of a loop.") 682 "Regexp for the start of a loop.")
@@ -678,10 +687,6 @@ A new statement starts after these.")
678 "protected" "task") t) "\\>")) 687 "protected" "task") t) "\\>"))
679 "Regexp for the start of a subprogram.") 688 "Regexp for the start of a subprogram.")
680 689
681(defvar ada-named-block-re
682 "[ \t]*\\(\\sw\\|_\\)+[ \t]*:[^=]"
683 "Regexp of the name of a block or loop.")
684
685(defvar ada-contextual-menu-on-identifier nil 690(defvar ada-contextual-menu-on-identifier nil
686 "Set to true when the right mouse button was clicked on an identifier.") 691 "Set to true when the right mouse button was clicked on an identifier.")
687 692
@@ -2108,10 +2113,18 @@ Return the equivalent internal parameter list."
2108 2113
2109(defun ada-indent-newline-indent-conditional () 2114(defun ada-indent-newline-indent-conditional ()
2110 "Insert a newline and indent it. 2115 "Insert a newline and indent it.
2111The original line is indented first if `ada-indent-after-return' is non-nil." 2116The original line is re-indented if `ada-indent-after-return' is non-nil."
2112 (interactive "*") 2117 (interactive "*")
2113 (if ada-indent-after-return (ada-indent-current)) 2118 ;; If at end of buffer (entering brand new code), some indentation
2119 ;; fails. For example, a block label requires whitespace following
2120 ;; the : to be recognized. So we do the newline first, then
2121 ;; go back and indent the original line.
2114 (newline) 2122 (newline)
2123 (if ada-indent-after-return
2124 (progn
2125 (forward-char -1)
2126 (ada-indent-current)
2127 (forward-char 1)))
2115 (ada-indent-current)) 2128 (ada-indent-current))
2116 2129
2117(defun ada-justified-indent-current () 2130(defun ada-justified-indent-current ()
@@ -2335,8 +2348,8 @@ and the offset."
2335 (progn 2348 (progn
2336 (goto-char (car match-cons)) 2349 (goto-char (car match-cons))
2337 (save-excursion 2350 (save-excursion
2338 (beginning-of-line) 2351 (back-to-indentation)
2339 (if (looking-at ada-named-block-re) 2352 (if (looking-at ada-block-label-re)
2340 (setq label (- ada-label-indent)))))))) 2353 (setq label (- ada-label-indent))))))))
2341 2354
2342 ;; found 'record' => 2355 ;; found 'record' =>
@@ -2455,7 +2468,7 @@ and the offset."
2455 ((and (= (downcase (char-after)) ?b) 2468 ((and (= (downcase (char-after)) ?b)
2456 (looking-at "begin\\>")) 2469 (looking-at "begin\\>"))
2457 (save-excursion 2470 (save-excursion
2458 (if (ada-goto-matching-decl-start t) 2471 (if (ada-goto-decl-start t)
2459 (list (progn (back-to-indentation) (point)) 0) 2472 (list (progn (back-to-indentation) (point)) 0)
2460 (ada-indent-on-previous-lines nil orgpoint orgpoint)))) 2473 (ada-indent-on-previous-lines nil orgpoint orgpoint))))
2461 2474
@@ -2648,8 +2661,9 @@ and the offset."
2648 ;; label 2661 ;; label
2649 ;;--------------------------------- 2662 ;;---------------------------------
2650 2663
2651 ((looking-at "\\(\\sw\\|_\\)+[ \t\n]*:[^=]") 2664 ((looking-at ada-label-re)
2652 (if (ada-in-decl-p) 2665 (if (ada-in-decl-p)
2666 ;; ada-block-label-re matches variable declarations
2653 (ada-indent-on-previous-lines nil orgpoint orgpoint) 2667 (ada-indent-on-previous-lines nil orgpoint orgpoint)
2654 (append (ada-indent-on-previous-lines nil orgpoint orgpoint) 2668 (append (ada-indent-on-previous-lines nil orgpoint orgpoint)
2655 '(ada-label-indent)))) 2669 '(ada-label-indent))))
@@ -2674,9 +2688,10 @@ if INITIAL-POS is non-nil, moves point to INITIAL-POS before calculation."
2674 (if (ada-in-paramlist-p) 2688 (if (ada-in-paramlist-p)
2675 (ada-get-indent-paramlist) 2689 (ada-get-indent-paramlist)
2676 2690
2677 ;; move to beginning of current statement 2691 ;; Move to beginning of current statement. If already at a
2692 ;; statement start, move to beginning of enclosing statement.
2678 (unless nomove 2693 (unless nomove
2679 (ada-goto-stmt-start)) 2694 (ada-goto-stmt-start t))
2680 2695
2681 ;; no beginning found => don't change indentation 2696 ;; no beginning found => don't change indentation
2682 (if (and (eq oldpoint (point)) 2697 (if (and (eq oldpoint (point))
@@ -2702,6 +2717,12 @@ if INITIAL-POS is non-nil, moves point to INITIAL-POS before calculation."
2702 ((looking-at ada-block-start-re) 2717 ((looking-at ada-block-start-re)
2703 (ada-get-indent-block-start orgpoint)) 2718 (ada-get-indent-block-start orgpoint))
2704 ;; 2719 ;;
2720 ((looking-at ada-block-label-re) ; also variable declaration
2721 (ada-get-indent-block-label orgpoint))
2722 ;;
2723 ((looking-at ada-goto-label-re)
2724 (ada-get-indent-goto-label orgpoint))
2725 ;;
2705 ((looking-at "\\(sub\\)?type\\>") 2726 ((looking-at "\\(sub\\)?type\\>")
2706 (ada-get-indent-type orgpoint)) 2727 (ada-get-indent-type orgpoint))
2707 ;; 2728 ;;
@@ -2717,17 +2738,8 @@ if INITIAL-POS is non-nil, moves point to INITIAL-POS before calculation."
2717 ((looking-at "when\\>") 2738 ((looking-at "when\\>")
2718 (ada-get-indent-when orgpoint)) 2739 (ada-get-indent-when orgpoint))
2719 ;; 2740 ;;
2720 ((looking-at "\\(\\sw\\|_\\)+[ \t\n]*:[^=]")
2721 (ada-get-indent-label orgpoint))
2722 ;;
2723 ((looking-at "separate\\>") 2741 ((looking-at "separate\\>")
2724 (ada-get-indent-nochange)) 2742 (ada-get-indent-nochange))
2725
2726 ;; A label
2727 ((looking-at "<<")
2728 (list (+ (save-excursion (back-to-indentation) (point))
2729 (- ada-label-indent))))
2730
2731 ;; 2743 ;;
2732 ((looking-at "with\\>\\|use\\>") 2744 ((looking-at "with\\>\\|use\\>")
2733 ;; Are we still in that statement, or are we in fact looking at 2745 ;; Are we still in that statement, or are we in fact looking at
@@ -2835,7 +2847,7 @@ ORGPOINT is the limit position used in the calculation."
2835 (if (looking-at "\\<begin\\>") 2847 (if (looking-at "\\<begin\\>")
2836 (progn 2848 (progn
2837 (setq indent (list (point) 0)) 2849 (setq indent (list (point) 0))
2838 (if (ada-goto-matching-decl-start t) 2850 (if (ada-goto-decl-start t)
2839 (list (progn (back-to-indentation) (point)) 0) 2851 (list (progn (back-to-indentation) (point)) 0)
2840 indent)) 2852 indent))
2841 (list (progn (back-to-indentation) (point)) 0) 2853 (list (progn (back-to-indentation) (point)) 0)
@@ -2960,6 +2972,10 @@ ORGPOINT is the limit position used in the calculation."
2960 (car (ada-search-ignore-string-comment "\\<type\\>" t))) 2972 (car (ada-search-ignore-string-comment "\\<type\\>" t)))
2961 'ada-indent))) 2973 'ada-indent)))
2962 2974
2975 ;; Special case for label:
2976 ((looking-at ada-block-label-re)
2977 (list (- (save-excursion (back-to-indentation) (point)) ada-label-indent) 'ada-indent))
2978
2963 ;; nothing follows the block-start 2979 ;; nothing follows the block-start
2964 (t 2980 (t
2965 (list (save-excursion (back-to-indentation) (point)) 'ada-indent))))) 2981 (list (save-excursion (back-to-indentation) (point)) 'ada-indent)))))
@@ -3055,10 +3071,10 @@ ORGPOINT is the limit position used in the calculation."
3055 (list (save-excursion (back-to-indentation) (point)) 3071 (list (save-excursion (back-to-indentation) (point))
3056 'ada-broken-decl-indent)) 3072 'ada-broken-decl-indent))
3057 3073
3058 ;; This one is called in every over case when indenting a line at the 3074 ;; This one is called in every other case when indenting a line at the
3059 ;; top level 3075 ;; top level
3060 (t 3076 (t
3061 (if (looking-at ada-named-block-re) 3077 (if (looking-at (concat "[ \t]*" ada-block-label-re))
3062 (setq label (- ada-label-indent)) 3078 (setq label (- ada-label-indent))
3063 3079
3064 (let (p) 3080 (let (p)
@@ -3087,7 +3103,7 @@ ORGPOINT is the limit position used in the calculation."
3087 (list (+ (save-excursion (back-to-indentation) (point)) label) 3103 (list (+ (save-excursion (back-to-indentation) (point)) label)
3088 'ada-broken-indent))))))) 3104 'ada-broken-indent)))))))
3089 3105
3090(defun ada-get-indent-label (orgpoint) 3106(defun ada-get-indent-block-label (orgpoint)
3091 "Calculate the indentation when before a label or variable declaration. 3107 "Calculate the indentation when before a label or variable declaration.
3092ORGPOINT is the limit position used in the calculation." 3108ORGPOINT is the limit position used in the calculation."
3093 (let ((match-cons nil) 3109 (let ((match-cons nil)
@@ -3119,6 +3135,16 @@ ORGPOINT is the limit position used in the calculation."
3119 (t 3135 (t
3120 (list cur-indent '(- ada-label-indent)))))) 3136 (list cur-indent '(- ada-label-indent))))))
3121 3137
3138(defun ada-get-indent-goto-label (orgpoint)
3139 "Calculate the indentation when at a goto label."
3140 (search-forward ">>")
3141 (ada-goto-next-non-ws)
3142 (if (>= (point) orgpoint)
3143 ;; labeled statement is the one we need to indent
3144 (list (- (point) ada-label-indent))
3145 ;; else indentation is indent for labeled statement
3146 (ada-indent-on-previous-lines t orgpoint)))
3147
3122(defun ada-get-indent-loop (orgpoint) 3148(defun ada-get-indent-loop (orgpoint)
3123 "Calculate the indentation when just before a loop or a for ... use. 3149 "Calculate the indentation when just before a loop or a for ... use.
3124ORGPOINT is the limit position used in the calculation." 3150ORGPOINT is the limit position used in the calculation."
@@ -3127,8 +3153,8 @@ ORGPOINT is the limit position used in the calculation."
3127 3153
3128 ;; If looking at a named block, skip the label 3154 ;; If looking at a named block, skip the label
3129 (label (save-excursion 3155 (label (save-excursion
3130 (beginning-of-line) 3156 (back-to-indentation)
3131 (if (looking-at ada-named-block-re) 3157 (if (looking-at ada-block-label-re)
3132 (- ada-label-indent) 3158 (- ada-label-indent)
3133 0)))) 3159 0))))
3134 3160
@@ -3286,7 +3312,7 @@ ORGPOINT is the limit position used in the calculation."
3286;; -- searching and matching 3312;; -- searching and matching
3287;; ----------------------------------------------------------- 3313;; -----------------------------------------------------------
3288 3314
3289(defun ada-goto-stmt-start () 3315(defun ada-goto-stmt-start (&optional ignore-goto-label)
3290 "Move point to the beginning of the statement that point is in or after. 3316 "Move point to the beginning of the statement that point is in or after.
3291Return the new position of point. 3317Return the new position of point.
3292As a special case, if we are looking at a closing parenthesis, skip to the 3318As a special case, if we are looking at a closing parenthesis, skip to the
@@ -3304,7 +3330,7 @@ open parenthesis."
3304 (progn 3330 (progn
3305 (unless (save-excursion 3331 (unless (save-excursion
3306 (goto-char (cdr match-dat)) 3332 (goto-char (cdr match-dat))
3307 (ada-goto-next-non-ws orgpoint)) 3333 (ada-goto-next-non-ws orgpoint ignore-goto-label))
3308 ;; 3334 ;;
3309 ;; nothing follows => it's the end-statement directly in 3335 ;; nothing follows => it's the end-statement directly in
3310 ;; front of point => search again 3336 ;; front of point => search again
@@ -3326,7 +3352,7 @@ open parenthesis."
3326 (goto-char (point-min)) 3352 (goto-char (point-min))
3327 ;; 3353 ;;
3328 ;; skip to the very first statement, if there is one 3354 ;; skip to the very first statement, if there is one
3329 ;; 3355 ;;
3330 (unless (ada-goto-next-non-ws orgpoint) 3356 (unless (ada-goto-next-non-ws orgpoint)
3331 (goto-char orgpoint)))) 3357 (goto-char orgpoint))))
3332 (point))) 3358 (point)))
@@ -3387,19 +3413,25 @@ is the end of the match."
3387 match-dat 3413 match-dat
3388 nil))) 3414 nil)))
3389 3415
3390 3416(defun ada-goto-next-non-ws (&optional limit skip-goto-label)
3391(defun ada-goto-next-non-ws (&optional limit) 3417 "Skip to next non-whitespace character.
3392 "Skip white spaces, newlines and comments to next non-ws character. 3418Skips spaces, newlines and comments, and possibly goto labels.
3419Return `point' if moved, nil if not.
3393Stop the search at LIMIT. 3420Stop the search at LIMIT.
3394Do not call this function from within a string." 3421Do not call this function from within a string."
3395 (unless limit 3422 (unless limit
3396 (setq limit (point-max))) 3423 (setq limit (point-max)))
3397 (while (and (<= (point) limit) 3424 (while (and (<= (point) limit)
3398 (progn (forward-comment 10000) 3425 (or (progn (forward-comment 10000)
3399 (if (and (not (eobp)) 3426 (if (and (not (eobp))
3400 (save-excursion (forward-char 1) 3427 (save-excursion (forward-char 1)
3401 (ada-in-string-p))) 3428 (ada-in-string-p)))
3402 (progn (forward-sexp 1) t))))) 3429 (progn (forward-sexp 1) t)))
3430 (and skip-goto-label
3431 (looking-at ada-goto-label-re)
3432 (progn
3433 (goto-char (match-end 0))
3434 t)))))
3403 (if (< (point) limit) 3435 (if (< (point) limit)
3404 (point) 3436 (point)
3405 nil) 3437 nil)
@@ -3426,9 +3458,7 @@ Return the new position of point or nil if not found."
3426 (unless backward 3458 (unless backward
3427 (skip-syntax-forward "w")) 3459 (skip-syntax-forward "w"))
3428 (if (setq match-cons 3460 (if (setq match-cons
3429 (if backward 3461 (ada-search-ignore-string-comment "\\w" backward nil t))
3430 (ada-search-ignore-string-comment "\\w" t nil t)
3431 (ada-search-ignore-string-comment "\\w" nil nil t)))
3432 ;; 3462 ;;
3433 ;; move to the beginning of the word found 3463 ;; move to the beginning of the word found
3434 ;; 3464 ;;
@@ -3463,13 +3493,13 @@ Moves point to the beginning of the declaration."
3463 (if (save-excursion 3493 (if (save-excursion
3464 (ada-goto-previous-word) 3494 (ada-goto-previous-word)
3465 (looking-at (concat "\\<" defun-name "\\> *:"))) 3495 (looking-at (concat "\\<" defun-name "\\> *:")))
3466 t ; do nothing 3496 t ; name matches
3467 ;; else 3497 ;; else
3468 ;; 3498 ;;
3469 ;; 'accept' or 'package' ? 3499 ;; 'accept' or 'package' ?
3470 ;; 3500 ;;
3471 (unless (looking-at ada-subprog-start-re) 3501 (unless (looking-at ada-subprog-start-re)
3472 (ada-goto-matching-decl-start)) 3502 (ada-goto-decl-start))
3473 ;; 3503 ;;
3474 ;; 'begin' of 'procedure'/'function'/'task' or 'declare' 3504 ;; 'begin' of 'procedure'/'function'/'task' or 'declare'
3475 ;; 3505 ;;
@@ -3502,14 +3532,20 @@ Moves point to the beginning of the declaration."
3502 (buffer-substring (point) 3532 (buffer-substring (point)
3503 (progn (forward-sexp 1) (point)))))))) 3533 (progn (forward-sexp 1) (point))))))))
3504 3534
3505(defun ada-goto-matching-decl-start (&optional noerror recursive) 3535(defun ada-goto-decl-start (&optional noerror)
3506 "Move point to the matching declaration start of the current 'begin'. 3536 "Move point to the declaration start of the current construct.
3507If NOERROR is non-nil, it only returns nil if no match was found." 3537If NOERROR is non-nil, return nil if no match was found;
3538otherwise throw error."
3508 (let ((nest-count 1) 3539 (let ((nest-count 1)
3540 (regexp (eval-when-compile
3541 (concat "\\<"
3542 (regexp-opt
3543 '("is" "separate" "end" "declare" "if" "new" "begin" "generic" "when") t)
3544 "\\>")))
3509 3545
3510 ;; first should be set to t if we should stop at the first 3546 ;; first should be set to t if we should stop at the first
3511 ;; "begin" we encounter. 3547 ;; "begin" we encounter.
3512 (first (not recursive)) 3548 (first t)
3513 (count-generic nil) 3549 (count-generic nil)
3514 (stop-at-when nil) 3550 (stop-at-when nil)
3515 ) 3551 )
@@ -3533,7 +3569,7 @@ If NOERROR is non-nil, it only returns nil if no match was found."
3533 ;; search backward for interesting keywords 3569 ;; search backward for interesting keywords
3534 (while (and 3570 (while (and
3535 (not (zerop nest-count)) 3571 (not (zerop nest-count))
3536 (ada-search-ignore-string-comment ada-matching-decl-start-re t)) 3572 (ada-search-ignore-string-comment regexp t))
3537 ;; 3573 ;;
3538 ;; calculate nest-depth 3574 ;; calculate nest-depth
3539 ;; 3575 ;;
@@ -3566,7 +3602,6 @@ If NOERROR is non-nil, it only returns nil if no match was found."
3566 3602
3567 (if (looking-at "end") 3603 (if (looking-at "end")
3568 (ada-goto-matching-start 1 noerror t) 3604 (ada-goto-matching-start 1 noerror t)
3569 ;; (ada-goto-matching-decl-start noerror t)
3570 3605
3571 (setq loop-again nil) 3606 (setq loop-again nil)
3572 (unless (looking-at "begin") 3607 (unless (looking-at "begin")
@@ -3594,34 +3629,50 @@ If NOERROR is non-nil, it only returns nil if no match was found."
3594 (setq first t)) 3629 (setq first t))
3595 ;; 3630 ;;
3596 ((looking-at "is") 3631 ((looking-at "is")
3597 ;; check if it is only a type definition, but not a protected 3632 ;; look for things to ignore
3598 ;; type definition, which should be handled like a procedure. 3633 (if
3599 (if (or (looking-at "is[ \t]+<>") 3634 (or
3600 (save-excursion 3635 ;; generic formal parameter
3601 (forward-comment -10000) 3636 (looking-at "is[ t]+<>")
3602 (forward-char -1) 3637
3603 3638 ;; A type definition, or a case statement. Note that the
3604 ;; Detect if we have a closing parenthesis (Could be 3639 ;; goto-matching-start above on 'end record' leaves us at
3605 ;; either the end of subprogram parameters or (<>) 3640 ;; 'record', not at 'type'.
3606 ;; in a type definition 3641 ;;
3607 (if (= (char-after) ?\)) 3642 ;; We get to a case statement here by calling
3608 (progn 3643 ;; 'ada-move-to-end' from inside a case statement; then
3609 (forward-char 1) 3644 ;; we are not ignoring 'when'.
3610 (backward-sexp 1) 3645 (save-excursion
3611 (forward-comment -10000) 3646 ;; Skip type discriminants or case argument function call param list
3612 )) 3647 (forward-comment -10000)
3613 (skip-chars-backward "a-zA-Z0-9_.'") 3648 (forward-char -1)
3614 (ada-goto-previous-word) 3649 (if (= (char-after) ?\))
3615 (and 3650 (progn
3616 (looking-at "\\<\\(sub\\)?type\\|case\\>") 3651 (forward-char 1)
3652 (backward-sexp 1)
3653 (forward-comment -10000)
3654 ))
3655 ;; skip type or case argument name
3656 (skip-chars-backward "a-zA-Z0-9_.'")
3657 (ada-goto-previous-word)
3658 (and
3659 ;; if it's a protected type, it's the decl start we
3660 ;; are looking for; since we didn't see the 'end'
3661 ;; above, we are inside it.
3662 (looking-at "\\<\\(sub\\)?type\\|case\\>")
3617 (save-match-data 3663 (save-match-data
3618 (ada-goto-previous-word) 3664 (ada-goto-previous-word)
3619 (not (looking-at "\\<protected\\>")))) 3665 (not (looking-at "\\<protected\\>"))))
3620 )) ; end of `or' 3666 ) ; end of type definition p
3621 (goto-char (match-beginning 0)) 3667
3622 (progn 3668 ;; null procedure declaration
3623 (setq nest-count (1- nest-count)) 3669 (save-excursion (ada-goto-next-word) (looking-at "\\<null\\>"))
3624 (setq first nil)))) 3670 );; end or
3671 ;; skip this construct
3672 nil
3673 ;; this is the right "is"
3674 (setq nest-count (1- nest-count))
3675 (setq first nil)))
3625 3676
3626 ;; 3677 ;;
3627 ((looking-at "new") 3678 ((looking-at "new")
@@ -4076,7 +4127,7 @@ Point is moved at the beginning of the SEARCH-RE."
4076Assumes point to be at the end of a statement." 4127Assumes point to be at the end of a statement."
4077 (or (ada-in-paramlist-p) 4128 (or (ada-in-paramlist-p)
4078 (save-excursion 4129 (save-excursion
4079 (ada-goto-matching-decl-start t)))) 4130 (ada-goto-decl-start t))))
4080 4131
4081 4132
4082(defun ada-looking-at-semi-or () 4133(defun ada-looking-at-semi-or ()
@@ -4370,7 +4421,7 @@ of the region. Otherwise, operate only on the current line."
4370 ;; 4421 ;;
4371 ada-move-to-declaration 4422 ada-move-to-declaration
4372 (looking-at "\\<begin\\>") 4423 (looking-at "\\<begin\\>")
4373 (ada-goto-matching-decl-start) 4424 (ada-goto-decl-start)
4374 (setq pos (point)))) 4425 (setq pos (point))))
4375 4426
4376 ) ; end of save-excursion 4427 ) ; end of save-excursion
@@ -4382,7 +4433,7 @@ of the region. Otherwise, operate only on the current line."
4382 (set-syntax-table previous-syntax-table)))) 4433 (set-syntax-table previous-syntax-table))))
4383 4434
4384(defun ada-move-to-end () 4435(defun ada-move-to-end ()
4385 "Move point to the matching end of the block around point. 4436 "Move point to the end of the block around point.
4386Moves to 'begin' if in a declarative part." 4437Moves to 'begin' if in a declarative part."
4387 (interactive) 4438 (interactive)
4388 (let ((pos (point)) 4439 (let ((pos (point))
@@ -4432,7 +4483,7 @@ Moves to 'begin' if in a declarative part."
4432 (ada-goto-matching-end 0)) 4483 (ada-goto-matching-end 0))
4433 ;; package start 4484 ;; package start
4434 ((save-excursion 4485 ((save-excursion
4435 (setq decl-start (and (ada-goto-matching-decl-start t) (point))) 4486 (setq decl-start (and (ada-goto-decl-start t) (point)))
4436 (and decl-start (looking-at "\\<package\\>"))) 4487 (and decl-start (looking-at "\\<package\\>")))
4437 (ada-goto-matching-end 1)) 4488 (ada-goto-matching-end 1))
4438 4489
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el
index de0cd896b8e..bb91dee6ce8 100644
--- a/lisp/progmodes/cc-defs.el
+++ b/lisp/progmodes/cc-defs.el
@@ -1217,12 +1217,14 @@ been put there by c-put-char-property. POINT remains unchanged."
1217 ;; This macro does a hidden buffer change. 1217 ;; This macro does a hidden buffer change.
1218 `(progn 1218 `(progn
1219 (c-put-char-property ,beg 'category 'c-cpp-delimiter) 1219 (c-put-char-property ,beg 'category 'c-cpp-delimiter)
1220 (c-put-char-property ,end 'category 'c-cpp-delimiter))) 1220 (if (< ,end (point-max))
1221 (c-put-char-property ,end 'category 'c-cpp-delimiter))))
1221(defmacro c-clear-cpp-delimiters (beg end) 1222(defmacro c-clear-cpp-delimiters (beg end)
1222 ;; This macro does a hidden buffer change. 1223 ;; This macro does a hidden buffer change.
1223 `(progn 1224 `(progn
1224 (c-clear-char-property ,beg 'category) 1225 (c-clear-char-property ,beg 'category)
1225 (c-clear-char-property ,end 'category))) 1226 (if (< ,end (point-max))
1227 (c-clear-char-property ,end 'category))))
1226 1228
1227(defsubst c-comment-out-cpps () 1229(defsubst c-comment-out-cpps ()
1228 ;; Render all preprocessor constructs syntactically commented out. 1230 ;; Render all preprocessor constructs syntactically commented out.
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 0e6358aeee1..9d0af1d53ce 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -2996,9 +2996,11 @@ comment at the start of cc-engine.el for more info."
2996 ;; containing point. We can then call `c-invalidate-state-cache-1' without 2996 ;; containing point. We can then call `c-invalidate-state-cache-1' without
2997 ;; worrying further about macros and template delimiters. 2997 ;; worrying further about macros and template delimiters.
2998 (c-with-<->-as-parens-suppressed 2998 (c-with-<->-as-parens-suppressed
2999 (if c-state-old-cpp-beg 2999 (if (and c-state-old-cpp-beg
3000 (< c-state-old-cpp-beg here))
3000 (c-with-all-but-one-cpps-commented-out 3001 (c-with-all-but-one-cpps-commented-out
3001 c-state-old-cpp-beg c-state-old-cpp-end 3002 c-state-old-cpp-beg
3003 (min c-state-old-cpp-end here)
3002 (c-invalidate-state-cache-1 here)) 3004 (c-invalidate-state-cache-1 here))
3003 (c-with-cpps-commented-out 3005 (c-with-cpps-commented-out
3004 (c-invalidate-state-cache-1 here))))) 3006 (c-invalidate-state-cache-1 here)))))
@@ -3029,8 +3031,9 @@ comment at the start of cc-engine.el for more info."
3029 (c-parse-state-1)) 3031 (c-parse-state-1))
3030 (c-with-cpps-commented-out 3032 (c-with-cpps-commented-out
3031 (c-parse-state-1)))) 3033 (c-parse-state-1))))
3032 (setq c-state-old-cpp-beg here-cpp-beg 3034 (setq c-state-old-cpp-beg (and here-cpp-beg (copy-marker here-cpp-beg t))
3033 c-state-old-cpp-end here-cpp-end)))) 3035 c-state-old-cpp-end (and here-cpp-end (copy-marker here-cpp-end t)))
3036 )))
3034 3037
3035;; Debug tool to catch cache inconsistencies. This is called from 3038;; Debug tool to catch cache inconsistencies. This is called from
3036;; 000tests.el. 3039;; 000tests.el.
diff --git a/lisp/term.el b/lisp/term.el
index a619ed6ad66..7cb364af622 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -1208,8 +1208,17 @@ without any interpretation."
1208 1208
1209(defun term-send-raw-meta () 1209(defun term-send-raw-meta ()
1210 (interactive) 1210 (interactive)
1211 (let* ((keys (this-command-keys)) 1211 (let ((char last-input-event))
1212 (char (aref keys (1- (length keys))))) 1212 (when (symbolp last-input-event)
1213 ;; Convert `return' to C-m, etc.
1214 (let ((tmp (get char 'event-symbol-elements)))
1215 (when tmp
1216 (setq char (car tmp)))
1217 (when (symbolp char)
1218 (setq tmp (get char 'ascii-character))
1219 (when tmp
1220 (setq char tmp)))))
1221 (setq char (event-basic-type char))
1213 (term-send-raw-string (if (and (numberp char) 1222 (term-send-raw-string (if (and (numberp char)
1214 (> char 127) 1223 (> char 127)
1215 (< char 256)) 1224 (< char 256))
diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el
index 21be4ee85d0..3208ece9c09 100644
--- a/lisp/term/x-win.el
+++ b/lisp/term/x-win.el
@@ -133,9 +133,9 @@ When a session manager tells Emacs that the window system is shutting
133down, this function is called. It calls the functions in the hook 133down, this function is called. It calls the functions in the hook
134`emacs-save-session-functions'. Functions are called with the current 134`emacs-save-session-functions'. Functions are called with the current
135buffer set to a temporary buffer. Functions should use `insert' to insert 135buffer set to a temporary buffer. Functions should use `insert' to insert
136lisp code to save the session state. The buffer is saved 136lisp code to save the session state. The buffer is saved in a file in the
137in a file in the home directory of the user running Emacs. The file 137home directory of the user running Emacs. The file is evaluated when
138is evaluated when Emacs is restarted by the session manager. 138Emacs is restarted by the session manager.
139 139
140If any of the functions returns non-nil, no more functions are called 140If any of the functions returns non-nil, no more functions are called
141and this function returns non-nil. This will inform the session manager 141and this function returns non-nil. This will inform the session manager
@@ -1286,7 +1286,7 @@ The value nil is the same as this list:
1286") 1286")
1287 1287
1288;; Get a selection value of type TYPE by calling x-get-selection with 1288;; Get a selection value of type TYPE by calling x-get-selection with
1289;; an appropiate DATA-TYPE argument decided by `x-select-request-type'. 1289;; an appropriate DATA-TYPE argument decided by `x-select-request-type'.
1290;; The return value is already decoded. If x-get-selection causes an 1290;; The return value is already decoded. If x-get-selection causes an
1291;; error, this function return nil. 1291;; error, this function return nil.
1292 1292
@@ -1425,7 +1425,7 @@ The value nil is the same as this list:
1425(declare-function accelerate-menu "xmenu.c" (&optional frame) t) 1425(declare-function accelerate-menu "xmenu.c" (&optional frame) t)
1426 1426
1427(defun x-menu-bar-open (&optional frame) 1427(defun x-menu-bar-open (&optional frame)
1428 "Open the menu bar if `menu-bar-mode' is on. otherwise call `tmm-menubar'." 1428 "Open the menu bar if `menu-bar-mode' is on, otherwise call `tmm-menubar'."
1429 (interactive "i") 1429 (interactive "i")
1430 (if (and menu-bar-mode 1430 (if (and menu-bar-mode
1431 (fboundp 'accelerate-menu)) 1431 (fboundp 'accelerate-menu))
@@ -1482,7 +1482,7 @@ The value nil is the same as this list:
1482 ;; Create the standard fontset. 1482 ;; Create the standard fontset.
1483 (condition-case err 1483 (condition-case err
1484 (create-fontset-from-fontset-spec standard-fontset-spec t) 1484 (create-fontset-from-fontset-spec standard-fontset-spec t)
1485 (error (display-warning 1485 (error (display-warning
1486 'initialization 1486 'initialization
1487 (format "Creation of the standard fontset failed: %s" err) 1487 (format "Creation of the standard fontset failed: %s" err)
1488 :error))) 1488 :error)))
@@ -1654,7 +1654,7 @@ A value that begins with n: denotes a named icon instead of a stock icon."
1654 :group 'x) 1654 :group 'x)
1655 1655
1656(defcustom icon-map-list '(x-gtk-stock-map) 1656(defcustom icon-map-list '(x-gtk-stock-map)
1657 "A list of alists that maps icon file names to stock/named icons. 1657 "A list of alists that map icon file names to stock/named icons.
1658The alists are searched in the order they appear. The first match is used. 1658The alists are searched in the order they appear. The first match is used.
1659The keys in the alists are file names without extension and with two directory 1659The keys in the alists are file names without extension and with two directory
1660components. For example, to map /usr/share/emacs/22.1.1/etc/images/open.xpm 1660components. For example, to map /usr/share/emacs/22.1.1/etc/images/open.xpm
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el
index 137f358970c..e1d7b053491 100644
--- a/lisp/textmodes/artist.el
+++ b/lisp/textmodes/artist.el
@@ -870,7 +870,7 @@ EXIT-FN is, if non-nil, a function that is called after filling
870 is done. Arguments and return values for this funcion are 870 is done. Arguments and return values for this funcion are
871 described below. 871 described below.
872DRAW-HOW defines the kind of shape. The kinds of shapes are: 872DRAW-HOW defines the kind of shape. The kinds of shapes are:
873 `artist-do-continously' -- Do drawing operation continously, 873 `artist-do-continously' -- Do drawing operation continuously,
874 as long as the mouse button is held down. 874 as long as the mouse button is held down.
875 `artist-do-poly' -- Do drawing operation many times. 875 `artist-do-poly' -- Do drawing operation many times.
876 1 -- Do drawing operation only once. 876 1 -- Do drawing operation only once.
@@ -3879,8 +3879,8 @@ The 2-point shape SHAPE is drawn from X1, Y1 to X2, Y2."
3879;; 3879;;
3880 3880
3881(defun artist-key-undraw-continously (x y) 3881(defun artist-key-undraw-continously (x y)
3882 "Undraw current continous shape with point at X, Y." 3882 "Undraw current continuous shape with point at X, Y."
3883 ;; No undraw-info for continous shapes 3883 ;; No undraw-info for continuous shapes
3884 nil) 3884 nil)
3885 3885
3886(defun artist-key-undraw-poly (x y) 3886(defun artist-key-undraw-poly (x y)
@@ -3937,7 +3937,7 @@ The 2-point shape SHAPE is drawn from X1, Y1 to X2, Y2."
3937;; user has released the button, so the timer will always be cancelled 3937;; user has released the button, so the timer will always be cancelled
3938;; at that point. 3938;; at that point.
3939(defun artist-key-draw-continously (x y) 3939(defun artist-key-draw-continously (x y)
3940 "Draw current continous shape at X,Y." 3940 "Draw current continuous shape at X,Y."
3941 (let ((draw-fn (artist-go-get-draw-fn-from-symbol artist-curr-go))) 3941 (let ((draw-fn (artist-go-get-draw-fn-from-symbol artist-curr-go)))
3942 (setq artist-key-shape (artist-funcall draw-fn x y)))) 3942 (setq artist-key-shape (artist-funcall draw-fn x y))))
3943 3943
@@ -4018,7 +4018,7 @@ Trimming here means removing white space at end of a line."
4018;; 4018;;
4019 4019
4020(defun artist-key-do-continously-continously (x y) 4020(defun artist-key-do-continously-continously (x y)
4021 "Update current continous shape at X,Y." 4021 "Update current continuous shape at X,Y."
4022 (let ((draw-fn (artist-go-get-draw-fn-from-symbol artist-curr-go))) 4022 (let ((draw-fn (artist-go-get-draw-fn-from-symbol artist-curr-go)))
4023 (artist-funcall draw-fn x y))) 4023 (artist-funcall draw-fn x y)))
4024 4024
@@ -4045,7 +4045,7 @@ Trimming here means removing white space at end of a line."
4045 4045
4046(defun artist-key-do-continously-1point (x y) 4046(defun artist-key-do-continously-1point (x y)
4047 "Update current 1-point shape at X,Y." 4047 "Update current 1-point shape at X,Y."
4048 ;; Nothing to do continously for operations 4048 ;; Nothing to do continuously for operations
4049 ;; where we have only one input point 4049 ;; where we have only one input point
4050 nil) 4050 nil)
4051 4051
@@ -4094,8 +4094,8 @@ Trimming here means removing white space at end of a line."
4094 4094
4095 4095
4096(defun artist-key-set-point-continously (x y) 4096(defun artist-key-set-point-continously (x y)
4097 "Set point for current continous shape at X,Y." 4097 "Set point for current continuous shape at X,Y."
4098 ;; Maybe set arrow-points for continous shapes 4098 ;; Maybe set arrow-points for continuous shapes
4099 (let ((arrow-pred (artist-go-get-arrow-pred-from-symbol artist-curr-go)) 4099 (let ((arrow-pred (artist-go-get-arrow-pred-from-symbol artist-curr-go))
4100 (arrow-set-fn (artist-go-get-arrow-set-fn-from-symbol artist-curr-go)) 4100 (arrow-set-fn (artist-go-get-arrow-set-fn-from-symbol artist-curr-go))
4101 (init-fn (artist-go-get-init-fn-from-symbol artist-curr-go)) 4101 (init-fn (artist-go-get-init-fn-from-symbol artist-curr-go))
@@ -4914,7 +4914,7 @@ If optional argument STATE is positive, turn borders on."
4914 4914
4915(defun artist-mouse-draw-continously (ev) 4915(defun artist-mouse-draw-continously (ev)
4916 "Generic function for shapes that require 1 point as input. 4916 "Generic function for shapes that require 1 point as input.
4917Operation is done continously while the mouse button is hold down. 4917Operation is done continuously while the mouse button is hold down.
4918The event, EV, is the mouse event." 4918The event, EV, is the mouse event."
4919 (let* ((unshifted (artist-go-get-symbol-shift artist-curr-go nil)) 4919 (let* ((unshifted (artist-go-get-symbol-shift artist-curr-go nil))
4920 (shifted (artist-go-get-symbol-shift artist-curr-go t)) 4920 (shifted (artist-go-get-symbol-shift artist-curr-go t))
@@ -5395,8 +5395,8 @@ The event, EV, is the mouse event."
5395;; 1. If your new drawing mode falls into one of the following 5395;; 1. If your new drawing mode falls into one of the following
5396;; categories, goto point 2, otherwise goto point 3. 5396;; categories, goto point 2, otherwise goto point 3.
5397;; 5397;;
5398;; - Modes where the shapes are drawn continously, as long as 5398;; - Modes where the shapes are drawn continuously, as long as
5399;; the mouse button is held down (continous modes). 5399;; the mouse button is held down (continuous modes).
5400;; Example: the erase-char mode, the pen and pen-line modes. 5400;; Example: the erase-char mode, the pen and pen-line modes.
5401;; 5401;;
5402;; - Modes where the shape is made up of from 2 points to an 5402;; - Modes where the shape is made up of from 2 points to an
@@ -5408,7 +5408,7 @@ The event, EV, is the mouse event."
5408;; Example: lines, rectangles 5408;; Example: lines, rectangles
5409;; 5409;;
5410;; - Modes where the shape is made up of 1 point (1-point 5410;; - Modes where the shape is made up of 1 point (1-point
5411;; modes). This mode differs from the continous modes in 5411;; modes). This mode differs from the continuous modes in
5412;; that the shape is drawn only once when the mouse button 5412;; that the shape is drawn only once when the mouse button
5413;; is pressed. 5413;; is pressed.
5414;; Examples: paste, a flood-fill, vaporize modes 5414;; Examples: paste, a flood-fill, vaporize modes
@@ -5426,7 +5426,7 @@ The event, EV, is the mouse event."
5426;; For each of the cases below, the arguments given to the init-fn, 5426;; For each of the cases below, the arguments given to the init-fn,
5427;; prep-fill-fn, arrow-set-fn and exit-fn are stated. 5427;; prep-fill-fn, arrow-set-fn and exit-fn are stated.
5428;; 5428;;
5429;; If your mode matches the continous mode or the 1-point mode: 5429;; If your mode matches the continuous mode or the 1-point mode:
5430;; 5430;;
5431;; a. Create a draw-function that draws your shape. Your function 5431;; a. Create a draw-function that draws your shape. Your function
5432;; must take x and y as arguments. The return value is not 5432;; must take x and y as arguments. The return value is not
@@ -5528,7 +5528,7 @@ The event, EV, is the mouse event."
5528;; See `artist-draw-rect' for an example. 5528;; See `artist-draw-rect' for an example.
5529;; 5529;;
5530;; You must call the init-fn, the prep-fill-fn, arrow-set-fn 5530;; You must call the init-fn, the prep-fill-fn, arrow-set-fn
5531;; and the exit-fn at the apropriate points. 5531;; and the exit-fn at the appropriate points.
5532;; 5532;;
5533;; When artist-mouse-draw-xxx ends, the shape for your mode 5533;; When artist-mouse-draw-xxx ends, the shape for your mode
5534;; must be completely drawn. 5534;; must be completely drawn.
@@ -5538,8 +5538,8 @@ The event, EV, is the mouse event."
5538;; - artist-key-set-point-xxx for setting a point in the 5538;; - artist-key-set-point-xxx for setting a point in the
5539;; mode, to be called from `artist-key-set-point-common'. 5539;; mode, to be called from `artist-key-set-point-common'.
5540;; 5540;;
5541;; - artist-key-do-continously-xxx to be called from 5541;; - artist-key-do-continuously-xxx to be called from
5542;; `artist-key-do-continously-common' whenever the user 5542;; `artist-key-do-continuously-common' whenever the user
5543;; moves around. 5543;; moves around.
5544;; 5544;;
5545;; As for the artist-mouse-draw-xxx, these two functions must 5545;; As for the artist-mouse-draw-xxx, these two functions must
@@ -5561,7 +5561,7 @@ The event, EV, is the mouse event."
5561;; work. 5561;; work.
5562;; 5562;;
5563;; You must call the init-fn, the prep-fill-fn, arrow-set-fn 5563;; You must call the init-fn, the prep-fill-fn, arrow-set-fn
5564;; and the exit-fn at the apropriate points. 5564;; and the exit-fn at the appropriate points.
5565;; 5565;;
5566;; e. Add your new mode to the master table, `artist-mt'. 5566;; e. Add your new mode to the master table, `artist-mt'.
5567;; 5567;;
diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el
index 996734637bc..b9d52acdeba 100644
--- a/lisp/textmodes/sgml-mode.el
+++ b/lisp/textmodes/sgml-mode.el
@@ -608,11 +608,7 @@ Uses `sgml-char-names'."
608 "Insert a symbolic character name according to `sgml-char-names'." 608 "Insert a symbolic character name according to `sgml-char-names'."
609 (interactive "*") 609 (interactive "*")
610 (if sgml-name-8bit-mode 610 (if sgml-name-8bit-mode
611 (let ((mc last-command-event)) 611 (sgml-name-char last-command-event)
612 (if (< mc 256)
613 (setq mc (unibyte-char-to-multibyte mc)))
614 (or mc (setq mc last-command-event))
615 (sgml-name-char mc))
616 (self-insert-command 1))) 612 (self-insert-command 1)))
617 613
618(defun sgml-name-8bit-mode () 614(defun sgml-name-8bit-mode ()
diff --git a/lisp/vc-dir.el b/lisp/vc-dir.el
index 575a64c1f80..2f661e8becf 100644
--- a/lisp/vc-dir.el
+++ b/lisp/vc-dir.el
@@ -874,7 +874,10 @@ If it is a file, return the corresponding cons for the file itself."
874 (let ((ddir default-directory)) 874 (let ((ddir default-directory))
875 (when (vc-string-prefix-p ddir file) 875 (when (vc-string-prefix-p ddir file)
876 (if (file-directory-p file) 876 (if (file-directory-p file)
877 (vc-dir-resync-directory-files file) 877 (progn
878 (vc-dir-resync-directory-files file)
879 (ewoc-set-hf vc-ewoc
880 (vc-dir-headers vc-dir-backend default-directory) ""))
878 (let ((state (vc-dir-recompute-file-state file ddir))) 881 (let ((state (vc-dir-recompute-file-state file ddir)))
879 (vc-dir-update 882 (vc-dir-update
880 (list state) 883 (list state)
diff --git a/lisp/vc-dispatcher.el b/lisp/vc-dispatcher.el
index 310cc3dc351..40223c9010d 100644
--- a/lisp/vc-dispatcher.el
+++ b/lisp/vc-dispatcher.el
@@ -320,11 +320,14 @@ case, and the process object in the asynchronous case."
320 (setq squeezed (nconc squeezed files))) 320 (setq squeezed (nconc squeezed files)))
321 (let ((exec-path (append vc-path exec-path)) 321 (let ((exec-path (append vc-path exec-path))
322 ;; Add vc-path to PATH for the execution of this command. 322 ;; Add vc-path to PATH for the execution of this command.
323 ;; Also, since some functions need to parse the output
324 ;; from external commands, set LC_MESSAGES to C.
323 (process-environment 325 (process-environment
324 (cons (concat "PATH=" (getenv "PATH") 326 (cons (concat "PATH=" (getenv "PATH")
325 path-separator 327 path-separator
326 (mapconcat 'identity vc-path path-separator)) 328 (mapconcat 'identity vc-path path-separator))
327 process-environment)) 329 (cons "LC_MESSAGES=C"
330 process-environment)))
328 (w32-quote-process-args t)) 331 (w32-quote-process-args t))
329 (if (eq okstatus 'async) 332 (if (eq okstatus 'async)
330 ;; Run asynchronously. 333 ;; Run asynchronously.
diff --git a/lisp/vc.el b/lisp/vc.el
index 3a0cf804e26..2ca36ef4e01 100644
--- a/lisp/vc.el
+++ b/lisp/vc.el
@@ -791,13 +791,23 @@ in their implementation of vc-BACKEND-diff.")
791 791
792(defmacro with-vc-properties (files form settings) 792(defmacro with-vc-properties (files form settings)
793 "Execute FORM, then maybe set per-file properties for FILES. 793 "Execute FORM, then maybe set per-file properties for FILES.
794If any of FILES is actually a directory, then do the same for all
795buffers for files in that directory.
794SETTINGS is an association list of property/value pairs. After 796SETTINGS is an association list of property/value pairs. After
795executing FORM, set those properties from SETTINGS that have not yet 797executing FORM, set those properties from SETTINGS that have not yet
796been updated to their corresponding values." 798been updated to their corresponding values."
797 (declare (debug t)) 799 (declare (debug t))
798 `(let ((vc-touched-properties (list t))) 800 `(let ((vc-touched-properties (list t))
799 ,form 801 (flist nil))
800 (dolist (file ,files) 802 (dolist (file ,files)
803 (if (file-directory-p file)
804 (dolist (buffer (buffer-list))
805 (let ((fname (buffer-file-name buffer)))
806 (when (and fname (vc-string-prefix-p file fname))
807 (push fname flist))))
808 (push file flist)))
809 ,form
810 (dolist (file flist)
801 (dolist (setting ,settings) 811 (dolist (setting ,settings)
802 (let ((property (car setting))) 812 (let ((property (car setting)))
803 (unless (memq property vc-touched-properties) 813 (unless (memq property vc-touched-properties)
diff --git a/lisp/whitespace.el b/lisp/whitespace.el
index fbdc6d120a0..183698a28f3 100644
--- a/lisp/whitespace.el
+++ b/lisp/whitespace.el
@@ -397,14 +397,14 @@ It's a list containing some or all of the following values:
397 spaces SPACEs and HARD SPACEs are visualized via 397 spaces SPACEs and HARD SPACEs are visualized via
398 faces. 398 faces.
399 399
400 lines lines whose have columns beyond 400 lines lines which have columns beyond
401 `whitespace-line-column' are highlighted via 401 `whitespace-line-column' are highlighted via
402 faces . 402 faces.
403 Whole line is highlighted. 403 Whole line is highlighted.
404 It has precedence over `lines-tail' (see 404 It has precedence over `lines-tail' (see
405 below). 405 below).
406 406
407 lines-tail lines whose have columns beyond 407 lines-tail lines which have columns beyond
408 `whitespace-line-column' are highlighted via 408 `whitespace-line-column' are highlighted via
409 faces. 409 faces.
410 But only the part of line which goes 410 But only the part of line which goes
@@ -462,7 +462,7 @@ Any other value is ignored.
462If nil, don't visualize TABs, (HARD) SPACEs and NEWLINEs via faces and 462If nil, don't visualize TABs, (HARD) SPACEs and NEWLINEs via faces and
463via display table. 463via display table.
464 464
465There is an evaluation order for some values, if some values are 465There is an evaluation order for some values, if they are
466included in `whitespace-style' list. For example, if 466included in `whitespace-style' list. For example, if
467indentation, indentation::tab and/or indentation::space are 467indentation, indentation::tab and/or indentation::space are
468included in `whitespace-style' list. The evaluation order for 468included in `whitespace-style' list. The evaluation order for
@@ -1134,7 +1134,7 @@ otherwise, turn off visualization.
1134Use `global-whitespace-newline-mode' only for NEWLINE 1134Use `global-whitespace-newline-mode' only for NEWLINE
1135visualization exclusively. For other visualizations, including 1135visualization exclusively. For other visualizations, including
1136NEWLINE visualization together with (HARD) SPACEs and/or TABs, 1136NEWLINE visualization together with (HARD) SPACEs and/or TABs,
1137please, use `global-whitespace-mode'. 1137please use `global-whitespace-mode'.
1138 1138
1139See also `whitespace-newline' and `whitespace-display-mappings'." 1139See also `whitespace-newline' and `whitespace-display-mappings'."
1140 :lighter " NL" 1140 :lighter " NL"
@@ -2046,7 +2046,7 @@ See also `whitespace-toggle-option-alist'."
2046 ((quit error) 2046 ((quit error)
2047 (whitespace-help-off) 2047 (whitespace-help-off)
2048 (error (error-message-string data))))) 2048 (error (error-message-string data)))))
2049 (list sym))) ; return the apropriate symbol 2049 (list sym))) ; return the appropriate symbol
2050 2050
2051 2051
2052(defun whitespace-toggle-list (local-p arg the-list) 2052(defun whitespace-toggle-list (local-p arg the-list)