aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorJoakim Verona2012-02-15 15:12:49 +0100
committerJoakim Verona2012-02-15 15:12:49 +0100
commit02db17e53bf46c91b2cb8ee33b43d8ae252a1681 (patch)
treefcafa961e884648e15524130f1dbca55dc7093d0 /lisp
parent736ab04e2752e7c3c5b5070a0d62279dcfb12b27 (diff)
parent1deeb569b1247db4c0b2eea4906a9e53e5ee7e99 (diff)
downloademacs-02db17e53bf46c91b2cb8ee33b43d8ae252a1681.tar.gz
emacs-02db17e53bf46c91b2cb8ee33b43d8ae252a1681.zip
upstream
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog181
-rw-r--r--lisp/allout-widgets.el28
-rw-r--r--lisp/allout.el4
-rw-r--r--lisp/arc-mode.el3
-rw-r--r--lisp/battery.el1
-rw-r--r--lisp/calc/calc.el4
-rw-r--r--lisp/cus-theme.el1
-rw-r--r--lisp/desktop.el2
-rw-r--r--lisp/dired-x.el1
-rw-r--r--lisp/dired.el2
-rw-r--r--lisp/doc-view.el2
-rw-r--r--lisp/emacs-lisp/advice.el58
-rw-r--r--lisp/emacs-lisp/cl-indent.el3
-rw-r--r--lisp/emacs-lisp/cl-loaddefs.el2
-rw-r--r--lisp/emacs-lisp/package.el4
-rw-r--r--lisp/eshell/em-ls.el1
-rw-r--r--lisp/files.el26
-rw-r--r--lisp/font-lock.el2
-rw-r--r--lisp/gnus/ChangeLog50
-rw-r--r--lisp/gnus/auth-source.el1
-rw-r--r--lisp/gnus/gnus-art.el4
-rw-r--r--lisp/gnus/gnus-async.el1
-rw-r--r--lisp/gnus/gnus-int.el2
-rw-r--r--lisp/gnus/gnus-picon.el1
-rw-r--r--lisp/gnus/gnus-registry.el2
-rw-r--r--lisp/gnus/gnus-sum.el3
-rw-r--r--lisp/gnus/gravatar.el1
-rw-r--r--lisp/gnus/gssapi.el1
-rw-r--r--lisp/gnus/message.el9
-rw-r--r--lisp/gnus/nnimap.el30
-rw-r--r--lisp/gnus/nnir.el8
-rw-r--r--lisp/gnus/nnml.el3
-rw-r--r--lisp/gnus/shr.el4
-rw-r--r--lisp/gnus/sieve-manage.el1
-rw-r--r--lisp/help-fns.el19
-rw-r--r--lisp/international/characters.el2
-rw-r--r--lisp/international/mule-cmds.el11
-rw-r--r--lisp/mail/emacsbug.el51
-rw-r--r--lisp/mail/feedmail.el1
-rw-r--r--lisp/mail/sendmail.el63
-rw-r--r--lisp/man.el1
-rw-r--r--lisp/minibuffer.el16
-rw-r--r--lisp/net/gnutls.el33
-rw-r--r--lisp/net/netrc.el1
-rw-r--r--lisp/net/rcirc.el1
-rw-r--r--lisp/net/soap-client.el1
-rw-r--r--lisp/net/tramp.el2
-rw-r--r--lisp/nxml/rng-valid.el2
-rw-r--r--lisp/progmodes/cc-engine.el41
-rw-r--r--lisp/progmodes/cc-mode.el13
-rw-r--r--lisp/progmodes/cc-vars.el1
-rw-r--r--lisp/progmodes/prolog.el135
-rw-r--r--lisp/progmodes/python.el7
-rw-r--r--lisp/progmodes/sql.el15
-rw-r--r--lisp/progmodes/verilog-mode.el6
-rw-r--r--lisp/select.el6
-rw-r--r--lisp/ses.el1
-rw-r--r--lisp/simple.el4
-rw-r--r--lisp/subr.el7
-rw-r--r--lisp/term/pc-win.el59
-rw-r--r--lisp/term/xterm.el1
-rw-r--r--lisp/textmodes/bibtex.el9
-rw-r--r--lisp/tool-bar.el1
-rw-r--r--lisp/url/ChangeLog24
-rw-r--r--lisp/url/url-future.el28
-rw-r--r--lisp/url/url-http.el16
-rw-r--r--lisp/url/url-queue.el6
-rw-r--r--lisp/vc/diff-mode.el4
-rw-r--r--lisp/vc/log-view.el3
-rw-r--r--lisp/vc/vc-dav.el3
-rw-r--r--lisp/window.el21
-rw-r--r--lisp/x-dnd.el2
72 files changed, 755 insertions, 308 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 0769badf4f5..5c7e8f2e8f8 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,184 @@
12012-02-13 Glenn Morris <rgm@gnu.org>
2
3 * minibuffer.el (read-file-name): Doc fix. (Bug#10798)
4
52012-02-13 Teodor Zlatanov <tzz@lifelogs.com>
6
7 * net/gnutls.el (gnutls-trustfiles): New variable.
8 (gnutls-negotiate): Use it.
9
102012-02-13 Lars Ingebrigtsen <larsi@gnus.org>
11
12 * simple.el (mail-user-agent): Mention that `gnus-user-agent' only
13 does its stuff if Gnus is running.
14
152012-02-13 Alan Mackenzie <acm@muc.de>
16
17 Fix a loop in c-set-fl-decl-start.
18
19 * progmodes/cc-engine (c-set-fl-decl-start): Add a check that
20 c-backward-syntactic-ws actually moves backwards.
21
222012-02-13 Leo Liu <sdl.web@gmail.com>
23
24 * net/rcirc.el (rcirc-markup-attributes): Move point to the
25 beginning so that all \C-o chars are removed.
26
272012-02-12 Teodor Zlatanov <tzz@lifelogs.com>
28
29 * net/gnutls.el (gnutls-algorithm-priority): Add missing :group
30 tag.
31
322012-02-12 Alan Mackenzie <acm@muc.de>
33
34 Fix infinite loop with long macros.
35 * cc-engine.el (c-state-safe-place): Handle macros properly.
36
372012-02-12 Chong Yidong <cyd@gnu.org>
38
39 * window.el (display-buffer): Doc fix (Bug#10785).
40
412012-02-12 Glenn Morris <rgm@gnu.org>
42
43 * term/pc-win.el (x-selection-owner-p, x-own-selection-internal)
44 (x-disown-selection-internal, x-get-selection-internal):
45 Sync docs with the xselect.c versions.
46
47 * allout-widgets.el: Add missing license notice.
48
492012-02-11 Glenn Morris <rgm@gnu.org>
50
51 * select.el (x-get-selection-internal, x-own-selection-internal)
52 (x-disown-selection-internal):
53 * x-dnd.el (x-get-selection-internal): Update declarations.
54
55 * vc/log-view.el (vc-diff-internal): Remove unneeded declaration.
56
57 * window.el (window-sides-slots):
58 * tool-bar.el (tool-bar-position):
59 * term/xterm.el (xterm-extra-capabilities):
60 * ses.el (ses-self-reference-early-detection):
61 * progmodes/verilog-mode.el (verilog-auto-declare-nettype)
62 (verilog-auto-wire-type)
63 (verilog-auto-delete-trailing-whitespace)
64 (verilog-auto-reset-blocking-in-non, verilog-auto-inst-sort)
65 (verilog-auto-tieoff-declaration):
66 * progmodes/sql.el (sql-login-hook, sql-ansi-statement-starters)
67 (sql-oracle-statement-starters, sql-oracle-scan-on):
68 * progmodes/prolog.el (prolog-align-comments-flag)
69 (prolog-indent-mline-comments-flag, prolog-object-end-to-0-flag)
70 (prolog-left-indent-regexp, prolog-paren-indent-p)
71 (prolog-paren-indent, prolog-parse-mode, prolog-keywords)
72 (prolog-types, prolog-mode-specificators)
73 (prolog-determinism-specificators, prolog-directives)
74 (prolog-electric-newline-flag, prolog-hungry-delete-key-flag)
75 (prolog-electric-dot-flag)
76 (prolog-electric-dot-full-predicate-template)
77 (prolog-electric-underscore-flag, prolog-electric-tab-flag)
78 (prolog-electric-if-then-else-flag, prolog-electric-colon-flag)
79 (prolog-electric-dash-flag, prolog-old-sicstus-keys-flag)
80 (prolog-program-switches, prolog-prompt-regexp)
81 (prolog-debug-on-string, prolog-debug-off-string)
82 (prolog-trace-on-string, prolog-trace-off-string)
83 (prolog-zip-on-string, prolog-zip-off-string)
84 (prolog-use-standard-consult-compile-method-flag)
85 (prolog-use-prolog-tokenizer-flag, prolog-imenu-flag)
86 (prolog-imenu-max-lines, prolog-info-predicate-index)
87 (prolog-underscore-wordchar-flag, prolog-use-sicstus-sd)
88 (prolog-char-quote-workaround):
89 * progmodes/cc-vars.el (c-defun-tactic):
90 * net/tramp.el (tramp-encoding-command-interactive)
91 (tramp-local-end-of-line):
92 * net/soap-client.el (soap-client):
93 * net/netrc.el (netrc-file):
94 * net/gnutls.el (gnutls):
95 * minibuffer.el (completion-category-overrides)
96 (completion-cycle-threshold)
97 (completion-pcm-complete-word-inserts-delimiters):
98 * man.el (Man-name-local-regexp):
99 * mail/feedmail.el (feedmail-display-full-frame):
100 * international/characters.el (glyphless-char-display-control):
101 * eshell/em-ls.el (eshell-ls-date-format):
102 * emacs-lisp/cl-indent.el (lisp-lambda-list-keyword-alignment)
103 (lisp-lambda-list-keyword-parameter-indentation)
104 (lisp-lambda-list-keyword-parameter-alignment):
105 * doc-view.el (doc-view-image-width, doc-view-unoconv-program):
106 * dired-x.el (dired-omit-verbose):
107 * cus-theme.el (custom-theme-allow-multiple-selections):
108 * calc/calc.el (calc-highlight-selections-with-faces)
109 (calc-lu-field-reference, calc-lu-power-reference)
110 (calc-note-threshold):
111 * battery.el (battery-mode-line-limit):
112 * arc-mode.el (archive-7z-extract, archive-7z-expunge)
113 (archive-7z-update):
114 * allout.el (allout-prefixed-keybindings)
115 (allout-unprefixed-keybindings)
116 (allout-inhibit-auto-fill-on-headline)
117 (allout-flattened-numbering-abbreviation):
118 * allout-widgets.el (allout-widgets-auto-activation)
119 (allout-widgets-icons-dark-subdir)
120 (allout-widgets-icons-light-subdir, allout-widgets-icon-types)
121 (allout-widgets-theme-dark-background)
122 (allout-widgets-theme-light-background)
123 (allout-widgets-item-image-properties-emacs)
124 (allout-widgets-item-image-properties-xemacs)
125 (allout-widgets-run-unit-tests-on-load)
126 (allout-widgets-time-decoration-activity)
127 (allout-widgets-hook-error-post-time)
128 (allout-widgets-track-decoration):
129 Add missing :version tags to new defcustoms and defgroups.
130
131 * progmodes/sql.el (sql-ansi-statement-starters)
132 (sql-oracle-statement-starters): Add custom type.
133
134 * progmodes/prolog.el: Remove leading '*' from defcustom docs.
135 (prolog-system-version): Give it a type.
136
1372012-02-11 Eli Zaretskii <eliz@gnu.org>
138
139 * term/pc-win.el (x-select-text, x-selection-owner-p)
140 (x-own-selection-internal, x-disown-selection-internal)
141 (x-get-selection-internal): Sync doc strings and argument lists
142 with xselect.c, common-win.el and x-win.el. (Bug#10783)
143
1442012-02-11 Leo Liu <sdl.web@gmail.com>
145
146 * progmodes/python.el (python-end-of-statement): Fix infinite
147 loop. (Bug#10788)
148
1492012-02-10 Glenn Morris <rgm@gnu.org>
150
151 * international/mule-cmds.el (unify-8859-on-encoding-mode)
152 (unify-8859-on-decoding-mode): Properly mark as obsolete.
153
1542012-02-10 Lars Ingebrigtsen <larsi@gnus.org>
155
156 * mail/emacsbug.el (report-emacs-bug-hook): Query the user first
157 about SMTP before checking the From header.
158
159 * mail/sendmail.el (sendmail-query-user-about-smtp): Refacored out
160 into own function for reuse by emacsbug.el.
161
1622012-02-10 Leo Liu <sdl.web@gmail.com>
163
164 * subr.el (condition-case-unless-debug): Rename from
165 condition-case-no-debug. All callers changed.
166 (with-demoted-errors): Fix caller.
167
168 * vc/diff-mode.el (diff-auto-refine-mode, diff-hunk):
169 * nxml/rng-valid.el (rng-do-some-validation):
170 * emacs-lisp/package.el (package-refresh-contents)
171 (package-menu-execute):
172 * desktop.el (desktop-create-buffer):
173 * font-lock.el (lisp-font-lock-keywords-2): caller changed.
174
1752012-02-10 Glenn Morris <rgm@gnu.org>
176
177 * textmodes/bibtex.el:
178 Add missing :version tags for new/changed defcustoms.
179
180 * files.el (remote-file-name-inhibit-cache): Doc fixes.
181
12012-02-09 Lars Ingebrigtsen <larsi@rusty> 1822012-02-09 Lars Ingebrigtsen <larsi@rusty>
2 183
3 * mail/smtpmail.el (smtpmail-user-mail-address): New function. 184 * mail/smtpmail.el (smtpmail-user-mail-address): New function.
diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el
index 0e4a4c6e5a7..86d567bcdde 100644
--- a/lisp/allout-widgets.el
+++ b/lisp/allout-widgets.el
@@ -9,6 +9,21 @@
9;; Keywords: outlines 9;; Keywords: outlines
10;; Website: http://myriadicity.net/software-and-systems/craft/emacs-allout 10;; Website: http://myriadicity.net/software-and-systems/craft/emacs-allout
11 11
12;; This file is part of GNU Emacs.
13
14;; GNU Emacs is free software: you can redistribute it and/or modify
15;; it under the terms of the GNU General Public License as published by
16;; the Free Software Foundation, either version 3 of the License, or
17;; (at your option) any later version.
18
19;; GNU Emacs is distributed in the hope that it will be useful,
20;; but WITHOUT ANY WARRANTY; without even the implied warranty of
21;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22;; GNU General Public License for more details.
23
24;; You should have received a copy of the GNU General Public License
25;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
26
12;;; Commentary: 27;;; Commentary:
13 28
14;; This is an allout outline-mode add-on that highlights outline structure 29;; This is an allout outline-mode add-on that highlights outline structure
@@ -131,6 +146,7 @@ explicitly invoke `allout-widgets-mode' in allout buffers where
131you want allout widgets operation. 146you want allout widgets operation.
132 147
133See `allout-widgets-mode' for allout widgets mode features." 148See `allout-widgets-mode' for allout widgets mode features."
149 :version "24.1"
134 :type 'boolean 150 :type 'boolean
135 :group 'allout-widgets 151 :group 'allout-widgets
136 :set 'allout-widgets-setup 152 :set 'allout-widgets-setup
@@ -155,16 +171,19 @@ See `allout-widgets-mode' for allout widgets mode features."
155;;;_ = allout-widgets-icons-dark-subdir 171;;;_ = allout-widgets-icons-dark-subdir
156(defcustom allout-widgets-icons-dark-subdir "icons/allout-widgets/dark-bg/" 172(defcustom allout-widgets-icons-dark-subdir "icons/allout-widgets/dark-bg/"
157 "Directory on `image-load-path' holding allout icons for dark backgrounds." 173 "Directory on `image-load-path' holding allout icons for dark backgrounds."
174 :version "24.1"
158 :type 'string 175 :type 'string
159 :group 'allout-widgets) 176 :group 'allout-widgets)
160;;;_ = allout-widgets-icons-light-subdir 177;;;_ = allout-widgets-icons-light-subdir
161(defcustom allout-widgets-icons-light-subdir "icons/allout-widgets/light-bg/" 178(defcustom allout-widgets-icons-light-subdir "icons/allout-widgets/light-bg/"
162 "Directory on `image-load-path' holding allout icons for light backgrounds." 179 "Directory on `image-load-path' holding allout icons for light backgrounds."
180 :version "24.1"
163 :type 'string 181 :type 'string
164 :group 'allout-widgets) 182 :group 'allout-widgets)
165;;;_ = allout-widgets-icon-types 183;;;_ = allout-widgets-icon-types
166(defcustom allout-widgets-icon-types '(xpm png) 184(defcustom allout-widgets-icon-types '(xpm png)
167 "File extensions for the icon graphic format types, in order of preference." 185 "File extensions for the icon graphic format types, in order of preference."
186 :version "24.1"
168 :type '(repeat symbol) 187 :type '(repeat symbol)
169 :group 'allout-widgets) 188 :group 'allout-widgets)
170 189
@@ -172,23 +191,27 @@ See `allout-widgets-mode' for allout widgets mode features."
172;;;_ = allout-widgets-theme-dark-background 191;;;_ = allout-widgets-theme-dark-background
173(defcustom allout-widgets-theme-dark-background "allout-dark-bg" 192(defcustom allout-widgets-theme-dark-background "allout-dark-bg"
174 "Identify the outline's icon theme to use with a dark background." 193 "Identify the outline's icon theme to use with a dark background."
194 :version "24.1"
175 :type '(string) 195 :type '(string)
176 :group 'allout-widgets) 196 :group 'allout-widgets)
177;;;_ = allout-widgets-theme-light-background 197;;;_ = allout-widgets-theme-light-background
178(defcustom allout-widgets-theme-light-background "allout-light-bg" 198(defcustom allout-widgets-theme-light-background "allout-light-bg"
179 "Identify the outline's icon theme to use with a light background." 199 "Identify the outline's icon theme to use with a light background."
200 :version "24.1"
180 :type '(string) 201 :type '(string)
181 :group 'allout-widgets) 202 :group 'allout-widgets)
182;;;_ = allout-widgets-item-image-properties-emacs 203;;;_ = allout-widgets-item-image-properties-emacs
183(defcustom allout-widgets-item-image-properties-emacs 204(defcustom allout-widgets-item-image-properties-emacs
184 '(:ascent center :mask (heuristic t)) 205 '(:ascent center :mask (heuristic t))
185 "*Default properties item widget images in mainline Emacs." 206 "*Default properties item widget images in mainline Emacs."
207 :version "24.1"
186 :type 'plist 208 :type 'plist
187 :group 'allout-widgets) 209 :group 'allout-widgets)
188;;;_ = allout-widgets-item-image-properties-xemacs 210;;;_ = allout-widgets-item-image-properties-xemacs
189(defcustom allout-widgets-item-image-properties-xemacs 211(defcustom allout-widgets-item-image-properties-xemacs
190 nil 212 nil
191 "*Default properties item widget images in XEmacs." 213 "*Default properties item widget images in XEmacs."
214 :version "24.1"
192 :type 'plist 215 :type 'plist
193 :group 'allout-widgets) 216 :group 'allout-widgets)
194;;;_ . Developer 217;;;_ . Developer
@@ -204,6 +227,7 @@ doing byte-compilation with a repeat count, so the file is loaded after
204compilation.) 227compilation.)
205 228
206See `allout-widgets-run-unit-tests' to see what's run." 229See `allout-widgets-run-unit-tests' to see what's run."
230 :version "24.1"
207 :type 'boolean 231 :type 'boolean
208 :group 'allout-widgets-developer) 232 :group 'allout-widgets-developer)
209;;;_ = allout-widgets-time-decoration-activity 233;;;_ = allout-widgets-time-decoration-activity
@@ -215,6 +239,7 @@ The details are retained as the value of
215 239
216Generally, allout widgets code developers are the only ones who'll want to 240Generally, allout widgets code developers are the only ones who'll want to
217set this." 241set this."
242 :version "24.1"
218 :type 'boolean 243 :type 'boolean
219 :group 'allout-widgets-developer) 244 :group 'allout-widgets-developer)
220;;;_ = allout-widgets-hook-error-post-time 0 245;;;_ = allout-widgets-hook-error-post-time 0
@@ -224,6 +249,7 @@ set this."
2240 is minimal, or nil to not post to the message area. 2490 is minimal, or nil to not post to the message area.
225 250
226This is for debugging purposes." 251This is for debugging purposes."
252 :version "24.1"
227 :type 'integer 253 :type 'integer
228 :group 'allout-widgets-developer) 254 :group 'allout-widgets-developer)
229;;;_ = allout-widgets-maintain-tally nil 255;;;_ = allout-widgets-maintain-tally nil
@@ -235,6 +261,7 @@ This is for debugging purposes.
235The tally shows the total number of item widgets in the current 261The tally shows the total number of item widgets in the current
236buffer, and tracking increases as new widgets are added and 262buffer, and tracking increases as new widgets are added and
237decreases as obsolete widgets are garbage collected." 263decreases as obsolete widgets are garbage collected."
264 :version "24.1"
238 :type 'boolean 265 :type 'boolean
239 :group 'allout-widgets-developer) 266 :group 'allout-widgets-developer)
240(defvar allout-widgets-tally nil 267(defvar allout-widgets-tally nil
@@ -268,6 +295,7 @@ The number varies according to the evanescence of objects on a
268This is for debugging purposes, and generally set at need in a 295This is for debugging purposes, and generally set at need in a
269buffer rather than as a prevailing configuration \(but it's handy 296buffer rather than as a prevailing configuration \(but it's handy
270to publicize it by making it a customization variable\)." 297to publicize it by making it a customization variable\)."
298 :version "24.1"
271 :type 'boolean 299 :type 'boolean
272 :group 'allout-widgets-developer) 300 :group 'allout-widgets-developer)
273(make-variable-buffer-local 'allout-widgets-track-decoration) 301(make-variable-buffer-local 'allout-widgets-track-decoration)
diff --git a/lisp/allout.el b/lisp/allout.el
index d673c7dba0b..3eed3c7d23e 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -240,6 +240,7 @@ See the existing keys for examples.
240Functions can be bound to multiple keys, but binding keys to 240Functions can be bound to multiple keys, but binding keys to
241multiple functions will not work - the last binding for a key 241multiple functions will not work - the last binding for a key
242prevails." 242prevails."
243 :version "24.1"
243 :type 'allout-keybindings-binding 244 :type 'allout-keybindings-binding
244 :group 'allout-keybindings 245 :group 'allout-keybindings
245 :set 'allout-compose-and-institute-keymap 246 :set 'allout-compose-and-institute-keymap
@@ -263,6 +264,7 @@ Use vector format for the keys:
263 parentheses, with the literal key, as above, preceded by the name(s) 264 parentheses, with the literal key, as above, preceded by the name(s)
264 of the modifiers, eg: [(control ?a)] 265 of the modifiers, eg: [(control ?a)]
265See the existing keys for examples." 266See the existing keys for examples."
267 :version "24.1"
266 :type 'allout-keybindings-binding 268 :type 'allout-keybindings-binding
267 :group 'allout-keybindings 269 :group 'allout-keybindings
268 :set 'allout-compose-and-institute-keymap 270 :set 'allout-compose-and-institute-keymap
@@ -402,6 +404,7 @@ else allout's special hanging-indent maintaining auto-fill function,
402;;;_ = allout-inhibit-auto-fill-on-headline 404;;;_ = allout-inhibit-auto-fill-on-headline
403(defcustom allout-inhibit-auto-fill-on-headline nil 405(defcustom allout-inhibit-auto-fill-on-headline nil
404 "If non-nil, auto-fill will be inhibited while on topic's header line." 406 "If non-nil, auto-fill will be inhibited while on topic's header line."
407 :version "24.1"
405 :type 'boolean 408 :type 'boolean
406 :group 'allout) 409 :group 'allout)
407(make-variable-buffer-local 'allout-inhibit-auto-fill-on-headline) 410(make-variable-buffer-local 'allout-inhibit-auto-fill-on-headline)
@@ -764,6 +767,7 @@ Set this var to the bullet you want to use for file cross-references."
764 "If non-nil, `allout-flatten-exposed-to-buffer' abbreviates topic 767 "If non-nil, `allout-flatten-exposed-to-buffer' abbreviates topic
765numbers to minimal amount with some context. Otherwise, entire 768numbers to minimal amount with some context. Otherwise, entire
766numbers are always used." 769numbers are always used."
770 :version "24.1"
767 :type 'boolean 771 :type 'boolean
768 :group 'allout) 772 :group 'allout)
769 773
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index 83862555c80..8b17208983f 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -322,6 +322,7 @@ Archive and member name will be added."
322 "Program and its options to run in order to extract a 7z file member. 322 "Program and its options to run in order to extract a 7z file member.
323Extraction should happen to standard output. Archive and member name will 323Extraction should happen to standard output. Archive and member name will
324be added." 324be added."
325 :version "24.1"
325 :type '(list (string :tag "Program") 326 :type '(list (string :tag "Program")
326 (repeat :tag "Options" 327 (repeat :tag "Options"
327 :inline t 328 :inline t
@@ -332,6 +333,7 @@ be added."
332 '("7z" "d") 333 '("7z" "d")
333 "Program and its options to run in order to delete 7z file members. 334 "Program and its options to run in order to delete 7z file members.
334Archive and member names will be added." 335Archive and member names will be added."
336 :version "24.1"
335 :type '(list (string :tag "Program") 337 :type '(list (string :tag "Program")
336 (repeat :tag "Options" 338 (repeat :tag "Options"
337 :inline t 339 :inline t
@@ -343,6 +345,7 @@ Archive and member names will be added."
343 "Program and its options to run in order to update a 7z file member. 345 "Program and its options to run in order to update a 7z file member.
344Options should ensure that specified directory will be put into the 7z 346Options should ensure that specified directory will be put into the 7z
345file. Archive and member name will be added." 347file. Archive and member name will be added."
348 :version "24.1"
346 :type '(list (string :tag "Program") 349 :type '(list (string :tag "Program")
347 (repeat :tag "Options" 350 (repeat :tag "Options"
348 :inline t 351 :inline t
diff --git a/lisp/battery.el b/lisp/battery.el
index a3be2fe4b88..586be9e8938 100644
--- a/lisp/battery.el
+++ b/lisp/battery.el
@@ -110,6 +110,7 @@ string are substituted as defined by the current value of the variable
110 110
111(defcustom battery-mode-line-limit 100 111(defcustom battery-mode-line-limit 100
112 "Percentage of full battery load below which display battery status" 112 "Percentage of full battery load below which display battery status"
113 :version "24.1"
113 :type 'integer 114 :type 'integer
114 :group 'battery) 115 :group 'battery)
115 116
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el
index 5789e23ac74..41cdb491cfa 100644
--- a/lisp/calc/calc.el
+++ b/lisp/calc/calc.el
@@ -431,24 +431,28 @@ If `calc-show-selections' is non-nil, then selected sub-formulas are shown
431by displaying the rest of the formula in `calc-nonselected-face'. 431by displaying the rest of the formula in `calc-nonselected-face'.
432If `calc-show-selections' is nil, then selected sub-formulas are shown 432If `calc-show-selections' is nil, then selected sub-formulas are shown
433by displaying the sub-formula in `calc-selected-face'." 433by displaying the sub-formula in `calc-selected-face'."
434 :version "24.1"
434 :group 'calc 435 :group 'calc
435 :type 'boolean) 436 :type 'boolean)
436 437
437(defcustom calc-lu-field-reference 438(defcustom calc-lu-field-reference
438 "20 uPa" 439 "20 uPa"
439 "The default reference level for logarithmic units (field)." 440 "The default reference level for logarithmic units (field)."
441 :version "24.1"
440 :group 'calc 442 :group 'calc
441 :type '(string)) 443 :type '(string))
442 444
443(defcustom calc-lu-power-reference 445(defcustom calc-lu-power-reference
444 "mW" 446 "mW"
445 "The default reference level for logarithmic units (power)." 447 "The default reference level for logarithmic units (power)."
448 :version "24.1"
446 :group 'calc 449 :group 'calc
447 :type '(string)) 450 :type '(string))
448 451
449(defcustom calc-note-threshold "1" 452(defcustom calc-note-threshold "1"
450 "The number of cents that a frequency should be near a note 453 "The number of cents that a frequency should be near a note
451to be identified as that note." 454to be identified as that note."
455 :version "24.1"
452 :type 'string 456 :type 'string
453 :group 'calc) 457 :group 'calc)
454 458
diff --git a/lisp/cus-theme.el b/lisp/cus-theme.el
index 6bddb02add6..79799049378 100644
--- a/lisp/cus-theme.el
+++ b/lisp/cus-theme.el
@@ -521,6 +521,7 @@ It includes all faces in list FACES."
521 521
522(defcustom custom-theme-allow-multiple-selections nil 522(defcustom custom-theme-allow-multiple-selections nil
523 "Whether to allow multi-selections in the *Custom Themes* buffer." 523 "Whether to allow multi-selections in the *Custom Themes* buffer."
524 :version "24.1"
524 :type 'boolean 525 :type 'boolean
525 :group 'custom-buffer) 526 :group 'custom-buffer)
526 527
diff --git a/lisp/desktop.el b/lisp/desktop.el
index 2f79cc05e79..674ce72dba3 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -1158,7 +1158,7 @@ directory DIRNAME."
1158 (desktop-load-file desktop-buffer-major-mode) 1158 (desktop-load-file desktop-buffer-major-mode)
1159 (let ((buffer-list (buffer-list)) 1159 (let ((buffer-list (buffer-list))
1160 (result 1160 (result
1161 (condition-case-no-debug err 1161 (condition-case-unless-debug err
1162 (funcall (or (cdr (assq desktop-buffer-major-mode 1162 (funcall (or (cdr (assq desktop-buffer-major-mode
1163 desktop-buffer-mode-handlers)) 1163 desktop-buffer-mode-handlers))
1164 'desktop-restore-file-buffer) 1164 'desktop-restore-file-buffer)
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 9b54954695b..067d15764f8 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -172,6 +172,7 @@ files and lock files."
172(defcustom dired-omit-verbose t 172(defcustom dired-omit-verbose t
173 "When non-nil, show messages when omitting files. 173 "When non-nil, show messages when omitting files.
174When nil, don't show messages." 174When nil, don't show messages."
175 :version "24.1"
175 :type 'boolean 176 :type 'boolean
176 :group 'dired-x) 177 :group 'dired-x)
177 178
diff --git a/lisp/dired.el b/lisp/dired.el
index 3962ef14aa4..b683cb15b88 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -4196,7 +4196,7 @@ instead.
4196;;;*** 4196;;;***
4197 4197
4198;;;### (autoloads (dired-do-relsymlink dired-jump-other-window dired-jump) 4198;;;### (autoloads (dired-do-relsymlink dired-jump-other-window dired-jump)
4199;;;;;; "dired-x" "dired-x.el" "8d995933a8d82be3a8662d7eff7543cc") 4199;;;;;; "dired-x" "dired-x.el" "bc516591d881911d72b58eeed8816576")
4200;;; Generated autoloads from dired-x.el 4200;;; Generated autoloads from dired-x.el
4201 4201
4202(autoload 'dired-jump "dired-x" "\ 4202(autoload 'dired-jump "dired-x" "\
diff --git a/lisp/doc-view.el b/lisp/doc-view.el
index f31487e62bd..53e7811bad1 100644
--- a/lisp/doc-view.el
+++ b/lisp/doc-view.el
@@ -172,6 +172,7 @@ Higher values result in larger images."
172(defcustom doc-view-image-width 850 172(defcustom doc-view-image-width 850
173 "Default image width. 173 "Default image width.
174Has only an effect if imagemagick support is compiled into emacs." 174Has only an effect if imagemagick support is compiled into emacs."
175 :version "24.1"
175 :type 'number 176 :type 'number
176 :group 'doc-view) 177 :group 'doc-view)
177 178
@@ -201,6 +202,7 @@ If this and `doc-view-dvipdfm-program' are set,
201 "Program to convert any file type readable by OpenOffice.org to PDF. 202 "Program to convert any file type readable by OpenOffice.org to PDF.
202 203
203Needed for viewing OpenOffice.org (and MS Office) files." 204Needed for viewing OpenOffice.org (and MS Office) files."
205 :version "24.1"
204 :type 'file 206 :type 'file
205 :group 'doc-view) 207 :group 'doc-view)
206 208
diff --git a/lisp/emacs-lisp/advice.el b/lisp/emacs-lisp/advice.el
index e0d8ffaba90..09dde2c1c17 100644
--- a/lisp/emacs-lisp/advice.el
+++ b/lisp/emacs-lisp/advice.el
@@ -348,10 +348,7 @@
348;; first argument list defined in the list of before/around/after advices. 348;; first argument list defined in the list of before/around/after advices.
349;; The values of <arglist> variables can be accessed/changed in the body of 349;; The values of <arglist> variables can be accessed/changed in the body of
350;; an advice by simply referring to them by their original name, however, 350;; an advice by simply referring to them by their original name, however,
351;; more portable argument access macros are also provided (see below). For 351;; more portable argument access macros are also provided (see below).
352;; subrs/special-forms for which neither explicit argument list definitions
353;; are available, nor their documentation strings contain such definitions
354;; (as they do v19s), `(&rest ad-subr-args)' will be used.
355 352
356;; <advised-docstring> is an optional, special documentation string which will 353;; <advised-docstring> is an optional, special documentation string which will
357;; be expanded into a proper documentation string upon call of `documentation'. 354;; be expanded into a proper documentation string upon call of `documentation'.
@@ -491,17 +488,15 @@
491 488
492;; @@@ Argument list mapping: 489;; @@@ Argument list mapping:
493;; ========================== 490;; ==========================
494;; Because `defadvice' allows the specification of the argument list of the 491;; Because `defadvice' allows the specification of the argument list
495;; advised function we need a mapping mechanism that maps this argument list 492;; of the advised function we need a mapping mechanism that maps this
496;; onto that of the original function. For example, somebody might specify 493;; argument list onto that of the original function. Hence SYM and
497;; `(sym newdef)' as the argument list of `fset', while advice might use 494;; NEWDEF have to be properly mapped onto the &rest variable when the
498;; `(&rest ad-subr-args)' as the argument list of the original function 495;; original definition is called. Advice automatically takes care of
499;; (depending on what Emacs version is used). Hence SYM and NEWDEF have to 496;; that mapping, hence, the advice programmer can specify an argument
500;; be properly mapped onto the &rest variable when the original definition is 497;; list without having to know about the exact structure of the
501;; called. Advice automatically takes care of that mapping, hence, the advice 498;; original argument list as long as the new argument list takes a
502;; programmer can specify an argument list without having to know about the 499;; compatible number/magnitude of actual arguments.
503;; exact structure of the original argument list as long as the new argument
504;; list takes a compatible number/magnitude of actual arguments.
505 500
506;; @@ Activation and deactivation: 501;; @@ Activation and deactivation:
507;; =============================== 502;; ===============================
@@ -884,9 +879,6 @@
884;; @@ Summary of forms with special meanings when used within an advice: 879;; @@ Summary of forms with special meanings when used within an advice:
885;; ===================================================================== 880;; =====================================================================
886;; ad-return-value name of the return value variable (get/settable) 881;; ad-return-value name of the return value variable (get/settable)
887;; ad-subr-args name of &rest argument variable used for advised
888;; subrs whose actual argument list cannot be
889;; determined (get/settable)
890;; (ad-get-arg <pos>), (ad-get-args <pos>), 882;; (ad-get-arg <pos>), (ad-get-args <pos>),
891;; (ad-set-arg <pos> <value>), (ad-set-args <pos> <value-list>) 883;; (ad-set-arg <pos> <value>), (ad-set-args <pos> <value-list>)
892;; argument access text macros to get/set the values of 884;; argument access text macros to get/set the values of
@@ -2594,36 +2586,6 @@ For that it has to be fbound with a non-autoload definition."
2594 (byte-compile symbol) 2586 (byte-compile symbol)
2595 (fset function (symbol-function symbol)))))) 2587 (fset function (symbol-function symbol))))))
2596 2588
2597
2598;; @@ Constructing advised definitions:
2599;; ====================================
2600;;
2601;; Main design decisions about the form of advised definitions:
2602;;
2603;; A) How will original definitions be called?
2604;; B) What will argument lists of advised functions look like?
2605;;
2606;; Ad A)
2607;; I chose to use function indirection for all four types of original
2608;; definitions (functions, macros, subrs and special forms), i.e., create
2609;; a unique symbol `ad-Orig-<name>' which is fbound to the original
2610;; definition and call it according to type and arguments. Functions and
2611;; subrs that don't have any &rest arguments can be called directly in a
2612;; `(ad-Orig-<name> ....)' form. If they have a &rest argument we have to
2613;; use `apply'. Macros will be called with
2614;; `(macroexpand '(ad-Orig-<name> ....))', and special forms also need a
2615;; form like that with `eval' instead of `macroexpand'.
2616;;
2617;; Ad B)
2618;; Use original arguments where possible and `(&rest ad-subr-args)'
2619;; otherwise, even though this seems to be more complicated and less
2620;; uniform than a general `(&rest args)' approach. My reason to still
2621;; do it that way is that in most cases my approach leads to the more
2622;; efficient form for the advised function, and portability (e.g., to
2623;; make the same advice work regardless of whether something is a
2624;; function or a subr) can still be achieved with argument access macros.
2625
2626
2627(defun ad-prognify (forms) 2589(defun ad-prognify (forms)
2628 (cond ((<= (length forms) 1) 2590 (cond ((<= (length forms) 1)
2629 (car forms)) 2591 (car forms))
diff --git a/lisp/emacs-lisp/cl-indent.el b/lisp/emacs-lisp/cl-indent.el
index 0a690af572c..01bdfbf4bf2 100644
--- a/lisp/emacs-lisp/cl-indent.el
+++ b/lisp/emacs-lisp/cl-indent.el
@@ -104,6 +104,7 @@ If non-nil, alignment is done with the first keyword
104\(defun foo (arg1 arg2 &rest rest 104\(defun foo (arg1 arg2 &rest rest
105 &key key1 key2) 105 &key key1 key2)
106 #|...|#)" 106 #|...|#)"
107 :version "24.1"
107 :type 'boolean 108 :type 'boolean
108 :group 'lisp-indent) 109 :group 'lisp-indent)
109 110
@@ -111,6 +112,7 @@ If non-nil, alignment is done with the first keyword
111 "Indentation of lambda list keyword parameters. 112 "Indentation of lambda list keyword parameters.
112See `lisp-lambda-list-keyword-parameter-alignment' 113See `lisp-lambda-list-keyword-parameter-alignment'
113for more information." 114for more information."
115 :version "24.1"
114 :type 'integer 116 :type 'integer
115 :group 'lisp-indent) 117 :group 'lisp-indent)
116 118
@@ -130,6 +132,7 @@ If non-nil, alignment is done with the first parameter
130\(defun foo (arg1 arg2 &key key1 key2 132\(defun foo (arg1 arg2 &key key1 key2
131 key3 key4) 133 key3 key4)
132 #|...|#)" 134 #|...|#)"
135 :version "24.1"
133 :type 'boolean 136 :type 'boolean
134 :group 'lisp-indent) 137 :group 'lisp-indent)
135 138
diff --git a/lisp/emacs-lisp/cl-loaddefs.el b/lisp/emacs-lisp/cl-loaddefs.el
index c729ca22610..dd9ee259b6d 100644
--- a/lisp/emacs-lisp/cl-loaddefs.el
+++ b/lisp/emacs-lisp/cl-loaddefs.el
@@ -286,7 +286,7 @@ This also does some trivial optimizations to make the form prettier.
286;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist 286;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist
287;;;;;; do* do loop return-from return block etypecase typecase ecase 287;;;;;; do* do loop return-from return block etypecase typecase ecase
288;;;;;; case load-time-value eval-when destructuring-bind function* 288;;;;;; case load-time-value eval-when destructuring-bind function*
289;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "d823fe159b79b4f85f49a3fbe463d848") 289;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "045f9588e561616741b5f9aef96ce7df")
290;;; Generated autoloads from cl-macs.el 290;;; Generated autoloads from cl-macs.el
291 291
292(autoload 'gensym "cl-macs" "\ 292(autoload 'gensym "cl-macs" "\
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 317fa1fd23d..d80454ba269 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1103,7 +1103,7 @@ makes them available for download."
1103 (unless (file-exists-p package-user-dir) 1103 (unless (file-exists-p package-user-dir)
1104 (make-directory package-user-dir t)) 1104 (make-directory package-user-dir t))
1105 (dolist (archive package-archives) 1105 (dolist (archive package-archives)
1106 (condition-case-no-debug nil 1106 (condition-case-unless-debug nil
1107 (package--download-one-archive archive "archive-contents") 1107 (package--download-one-archive archive "archive-contents")
1108 (error (message "Failed to download `%s' archive." 1108 (error (message "Failed to download `%s' archive."
1109 (car archive))))) 1109 (car archive)))))
@@ -1608,7 +1608,7 @@ packages marked for deletion are removed."
1608 delete-list 1608 delete-list
1609 ", ")))) 1609 ", "))))
1610 (dolist (elt delete-list) 1610 (dolist (elt delete-list)
1611 (condition-case-no-debug err 1611 (condition-case-unless-debug err
1612 (package-delete (car elt) (cdr elt)) 1612 (package-delete (car elt) (cdr elt))
1613 (error (message (cadr err))))) 1613 (error (message (cadr err)))))
1614 (error "Aborted"))) 1614 (error "Aborted")))
diff --git a/lisp/eshell/em-ls.el b/lisp/eshell/em-ls.el
index af60cdc1260..144b4dda8e2 100644
--- a/lisp/eshell/em-ls.el
+++ b/lisp/eshell/em-ls.el
@@ -61,6 +61,7 @@ properties to colorize its output based on the setting of
61 "How to display time information in `eshell-ls-file'. 61 "How to display time information in `eshell-ls-file'.
62This is passed to `format-time-string' as a format string. 62This is passed to `format-time-string' as a format string.
63To display the date using the current locale, use \"%b \%e\"." 63To display the date using the current locale, use \"%b \%e\"."
64 :version "24.1"
64 :type 'string 65 :type 'string
65 :group 'eshell-ls) 66 :group 'eshell-ls)
66 67
diff --git a/lisp/files.el b/lisp/files.el
index 7bb44098223..87218c9a6e8 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -981,20 +981,18 @@ Tip: You can use this expansion of remote identifier components
981 981
982(defcustom remote-file-name-inhibit-cache 10 982(defcustom remote-file-name-inhibit-cache 10
983 "Whether to use the remote file-name cache for read access. 983 "Whether to use the remote file-name cache for read access.
984 984When `nil', never expire cached values (caution)
985When `nil', always use the cached values. 985When `t', never use the cache (safe, but may be slow)
986When `t', never use them. 986A number means use cached values for that amount of seconds since caching.
987A number means use them for that amount of seconds since they were 987
988cached. 988The attributes of remote files are cached for better performance.
989 989If they are changed outside of Emacs's control, the cached values
990File attributes of remote files are cached for better performance. 990become invalid, and must be reread. If you are sure that nothing
991If they are changed out of Emacs' control, the cached values 991other than Emacs changes the files, you can set this variable to `nil'.
992become invalid, and must be invalidated. 992
993 993If a remote file is checked regularly, it might be a good idea to
994In case a remote file is checked regularly, it might be 994let-bind this variable to a value less than the interval between
995reasonable to let-bind this variable to a value less then the 995consecutive checks. For example:
996time period between two checks.
997Example:
998 996
999 (defun display-time-file-nonempty-p (file) 997 (defun display-time-file-nonempty-p (file)
1000 (let ((remote-file-name-inhibit-cache (- display-time-interval 5))) 998 (let ((remote-file-name-inhibit-cache (- display-time-interval 5)))
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index befed33abba..9f9445bdea9 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -2272,7 +2272,7 @@ in which C preprocessor directives are used. e.g. `asm-mode' and
2272 "save-selected-window" "save-window-excursion" 2272 "save-selected-window" "save-window-excursion"
2273 "save-match-data" "save-current-buffer" 2273 "save-match-data" "save-current-buffer"
2274 "combine-after-change-calls" "unwind-protect" 2274 "combine-after-change-calls" "unwind-protect"
2275 "condition-case" "condition-case-no-debug" 2275 "condition-case" "condition-case-unless-debug"
2276 "track-mouse" "eval-after-load" "eval-and-compile" 2276 "track-mouse" "eval-after-load" "eval-and-compile"
2277 "eval-when-compile" "eval-when" "eval-next-after-load" 2277 "eval-when-compile" "eval-when" "eval-next-after-load"
2278 "with-case-table" "with-category-table" 2278 "with-case-table" "with-category-table"
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 9305114b634..99554cd9ffe 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,51 @@
12012-02-13 Lars Ingebrigtsen <larsi@gnus.org>
2
3 * nnimap.el (nnimap-record-commands): New variable.
4 (nnimap-log-command): Use it.
5 (nnimap-make-process-buffer): Add a space to the process buffer.
6 (nnimap-transform-headers): Don't bug out on header lines containing
7 stuff that look like IMAP length encodings.
8
9 * shr.el (shr-rescale-image): Allow viewing large images.
10
112012-02-12 Lars Ingebrigtsen <larsi@gnus.org>
12
13 * nnml.el (nnml-request-compact-group): Delete the marks file after
14 compaction (bug#10800).
15
16 * gnus-art.el (gnus-stop-downloads): Stop `url-queue' downloads on
17 group exit.
18
19 * nnimap.el (nnimap-parse-flags): Parse correctly when we have mixed
20 QRESYNC/FETCH output.
21
222012-02-11 Glenn Morris <rgm@gnu.org>
23
24 * sieve-manage.el (sieve-manage-default-stream):
25 * shr.el (shr):
26 * nnir.el (nnir-ignored-newsgroups, nnir-summary-line-format)
27 (nnir-retrieve-headers-override-function)
28 (nnir-imap-default-search-key, nnir-notmuch-program)
29 (nnir-notmuch-additional-switches, nnir-notmuch-remove-prefix)
30 (nnir-method-default-engines):
31 * message.el (message-cite-reply-position):
32 * gssapi.el (gssapi-program):
33 * gravatar.el (gravatar):
34 * gnus-sum.el (gnus-refer-thread-use-nnir):
35 * gnus-registry.el (gnus-registry-unfollowed-addresses)
36 (gnus-registry-max-pruned-entries):
37 * gnus-picon.el (gnus-picon-inhibit-top-level-domains):
38 * gnus-int.el (gnus-after-set-mark-hook)
39 (gnus-before-update-mark-hook):
40 * gnus-async.el (gnus-async-post-fetch-function):
41 * auth-source.el (auth-source-cache-expiry):
42 Add missing :version tags to new defcustoms and defgroups.
43
442012-02-10 Lars Ingebrigtsen <larsi@gnus.org>
45
46 * message.el (message-default-send-mail-function): Made into own
47 function for reuse by emacsbug.el.
48
12012-02-09 Juanma Barranquero <lekktu@gmail.com> 492012-02-09 Juanma Barranquero <lekktu@gmail.com>
2 50
3 * gnus.el (gnus-method-ephemeral-p): Move after declaration of defsubst 51 * gnus.el (gnus-method-ephemeral-p): Move after declaration of defsubst
@@ -39,7 +87,7 @@
39 have newlines within the strings, and where the UID comes after the 87 have newlines within the strings, and where the UID comes after the
40 BODYSTRUCTURE element (bug#10537). 88 BODYSTRUCTURE element (bug#10537).
41 89
42 * shr-color.el (shr-color-set-minimum-interval): Renamed to add prefix 90 * shr-color.el (shr-color-set-minimum-interval): Rename to add prefix
43 (bug#10732). 91 (bug#10732).
44 92
45 * shr.el (shr-insert-document): Add doc string. 93 * shr.el (shr-insert-document): Add doc string.
diff --git a/lisp/gnus/auth-source.el b/lisp/gnus/auth-source.el
index 5e946372d04..80a3b91b60a 100644
--- a/lisp/gnus/auth-source.el
+++ b/lisp/gnus/auth-source.el
@@ -84,6 +84,7 @@
84 "How many seconds passwords are cached, or nil to disable 84 "How many seconds passwords are cached, or nil to disable
85expiring. Overrides `password-cache-expiry' through a 85expiring. Overrides `password-cache-expiry' through a
86let-binding." 86let-binding."
87 :version "24.1"
87 :group 'auth-source 88 :group 'auth-source
88 :type '(choice (const :tag "Never" nil) 89 :type '(choice (const :tag "Never" nil)
89 (const :tag "All Day" 86400) 90 (const :tag "All Day" 86400)
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index b282afd961c..048f8956567 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -4582,6 +4582,10 @@ commands:
4582 (when (eq (elt timer 5) 'image-animate-timeout) 4582 (when (eq (elt timer 5) 'image-animate-timeout)
4583 (cancel-timer timer)))) 4583 (cancel-timer timer))))
4584 4584
4585(defun gnus-stop-downloads ()
4586 (when (boundp 'url-queue)
4587 (set (intern "url-queue" obarray) nil)))
4588
4585;; Set article window start at LINE, where LINE is the number of lines 4589;; Set article window start at LINE, where LINE is the number of lines
4586;; from the head of the article. 4590;; from the head of the article.
4587(defun gnus-article-set-window-start (&optional line) 4591(defun gnus-article-set-window-start (&optional line)
diff --git a/lisp/gnus/gnus-async.el b/lisp/gnus/gnus-async.el
index 378b0e063cb..603952dd17b 100644
--- a/lisp/gnus/gnus-async.el
+++ b/lisp/gnus/gnus-async.el
@@ -74,6 +74,7 @@ It should return non-nil if the article is to be prefetched."
74 "Function called after an article has been prefetched. 74 "Function called after an article has been prefetched.
75The function will be called narrowed to the region of the article 75The function will be called narrowed to the region of the article
76that was fetched." 76that was fetched."
77 :version "24.1"
77 :group 'gnus-asynchronous 78 :group 'gnus-asynchronous
78 :type 'function) 79 :type 'function)
79 80
diff --git a/lisp/gnus/gnus-int.el b/lisp/gnus/gnus-int.el
index 20add470abe..8dc691ffe42 100644
--- a/lisp/gnus/gnus-int.el
+++ b/lisp/gnus/gnus-int.el
@@ -43,11 +43,13 @@
43 43
44(defcustom gnus-after-set-mark-hook nil 44(defcustom gnus-after-set-mark-hook nil
45 "Hook called just after marks are set in a group." 45 "Hook called just after marks are set in a group."
46 :version "24.1"
46 :group 'gnus-start 47 :group 'gnus-start
47 :type 'hook) 48 :type 'hook)
48 49
49(defcustom gnus-before-update-mark-hook nil 50(defcustom gnus-before-update-mark-hook nil
50 "Hook called just before marks are updated in a group." 51 "Hook called just before marks are updated in a group."
52 :version "24.1"
51 :group 'gnus-start 53 :group 'gnus-start
52 :type 'hook) 54 :type 'hook)
53 55
diff --git a/lisp/gnus/gnus-picon.el b/lisp/gnus/gnus-picon.el
index 69b65dfcb03..2f347efe579 100644
--- a/lisp/gnus/gnus-picon.el
+++ b/lisp/gnus/gnus-picon.el
@@ -87,6 +87,7 @@ added right to the textual representation."
87(defcustom gnus-picon-inhibit-top-level-domains t 87(defcustom gnus-picon-inhibit-top-level-domains t
88 "If non-nil, don't piconify top-level domains. 88 "If non-nil, don't piconify top-level domains.
89These are often not very interesting." 89These are often not very interesting."
90 :version "24.1"
90 :type 'boolean 91 :type 'boolean
91 :group 'gnus-picon) 92 :group 'gnus-picon)
92 93
diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el
index 9df6dc4ab6f..f1618b376ef 100644
--- a/lisp/gnus/gnus-registry.el
+++ b/lisp/gnus/gnus-registry.el
@@ -142,6 +142,7 @@ display.")
142The addresses are matched, they don't have to be fully qualified. 142The addresses are matched, they don't have to be fully qualified.
143In the messages, these addresses can be the sender or the 143In the messages, these addresses can be the sender or the
144recipients." 144recipients."
145 :version "24.1"
145 :group 'gnus-registry 146 :group 'gnus-registry
146 :type '(repeat regexp)) 147 :type '(repeat regexp))
147 148
@@ -243,6 +244,7 @@ the Bit Bucket."
243 244
244(defcustom gnus-registry-max-pruned-entries nil 245(defcustom gnus-registry-max-pruned-entries nil
245 "Maximum number of pruned entries in the registry, nil for unlimited." 246 "Maximum number of pruned entries in the registry, nil for unlimited."
247 :version "24.1"
246 :group 'gnus-registry 248 :group 'gnus-registry
247 :type '(radio (const :format "Unlimited " nil) 249 :type '(radio (const :format "Unlimited " nil)
248 (integer :format "Maximum number: %v"))) 250 (integer :format "Maximum number: %v")))
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 63482eea1c4..8ae8d0b8ae2 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -122,6 +122,7 @@ If t, fetch all the available old headers."
122 "*Use nnir to search an entire server when referring threads. A 122 "*Use nnir to search an entire server when referring threads. A
123nil value will only search for thread-related articles in the 123nil value will only search for thread-related articles in the
124current group." 124current group."
125 :version "24.1"
125 :group 'gnus-thread 126 :group 'gnus-thread
126 :type 'boolean) 127 :type 'boolean)
127 128
@@ -7318,6 +7319,7 @@ If FORCE (the prefix), also save the .newsrc file(s)."
7318 (when (gnus-buffer-live-p gnus-article-buffer) 7319 (when (gnus-buffer-live-p gnus-article-buffer)
7319 (with-current-buffer gnus-article-buffer 7320 (with-current-buffer gnus-article-buffer
7320 (gnus-article-stop-animations) 7321 (gnus-article-stop-animations)
7322 (gnus-stop-downloads)
7321 (mm-destroy-parts gnus-article-mime-handles) 7323 (mm-destroy-parts gnus-article-mime-handles)
7322 ;; Set it to nil for safety reason. 7324 ;; Set it to nil for safety reason.
7323 (setq gnus-article-mime-handle-alist nil) 7325 (setq gnus-article-mime-handle-alist nil)
@@ -9655,6 +9657,7 @@ C-u g', show the raw article."
9655 (when (gnus-buffer-live-p gnus-article-buffer) 9657 (when (gnus-buffer-live-p gnus-article-buffer)
9656 (with-current-buffer gnus-article-buffer 9658 (with-current-buffer gnus-article-buffer
9657 (gnus-article-stop-animations) 9659 (gnus-article-stop-animations)
9660 (gnus-stop-downloads)
9658 (mm-destroy-parts gnus-article-mime-handles) 9661 (mm-destroy-parts gnus-article-mime-handles)
9659 ;; Set it to nil for safety reason. 9662 ;; Set it to nil for safety reason.
9660 (setq gnus-article-mime-handle-alist nil) 9663 (setq gnus-article-mime-handle-alist nil)
diff --git a/lisp/gnus/gravatar.el b/lisp/gnus/gravatar.el
index 75e74803743..a10ea21b96b 100644
--- a/lisp/gnus/gravatar.el
+++ b/lisp/gnus/gravatar.el
@@ -29,6 +29,7 @@
29 29
30(defgroup gravatar nil 30(defgroup gravatar nil
31 "Gravatar." 31 "Gravatar."
32 :version "24.1"
32 :group 'comm) 33 :group 'comm)
33 34
34(defcustom gravatar-automatic-caching t 35(defcustom gravatar-automatic-caching t
diff --git a/lisp/gnus/gssapi.el b/lisp/gnus/gssapi.el
index 4bc93924723..ab8831dc49e 100644
--- a/lisp/gnus/gssapi.el
+++ b/lisp/gnus/gssapi.el
@@ -37,6 +37,7 @@
37and %l with the user name. The program should accept commands on 37and %l with the user name. The program should accept commands on
38stdin and return responses to stdout. Each entry in the list is 38stdin and return responses to stdout. Each entry in the list is
39tried until a successful connection is made." 39tried until a successful connection is made."
40 :version "24.1"
40 :group 'network 41 :group 'network
41 :type '(repeat string)) 42 :type '(repeat string))
42 43
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 5678acc5a2f..4ce9279114b 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -655,14 +655,16 @@ Done before generating the new subject of a forward."
655 (t 655 (t
656 (error "Don't know how to send mail. Please customize `message-send-mail-function'")))) 656 (error "Don't know how to send mail. Please customize `message-send-mail-function'"))))
657 657
658;; Useful to set in site-init.el 658(defun message-default-send-mail-function ()
659(defcustom message-send-mail-function
660 (cond ((eq send-mail-function 'smtpmail-send-it) 'message-smtpmail-send-it) 659 (cond ((eq send-mail-function 'smtpmail-send-it) 'message-smtpmail-send-it)
661 ((eq send-mail-function 'feedmail-send-it) 'feedmail-send-it) 660 ((eq send-mail-function 'feedmail-send-it) 'feedmail-send-it)
662 ((eq send-mail-function 'sendmail-query-once) 'sendmail-query-once) 661 ((eq send-mail-function 'sendmail-query-once) 'sendmail-query-once)
663 ((eq send-mail-function 'mailclient-send-it) 662 ((eq send-mail-function 'mailclient-send-it)
664 'message-send-mail-with-mailclient) 663 'message-send-mail-with-mailclient)
665 (t (message-send-mail-function))) 664 (t (message-send-mail-function))))
665
666;; Useful to set in site-init.el
667(defcustom message-send-mail-function (message-default-send-mail-function)
666 "Function to call to send the current buffer as mail. 668 "Function to call to send the current buffer as mail.
667The headers should be delimited by a line whose contents match the 669The headers should be delimited by a line whose contents match the
668variable `mail-header-separator'. 670variable `mail-header-separator'.
@@ -1093,6 +1095,7 @@ probably want to set this variable only for specific groups,
1093e.g. using `gnus-posting-styles': 1095e.g. using `gnus-posting-styles':
1094 1096
1095 (eval (set (make-local-variable 'message-cite-reply-position) 'above))" 1097 (eval (set (make-local-variable 'message-cite-reply-position) 'above))"
1098 :version "24.1"
1096 :type '(choice (const :tag "Reply inline" 'traditional) 1099 :type '(choice (const :tag "Reply inline" 'traditional)
1097 (const :tag "Reply above" 'above) 1100 (const :tag "Reply above" 'above)
1098 (const :tag "Reply below" 'below)) 1101 (const :tag "Reply below" 'below))
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index de4d248c624..c6f0f7a97e8 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -201,7 +201,10 @@ textual parts.")
201 (while (re-search-forward 201 (while (re-search-forward
202 "[^]][ (]{\\([0-9]+\\)}\r?\n" 202 "[^]][ (]{\\([0-9]+\\)}\r?\n"
203 (save-excursion 203 (save-excursion
204 (or (re-search-forward "\\* [0-9]+ FETCH" nil t) 204 ;; Start of the header section.
205 (or (re-search-forward "] {[0-9]+}\r?\n" nil t)
206 ;; Start of the next FETCH.
207 (re-search-forward "\\* [0-9]+ FETCH" nil t)
205 (point-max))) 208 (point-max)))
206 t) 209 t)
207 (setq size (string-to-number (match-string 1))) 210 (setq size (string-to-number (match-string 1)))
@@ -289,7 +292,7 @@ textual parts.")
289 292
290(defun nnimap-make-process-buffer (buffer) 293(defun nnimap-make-process-buffer (buffer)
291 (with-current-buffer 294 (with-current-buffer
292 (generate-new-buffer (format "*nnimap %s %s %s*" 295 (generate-new-buffer (format " *nnimap %s %s %s*"
293 nnimap-address nnimap-server-port 296 nnimap-address nnimap-server-port
294 (gnus-buffer-exists-p buffer))) 297 (gnus-buffer-exists-p buffer)))
295 (mm-disable-multibyte) 298 (mm-disable-multibyte)
@@ -1539,7 +1542,8 @@ textual parts.")
1539 1542
1540(defun nnimap-parse-flags (sequences) 1543(defun nnimap-parse-flags (sequences)
1541 (goto-char (point-min)) 1544 (goto-char (point-min))
1542 ;; Change \Delete etc to %Delete, so that the reader can read it. 1545 ;; Change \Delete etc to %Delete, so that the Emacs Lisp reader can
1546 ;; read it.
1543 (subst-char-in-region (point-min) (point-max) 1547 (subst-char-in-region (point-min) (point-max)
1544 ?\\ ?% t) 1548 ?\\ ?% t)
1545 ;; Remove any MODSEQ entries in the buffer, because they may contain 1549 ;; Remove any MODSEQ entries in the buffer, because they may contain
@@ -1610,7 +1614,9 @@ textual parts.")
1610 vanished highestmodseq) 1614 vanished highestmodseq)
1611 articles) 1615 articles)
1612 groups) 1616 groups)
1613 (goto-char end) 1617 (if (eq flag-sequence 'qresync)
1618 (goto-char end)
1619 (setq end (point)))
1614 (setq articles nil)))) 1620 (setq articles nil))))
1615 groups)) 1621 groups))
1616 1622
@@ -1693,13 +1699,17 @@ textual parts.")
1693 (nnimap-wait-for-response nnimap-sequence)) 1699 (nnimap-wait-for-response nnimap-sequence))
1694 nnimap-sequence) 1700 nnimap-sequence)
1695 1701
1702(defvar nnimap-record-commands nil
1703 "If non-nil, log commands to the \"*imap log*\" buffer.")
1704
1696(defun nnimap-log-command (command) 1705(defun nnimap-log-command (command)
1697 (with-current-buffer (get-buffer-create "*imap log*") 1706 (when nnimap-record-commands
1698 (goto-char (point-max)) 1707 (with-current-buffer (get-buffer-create "*imap log*")
1699 (insert (format-time-string "%H:%M:%S") " " 1708 (goto-char (point-max))
1700 (if nnimap-inhibit-logging 1709 (insert (format-time-string "%H:%M:%S") " "
1701 "(inhibited)\n" 1710 (if nnimap-inhibit-logging
1702 command))) 1711 "(inhibited)\n"
1712 command))))
1703 command) 1713 command)
1704 1714
1705(defun nnimap-command (&rest args) 1715(defun nnimap-command (&rest args)
diff --git a/lisp/gnus/nnir.el b/lisp/gnus/nnir.el
index 1d4f1c25a09..d1ca0213ed9 100644
--- a/lisp/gnus/nnir.el
+++ b/lisp/gnus/nnir.el
@@ -310,6 +310,7 @@ is `(valuefunc member)'."
310(defcustom nnir-ignored-newsgroups "" 310(defcustom nnir-ignored-newsgroups ""
311 "*A regexp to match newsgroups in the active file that should 311 "*A regexp to match newsgroups in the active file that should
312 be skipped when searching." 312 be skipped when searching."
313 :version "24.1"
313 :type '(regexp) 314 :type '(regexp)
314 :group 'nnir) 315 :group 'nnir)
315 316
@@ -324,6 +325,7 @@ with three items unique to nnir summary buffers:
324%g Article original short group name (string) 325%g Article original short group name (string)
325 326
326If nil this will use `gnus-summary-line-format'." 327If nil this will use `gnus-summary-line-format'."
328 :version "24.1"
327 :type '(string) 329 :type '(string)
328 :group 'nnir) 330 :group 'nnir)
329 331
@@ -335,6 +337,7 @@ retrieved header format.
335 337
336If this variable is nil, or if the provided function returns nil for a search 338If this variable is nil, or if the provided function returns nil for a search
337result, `gnus-retrieve-headers' will be called instead." 339result, `gnus-retrieve-headers' will be called instead."
340 :version "24.1"
338 :type '(function) 341 :type '(function)
339 :group 'nnir) 342 :group 'nnir)
340 343
@@ -342,6 +345,7 @@ result, `gnus-retrieve-headers' will be called instead."
342 "*The default IMAP search key for an nnir search. Must be one of 345 "*The default IMAP search key for an nnir search. Must be one of
343 the keys in `nnir-imap-search-arguments'. To use raw imap queries 346 the keys in `nnir-imap-search-arguments'. To use raw imap queries
344 by default set this to \"Imap\"." 347 by default set this to \"Imap\"."
348 :version "24.1"
345 :type `(choice ,@(mapcar (lambda (elem) (list 'const (car elem))) 349 :type `(choice ,@(mapcar (lambda (elem) (list 'const (car elem)))
346 nnir-imap-search-arguments)) 350 nnir-imap-search-arguments))
347 :group 'nnir) 351 :group 'nnir)
@@ -503,6 +507,7 @@ arrive at the correct group name, \"mail.misc\"."
503 507
504(defcustom nnir-notmuch-program "notmuch" 508(defcustom nnir-notmuch-program "notmuch"
505 "*Name of notmuch search executable." 509 "*Name of notmuch search executable."
510 :version "24.1"
506 :type '(string) 511 :type '(string)
507 :group 'nnir) 512 :group 'nnir)
508 513
@@ -513,6 +518,7 @@ Note that this should be a list. Ie, do NOT use the following:
513 (setq nnir-notmuch-additional-switches \"-i -w\") ; wrong 518 (setq nnir-notmuch-additional-switches \"-i -w\") ; wrong
514Instead, use this: 519Instead, use this:
515 (setq nnir-notmuch-additional-switches '(\"-i\" \"-w\"))" 520 (setq nnir-notmuch-additional-switches '(\"-i\" \"-w\"))"
521 :version "24.1"
516 :type '(repeat (string)) 522 :type '(repeat (string))
517 :group 'nnir) 523 :group 'nnir)
518 524
@@ -523,6 +529,7 @@ regular expression.
523 529
524This variable is very similar to `nnir-namazu-remove-prefix', except 530This variable is very similar to `nnir-namazu-remove-prefix', except
525that it is for notmuch, not Namazu." 531that it is for notmuch, not Namazu."
532 :version "24.1"
526 :type '(regexp) 533 :type '(regexp)
527 :group 'nnir) 534 :group 'nnir)
528 535
@@ -573,6 +580,7 @@ Add an entry here when adding a new search engine.")
573 '((nnimap . imap) 580 '((nnimap . imap)
574 (nntp . gmane)) 581 (nntp . gmane))
575 "*Alist of default search engines keyed by server method." 582 "*Alist of default search engines keyed by server method."
583 :version "24.1"
576 :type `(repeat (cons (choice (const nnimap) (const nttp) (const nnspool) 584 :type `(repeat (cons (choice (const nnimap) (const nttp) (const nnspool)
577 (const nneething) (const nndir) (const nnmbox) 585 (const nneething) (const nndir) (const nnmbox)
578 (const nnml) (const nnmh) (const nndraft) 586 (const nnml) (const nnmh) (const nndraft)
diff --git a/lisp/gnus/nnml.el b/lisp/gnus/nnml.el
index acb23ed1693..b8652600ae7 100644
--- a/lisp/gnus/nnml.el
+++ b/lisp/gnus/nnml.el
@@ -1298,6 +1298,9 @@ Use the nov database for the current group if available."
1298 (nnml-save-nov) 1298 (nnml-save-nov)
1299 ;; b/ Save the active file: 1299 ;; b/ Save the active file:
1300 (nnmail-save-active nnml-group-alist nnml-active-file) 1300 (nnmail-save-active nnml-group-alist nnml-active-file)
1301 (let ((marks (nnml-group-pathname group nnml-marks-file-name server)))
1302 (when (file-exists-p marks)
1303 (delete-file marks)))
1301 t))))) 1304 t)))))
1302 1305
1303(defun nnml-request-compact (&optional server) 1306(defun nnml-request-compact (&optional server)
diff --git a/lisp/gnus/shr.el b/lisp/gnus/shr.el
index 386c9c62b67..47622f5183d 100644
--- a/lisp/gnus/shr.el
+++ b/lisp/gnus/shr.el
@@ -35,6 +35,7 @@
35 35
36(defgroup shr nil 36(defgroup shr nil
37 "Simple HTML Renderer" 37 "Simple HTML Renderer"
38 :version "24.1"
38 :group 'mail) 39 :group 'mail)
39 40
40(defcustom shr-max-image-proportion 0.9 41(defcustom shr-max-image-proportion 0.9
@@ -556,7 +557,8 @@ the URL of the image to the kill buffer instead."
556 (insert alt))) 557 (insert alt)))
557 558
558(defun shr-rescale-image (data) 559(defun shr-rescale-image (data)
559 (let ((image (create-image data nil t :ascent 100))) 560 (let* ((max-image-size nil)
561 (image (create-image data nil t :ascent 100)))
560 (if (or (not (fboundp 'imagemagick-types)) 562 (if (or (not (fboundp 'imagemagick-types))
561 (not (get-buffer-window (current-buffer)))) 563 (not (get-buffer-window (current-buffer))))
562 image 564 image
diff --git a/lisp/gnus/sieve-manage.el b/lisp/gnus/sieve-manage.el
index 4712cab6bff..74bcbcc7899 100644
--- a/lisp/gnus/sieve-manage.el
+++ b/lisp/gnus/sieve-manage.el
@@ -157,6 +157,7 @@ for doing the actual authentication."
157(defcustom sieve-manage-default-stream 'network 157(defcustom sieve-manage-default-stream 'network
158 "Default stream type to use for `sieve-manage'. 158 "Default stream type to use for `sieve-manage'.
159Must be a name of a stream in `sieve-manage-stream-alist'." 159Must be a name of a stream in `sieve-manage-stream-alist'."
160 :version "24.1"
160 :type 'symbol 161 :type 'symbol
161 :group 'sieve-manage) 162 :group 'sieve-manage)
162 163
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index 183253878f5..0175ffa4d9a 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -707,12 +707,19 @@ it is displayed along with the global value."
707 (with-current-buffer standard-output 707 (with-current-buffer standard-output
708 (setq val-start-pos (point)) 708 (setq val-start-pos (point))
709 (princ "value is ") 709 (princ "value is ")
710 (let ((from (point))) 710 (let ((from (point))
711 (terpri) 711 (line-beg (line-beginning-position))
712 (pp val) 712 ;;
713 (if (< (point) (+ 68 (line-beginning-position 0))) 713 (print-rep
714 (delete-region from (1+ from)) 714 (let ((print-quoted t))
715 (delete-region (1- from) from)) 715 (prin1-to-string val))))
716 (if (< (+ (length print-rep) (point) (- line-beg)) 68)
717 (insert print-rep)
718 (terpri)
719 (pp val)
720 (if (< (point) (+ 68 (line-beginning-position 0)))
721 (delete-region from (1+ from))
722 (delete-region (1- from) from)))
716 (let* ((sv (get variable 'standard-value)) 723 (let* ((sv (get variable 'standard-value))
717 (origval (and (consp sv) 724 (origval (and (consp sv)
718 (condition-case nil 725 (condition-case nil
diff --git a/lisp/international/characters.el b/lisp/international/characters.el
index d7b55d56093..4b8ed3e21e2 100644
--- a/lisp/international/characters.el
+++ b/lisp/international/characters.el
@@ -1372,7 +1372,7 @@ METHOD must be one of these symbols:
1372 `acronym': display an acronym of the character in a box. The 1372 `acronym': display an acronym of the character in a box. The
1373 acronym is taken from `char-acronym-table', which see. 1373 acronym is taken from `char-acronym-table', which see.
1374 `hex-code': display the hexadecimal character code in a box." 1374 `hex-code': display the hexadecimal character code in a box."
1375 1375 :version "24.1"
1376 :type '(alist :key-type (symbol :tag "Character Group") 1376 :type '(alist :key-type (symbol :tag "Character Group")
1377 :value-type (symbol :tag "Display Method")) 1377 :value-type (symbol :tag "Display Method"))
1378 :options '((c0-control 1378 :options '((c0-control
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index 378cbc9badd..a7fac427e41 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -1,6 +1,6 @@
1;;; mule-cmds.el --- commands for multilingual environment -*-coding: iso-2022-7bit -*- 1;;; mule-cmds.el --- commands for multilingual environment -*-coding: iso-2022-7bit -*-
2 2
3;; Copyright (C) 1997-2012 Free Software Foundation, Inc. 3;; Copyright (C) 1997-2012 Free Software Foundation, Inc.
4;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 4;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
5;; 2005, 2006, 2007, 2008, 2009, 2010, 2011 5;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
6;; National Institute of Advanced Industrial Science and Technology (AIST) 6;; National Institute of Advanced Industrial Science and Technology (AIST)
@@ -2863,13 +2863,18 @@ on encoding."
2863;; Backwards compatibility. These might be better with :init-value t, 2863;; Backwards compatibility. These might be better with :init-value t,
2864;; but that breaks loadup. 2864;; but that breaks loadup.
2865(define-minor-mode unify-8859-on-encoding-mode 2865(define-minor-mode unify-8859-on-encoding-mode
2866 "Obsolete." 2866 "Exists only for backwards compatibility."
2867 :group 'mule 2867 :group 'mule
2868 :global t) 2868 :global t)
2869;; Doc said "obsolete" in 23.1, this statement only added in 24.1.
2870(make-obsolete 'unify-8859-on-encoding-mode "don't use it." "23.1")
2871
2869(define-minor-mode unify-8859-on-decoding-mode 2872(define-minor-mode unify-8859-on-decoding-mode
2870 "Obsolete." 2873 "Exists only for backwards compatibility."
2871 :group 'mule 2874 :group 'mule
2872 :global t) 2875 :global t)
2876;; Doc said "obsolete" in 23.1, this statement only added in 24.1.
2877(make-obsolete 'unify-8859-on-decoding-mode "don't use it." "23.1")
2873 2878
2874(defvar nonascii-insert-offset 0) 2879(defvar nonascii-insert-offset 0)
2875(make-obsolete-variable 'nonascii-insert-offset "do not use it." "23.1") 2880(make-obsolete-variable 'nonascii-insert-offset "do not use it." "23.1")
diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el
index 20b436172ba..50fcfceee35 100644
--- a/lisp/mail/emacsbug.el
+++ b/lisp/mail/emacsbug.el
@@ -32,6 +32,9 @@
32 32
33;;; Code: 33;;; Code:
34 34
35(require 'sendmail)
36(require 'message)
37
35(defgroup emacsbug nil 38(defgroup emacsbug nil
36 "Sending Emacs bug reports." 39 "Sending Emacs bug reports."
37 :group 'maint 40 :group 'maint
@@ -365,26 +368,7 @@ usually do not have translators for other languages.\n\n")))
365 (string-equal (buffer-substring-no-properties (point-min) (point)) 368 (string-equal (buffer-substring-no-properties (point-min) (point))
366 report-emacs-bug-orig-text) 369 report-emacs-bug-orig-text)
367 (error "No text entered in bug report")) 370 (error "No text entered in bug report"))
368 (or report-emacs-bug-no-confirmation 371 ;; Warning for novice users.
369 ;; mailclient.el does not handle From (at present).
370 (if (derived-mode-p 'message-mode)
371 (eq message-send-mail-function 'message-send-mail-with-mailclient)
372 (eq send-mail-function 'mailclient-send-it))
373 ;; Not narrowing to the headers, but that's OK.
374 (let ((from (mail-fetch-field "From")))
375 (and (or (not from)
376 (message-bogus-recipient-p from)
377 ;; This is the default user-mail-address. On today's
378 ;; systems, it seems more likely to be wrong than right,
379 ;; since most people don't run their own mail server.
380 (string-match (format "\\<%s@%s\\>"
381 (regexp-quote (user-login-name))
382 (regexp-quote (system-name)))
383 from))
384 (not (yes-or-no-p
385 (format "Is `%s' really your email address? " from)))
386 (error "Please edit the From address and try again"))))
387 ;; The last warning for novice users.
388 (unless (or report-emacs-bug-no-confirmation 372 (unless (or report-emacs-bug-no-confirmation
389 (yes-or-no-p 373 (yes-or-no-p
390 "Send this bug report to the Emacs maintainers? ")) 374 "Send this bug report to the Emacs maintainers? "))
@@ -407,7 +391,32 @@ and send the mail again%s."
407 report-emacs-bug-send-command) 391 report-emacs-bug-send-command)
408 ""))))) 392 "")))))
409 (error "M-x report-emacs-bug was cancelled, please read *Bug Help* buffer")) 393 (error "M-x report-emacs-bug was cancelled, please read *Bug Help* buffer"))
410 394 ;; Query the user for the SMTP method, so that we can skip
395 ;; questions about From header validity if the user is going to
396 ;; use mailclient, anyway.
397 (when (eq send-mail-function 'sendmail-query-once)
398 (sendmail-query-user-about-smtp)
399 (when (derived-mode-p 'message-mode)
400 (setq message-send-mail-function (message-default-send-mail-function))))
401 (or report-emacs-bug-no-confirmation
402 ;; mailclient.el does not need a valid From
403 (if (derived-mode-p 'message-mode)
404 (eq message-send-mail-function 'message-send-mail-with-mailclient)
405 (eq send-mail-function 'mailclient-send-it))
406 ;; Not narrowing to the headers, but that's OK.
407 (let ((from (mail-fetch-field "From")))
408 (and (or (not from)
409 (message-bogus-recipient-p from)
410 ;; This is the default user-mail-address. On today's
411 ;; systems, it seems more likely to be wrong than right,
412 ;; since most people don't run their own mail server.
413 (string-match (format "\\<%s@%s\\>"
414 (regexp-quote (user-login-name))
415 (regexp-quote (system-name)))
416 from))
417 (not (yes-or-no-p
418 (format "Is `%s' really your email address? " from)))
419 (error "Please edit the From address and try again"))))
411 ;; Delete the uninteresting text that was just to help fill out the report. 420 ;; Delete the uninteresting text that was just to help fill out the report.
412 (rfc822-goto-eoh) 421 (rfc822-goto-eoh)
413 (forward-line 1) 422 (forward-line 1)
diff --git a/lisp/mail/feedmail.el b/lisp/mail/feedmail.el
index 7e3d983a76c..e45bbfe2ca0 100644
--- a/lisp/mail/feedmail.el
+++ b/lisp/mail/feedmail.el
@@ -428,6 +428,7 @@ any other non-nil value, take the action in both cases. Even if
428you're not confirming the sending of immediate or queued messages, 428you're not confirming the sending of immediate or queued messages,
429it can still be interesting to see a lot about them as they are 429it can still be interesting to see a lot about them as they are
430shuttled robotically onward." 430shuttled robotically onward."
431 :version "24.1"
431 :group 'feedmail-misc 432 :group 'feedmail-misc
432 :type 'boolean 433 :type 'boolean
433 ) 434 )
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el
index 18d928e4b90..91e0b183a68 100644
--- a/lisp/mail/sendmail.el
+++ b/lisp/mail/sendmail.el
@@ -513,48 +513,51 @@ This also saves the value of `send-mail-function' via Customize."
513 ;; a second time, probably because someone's using an old value 513 ;; a second time, probably because someone's using an old value
514 ;; of send-mail-function. 514 ;; of send-mail-function.
515 (when (eq send-mail-function 'sendmail-query-once) 515 (when (eq send-mail-function 'sendmail-query-once)
516 (let* ((options `(("mail client" . mailclient-send-it) 516 (sendmail-query-user-about-smtp))
517 ,@(when (and sendmail-program 517 (funcall send-mail-function))
518 (executable-find sendmail-program)) 518
519 '(("transport" . sendmail-send-it))) 519(defun sendmail-query-user-about-smtp ()
520 ("smtp" . smtpmail-send-it))) 520 (let* ((options `(("mail client" . mailclient-send-it)
521 (choice 521 ,@(when (and sendmail-program
522 ;; Query the user. 522 (executable-find sendmail-program))
523 (with-temp-buffer 523 '(("transport" . sendmail-send-it)))
524 (rename-buffer "*Emacs Mail Setup Help*" t) 524 ("smtp" . smtpmail-send-it)))
525 (insert "\ 525 (choice
526 ;; Query the user.
527 (with-temp-buffer
528 (rename-buffer "*Emacs Mail Setup Help*" t)
529 (insert "\
526 Emacs is about to send an email message, but it has not been 530 Emacs is about to send an email message, but it has not been
527 configured for sending email. To tell Emacs how to send email: 531 configured for sending email. To tell Emacs how to send email:
528 532
529 - Type `" 533 - Type `"
530 (propertize "mail client" 'face 'bold) 534 (propertize "mail client" 'face 'bold)
531 "' to start your default email client and 535 "' to start your default email client and
532 pass it the message text.\n\n") 536 pass it the message text.\n\n")
533 (and sendmail-program 537 (and sendmail-program
534 (executable-find sendmail-program) 538 (executable-find sendmail-program)
535 (insert "\ 539 (insert "\
536 - Type `" 540 - Type `"
537 (propertize "transport" 'face 'bold) 541 (propertize "transport" 'face 'bold)
538 "' to invoke the system's mail transport agent 542 "' to invoke the system's mail transport agent
539 (the `" 543 (the `"
540 sendmail-program 544 sendmail-program
541 "' program).\n\n")) 545 "' program).\n\n"))
542 (insert "\ 546 (insert "\
543 - Type `" 547 - Type `"
544 (propertize "smtp" 'face 'bold) 548 (propertize "smtp" 'face 'bold)
545 "' to send mail directly to an \"outgoing mail\" server. 549 "' to send mail directly to an \"outgoing mail\" server.
546 (Emacs may prompt you for SMTP settings). 550 (Emacs may prompt you for SMTP settings).
547 551
548 Emacs will record your selection and will use it thereafter. 552 Emacs will record your selection and will use it thereafter.
549 To change it later, customize the option `send-mail-function'.\n") 553 To change it later, customize the option `send-mail-function'.\n")
550 (goto-char (point-min)) 554 (goto-char (point-min))
551 (display-buffer (current-buffer)) 555 (display-buffer (current-buffer))
552 (let ((completion-ignore-case t)) 556 (let ((completion-ignore-case t))
553 (completing-read "Send mail via: " 557 (completing-read "Send mail via: "
554 options nil 'require-match))))) 558 options nil 'require-match)))))
555 (customize-save-variable 'send-mail-function 559 (customize-save-variable 'send-mail-function
556 (cdr (assoc-string choice options t))))) 560 (cdr (assoc-string choice options t)))))
557 (funcall send-mail-function))
558 561
559(defun sendmail-sync-aliases () 562(defun sendmail-sync-aliases ()
560 (when mail-personal-alias-file 563 (when mail-personal-alias-file
diff --git a/lisp/man.el b/lisp/man.el
index fb315352749..7698cc255b7 100644
--- a/lisp/man.el
+++ b/lisp/man.el
@@ -224,6 +224,7 @@ the associated section number."
224(defcustom Man-name-local-regexp (concat "^" (regexp-opt '("NOM" "NAME")) "$") 224(defcustom Man-name-local-regexp (concat "^" (regexp-opt '("NOM" "NAME")) "$")
225 "Regexp that matches the text that precedes the command's name. 225 "Regexp that matches the text that precedes the command's name.
226Used in `bookmark-set' to get the default bookmark name." 226Used in `bookmark-set' to get the default bookmark name."
227 :version "24.1"
227 :type 'string :group 'bookmark) 228 :type 'string :group 'bookmark)
228 229
229(defvar manual-program "man" 230(defvar manual-program "man"
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index cb2f2d76384..611df1eb6d9 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -510,6 +510,7 @@ Each override has the shape (CATEGORY . ALIST) where ALIST is
510an association list that can specify properties such as: 510an association list that can specify properties such as:
511- `styles': the list of `completion-styles' to use for that category. 511- `styles': the list of `completion-styles' to use for that category.
512- `cycle': the `completion-cycle-threshold' to use for that category." 512- `cycle': the `completion-cycle-threshold' to use for that category."
513 :version "24.1"
513 :type `(alist :key-type (choice :tag "Category" 514 :type `(alist :key-type (choice :tag "Category"
514 (const buffer) 515 (const buffer)
515 (const file) 516 (const file)
@@ -612,6 +613,7 @@ If nil, cycling is never used.
612If t, cycling is always used. 613If t, cycling is always used.
613If an integer, cycling is used as soon as there are fewer completion 614If an integer, cycling is used as soon as there are fewer completion
614candidates than this number." 615candidates than this number."
616 :version "24.1"
615 :type completion--cycling-threshold-type) 617 :type completion--cycling-threshold-type)
616 618
617(defun completion--cycle-threshold (metadata) 619(defun completion--cycle-threshold (metadata)
@@ -2009,12 +2011,19 @@ DIR should be an absolute directory name. It defaults to the value of
2009If this command was invoked with the mouse, use a graphical file 2011If this command was invoked with the mouse, use a graphical file
2010dialog if `use-dialog-box' is non-nil, and the window system or X 2012dialog if `use-dialog-box' is non-nil, and the window system or X
2011toolkit in use provides a file dialog box, and DIR is not a 2013toolkit in use provides a file dialog box, and DIR is not a
2012remote file. For graphical file dialogs, any the special values 2014remote file. For graphical file dialogs, any of the special values
2013of MUSTMATCH; `confirm' and `confirm-after-completion' are 2015of MUSTMATCH `confirm' and `confirm-after-completion' are
2014treated as equivalent to nil. 2016treated as equivalent to nil. Some graphical file dialogs respect
2017a MUSTMATCH value of t, and some do not (or it only has a cosmetic
2018effect, and does not actually prevent the user from entering a
2019non-existent file).
2015 2020
2016See also `read-file-name-completion-ignore-case' 2021See also `read-file-name-completion-ignore-case'
2017and `read-file-name-function'." 2022and `read-file-name-function'."
2023 ;; If x-gtk-use-old-file-dialog = t (xg_get_file_with_selection),
2024 ;; then MUSTMATCH is enforced. But with newer Gtk
2025 ;; (xg_get_file_with_chooser), it only has a cosmetic effect.
2026 ;; The user can still type a non-existent file name.
2018 (funcall (or read-file-name-function #'read-file-name-default) 2027 (funcall (or read-file-name-function #'read-file-name-default)
2019 prompt dir default-filename mustmatch initial predicate)) 2028 prompt dir default-filename mustmatch initial predicate))
2020 2029
@@ -2310,6 +2319,7 @@ Those chars are treated as delimiters iff this variable is non-nil.
2310I.e. if non-nil, M-x SPC will just insert a \"-\" in the minibuffer, whereas 2319I.e. if non-nil, M-x SPC will just insert a \"-\" in the minibuffer, whereas
2311if nil, it will list all possible commands in *Completions* because none of 2320if nil, it will list all possible commands in *Completions* because none of
2312the commands start with a \"-\" or a SPC." 2321the commands start with a \"-\" or a SPC."
2322 :version "24.1"
2313 :type 'boolean) 2323 :type 'boolean)
2314 2324
2315(defun completion-pcm--pattern-trivial-p (pattern) 2325(defun completion-pcm--pattern-trivial-p (pattern)
diff --git a/lisp/net/gnutls.el b/lisp/net/gnutls.el
index 17fef277736..9b734637103 100644
--- a/lisp/net/gnutls.el
+++ b/lisp/net/gnutls.el
@@ -39,6 +39,7 @@
39 39
40(defgroup gnutls nil 40(defgroup gnutls nil
41 "Emacs interface to the GnuTLS library." 41 "Emacs interface to the GnuTLS library."
42 :version "24.1"
42 :prefix "gnutls-" 43 :prefix "gnutls-"
43 :group 'net-utils) 44 :group 'net-utils)
44 45
@@ -46,8 +47,22 @@
46 "If non-nil, this should be a TLS priority string. 47 "If non-nil, this should be a TLS priority string.
47For instance, if you want to skip the \"dhe-rsa\" algorithm, 48For instance, if you want to skip the \"dhe-rsa\" algorithm,
48set this variable to \"normal:-dhe-rsa\"." 49set this variable to \"normal:-dhe-rsa\"."
50 :group 'gnutls
49 :type '(choice (const nil) 51 :type '(choice (const nil)
50 string)) 52 string))
53
54(defcustom gnutls-trustfiles
55 '(
56 "/etc/ssl/certs/ca-certificates.crt" ; Debian, Ubuntu, Gentoo and Arch Linux
57 "/etc/pki/tls/certs/ca-bundle.crt" ; Fedora and RHEL
58 "/etc/ssl/ca-bundle.pem" ; Suse
59 )
60 "List of CA bundle location filenames or a function returning said list.
61The files may be in PEM or DER format, as per the GnuTLS documentation.
62The files may not exist, in which case they will be ignored."
63 :group 'gnutls
64 :type '(choice (function :tag "Function to produce list of bundle filenames")
65 (repeat (file :tag "Bundle filename"))))
51 66
52;;;###autoload 67;;;###autoload
53(defcustom gnutls-min-prime-bits nil 68(defcustom gnutls-min-prime-bits nil
@@ -116,7 +131,7 @@ TYPE is `gnutls-x509pki' (default) or `gnutls-anon'. Use nil for the default.
116PROCESS is a process returned by `open-network-stream'. 131PROCESS is a process returned by `open-network-stream'.
117HOSTNAME is the remote hostname. It must be a valid string. 132HOSTNAME is the remote hostname. It must be a valid string.
118PRIORITY-STRING is as per the GnuTLS docs, default is \"NORMAL\". 133PRIORITY-STRING is as per the GnuTLS docs, default is \"NORMAL\".
119TRUSTFILES is a list of CA bundles. 134TRUSTFILES is a list of CA bundles. It defaults to `gnutls-trustfiles'.
120CRLFILES is a list of CRL files. 135CRLFILES is a list of CRL files.
121KEYLIST is an alist of (client key file, client cert file) pairs. 136KEYLIST is an alist of (client key file, client cert file) pairs.
122MIN-PRIME-BITS is the minimum acceptable size of Diffie-Hellman keys 137MIN-PRIME-BITS is the minimum acceptable size of Diffie-Hellman keys
@@ -154,18 +169,20 @@ here's a recent version of the list.
154It must be omitted, a number, or nil; if omitted or nil it 169It must be omitted, a number, or nil; if omitted or nil it
155defaults to GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT." 170defaults to GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT."
156 (let* ((type (or type 'gnutls-x509pki)) 171 (let* ((type (or type 'gnutls-x509pki))
157 (default-trustfile "/etc/ssl/certs/ca-certificates.crt")
158 (trustfiles (or trustfiles 172 (trustfiles (or trustfiles
159 (when (file-exists-p default-trustfile) 173 (delq nil
160 (list default-trustfile)))) 174 (mapcar (lambda (f) (and f (file-exists-p f) f))
175 (if (functionp gnutls-trustfiles)
176 (funcall gnutls-trustfiles)
177 gnutls-trustfiles)))))
161 (priority-string (or priority-string 178 (priority-string (or priority-string
162 (cond 179 (cond
163 ((eq type 'gnutls-anon) 180 ((eq type 'gnutls-anon)
164 "NORMAL:+ANON-DH:!ARCFOUR-128") 181 "NORMAL:+ANON-DH:!ARCFOUR-128")
165 ((eq type 'gnutls-x509pki) 182 ((eq type 'gnutls-x509pki)
166 (if gnutls-algorithm-priority 183 (if gnutls-algorithm-priority
167 (upcase gnutls-algorithm-priority) 184 (upcase gnutls-algorithm-priority)
168 "NORMAL"))))) 185 "NORMAL")))))
169 (min-prime-bits (or min-prime-bits gnutls-min-prime-bits)) 186 (min-prime-bits (or min-prime-bits gnutls-min-prime-bits))
170 (params `(:priority ,priority-string 187 (params `(:priority ,priority-string
171 :hostname ,hostname 188 :hostname ,hostname
diff --git a/lisp/net/netrc.el b/lisp/net/netrc.el
index 070b32a63d0..16d9203ba04 100644
--- a/lisp/net/netrc.el
+++ b/lisp/net/netrc.el
@@ -39,6 +39,7 @@
39 39
40(defcustom netrc-file "~/.authinfo" 40(defcustom netrc-file "~/.authinfo"
41 "File where user credentials are stored." 41 "File where user credentials are stored."
42 :version "24.1"
42 :type 'file 43 :type 'file
43 :group 'netrc) 44 :group 'netrc)
44 45
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index b8bf270d87c..1c74e6190dc 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -2384,6 +2384,7 @@ keywords when no KEYWORD is given."
2384 (delete-region (match-beginning 1) (match-end 1)) 2384 (delete-region (match-beginning 1) (match-end 1))
2385 (goto-char (match-beginning 1))) 2385 (goto-char (match-beginning 1)))
2386 ;; remove the ^O characters now 2386 ;; remove the ^O characters now
2387 (goto-char (point-min))
2387 (while (re-search-forward "\C-o+" nil t) 2388 (while (re-search-forward "\C-o+" nil t)
2388 (delete-region (match-beginning 0) (match-end 0)))) 2389 (delete-region (match-beginning 0) (match-end 0))))
2389 2390
diff --git a/lisp/net/soap-client.el b/lisp/net/soap-client.el
index dfa2b76899a..e17b283c55f 100644
--- a/lisp/net/soap-client.el
+++ b/lisp/net/soap-client.el
@@ -55,6 +55,7 @@
55 55
56(defgroup soap-client nil 56(defgroup soap-client nil
57 "Access SOAP web services from Emacs." 57 "Access SOAP web services from Emacs."
58 :version "24.1"
58 :group 'tools) 59 :group 'tools)
59 60
60;;;; Support for parsing XML documents with namespaces 61;;;; Support for parsing XML documents with namespaces
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index f13315bc662..851b11629f4 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -181,6 +181,7 @@ See the variable `tramp-encoding-shell' for more information."
181 (unless (string-match "cmd\\.exe" tramp-encoding-shell) "-i") 181 (unless (string-match "cmd\\.exe" tramp-encoding-shell) "-i")
182 "*Use this switch together with `tramp-encoding-shell' for interactive shells. 182 "*Use this switch together with `tramp-encoding-shell' for interactive shells.
183See the variable `tramp-encoding-shell' for more information." 183See the variable `tramp-encoding-shell' for more information."
184 :version "24.1"
184 :group 'tramp 185 :group 'tramp
185 :type '(choice (const nil) string)) 186 :type '(choice (const nil) string))
186 187
@@ -463,6 +464,7 @@ the remote shell.")
463(defcustom tramp-local-end-of-line 464(defcustom tramp-local-end-of-line
464 (if (memq system-type '(windows-nt)) "\r\n" "\n") 465 (if (memq system-type '(windows-nt)) "\r\n" "\n")
465 "*String used for end of line in local processes." 466 "*String used for end of line in local processes."
467 :version "24.1"
466 :group 'tramp 468 :group 'tramp
467 :type 'string) 469 :type 'string)
468 470
diff --git a/lisp/nxml/rng-valid.el b/lisp/nxml/rng-valid.el
index 6fc696361e8..61b583b56c2 100644
--- a/lisp/nxml/rng-valid.el
+++ b/lisp/nxml/rng-valid.el
@@ -475,7 +475,7 @@ The schema is set like `rng-auto-set-schema'."
475 (save-restriction 475 (save-restriction
476 (widen) 476 (widen)
477 (nxml-with-invisible-motion 477 (nxml-with-invisible-motion
478 (condition-case-no-debug err 478 (condition-case-unless-debug err
479 (and (rng-validate-prepare) 479 (and (rng-validate-prepare)
480 (let ((rng-dt-namespace-context-getter '(nxml-ns-get-context))) 480 (let ((rng-dt-namespace-context-getter '(nxml-ns-get-context)))
481 (nxml-with-unmodifying-text-property-changes 481 (nxml-with-unmodifying-text-property-changes
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index be0f86ddd7e..95b43e763d5 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -2129,7 +2129,7 @@ comment at the start of cc-engine.el for more info."
2129 (widen) 2129 (widen)
2130 (save-excursion 2130 (save-excursion
2131 (let ((c c-state-nonlit-pos-cache) 2131 (let ((c c-state-nonlit-pos-cache)
2132 pos npos lit macro-beg) 2132 pos npos lit macro-beg macro-end)
2133 ;; Trim the cache to take account of buffer changes. 2133 ;; Trim the cache to take account of buffer changes.
2134 (while (and c (> (car c) c-state-nonlit-pos-cache-limit)) 2134 (while (and c (> (car c) c-state-nonlit-pos-cache-limit))
2135 (setq c (cdr c))) 2135 (setq c (cdr c)))
@@ -2143,28 +2143,29 @@ comment at the start of cc-engine.el for more info."
2143 ;; Add an element to `c-state-nonlit-pos-cache' each iteration. 2143 ;; Add an element to `c-state-nonlit-pos-cache' each iteration.
2144 (and 2144 (and
2145 (<= (setq npos (+ pos c-state-nonlit-pos-interval)) here) 2145 (<= (setq npos (+ pos c-state-nonlit-pos-interval)) here)
2146
2147 ;; Test for being in a literal.
2146 (progn 2148 (progn
2147 (setq lit (car (cddr (c-state-pp-to-literal pos npos)))) 2149 (setq lit (car (cddr (c-state-pp-to-literal pos npos))))
2148 (cond 2150 (or (null lit)
2149 ((null lit) 2151 (prog1 (<= (cdr lit) here)
2150 (setq pos npos) 2152 (setq npos (cdr lit)))))
2151 t)
2152 ((<= (cdr lit) here)
2153 (setq pos (cdr lit))
2154 t)
2155 (t
2156 (setq pos (car lit))
2157 nil))))
2158 2153
2159 (goto-char pos) 2154 ;; Test for being in a macro.
2160 (when (and (c-beginning-of-macro) (/= (point) pos)) 2155 (progn
2161 (setq macro-beg (point)) 2156 (goto-char npos)
2162 (c-syntactic-end-of-macro) 2157 (setq macro-beg
2163 (or (eobp) (forward-char)) 2158 (and (c-beginning-of-macro) (/= (point) npos) (point)))
2164 (setq pos (if (<= (point) here) 2159 (when macro-beg
2165 (point) 2160 (c-syntactic-end-of-macro)
2166 macro-beg))) 2161 (or (eobp) (forward-char))
2167 (setq c-state-nonlit-pos-cache (cons pos c-state-nonlit-pos-cache))) 2162 (setq macro-end (point)))
2163 (or (null macro-beg)
2164 (prog1 (<= macro-end here)
2165 (setq npos macro-end)))))
2166
2167 (setq pos npos)
2168 (setq c-state-nonlit-pos-cache (cons pos c-state-nonlit-pos-cache)))
2168 2169
2169 (if (> pos c-state-nonlit-pos-cache-limit) 2170 (if (> pos c-state-nonlit-pos-cache-limit)
2170 (setq c-state-nonlit-pos-cache-limit pos)) 2171 (setq c-state-nonlit-pos-cache-limit pos))
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index 374c9b434d1..2eb00e72a76 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -1114,7 +1114,7 @@ Note that the style variables are always made local to the buffer."
1114 (goto-char (c-point 'bol new-pos)) 1114 (goto-char (c-point 'bol new-pos))
1115 (when lit-limits ; Comment or string. 1115 (when lit-limits ; Comment or string.
1116 (goto-char (car lit-limits))) 1116 (goto-char (car lit-limits)))
1117 (setq bod-lim (max (- (point) 500) (point-min))) 1117 (setq bod-lim (c-determine-limit 500))
1118 1118
1119 (while 1119 (while
1120 ;; Go to a less nested declaration each time round this loop. 1120 ;; Go to a less nested declaration each time round this loop.
@@ -1132,11 +1132,12 @@ Note that the style variables are always made local to the buffer."
1132 ;; Try and go out a level to search again. 1132 ;; Try and go out a level to search again.
1133 (progn 1133 (progn
1134 (c-backward-syntactic-ws bod-lim) 1134 (c-backward-syntactic-ws bod-lim)
1135 (or (memq (char-before) '(?\( ?\[)) 1135 (and (> (point) bod-lim)
1136 (and (eq (char-before) ?\<) 1136 (or (memq (char-before) '(?\( ?\[))
1137 (eq (c-get-char-property 1137 (and (eq (char-before) ?\<)
1138 (1- (point)) 'syntax-table) 1138 (eq (c-get-char-property
1139 c-<-as-paren-syntax)))) 1139 (1- (point)) 'syntax-table)
1140 c-<-as-paren-syntax)))))
1140 (not (bobp))) 1141 (not (bobp)))
1141 (backward-char)) 1142 (backward-char))
1142 new-pos)) ; back over (, [, <. 1143 new-pos)) ; back over (, [, <.
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el
index 8efe3f27002..5201e4a26ed 100644
--- a/lisp/progmodes/cc-vars.el
+++ b/lisp/progmodes/cc-vars.el
@@ -349,6 +349,7 @@ Its value is one of:
349 go-outward -- Nested functions are also recognized. Should a function 349 go-outward -- Nested functions are also recognized. Should a function
350 command hit the beginning/end of a nested scope, it will 350 command hit the beginning/end of a nested scope, it will
351 carry on at the less nested level." 351 carry on at the less nested level."
352 :version "24.1"
352 :type '(radio 353 :type '(radio
353 (const :tag "Functions are at the top-level" t) 354 (const :tag "Functions are at the top-level" t)
354 (const :tag "Functions are also recognized inside declaration scopes" go-outward)) 355 (const :tag "Functions are also recognized inside declaration scopes" go-outward))
diff --git a/lisp/progmodes/prolog.el b/lisp/progmodes/prolog.el
index b531fc0dc9c..bb72984a00b 100644
--- a/lisp/progmodes/prolog.el
+++ b/lisp/progmodes/prolog.el
@@ -329,7 +329,7 @@
329;; General configuration 329;; General configuration
330 330
331(defcustom prolog-system nil 331(defcustom prolog-system nil
332 "*Prolog interpreter/compiler used. 332 "Prolog interpreter/compiler used.
333The value of this variable is nil or a symbol. 333The value of this variable is nil or a symbol.
334If it is a symbol, it determines default values of other configuration 334If it is a symbol, it determines default values of other configuration
335variables with respect to properties of the specified Prolog 335variables with respect to properties of the specified Prolog
@@ -341,6 +341,7 @@ mercury - Mercury
341sicstus - SICStus Prolog 341sicstus - SICStus Prolog
342swi - SWI Prolog 342swi - SWI Prolog
343gnu - GNU Prolog" 343gnu - GNU Prolog"
344 :version "24.1"
344 :group 'prolog 345 :group 'prolog
345 :type '(choice (const :tag "SICStus" :value sicstus) 346 :type '(choice (const :tag "SICStus" :value sicstus)
346 (const :tag "SWI Prolog" :value swi) 347 (const :tag "SWI Prolog" :value swi)
@@ -361,63 +362,74 @@ gnu - GNU Prolog"
361 (eclipse (3 . 7)) 362 (eclipse (3 . 7))
362 (gnu (0 . 0))) 363 (gnu (0 . 0)))
363 ;; FIXME: This should be auto-detected instead of user-provided. 364 ;; FIXME: This should be auto-detected instead of user-provided.
364 "*Alist of Prolog system versions. 365 "Alist of Prolog system versions.
365The version numbers are of the format (Major . Minor)." 366The version numbers are of the format (Major . Minor)."
367 :version "24.1"
368 :type '(repeat (list (symbol :tag "System")
369 (cons :tag "Version numbers" (integer :tag "Major")
370 (integer :tag "Minor"))))
366 :group 'prolog) 371 :group 'prolog)
367 372
368;; Indentation 373;; Indentation
369 374
370(defcustom prolog-indent-width 4 375(defcustom prolog-indent-width 4
371 "*The indentation width used by the editing buffer." 376 "The indentation width used by the editing buffer."
372 :group 'prolog-indentation 377 :group 'prolog-indentation
373 :type 'integer) 378 :type 'integer)
374 379
375(defcustom prolog-align-comments-flag t 380(defcustom prolog-align-comments-flag t
376 "*Non-nil means automatically align comments when indenting." 381 "Non-nil means automatically align comments when indenting."
382 :version "24.1"
377 :group 'prolog-indentation 383 :group 'prolog-indentation
378 :type 'boolean) 384 :type 'boolean)
379 385
380(defcustom prolog-indent-mline-comments-flag t 386(defcustom prolog-indent-mline-comments-flag t
381 "*Non-nil means indent contents of /* */ comments. 387 "Non-nil means indent contents of /* */ comments.
382Otherwise leave such lines as they are." 388Otherwise leave such lines as they are."
389 :version "24.1"
383 :group 'prolog-indentation 390 :group 'prolog-indentation
384 :type 'boolean) 391 :type 'boolean)
385 392
386(defcustom prolog-object-end-to-0-flag t 393(defcustom prolog-object-end-to-0-flag t
387 "*Non-nil means indent closing '}' in SICStus object definitions to level 0. 394 "Non-nil means indent closing '}' in SICStus object definitions to level 0.
388Otherwise indent to `prolog-indent-width'." 395Otherwise indent to `prolog-indent-width'."
396 :version "24.1"
389 :group 'prolog-indentation 397 :group 'prolog-indentation
390 :type 'boolean) 398 :type 'boolean)
391 399
392(defcustom prolog-left-indent-regexp "\\(;\\|\\*?->\\)" 400(defcustom prolog-left-indent-regexp "\\(;\\|\\*?->\\)"
393 "*Regexp for character sequences after which next line is indented. 401 "Regexp for character sequences after which next line is indented.
394Next line after such a regexp is indented to the opening parenthesis level." 402Next line after such a regexp is indented to the opening parenthesis level."
403 :version "24.1"
395 :group 'prolog-indentation 404 :group 'prolog-indentation
396 :type 'regexp) 405 :type 'regexp)
397 406
398(defcustom prolog-paren-indent-p nil 407(defcustom prolog-paren-indent-p nil
399 "*If non-nil, increase indentation for parenthesis expressions. 408 "If non-nil, increase indentation for parenthesis expressions.
400The second and subsequent line in a parenthesis expression other than 409The second and subsequent line in a parenthesis expression other than
401a compound term can either be indented `prolog-paren-indent' to the 410a compound term can either be indented `prolog-paren-indent' to the
402right (if this variable is non-nil) or in the same way as for compound 411right (if this variable is non-nil) or in the same way as for compound
403terms (if this variable is nil, default)." 412terms (if this variable is nil, default)."
413 :version "24.1"
404 :group 'prolog-indentation 414 :group 'prolog-indentation
405 :type 'boolean) 415 :type 'boolean)
406 416
407(defcustom prolog-paren-indent 4 417(defcustom prolog-paren-indent 4
408 "*The indentation increase for parenthesis expressions. 418 "The indentation increase for parenthesis expressions.
409Only used in ( If -> Then ; Else) and ( Disj1 ; Disj2 ) style expressions." 419Only used in ( If -> Then ; Else) and ( Disj1 ; Disj2 ) style expressions."
420 :version "24.1"
410 :group 'prolog-indentation 421 :group 'prolog-indentation
411 :type 'integer) 422 :type 'integer)
412 423
413(defcustom prolog-parse-mode 'beg-of-clause 424(defcustom prolog-parse-mode 'beg-of-clause
414 "*The parse mode used (decides from which point parsing is done). 425 "The parse mode used (decides from which point parsing is done).
415Legal values: 426Legal values:
416'beg-of-line - starts parsing at the beginning of a line, unless the 427'beg-of-line - starts parsing at the beginning of a line, unless the
417 previous line ends with a backslash. Fast, but has 428 previous line ends with a backslash. Fast, but has
418 problems detecting multiline /* */ comments. 429 problems detecting multiline /* */ comments.
419'beg-of-clause - starts parsing at the beginning of the current clause. 430'beg-of-clause - starts parsing at the beginning of the current clause.
420 Slow, but copes better with /* */ comments." 431 Slow, but copes better with /* */ comments."
432 :version "24.1"
421 :group 'prolog-indentation 433 :group 'prolog-indentation
422 :type '(choice (const :value beg-of-line) 434 :type '(choice (const :value beg-of-line)
423 (const :value beg-of-clause))) 435 (const :value beg-of-clause)))
@@ -447,7 +459,8 @@ Legal values:
447 (t 459 (t
448 ;; FIXME: Shouldn't we just use the union of all the above here? 460 ;; FIXME: Shouldn't we just use the union of all the above here?
449 ("dynamic" "module"))) 461 ("dynamic" "module")))
450 "*Alist of Prolog keywords which is used for font locking of directives." 462 "Alist of Prolog keywords which is used for font locking of directives."
463 :version "24.1"
451 :group 'prolog-font-lock 464 :group 'prolog-font-lock
452 :type 'sexp) 465 :type 'sexp)
453 466
@@ -455,7 +468,8 @@ Legal values:
455 '((mercury 468 '((mercury
456 ("char" "float" "int" "io__state" "string" "univ")) 469 ("char" "float" "int" "io__state" "string" "univ"))
457 (t nil)) 470 (t nil))
458 "*Alist of Prolog types used by font locking." 471 "Alist of Prolog types used by font locking."
472 :version "24.1"
459 :group 'prolog-font-lock 473 :group 'prolog-font-lock
460 :type 'sexp) 474 :type 'sexp)
461 475
@@ -463,7 +477,8 @@ Legal values:
463 '((mercury 477 '((mercury
464 ("bound" "di" "free" "ground" "in" "mdi" "mui" "muo" "out" "ui" "uo")) 478 ("bound" "di" "free" "ground" "in" "mdi" "mui" "muo" "out" "ui" "uo"))
465 (t nil)) 479 (t nil))
466 "*Alist of Prolog mode specificators used by font locking." 480 "Alist of Prolog mode specificators used by font locking."
481 :version "24.1"
467 :group 'prolog-font-lock 482 :group 'prolog-font-lock
468 :type 'sexp) 483 :type 'sexp)
469 484
@@ -472,7 +487,8 @@ Legal values:
472 ("cc_multi" "cc_nondet" "det" "erroneous" "failure" "multi" "nondet" 487 ("cc_multi" "cc_nondet" "det" "erroneous" "failure" "multi" "nondet"
473 "semidet")) 488 "semidet"))
474 (t nil)) 489 (t nil))
475 "*Alist of Prolog determinism specificators used by font locking." 490 "Alist of Prolog determinism specificators used by font locking."
491 :version "24.1"
476 :group 'prolog-font-lock 492 :group 'prolog-font-lock
477 :type 'sexp) 493 :type 'sexp)
478 494
@@ -480,7 +496,8 @@ Legal values:
480 '((mercury 496 '((mercury
481 ("^#[0-9]+")) 497 ("^#[0-9]+"))
482 (t nil)) 498 (t nil))
483 "*Alist of Prolog source code directives used by font locking." 499 "Alist of Prolog source code directives used by font locking."
500 :version "24.1"
484 :group 'prolog-font-lock 501 :group 'prolog-font-lock
485 :type 'sexp) 502 :type 'sexp)
486 503
@@ -488,17 +505,19 @@ Legal values:
488;; Keyboard 505;; Keyboard
489 506
490(defcustom prolog-electric-newline-flag (not (fboundp 'electric-indent-mode)) 507(defcustom prolog-electric-newline-flag (not (fboundp 'electric-indent-mode))
491 "*Non-nil means automatically indent the next line when the user types RET." 508 "Non-nil means automatically indent the next line when the user types RET."
509 :version "24.1"
492 :group 'prolog-keyboard 510 :group 'prolog-keyboard
493 :type 'boolean) 511 :type 'boolean)
494 512
495(defcustom prolog-hungry-delete-key-flag nil 513(defcustom prolog-hungry-delete-key-flag nil
496 "*Non-nil means delete key consumes all preceding spaces." 514 "Non-nil means delete key consumes all preceding spaces."
515 :version "24.1"
497 :group 'prolog-keyboard 516 :group 'prolog-keyboard
498 :type 'boolean) 517 :type 'boolean)
499 518
500(defcustom prolog-electric-dot-flag nil 519(defcustom prolog-electric-dot-flag nil
501 "*Non-nil means make dot key electric. 520 "Non-nil means make dot key electric.
502Electric dot appends newline or inserts head of a new clause. 521Electric dot appends newline or inserts head of a new clause.
503If dot is pressed at the end of a line where at least one white space 522If dot is pressed at the end of a line where at least one white space
504precedes the point, it inserts a recursive call to the current predicate. 523precedes the point, it inserts a recursive call to the current predicate.
@@ -506,53 +525,61 @@ If dot is pressed at the beginning of an empty line, it inserts the head
506of a new clause for the current predicate. It does not apply in strings 525of a new clause for the current predicate. It does not apply in strings
507and comments. 526and comments.
508It does not apply in strings and comments." 527It does not apply in strings and comments."
528 :version "24.1"
509 :group 'prolog-keyboard 529 :group 'prolog-keyboard
510 :type 'boolean) 530 :type 'boolean)
511 531
512(defcustom prolog-electric-dot-full-predicate-template nil 532(defcustom prolog-electric-dot-full-predicate-template nil
513 "*If nil, electric dot inserts only the current predicate's name and `(' 533 "If nil, electric dot inserts only the current predicate's name and `('
514for recursive calls or new clause heads. Non-nil means to also 534for recursive calls or new clause heads. Non-nil means to also
515insert enough commas to cover the predicate's arity and `)', 535insert enough commas to cover the predicate's arity and `)',
516and dot and newline for recursive calls." 536and dot and newline for recursive calls."
537 :version "24.1"
517 :group 'prolog-keyboard 538 :group 'prolog-keyboard
518 :type 'boolean) 539 :type 'boolean)
519 540
520(defcustom prolog-electric-underscore-flag nil 541(defcustom prolog-electric-underscore-flag nil
521 "*Non-nil means make underscore key electric. 542 "Non-nil means make underscore key electric.
522Electric underscore replaces the current variable with underscore. 543Electric underscore replaces the current variable with underscore.
523If underscore is pressed not on a variable then it behaves as usual." 544If underscore is pressed not on a variable then it behaves as usual."
545 :version "24.1"
524 :group 'prolog-keyboard 546 :group 'prolog-keyboard
525 :type 'boolean) 547 :type 'boolean)
526 548
527(defcustom prolog-electric-tab-flag nil 549(defcustom prolog-electric-tab-flag nil
528 "*Non-nil means make TAB key electric. 550 "Non-nil means make TAB key electric.
529Electric TAB inserts spaces after parentheses, ->, and ; 551Electric TAB inserts spaces after parentheses, ->, and ;
530in ( If -> Then ; Else) and ( Disj1 ; Disj2 ) style expressions." 552in ( If -> Then ; Else) and ( Disj1 ; Disj2 ) style expressions."
553 :version "24.1"
531 :group 'prolog-keyboard 554 :group 'prolog-keyboard
532 :type 'boolean) 555 :type 'boolean)
533 556
534(defcustom prolog-electric-if-then-else-flag nil 557(defcustom prolog-electric-if-then-else-flag nil
535 "*Non-nil makes `(', `>' and `;' electric 558 "Non-nil makes `(', `>' and `;' electric
536to automatically indent if-then-else constructs." 559to automatically indent if-then-else constructs."
560 :version "24.1"
537 :group 'prolog-keyboard 561 :group 'prolog-keyboard
538 :type 'boolean) 562 :type 'boolean)
539 563
540(defcustom prolog-electric-colon-flag nil 564(defcustom prolog-electric-colon-flag nil
541 "*Makes `:' electric (inserts `:-' on a new line). 565 "Makes `:' electric (inserts `:-' on a new line).
542If non-nil, pressing `:' at the end of a line that starts in 566If non-nil, pressing `:' at the end of a line that starts in
543the first column (i.e., clause heads) inserts ` :-' and newline." 567the first column (i.e., clause heads) inserts ` :-' and newline."
568 :version "24.1"
544 :group 'prolog-keyboard 569 :group 'prolog-keyboard
545 :type 'boolean) 570 :type 'boolean)
546 571
547(defcustom prolog-electric-dash-flag nil 572(defcustom prolog-electric-dash-flag nil
548 "*Makes `-' electric (inserts a `-->' on a new line). 573 "Makes `-' electric (inserts a `-->' on a new line).
549If non-nil, pressing `-' at the end of a line that starts in 574If non-nil, pressing `-' at the end of a line that starts in
550the first column (i.e., DCG heads) inserts ` -->' and newline." 575the first column (i.e., DCG heads) inserts ` -->' and newline."
576 :version "24.1"
551 :group 'prolog-keyboard 577 :group 'prolog-keyboard
552 :type 'boolean) 578 :type 'boolean)
553 579
554(defcustom prolog-old-sicstus-keys-flag nil 580(defcustom prolog-old-sicstus-keys-flag nil
555 "*Non-nil means old SICStus Prolog mode keybindings are used." 581 "Non-nil means old SICStus Prolog mode keybindings are used."
582 :version "24.1"
556 :group 'prolog-keyboard 583 :group 'prolog-keyboard
557 :type 'boolean) 584 :type 'boolean)
558 585
@@ -570,7 +597,7 @@ the first column (i.e., DCG heads) inserts ` -->' and newline."
570 (not (executable-find (car names)))) 597 (not (executable-find (car names))))
571 (setq names (cdr names))) 598 (setq names (cdr names)))
572 (or (car names) "prolog")))) 599 (or (car names) "prolog"))))
573 "*Alist of program names for invoking an inferior Prolog with `run-prolog'." 600 "Alist of program names for invoking an inferior Prolog with `run-prolog'."
574 :group 'prolog-inferior 601 :group 'prolog-inferior
575 :type 'sexp) 602 :type 'sexp)
576(defun prolog-program-name () 603(defun prolog-program-name ()
@@ -579,7 +606,8 @@ the first column (i.e., DCG heads) inserts ` -->' and newline."
579(defcustom prolog-program-switches 606(defcustom prolog-program-switches
580 '((sicstus ("-i")) 607 '((sicstus ("-i"))
581 (t nil)) 608 (t nil))
582 "*Alist of switches given to inferior Prolog run with `run-prolog'." 609 "Alist of switches given to inferior Prolog run with `run-prolog'."
610 :version "24.1"
583 :group 'prolog-inferior 611 :group 'prolog-inferior
584 :type 'sexp) 612 :type 'sexp)
585(defun prolog-program-switches () 613(defun prolog-program-switches ()
@@ -594,7 +622,7 @@ the first column (i.e., DCG heads) inserts ` -->' and newline."
594 (swi "[%f].") 622 (swi "[%f].")
595 (gnu "[%f].") 623 (gnu "[%f].")
596 (t "reconsult(%f).")) 624 (t "reconsult(%f)."))
597 "*Alist of strings defining predicate for reconsulting. 625 "Alist of strings defining predicate for reconsulting.
598 626
599Some parts of the string are replaced: 627Some parts of the string are replaced:
600`%f' by the name of the consulted file (can be a temporary file) 628`%f' by the name of the consulted file (can be a temporary file)
@@ -616,7 +644,7 @@ Some parts of the string are replaced:
616 "prolog:zap_file(%m,%b,compile)."))) 644 "prolog:zap_file(%m,%b,compile).")))
617 (swi "[%f].") 645 (swi "[%f].")
618 (t "compile(%f).")) 646 (t "compile(%f)."))
619 "*Alist of strings and lists defining predicate for recompilation. 647 "Alist of strings and lists defining predicate for recompilation.
620 648
621Some parts of the string are replaced: 649Some parts of the string are replaced:
622`%f' by the name of the compiled file (can be a temporary file) 650`%f' by the name of the compiled file (can be a temporary file)
@@ -634,7 +662,7 @@ If `prolog-program-name' is nil, it is an argument to the `compile' function."
634 (prolog-find-value-by-system prolog-compile-string)) 662 (prolog-find-value-by-system prolog-compile-string))
635 663
636(defcustom prolog-eof-string "end_of_file.\n" 664(defcustom prolog-eof-string "end_of_file.\n"
637 "*Alist of strings that represent end of file for prolog. 665 "Alist of strings that represent end of file for prolog.
638nil means send actual operating system end of file." 666nil means send actual operating system end of file."
639 :group 'prolog-inferior 667 :group 'prolog-inferior
640 :type 'sexp) 668 :type 'sexp)
@@ -645,7 +673,8 @@ nil means send actual operating system end of file."
645 (swi "^\\(\\[[a-zA-Z]*\\] \\)?[1-9]?[0-9]*[ ]?\\?- \\|^| +") 673 (swi "^\\(\\[[a-zA-Z]*\\] \\)?[1-9]?[0-9]*[ ]?\\?- \\|^| +")
646 (gnu "^| \\?-") 674 (gnu "^| \\?-")
647 (t "^|? *\\?-")) 675 (t "^|? *\\?-"))
648 "*Alist of prompts of the prolog system command line." 676 "Alist of prompts of the prolog system command line."
677 :version "24.1"
649 :group 'prolog-inferior 678 :group 'prolog-inferior
650 :type 'sexp) 679 :type 'sexp)
651(defun prolog-prompt-regexp () 680(defun prolog-prompt-regexp ()
@@ -654,42 +683,48 @@ nil means send actual operating system end of file."
654;; (defcustom prolog-continued-prompt-regexp 683;; (defcustom prolog-continued-prompt-regexp
655;; '((sicstus "^\\(| +\\| +\\)") 684;; '((sicstus "^\\(| +\\| +\\)")
656;; (t "^|: +")) 685;; (t "^|: +"))
657;; "*Alist of regexps matching the prompt when consulting `user'." 686;; "Alist of regexps matching the prompt when consulting `user'."
658;; :group 'prolog-inferior 687;; :group 'prolog-inferior
659;; :type 'sexp) 688;; :type 'sexp)
660 689
661(defcustom prolog-debug-on-string "debug.\n" 690(defcustom prolog-debug-on-string "debug.\n"
662 "*Predicate for enabling debug mode." 691 "Predicate for enabling debug mode."
692 :version "24.1"
663 :group 'prolog-inferior 693 :group 'prolog-inferior
664 :type 'string) 694 :type 'string)
665 695
666(defcustom prolog-debug-off-string "nodebug.\n" 696(defcustom prolog-debug-off-string "nodebug.\n"
667 "*Predicate for disabling debug mode." 697 "Predicate for disabling debug mode."
698 :version "24.1"
668 :group 'prolog-inferior 699 :group 'prolog-inferior
669 :type 'string) 700 :type 'string)
670 701
671(defcustom prolog-trace-on-string "trace.\n" 702(defcustom prolog-trace-on-string "trace.\n"
672 "*Predicate for enabling tracing." 703 "Predicate for enabling tracing."
704 :version "24.1"
673 :group 'prolog-inferior 705 :group 'prolog-inferior
674 :type 'string) 706 :type 'string)
675 707
676(defcustom prolog-trace-off-string "notrace.\n" 708(defcustom prolog-trace-off-string "notrace.\n"
677 "*Predicate for disabling tracing." 709 "Predicate for disabling tracing."
710 :version "24.1"
678 :group 'prolog-inferior 711 :group 'prolog-inferior
679 :type 'string) 712 :type 'string)
680 713
681(defcustom prolog-zip-on-string "zip.\n" 714(defcustom prolog-zip-on-string "zip.\n"
682 "*Predicate for enabling zip mode for SICStus." 715 "Predicate for enabling zip mode for SICStus."
716 :version "24.1"
683 :group 'prolog-inferior 717 :group 'prolog-inferior
684 :type 'string) 718 :type 'string)
685 719
686(defcustom prolog-zip-off-string "nozip.\n" 720(defcustom prolog-zip-off-string "nozip.\n"
687 "*Predicate for disabling zip mode for SICStus." 721 "Predicate for disabling zip mode for SICStus."
722 :version "24.1"
688 :group 'prolog-inferior 723 :group 'prolog-inferior
689 :type 'string) 724 :type 'string)
690 725
691(defcustom prolog-use-standard-consult-compile-method-flag t 726(defcustom prolog-use-standard-consult-compile-method-flag t
692 "*Non-nil means use the standard compilation method. 727 "Non-nil means use the standard compilation method.
693Otherwise the new compilation method will be used. This 728Otherwise the new compilation method will be used. This
694utilizes a special compilation buffer with the associated 729utilizes a special compilation buffer with the associated
695features such as parsing of error messages and automatically 730features such as parsing of error messages and automatically
@@ -698,6 +733,7 @@ jumping to the source code responsible for the error.
698Warning: the new method is so far only experimental and 733Warning: the new method is so far only experimental and
699does contain bugs. The recommended setting for the novice user 734does contain bugs. The recommended setting for the novice user
700is non-nil for this variable." 735is non-nil for this variable."
736 :version "24.1"
701 :group 'prolog-inferior 737 :group 'prolog-inferior
702 :type 'boolean) 738 :type 'boolean)
703 739
@@ -706,41 +742,48 @@ is non-nil for this variable."
706 742
707(defcustom prolog-use-prolog-tokenizer-flag 743(defcustom prolog-use-prolog-tokenizer-flag
708 (not (fboundp 'syntax-propertize-rules)) 744 (not (fboundp 'syntax-propertize-rules))
709 "*Non-nil means use the internal prolog tokenizer for indentation etc. 745 "Non-nil means use the internal prolog tokenizer for indentation etc.
710Otherwise use `parse-partial-sexp' which is faster but sometimes incorrect." 746Otherwise use `parse-partial-sexp' which is faster but sometimes incorrect."
747 :version "24.1"
711 :group 'prolog-other 748 :group 'prolog-other
712 :type 'boolean) 749 :type 'boolean)
713 750
714(defcustom prolog-imenu-flag t 751(defcustom prolog-imenu-flag t
715 "*Non-nil means add a clause index menu for all prolog files." 752 "Non-nil means add a clause index menu for all prolog files."
753 :version "24.1"
716 :group 'prolog-other 754 :group 'prolog-other
717 :type 'boolean) 755 :type 'boolean)
718 756
719(defcustom prolog-imenu-max-lines 3000 757(defcustom prolog-imenu-max-lines 3000
720 "*The maximum number of lines of the file for imenu to be enabled. 758 "The maximum number of lines of the file for imenu to be enabled.
721Relevant only when `prolog-imenu-flag' is non-nil." 759Relevant only when `prolog-imenu-flag' is non-nil."
760 :version "24.1"
722 :group 'prolog-other 761 :group 'prolog-other
723 :type 'integer) 762 :type 'integer)
724 763
725(defcustom prolog-info-predicate-index 764(defcustom prolog-info-predicate-index
726 "(sicstus)Predicate Index" 765 "(sicstus)Predicate Index"
727 "*The info node for the SICStus predicate index." 766 "The info node for the SICStus predicate index."
767 :version "24.1"
728 :group 'prolog-other 768 :group 'prolog-other
729 :type 'string) 769 :type 'string)
730 770
731(defcustom prolog-underscore-wordchar-flag nil 771(defcustom prolog-underscore-wordchar-flag nil
732 "*Non-nil means underscore (_) is a word-constituent character." 772 "Non-nil means underscore (_) is a word-constituent character."
773 :version "24.1"
733 :group 'prolog-other 774 :group 'prolog-other
734 :type 'boolean) 775 :type 'boolean)
735 776
736(defcustom prolog-use-sicstus-sd nil 777(defcustom prolog-use-sicstus-sd nil
737 "*If non-nil, use the source level debugger of SICStus 3#7 and later." 778 "If non-nil, use the source level debugger of SICStus 3#7 and later."
779 :version "24.1"
738 :group 'prolog-other 780 :group 'prolog-other
739 :type 'boolean) 781 :type 'boolean)
740 782
741(defcustom prolog-char-quote-workaround nil 783(defcustom prolog-char-quote-workaround nil
742 "*If non-nil, declare 0 as a quote character to handle 0'<char>. 784 "If non-nil, declare 0 as a quote character to handle 0'<char>.
743This is really kludgy, and unneeded (i.e. obsolete) in Emacs>=24." 785This is really kludgy, and unneeded (i.e. obsolete) in Emacs>=24."
786 :version "24.1"
744 :group 'prolog-other 787 :group 'prolog-other
745 :type 'boolean) 788 :type 'boolean)
746 789
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 15d98ce48af..3ef872d26eb 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -1004,9 +1004,10 @@ On a comment line, go to end of line."
1004 (error (goto-char pos) (end-of-line))))) 1004 (error (goto-char pos) (end-of-line)))))
1005 ((python-skip-out t s)))) 1005 ((python-skip-out t s))))
1006 (end-of-line)) 1006 (end-of-line))
1007 (unless comment 1007 (and (not comment)
1008 (eq ?\\ (char-before)))) ; Line continued? 1008 (not (eobp))
1009 (end-of-line 2)) ; Try next line. 1009 (eq ?\\ (char-before)))) ; Line continued?
1010 (end-of-line 2)) ; Try next line.
1010 (point)) 1011 (point))
1011 1012
1012(defun python-previous-statement (&optional count) 1013(defun python-previous-statement (&optional count)
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el
index f8f62d113e6..f5bfe526aae 100644
--- a/lisp/progmodes/sql.el
+++ b/lisp/progmodes/sql.el
@@ -810,6 +810,7 @@ is changed."
810 810
811This hook is invoked in a buffer once it is ready to accept input 811This hook is invoked in a buffer once it is ready to accept input
812for the first time." 812for the first time."
813 :version "24.1"
813 :type 'hook 814 :type 'hook
814 :group 'SQL) 815 :group 'SQL)
815 816
@@ -824,7 +825,10 @@ for the first time."
824 825
825All products share this list; products should define a regexp to 826All products share this list; products should define a regexp to
826identify additional keywords in a variable defined by 827identify additional keywords in a variable defined by
827the :statement feature.") 828the :statement feature."
829 :version "24.1"
830 :type 'string
831 :group 'SQL)
828 832
829;; Customization for Oracle 833;; Customization for Oracle
830 834
@@ -851,8 +855,12 @@ You will find the file in your Orant\\bin directory."
851 :version "24.1" 855 :version "24.1"
852 :group 'SQL) 856 :group 'SQL)
853 857
854(defcustom sql-oracle-statement-starters (regexp-opt '("declare" "begin" "with")) 858(defcustom sql-oracle-statement-starters
855 "Additional statement starting keywords in Oracle.") 859 (regexp-opt '("declare" "begin" "with"))
860 "Additional statement starting keywords in Oracle."
861 :version "24.1"
862 :type 'string
863 :group 'SQL)
856 864
857(defcustom sql-oracle-scan-on t 865(defcustom sql-oracle-scan-on t
858 "Non-nil if placeholders should be replaced in Oracle SQLi. 866 "Non-nil if placeholders should be replaced in Oracle SQLi.
@@ -867,6 +875,7 @@ You need to issue the following command in SQL*Plus to be safe:
867 SET DEFINE OFF 875 SET DEFINE OFF
868 876
869In older versions of SQL*Plus, this was the SET SCAN OFF command." 877In older versions of SQL*Plus, this was the SET SCAN OFF command."
878 :version "24.1"
870 :type 'boolean 879 :type 'boolean
871 :group 'SQL) 880 :group 'SQL)
872 881
diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el
index f3bac41fb32..73e3cd9980f 100644
--- a/lisp/progmodes/verilog-mode.el
+++ b/lisp/progmodes/verilog-mode.el
@@ -689,6 +689,7 @@ file referenced. If false, this is not supported."
689Set this to \"wire\" if the Verilog code uses \"`default_nettype 689Set this to \"wire\" if the Verilog code uses \"`default_nettype
690none\". Note using `default_nettype none isn't recommended practice; this 690none\". Note using `default_nettype none isn't recommended practice; this
691mode is experimental." 691mode is experimental."
692 :version "24.1"
692 :group 'verilog-mode-actions 693 :group 'verilog-mode-actions
693 :type 'boolean) 694 :type 'boolean)
694(put 'verilog-auto-declare-nettype 'safe-local-variable `stringp) 695(put 'verilog-auto-declare-nettype 'safe-local-variable `stringp)
@@ -696,6 +697,7 @@ mode is experimental."
696(defcustom verilog-auto-wire-type nil 697(defcustom verilog-auto-wire-type nil
697 "*Non-nil specifies the data type to use with `verilog-auto-wire' etc. 698 "*Non-nil specifies the data type to use with `verilog-auto-wire' etc.
698Set this to \"logic\" for SystemVerilog code, or use `verilog-auto-logic'." 699Set this to \"logic\" for SystemVerilog code, or use `verilog-auto-logic'."
700 :version "24.1"
699 :group 'verilog-mode-actions 701 :group 'verilog-mode-actions
700 :type 'boolean) 702 :type 'boolean)
701(put 'verilog-auto-wire-type 'safe-local-variable `stringp) 703(put 'verilog-auto-wire-type 'safe-local-variable `stringp)
@@ -709,6 +711,7 @@ The name of the function or case will be set between the braces."
709 711
710(defcustom verilog-auto-delete-trailing-whitespace nil 712(defcustom verilog-auto-delete-trailing-whitespace nil
711 "*True means to `delete-trailing-whitespace' in `verilog-auto'." 713 "*True means to `delete-trailing-whitespace' in `verilog-auto'."
714 :version "24.1"
712 :group 'verilog-mode-actions 715 :group 'verilog-mode-actions
713 :type 'boolean) 716 :type 'boolean)
714(put 'verilog-auto-delete-trailing-whitespace 'safe-local-variable 'verilog-booleanp) 717(put 'verilog-auto-delete-trailing-whitespace 'safe-local-variable 'verilog-booleanp)
@@ -986,6 +989,7 @@ If nil, all blocking assigned signals are ignored when any
986non-blocking assignment is in the AUTORESET block. This allows 989non-blocking assignment is in the AUTORESET block. This allows
987blocking assignments to be used for temporary values and not have 990blocking assignments to be used for temporary values and not have
988those temporaries reset. See example in `verilog-auto-reset'." 991those temporaries reset. See example in `verilog-auto-reset'."
992 :version "24.1"
989 :type 'boolean 993 :type 'boolean
990 :group 'verilog-mode-auto) 994 :group 'verilog-mode-auto)
991(put 'verilog-auto-reset-blocking-in-non 'safe-local-variable 'verilog-booleanp) 995(put 'verilog-auto-reset-blocking-in-non 'safe-local-variable 'verilog-booleanp)
@@ -1073,6 +1077,7 @@ declared together to remain together. Sorted order reduces
1073changes when declarations are moved around in a file. 1077changes when declarations are moved around in a file.
1074 1078
1075See also `verilog-auto-arg-sort'." 1079See also `verilog-auto-arg-sort'."
1080 :version "24.1"
1076 :group 'verilog-mode-auto 1081 :group 'verilog-mode-auto
1077 :type 'boolean) 1082 :type 'boolean)
1078(put 'verilog-auto-inst-sort 'safe-local-variable 'verilog-booleanp) 1083(put 'verilog-auto-inst-sort 'safe-local-variable 'verilog-booleanp)
@@ -1135,6 +1140,7 @@ See the \\[verilog-faq] for examples on using this."
1135 "*Data type used for the declaration for AUTOTIEOFF. If \"wire\" then 1140 "*Data type used for the declaration for AUTOTIEOFF. If \"wire\" then
1136create a wire, if \"assign\" create an assignment, else the data type for 1141create a wire, if \"assign\" create an assignment, else the data type for
1137variable creation." 1142variable creation."
1143 :version "24.1"
1138 :group 'verilog-mode-auto 1144 :group 'verilog-mode-auto
1139 :type 'string) 1145 :type 'string)
1140(put 'verilog-auto-tieoff-declaration 'safe-local-variable 'stringp) 1146(put 'verilog-auto-tieoff-declaration 'safe-local-variable 'stringp)
diff --git a/lisp/select.el b/lisp/select.el
index 8d9d7cc386b..0260eba4682 100644
--- a/lisp/select.el
+++ b/lisp/select.el
@@ -72,7 +72,7 @@ variable is set, it is used for the next communication only.
72After the communication, this variable is set to nil.") 72After the communication, this variable is set to nil.")
73 73
74(declare-function x-get-selection-internal "xselect.c" 74(declare-function x-get-selection-internal "xselect.c"
75 (selection-symbol target-type &optional time-stamp)) 75 (selection-symbol target-type &optional time-stamp terminal))
76 76
77;; Only declared obsolete in 23.3. 77;; Only declared obsolete in 23.3.
78(define-obsolete-function-alias 'x-selection 'x-get-selection "at least 19.34") 78(define-obsolete-function-alias 'x-selection 'x-get-selection "at least 19.34")
@@ -118,9 +118,9 @@ in `selection-converter-alist', which see."
118 (x-get-selection-internal 'CLIPBOARD 'STRING)) 118 (x-get-selection-internal 'CLIPBOARD 'STRING))
119 119
120(declare-function x-own-selection-internal "xselect.c" 120(declare-function x-own-selection-internal "xselect.c"
121 (selection-name selection-value)) 121 (selection-name selection-value &optional frame))
122(declare-function x-disown-selection-internal "xselect.c" 122(declare-function x-disown-selection-internal "xselect.c"
123 (selection &optional time)) 123 (selection &optional time terminal))
124 124
125(defun x-set-selection (type data) 125(defun x-set-selection (type data)
126 "Make an X selection of type TYPE and value DATA. 126 "Make an X selection of type TYPE and value DATA.
diff --git a/lisp/ses.el b/lisp/ses.el
index 43ce9da033e..0638fc344c7 100644
--- a/lisp/ses.el
+++ b/lisp/ses.el
@@ -923,6 +923,7 @@ the old and FORCE is nil."
923 923
924(defcustom ses-self-reference-early-detection nil 924(defcustom ses-self-reference-early-detection nil
925 "True if cycle detection is early for cells that refer to themselves." 925 "True if cycle detection is early for cells that refer to themselves."
926 :version "24.1"
926 :type 'boolean 927 :type 'boolean
927 :group 'ses) 928 :group 'ses)
928 929
diff --git a/lisp/simple.el b/lisp/simple.el
index 881b0b22079..c968ac01b0d 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -5810,8 +5810,8 @@ Valid values include:
5810 `mh-e-user-agent' -- use the Emacs interface to the MH mail system. 5810 `mh-e-user-agent' -- use the Emacs interface to the MH mail system.
5811 See Info node `(mh-e)'. 5811 See Info node `(mh-e)'.
5812 `gnus-user-agent' -- like `message-user-agent', but with Gnus 5812 `gnus-user-agent' -- like `message-user-agent', but with Gnus
5813 paraphernalia, particularly the Gcc: header for 5813 paraphernalia if Gnus is running, particularly
5814 archiving. 5814 the Gcc: header for archiving.
5815 5815
5816Additional valid symbols may be available; check with the author of 5816Additional valid symbols may be available; check with the author of
5817your package for details. The function should return non-nil if it 5817your package for details. The function should return non-nil if it
diff --git a/lisp/subr.el b/lisp/subr.el
index 6c79b3f88e2..00a030c744c 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -3219,7 +3219,7 @@ If BODY finishes, `while-no-input' returns whatever value BODY produced."
3219 (or (input-pending-p) 3219 (or (input-pending-p)
3220 (progn ,@body))))))) 3220 (progn ,@body)))))))
3221 3221
3222(defmacro condition-case-no-debug (var bodyform &rest handlers) 3222(defmacro condition-case-unless-debug (var bodyform &rest handlers)
3223 "Like `condition-case' except that it does not catch anything when debugging. 3223 "Like `condition-case' except that it does not catch anything when debugging.
3224More specifically if `debug-on-error' is set, then it does not catch any signal." 3224More specifically if `debug-on-error' is set, then it does not catch any signal."
3225 (declare (debug condition-case) (indent 2)) 3225 (declare (debug condition-case) (indent 2))
@@ -3231,6 +3231,9 @@ More specifically if `debug-on-error' is set, then it does not catch any signal.
3231 (funcall ,bodysym) 3231 (funcall ,bodysym)
3232 ,@handlers))))) 3232 ,@handlers)))))
3233 3233
3234(define-obsolete-function-alias 'condition-case-no-debug
3235 'condition-case-unless-debug "24.1")
3236
3234(defmacro with-demoted-errors (&rest body) 3237(defmacro with-demoted-errors (&rest body)
3235 "Run BODY and demote any errors to simple messages. 3238 "Run BODY and demote any errors to simple messages.
3236If `debug-on-error' is non-nil, run BODY without catching its errors. 3239If `debug-on-error' is non-nil, run BODY without catching its errors.
@@ -3238,7 +3241,7 @@ This is to be used around code which is not expected to signal an error
3238but which should be robust in the unexpected case that an error is signaled." 3241but which should be robust in the unexpected case that an error is signaled."
3239 (declare (debug t) (indent 0)) 3242 (declare (debug t) (indent 0))
3240 (let ((err (make-symbol "err"))) 3243 (let ((err (make-symbol "err")))
3241 `(condition-case-no-debug ,err 3244 `(condition-case-unless-debug ,err
3242 (progn ,@body) 3245 (progn ,@body)
3243 (error (message "Error: %S" ,err) nil)))) 3246 (error (message "Error: %S" ,err) nil))))
3244 3247
diff --git a/lisp/term/pc-win.el b/lisp/term/pc-win.el
index bfa642699af..fc86d4179b6 100644
--- a/lisp/term/pc-win.el
+++ b/lisp/term/pc-win.el
@@ -218,11 +218,12 @@ On X, if `x-select-enable-clipboard' is non-nil, copy TEXT to the
218clipboard. If `x-select-enable-primary' is non-nil, put TEXT in 218clipboard. If `x-select-enable-primary' is non-nil, put TEXT in
219the primary selection. 219the primary selection.
220 220
221On Windows, make TEXT the current selection. If 221On MS-Windows, make TEXT the current selection. If
222`x-select-enable-clipboard' is non-nil, copy the text to the 222`x-select-enable-clipboard' is non-nil, copy the text to the
223clipboard as well. 223clipboard as well.
224 224
225On Nextstep, put TEXT in the pasteboard." 225On Nextstep, put TEXT in the pasteboard (`x-select-enable-clipboard'
226is not used)."
226 (if x-select-enable-clipboard 227 (if x-select-enable-clipboard
227 (w16-set-clipboard-data text)) 228 (w16-set-clipboard-data text))
228 (setq x-last-selected-text text)) 229 (setq x-last-selected-text text))
@@ -248,13 +249,19 @@ On Nextstep, put TEXT in the pasteboard."
248 (setq x-last-selected-text text)))))) 249 (setq x-last-selected-text text))))))
249 250
250;; x-selection-owner-p is used in simple.el. 251;; x-selection-owner-p is used in simple.el.
251(defun x-selection-owner-p (&optional type) 252(defun x-selection-owner-p (&optional selection terminal)
252 "Whether the current Emacs process owns the given X Selection. 253 "Whether the current Emacs process owns the given X Selection.
253The arg should be the name of the selection in question, typically one of 254The arg should be the name of the selection in question, typically one of
254the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'. 255the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'.
255\(Those are literal upper-case symbol names, since that's what X expects.) 256\(Those are literal upper-case symbol names, since that's what X expects.)
256For convenience, the symbol nil is the same as `PRIMARY', 257For convenience, the symbol nil is the same as `PRIMARY',
257and t is the same as `SECONDARY'." 258and t is the same as `SECONDARY'.
259
260TERMINAL should be a terminal object or a frame specifying the X
261server to query. If omitted or nil, that stands for the selected
262frame's display, or the first available X display.
263
264On Nextstep, TERMINAL is unused."
258 (if x-select-enable-clipboard 265 (if x-select-enable-clipboard
259 (let (text) 266 (let (text)
260 ;; Don't die if w16-get-clipboard-data signals an error. 267 ;; Don't die if w16-get-clipboard-data signals an error.
@@ -272,30 +279,52 @@ and t is the same as `SECONDARY'."
272 279
273;; x-own-selection-internal and x-disown-selection-internal are used 280;; x-own-selection-internal and x-disown-selection-internal are used
274;; in select.el:x-set-selection. 281;; in select.el:x-set-selection.
275(defun x-own-selection-internal (type value) 282(defun x-own-selection-internal (selection value &optional frame)
276 "Assert an X selection of the given TYPE with the given VALUE. 283 "Assert an X selection of the type SELECTION with and value VALUE.
277TYPE is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'. 284SELECTION is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.
278\(Those are literal upper-case symbol names, since that's what X expects.) 285\(Those are literal upper-case symbol names, since that's what X expects.)
279VALUE is typically a string, or a cons of two markers, but may be 286VALUE is typically a string, or a cons of two markers, but may be
280anything that the functions on `selection-converter-alist' know about." 287anything that the functions on `selection-converter-alist' know about.
288
289FRAME should be a frame that should own the selection. If omitted or
290nil, it defaults to the selected frame.
291
292On Nextstep, FRAME is unused."
281 (ignore-errors 293 (ignore-errors
282 (x-select-text value)) 294 (x-select-text value))
283 value) 295 value)
284 296
285(defun x-disown-selection-internal (selection &optional time) 297(defun x-disown-selection-internal (selection &optional time-object terminal)
286 "If we own the selection SELECTION, disown it. 298 "If we own the selection SELECTION, disown it.
287Disowning it means there is no such selection." 299Disowning it means there is no such selection.
300
301Sets the last-change time for the selection to TIME-OBJECT (by default
302the time of the last event).
303
304TERMINAL should be a terminal object or a frame specifying the X
305server to query. If omitted or nil, that stands for the selected
306frame's display, or the first available X display.
307
308On Nextstep, the TIME-OBJECT and TERMINAL arguments are unused.
309On MS-DOS, all this does is return non-nil if we own the selection."
288 (if (x-selection-owner-p selection) 310 (if (x-selection-owner-p selection)
289 t)) 311 t))
290 312
291;; x-get-selection-internal is used in select.el 313;; x-get-selection-internal is used in select.el
292(defun x-get-selection-internal (selection type &optional time_stamp) 314(defun x-get-selection-internal (selection-symbol target-type &optional time-stamp terminal)
293 "Return text selected from some X window. 315 "Return text selected from some X window.
294SELECTION is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'. 316SELECTION-SYMBOL is typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.
295\(Those are literal upper-case symbol names, since that's what X expects.) 317\(Those are literal upper-case symbol names, since that's what X expects.)
296TYPE is the type of data desired, typically `STRING'. 318TARGET-TYPE is the type of data desired, typically `STRING'.
297TIME_STAMP is the time to use in the XConvertSelection call for foreign 319
298selections. If omitted, defaults to the time for the last event." 320TIME-STAMP is the time to use in the XConvertSelection call for foreign
321selections. If omitted, defaults to the time for the last event.
322
323TERMINAL should be a terminal object or a frame specifying the X
324server to query. If omitted or nil, that stands for the selected
325frame's display, or the first available X display.
326
327On Nextstep, TIME-STAMP and TERMINAL are unused."
299 (x-get-selection-value)) 328 (x-get-selection-value))
300 329
301;; From src/fontset.c: 330;; From src/fontset.c:
diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el
index 89825771233..eea6d767512 100644
--- a/lisp/term/xterm.el
+++ b/lisp/term/xterm.el
@@ -33,6 +33,7 @@
33 "Set to a list if the XTerm supports modifyOtherKeys or 33 "Set to a list if the XTerm supports modifyOtherKeys or
34reporting the background color. Set to 'check to check for those 34reporting the background color. Set to 'check to check for those
35features. Set to nil to skip the checks." 35features. Set to nil to skip the checks."
36 :version "24.1"
36 :group 'xterm 37 :group 'xterm
37 :type '(choice (const :tag "No" nil) 38 :type '(choice (const :tag "No" nil)
38 (const :tag "Check" check) 39 (const :tag "Check" check)
diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el
index e9dea3dd4ec..a873680a8c8 100644
--- a/lisp/textmodes/bibtex.el
+++ b/lisp/textmodes/bibtex.el
@@ -443,6 +443,7 @@ which is called to determine the initial content of the field.
443ALTERNATIVE if non-nil is an integer that numbers sets of 443ALTERNATIVE if non-nil is an integer that numbers sets of
444alternatives, starting from zero." 444alternatives, starting from zero."
445 :group 'BibTeX 445 :group 'BibTeX
446 :version "24.1"
446 :type 'bibtex-entry-alist) 447 :type 'bibtex-entry-alist)
447(put 'bibtex-BibTeX-entry-alist 'risky-local-variable t) 448(put 'bibtex-BibTeX-entry-alist 'risky-local-variable t)
448 449
@@ -696,6 +697,7 @@ alternatives, starting from zero."
696 "Alist of biblatex entry types and their associated fields. 697 "Alist of biblatex entry types and their associated fields.
697It has the same format as `bibtex-BibTeX-entry-alist'." 698It has the same format as `bibtex-BibTeX-entry-alist'."
698 :group 'bibtex 699 :group 'bibtex
700 :version "24.1"
699 :type 'bibtex-entry-alist) 701 :type 'bibtex-entry-alist)
700(put 'bibtex-biblatex-entry-alist 'risky-local-variable t) 702(put 'bibtex-biblatex-entry-alist 'risky-local-variable t)
701 703
@@ -717,6 +719,7 @@ It has the same format as `bibtex-BibTeX-entry-alist'."
717Each element is a list (FIELD COMMENT). COMMENT is used as a default 719Each element is a list (FIELD COMMENT). COMMENT is used as a default
718if `bibtex-BibTeX-entry-alist' does not define a comment for FIELD." 720if `bibtex-BibTeX-entry-alist' does not define a comment for FIELD."
719 :group 'bibtex 721 :group 'bibtex
722 :version "24.1"
720 :type 'bibtex-field-alist) 723 :type 'bibtex-field-alist)
721 724
722(defcustom bibtex-biblatex-field-alist 725(defcustom bibtex-biblatex-field-alist
@@ -814,6 +817,7 @@ if `bibtex-BibTeX-entry-alist' does not define a comment for FIELD."
814 "Alist of biblatex fields. 817 "Alist of biblatex fields.
815It has the same format as `bibtex-BibTeX-entry-alist'." 818It has the same format as `bibtex-BibTeX-entry-alist'."
816 :group 'bibtex 819 :group 'bibtex
820 :version "24.1"
817 :type 'bibtex-field-alist) 821 :type 'bibtex-field-alist)
818 822
819(defcustom bibtex-dialect-list '(BibTeX biblatex) 823(defcustom bibtex-dialect-list '(BibTeX biblatex)
@@ -822,12 +826,14 @@ For each DIALECT (a symbol) a variable bibtex-DIALECT-entry-alist defines
822the allowed entries and bibtex-DIALECT-field-alist defines known field types. 826the allowed entries and bibtex-DIALECT-field-alist defines known field types.
823Predefined dialects include BibTeX and biblatex." 827Predefined dialects include BibTeX and biblatex."
824 :group 'bibtex 828 :group 'bibtex
829 :version "24.1"
825 :type '(repeat (symbol :tag "Dialect"))) 830 :type '(repeat (symbol :tag "Dialect")))
826 831
827(defcustom bibtex-dialect 'BibTeX 832(defcustom bibtex-dialect 'BibTeX
828 "Current BibTeX dialect. For allowed values see `bibtex-dialect-list'. 833 "Current BibTeX dialect. For allowed values see `bibtex-dialect-list'.
829To interactively change the dialect use the command `bibtex-set-dialect'." 834To interactively change the dialect use the command `bibtex-set-dialect'."
830 :group 'bibtex 835 :group 'bibtex
836 :version "24.1"
831 :set '(lambda (symbol value) 837 :set '(lambda (symbol value)
832 (set-default symbol value) 838 (set-default symbol value)
833 ;; `bibtex-set-dialect' is undefined during loading (no problem) 839 ;; `bibtex-set-dialect' is undefined during loading (no problem)
@@ -842,6 +848,7 @@ To interactively change the dialect use the command `bibtex-set-dialect'."
842 "If a field name matches this regexp, the prefix OPT is not removed. 848 "If a field name matches this regexp, the prefix OPT is not removed.
843If nil prefix OPT is always removed" 849If nil prefix OPT is always removed"
844 :group 'bibtex 850 :group 'bibtex
851 :version "24.1"
845 :type '(choice (regexp) (const nil))) 852 :type '(choice (regexp) (const nil)))
846 853
847(defcustom bibtex-comment-start "@Comment" 854(defcustom bibtex-comment-start "@Comment"
@@ -930,6 +937,7 @@ See also `bibtex-search-entry-globally'."
930 "If non-nil, interactive calls of `bibtex-search-entry' search globally. 937 "If non-nil, interactive calls of `bibtex-search-entry' search globally.
931A global search includes all files in `bibtex-files'." 938A global search includes all files in `bibtex-files'."
932 :group 'bibtex 939 :group 'bibtex
940 :version "24.1"
933 :type 'boolean) 941 :type 'boolean)
934 942
935(defcustom bibtex-help-message t 943(defcustom bibtex-help-message t
@@ -1291,6 +1299,7 @@ Set this variable before loading BibTeX mode."
1291(defcustom bibtex-search-buffer "*BibTeX Search*" 1299(defcustom bibtex-search-buffer "*BibTeX Search*"
1292 "Buffer for BibTeX search results." 1300 "Buffer for BibTeX search results."
1293 :group 'bibtex 1301 :group 'bibtex
1302 :version "24.1"
1294 :type 'string) 1303 :type 'string)
1295 1304
1296;; `bibtex-font-lock-keywords' is a user option, too. But since the 1305;; `bibtex-font-lock-keywords' is a user option, too. But since the
diff --git a/lisp/tool-bar.el b/lisp/tool-bar.el
index 0e47338bf9f..f04cad4463a 100644
--- a/lisp/tool-bar.el
+++ b/lisp/tool-bar.el
@@ -287,6 +287,7 @@ holds a keymap."
287Possible values are `top' (tool bar on top), `bottom' (tool bar at bottom), 287Possible values are `top' (tool bar on top), `bottom' (tool bar at bottom),
288`left' (tool bar on left) and `right' (tool bar on right). 288`left' (tool bar on left) and `right' (tool bar on right).
289Customize `tool-bar-mode' if you want to show or hide the tool bar." 289Customize `tool-bar-mode' if you want to show or hide the tool bar."
290 :version "24.1"
290 :type '(choice (const top) 291 :type '(choice (const top)
291 (const bottom) 292 (const bottom)
292 (const left) 293 (const left)
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog
index d7a22b72123..c53f7294aef 100644
--- a/lisp/url/ChangeLog
+++ b/lisp/url/ChangeLog
@@ -1,3 +1,27 @@
12012-02-14 Leo Liu <sdl.web@gmail.com>
2
3 * url-future.el: Fix last change.
4
52012-02-13 Teodor Zlatanov <tzz@lifelogs.com>
6
7 * url-future.el (url-future-test): Move to test/automated.
8
92012-02-10 Lars Ingebrigtsen <larsi@gnus.org>
10
11 * url-http.el (url-http-parse-headers): When redirecting, pass on
12 the `inhibit-cookie' parameter.
13
142012-02-10 Glenn Morris <rgm@gnu.org>
15
16 * url-queue.el (url-queue-retrieve): Fic previous doc fix.
17
182012-02-10 Andreas Schwab <schwab@linux-m68k.org>
19
20 * url-http.el (url-http-clean-headers): Return the number of
21 removed characters.
22 (url-http-wait-for-headers-change-function): Adjust end position
23 after cleaning the headers. (Bug#10768)
24
12012-02-10 Glenn Morris <rgm@gnu.org> 252012-02-10 Glenn Morris <rgm@gnu.org>
2 26
3 * url-queue.el (url-queue-retrieve): Doc fix. 27 * url-queue.el (url-queue-retrieve): Doc fix.
diff --git a/lisp/url/url-future.el b/lisp/url/url-future.el
index 2798f936f21..38ac09c06bb 100644
--- a/lisp/url/url-future.el
+++ b/lisp/url/url-future.el
@@ -41,7 +41,6 @@
41;;; Code: 41;;; Code:
42 42
43(eval-when-compile (require 'cl)) 43(eval-when-compile (require 'cl))
44(eval-when-compile (require 'ert))
45 44
46(defstruct url-future callback errorback status value) 45(defstruct url-future callback errorback status value)
47 46
@@ -95,32 +94,5 @@
95 (signal 'error 'url-future-already-done) 94 (signal 'error 'url-future-already-done)
96 (url-future-finish url-future 'cancel))) 95 (url-future-finish url-future 'cancel)))
97 96
98(ert-deftest url-future-test ()
99 (let* (saver
100 (text "running future")
101 (good (make-url-future :value (lambda () (format text))
102 :callback (lambda (f) (set 'saver f))))
103 (bad (make-url-future :value (lambda () (/ 1 0))
104 :errorback (lambda (&rest d) (set 'saver d))))
105 (tocancel (make-url-future :value (lambda () (/ 1 0))
106 :callback (lambda (f) (set 'saver f))
107 :errorback (lambda (&rest d)
108 (set 'saver d)))))
109 (should (equal good (url-future-call good)))
110 (should (equal good saver))
111 (should (equal text (url-future-value good)))
112 (should (url-future-completed-p good))
113 (should-error (url-future-call good))
114 (setq saver nil)
115 (should (equal bad (url-future-call bad)))
116 (should-error (url-future-call bad))
117 (should (equal saver (list bad '(arith-error))))
118 (should (url-future-errored-p bad))
119 (setq saver nil)
120 (should (equal (url-future-cancel tocancel) tocancel))
121 (should-error (url-future-call tocancel))
122 (should (null saver))
123 (should (url-future-cancelled-p tocancel))))
124
125(provide 'url-future) 97(provide 'url-future)
126;;; url-future.el ends here 98;;; url-future.el ends here
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
index b2f93f093e6..0c911260ca5 100644
--- a/lisp/url/url-http.el
+++ b/lisp/url/url-http.el
@@ -354,11 +354,14 @@ request.")
354;; Parsing routines 354;; Parsing routines
355(defun url-http-clean-headers () 355(defun url-http-clean-headers ()
356 "Remove trailing \r from header lines. 356 "Remove trailing \r from header lines.
357This allows us to use `mail-fetch-field', etc." 357This allows us to use `mail-fetch-field', etc.
358Return the number of characters removed."
358 (declare (special url-http-end-of-headers)) 359 (declare (special url-http-end-of-headers))
359 (goto-char (point-min)) 360 (let ((end (marker-position url-http-end-of-headers)))
360 (while (re-search-forward "\r$" url-http-end-of-headers t) 361 (goto-char (point-min))
361 (replace-match ""))) 362 (while (re-search-forward "\r$" url-http-end-of-headers t)
363 (replace-match ""))
364 (- end url-http-end-of-headers)))
362 365
363(defun url-http-handle-authentication (proxy) 366(defun url-http-handle-authentication (proxy)
364 (declare (special status success url-http-method url-http-data 367 (declare (special status success url-http-method url-http-data
@@ -644,7 +647,8 @@ should be shown to the user."
644 (url-retrieve-internal 647 (url-retrieve-internal
645 redirect-uri url-callback-function 648 redirect-uri url-callback-function
646 url-callback-arguments 649 url-callback-arguments
647 (url-silent url-current-object))) 650 (url-silent url-current-object)
651 (not (url-use-cookies url-current-object))))
648 (url-mark-buffer-as-dead buffer)) 652 (url-mark-buffer-as-dead buffer))
649 ;; We hit url-max-redirections, so issue an error and 653 ;; We hit url-max-redirections, so issue an error and
650 ;; stop redirecting. 654 ;; stop redirecting.
@@ -1054,7 +1058,7 @@ the end of the document."
1054 (setq url-http-end-of-headers (set-marker (make-marker) 1058 (setq url-http-end-of-headers (set-marker (make-marker)
1055 (point)) 1059 (point))
1056 end-of-headers t) 1060 end-of-headers t)
1057 (url-http-clean-headers))) 1061 (setq nd (- nd (url-http-clean-headers)))))
1058 1062
1059 (if (not end-of-headers) 1063 (if (not end-of-headers)
1060 ;; Haven't seen the end of the headers yet, need to wait 1064 ;; Haven't seen the end of the headers yet, need to wait
diff --git a/lisp/url/url-queue.el b/lisp/url/url-queue.el
index 62e5e2f84d4..9dfee485918 100644
--- a/lisp/url/url-queue.el
+++ b/lisp/url/url-queue.el
@@ -57,9 +57,9 @@
57(defun url-queue-retrieve (url callback &optional cbargs silent inhibit-cookies) 57(defun url-queue-retrieve (url callback &optional cbargs silent inhibit-cookies)
58 "Retrieve URL asynchronously and call CALLBACK with CBARGS when finished. 58 "Retrieve URL asynchronously and call CALLBACK with CBARGS when finished.
59This is like `url-retrieve' (which see for details of the arguments), 59This is like `url-retrieve' (which see for details of the arguments),
60but downloads in parallel. The variable `url-queue-parallel-processes' 60but with limits on the degree of parallelism. The variable
61sets the number of concurrent processes. The variable `url-queue-timeout' 61`url-queue-parallel-processes' sets the number of concurrent processes.
62sets a timeout." 62The variable `url-queue-timeout' sets a timeout."
63 (setq url-queue 63 (setq url-queue
64 (append url-queue 64 (append url-queue
65 (list (make-url-queue :url url 65 (list (make-url-queue :url url
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index 7de9d17e3f7..ba4a2766526 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -237,7 +237,7 @@ from disabled to enabled, it tries to refine the current hunk, as
237well." 237well."
238 :group 'diff-mode :init-value t :lighter nil ;; " Auto-Refine" 238 :group 'diff-mode :init-value t :lighter nil ;; " Auto-Refine"
239 (when diff-auto-refine-mode 239 (when diff-auto-refine-mode
240 (condition-case-no-debug nil (diff-refine-hunk) (error nil)))) 240 (condition-case-unless-debug nil (diff-refine-hunk) (error nil))))
241 241
242;;;; 242;;;;
243;;;; font-lock support 243;;;; font-lock support
@@ -542,7 +542,7 @@ but in the file header instead, in which case move forward to the first hunk."
542(easy-mmode-define-navigation 542(easy-mmode-define-navigation
543 diff-hunk diff-hunk-header-re "hunk" diff-end-of-hunk diff-restrict-view 543 diff-hunk diff-hunk-header-re "hunk" diff-end-of-hunk diff-restrict-view
544 (if diff-auto-refine-mode 544 (if diff-auto-refine-mode
545 (condition-case-no-debug nil (diff-refine-hunk) (error nil)))) 545 (condition-case-unless-debug nil (diff-refine-hunk) (error nil))))
546 546
547(easy-mmode-define-navigation 547(easy-mmode-define-navigation
548 diff-file diff-file-header-re "file" diff-end-of-hunk) 548 diff-file diff-file-header-re "file" diff-end-of-hunk)
diff --git a/lisp/vc/log-view.el b/lisp/vc/log-view.el
index 7512c9283eb..d345a20a0f5 100644
--- a/lisp/vc/log-view.el
+++ b/lisp/vc/log-view.el
@@ -561,9 +561,6 @@ changeset that affected the currently considered file(s)."
561 log-view-vc-fileset)) 561 log-view-vc-fileset))
562 to fr))) 562 to fr)))
563 563
564(declare-function vc-diff-internal "vc"
565 (async vc-fileset rev1 rev2 &optional verbose))
566
567(defun log-view-diff-changeset (beg end) 564(defun log-view-diff-changeset (beg end)
568 "Get the diff between two revisions. 565 "Get the diff between two revisions.
569If the mark is not active or the mark is on the revision at point, 566If the mark is not active or the mark is on the revision at point,
diff --git a/lisp/vc/vc-dav.el b/lisp/vc/vc-dav.el
index 9d55e9c7b43..6cd2b1ddf76 100644
--- a/lisp/vc/vc-dav.el
+++ b/lisp/vc/vc-dav.el
@@ -7,6 +7,8 @@
7;; Keywords: url, vc 7;; Keywords: url, vc
8;; Package: vc 8;; Package: vc
9 9
10;; This file is part of GNU Emacs.
11
10;; GNU Emacs is free software: you can redistribute it and/or modify 12;; GNU Emacs is free software: you can redistribute it and/or modify
11;; it under the terms of the GNU General Public License as published by 13;; it under the terms of the GNU General Public License as published by
12;; the Free Software Foundation, either version 3 of the License, or 14;; the Free Software Foundation, either version 3 of the License, or
@@ -20,7 +22,6 @@
20;; You should have received a copy of the GNU General Public License 22;; You should have received a copy of the GNU General Public License
21;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. 23;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
22 24
23
24;;; Commentary: 25;;; Commentary:
25 26
26;;; Todo: 27;;; Todo:
diff --git a/lisp/window.el b/lisp/window.el
index c9bddba942c..edd8a113876 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -385,6 +385,7 @@ bottom side of each frame. If an element is a number, this means
385to display at most that many side windows on the corresponding 385to display at most that many side windows on the corresponding
386side. If an element is nil, this means there's no bound on the 386side. If an element is nil, this means there's no bound on the
387number of slots on that side." 387number of slots on that side."
388 :version "24.1"
388 :risky t 389 :risky t
389 :type 390 :type
390 '(list 391 '(list
@@ -4624,16 +4625,20 @@ buffer. Return the window chosen for displaying BUFFER-OR-NAME,
4624or nil if no such window is found. 4625or nil if no such window is found.
4625 4626
4626Optional argument ACTION should have the form (FUNCTION . ALIST). 4627Optional argument ACTION should have the form (FUNCTION . ALIST).
4627FUNCTION is either a function or a list of functions. Each such 4628FUNCTION is either a function or a list of functions.
4628function is called with two arguments: the buffer to display and 4629ALIST is an arbitrary association list (alist).
4629an alist. It should either display the buffer and return the 4630
4630window, or return nil if unable to display the buffer. 4631Each such FUNCTION should accept two arguments: the buffer to
4632display and an alist. Based on those arguments, it should either
4633display the buffer and return the window, or return nil if unable
4634to display the buffer.
4631 4635
4632The `display-buffer' function builds a function list and an alist 4636The `display-buffer' function builds a function list and an alist
4633from `display-buffer-overriding-action', `display-buffer-alist', 4637by combining the functions and alists specified in
4634the ACTION argument, `display-buffer-base-action', and 4638`display-buffer-overriding-action', `display-buffer-alist', the
4635`display-buffer-fallback-action' (in that order). Then it calls 4639ACTION argument, `display-buffer-base-action', and
4636each function in the combined function list in turn, passing the 4640`display-buffer-fallback-action' (in order). Then it calls each
4641function in the combined function list in turn, passing the
4637buffer as the first argument and the combined alist as the second 4642buffer as the first argument and the combined alist as the second
4638argument, until one of the functions returns non-nil. 4643argument, until one of the functions returns non-nil.
4639 4644
diff --git a/lisp/x-dnd.el b/lisp/x-dnd.el
index 65dcf845064..539b95a18fd 100644
--- a/lisp/x-dnd.el
+++ b/lisp/x-dnd.el
@@ -431,7 +431,7 @@ otherwise return the frame coordinates."
431(declare-function x-send-client-message "xselect.c" 431(declare-function x-send-client-message "xselect.c"
432 (display dest from message-type format values)) 432 (display dest from message-type format values))
433(declare-function x-get-selection-internal "xselect.c" 433(declare-function x-get-selection-internal "xselect.c"
434 (selection-symbol target-type &optional time-stamp)) 434 (selection-symbol target-type &optional time-stamp terminal))
435 435
436(defun x-dnd-version-from-flags (flags) 436(defun x-dnd-version-from-flags (flags)
437 "Return the version byte from the 32 bit FLAGS in an XDndEnter message" 437 "Return the version byte from the 32 bit FLAGS in an XDndEnter message"