aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorKenichi Handa2012-10-24 00:47:51 +0900
committerKenichi Handa2012-10-24 00:47:51 +0900
commit6a8f8193298e05931baeebb1bd3aba6f8f5a7b5e (patch)
treefcee273be31e69f367b6f820aa32de660e541b2f /lisp
parent7e70a15287ee1ae5461d47e5a96d6c455aefaf57 (diff)
parentd106953274d29b6be4ef7e2c442078c81a52ff2f (diff)
downloademacs-6a8f8193298e05931baeebb1bd3aba6f8f5a7b5e.tar.gz
emacs-6a8f8193298e05931baeebb1bd3aba6f8f5a7b5e.zip
merge trunk
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog113
-rw-r--r--lisp/arc-mode.el8
-rw-r--r--lisp/calc/calc-units.el14
-rw-r--r--lisp/cedet/ChangeLog143
-rw-r--r--lisp/cedet/semantic/db-file.el6
-rw-r--r--lisp/cedet/semantic/edit.el24
-rw-r--r--lisp/cedet/semantic/lex.el6
-rw-r--r--lisp/cus-start.el1
-rw-r--r--lisp/delsel.el140
-rw-r--r--lisp/electric.el30
-rw-r--r--lisp/emacs-lisp/checkdoc.el20
-rw-r--r--lisp/emacs-lisp/eieio.el8
-rw-r--r--lisp/eshell/esh-cmd.el28
-rw-r--r--lisp/faces.el6
-rw-r--r--lisp/filesets.el8
-rw-r--r--lisp/frame.el2
-rw-r--r--lisp/gnus/ChangeLog28
-rw-r--r--lisp/gnus/gnus-start.el6
-rw-r--r--lisp/gnus/nndiary.el30
-rw-r--r--lisp/htmlfontify.el5
-rw-r--r--lisp/image.el15
-rw-r--r--lisp/loadup.el3
-rw-r--r--lisp/mail/sendmail.el5
-rw-r--r--lisp/mh-e/ChangeLog4
-rw-r--r--lisp/mh-e/mh-e.el4
-rw-r--r--lisp/mh-e/mh-letter.el5
-rw-r--r--lisp/minibuffer.el19
-rw-r--r--lisp/net/dbus.el6
-rw-r--r--lisp/net/rcirc.el24
-rw-r--r--lisp/net/tramp-smb.el12
-rw-r--r--lisp/newcomment.el17
-rw-r--r--lisp/progmodes/cc-mode.el6
-rw-r--r--lisp/progmodes/flymake.el9
-rw-r--r--lisp/progmodes/which-func.el3
-rw-r--r--lisp/startup.el2
-rw-r--r--lisp/subr.el14
-rw-r--r--lisp/term/sun.el1
-rw-r--r--lisp/vc/ediff-mult.el5
-rw-r--r--lisp/vc/vc.el18
-rw-r--r--lisp/window.el2
40 files changed, 536 insertions, 264 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index f9d9ad4b03d..16c4983d385 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,116 @@
12012-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * htmlfontify.el (hfy-post-html-hook):
4 * filesets.el (filesets-cache-fill-content-hook):
5 * arc-mode.el (archive-extract-hook):
6 * progmodes/cc-mode.el (c-prepare-bug-report-hook):
7 * net/rcirc.el (rcirc-sentinel-functions)
8 (rcirc-receive-message-functions, rcirc-activity-functions)
9 (rcirc-print-functions):
10 * net/dbus.el (dbus-event-error-functions):
11 * emacs-lisp/eieio.el (eieio-pre-method-execution-functions):
12 * emacs-lisp/checkdoc.el (checkdoc-style-functions)
13 (checkdoc-comment-style-functions): Don't use "-hooks" suffix.
14 * term/sun.el (sun-raw-prefix-hooks):
15 * mail/sendmail.el (mail-yank-hooks): Use make-obsolete-variable.
16
172012-10-23 Michael Albinus <michael.albinus@gmx.de>
18
19 * net/tramp-smb.el (tramp-smb-maybe-open-connection):
20 Set `tramp-chunksize' to 1. This improves the performance.
21 (tramp-smb-wait-for-output): Add timeout to
22 `tramp-accept-process-output' calls.
23
242012-10-23 Chong Yidong <cyd@gnu.org>
25
26 * faces.el (font-list-limit): Define as an obsolete variable.
27
28 * startup.el (command-line):
29 * cus-start.el: Don't refer to font-list-limit.
30
31 * newcomment.el (comment-normalize-vars): Doc fix (Bug#12583).
32
332012-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
34
35 * subr.el (internal-temp-output-buffer-show): Rename from
36 temp-output-buffer-show, since previously compiled files expect this name.
37
382012-10-23 Glenn Morris <rgm@gnu.org>
39
40 * image.el (image-type-from-file-name): If multiple types match,
41 return the first one that is supported. (Bug#9045)
42
432012-10-22 Glenn Morris <rgm@gnu.org>
44
45 * image.el (imagemagick-enabled-types): Doc fix.
46
472012-10-22 Takafumi Arakaki <aka.tkf@gmail.com> (tiny change)
48
49 * progmodes/which-func.el (which-func-current): The hash-table may have
50 an explicit nil (bug#12338).
51
522012-10-22 Stefan Monnier <monnier@iro.umontreal.ca>
53
54 * electric.el (electric-pair-delete-selection-self-insert-function):
55 Rename to electric-pair-will-use-region, return a boolean.
56 (electric-pair-mode): Adjust accordingly. Don't require delsel.
57
58 * delsel.el (delete-selection-helper): Use a function instead of a hook.
59 (delete-selection-pre-hook): Use use-region-p.
60 (delete-selection-self-insert-function): Remove.
61 (self-insert-command): Obey self-insert-uses-region-functions.
62 (self-insert-iso): Revert to previous setting, since we don't actually
63 know what that command does.
64 (delete-selection-self-insert-hooks): Remove.
65
662012-10-22 Simon Law <sfllaw@sfllaw.ca> (tiny change)
67
68 * delsel.el (delete-selection-helper): New function, extracted from
69 delete-selection-pre-hook.
70 (delete-selection-pre-hook): Use it.
71 (delete-selection-self-insert-function): New function.
72 (delete-selection-self-insert-hooks): New hook.
73 (self-insert-command, self-insert-iso): Use it.
74 * electric.el (electric-pair-syntax): New function, extracted from
75 electric-pair-post-self-insert-function.
76 (electric-pair-post-self-insert-function): Use it.
77 (electric-pair-delete-selection-self-insert-function): New function.
78 (electric-pair-mode): Require delsel and setup
79 delete-selection-self-insert-hooks (bug#11520).
80
812012-10-20 Chong Yidong <cyd@gnu.org>
82
83 * vc/vc.el (vc-diff-internal): Set up Diff mode even if there are
84 no changes to show (Bug#12586).
85
86 * eshell/esh-cmd.el (eshell-rewrite-for-command): Copy the body
87 list explicitly (Bug#12571).
88
892012-10-20 Arne Jørgensen <arne@arnested.dk>
90
91 * progmodes/flymake.el (flymake-create-temp-inplace):
92 Use file-truename.
93
942012-10-20 Eli Zaretskii <eliz@gnu.org>
95
96 * loadup.el: Update comment about uncompiled Lisp files. (Bug#12395)
97
982012-10-20 Jay Belanger <jay.p.belanger@gmail.com>
99
100 * calc/calc-units.el (math-extract-units): Properly extract powers
101 of units.
102
1032012-10-20 Daniel Colascione <dancol@dancol.org>
104
105 * frame.el (make-frame): Set x-display-name as we used to in order
106 to unbreak creating an X11 frame from an Emacs daemon started
107 without a display.
108
1092012-10-19 Stefan Monnier <monnier@iro.umontreal.ca>
110
111 * minibuffer.el (minibuffer-force-complete): Make the next completion use
112 the same completion-field (bug@12221).
113
12012-10-19 Martin Rudalics <rudalics@gmx.at> 1142012-10-19 Martin Rudalics <rudalics@gmx.at>
2 115
3 * emacs-lisp/debug.el (debug): Record height of debugger window 116 * emacs-lisp/debug.el (debug): Record height of debugger window
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index c04cd8dcf9d..cebd4302d0c 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -140,8 +140,10 @@ A local copy of the archive will be used when updating."
140 :type 'regexp 140 :type 'regexp
141 :group 'archive) 141 :group 'archive)
142 142
143(defcustom archive-extract-hooks nil 143(define-obsolete-variable-alias 'archive-extract-hooks
144 "Hooks to run when an archive member has been extracted." 144 'archive-extract-hook "24.3")
145(defcustom archive-extract-hook nil
146 "Hook run when an archive member has been extracted."
145 :type 'hook 147 :type 'hook
146 :group 'archive) 148 :group 'archive)
147;; ------------------------------ 149;; ------------------------------
@@ -1078,7 +1080,7 @@ using `make-temp-file', and the generated name is returned."
1078 ;; We will write out the archive ourselves if it is 1080 ;; We will write out the archive ourselves if it is
1079 ;; part of another archive. 1081 ;; part of another archive.
1080 (remove-hook 'write-contents-functions 'archive-write-file t)) 1082 (remove-hook 'write-contents-functions 'archive-write-file t))
1081 (run-hooks 'archive-extract-hooks) 1083 (run-hooks 'archive-extract-hook)
1082 (if archive-read-only 1084 (if archive-read-only
1083 (message "Note: altering this archive is not implemented.")))) 1085 (message "Note: altering this archive is not implemented."))))
1084 (archive-maybe-update t)) 1086 (archive-maybe-update t))
diff --git a/lisp/calc/calc-units.el b/lisp/calc/calc-units.el
index 39f710f8322..58646ea114c 100644
--- a/lisp/calc/calc-units.el
+++ b/lisp/calc/calc-units.el
@@ -1481,10 +1481,16 @@ If COMP or STD is non-nil, put that in the units table instead."
1481 (mapcar 'math-remove-units (cdr expr)))))) 1481 (mapcar 'math-remove-units (cdr expr))))))
1482 1482
1483(defun math-extract-units (expr) 1483(defun math-extract-units (expr)
1484 (if (memq (car-safe expr) '(* /)) 1484 (cond
1485 (cons (car expr) 1485 ((memq (car-safe expr) '(* /))
1486 (mapcar 'math-extract-units (cdr expr))) 1486 (cons (car expr)
1487 (if (math-check-unit-name expr) expr 1))) 1487 (mapcar 'math-extract-units (cdr expr))))
1488 ((and
1489 (eq (car-safe expr) '^)
1490 (math-check-unit-name (nth 1 expr)))
1491 expr)
1492 ((math-check-unit-name expr) expr)
1493 (t 1)))
1488 1494
1489(defun math-build-units-table-buffer (enter-buffer) 1495(defun math-build-units-table-buffer (enter-buffer)
1490 (if (not (and math-units-table math-units-table-buffer-valid 1496 (if (not (and math-units-table math-units-table-buffer-valid
diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog
index e89e8ed258b..7656248cac5 100644
--- a/lisp/cedet/ChangeLog
+++ b/lisp/cedet/ChangeLog
@@ -1,14 +1,23 @@
12012-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * semantic/db-file.el (semanticdb-save-database-functions):
4 * semantic/lex.el (semantic-lex-reset-functions):
5 * semantic/edit.el (semantic-change-functions)
6 (semantic-edits-new-change-functions)
7 (semantic-edits-delete-change-functions)
8 (semantic-edits-reparse-change-functions): Don't use "-hooks" suffix.
9
12012-10-14 David Engster <deng@randomsample.de> 102012-10-14 David Engster <deng@randomsample.de>
2 11
3 * semantic.el (semantic-error-if-unparsed): New function. Raise 12 * semantic.el (semantic-error-if-unparsed): New function.
4 error if buffer was not parsed by Semantic (bug #12045). 13 Raise error if buffer was not parsed by Semantic (bug #12045).
5 (navigate-menu, edit-menu, cedet-menu-map): Enable Semantic items 14 (navigate-menu, edit-menu, cedet-menu-map): Enable Semantic items
6 only if buffer was parsed. Also, replace ':active' with ':enable' 15 only if buffer was parsed. Also, replace ':active' with ':enable'
7 where necessary. 16 where necessary.
8 17
9 * semantic/wisent/python.el 18 * semantic/wisent/python.el
10 (semantic-python-get-system-include-path): Use 19 (semantic-python-get-system-include-path):
11 `python-shell-internal-send-string' if available to query Python 20 Use `python-shell-internal-send-string' if available to query Python
12 for system paths. 21 for system paths.
13 22
14 * semantic/senator.el (senator-next-tag, senator-previous-tag) 23 * semantic/senator.el (senator-next-tag, senator-previous-tag)
@@ -57,8 +66,8 @@
572012-10-06 Chong Yidong <cyd@gnu.org> 662012-10-06 Chong Yidong <cyd@gnu.org>
58 67
59 * semantic/bovine/grammar.el: 68 * semantic/bovine/grammar.el:
60 * semantic/wisent/grammar.el: Move from admin/grammars. Add 69 * semantic/wisent/grammar.el: Move from admin/grammars.
61 autoloads for bovine-grammar-mode and wisent-grammar-mode. 70 Add autoloads for bovine-grammar-mode and wisent-grammar-mode.
62 71
632012-10-02 Chong Yidong <cyd@gnu.org> 722012-10-02 Chong Yidong <cyd@gnu.org>
64 73
@@ -163,8 +172,8 @@
163 (-scheme, -makefile-misc, ede-proj-target-makefile-program) 172 (-scheme, -makefile-misc, ede-proj-target-makefile-program)
164 (-makefile-archive, -makefile-shared-object) 173 (-makefile-archive, -makefile-shared-object)
165 (ede-proj-target-makefile-info, -grammar): New autoloads. 174 (ede-proj-target-makefile-info, -grammar): New autoloads.
166 (ede-proj-project): Inherit from eieio-persistent-read. Specify 175 (ede-proj-project): Inherit from eieio-persistent-read.
167 extension and header line. 176 Specify extension and header line.
168 (ede-proj-load, ede-proj-save): Replace with impl using 177 (ede-proj-load, ede-proj-save): Replace with impl using
169 eieio-persistent-read. 178 eieio-persistent-read.
170 179
@@ -176,27 +185,27 @@
176 (navigate-menu): Add menu item for Stickyfunc mode. 185 (navigate-menu): Add menu item for Stickyfunc mode.
177 186
178 * semantic/analyze/debug.el 187 * semantic/analyze/debug.el
179 (semantic-analyzer-debug-insert-include-summary): Before 188 (semantic-analyzer-debug-insert-include-summary):
180 dereferencing tableinner, make sure it has a value. 189 Before dereferencing tableinner, make sure it has a value.
181 190
182 * semantic/analyze/refs.el 191 * semantic/analyze/refs.el
183 (semantic-analyze-tag-references-default): When doing a lookup, 192 (semantic-analyze-tag-references-default): When doing a lookup,
184 specify noerror. 193 specify noerror.
185 (semantic--analyze-refs-full-lookup): Add optional noerror input 194 (semantic--analyze-refs-full-lookup): Add optional noerror input
186 argument. Pass to to full-lookup-simple. 195 argument. Pass to to full-lookup-simple.
187 (semantic-analyze-refs-impl, semantic-analyze-refs-proto): Ignore 196 (semantic-analyze-refs-impl, semantic-analyze-refs-proto):
188 :typemodifiers during compare. 197 Ignore :typemodifiers during compare.
189 198
190 * semantic/bovine/c.el (semantic-lex-cpp-define): Specify limits 199 * semantic/bovine/c.el (semantic-lex-cpp-define): Specify limits
191 to looking back for comment chars. 200 to looking back for comment chars.
192 (semantic--tag-similar-names-p, semantic--tag-similar-names-p-default) 201 (semantic--tag-similar-names-p, semantic--tag-similar-names-p-default)
193 (semantic--tag-attribute-similar-p): New. 202 (semantic--tag-attribute-similar-p): New.
194 (semantic-c-describe-environment): Handle list value of ede-object. 203 (semantic-c-describe-environment): Handle list value of ede-object.
195 (semantic-lex-c-preprocessor-symbol-map-builtin): Add 204 (semantic-lex-c-preprocessor-symbol-map-builtin):
196 __attribute_pure__. 205 Add __attribute_pure__.
197 206
198 * semantic/bovine/scm.el (semantic-format-tag-prototype): Add 207 * semantic/bovine/scm.el (semantic-format-tag-prototype):
199 parent and color argument. Pass them through. 208 Add parent and color argument. Pass them through.
200 209
201 * semantic/complete.el (semantic-collector-calculate-completions): 210 * semantic/complete.el (semantic-collector-calculate-completions):
202 Search for more matches if new prefix is a substring of old one. 211 Search for more matches if new prefix is a substring of old one.
@@ -217,15 +226,15 @@
217 the (%d tags) extra string. 226 the (%d tags) extra string.
218 (semanticdb-project-database): Specify :type for table. 227 (semanticdb-project-database): Specify :type for table.
219 (semanticdb-create-table-for-file): Specify file-truename. 228 (semanticdb-create-table-for-file): Specify file-truename.
220 (semanticdb-synchronize, semanticdb-partial-synchronize): Restore 229 (semanticdb-synchronize, semanticdb-partial-synchronize):
221 code that refreshes references to include files. 230 Restore code that refreshes references to include files.
222 231
223 * semantic/decorate/include.el 232 * semantic/decorate/include.el
224 (semantic-decoration-on-fileless-includes): New face. 233 (semantic-decoration-on-fileless-includes): New face.
225 (semantic-decoration-on-fileless-include-map) 234 (semantic-decoration-on-fileless-include-map)
226 (semantic-decoration-on-fileless-include-menu): New variables. 235 (semantic-decoration-on-fileless-include-menu): New variables.
227 (semantic-decoration-on-includes-highlight-default): Support 236 (semantic-decoration-on-includes-highlight-default):
228 includes that have a table, but are not associated with a file. 237 Support includes that have a table, but are not associated with a file.
229 (semantic-decoration-fileless-include-describe) 238 (semantic-decoration-fileless-include-describe)
230 (semantic-decoration-fileless-include-menu): New functions. 239 (semantic-decoration-fileless-include-menu): New functions.
231 (semantic-decoration-all-include-summary): Add arrows to indicate 240 (semantic-decoration-all-include-summary): Add arrows to indicate
@@ -262,15 +271,15 @@
262 * semantic/tag.el (semantic-create-tag-proxy) 271 * semantic/tag.el (semantic-create-tag-proxy)
263 (semantic-tag-set-proxy, semantic-tag-resolve-proxy): New. 272 (semantic-tag-set-proxy, semantic-tag-resolve-proxy): New.
264 273
265 * semantic/util.el (semantic-describe-buffer): Add 274 * semantic/util.el (semantic-describe-buffer):
266 semantic-new-buffer-fcn-was-run. 275 Add semantic-new-buffer-fcn-was-run.
267 276
268 * semantic/wisent/java-tags.el (semantic-get-local-variables): Add 277 * semantic/wisent/java-tags.el (semantic-get-local-variables):
269 `this' to the local variable context. 278 Add `this' to the local variable context.
270 (semantic-analyze-split-name, semantic-analyze-unsplit-name): New. 279 (semantic-analyze-split-name, semantic-analyze-unsplit-name): New.
271 280
272 * semantic/wisent/python.el (semantic-python-expand-tag): New 281 * semantic/wisent/python.el (semantic-python-expand-tag):
273 function. 282 New function.
274 283
275 * srecode/compile.el (srecode-compile-templates): Add "framework" 284 * srecode/compile.el (srecode-compile-templates): Add "framework"
276 special variable support. 285 special variable support.
@@ -280,7 +289,7 @@
280 (srecode-semantic-handle-:cpp): New functions. 289 (srecode-semantic-handle-:cpp): New functions.
281 (srecode-semantic-apply-tag-to-dict): Move from cpp-mode function 290 (srecode-semantic-apply-tag-to-dict): Move from cpp-mode function
282 to c-mode function. 291 to c-mode function.
283 (srecode-c-apply-templates): Renamed from srecode-cpp-apply-templates. 292 (srecode-c-apply-templates): Rename from srecode-cpp-apply-templates.
284 293
285 * srecode/dictionary.el (initialize-instance): Remove bogus error 294 * srecode/dictionary.el (initialize-instance): Remove bogus error
286 condition. 295 condition.
@@ -293,8 +302,8 @@
293 302
294 * srecode/mode.el (srecode-minor-mode): Support the m3 menu. 303 * srecode/mode.el (srecode-minor-mode): Support the m3 menu.
295 304
296 * srecode/semantic.el (srecode-semantic-insert-tag): Support 305 * srecode/semantic.el (srecode-semantic-insert-tag):
297 system includes. 306 Support system includes.
298 307
299 * srecode/srt-mode.el (srecode-font-lock-keywords): Update. 308 * srecode/srt-mode.el (srecode-font-lock-keywords): Update.
300 309
@@ -325,8 +334,8 @@
325 * ede/proj-comp.el (ede-proj-makefile-insert-rules): Fix insertion 334 * ede/proj-comp.el (ede-proj-makefile-insert-rules): Fix insertion
326 of phony rule. 335 of phony rule.
327 336
328 * ede/proj-elisp.el (ede-proj-target-elisp): Remove 337 * ede/proj-elisp.el (ede-proj-target-elisp):
329 ede-emacs-preload-compiler. 338 Remove ede-emacs-preload-compiler.
330 (ede-proj-makefile-insert-rules, ede-proj-makefile-dependencies): 339 (ede-proj-makefile-insert-rules, ede-proj-makefile-dependencies):
331 New methods. 340 New methods.
332 (ede-emacs-compiler): Add 'require' macro to variables and pattern 341 (ede-emacs-compiler): Add 'require' macro to variables and pattern
@@ -362,8 +371,8 @@
362 (semantic-cpp-lexer): Add semantic-lex-c-ifdef. 371 (semantic-cpp-lexer): Add semantic-lex-c-ifdef.
363 (semantic-expand-c-tag): Check if tag is non-nil before adding it 372 (semantic-expand-c-tag): Check if tag is non-nil before adding it
364 to return list 373 to return list
365 (semantic-expand-c-extern-C, semantic-expand-c-complex-type): New 374 (semantic-expand-c-extern-C, semantic-expand-c-complex-type):
366 functions, copied from semantic-expand-c-tag. 375 New functions, copied from semantic-expand-c-tag.
367 (semantic-find-tags-included): New override which also searches 376 (semantic-find-tags-included): New override which also searches
368 for include tags inside of namespaces. 377 for include tags inside of namespaces.
369 (semantic-c-dereference-typedef): Use semantic-tag-prototype-p. 378 (semantic-c-dereference-typedef): Use semantic-tag-prototype-p.
@@ -371,16 +380,16 @@
371 380
372 * semantic/bovine/el.el: Remove emacs-lisp-mode-hook. 381 * semantic/bovine/el.el: Remove emacs-lisp-mode-hook.
373 382
374 * semantic/complete.el (semantic-complete-post-command-hook): Exit 383 * semantic/complete.el (semantic-complete-post-command-hook):
375 completion when user has deleted all characters from the prefix. 384 Exit completion when user has deleted all characters from the prefix.
376 (semantic-displayor-focus-request): Return to previous window when 385 (semantic-displayor-focus-request): Return to previous window when
377 focussing tags. 386 focussing tags.
378 387
379 * semantic/db-el.el (semanticdb-normalize-one-tag): Make obsolete. 388 * semantic/db-el.el (semanticdb-normalize-one-tag): Make obsolete.
380 (semanticdb-elisp-sym->tag): Use help-function-arglist instead. 389 (semanticdb-elisp-sym->tag): Use help-function-arglist instead.
381 390
382 * semantic/db-file.el (semanticdb-create-database): Use 391 * semantic/db-file.el (semanticdb-create-database):
383 semantic-tag-version instead of just semantic-version as the 392 Use semantic-tag-version instead of just semantic-version as the
384 initializer for the :semantic-tag-version slot. 393 initializer for the :semantic-tag-version slot.
385 394
386 * semantic/db-find.el (semanticdb-find-tags-by-class-method): 395 * semantic/db-find.el (semanticdb-find-tags-by-class-method):
@@ -394,11 +403,11 @@
394 (semanticdb-save-current-db, semanticdb-save-all-db): Only emit 403 (semanticdb-save-current-db, semanticdb-save-all-db): Only emit
395 message when running interactively. 404 message when running interactively.
396 405
397 * semantic/decorate/mode.el (semantic-decoration-mode): Activate 406 * semantic/decorate/mode.el (semantic-decoration-mode):
398 decoration of includes by default. 407 Activate decoration of includes by default.
399 408
400 * semantic/doc.el (semantic-doc-snarf-comment-for-tag): Remove 409 * semantic/doc.el (semantic-doc-snarf-comment-for-tag):
401 comment delimiter at the end of the text. 410 Remove comment delimiter at the end of the text.
402 411
403 * semantic/ede-grammar.el (semantic-ede-proj-target-grammar): 412 * semantic/ede-grammar.el (semantic-ede-proj-target-grammar):
404 Change aux- and pre-load-packages. 413 Change aux- and pre-load-packages.
@@ -412,16 +421,16 @@
412 (ede-proj-makefile-insert-rules): Add target specific EMACSFLAGS 421 (ede-proj-makefile-insert-rules): Add target specific EMACSFLAGS
413 to raise max-specpdl-size and max-lisp-eval-depth. 422 to raise max-specpdl-size and max-lisp-eval-depth.
414 423
415 * semantic/find.el (semantic-find-tags-included): Make 424 * semantic/find.el (semantic-find-tags-included):
416 overridable. 425 Make overridable.
417 426
418 * semantic/fw.el (semantic-alias-obsolete) 427 * semantic/fw.el (semantic-alias-obsolete)
419 (semantic-varalias-obsolete): Use byte-compile-warn. 428 (semantic-varalias-obsolete): Use byte-compile-warn.
420 (semantic-find-file-noselect): Disable font lock by calling 429 (semantic-find-file-noselect): Disable font lock by calling
421 global-font-lock-mode. 430 global-font-lock-mode.
422 431
423 * semantic/grammar.el (semantic-grammar-create-package): Fix 432 * semantic/grammar.el (semantic-grammar-create-package):
424 message. 433 Fix message.
425 (semantic-grammar-batch-build-one-package): When generating 434 (semantic-grammar-batch-build-one-package): When generating
426 parsers in batch-mode, ignore version control and make sure we do 435 parsers in batch-mode, ignore version control and make sure we do
427 not use cached versions. 436 not use cached versions.
@@ -433,16 +442,16 @@
433 (semantic-lex-spp-lex-text-string): Instead of only setting the 442 (semantic-lex-spp-lex-text-string): Instead of only setting the
434 lexer, call the major mode's setup function. 443 lexer, call the major mode's setup function.
435 444
436 * semantic/scope.el (semantic-analyze-scoped-types-default): Use 445 * semantic/scope.el (semantic-analyze-scoped-types-default):
437 semantic-tag-prototype-p. 446 Use semantic-tag-prototype-p.
438 (semantic-analyze-scope-nested-tags-default): Make sure we don't 447 (semantic-analyze-scope-nested-tags-default): Make sure we don't
439 return tags we already have in scopetypes. 448 return tags we already have in scopetypes.
440 449
441 * semantic/symref/filter.el 450 * semantic/symref/filter.el
442 (semantic-symref-test-count-hits-in-tag): Restore. 451 (semantic-symref-test-count-hits-in-tag): Restore.
443 452
444 * semantic/wisent/comp.el (wisent-BITS-PER-WORD): Use 453 * semantic/wisent/comp.el (wisent-BITS-PER-WORD):
445 most-positive-fixnum if available. 454 Use most-positive-fixnum if available.
446 455
447 * semantic/wisent/javascript.el (semantic-tag-protection) 456 * semantic/wisent/javascript.el (semantic-tag-protection)
448 (semantic-analyze-scope-calculate-access) 457 (semantic-analyze-scope-calculate-access)
@@ -477,8 +486,8 @@
4772012-10-01 Jan Moringen <jan.moringen@uni-bielefeld.de> 4862012-10-01 Jan Moringen <jan.moringen@uni-bielefeld.de>
478 487
479 * semantic/idle.el 488 * semantic/idle.el
480 (semantic-idle-breadcrumbs--display-in-header-line): Escape 489 (semantic-idle-breadcrumbs--display-in-header-line):
481 %-characters to avoid erroneous expansion in header line. 490 Escape %-characters to avoid erroneous expansion in header line.
482 (semantic-idle-breadcrumbs--display-in-mode-line): Likewise. 491 (semantic-idle-breadcrumbs--display-in-mode-line): Likewise.
483 492
484 * semantic/wisent/python.el (wisent-python-reconstitute-function-tag) 493 * semantic/wisent/python.el (wisent-python-reconstitute-function-tag)
@@ -514,8 +523,8 @@
514 523
515 * semantic/wisent/python.el (wisent-python-string-start-re) 524 * semantic/wisent/python.el (wisent-python-string-start-re)
516 (wisent-python-string-re, wisent-python-forward-string) 525 (wisent-python-string-re, wisent-python-forward-string)
517 (wisent-python-forward-line,wisent-python-lex-string): New 526 (wisent-python-forward-line,wisent-python-lex-string):
518 variables. 527 New variables.
519 (wisent-python-forward-balanced-expression): New function. 528 (wisent-python-forward-balanced-expression): New function.
520 529
5212012-10-01 Pete Beardmore <elbeardmorez@msn.com> 5302012-10-01 Pete Beardmore <elbeardmorez@msn.com>
@@ -528,16 +537,16 @@
528 (semantic-displayor-tooltip-mode) 537 (semantic-displayor-tooltip-mode)
529 (semantic-displayor-tooltip-initial-max-tags) 538 (semantic-displayor-tooltip-initial-max-tags)
530 (semantic-displayor-tooltip-max-tags): New defcustoms. 539 (semantic-displayor-tooltip-max-tags): New defcustoms.
531 (semantic-displayor-tooltip): Use new variables as initforms. Use 540 (semantic-displayor-tooltip): Use new variables as initforms.
532 new slot `mode' instead of `force-show'. Rename `max-tags' to 541 Use new slot `mode' instead of `force-show'. Rename `max-tags' to
533 `max-tags-initial'. 542 `max-tags-initial'.
534 (semantic-displayor-show-request): Display completions according 543 (semantic-displayor-show-request): Display completions according
535 to new modes, and make variable names clearer. 544 to new modes, and make variable names clearer.
536 (semantic-displayor-tooltip::semantic-displayor-scroll-request): 545 (semantic-displayor-tooltip::semantic-displayor-scroll-request):
537 Use new max-tags-initial slot. 546 Use new max-tags-initial slot.
538 547
539 * semantic/idle.el (semantic-idle-local-symbol-highlight): Make 548 * semantic/idle.el (semantic-idle-local-symbol-highlight):
540 sure there actually is a tag at point. 549 Make sure there actually is a tag at point.
541 (semantic-idle-completion-list-default): Report errors as messages 550 (semantic-idle-completion-list-default): Report errors as messages
542 if semantic-idle-scheduler-verbose-flag is non-nil. 551 if semantic-idle-scheduler-verbose-flag is non-nil.
543 552
@@ -548,13 +557,13 @@
548 557
5492012-10-01 Alex Ott <alexott@gmail.com> 5582012-10-01 Alex Ott <alexott@gmail.com>
550 559
551 * semantic/idle.el (semantic-idle-scheduler-enabled-p): Fix 560 * semantic/idle.el (semantic-idle-scheduler-enabled-p):
552 file-checking. 561 Fix file-checking.
553 562
5542012-10-01 Darren Hoo <darren.hoo@gmail.com> (tiny change) 5632012-10-01 Darren Hoo <darren.hoo@gmail.com> (tiny change)
555 564
556 * semantic/db-find.el (semanticdb-find-default-throttle): Make 565 * semantic/db-find.el (semanticdb-find-default-throttle):
557 buffer-local. 566 Make buffer-local.
558 (semanticdb-strip-find-results): Check for existing :filename 567 (semanticdb-strip-find-results): Check for existing :filename
559 attribute, so that file information from GNU Global is not lost. 568 attribute, so that file information from GNU Global is not lost.
560 569
@@ -1001,7 +1010,7 @@
1001 (ede-customize-forms-menu): Prevent error if there is no project. 1010 (ede-customize-forms-menu): Prevent error if there is no project.
1002 (ede-load-project-file): Set ede-constructing to the thing being 1011 (ede-load-project-file): Set ede-constructing to the thing being
1003 constructed, instead of t. 1012 constructed, instead of t.
1004 (ede-project-force-load): Deleted. 1013 (ede-project-force-load): Delete.
1005 1014
1006 * ede/base.el: 1015 * ede/base.el:
1007 * ede/auto.el: 1016 * ede/auto.el:
@@ -1011,7 +1020,7 @@
1011 (autoconf-parameters-for-macro): Parse multiline parameters of 1020 (autoconf-parameters-for-macro): Parse multiline parameters of
1012 macros. Optionally ignore case and at bol for macro. 1021 macros. Optionally ignore case and at bol for macro.
1013 (autoconf-parameter-strip): Use greedy match for newlines. 1022 (autoconf-parameter-strip): Use greedy match for newlines.
1014 (autoconf-new-automake-string): Deleted. 1023 (autoconf-new-automake-string): Delete.
1015 (autoconf-new-program): Use SRecode to fill an empty file. 1024 (autoconf-new-program): Use SRecode to fill an empty file.
1016 1025
1017 * ede/cpp-root.el (ede-create-lots-of-projects-under-dir): 1026 * ede/cpp-root.el (ede-create-lots-of-projects-under-dir):
@@ -1046,7 +1055,7 @@
1046 (project-am-scan-for-targets): Scan also over 1055 (project-am-scan-for-targets): Scan also over
1047 project-am-meta-type-alist. 1056 project-am-meta-type-alist.
1048 (ede-system-include-path): Simple implementation. 1057 (ede-system-include-path): Simple implementation.
1049 (ede-find-target): Deleted. EDE core takes care of this. 1058 (ede-find-target): Delete. EDE core takes care of this.
1050 (ede-buffer-mine): Create the searched filename as relative. 1059 (ede-buffer-mine): Create the searched filename as relative.
1051 (project-am-load): Simplify, using autoconf-edit. 1060 (project-am-load): Simplify, using autoconf-edit.
1052 (project-am-extract-package-info): Fix separators. 1061 (project-am-extract-package-info): Fix separators.
@@ -1063,7 +1072,7 @@
1063 (ede-proj-target-makefile-objectcode): Quote initforms. 1072 (ede-proj-target-makefile-objectcode): Quote initforms.
1064 Support lex and yacc. 1073 Support lex and yacc.
1065 1074
1066 * ede/proj-prog.el (ede-proj-makefile-insert-rules): Removed. 1075 * ede/proj-prog.el (ede-proj-makefile-insert-rules): Remove.
1067 (ede-proj-makefile-insert-variables): New, add LDDEPS. 1076 (ede-proj-makefile-insert-variables): New, add LDDEPS.
1068 (ede-proj-makefile-insert-automake-post-variables): Add LDADD 1077 (ede-proj-makefile-insert-automake-post-variables): Add LDADD
1069 variable. Use ldlibs-local slot. Add a -l to ldlibs strings. 1078 variable. Use ldlibs-local slot. Add a -l to ldlibs strings.
@@ -1158,7 +1167,7 @@
1158 1167
1159 * semantic/util.el (semantic-hack-search) 1168 * semantic/util.el (semantic-hack-search)
1160 (semantic-recursive-find-nonterminal-by-name) 1169 (semantic-recursive-find-nonterminal-by-name)
1161 (semantic-current-tag-interactive): Deleted. 1170 (semantic-current-tag-interactive): Delete.
1162 (semantic-describe-buffer): Fix expand-nonterminal. 1171 (semantic-describe-buffer): Fix expand-nonterminal.
1163 Add lex-syntax-mods, type relation separator char, and command 1172 Add lex-syntax-mods, type relation separator char, and command
1164 separation char. 1173 separation char.
@@ -1191,7 +1200,7 @@
1191 (semantic-idle-truncate-long-summaries): New option. 1200 (semantic-idle-truncate-long-summaries): New option.
1192 1201
1193 * semantic/ia.el (semantic-ia-cache) 1202 * semantic/ia.el (semantic-ia-cache)
1194 (semantic-ia-get-completions): Deleted. Callers changed. 1203 (semantic-ia-get-completions): Delete. Callers changed.
1195 (semantic-ia-show-variants): New command. 1204 (semantic-ia-show-variants): New command.
1196 (semantic-ia-show-doc): If doc is empty, don't make a temp buffer. 1205 (semantic-ia-show-doc): If doc is empty, don't make a temp buffer.
1197 (semantic-ia-show-summary): If there isn't anything to show, say so. 1206 (semantic-ia-show-summary): If there isn't anything to show, say so.
diff --git a/lisp/cedet/semantic/db-file.el b/lisp/cedet/semantic/db-file.el
index 7b4a47bd260..4f8e93dc391 100644
--- a/lisp/cedet/semantic/db-file.el
+++ b/lisp/cedet/semantic/db-file.el
@@ -70,7 +70,9 @@ passes a list of predicates in `semanticdb-project-predicate-functions'."
70 :group 'semanticdb 70 :group 'semanticdb
71 :type nil) 71 :type nil)
72 72
73(defcustom semanticdb-save-database-hooks nil 73(define-obsolete-variable-alias 'semanticdb-save-database-hooks
74 'semanticdb-save-database-functions "24.3")
75(defcustom semanticdb-save-database-functions nil
74 "Abnormal hook run after a database is saved. 76 "Abnormal hook run after a database is saved.
75Each function is called with one argument, the object representing 77Each function is called with one argument, the object representing
76the database recently written." 78the database recently written."
@@ -251,7 +253,7 @@ If DB is not specified, then use the current database."
251 (message "Save Error: %S: %s" (car (cdr foo)) 253 (message "Save Error: %S: %s" (car (cdr foo))
252 objname) 254 objname)
253 (error "%S" (car (cdr foo)))))))) 255 (error "%S" (car (cdr foo))))))))
254 (run-hook-with-args 'semanticdb-save-database-hooks 256 (run-hook-with-args 'semanticdb-save-database-functions
255 (or DB semanticdb-current-database)) 257 (or DB semanticdb-current-database))
256 ;;(message "Saving tag summary for %s...done" objname) 258 ;;(message "Saving tag summary for %s...done" objname)
257 ) 259 )
diff --git a/lisp/cedet/semantic/edit.el b/lisp/cedet/semantic/edit.el
index 23b6784fe2a..5b39dec2628 100644
--- a/lisp/cedet/semantic/edit.el
+++ b/lisp/cedet/semantic/edit.el
@@ -72,7 +72,9 @@ updated in the current buffer.
72 72
73For language specific hooks, make sure you define this as a local hook.") 73For language specific hooks, make sure you define this as a local hook.")
74 74
75(defvar semantic-change-hooks 75(define-obsolete-variable-alias 'semantic-change-hooks
76 'semantic-change-functions "24.3")
77(defvar semantic-change-functions
76 '(semantic-edits-change-function-handle-changes) 78 '(semantic-edits-change-function-handle-changes)
77 "Abnormal hook run when semantic detects a change in a buffer. 79 "Abnormal hook run when semantic detects a change in a buffer.
78Each hook function must take three arguments, identical to the 80Each hook function must take three arguments, identical to the
@@ -89,11 +91,15 @@ If the hook returns non-nil, then declare that a reparse is needed.
89For language specific hooks, make sure you define this as a local hook. 91For language specific hooks, make sure you define this as a local hook.
90Not used yet; part of the next generation reparse mechanism.") 92Not used yet; part of the next generation reparse mechanism.")
91 93
92(defvar semantic-edits-new-change-hooks nil 94(define-obsolete-variable-alias 'semantic-edits-new-change-hooks
95 'semantic-edits-new-change-functions "24.3")
96(defvar semantic-edits-new-change-functions nil
93 "Abnormal hook run when a new change is found. 97 "Abnormal hook run when a new change is found.
94Functions must take one argument representing an overlay on that change.") 98Functions must take one argument representing an overlay on that change.")
95 99
96(defvar semantic-edits-delete-change-hooks nil 100(define-obsolete-variable-alias 'semantic-edits-delete-change-hooks
101 'semantic-edits-delete-change-functions "24.3")
102(defvar semantic-edits-delete-change-functions nil
97 "Abnormal hook run before a change overlay is deleted. 103 "Abnormal hook run before a change overlay is deleted.
98Deleted changes occur when multiple changes are merged. 104Deleted changes occur when multiple changes are merged.
99Functions must take one argument representing an overlay being deleted.") 105Functions must take one argument representing an overlay being deleted.")
@@ -104,7 +110,9 @@ Changes move when a new change overlaps an old change. The old change
104will be moved. 110will be moved.
105Functions must take one argument representing an overlay being moved.") 111Functions must take one argument representing an overlay being moved.")
106 112
107(defvar semantic-edits-reparse-change-hooks nil 113(define-obsolete-variable-alias 'semantic-edits-reparse-change-hooks
114 'semantic-edits-reparse-change-functions "24.3")
115(defvar semantic-edits-reparse-change-functions nil
108 "Abnormal hook run after a change results in a reparse. 116 "Abnormal hook run after a change results in a reparse.
109Functions are called before the overlay is deleted, and after the 117Functions are called before the overlay is deleted, and after the
110incremental reparse.") 118incremental reparse.")
@@ -133,7 +141,7 @@ Argument START, END, and LENGTH specify the bounds of the change."
133 (setq semantic-unmatched-syntax-cache-check t) 141 (setq semantic-unmatched-syntax-cache-check t)
134 (let ((inhibit-point-motion-hooks t) 142 (let ((inhibit-point-motion-hooks t)
135 ) 143 )
136 (run-hook-with-args 'semantic-change-hooks start end length) 144 (run-hook-with-args 'semantic-change-functions start end length)
137 )) 145 ))
138 146
139(defun semantic-changes-in-region (start end &optional buffer) 147(defun semantic-changes-in-region (start end &optional buffer)
@@ -168,7 +176,7 @@ Argument START, END, and LENGTH specify the bounds of the change."
168 ;; function will be removed from the list of active change 176 ;; function will be removed from the list of active change
169 ;; functions. 177 ;; functions.
170 (condition-case nil 178 (condition-case nil
171 (run-hook-with-args 'semantic-edits-new-change-hooks o) 179 (run-hook-with-args 'semantic-edits-new-change-functions o)
172 (error nil))) 180 (error nil)))
173 (let ((tmp changes-in-change)) 181 (let ((tmp changes-in-change))
174 ;; Find greatest bounds of all changes 182 ;; Find greatest bounds of all changes
@@ -188,7 +196,7 @@ Argument START, END, and LENGTH specify the bounds of the change."
188 ;; Delete other changes. They are now all bound here. 196 ;; Delete other changes. They are now all bound here.
189 (while changes-in-change 197 (while changes-in-change
190 (condition-case nil 198 (condition-case nil
191 (run-hook-with-args 'semantic-edits-delete-change-hooks 199 (run-hook-with-args 'semantic-edits-delete-change-functions
192 (car changes-in-change)) 200 (car changes-in-change))
193 (error nil)) 201 (error nil))
194 (semantic-overlay-delete (car changes-in-change)) 202 (semantic-overlay-delete (car changes-in-change))
@@ -198,7 +206,7 @@ Argument START, END, and LENGTH specify the bounds of the change."
198(defsubst semantic-edits-flush-change (change) 206(defsubst semantic-edits-flush-change (change)
199 "Flush the CHANGE overlay." 207 "Flush the CHANGE overlay."
200 (condition-case nil 208 (condition-case nil
201 (run-hook-with-args 'semantic-edits-delete-change-hooks 209 (run-hook-with-args 'semantic-edits-delete-change-functions
202 change) 210 change)
203 (error nil)) 211 (error nil))
204 (semantic-overlay-delete change)) 212 (semantic-overlay-delete change))
diff --git a/lisp/cedet/semantic/lex.el b/lisp/cedet/semantic/lex.el
index d7ab5911a67..274df355901 100644
--- a/lisp/cedet/semantic/lex.el
+++ b/lisp/cedet/semantic/lex.el
@@ -729,7 +729,9 @@ This is an alist of (ANCHOR . STREAM) elements where ANCHOR is the
729start position of the block, and STREAM is the list of tokens in that 729start position of the block, and STREAM is the list of tokens in that
730block.") 730block.")
731 731
732(defvar semantic-lex-reset-hooks nil 732(define-obsolete-variable-alias 'semantic-lex-reset-hooks
733 'semantic-lex-reset-functions "24.3")
734(defvar semantic-lex-reset-functions nil
733 "Abnormal hook used by major-modes to reset lexical analyzers. 735 "Abnormal hook used by major-modes to reset lexical analyzers.
734Hook functions are called with START and END values for the 736Hook functions are called with START and END values for the
735current lexical pass. Should be set with `add-hook', specifying 737current lexical pass. Should be set with `add-hook', specifying
@@ -771,7 +773,7 @@ analyzer which might mistake a number for as a symbol."
771 ;; Make sure the state of block parsing starts over. 773 ;; Make sure the state of block parsing starts over.
772 (setq semantic-lex-block-streams nil) 774 (setq semantic-lex-block-streams nil)
773 ;; Allow specialty reset items. 775 ;; Allow specialty reset items.
774 (run-hook-with-args 'semantic-lex-reset-hooks start end) 776 (run-hook-with-args 'semantic-lex-reset-functions start end)
775 ;; Lexing state. 777 ;; Lexing state.
776 (let* (;(starttime (current-time)) 778 (let* (;(starttime (current-time))
777 (starting-position (point)) 779 (starting-position (point))
diff --git a/lisp/cus-start.el b/lisp/cus-start.el
index 579551c9a91..2279dc2bf20 100644
--- a/lisp/cus-start.el
+++ b/lisp/cus-start.el
@@ -487,7 +487,6 @@ since it could result in memory overflow and make Emacs crash."
487 (hourglass-delay cursor number) 487 (hourglass-delay cursor number)
488 488
489 ;; xfaces.c 489 ;; xfaces.c
490 (font-list-limit display integer)
491 (scalable-fonts-allowed display boolean "22.1") 490 (scalable-fonts-allowed display boolean "22.1")
492 ;; xfns.c 491 ;; xfns.c
493 (x-bitmap-file-path installation 492 (x-bitmap-file-path installation
diff --git a/lisp/delsel.el b/lisp/delsel.el
index a6435672201..2ed82676189 100644
--- a/lisp/delsel.el
+++ b/lisp/delsel.el
@@ -44,9 +44,12 @@
44;; `kill-region' is used on the selection, rather than 44;; `kill-region' is used on the selection, rather than
45;; `delete-region'. (Text selected with the mouse will typically 45;; `delete-region'. (Text selected with the mouse will typically
46;; be yankable anyhow.) 46;; be yankable anyhow.)
47;; non-nil 47;; t
48;; The normal case: delete the active region prior to executing 48;; The normal case: delete the active region prior to executing
49;; the command which will insert replacement text. 49;; the command which will insert replacement text.
50;; <function>
51;; For commands which need to dynamically determine this behaviour.
52;; The function should return one of the above values or nil.
50 53
51;;; Code: 54;;; Code:
52 55
@@ -71,65 +74,96 @@ any selection."
71 (transient-mark-mode t))) 74 (transient-mark-mode t)))
72 75
73(defun delete-active-region (&optional killp) 76(defun delete-active-region (&optional killp)
77 "Delete the active region.
78If KILLP in not-nil, the active region is killed instead of deleted."
74 (if killp 79 (if killp
75 (kill-region (point) (mark)) 80 (kill-region (point) (mark))
76 (delete-region (point) (mark))) 81 (delete-region (point) (mark)))
77 t) 82 t)
78 83
84(defun delete-selection-helper (type)
85 "Delete selection according to TYPE:
86 `yank'
87 For commands which do a yank; ensures the region about to be
88 deleted isn't yanked.
89 `supersede'
90 Delete the active region and ignore the current command,
91 i.e. the command will just delete the region.
92 `kill'
93 `kill-region' is used on the selection, rather than
94 `delete-region'. (Text selected with the mouse will typically
95 be yankable anyhow.)
96 t
97 The normal case: delete the active region prior to executing
98 the command which will insert replacement text.
99 FUNCTION
100 For commands which need to dynamically determine this behaviour.
101 FUNCTION should take no argument and return one of the above values or nil."
102 (condition-case data
103 (cond ((eq type 'kill)
104 (delete-active-region t))
105 ((eq type 'yank)
106 ;; Before a yank command, make sure we don't yank the
107 ;; head of the kill-ring that really comes from the
108 ;; currently active region we are going to delete.
109 ;; That would make yank a no-op.
110 (when (and (string= (buffer-substring-no-properties
111 (point) (mark))
112 (car kill-ring))
113 (fboundp 'mouse-region-match)
114 (mouse-region-match))
115 (current-kill 1))
116 (delete-active-region))
117 ((eq type 'supersede)
118 (let ((empty-region (= (point) (mark))))
119 (delete-active-region)
120 (unless empty-region
121 (setq this-command 'ignore))))
122 ((functionp type) (delete-selection-helper (funcall type)))
123 (type
124 (delete-active-region)
125 (if (and overwrite-mode
126 (eq this-command 'self-insert-command))
127 (let ((overwrite-mode nil))
128 (self-insert-command
129 (prefix-numeric-value current-prefix-arg))
130 (setq this-command 'ignore)))))
131 ;; If ask-user-about-supersession-threat signals an error,
132 ;; stop safe_run_hooks from clearing out pre-command-hook.
133 (file-supersession (message "%s" (cadr data)) (ding))
134 (text-read-only
135 ;; This signal may come either from `delete-active-region' or
136 ;; `self-insert-command' (when `overwrite-mode' is non-nil).
137 ;; To avoid clearing out `pre-command-hook' we handle this case
138 ;; by issuing a simple message. Note, however, that we do not
139 ;; handle all related problems: When read-only text ends before
140 ;; the end of the region, the latter is not deleted but any
141 ;; subsequent insertion will succeed. We could avoid this case
142 ;; by doing a (setq this-command 'ignore) here. This would,
143 ;; however, still not handle the case where read-only text ends
144 ;; precisely where the region starts: In that case the deletion
145 ;; would succeed but the subsequent insertion would fail with a
146 ;; text-read-only error. To handle that case we would have to
147 ;; investigate text properties at both ends of the region and
148 ;; skip the deletion when inserting text is forbidden there.
149 (message "Text is read-only") (ding))))
150
79(defun delete-selection-pre-hook () 151(defun delete-selection-pre-hook ()
80 (when (and delete-selection-mode transient-mark-mode mark-active 152 "Function run before commands that delete selections are executed.
153Commands which will delete the selection need a `delete-selection'
154property on their symbol; commands which insert text but don't
155have this property won't delete the selection.
156See `delete-selection-helper'."
157 (when (and delete-selection-mode (use-region-p)
81 (not buffer-read-only)) 158 (not buffer-read-only))
82 (let ((type (and (symbolp this-command) 159 (delete-selection-helper (and (symbolp this-command)
83 (get this-command 'delete-selection)))) 160 (get this-command 'delete-selection)))))
84 (condition-case data 161
85 (cond ((eq type 'kill) 162(put 'self-insert-command 'delete-selection
86 (delete-active-region t)) 163 (lambda ()
87 ((eq type 'yank) 164 (not (run-hook-with-args-until-success
88 ;; Before a yank command, make sure we don't yank the 165 'self-insert-uses-region-functions))))
89 ;; head of the kill-ring that really comes from the 166
90 ;; currently active region we are going to delete.
91 ;; That would make yank a no-op.
92 (when (and (string= (buffer-substring-no-properties
93 (point) (mark))
94 (car kill-ring))
95 (fboundp 'mouse-region-match)
96 (mouse-region-match))
97 (current-kill 1))
98 (delete-active-region))
99 ((eq type 'supersede)
100 (let ((empty-region (= (point) (mark))))
101 (delete-active-region)
102 (unless empty-region
103 (setq this-command 'ignore))))
104 (type
105 (delete-active-region)
106 (if (and overwrite-mode
107 (eq this-command 'self-insert-command))
108 (let ((overwrite-mode nil))
109 (self-insert-command
110 (prefix-numeric-value current-prefix-arg))
111 (setq this-command 'ignore)))))
112 ;; If ask-user-about-supersession-threat signals an error,
113 ;; stop safe_run_hooks from clearing out pre-command-hook.
114 (file-supersession (message "%s" (cadr data)) (ding))
115 (text-read-only
116 ;; This signal may come either from `delete-active-region' or
117 ;; `self-insert-command' (when `overwrite-mode' is non-nil).
118 ;; To avoid clearing out `pre-command-hook' we handle this case
119 ;; by issuing a simple message. Note, however, that we do not
120 ;; handle all related problems: When read-only text ends before
121 ;; the end of the region, the latter is not deleted but any
122 ;; subsequent insertion will succeed. We could avoid this case
123 ;; by doing a (setq this-command 'ignore) here. This would,
124 ;; however, still not handle the case where read-only text ends
125 ;; precisely where the region starts: In that case the deletion
126 ;; would succeed but the subsequent insertion would fail with a
127 ;; text-read-only error. To handle that case we would have to
128 ;; investigate text properties at both ends of the region and
129 ;; skip the deletion when inserting text is forbidden there.
130 (message "Text is read-only") (ding))))))
131
132(put 'self-insert-command 'delete-selection t)
133(put 'self-insert-iso 'delete-selection t) 167(put 'self-insert-iso 'delete-selection t)
134 168
135(put 'yank 'delete-selection 'yank) 169(put 'yank 'delete-selection 'yank)
diff --git a/lisp/electric.el b/lisp/electric.el
index 3108a0ed4c0..abf5a72ecaf 100644
--- a/lisp/electric.el
+++ b/lisp/electric.el
@@ -301,14 +301,17 @@ This can be convenient for people who find it easier to hit ) than C-f."
301 :version "24.1" 301 :version "24.1"
302 :type 'boolean) 302 :type 'boolean)
303 303
304(defun electric-pair-syntax (command-event)
305 (and electric-pair-mode
306 (let ((x (assq command-event electric-pair-pairs)))
307 (cond
308 (x (if (eq (car x) (cdr x)) ?\" ?\())
309 ((rassq command-event electric-pair-pairs) ?\))
310 (t (char-syntax command-event))))))
311
304(defun electric-pair-post-self-insert-function () 312(defun electric-pair-post-self-insert-function ()
305 (let* ((syntax (and (eq (char-before) last-command-event) ; Sanity check. 313 (let* ((syntax (and (eq (char-before) last-command-event) ; Sanity check.
306 electric-pair-mode 314 (electric-pair-syntax last-command-event)))
307 (let ((x (assq last-command-event electric-pair-pairs)))
308 (cond
309 (x (if (eq (car x) (cdr x)) ?\" ?\())
310 ((rassq last-command-event electric-pair-pairs) ?\))
311 (t (char-syntax last-command-event))))))
312 ;; FIXME: when inserting the closer, we should maybe use 315 ;; FIXME: when inserting the closer, we should maybe use
313 ;; self-insert-command, although it may prove tricky running 316 ;; self-insert-command, although it may prove tricky running
314 ;; post-self-insert-hook recursively, and we wouldn't want to trigger 317 ;; post-self-insert-hook recursively, and we wouldn't want to trigger
@@ -355,6 +358,10 @@ This can be convenient for people who find it easier to hit ) than C-f."
355 (eq (char-syntax (following-char)) ?w))) 358 (eq (char-syntax (following-char)) ?w)))
356 (save-excursion (insert closer)))))) 359 (save-excursion (insert closer))))))
357 360
361(defun electric-pair-will-use-region ()
362 (and (use-region-p)
363 (memq (electric-pair-syntax last-command-event) '(?\( ?\" ?\$))))
364
358;;;###autoload 365;;;###autoload
359(define-minor-mode electric-pair-mode 366(define-minor-mode electric-pair-mode
360 "Toggle automatic parens pairing (Electric Pair mode). 367 "Toggle automatic parens pairing (Electric Pair mode).
@@ -370,10 +377,15 @@ See options `electric-pair-pairs' and `electric-pair-skip-self'."
370 :global t 377 :global t
371 :group 'electricity 378 :group 'electricity
372 (if electric-pair-mode 379 (if electric-pair-mode
373 (add-hook 'post-self-insert-hook 380 (progn
374 #'electric-pair-post-self-insert-function) 381 (add-hook 'post-self-insert-hook
382 #'electric-pair-post-self-insert-function)
383 (add-hook 'self-insert-uses-region-functions
384 #'electric-pair-will-use-region))
375 (remove-hook 'post-self-insert-hook 385 (remove-hook 'post-self-insert-hook
376 #'electric-pair-post-self-insert-function))) 386 #'electric-pair-post-self-insert-function)
387 (remove-hook 'self-insert-uses-region-functions
388 #'electric-pair-will-use-region)))
377 389
378;; Automatically add newlines after/before/around some chars. 390;; Automatically add newlines after/before/around some chars.
379 391
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index ee8cbd2c3bc..6250edc8792 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -124,7 +124,7 @@
124;; Adding your own checks: 124;; Adding your own checks:
125;; 125;;
126;; You can experiment with adding your own checks by setting the 126;; You can experiment with adding your own checks by setting the
127;; hooks `checkdoc-style-hooks' and `checkdoc-comment-style-hooks'. 127;; hooks `checkdoc-style-functions' and `checkdoc-comment-style-hooks'.
128;; Return a string which is the error you wish to report. The cursor 128;; Return a string which is the error you wish to report. The cursor
129;; position should be preserved. 129;; position should be preserved.
130;; 130;;
@@ -274,17 +274,21 @@ made in the style guide relating to order."
274 :type 'boolean) 274 :type 'boolean)
275;;;###autoload(put 'checkdoc-arguments-in-order-flag 'safe-local-variable 'booleanp) 275;;;###autoload(put 'checkdoc-arguments-in-order-flag 'safe-local-variable 'booleanp)
276 276
277(defvar checkdoc-style-hooks nil 277(define-obsolete-variable-alias 'checkdoc-style-hooks
278 "Hooks called after the standard style check is completed. 278 'checkdoc-style-functions "24.3")
279All hooks must return nil or a string representing the error found. 279(defvar checkdoc-style-functions nil
280 "Hook run after the standard style check is completed.
281All functions must return nil or a string representing the error found.
280Useful for adding new user implemented commands. 282Useful for adding new user implemented commands.
281 283
282Each hook is called with two parameters, (DEFUNINFO ENDPOINT). 284Each hook is called with two parameters, (DEFUNINFO ENDPOINT).
283DEFUNINFO is the return value of `checkdoc-defun-info'. ENDPOINT is the 285DEFUNINFO is the return value of `checkdoc-defun-info'. ENDPOINT is the
284location of end of the documentation string.") 286location of end of the documentation string.")
285 287
286(defvar checkdoc-comment-style-hooks nil 288(define-obsolete-variable-alias 'checkdoc-comment-style-hooks
287 "Hooks called after the standard comment style check is completed. 289 checkdoc-comment-style-functions "24.3")
290(defvar checkdoc-comment-style-functions nil
291 "Hook run after the standard comment style check is completed.
288Must return nil if no errors are found, or a string describing the 292Must return nil if no errors are found, or a string describing the
289problem discovered. This is useful for adding additional checks.") 293problem discovered. This is useful for adding additional checks.")
290 294
@@ -1843,7 +1847,7 @@ Replace with \"%s\"? " original replace)
1843 ;; and reliance on the Ispell program. 1847 ;; and reliance on the Ispell program.
1844 (checkdoc-ispell-docstring-engine e) 1848 (checkdoc-ispell-docstring-engine e)
1845 ;; User supplied checks 1849 ;; User supplied checks
1846 (save-excursion (checkdoc-run-hooks 'checkdoc-style-hooks fp e)) 1850 (save-excursion (checkdoc-run-hooks 'checkdoc-style-functions fp e))
1847 ;; Done! 1851 ;; Done!
1848 ))) 1852 )))
1849 1853
@@ -2353,7 +2357,7 @@ Code:, and others referenced in the style guide."
2353 err 2357 err
2354 (or 2358 (or
2355 ;; Generic Full-file checks (should be comment related) 2359 ;; Generic Full-file checks (should be comment related)
2356 (checkdoc-run-hooks 'checkdoc-comment-style-hooks) 2360 (checkdoc-run-hooks 'checkdoc-comment-style-functions)
2357 err)) 2361 err))
2358 ;; Done with full file comment checks 2362 ;; Done with full file comment checks
2359 err))) 2363 err)))
diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el
index 5f8cbea7c27..608134bd54f 100644
--- a/lisp/emacs-lisp/eieio.el
+++ b/lisp/emacs-lisp/eieio.el
@@ -2066,7 +2066,9 @@ Keys are a number representing :before, :primary, and :after methods.")
2066During executions, the list is first generated, then as each next method 2066During executions, the list is first generated, then as each next method
2067is called, the next method is popped off the stack.") 2067is called, the next method is popped off the stack.")
2068 2068
2069(defvar eieio-pre-method-execution-hooks nil 2069(define-obsolete-variable-alias 'eieio-pre-method-execution-hooks
2070 'eieio-pre-method-execution-functions "24.3")
2071(defvar eieio-pre-method-execution-functions nil
2070 "Abnormal hook run just before an EIEIO method is executed. 2072 "Abnormal hook run just before an EIEIO method is executed.
2071The hook function must accept one argument, the list of forms 2073The hook function must accept one argument, the list of forms
2072about to be executed.") 2074about to be executed.")
@@ -2172,7 +2174,7 @@ This should only be called from a generic function."
2172 (eieiomt-method-list method method-primary nil))) 2174 (eieiomt-method-list method method-primary nil)))
2173 ) 2175 )
2174 2176
2175 (run-hook-with-args 'eieio-pre-method-execution-hooks 2177 (run-hook-with-args 'eieio-pre-method-execution-functions
2176 primarymethodlist) 2178 primarymethodlist)
2177 2179
2178 ;; Now loop through all occurrences forms which we must execute 2180 ;; Now loop through all occurrences forms which we must execute
@@ -2277,7 +2279,7 @@ for this common case to improve performance."
2277 2279
2278 ;; Do the regular implementation here. 2280 ;; Do the regular implementation here.
2279 2281
2280 (run-hook-with-args 'eieio-pre-method-execution-hooks 2282 (run-hook-with-args 'eieio-pre-method-execution-functions
2281 lambdas) 2283 lambdas)
2282 2284
2283 (setq lastval (apply (car lambdas) newargs)) 2285 (setq lastval (apply (car lambdas) newargs))
diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el
index 5a10721387b..e6e89d83b7c 100644
--- a/lisp/eshell/esh-cmd.el
+++ b/lisp/eshell/esh-cmd.el
@@ -484,20 +484,22 @@ implemented via rewriting, rather than as a function."
484 (let ((body (car (last terms)))) 484 (let ((body (car (last terms))))
485 (setcdr (last terms 2) nil) 485 (setcdr (last terms 2) nil)
486 `(let ((for-items 486 `(let ((for-items
487 (append 487 (copy-tree
488 ,@(mapcar 488 (append
489 (lambda (elem) 489 ,@(mapcar
490 (if (listp elem) 490 (lambda (elem)
491 elem 491 (if (listp elem)
492 `(list ,elem))) 492 elem
493 (cdr (cddr terms))))) 493 `(list ,elem)))
494 (eshell-command-body '(nil)) 494 (cdr (cddr terms))))))
495 (eshell-command-body '(nil))
495 (eshell-test-body '(nil))) 496 (eshell-test-body '(nil)))
496 (while (consp for-items) 497 (while (car for-items)
497 (let ((,(intern (cadr terms)) (car for-items))) 498 (let ((,(intern (cadr terms)) (car for-items)))
498 (eshell-protect 499 (eshell-protect
499 ,(eshell-invokify-arg body t))) 500 ,(eshell-invokify-arg body t)))
500 (setq for-items (cdr for-items))) 501 (setcar for-items (cadr for-items))
502 (setcdr for-items (cddr for-items)))
501 (eshell-close-handles 503 (eshell-close-handles
502 eshell-last-command-status 504 eshell-last-command-status
503 (list 'quote eshell-last-command-result)))))) 505 (list 'quote eshell-last-command-result))))))
diff --git a/lisp/faces.el b/lisp/faces.el
index 08aa800c067..f5ef88d08b0 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -2572,6 +2572,12 @@ also the same size as FACE on FRAME, or fail."
2572 (car fonts)) 2572 (car fonts))
2573 (cdr (assq 'font (frame-parameters (selected-frame)))))) 2573 (cdr (assq 'font (frame-parameters (selected-frame))))))
2574 2574
2575(defcustom font-list-limit 100
2576 "This variable is obsolete and has no effect."
2577 :type 'integer
2578 :group 'display)
2579(make-obsolete-variable 'font-list-limit nil "24.3")
2580
2575(provide 'faces) 2581(provide 'faces)
2576 2582
2577;;; faces.el ends here 2583;;; faces.el ends here
diff --git a/lisp/filesets.el b/lisp/filesets.el
index a91d8cf0fcb..7f695cf33dd 100644
--- a/lisp/filesets.el
+++ b/lisp/filesets.el
@@ -403,8 +403,10 @@ Don't forget to check out `filesets-menu-ensure-use-cached'."
403 (sexp :tag "Other" :value nil))) 403 (sexp :tag "Other" :value nil)))
404 :group 'filesets) 404 :group 'filesets)
405 405
406(defcustom filesets-cache-fill-content-hooks nil 406(define-obsolete-variable-alias 'filesets-cache-fill-content-hooks
407 "Hooks to run when writing the contents of filesets' cache file. 407 'filesets-cache-fill-content-hook "24.3")
408(defcustom filesets-cache-fill-content-hook nil
409 "Hook run when writing the contents of filesets' cache file.
408 410
409The hook is called with the cache file as current buffer and the cursor 411The hook is called with the cache file as current buffer and the cursor
410at the last position. I.e. each hook has to make sure that the cursor is 412at the last position. I.e. each hook has to make sure that the cursor is
@@ -2414,7 +2416,7 @@ fileset thinks this is necessary or not."
2414 (when filesets-cache-hostname-flag 2416 (when filesets-cache-hostname-flag
2415 (insert (format "(setq filesets-cache-hostname %S)" (system-name))) 2417 (insert (format "(setq filesets-cache-hostname %S)" (system-name)))
2416 (newline 2)) 2418 (newline 2))
2417 (run-hooks 'filesets-cache-fill-content-hooks) 2419 (run-hooks 'filesets-cache-fill-content-hook)
2418 (write-file filesets-menu-cache-file)) 2420 (write-file filesets-menu-cache-file))
2419 (setq filesets-has-changed-flag nil) 2421 (setq filesets-has-changed-flag nil)
2420 (setq filesets-update-cache-file-flag nil))) 2422 (setq filesets-update-cache-file-flag nil)))
diff --git a/lisp/frame.el b/lisp/frame.el
index b7b61bcc576..7a54efc23e7 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -655,6 +655,8 @@ the new frame according to its own rules."
655 (error "Don't know how to create a frame on window system %s" w)) 655 (error "Don't know how to create a frame on window system %s" w))
656 656
657 (unless (get w 'window-system-initialized) 657 (unless (get w 'window-system-initialized)
658 (unless x-display-name
659 (setq x-display-name display))
658 (funcall (cdr (assq w window-system-initialization-alist))) 660 (funcall (cdr (assq w window-system-initialization-alist)))
659 (put w 'window-system-initialized t)) 661 (put w 'window-system-initialized t))
660 662
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index dade2b4bbe5..8cb53de85fa 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,11 @@
12012-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * nndiary.el (nndiary-request-create-group-functions)
4 (nndiary-request-update-info-functions)
5 (nndiary-request-accept-article-functions):
6 * gnus-start.el (gnus-subscribe-newsgroup-functions): Don't use
7 "-hooks" suffix.
8
12012-10-17 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change) 92012-10-17 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change)
2 10
3 * starttls.el (starttls-extra-arguments): Doc fix. 11 * starttls.el (starttls-extra-arguments): Doc fix.
@@ -110,7 +118,7 @@
110 118
1112012-09-05 Martin Stjernholm <mast@lysator.liu.se> 1192012-09-05 Martin Stjernholm <mast@lysator.liu.se>
112 120
113 * gnus-demon.el (gnus-demon-init): Fixed regression when IDLE is t and 121 * gnus-demon.el (gnus-demon-init): Fix regression when IDLE is t and
114 TIME is set. 122 TIME is set.
115 123
1162012-09-05 Juri Linkov <juri@jurta.org> 1242012-09-05 Juri Linkov <juri@jurta.org>
@@ -571,7 +579,7 @@
571 * gnus.el: Register gnus-registry functions. 579 * gnus.el: Register gnus-registry functions.
572 580
573 * gnus-registry.el (gnus-try-warping-via-registry): 581 * gnus-registry.el (gnus-try-warping-via-registry):
574 Moved here and indent. 582 Move here and indent.
575 583
576 * gnus-int.el (gnus-warp-to-article): 584 * gnus-int.el (gnus-warp-to-article):
577 Check whether the registry is enabled before warping. 585 Check whether the registry is enabled before warping.
@@ -703,7 +711,7 @@
703 (message-multi-smtp-send-mail): Respect the X-Message-SMTP-Method 711 (message-multi-smtp-send-mail): Respect the X-Message-SMTP-Method
704 header to implement multi-SMTP functionality. 712 header to implement multi-SMTP functionality.
705 713
706 * gnus-agent.el (gnus-agent-send-mail-function): Removed. 714 * gnus-agent.el (gnus-agent-send-mail-function): Remove.
707 (gnus-agentize): Don't set it. 715 (gnus-agentize): Don't set it.
708 (gnus-agent-send-mail): Don't use it. 716 (gnus-agent-send-mail): Don't use it.
709 717
@@ -844,8 +852,8 @@
844 852
8452012-06-10 Lars Magne Ingebrigtsen <larsi@gnus.org> 8532012-06-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
846 854
847 * gnus-group.el (gnus-group-get-new-news): Respect 855 * gnus-group.el (gnus-group-get-new-news):
848 `gnus-group-use-permanent-levels', as documented (bug#11638). 856 Respect `gnus-group-use-permanent-levels', as documented (bug#11638).
849 857
8502012-06-10 Dave Abrahams <dave@boostpro.com> 8582012-06-10 Dave Abrahams <dave@boostpro.com>
851 859
@@ -985,7 +993,7 @@
985 (shr-insert): Allow the natural width to be computed for tables again. 993 (shr-insert): Allow the natural width to be computed for tables again.
986 (shr-tag-table-1): Rework how the natural widths are computed by 994 (shr-tag-table-1): Rework how the natural widths are computed by
987 rendering the table a third time. 995 rendering the table a third time.
988 (shr-natural-width): Removed. 996 (shr-natural-width): Remove.
989 (shr-buffer-width): New function. 997 (shr-buffer-width): New function.
990 (shr-expand-newlines): Use it. 998 (shr-expand-newlines): Use it.
991 999
@@ -1396,8 +1404,8 @@
1396 1404
13972012-01-04 Wolfgang Jenkner <wjenkner@inode.at> (tiny change) 14052012-01-04 Wolfgang Jenkner <wjenkner@inode.at> (tiny change)
1398 1406
1399 * gnus-agent.el (gnus-agent-load-local): Recompute 1407 * gnus-agent.el (gnus-agent-load-local):
1400 gnus-agent-article-local on changing method. 1408 Recompute gnus-agent-article-local on changing method.
1401 1409
14022012-01-04 Lars Magne Ingebrigtsen <larsi@gnus.org> 14102012-01-04 Lars Magne Ingebrigtsen <larsi@gnus.org>
1403 1411
@@ -1689,8 +1697,8 @@
1689 1697
16902011-09-27 Daiki Ueno <ueno@unixuser.org> 16982011-09-27 Daiki Ueno <ueno@unixuser.org>
1691 1699
1692 * plstore.el (plstore-select-keys, plstore-encrypt-to): Clarify 1700 * plstore.el (plstore-select-keys, plstore-encrypt-to):
1693 documentation. 1701 Clarify documentation.
1694 1702
16952011-09-27 Lars Magne Ingebrigtsen <larsi@gnus.org> 17032011-09-27 Lars Magne Ingebrigtsen <larsi@gnus.org>
1696 1704
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index 40ee78bb695..eaf17d9e579 100644
--- a/lisp/gnus/gnus-start.el
+++ b/lisp/gnus/gnus-start.el
@@ -291,7 +291,9 @@ claim them."
291 function 291 function
292 (repeat function))) 292 (repeat function)))
293 293
294(defcustom gnus-subscribe-newsgroup-hooks nil 294(define-obsolete-variable-alias 'gnus-subscribe-newsgroup-hooks
295 'gnus-subscribe-newsgroup-functions "24.3")
296(defcustom gnus-subscribe-newsgroup-functions nil
295 "*Hooks run after you subscribe to a new group. 297 "*Hooks run after you subscribe to a new group.
296The hooks will be called with new group's name as argument." 298The hooks will be called with new group's name as argument."
297 :version "22.1" 299 :version "22.1"
@@ -639,7 +641,7 @@ the first newsgroup."
639 gnus-level-killed (gnus-group-entry (or next "dummy.group"))) 641 gnus-level-killed (gnus-group-entry (or next "dummy.group")))
640 (gnus-request-update-group-status newsgroup 'subscribe) 642 (gnus-request-update-group-status newsgroup 'subscribe)
641 (gnus-message 5 "Subscribe newsgroup: %s" newsgroup) 643 (gnus-message 5 "Subscribe newsgroup: %s" newsgroup)
642 (run-hook-with-args 'gnus-subscribe-newsgroup-hooks newsgroup) 644 (run-hook-with-args 'gnus-subscribe-newsgroup-functions newsgroup)
643 t)) 645 t))
644 646
645(defun gnus-read-active-file-p () 647(defun gnus-read-active-file-p ()
diff --git a/lisp/gnus/nndiary.el b/lisp/gnus/nndiary.el
index 8752972c3c8..73dd2921b68 100644
--- a/lisp/gnus/nndiary.el
+++ b/lisp/gnus/nndiary.el
@@ -179,22 +179,28 @@ In order to make this clear, here are some examples:
179 :group 'nndiary) 179 :group 'nndiary)
180 180
181 181
182(defcustom nndiary-request-create-group-hooks nil 182(define-obsolete-variable-alias 'nndiary-request-create-group-hooks
183 "*Hooks to run after `nndiary-request-create-group' is executed. 183 'nndiary-request-create-group-functions "24.3")
184The hooks will be called with the full group name as argument." 184(defcustom nndiary-request-create-group-functions nil
185 "*Hook run after `nndiary-request-create-group' is executed.
186The hook functions will be called with the full group name as argument."
185 :group 'nndiary 187 :group 'nndiary
186 :type 'hook) 188 :type 'hook)
187 189
188(defcustom nndiary-request-update-info-hooks nil 190(define-obsolete-variable-alias 'nndiary-request-update-info-hooks
189 "*Hooks to run after `nndiary-request-update-info-group' is executed. 191 'nndiary-request-update-info-functions "24.3")
190The hooks will be called with the full group name as argument." 192(defcustom nndiary-request-update-info-functions nil
193 "*Hook run after `nndiary-request-update-info-group' is executed.
194The hook functions will be called with the full group name as argument."
191 :group 'nndiary 195 :group 'nndiary
192 :type 'hook) 196 :type 'hook)
193 197
194(defcustom nndiary-request-accept-article-hooks nil 198(define-obsolete-variable-alias 'nndiary-request-accept-article-hooks
195 "*Hooks to run before accepting an article. 199 'nndiary-request-accept-article-functions "24.3")
200(defcustom nndiary-request-accept-article-functions nil
201 "*Hook run before accepting an article.
196Executed near the beginning of `nndiary-request-accept-article'. 202Executed near the beginning of `nndiary-request-accept-article'.
197The hooks will be called with the article in the current buffer." 203The hook functions will be called with the article in the current buffer."
198 :group 'nndiary 204 :group 'nndiary
199 :type 'hook) 205 :type 'hook)
200 206
@@ -541,7 +547,7 @@ all. This may very well take some time.")
541 (setcar active (apply 'min articles)) 547 (setcar active (apply 'min articles))
542 (setcdr active (apply 'max articles)))) 548 (setcdr active (apply 'max articles))))
543 (nnmail-save-active nndiary-group-alist nndiary-active-file) 549 (nnmail-save-active nndiary-group-alist nndiary-active-file)
544 (run-hook-with-args 'nndiary-request-create-group-hooks 550 (run-hook-with-args 'nndiary-request-create-group-functions
545 (gnus-group-prefixed-name group 551 (gnus-group-prefixed-name group
546 (list "nndiary" server))) 552 (list "nndiary" server)))
547 t)) 553 t))
@@ -633,7 +639,7 @@ all. This may very well take some time.")
633(deffoo nndiary-request-accept-article (group &optional server last) 639(deffoo nndiary-request-accept-article (group &optional server last)
634 (nndiary-possibly-change-directory group server) 640 (nndiary-possibly-change-directory group server)
635 (nnmail-check-syntax) 641 (nnmail-check-syntax)
636 (run-hooks 'nndiary-request-accept-article-hooks) 642 (run-hooks 'nndiary-request-accept-article-functions)
637 (when (nndiary-schedule) 643 (when (nndiary-schedule)
638 (let (result) 644 (let (result)
639 (when nnmail-cache-accepted-message-ids 645 (when nnmail-cache-accepted-message-ids
@@ -804,7 +810,7 @@ all. This may very well take some time.")
804 (gnus-info-set-read info (gnus-update-read-articles 810 (gnus-info-set-read info (gnus-update-read-articles
805 (gnus-info-group info) unread t))) 811 (gnus-info-group info) unread t)))
806 )) 812 ))
807 (run-hook-with-args 'nndiary-request-update-info-hooks 813 (run-hook-with-args 'nndiary-request-update-info-functions
808 (gnus-info-group info)) 814 (gnus-info-group info))
809 t)) 815 t))
810 816
diff --git a/lisp/htmlfontify.el b/lisp/htmlfontify.el
index b0bc5b6b3b3..a1853a6e04b 100644
--- a/lisp/htmlfontify.el
+++ b/lisp/htmlfontify.el
@@ -249,7 +249,8 @@ when not running under a window system."
249 :tag "init-kludge-hooks" 249 :tag "init-kludge-hooks"
250 :type '(hook)) 250 :type '(hook))
251 251
252(defcustom hfy-post-html-hooks nil 252(define-obsolete-variable-alias 'hfy-post-html-hooks 'hfy-post-html-hook "24.3")
253(defcustom hfy-post-html-hook nil
253 "List of functions to call after creating and filling the HTML buffer. 254 "List of functions to call after creating and filling the HTML buffer.
254These functions will be called with the HTML buffer as the current buffer." 255These functions will be called with the HTML buffer as the current buffer."
255 :group 'htmlfontify 256 :group 'htmlfontify
@@ -1786,7 +1787,7 @@ FILE, if set, is the file name."
1786 ;;(message "inserting footer") 1787 ;;(message "inserting footer")
1787 (insert (funcall hfy-page-footer file))) 1788 (insert (funcall hfy-page-footer file)))
1788 ;; call any post html-generation hooks: 1789 ;; call any post html-generation hooks:
1789 (run-hooks 'hfy-post-html-hooks) 1790 (run-hooks 'hfy-post-html-hook)
1790 ;; return the html buffer 1791 ;; return the html buffer
1791 (set-buffer-modified-p nil) 1792 (set-buffer-modified-p nil)
1792 html-buffer)) 1793 html-buffer))
diff --git a/lisp/image.el b/lisp/image.el
index 72dc654757a..aef44fc3701 100644
--- a/lisp/image.el
+++ b/lisp/image.el
@@ -308,8 +308,17 @@ be determined."
308 "Determine the type of image file FILE from its name. 308 "Determine the type of image file FILE from its name.
309Value is a symbol specifying the image type, or nil if type cannot 309Value is a symbol specifying the image type, or nil if type cannot
310be determined." 310be determined."
311 (assoc-default file image-type-file-name-regexps 'string-match-p)) 311 (let (type first)
312 312 (or
313 (catch 'found
314 (dolist (elem image-type-file-name-regexps)
315 (when (string-match-p (car elem) file)
316 (setq type (cdr elem))
317 (or first (setq first type))
318 (if (image-type-available-p type)
319 (throw 'found type)))))
320 ;; If nothing seems to be supported, return the first type that matched.
321 first)))
313 322
314;;;###autoload 323;;;###autoload
315(defun image-type (source &optional type data-p) 324(defun image-type (source &optional type data-p)
@@ -798,7 +807,7 @@ to enable all types that ImageMagick supports.
798 807
799The variable `imagemagick-types-inhibit' overrides this variable. 808The variable `imagemagick-types-inhibit' overrides this variable.
800 809
801If you change this without outside of Customize, you must call 810If you change this without using customize, you must call
802`imagemagick-register-types' afterwards. 811`imagemagick-register-types' afterwards.
803 812
804If Emacs is compiled without ImageMagick support, this variable 813If Emacs is compiled without ImageMagick support, this variable
diff --git a/lisp/loadup.el b/lisp/loadup.el
index e0f5c6265b9..e5f2cb014d3 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -38,7 +38,8 @@
38;; doc strings in the dumped Emacs.) Because of this: 38;; doc strings in the dumped Emacs.) Because of this:
39 39
40;; ii) If the file is loaded uncompiled, it should (where possible) 40;; ii) If the file is loaded uncompiled, it should (where possible)
41;; obey the doc-string conventions expected by make-docfile. 41;; obey the doc-string conventions expected by make-docfile. It
42;; should also be added to the uncompiled[] list in make-docfile.c.
42 43
43;;; Code: 44;;; Code:
44 45
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el
index 331754fb1b5..afa13fe4e04 100644
--- a/lisp/mail/sendmail.el
+++ b/lisp/mail/sendmail.el
@@ -243,15 +243,14 @@ Used by `mail-yank-original' via `mail-indent-citation'."
243 :type 'integer 243 :type 'integer
244 :group 'sendmail) 244 :group 'sendmail)
245 245
246;; FIXME make it really obsolete.
247(defvar mail-yank-hooks nil 246(defvar mail-yank-hooks nil
248 "Obsolete hook for modifying a citation just inserted in the mail buffer. 247 "Obsolete hook for modifying a citation just inserted in the mail buffer.
249Each hook function can find the citation between (point) and (mark t). 248Each hook function can find the citation between (point) and (mark t).
250And each hook function should leave point and mark around the citation 249And each hook function should leave point and mark around the citation
251text as modified. 250text as modified.
252
253This is a normal hook, misnamed for historical reasons. 251This is a normal hook, misnamed for historical reasons.
254It is semi-obsolete and mail agents should no longer use it.") 252It is obsolete and mail agents should no longer use it.")
253(make-obsolete-variable 'mail-yank-hooks 'mail-citation-hook "19.34")
255 254
256;;;###autoload 255;;;###autoload
257(defcustom mail-citation-hook nil 256(defcustom mail-citation-hook nil
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog
index 6eedef1980e..adc8707f011 100644
--- a/lisp/mh-e/ChangeLog
+++ b/lisp/mh-e/ChangeLog
@@ -1,3 +1,7 @@
12012-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * mh-letter.el (mh-yank-hooks): Use make-obsolete-variable.
4
12012-04-25 Stefan Monnier <monnier@iro.umontreal.ca> 52012-04-25 Stefan Monnier <monnier@iro.umontreal.ca>
2 6
3 * mh-utils.el (minibuffer-completing-file-name): Don't declare, unused. 7 * mh-utils.el (minibuffer-completing-file-name): Don't declare, unused.
diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el
index 2723fb5e684..705c92b0b4c 100644
--- a/lisp/mh-e/mh-e.el
+++ b/lisp/mh-e/mh-e.el
@@ -3189,7 +3189,9 @@ function used to insert the signature with
3189 :group 'mh-letter 3189 :group 'mh-letter
3190 :package-version '(MH-E . "8.0")) 3190 :package-version '(MH-E . "8.0"))
3191 3191
3192(defcustom-mh mh-kill-folder-suppress-prompt-hooks '(mh-search-p) 3192(define-obsolete-variable-alias 'mh-kill-folder-suppress-prompt-hooks
3193 'mh-kill-folder-suppress-prompt-functions "24.3")
3194(defcustom-mh mh-kill-folder-suppress-prompt-functions '(mh-search-p)
3193 "Abnormal hook run at the beginning of \\<mh-folder-mode-map>\\[mh-kill-folder]. 3195 "Abnormal hook run at the beginning of \\<mh-folder-mode-map>\\[mh-kill-folder].
3194 3196
3195The hook functions are called with no arguments and should return 3197The hook functions are called with no arguments and should return
diff --git a/lisp/mh-e/mh-letter.el b/lisp/mh-e/mh-letter.el
index 8aed1873348..490bfc07560 100644
--- a/lisp/mh-e/mh-letter.el
+++ b/lisp/mh-e/mh-letter.el
@@ -66,8 +66,9 @@ Each hook function can find the citation between point and mark.
66And each hook function should leave point and mark around the 66And each hook function should leave point and mark around the
67citation text as modified. 67citation text as modified.
68 68
69This is a normal hook, misnamed for historical reasons. It is 69This is a normal hook, misnamed for historical reasons.
70semi-obsolete and is only used if `mail-citation-hook' is nil.") 70It is obsolete and is only used if `mail-citation-hook' is nil.")
71(make-obsolete-variable 'mh-yank-hooks 'mail-citation-hook "19.34")
71 72
72 73
73 74
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index f464b42182d..f865a0269d4 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -1134,7 +1134,23 @@ Repeated uses step through the possible completions."
1134 ;; through the previous possible completions. 1134 ;; through the previous possible completions.
1135 (let ((last (last all))) 1135 (let ((last (last all)))
1136 (setcdr last (cons (car all) (cdr last))) 1136 (setcdr last (cons (car all) (cdr last)))
1137 (completion--cache-all-sorted-completions (cdr all))))))) 1137 (completion--cache-all-sorted-completions (cdr all)))
1138 ;; Make sure repeated uses cycle, even though completion--done might
1139 ;; have added a space or something that moved us outside of the field.
1140 ;; (bug#12221).
1141 (let* ((table minibuffer-completion-table)
1142 (pred minibuffer-completion-predicate)
1143 (extra-prop completion-extra-properties)
1144 (cmd
1145 (lambda () "Cycle through the possible completions."
1146 (interactive)
1147 (let ((completion-extra-properties extra-prop))
1148 (completion-in-region start (point) table pred)))))
1149 (set-temporary-overlay-map
1150 (let ((map (make-sparse-keymap)))
1151 (define-key map [remap completion-at-point] cmd)
1152 (define-key map (vector last-command-event) cmd)
1153 map)))))))
1138 1154
1139(defvar minibuffer-confirm-exit-commands 1155(defvar minibuffer-confirm-exit-commands
1140 '(completion-at-point minibuffer-complete 1156 '(completion-at-point minibuffer-complete
@@ -1557,7 +1573,6 @@ variables.")
1557 (let* ((exit-fun (plist-get completion-extra-properties :exit-function)) 1573 (let* ((exit-fun (plist-get completion-extra-properties :exit-function))
1558 (pre-msg (and exit-fun (current-message)))) 1574 (pre-msg (and exit-fun (current-message))))
1559 (cl-assert (memq finished '(exact sole finished unknown))) 1575 (cl-assert (memq finished '(exact sole finished unknown)))
1560 ;; FIXME: exit-fun should receive `finished' as a parameter.
1561 (when exit-fun 1576 (when exit-fun
1562 (when (eq finished 'unknown) 1577 (when (eq finished 'unknown)
1563 (setq finished 1578 (setq finished
diff --git a/lisp/net/dbus.el b/lisp/net/dbus.el
index 772a0a9c626..c95e901c39d 100644
--- a/lisp/net/dbus.el
+++ b/lisp/net/dbus.el
@@ -152,7 +152,9 @@ Otherwise, return result of last form in BODY, or all other errors."
152 (dbus-error (when dbus-debug (signal (car err) (cdr err)))))) 152 (dbus-error (when dbus-debug (signal (car err) (cdr err))))))
153(font-lock-add-keywords 'emacs-lisp-mode '("\\<dbus-ignore-errors\\>")) 153(font-lock-add-keywords 'emacs-lisp-mode '("\\<dbus-ignore-errors\\>"))
154 154
155(defvar dbus-event-error-hooks nil 155(define-obsolete-variable-alias 'dbus-event-error-hooks
156 'dbus-event-error-functions "24.3")
157(defvar dbus-event-error-functions nil
156 "Functions to be called when a D-Bus error happens in the event handler. 158 "Functions to be called when a D-Bus error happens in the event handler.
157Every function must accept two arguments, the event and the error variable 159Every function must accept two arguments, the event and the error variable
158caught in `condition-case' by `dbus-error'.") 160caught in `condition-case' by `dbus-error'.")
@@ -947,7 +949,7 @@ If the HANDLER returns a `dbus-error', it is propagated as return message."
947 (dbus-method-error-internal 949 (dbus-method-error-internal
948 (nth 1 event) (nth 4 event) (nth 3 event) (cadr err)))) 950 (nth 1 event) (nth 4 event) (nth 3 event) (cadr err))))
949 ;; Propagate D-Bus error messages. 951 ;; Propagate D-Bus error messages.
950 (run-hook-with-args 'dbus-event-error-hooks event err) 952 (run-hook-with-args 'dbus-event-error-functions event err)
951 (when (or dbus-debug (= dbus-message-type-error (nth 2 event))) 953 (when (or dbus-debug (= dbus-message-type-error (nth 2 event)))
952 (signal (car err) (cdr err)))))) 954 (signal (car err) (cdr err))))))
953 955
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index dd345630b9b..e9828c5f813 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -300,7 +300,9 @@ See `rcirc-dim-nick' face."
300 :type '(repeat string) 300 :type '(repeat string)
301 :group 'rcirc) 301 :group 'rcirc)
302 302
303(defcustom rcirc-print-hooks nil 303(define-obsolete-variable-alias 'rcirc-print-hooks
304 'rcirc-print-functions "24.3")
305(defcustom rcirc-print-functions nil
304 "Hook run after text is printed. 306 "Hook run after text is printed.
305Called with 5 arguments, PROCESS, SENDER, RESPONSE, TARGET and TEXT." 307Called with 5 arguments, PROCESS, SENDER, RESPONSE, TARGET and TEXT."
306 :type 'hook 308 :type 'hook
@@ -647,7 +649,9 @@ is non-nil."
647 "] " 649 "] "
648 text))))) 650 text)))))
649 651
650(defvar rcirc-sentinel-hooks nil 652(define-obsolete-variable-alias 'rcirc-sentinel-hooks
653 'rcirc-sentinel-functions "24.3")
654(defvar rcirc-sentinel-functions nil
651 "Hook functions called when the process sentinel is called. 655 "Hook functions called when the process sentinel is called.
652Functions are called with PROCESS and SENTINEL arguments.") 656Functions are called with PROCESS and SENTINEL arguments.")
653 657
@@ -664,7 +668,7 @@ Functions are called with PROCESS and SENTINEL arguments.")
664 sentinel 668 sentinel
665 (process-status process)) (not rcirc-target)) 669 (process-status process)) (not rcirc-target))
666 (rcirc-disconnect-buffer))) 670 (rcirc-disconnect-buffer)))
667 (run-hook-with-args 'rcirc-sentinel-hooks process sentinel)))) 671 (run-hook-with-args 'rcirc-sentinel-functions process sentinel))))
668 672
669(defun rcirc-disconnect-buffer (&optional buffer) 673(defun rcirc-disconnect-buffer (&optional buffer)
670 (with-current-buffer (or buffer (current-buffer)) 674 (with-current-buffer (or buffer (current-buffer))
@@ -684,7 +688,9 @@ Functions are called with PROCESS and SENTINEL arguments.")
684 (process-list)) 688 (process-list))
685 ps)) 689 ps))
686 690
687(defvar rcirc-receive-message-hooks nil 691(define-obsolete-variable-alias 'rcirc-receive-message-hooks
692 'rcirc-receive-message-functions "24.3")
693(defvar rcirc-receive-message-functions nil
688 "Hook functions run when a message is received from server. 694 "Hook functions run when a message is received from server.
689Function is called with PROCESS, COMMAND, SENDER, ARGS and LINE.") 695Function is called with PROCESS, COMMAND, SENDER, ARGS and LINE.")
690(defun rcirc-filter (process output) 696(defun rcirc-filter (process output)
@@ -738,7 +744,7 @@ Function is called with PROCESS, COMMAND, SENDER, ARGS and LINE.")
738 (if (not (fboundp handler)) 744 (if (not (fboundp handler))
739 (rcirc-handler-generic process cmd sender args text) 745 (rcirc-handler-generic process cmd sender args text)
740 (funcall handler process sender args text)) 746 (funcall handler process sender args text))
741 (run-hook-with-args 'rcirc-receive-message-hooks 747 (run-hook-with-args 'rcirc-receive-message-functions
742 process cmd sender args text))) 748 process cmd sender args text)))
743 (message "UNHANDLED: %s" text))) 749 (message "UNHANDLED: %s" text)))
744 750
@@ -1625,7 +1631,7 @@ record activity."
1625 (rcirc-log process sender response target text)) 1631 (rcirc-log process sender response target text))
1626 1632
1627 (sit-for 0) ; displayed text before hook 1633 (sit-for 0) ; displayed text before hook
1628 (run-hook-with-args 'rcirc-print-hooks 1634 (run-hook-with-args 'rcirc-print-functions
1629 process sender response target text))))) 1635 process sender response target text)))))
1630 1636
1631(defun rcirc-generate-log-filename (process target) 1637(defun rcirc-generate-log-filename (process target)
@@ -1927,7 +1933,9 @@ With prefix ARG, go to the next low priority buffer with activity."
1927 (key-description (this-command-keys)) 1933 (key-description (this-command-keys))
1928 " for low priority activity.")))))))) 1934 " for low priority activity."))))))))
1929 1935
1930(defvar rcirc-activity-hooks nil 1936(define-obsolete-variable-alias 'rcirc-activity-hooks
1937 'rcirc-activity-functions "24.3")
1938(defvar rcirc-activity-functions nil
1931 "Hook to be run when there is channel activity. 1939 "Hook to be run when there is channel activity.
1932 1940
1933Functions are called with a single argument, the buffer with the 1941Functions are called with a single argument, the buffer with the
@@ -1950,7 +1958,7 @@ activity. Only run if the buffer is not visible and
1950 (unless (and (equal rcirc-activity old-activity) 1958 (unless (and (equal rcirc-activity old-activity)
1951 (member type old-types)) 1959 (member type old-types))
1952 (rcirc-update-activity-string))))) 1960 (rcirc-update-activity-string)))))
1953 (run-hook-with-args 'rcirc-activity-hooks buffer)) 1961 (run-hook-with-args 'rcirc-activity-functions buffer))
1954 1962
1955(defun rcirc-clear-activity (buffer) 1963(defun rcirc-clear-activity (buffer)
1956 "Clear the BUFFER activity." 1964 "Clear the BUFFER activity."
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el
index 567f8f2969a..f52129919cc 100644
--- a/lisp/net/tramp-smb.el
+++ b/lisp/net/tramp-smb.el
@@ -1677,11 +1677,11 @@ If ARGUMENT is non-nil, use it as argument for
1677 (tramp-set-connection-property 1677 (tramp-set-connection-property
1678 vec "smbserver-version" smbserver-version)))) 1678 vec "smbserver-version" smbserver-version))))
1679 1679
1680 ;; Set chunksize. Otherwise, `tramp-send-string' might 1680 ;; Set chunksize to 1. smbclient reads its input
1681 ;; try it itself. 1681 ;; character by character; if we send the string
1682 ;; at once, it is read painfully slow.
1682 (tramp-set-connection-property p "smb-share" share) 1683 (tramp-set-connection-property p "smb-share" share)
1683 (tramp-set-connection-property 1684 (tramp-set-connection-property p "chunksize" 1))
1684 p "chunksize" tramp-chunksize))
1685 1685
1686 ;; Check for the error reason. If it was due to wrong 1686 ;; Check for the error reason. If it was due to wrong
1687 ;; password, reestablish the connection. We cannot 1687 ;; password, reestablish the connection. We cannot
@@ -1717,7 +1717,7 @@ Returns nil if an error message has appeared."
1717 (while (and (not found) (not err) (memq (process-status p) '(run open))) 1717 (while (and (not found) (not err) (memq (process-status p) '(run open)))
1718 1718
1719 ;; Accept pending output. 1719 ;; Accept pending output.
1720 (tramp-accept-process-output p) 1720 (tramp-accept-process-output p 0.1)
1721 1721
1722 ;; Search for prompt. 1722 ;; Search for prompt.
1723 (goto-char (point-min)) 1723 (goto-char (point-min))
@@ -1731,7 +1731,7 @@ Returns nil if an error message has appeared."
1731 (while (and (not found) (memq (process-status p) '(run open))) 1731 (while (and (not found) (memq (process-status p) '(run open)))
1732 1732
1733 ;; Accept pending output. 1733 ;; Accept pending output.
1734 (tramp-accept-process-output p) 1734 (tramp-accept-process-output p 0.1)
1735 1735
1736 ;; Search for prompt. 1736 ;; Search for prompt.
1737 (goto-char (point-min)) 1737 (goto-char (point-min))
diff --git a/lisp/newcomment.el b/lisp/newcomment.el
index a754c89c4ae..2ddfb2439af 100644
--- a/lisp/newcomment.el
+++ b/lisp/newcomment.el
@@ -24,7 +24,13 @@
24 24
25;;; Commentary: 25;;; Commentary:
26 26
27;; A replacement for simple.el's comment-related functions. 27;; This library contains functions and variables for commenting and
28;; uncommenting source code.
29
30;; Prior to calling any `comment-*' function, you should ensure that
31;; `comment-normalize-vars' is first called to set up the appropriate
32;; variables; except for the `comment-*' commands, which call
33;; `comment-normalize-vars' automatically as a subroutine.
28 34
29;;; Bugs: 35;;; Bugs:
30 36
@@ -326,10 +332,11 @@ terminated by the end of line (i.e. `comment-end' is empty)."
326 332
327;;;###autoload 333;;;###autoload
328(defun comment-normalize-vars (&optional noerror) 334(defun comment-normalize-vars (&optional noerror)
329 "Check and setup the variables needed by other commenting functions. 335 "Check and set up variables needed by other commenting functions.
330Any command calling functions from newcomment.el should call this function 336All the `comment-*' commands call this function to set up various
331before any other, so the rest of the code can assume that the variables are 337variables, like `comment-start', to ensure that the commenting
332properly set." 338functions work correctly. Lisp callers of any other `comment-*'
339function should first call this function explicitly."
333 (unless (and (not comment-start) noerror) 340 (unless (and (not comment-start) noerror)
334 (unless comment-start 341 (unless comment-start
335 (let ((cs (read-string "No comment syntax is defined. Use: "))) 342 (let ((cs (read-string "No comment syntax is defined. Use: ")))
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index 2a000957589..50eaebe4dec 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -1703,7 +1703,9 @@ Key bindings:
1703 (message "Using CC Mode version %s" c-version) 1703 (message "Using CC Mode version %s" c-version)
1704 (c-keep-region-active)) 1704 (c-keep-region-active))
1705 1705
1706(defvar c-prepare-bug-report-hooks nil) 1706(define-obsolete-variable-alias 'c-prepare-bug-report-hooks
1707 'c-prepare-bug-report-hook "24.3")
1708(defvar c-prepare-bug-report-hook nil)
1707 1709
1708;; Dynamic variables used by reporter. 1710;; Dynamic variables used by reporter.
1709(defvar reporter-prompt-for-summary-p) 1711(defvar reporter-prompt-for-summary-p)
@@ -1770,7 +1772,7 @@ Key bindings:
1770 lookup-syntax-properties)) 1772 lookup-syntax-properties))
1771 vars) 1773 vars)
1772 (lambda () 1774 (lambda ()
1773 (run-hooks 'c-prepare-bug-report-hooks) 1775 (run-hooks 'c-prepare-bug-report-hook)
1774 (insert (format "Buffer Style: %s\nc-emacs-features: %s\n" 1776 (insert (format "Buffer Style: %s\nc-emacs-features: %s\n"
1775 style c-features))))))) 1777 style c-features)))))))
1776 1778
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index 26d4a399c2d..2614af9ffa4 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -1535,10 +1535,11 @@ if ARG is omitted or nil."
1535 (error "Invalid file-name")) 1535 (error "Invalid file-name"))
1536 (or prefix 1536 (or prefix
1537 (setq prefix "flymake")) 1537 (setq prefix "flymake"))
1538 (let* ((temp-name (concat (file-name-sans-extension file-name) 1538 (let* ((ext (file-name-extension file-name))
1539 "_" prefix 1539 (temp-name (file-truename
1540 (and (file-name-extension file-name) 1540 (concat (file-name-sans-extension file-name)
1541 (concat "." (file-name-extension file-name)))))) 1541 "_" prefix
1542 (and ext (concat "." ext))))))
1542 (flymake-log 3 "create-temp-inplace: file=%s temp=%s" file-name temp-name) 1543 (flymake-log 3 "create-temp-inplace: file=%s temp=%s" file-name temp-name)
1543 temp-name)) 1544 temp-name))
1544 1545
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el
index 4819149bdf6..c2ce12b6ad4 100644
--- a/lisp/progmodes/which-func.el
+++ b/lisp/progmodes/which-func.el
@@ -182,7 +182,8 @@ and you want to simplify them for the mode line
182(defconst which-func-current 182(defconst which-func-current
183 '(:eval (replace-regexp-in-string 183 '(:eval (replace-regexp-in-string
184 "%" "%%" 184 "%" "%%"
185 (gethash (selected-window) which-func-table which-func-unknown)))) 185 (or (gethash (selected-window) which-func-table)
186 which-func-unknown))))
186;;;###autoload (put 'which-func-current 'risky-local-variable t) 187;;;###autoload (put 'which-func-current 'risky-local-variable t)
187 188
188(defvar which-func-mode nil 189(defvar which-func-mode nil
diff --git a/lisp/startup.el b/lisp/startup.el
index bd75abe5b35..56281a6b164 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -971,7 +971,6 @@ Amongst another things, it parses the command-line arguments."
971 (not (eq 0 (cdr tool-bar-lines))))))) 971 (not (eq 0 (cdr tool-bar-lines)))))))
972 972
973 (let ((old-scalable-fonts-allowed scalable-fonts-allowed) 973 (let ((old-scalable-fonts-allowed scalable-fonts-allowed)
974 (old-font-list-limit font-list-limit)
975 (old-face-ignored-fonts face-ignored-fonts)) 974 (old-face-ignored-fonts face-ignored-fonts))
976 975
977 ;; Run the site-start library if it exists. The point of this file is 976 ;; Run the site-start library if it exists. The point of this file is
@@ -1162,7 +1161,6 @@ the `--debug-init' option to view a complete error backtrace."
1162 ;; face realization, clear the face cache so that new faces will 1161 ;; face realization, clear the face cache so that new faces will
1163 ;; be realized. 1162 ;; be realized.
1164 (unless (and (eq scalable-fonts-allowed old-scalable-fonts-allowed) 1163 (unless (and (eq scalable-fonts-allowed old-scalable-fonts-allowed)
1165 (eq font-list-limit old-font-list-limit)
1166 (eq face-ignored-fonts old-face-ignored-fonts)) 1164 (eq face-ignored-fonts old-face-ignored-fonts))
1167 (clear-face-cache))) 1165 (clear-face-cache)))
1168 1166
diff --git a/lisp/subr.el b/lisp/subr.el
index ec2d16e6529..94012fc47de 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -1260,12 +1260,10 @@ is converted into a string by expressing it in decimal."
1260(define-obsolete-variable-alias 'executing-macro 'executing-kbd-macro 1260(define-obsolete-variable-alias 'executing-macro 'executing-kbd-macro
1261 "before 19.34") 1261 "before 19.34")
1262 1262
1263(defvaralias 'x-lost-selection-hooks 'x-lost-selection-functions) 1263(define-obsolete-variable-alias 'x-lost-selection-hooks
1264(make-obsolete-variable 'x-lost-selection-hooks 1264 'x-lost-selection-functions "22.1")
1265 'x-lost-selection-functions "22.1") 1265(define-obsolete-variable-alias 'x-sent-selection-hooks
1266(defvaralias 'x-sent-selection-hooks 'x-sent-selection-functions) 1266 'x-sent-selection-functions "22.1")
1267(make-obsolete-variable 'x-sent-selection-hooks
1268 'x-sent-selection-functions "22.1")
1269 1267
1270;; This was introduced in 21.4 for pre-unicode unification. That 1268;; This was introduced in 21.4 for pre-unicode unification. That
1271;; usage was rendered obsolete in 23.1 which uses Unicode internally. 1269;; usage was rendered obsolete in 23.1 which uses Unicode internally.
@@ -3151,7 +3149,7 @@ in which case `save-window-excursion' cannot help."
3151 (unwind-protect (progn ,@body) 3149 (unwind-protect (progn ,@body)
3152 (set-window-configuration ,c))))) 3150 (set-window-configuration ,c)))))
3153 3151
3154(defun temp-output-buffer-show (buffer) 3152(defun internal-temp-output-buffer-show (buffer)
3155 "Internal function for `with-output-to-temp-buffer'." 3153 "Internal function for `with-output-to-temp-buffer'."
3156 (with-current-buffer buffer 3154 (with-current-buffer buffer
3157 (set-buffer-modified-p nil) 3155 (set-buffer-modified-p nil)
@@ -3235,7 +3233,7 @@ if it uses `temp-buffer-show-function'."
3235 (run-hooks 'temp-buffer-setup-hook))))) 3233 (run-hooks 'temp-buffer-setup-hook)))))
3236 (standard-output ,buf)) 3234 (standard-output ,buf))
3237 (prog1 (progn ,@body) 3235 (prog1 (progn ,@body)
3238 (temp-output-buffer-show ,buf))))) 3236 (internal-temp-output-buffer-show ,buf)))))
3239 3237
3240(defmacro with-temp-file (file &rest body) 3238(defmacro with-temp-file (file &rest body)
3241 "Create a new buffer, evaluate BODY there, and write the buffer to FILE. 3239 "Create a new buffer, evaluate BODY there, and write the buffer to FILE.
diff --git a/lisp/term/sun.el b/lisp/term/sun.el
index 4bd22c1d8da..dfe7a63ac1b 100644
--- a/lisp/term/sun.el
+++ b/lisp/term/sun.el
@@ -123,6 +123,7 @@
123 123
124(defvar sun-raw-prefix-hooks nil 124(defvar sun-raw-prefix-hooks nil
125 "List of forms to evaluate after setting sun-raw-prefix.") 125 "List of forms to evaluate after setting sun-raw-prefix.")
126(make-obsolete-variable 'sun-raw-prefix-hooks 'term-setup-hook "21.1")
126 127
127 128
128 129
diff --git a/lisp/vc/ediff-mult.el b/lisp/vc/ediff-mult.el
index 9e6f5769c8f..5c471664fdc 100644
--- a/lisp/vc/ediff-mult.el
+++ b/lisp/vc/ediff-mult.el
@@ -217,8 +217,9 @@ This can be toggled with `ediff-toggle-filename-truncation'."
217 :type 'hook 217 :type 'hook
218 :group 'ediff-mult) 218 :group 'ediff-mult)
219 219
220(defcustom ediff-before-session-group-setup-hooks nil 220(defcustom ediff-before-session-group-setup-hooks
221 "Hooks to run before Ediff arranges the window for group-level operations. 221 nil ;FIXME: Bad name (should be -hook or -functions) and never run??
222 "Hook run before Ediff arranges the window for group-level operations.
222It is used by commands such as `ediff-directories'. 223It is used by commands such as `ediff-directories'.
223This hook can be used to save the previous window config, which can be restored 224This hook can be used to save the previous window config, which can be restored
224on `ediff-quit', `ediff-suspend', or `ediff-quit-session-group-hook'." 225on `ediff-quit', `ediff-suspend', or `ediff-quit-session-group-hook'."
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 2da721b41d8..a909aca5bca 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -1584,21 +1584,21 @@ Return t if the buffer had changes, nil otherwise."
1584 (let ((vc-disable-async-diff (not async))) 1584 (let ((vc-disable-async-diff (not async)))
1585 (vc-call-backend (car vc-fileset) 'diff files rev1 rev2 buffer)) 1585 (vc-call-backend (car vc-fileset) 'diff files rev1 rev2 buffer))
1586 (set-buffer buffer) 1586 (set-buffer buffer)
1587 (diff-mode)
1588 (set (make-local-variable 'diff-vc-backend) (car vc-fileset))
1589 (set (make-local-variable 'revert-buffer-function)
1590 `(lambda (ignore-auto noconfirm)
1591 (vc-diff-internal ,async ',vc-fileset ,rev1 ,rev2 ,verbose)))
1592 ;; Make the *vc-diff* buffer read only, the diff-mode key
1593 ;; bindings are nicer for read only buffers. pcl-cvs does the
1594 ;; same thing.
1595 (setq buffer-read-only t)
1587 (if (and (zerop (buffer-size)) 1596 (if (and (zerop (buffer-size))
1588 (not (get-buffer-process (current-buffer)))) 1597 (not (get-buffer-process (current-buffer))))
1589 ;; Treat this case specially so as not to pop the buffer. 1598 ;; Treat this case specially so as not to pop the buffer.
1590 (progn 1599 (progn
1591 (message "%s" (cdr messages)) 1600 (message "%s" (cdr messages))
1592 nil) 1601 nil)
1593 (diff-mode)
1594 (set (make-local-variable 'diff-vc-backend) (car vc-fileset))
1595 (set (make-local-variable 'revert-buffer-function)
1596 `(lambda (ignore-auto noconfirm)
1597 (vc-diff-internal ,async ',vc-fileset ,rev1 ,rev2 ,verbose)))
1598 ;; Make the *vc-diff* buffer read only, the diff-mode key
1599 ;; bindings are nicer for read only buffers. pcl-cvs does the
1600 ;; same thing.
1601 (setq buffer-read-only t)
1602 ;; Display the buffer, but at the end because it can change point. 1602 ;; Display the buffer, but at the end because it can change point.
1603 (pop-to-buffer (current-buffer)) 1603 (pop-to-buffer (current-buffer))
1604 ;; The diff process may finish early, so call `vc-diff-finish' 1604 ;; The diff process may finish early, so call `vc-diff-finish'
diff --git a/lisp/window.el b/lisp/window.el
index a17e0adcdfe..fa7b08375ce 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -5828,7 +5828,7 @@ buffer with the name BUFFER-OR-NAME and return that buffer."
5828 "If non-nil, `switch-to-buffer' tries to preserve `window-point'. 5828 "If non-nil, `switch-to-buffer' tries to preserve `window-point'.
5829If this is nil, `switch-to-buffer' displays the buffer at that 5829If this is nil, `switch-to-buffer' displays the buffer at that
5830buffer's `point'. If this is `already-displayed', it tries to 5830buffer's `point'. If this is `already-displayed', it tries to
5831display the buffer at its pevious position in the selected 5831display the buffer at its previous position in the selected
5832window, provided the buffer is currently displayed in some other 5832window, provided the buffer is currently displayed in some other
5833window on any visible or iconified frame. If this is t, it 5833window on any visible or iconified frame. If this is t, it
5834unconditionally tries to display the buffer at its previous 5834unconditionally tries to display the buffer at its previous