aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog283
-rw-r--r--lisp/ChangeLog.152
-rw-r--r--lisp/abbrev.el9
-rw-r--r--lisp/allout-widgets.el15
-rw-r--r--lisp/allout.el22
-rw-r--r--lisp/autoarg.el31
-rw-r--r--lisp/autoinsert.el7
-rw-r--r--lisp/autorevert.el40
-rw-r--r--lisp/battery.el10
-rw-r--r--lisp/cedet/ChangeLog17
-rw-r--r--lisp/cedet/ede.el20
-rw-r--r--lisp/cedet/ede/project-am.el6
-rw-r--r--lisp/cedet/ede/util.el7
-rw-r--r--lisp/cedet/semantic.el6
-rw-r--r--lisp/comint.el29
-rw-r--r--lisp/composite.el22
-rw-r--r--lisp/delsel.el5
-rw-r--r--lisp/descr-text.el3
-rw-r--r--lisp/desktop.el13
-rw-r--r--lisp/dired-x.el20
-rw-r--r--lisp/dired.el2
-rw-r--r--lisp/dirtrack.el20
-rw-r--r--lisp/doc-view.el7
-rw-r--r--lisp/double.el11
-rw-r--r--lisp/electric.el19
-rw-r--r--lisp/emacs-lisp/checkdoc.el7
-rw-r--r--lisp/emacs-lisp/easy-mmode.el12
-rw-r--r--lisp/emacs-lisp/eldoc.el19
-rw-r--r--lisp/emacs-lock.el18
-rw-r--r--lisp/emulation/crisp.el6
-rw-r--r--lisp/emulation/cua-base.el23
-rw-r--r--lisp/epa-hook.el9
-rw-r--r--lisp/erc/ChangeLog8
-rw-r--r--lisp/erc/erc-fill.el9
-rw-r--r--lisp/erc/erc-track.el15
-rw-r--r--lisp/erc/erc.el4
-rw-r--r--lisp/face-remap.el2
-rw-r--r--lisp/facemenu.el11
-rw-r--r--lisp/faces.el4
-rw-r--r--lisp/files.el6
-rw-r--r--lisp/follow.el9
-rw-r--r--lisp/font-core.el10
-rw-r--r--lisp/font-lock.el8
-rw-r--r--lisp/frame.el25
-rw-r--r--lisp/gnus/ChangeLog77
-rw-r--r--lisp/gnus/gnus-cite.el9
-rw-r--r--lisp/gnus/gnus-registry.el33
-rw-r--r--lisp/gnus/gnus-util.el8
-rw-r--r--lisp/gnus/nnir.el8
-rw-r--r--lisp/gnus/nnmairix.el7
-rw-r--r--lisp/gnus/nnregistry.el7
-rw-r--r--lisp/help.el16
-rw-r--r--lisp/hi-lock.el19
-rw-r--r--lisp/hilit-chg.el26
-rw-r--r--lisp/hl-line.el15
-rw-r--r--lisp/ibuf-ext.el6
-rw-r--r--lisp/ibuffer.el8
-rw-r--r--lisp/icomplete.el7
-rw-r--r--lisp/ido.el12
-rw-r--r--lisp/image-file.el9
-rw-r--r--lisp/image-mode.el13
-rw-r--r--lisp/international/mule.el4
-rw-r--r--lisp/iswitchb.el11
-rw-r--r--lisp/jka-cmpr-hook.el11
-rw-r--r--lisp/json.el21
-rw-r--r--lisp/linum.el7
-rw-r--r--lisp/longlines.el31
-rw-r--r--lisp/mail/footnote.el11
-rw-r--r--lisp/mail/mailabbrev.el10
-rw-r--r--lisp/master.el10
-rw-r--r--lisp/mb-depth.el12
-rw-r--r--lisp/menu-bar.el34
-rw-r--r--lisp/minibuf-eldef.el18
-rw-r--r--lisp/minibuffer.el6
-rw-r--r--lisp/mouse-sel.el9
-rw-r--r--lisp/mouse.el421
-rw-r--r--lisp/msb.el5
-rw-r--r--lisp/mwheel.el8
-rw-r--r--lisp/net/browse-url.el45
-rw-r--r--lisp/net/goto-addr.el2
-rw-r--r--lisp/net/tramp.el7
-rw-r--r--lisp/net/xesam.el6
-rw-r--r--lisp/outline.el5
-rw-r--r--lisp/paren.el12
-rw-r--r--lisp/progmodes/bug-reference.el5
-rw-r--r--lisp/progmodes/cap-words.el8
-rw-r--r--lisp/progmodes/cc-engine.el53
-rw-r--r--lisp/progmodes/compile.el28
-rw-r--r--lisp/progmodes/gud.el5
-rw-r--r--lisp/progmodes/hideif.el14
-rw-r--r--lisp/progmodes/idlw-shell.el18
-rw-r--r--lisp/progmodes/idlwave.el1
-rw-r--r--lisp/progmodes/subword.el20
-rw-r--r--lisp/progmodes/vera-mode.el1
-rw-r--r--lisp/progmodes/vhdl-mode.el8
-rw-r--r--lisp/progmodes/which-func.el14
-rw-r--r--lisp/recentf.el14
-rw-r--r--lisp/reveal.el19
-rw-r--r--lisp/rfn-eshadow.el18
-rw-r--r--lisp/ruler-mode.el6
-rw-r--r--lisp/savehist.el18
-rw-r--r--lisp/scroll-all.el11
-rw-r--r--lisp/scroll-bar.el11
-rw-r--r--lisp/server.el8
-rw-r--r--lisp/shell.el10
-rw-r--r--lisp/simple.el133
-rw-r--r--lisp/strokes.el8
-rw-r--r--lisp/t-mouse.el9
-rw-r--r--lisp/tar-mode.el12
-rw-r--r--lisp/term/tvi970.el17
-rw-r--r--lisp/term/vt100.el5
-rw-r--r--lisp/textmodes/flyspell.el14
-rw-r--r--lisp/textmodes/ispell.el20
-rw-r--r--lisp/textmodes/nroff-mode.el16
-rw-r--r--lisp/textmodes/paragraphs.el22
-rw-r--r--lisp/textmodes/refill.el15
-rw-r--r--lisp/textmodes/reftex.el8
-rw-r--r--lisp/textmodes/rst.el9
-rw-r--r--lisp/textmodes/sgml-mode.el20
-rw-r--r--lisp/textmodes/tex-mode.el10
-rw-r--r--lisp/time.el17
-rw-r--r--lisp/tool-bar.el7
-rw-r--r--lisp/tooltip.el13
-rw-r--r--lisp/type-break.el28
-rw-r--r--lisp/url/ChangeLog4
-rw-r--r--lisp/url/url-handlers.el5
-rw-r--r--lisp/vc/diff-mode.el19
-rw-r--r--lisp/vc/ediff-init.el8
-rw-r--r--lisp/vc/log-edit.el4
-rw-r--r--lisp/vc/vc-bzr.el4
-rw-r--r--lisp/vc/vc-hooks.el18
-rw-r--r--lisp/vc/vc.el10
-rw-r--r--lisp/view.el27
-rw-r--r--lisp/whitespace.el36
-rw-r--r--lisp/wid-browse.el3
-rw-r--r--lisp/window.el29
-rw-r--r--lisp/xt-mouse.el5
137 files changed, 1644 insertions, 1018 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index abae693d0c8..09e2e7dc1de 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,278 @@
12011-10-23 Chong Yidong <cyd@gnu.org>
2
3 * files.el (toggle-read-only): Remove obsolete comment about
4 version control.
5
6 * vc/vc-hooks.el (vc-toggle-read-only): Make it an obsolete alias
7 for toggle-read-only. Note that this hasn't called vc-next-action
8 since 2008-05-02, though it wasn't documented at the time.
9
10 * vc/ediff-init.el (ediff-toggle-read-only-function): Use
11 toggle-read-only.
12
132011-10-22 Alan Mackenzie <bug-cc-mode@gnu.org>
14
15 Fix bug #9560, sporadic wrong indentation; improve instrumentation
16 of c-parse-state.
17
18 * cc-engine.el (c-append-lower-brace-pair-to-state-cache): correct
19 faulty logical expression.
20 (c-parse-state-state, c-record-parse-state-state):
21 (c-replay-parse-state-state): New defvar/defuns.
22 (c-debug-parse-state): Use new functions.
23
242011-10-22 Martin Rudalics <rudalics@gmx.at>
25
26 * mouse.el (mouse-drag-line): Fix minibuffer resizing broken by
27 last fix. Use window-in-direction correctly.
28
292011-10-21 Chong Yidong <cyd@gnu.org>
30
31 * progmodes/idlwave.el (idlwave-mode):
32 * progmodes/vera-mode.el (vera-mode): No need to set
33 require-final-newline; that's done in prog-mode. Suggested by
34 Stefan Monnier.
35
362011-10-21 Martin Rudalics <rudalics@gmx.at>
37
38 * mouse.el (mouse-drag-window-above)
39 (mouse-drag-move-window-bottom, mouse-drag-move-window-top)
40 (mouse-drag-mode-line-1, mouse-drag-header-line)
41 (mouse-drag-vertical-line-rightward-window): Remove.
42 (mouse-drag-line): New function.
43 (mouse-drag-mode-line, mouse-drag-header-line)
44 (mouse-drag-vertical-line): Call mouse-drag-line.
45 * window.el (window-at-side-p, windows-at-side): New functions.
46
472011-10-21 Ulrich Mueller <ulm@gentoo.org>
48
49 * tar-mode.el (tar-grind-file-mode):
50 Fix handling of setuid/setgid, handle sticky bit. (Bug#9817)
51
522011-10-21 Chong Yidong <cyd@gnu.org>
53
54 * progmodes/idlwave.el (idlwave-mode):
55 * progmodes/vera-mode.el (vera-mode): Use
56 mode-require-final-newline.
57
582011-10-20 Glenn Morris <rgm@gnu.org>
59
60 * vc/vc.el (vc-next-action): Handle removed directories. (Bug#9781)
61
622011-10-20 Christoph Scholtes <cschol2112@googlemail.com>
63
64 * emulation/cua-base.el (cua-set-mark): Fix case of string.
65
662011-10-20 Chong Yidong <cyd@gnu.org>
67
68 * emulation/cua-base.el (cua-mode):
69 * mail/footnote.el (footnote-mode):
70 * mail/mailabbrev.el (mail-abbrevs-mode):
71 * net/xesam.el (xesam-minor-mode):
72 * progmodes/bug-reference.el (bug-reference-mode):
73 * progmodes/cap-words.el (capitalized-words-mode):
74 * progmodes/compile.el (compilation-minor-mode)
75 (compilation-shell-minor-mode):
76 * progmodes/gud.el (gud-tooltip-mode):
77 * progmodes/hideif.el (hide-ifdef-mode):
78 * progmodes/idlw-shell.el (idlwave-shell-electric-debug-mode):
79 * progmodes/subword.el (subword-mode):
80 * progmodes/vhdl-mode.el (vhdl-electric-mode, vhdl-stutter-mode):
81 * progmodes/which-func.el (which-function-mode):
82 * term/tvi970.el (tvi970-set-keypad-mode):
83 * term/vt100.el (vt100-wide-mode):
84 * textmodes/flyspell.el (flyspell-mode):
85 * textmodes/ispell.el (ispell-minor-mode):
86 * textmodes/nroff-mode.el (nroff-electric-mode):
87 * textmodes/paragraphs.el (use-hard-newlines):
88 * textmodes/refill.el (refill-mode):
89 * textmodes/reftex.el (reftex-mode):
90 * textmodes/rst.el (rst-minor-mode):
91 * textmodes/sgml-mode.el (html-autoview-mode)
92 (sgml-electric-tag-pair-mode):
93 * textmodes/tex-mode.el (latex-electric-env-pair-mode):
94 * vc/diff-mode.el (diff-auto-refine-mode, diff-minor-mode):
95 * emulation/crisp.el (crisp-mode):
96 * emacs-lisp/eldoc.el (eldoc-mode):
97 * emacs-lisp/checkdoc.el (checkdoc-minor-mode): Doc fixes for new
98 minor mode behavior.
99
1002011-10-19 Juri Linkov <juri@jurta.org>
101
102 * descr-text.el (describe-char): Add #x2010 and #x2011 to
103 the list of hard-coded chars with escape-glyph face.
104
1052011-10-19 Stefan Monnier <monnier@iro.umontreal.ca>
106
107 * vc/log-edit.el (log-edit-empty-buffer-p): Ignore empty headers.
108
1092011-10-19 Michael Albinus <michael.albinus@gmx.de>
110
111 * net/tramp.el (tramp-connectable-p): Make a stronger check on a
112 running process.
113
1142011-10-19 Glenn Morris <rgm@gnu.org>
115
116 * vc/vc-bzr.el (vc-bzr-after-dir-status):
117 Ignore ignored files. (Bug#9726)
118
1192011-10-19 Chong Yidong <cyd@gnu.org>
120
121 Doc fix for minor modes, stating that an omitted argument enables
122 the mode unconditionally when called from Lisp.
123
124 * abbrev.el (abbrev-mode):
125 * allout.el (allout-mode):
126 * autoinsert.el (auto-insert-mode):
127 * autoarg.el (autoarg-mode, autoarg-kp-mode):
128 * autorevert.el (auto-revert-mode, auto-revert-tail-mode)
129 (global-auto-revert-mode):
130 * battery.el (display-battery-mode):
131 * composite.el (global-auto-composition-mode)
132 (auto-composition-mode):
133 * delsel.el (delete-selection-mode):
134 * desktop.el (desktop-save-mode):
135 * dired-x.el (dired-omit-mode):
136 * dirtrack.el (dirtrack-mode):
137 * doc-view.el (doc-view-minor-mode):
138 * double.el (double-mode):
139 * electric.el (electric-indent-mode, electric-pair-mode):
140 * emacs-lock.el (emacs-lock-mode):
141 * epa-hook.el (auto-encryption-mode):
142 * follow.el (follow-mode):
143 * font-core.el (font-lock-mode):
144 * frame.el (auto-raise-mode, auto-lower-mode, blink-cursor-mode):
145 * help.el (temp-buffer-resize-mode):
146 * hilit-chg.el (highlight-changes-mode)
147 (highlight-changes-visible-mode):
148 * hi-lock.el (hi-lock-mode):
149 * hl-line.el (hl-line-mode, global-hl-line-mode):
150 * icomplete.el (icomplete-mode):
151 * ido.el (ido-everywhere):
152 * image-file.el (auto-image-file-mode):
153 * image-mode.el (image-minor-mode):
154 * iswitchb.el (iswitchb-mode):
155 * jka-cmpr-hook.el (auto-compression-mode):
156 * linum.el (linum-mode):
157 * longlines.el (longlines-mode):
158 * master.el (master-mode):
159 * mb-depth.el (minibuffer-depth-indicate-mode):
160 * menu-bar.el (menu-bar-mode):
161 * minibuf-eldef.el (minibuffer-electric-default-mode):
162 * mouse-sel.el (mouse-sel-mode):
163 * msb.el (msb-mode):
164 * mwheel.el (mouse-wheel-mode):
165 * outline.el (outline-minor-mode):
166 * paren.el (show-paren-mode):
167 * recentf.el (recentf-mode):
168 * reveal.el (reveal-mode, global-reveal-mode):
169 * rfn-eshadow.el (file-name-shadow-mode):
170 * ruler-mode.el (ruler-mode):
171 * savehist.el (savehist-mode):
172 * scroll-all.el (scroll-all-mode):
173 * scroll-bar.el (scroll-bar-mode):
174 * server.el (server-mode):
175 * shell.el (shell-dirtrack-mode):
176 * simple.el (auto-fill-mode, transient-mark-mode)
177 (visual-line-mode, overwrite-mode, binary-overwrite-mode)
178 (line-number-mode, column-number-mode, size-indication-mode)
179 (auto-save-mode, normal-erase-is-backspace-mode, visible-mode):
180 * strokes.el (strokes-mode):
181 * time.el (display-time-mode):
182 * t-mouse.el (gpm-mouse-mode):
183 * tool-bar.el (tool-bar-mode):
184 * tooltip.el (tooltip-mode):
185 * type-break.el (type-break-mode-line-message-mode)
186 (type-break-query-mode):
187 * view.el (view-mode):
188 * whitespace.el (whitespace-mode, whitespace-newline-mode)
189 (global-whitespace-mode, global-whitespace-newline-mode):
190 * xt-mouse.el (xterm-mouse-mode): Doc fix.
191
192 * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Fix
193 autogenerated docstring.
194
1952011-10-19 Juri Linkov <juri@jurta.org>
196
197 * net/browse-url.el (browse-url-can-use-xdg-open): Support LXDE
198 by checking environment variables "DESKTOP_SESSION" and
199 "XDG_CURRENT_DESKTOP". (Bug#9779)
200
2012011-10-19 Juri Linkov <juri@jurta.org>
202
203 * net/browse-url.el (browse-url-browser-function): Add "Chromium".
204 (browse-url-chromium-program, browse-url-chromium-arguments):
205 New defcustoms.
206 (browse-url-default-browser): Check for `browse-url-chromium' and
207 call `browse-url-chromium-program'.
208 (browse-url-chromium): New command. (Bug#9779)
209
2102011-10-18 Juanma Barranquero <lekktu@gmail.com>
211
212 * facemenu.el (list-colors-duplicates): On Windows, detect more
213 duplicates by assuming that only colors matching "^System" are
214 special "system colors". (Bug#9722)
215
2162011-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
217
218 * vc/log-edit.el (log-edit): Add "Author:" header to encourage people
219 to distinguish the author from the committer.
220
2212011-10-18 Michael Albinus <michael.albinus@gmx.de>
222
223 * net/tramp.el (tramp-file-name-handler): Load Tramp packages silently.
224
2252011-10-18 Jirka Kosek <jirka@kosek.cz> (tiny change)
226
227 * international/mule.el (sgml-html-meta-auto-coding-function):
228 Add support for detecting encoding in HTML5 specified only as
229 <meta charset="UTF-8">. Implementation just makes http-equiv and
230 content-type parts from HTML4 encoding string optional. (Bug#9716)
231
2322011-10-18 Glenn Morris <rgm@gnu.org>
233
234 * vc/vc.el (vc-initial-comment): Mark as obsolete. (Bug#9745)
235
2362011-10-18 Chong Yidong <cyd@gnu.org>
237
238 * faces.el (cursor): Doc fix.
239
2402011-10-17 Chong Yidong <cyd@gnu.org>
241
242 * font-lock.el (font-lock-maximum-size): Mark as obsolete.
243
2442011-10-17 Ryan Barrett <emacs@ryanb.org> (tiny change)
245
246 * dirtrack.el (dirtrack): Support shell buffers with path
247 prefixes, e.g. tramp-based remote shells. (Bug#9647)
248
2492011-10-17 Teodor Zlatanov <tzz@lifelogs.com>
250
251 * json.el: Bump version to 1.3 and note change in History.
252 (json-alist-p, json-plist-p): Rewrite to avoid recursion.
253
2542011-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
255
256 * comint.el (comint-insert-input, comint-send-input)
257 (comint-get-old-input-default, comint-backward-matching-input)
258 (comint-next-prompt): Use nil instead of `input' for field property of
259 past user input (bug#114).
260
261 * minibuffer.el (completion--replace): Inherit surrounding properties
262 (bug#114).
263 (minibuffer-complete-and-exit): Use it.
264
265 * comint.el (comint--table-subvert): Quote the all-completions output
266 (bug#9160).
267
2682011-10-17 Martin Rudalics <rudalics@gmx.at>
269
270 * ido.el (ido-default-buffer-method): Remove redundant :type entry.
271
272 * menu-bar.el (menu-bar-file-menu): Add entry for making new
273 window on right of selected. (Bug#9350) Reword other window
274 entries and separate them from frame entries.
275
12011-10-15 Glenn Morris <rgm@gnu.org> 2762011-10-15 Glenn Morris <rgm@gnu.org>
2 277
3 * emacs-lisp/ert.el (ert--explain-equal-rec, ert-select-tests): 278 * emacs-lisp/ert.el (ert--explain-equal-rec, ert-select-tests):
@@ -5,8 +280,8 @@
5 280
62011-10-15 Chong Yidong <cyd@stupidchicken.com> 2812011-10-15 Chong Yidong <cyd@stupidchicken.com>
7 282
8 * net/network-stream.el (network-stream-open-starttls): Improve 283 * net/network-stream.el (network-stream-open-starttls):
9 detection of failure due to lack of TLS support. 284 Improve detection of failure due to lack of TLS support.
10 285
11 * mail/sendmail.el (sendmail-query-once): Tweak prompt message, 286 * mail/sendmail.el (sendmail-query-once): Tweak prompt message,
12 putting the input text in front and in bold. 287 putting the input text in front and in bold.
@@ -405,8 +680,8 @@
405 680
406 * net/newst-reader.el (newsticker-html-renderer) 681 * net/newst-reader.el (newsticker-html-renderer)
407 (newsticker-show-news): Automatically 682 (newsticker-show-news): Automatically
408 load html rendering package if newsticker-html-renderer is 683 load html rendering package if newsticker-html-renderer is set.
409 set. Fixes "Warning: defvar ignored because w3m-fill-column is 684 Fixes "Warning: defvar ignored because w3m-fill-column is
410 let-bound" and the error "Symbol's value as variable is void: 685 let-bound" and the error "Symbol's value as variable is void:
411 w3m-fill-column". 686 w3m-fill-column".
412 687
diff --git a/lisp/ChangeLog.15 b/lisp/ChangeLog.15
index 2acf847cddc..9cb24baeb1f 100644
--- a/lisp/ChangeLog.15
+++ b/lisp/ChangeLog.15
@@ -22676,7 +22676,7 @@
22676 (vc-next-action, vc-transfer-file, vc-rename-file): Also pass the 22676 (vc-next-action, vc-transfer-file, vc-rename-file): Also pass the
22677 backend when calling vc-mode-line. 22677 backend when calling vc-mode-line.
22678 (vc-register): Do not create a closure for calling the vc register 22678 (vc-register): Do not create a closure for calling the vc register
22679 function, call it directly. 22679 function, call it directly. No longer obey vc-initial-comment.
22680 22680
226812009-06-23 Dan Nicolaescu <dann@ics.uci.edu> 226812009-06-23 Dan Nicolaescu <dann@ics.uci.edu>
22682 22682
diff --git a/lisp/abbrev.el b/lisp/abbrev.el
index 5a7a741a3a6..395810772c5 100644
--- a/lisp/abbrev.el
+++ b/lisp/abbrev.el
@@ -54,9 +54,12 @@ define global abbrevs instead."
54 54
55(define-minor-mode abbrev-mode 55(define-minor-mode abbrev-mode
56 "Toggle Abbrev mode in the current buffer. 56 "Toggle Abbrev mode in the current buffer.
57With optional argument ARG, turn abbrev mode on if ARG is 57With a prefix argument ARG, enable Abbrev mode if ARG is
58positive, otherwise turn it off. In Abbrev mode, inserting an 58positive, and disable it otherwise. If called from Lisp, enable
59abbreviation causes it to expand and be replaced by its expansion." 59Abbrev mode if ARG is omitted or nil.
60
61In Abbrev mode, inserting an abbreviation causes it to expand and
62be replaced by its expansion."
60 ;; It's defined in C, this stops the d-m-m macro defining it again. 63 ;; It's defined in C, this stops the d-m-m macro defining it again.
61 :variable abbrev-mode) 64 :variable abbrev-mode)
62 65
diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el
index ef75e7157e6..162da1f4815 100644
--- a/lisp/allout-widgets.el
+++ b/lisp/allout-widgets.el
@@ -486,13 +486,14 @@ happens in the buffer.")
486;;;_ > define-minor-mode allout-widgets-mode (arg) 486;;;_ > define-minor-mode allout-widgets-mode (arg)
487;;;###autoload 487;;;###autoload
488(define-minor-mode allout-widgets-mode 488(define-minor-mode allout-widgets-mode
489 "Allout-mode extension, providing graphical decoration of outline structure. 489 "Toggle Allout Widgets mode.
490 490With a prefix argument ARG, enable Allout Widgets mode if ARG is
491This is meant to operate along with allout-mode, via `allout-mode-hook'. 491positive, and disable it otherwise. If called from Lisp, enable
492 492the mode if ARG is omitted or nil.
493If optional argument ARG is greater than 0, enable. 493
494If optional argument ARG is less than 0, disable. 494Allout Widgets mode is an extension of Allout mode that provides
495Anything else, toggle between active and inactive. 495graphical decoration of outline structure. It is meant to
496operate along with `allout-mode', via `allout-mode-hook'.
496 497
497The graphics include: 498The graphics include:
498 499
diff --git a/lisp/allout.el b/lisp/allout.el
index 4002f12e264..18cc3c80dc6 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -1702,17 +1702,19 @@ valid values."
1702;;;###autoload 1702;;;###autoload
1703(define-minor-mode allout-mode 1703(define-minor-mode allout-mode
1704;;;_ . Doc string: 1704;;;_ . Doc string:
1705 "Toggle minor mode for controlling exposure and editing of text outlines. 1705 "Toggle Allout outline mode.
1706\\<allout-mode-map-value> 1706With a prefix argument ARG, enable Allout outline mode if ARG is
1707 1707positive, and disable it otherwise. If called from Lisp, enable
1708Allout outline mode always runs as a minor mode. 1708the mode if ARG is omitted or nil.
1709 1709
1710Allout outline mode provides extensive outline oriented 1710\\<allout-mode-map-value>
1711formatting and manipulation. It enables structural editing of 1711Allout outline mode is a minor mode that provides extensive
1712outlines, as well as navigation and exposure. It also is 1712outline oriented formatting and manipulation. It enables
1713specifically aimed at accommodating syntax-sensitive text like 1713structural editing of outlines, as well as navigation and
1714programming languages. \(For example, see the allout code itself, 1714exposure. It also is specifically aimed at accommodating
1715which is organized as an allout outline.) 1715syntax-sensitive text like programming languages. \(For example,
1716see the allout code itself, which is organized as an allout
1717outline.)
1716 1718
1717In addition to typical outline navigation and exposure, allout includes: 1719In addition to typical outline navigation and exposure, allout includes:
1718 1720
diff --git a/lisp/autoarg.el b/lisp/autoarg.el
index 378ec1318b1..57f5bcd809c 100644
--- a/lisp/autoarg.el
+++ b/lisp/autoarg.el
@@ -90,15 +90,19 @@
90 90
91;;;###autoload 91;;;###autoload
92(define-minor-mode autoarg-mode 92(define-minor-mode autoarg-mode
93 "Toggle Autoarg minor mode globally. 93 "Toggle Autoarg mode, a global minor mode.
94With ARG, turn Autoarg mode on if ARG is positive, off otherwise. 94With a prefix argument ARG, enable Autoarg mode if ARG is
95positive, and disable it otherwise. If called from Lisp, enable
96the mode if ARG is omitted or nil.
97
95\\<autoarg-mode-map> 98\\<autoarg-mode-map>
96In Autoarg mode digits are bound to `digit-argument' -- i.e. they 99In Autoarg mode, digits are bound to `digit-argument', i.e. they
97supply prefix arguments as C-DIGIT and M-DIGIT normally do -- and 100supply prefix arguments as C-DIGIT and M-DIGIT normally do.
98C-DIGIT inserts DIGIT. \\[autoarg-terminate] terminates the prefix sequence 101Furthermore, C-DIGIT inserts DIGIT.
99and inserts the digits of the autoarg sequence into the buffer. 102\\[autoarg-terminate] terminates the prefix sequence and inserts
100Without a numeric prefix arg the normal binding of \\[autoarg-terminate] is 103the digits of the autoarg sequence into the buffer.
101invoked, i.e. what it would be with Autoarg mode off. 104Without a numeric prefix arg, the normal binding of \\[autoarg-terminate]
105is invoked, i.e. what it would be with Autoarg mode off.
102 106
103For example: 107For example:
104`6 9 \\[autoarg-terminate]' inserts `69' into the buffer, as does `C-6 C-9'. 108`6 9 \\[autoarg-terminate]' inserts `69' into the buffer, as does `C-6 C-9'.
@@ -112,11 +116,14 @@ then invokes the normal binding of \\[autoarg-terminate].
112 116
113;;;###autoload 117;;;###autoload
114(define-minor-mode autoarg-kp-mode 118(define-minor-mode autoarg-kp-mode
115 "Toggle Autoarg-KP minor mode globally. 119 "Toggle Autoarg-KP mode, a global minor mode.
116With ARG, turn Autoarg mode on if ARG is positive, off otherwise. 120With a prefix argument ARG, enable Autoarg-KP mode if ARG is
121positive, and disable it otherwise. If called from Lisp, enable
122the mode if ARG is omitted or nil.
123
117\\<autoarg-kp-mode-map> 124\\<autoarg-kp-mode-map>
118This is similar to \\[autoarg-mode] but rebinds the keypad keys `kp-1' 125This is similar to `autoarg-mode' but rebinds the keypad keys
119etc. to supply digit arguments. 126`kp-1' etc. to supply digit arguments.
120 127
121\\{autoarg-kp-mode-map}" 128\\{autoarg-kp-mode-map}"
122 nil " Aakp" autoarg-kp-mode-map :global t :group 'keyboard 129 nil " Aakp" autoarg-kp-mode-map :global t :group 'keyboard
diff --git a/lisp/autoinsert.el b/lisp/autoinsert.el
index 5793c3180be..6d002f4a217 100644
--- a/lisp/autoinsert.el
+++ b/lisp/autoinsert.el
@@ -397,9 +397,10 @@ or if CONDITION had no actions, after all other CONDITIONs."
397 397
398;;;###autoload 398;;;###autoload
399(define-minor-mode auto-insert-mode 399(define-minor-mode auto-insert-mode
400 "Toggle Auto-insert mode. 400 "Toggle Auto-insert mode, a global minor mode.
401With prefix ARG, turn Auto-insert mode on if and only if ARG is positive. 401With a prefix argument ARG, enable Auto-insert mode if ARG is
402Returns the new status of Auto-insert mode (non-nil means on). 402positive, and disable it otherwise. If called from Lisp, enable
403the mode if ARG is omitted or nil.
403 404
404When Auto-insert mode is enabled, when new files are created you can 405When Auto-insert mode is enabled, when new files are created you can
405insert a template for the file depending on the mode of the buffer." 406insert a template for the file depending on the mode of the buffer."
diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index c67b6663bd0..817aaff55ca 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -284,10 +284,15 @@ the list of old buffers.")
284 284
285;;;###autoload 285;;;###autoload
286(define-minor-mode auto-revert-mode 286(define-minor-mode auto-revert-mode
287 "Toggle reverting buffer when file on disk changes. 287 "Toggle reverting buffer when the file changes (Auto Revert mode).
288With a prefix argument ARG, enable Auto Revert mode if ARG is
289positive, and disable it otherwise. If called from Lisp, enable
290the mode if ARG is omitted or nil.
291
292Auto Revert mode is a minor mode that affects only the current
293buffer. When enabled, it reverts the buffer when the file on
294disk changes.
288 295
289With arg, turn Auto Revert mode on if and only if arg is positive.
290This is a minor mode that affects only the current buffer.
291Use `global-auto-revert-mode' to automatically revert all buffers. 296Use `global-auto-revert-mode' to automatically revert all buffers.
292Use `auto-revert-tail-mode' if you know that the file will only grow 297Use `auto-revert-tail-mode' if you know that the file will only grow
293without being changed in the part that is already in the buffer." 298without being changed in the part that is already in the buffer."
@@ -314,14 +319,16 @@ This function is designed to be added to hooks, for example:
314 319
315;;;###autoload 320;;;###autoload
316(define-minor-mode auto-revert-tail-mode 321(define-minor-mode auto-revert-tail-mode
317 "Toggle reverting tail of buffer when file on disk grows. 322 "Toggle reverting tail of buffer when the file grows.
318With arg, turn Tail mode on if arg is positive, otherwise turn it off. 323With a prefix argument ARG, enable Auto-Revert Tail mode if ARG
324is positive, and disable it otherwise. If called from Lisp,
325enable the mode if ARG is omitted or nil.
319 326
320When Tail mode is enabled, the tail of the file is constantly 327When Auto Revert Tail mode is enabled, the tail of the file is
321followed, as with the shell command `tail -f'. This means that 328constantly followed, as with the shell command `tail -f'. This
322whenever the file grows on disk (presumably because some 329means that whenever the file grows on disk (presumably because
323background process is appending to it from time to time), this is 330some background process is appending to it from time to time),
324reflected in the current buffer. 331this is reflected in the current buffer.
325 332
326You can edit the buffer and turn this mode off and on again as 333You can edit the buffer and turn this mode off and on again as
327you please. But make sure the background process has stopped 334you please. But make sure the background process has stopped
@@ -367,7 +374,7 @@ Perform a full revert? ")
367 374
368;;;###autoload 375;;;###autoload
369(defun turn-on-auto-revert-tail-mode () 376(defun turn-on-auto-revert-tail-mode ()
370 "Turn on Auto-Revert Tail Mode. 377 "Turn on Auto-Revert Tail mode.
371 378
372This function is designed to be added to hooks, for example: 379This function is designed to be added to hooks, for example:
373 (add-hook 'my-logfile-mode-hook 'turn-on-auto-revert-tail-mode)" 380 (add-hook 'my-logfile-mode-hook 'turn-on-auto-revert-tail-mode)"
@@ -377,12 +384,13 @@ This function is designed to be added to hooks, for example:
377;;;###autoload 384;;;###autoload
378(define-minor-mode global-auto-revert-mode 385(define-minor-mode global-auto-revert-mode
379 "Toggle Global Auto Revert mode. 386 "Toggle Global Auto Revert mode.
380With optional prefix argument ARG, enable Global Auto Revert Mode 387With a prefix argument ARG, enable Global Auto Revert mode if ARG
381if ARG > 0, else disable it. 388is positive, and disable it otherwise. If called from Lisp,
389enable the mode if ARG is omitted or nil.
382 390
383This is a global minor mode that reverts any buffer associated 391Global Auto Revert mode is a global minor mode that reverts any
384with a file when the file changes on disk. Use `auto-revert-mode' 392buffer associated with a file when the file changes on disk. Use
385to revert a particular buffer. 393`auto-revert-mode' to revert a particular buffer.
386 394
387If `global-auto-revert-non-file-buffers' is non-nil, this mode 395If `global-auto-revert-non-file-buffers' is non-nil, this mode
388may also revert some non-file buffers, as described in the 396may also revert some non-file buffers, as described in the
diff --git a/lisp/battery.el b/lisp/battery.el
index f5c01fbef58..3b245ed644d 100644
--- a/lisp/battery.el
+++ b/lisp/battery.el
@@ -164,10 +164,14 @@ The text being displayed in the echo area is controlled by the variables
164 164
165;;;###autoload 165;;;###autoload
166(define-minor-mode display-battery-mode 166(define-minor-mode display-battery-mode
167 "Display battery status information in the mode line. 167 "Toggle battery status display in mode line (Display Battery mode).
168The text being displayed in the mode line is controlled by the variables 168With a prefix argument ARG, enable Display Battery mode if ARG is
169positive, and disable it otherwise. If called from Lisp, enable
170the mode if ARG is omitted or nil.
171
172The text displayed in the mode line is controlled by
169`battery-mode-line-format' and `battery-status-function'. 173`battery-mode-line-format' and `battery-status-function'.
170The mode line will be updated automatically every `battery-update-interval' 174The mode line is be updated every `battery-update-interval'
171seconds." 175seconds."
172 :global t :group 'battery 176 :global t :group 'battery
173 (setq battery-mode-line-string "") 177 (setq battery-mode-line-string "")
diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog
index 093e592c475..3dd0e6f78fd 100644
--- a/lisp/cedet/ChangeLog
+++ b/lisp/cedet/ChangeLog
@@ -1,3 +1,20 @@
12011-10-23 Chong Yidong <cyd@gnu.org>
2
3 * ede.el (ede-maybe-checkout): Function deleted;
4 vc-toggle-read-only does not do version control now.
5
6 * ede/util.el (ede-make-buffer-writable): Don't use
7 vc-toggle-read-only.
8
9 * ede/project-am.el (project-remove-file, project-add-file)
10 (project-new-target): Don't call ede-maybe-checkout.
11
122011-10-19 Chong Yidong <cyd@gnu.org>
13
14 * ede.el (ede-minor-mode,global-ede-mode):
15 * semantic.el (semantic-mode): Doc fix to reflect new
16 define-minor-mode calling behavior.
17
12011-07-30 Chong Yidong <cyd@stupidchicken.com> 182011-07-30 Chong Yidong <cyd@stupidchicken.com>
2 19
3 * semantic/grammar.el (semantic-grammar-insert-defanalyzers): Fix 20 * semantic/grammar.el (semantic-grammar-insert-defanalyzers): Fix
diff --git a/lisp/cedet/ede.el b/lisp/cedet/ede.el
index 307ccfdadd7..14f09517b1d 100644
--- a/lisp/cedet/ede.el
+++ b/lisp/cedet/ede.el
@@ -398,8 +398,9 @@ To be used in hook functions."
398 398
399(define-minor-mode ede-minor-mode 399(define-minor-mode ede-minor-mode
400 "Toggle EDE (Emacs Development Environment) minor mode. 400 "Toggle EDE (Emacs Development Environment) minor mode.
401With non-nil argument ARG, enable EDE minor mode if ARG is 401With a prefix argument ARG, enable EDE minor mode if ARG is
402positive; otherwise, disable it. 402positive, and disable it otherwise. If called from Lisp, enable
403EDE minor mode if ARG is omitted or nil.
403 404
404If this file is contained, or could be contained in an EDE 405If this file is contained, or could be contained in an EDE
405controlled project, then this mode is activated automatically 406controlled project, then this mode is activated automatically
@@ -458,8 +459,9 @@ ONOFF indicates enabling or disabling the mode."
458;;;###autoload 459;;;###autoload
459(define-minor-mode global-ede-mode 460(define-minor-mode global-ede-mode
460 "Toggle global EDE (Emacs Development Environment) mode. 461 "Toggle global EDE (Emacs Development Environment) mode.
461With non-nil argument ARG, enable global EDE mode if ARG is 462With a prefix argument ARG, enable global EDE mode if ARG is
462positive; otherwise, disable it. 463positive, and disable it otherwise. If called from Lisp, enable
464the mode if ARG is omitted or nil.
463 465
464This global minor mode enables `ede-minor-mode' in all buffers in 466This global minor mode enables `ede-minor-mode' in all buffers in
465an EDE controlled project." 467an EDE controlled project."
@@ -1177,16 +1179,6 @@ See also `ede-map-subprojects'."
1177Return the first non-nil value returned by PROC." 1179Return the first non-nil value returned by PROC."
1178 (eval (cons 'or (ede-map-targets this proc)))) 1180 (eval (cons 'or (ede-map-targets this proc))))
1179 1181
1180;;; VC Handling
1181;;
1182(defun ede-maybe-checkout (&optional buffer)
1183 "Check BUFFER out of VC if necessary."
1184 (save-excursion
1185 (if buffer (set-buffer buffer))
1186 (if (and buffer-read-only vc-mode
1187 (y-or-n-p "Checkout Makefile.am from VC? "))
1188 (vc-toggle-read-only))))
1189
1190 1182
1191;;; Some language specific methods. 1183;;; Some language specific methods.
1192;; 1184;;
diff --git a/lisp/cedet/ede/project-am.el b/lisp/cedet/ede/project-am.el
index 88cf67e22ed..ec54d8151bc 100644
--- a/lisp/cedet/ede/project-am.el
+++ b/lisp/cedet/ede/project-am.el
@@ -214,7 +214,6 @@ OT is the object target. DIR is the directory to start in."
214 target (project-am-preferred-target-type (buffer-file-name))))) 214 target (project-am-preferred-target-type (buffer-file-name)))))
215 (ede-with-projectfile ot 215 (ede-with-projectfile ot
216 (makefile-move-to-macro (project-am-macro ot)) 216 (makefile-move-to-macro (project-am-macro ot))
217 (ede-maybe-checkout)
218 (makefile-end-of-command) 217 (makefile-end-of-command)
219 (insert " " ofn) 218 (insert " " ofn)
220 (makefile-fill-paragraph nil) 219 (makefile-fill-paragraph nil)
@@ -226,10 +225,6 @@ OT is the object target. DIR is the directory to start in."
226 "Remove the current buffer from any project targets." 225 "Remove the current buffer from any project targets."
227 (ede-with-projectfile ot 226 (ede-with-projectfile ot
228 (makefile-move-to-macro (project-am-macro ot)) 227 (makefile-move-to-macro (project-am-macro ot))
229 (if (and buffer-read-only vc-mode
230 (y-or-n-p "Checkout Makefile.am from VC? "))
231 (vc-toggle-read-only t))
232 (ede-maybe-checkout)
233 (makefile-navigate-macro (concat " *" (regexp-quote (ede-name fnnd)))) 228 (makefile-navigate-macro (concat " *" (regexp-quote (ede-name fnnd))))
234 (replace-match "" t t nil 0) 229 (replace-match "" t t nil 0)
235 (makefile-fill-paragraph nil) 230 (makefile-fill-paragraph nil)
@@ -271,7 +266,6 @@ buffer being in order to provide a smart default target type."
271 (if (not ot) (error "Error creating target object %S" ntype)) 266 (if (not ot) (error "Error creating target object %S" ntype))
272 (ede-with-projectfile ot 267 (ede-with-projectfile ot
273 (goto-char (point-min)) 268 (goto-char (point-min))
274 (ede-maybe-checkout)
275 (makefile-next-dependency) 269 (makefile-next-dependency)
276 (if (= (point) (point-min)) 270 (if (= (point) (point-min))
277 (goto-char (point-max)) 271 (goto-char (point-max))
diff --git a/lisp/cedet/ede/util.el b/lisp/cedet/ede/util.el
index fc4536ba88a..053180d4a8b 100644
--- a/lisp/cedet/ede/util.el
+++ b/lisp/cedet/ede/util.el
@@ -87,12 +87,7 @@ their sources to VERSION."
87If BUFFER isn't specified, use the current buffer." 87If BUFFER isn't specified, use the current buffer."
88 (save-excursion 88 (save-excursion
89 (if buffer (set-buffer buffer)) 89 (if buffer (set-buffer buffer))
90 (if buffer-read-only 90 (toggle-read-only -1)))
91 (if (and vc-mode
92 (y-or-n-p (format "Check out %s? " (buffer-file-name))))
93 (vc-toggle-read-only)
94 (if (not vc-mode)
95 (toggle-read-only -1))))))
96 91
97(provide 'ede/util) 92(provide 'ede/util)
98 93
diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el
index ce9af0e12b5..34d886b6807 100644
--- a/lisp/cedet/semantic.el
+++ b/lisp/cedet/semantic.el
@@ -1055,8 +1055,10 @@ The possible elements of this list include the following:
1055 1055
1056;;;###autoload 1056;;;###autoload
1057(define-minor-mode semantic-mode 1057(define-minor-mode semantic-mode
1058 "Toggle Semantic mode. 1058 "Toggle parser features (Semantic mode).
1059With ARG, turn Semantic mode on if ARG is positive, off otherwise. 1059With a prefix argument ARG, enable Semantic mode if ARG is
1060positive, and disable it otherwise. If called from Lisp, enable
1061Semantic mode if ARG is omitted or nil.
1060 1062
1061In Semantic mode, Emacs parses the buffers you visit for their 1063In Semantic mode, Emacs parses the buffers you visit for their
1062semantic content. This information is used by a variety of 1064semantic content. This information is used by a variety of
diff --git a/lisp/comint.el b/lisp/comint.el
index 52580db6186..591be5e2d9d 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -847,10 +847,10 @@ by the global keymap (usually `mouse-yank-at-click')."
847 ;; If pos is at the very end of a field, the mouse-click was 847 ;; If pos is at the very end of a field, the mouse-click was
848 ;; probably outside (to the right) of the field. 848 ;; probably outside (to the right) of the field.
849 (and (< pos (field-end pos)) 849 (and (< pos (field-end pos))
850 (setq field (field-at-pos pos)) 850 (< (field-end pos) (point-max))
851 (setq input (field-string-no-properties pos)))) 851 (progn (setq field (field-at-pos pos))
852 (if (or (null comint-accum-marker) 852 (setq input (field-string-no-properties pos)))))
853 (not (eq field 'input))) 853 (if (or (null input) (null comint-accum-marker) field)
854 ;; Fall back to the global definition if (i) the selected 854 ;; Fall back to the global definition if (i) the selected
855 ;; buffer is not a comint buffer (which can happen if a 855 ;; buffer is not a comint buffer (which can happen if a
856 ;; non-comint window was selected and we clicked in a comint 856 ;; non-comint window was selected and we clicked in a comint
@@ -1803,8 +1803,7 @@ Similarly for Soar, Scheme, etc."
1803 (add-text-properties 1803 (add-text-properties
1804 beg end 1804 beg end
1805 '(mouse-face highlight 1805 '(mouse-face highlight
1806 help-echo "mouse-2: insert after prompt as new input" 1806 help-echo "mouse-2: insert after prompt as new input"))))
1807 field input))))
1808 (unless (or no-newline comint-use-prompt-regexp) 1807 (unless (or no-newline comint-use-prompt-regexp)
1809 ;; Cover the terminating newline 1808 ;; Cover the terminating newline
1810 (add-text-properties end (1+ end) 1809 (add-text-properties end (1+ end)
@@ -2153,7 +2152,7 @@ If `comint-use-prompt-regexp' is non-nil, then return
2153the current line with any initial string matching the regexp 2152the current line with any initial string matching the regexp
2154`comint-prompt-regexp' removed." 2153`comint-prompt-regexp' removed."
2155 (let ((bof (field-beginning))) 2154 (let ((bof (field-beginning)))
2156 (if (eq (get-char-property bof 'field) 'input) 2155 (if (null (get-char-property bof 'field)) ;Not `output'.
2157 (field-string-no-properties bof) 2156 (field-string-no-properties bof)
2158 (comint-bol) 2157 (comint-bol)
2159 (buffer-substring-no-properties (point) (line-end-position))))) 2158 (buffer-substring-no-properties (point) (line-end-position)))))
@@ -2473,7 +2472,7 @@ If N is negative, find the next or Nth next match."
2473 (while (/= n 0) 2472 (while (/= n 0)
2474 (unless (re-search-backward regexp nil t dir) 2473 (unless (re-search-backward regexp nil t dir)
2475 (error "Not found")) 2474 (error "Not found"))
2476 (when (eq (get-char-property (point) 'field) 'input) 2475 (unless (get-char-property (point) 'field)
2477 (setq n (- n dir)))) 2476 (setq n (- n dir))))
2478 (field-beginning)))) 2477 (field-beginning))))
2479 (goto-char pos)))) 2478 (goto-char pos))))
@@ -2520,7 +2519,7 @@ text matching `comint-prompt-regexp'."
2520 (setq input-pos (point-max))) 2519 (setq input-pos (point-max)))
2521 ;; stop iterating 2520 ;; stop iterating
2522 (setq n 0)) 2521 (setq n 0))
2523 ((eq (get-char-property pos 'field) 'input) 2522 ((null (get-char-property pos 'field))
2524 (setq n (if (< n 0) (1+ n) (1- n))) 2523 (setq n (if (< n 0) (1+ n) (1- n)))
2525 (setq input-pos pos)))) 2524 (setq input-pos pos))))
2526 (when input-pos 2525 (when input-pos
@@ -3079,9 +3078,9 @@ SS1 = (unquote SS2)."
3079 3078
3080(defun comint--table-subvert (table s1 s2 &optional quote-fun unquote-fun) 3079(defun comint--table-subvert (table s1 s2 &optional quote-fun unquote-fun)
3081 "Completion table that replaces the prefix S1 with S2 in STRING. 3080 "Completion table that replaces the prefix S1 with S2 in STRING.
3082When TABLE, S1 and S2 are provided by `apply-partially', the result 3081The result is a completion table which completes strings of the
3083is a completion table which completes strings of the form (concat S1 S) 3082form (concat S1 S) in the same way as TABLE completes strings of
3084in the same way as TABLE completes strings of the form (concat S2 S)." 3083the form (concat S2 S)."
3085 (lambda (string pred action) 3084 (lambda (string pred action)
3086 (let* ((str (if (eq t (compare-strings string 0 (length s1) s1 nil nil 3085 (let* ((str (if (eq t (compare-strings string 0 (length s1) s1 nil nil
3087 completion-ignore-case)) 3086 completion-ignore-case))
@@ -3106,13 +3105,15 @@ in the same way as TABLE completes strings of the form (concat S2 S)."
3106 ((eq action t) 3105 ((eq action t)
3107 (let ((bounds (completion-boundaries str table pred ""))) 3106 (let ((bounds (completion-boundaries str table pred "")))
3108 (if (>= (car bounds) (length s2)) 3107 (if (>= (car bounds) (length s2))
3109 res 3108 (if quote-fun (mapcar quote-fun res) res)
3110 (let ((re (concat "\\`" 3109 (let ((re (concat "\\`"
3111 (regexp-quote (substring s2 (car bounds)))))) 3110 (regexp-quote (substring s2 (car bounds))))))
3112 (delq nil 3111 (delq nil
3113 (mapcar (lambda (c) 3112 (mapcar (lambda (c)
3114 (if (string-match re c) 3113 (if (string-match re c)
3115 (substring c (match-end 0)))) 3114 (let ((str (substring c (match-end 0))))
3115 (if quote-fun
3116 (funcall quote-fun str) str))))
3116 res)))))) 3117 res))))))
3117 ;; E.g. action=nil and it's the only completion. 3118 ;; E.g. action=nil and it's the only completion.
3118 (res)))))) 3119 (res))))))
diff --git a/lisp/composite.el b/lisp/composite.el
index 11a3d5ba388..487962ee07c 100644
--- a/lisp/composite.el
+++ b/lisp/composite.el
@@ -728,12 +728,13 @@ This function is the default value of `auto-composition-function' (which see)."
728;;;###autoload 728;;;###autoload
729(define-minor-mode auto-composition-mode 729(define-minor-mode auto-composition-mode
730 "Toggle Auto Composition mode. 730 "Toggle Auto Composition mode.
731With ARG, turn Auto Composition mode off if and only if ARG is a non-positive 731With a prefix argument ARG, enable Auto Composition mode if ARG
732number; if ARG is nil, toggle Auto Composition mode; anything else turns Auto 732is positive, and disable it otherwise. If called from Lisp,
733Composition on. 733enable the mode if ARG is omitted or nil.
734 734
735When Auto Composition is enabled, text characters are automatically composed 735When Auto Composition mode is enabled, text characters are
736by functions registered in `composition-function-table' (which see). 736automatically composed by functions registered in
737`composition-function-table'.
737 738
738You can use `global-auto-composition-mode' to turn on 739You can use `global-auto-composition-mode' to turn on
739Auto Composition mode in all buffers (this is the default)." 740Auto Composition mode in all buffers (this is the default)."
@@ -744,10 +745,13 @@ Auto Composition mode in all buffers (this is the default)."
744 745
745;;;###autoload 746;;;###autoload
746(define-minor-mode global-auto-composition-mode 747(define-minor-mode global-auto-composition-mode
747 "Toggle Auto-Composition mode in every possible buffer. 748 "Toggle Auto Composition mode in all buffers.
748With prefix arg, turn Global-Auto-Composition mode on if and only if arg 749With a prefix argument ARG, enable it if ARG is positive, and
749is positive. 750disable it otherwise. If called from Lisp, enable it if ARG is
750See `auto-composition-mode' for more information on Auto-Composition mode." 751omitted or nil.
752
753For more information on Auto Composition mode, see
754`auto-composition-mode' ."
751 :variable (default-value 'auto-composition-mode)) 755 :variable (default-value 'auto-composition-mode))
752 756
753(defalias 'toggle-auto-composition 'auto-composition-mode) 757(defalias 'toggle-auto-composition 'auto-composition-mode)
diff --git a/lisp/delsel.el b/lisp/delsel.el
index 705b64be89d..6d2c47f3957 100644
--- a/lisp/delsel.el
+++ b/lisp/delsel.el
@@ -56,8 +56,9 @@
56;;;###autoload 56;;;###autoload
57(define-minor-mode delete-selection-mode 57(define-minor-mode delete-selection-mode
58 "Toggle Delete Selection mode. 58 "Toggle Delete Selection mode.
59With prefix ARG, turn Delete Selection mode on if ARG is 59With a prefix argument ARG, enable Delete Selection mode if ARG
60positive, off if ARG is not positive. 60is positive, and disable it otherwise. If called from Lisp,
61enable the mode if ARG is omitted or nil.
61 62
62When Delete Selection mode is enabled, Transient Mark mode is also 63When Delete Selection mode is enabled, Transient Mark mode is also
63enabled and typed text replaces the selection if the selection is 64enabled and typed text replaces the selection if the selection is
diff --git a/lisp/descr-text.el b/lisp/descr-text.el
index 7d267cec480..c175bd7c3c7 100644
--- a/lisp/descr-text.el
+++ b/lisp/descr-text.el
@@ -606,7 +606,8 @@ as well as widgets, buttons, overlays, and text properties."
606 'trailing-whitespace) 606 'trailing-whitespace)
607 ((and nobreak-char-display char (eq char '#xa0)) 607 ((and nobreak-char-display char (eq char '#xa0))
608 'nobreak-space) 608 'nobreak-space)
609 ((and nobreak-char-display char (eq char '#xad)) 609 ((and nobreak-char-display char
610 (memq char '(#xad #x2010 #x2011)))
610 'escape-glyph) 611 'escape-glyph)
611 ((and (< char 32) (not (memq char '(9 10)))) 612 ((and (< char 32) (not (memq char '(9 10))))
612 'escape-glyph))))) 613 'escape-glyph)))))
diff --git a/lisp/desktop.el b/lisp/desktop.el
index c60745a6b16..cdc787dfde9 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -147,11 +147,14 @@ backward compatibility.")
147 147
148;;;###autoload 148;;;###autoload
149(define-minor-mode desktop-save-mode 149(define-minor-mode desktop-save-mode
150 "Toggle desktop saving mode. 150 "Toggle desktop saving (Desktop Save mode).
151With numeric ARG, turn desktop saving on if ARG is positive, off 151With a prefix argument ARG, enable Desktop Save mode if ARG is
152otherwise. If desktop saving is turned on, the state of Emacs is 152positive, and disable it otherwise. If called from Lisp, enable
153saved from one session to another. See variable `desktop-save' 153the mode if ARG is omitted or nil.
154and function `desktop-read' for details." 154
155If Desktop Save mode is enabled, the state of Emacs is saved from
156one session to another. See variable `desktop-save' and function
157`desktop-read' for details."
155 :global t 158 :global t
156 :group 'desktop) 159 :group 'desktop)
157 160
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 0f2cfd4973f..aaddc479b2a 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -133,16 +133,20 @@ If nil, there is no maximum size."
133 :group 'dired-x) 133 :group 'dired-x)
134 134
135(define-minor-mode dired-omit-mode 135(define-minor-mode dired-omit-mode
136 "Toggle Dired-Omit mode. 136 "Toggle omission of uninteresting files in Dired (Dired-Omit mode).
137With numeric ARG, enable Dired-Omit mode if ARG is positive, disable 137With a prefix argument ARG, enable Dired-Omit mode if ARG is
138otherwise. Enabling and disabling is buffer-local. 138positive, and disable it otherwise. If called from Lisp, enable
139If enabled, \"uninteresting\" files are not listed. 139the mode if ARG is omitted or nil.
140Uninteresting files are those whose filenames match regexp `dired-omit-files',
141plus those ending with extensions in `dired-omit-extensions'.
142 140
143To enable omitting in every Dired buffer, you can put in your ~/.emacs 141Dired-Omit mode is a buffer-local minor mode. When enabled in a
142Dired buffer, Dired does not list files whose filenames match
143regexp `dired-omit-files', nor files ending with extensions in
144`dired-omit-extensions'.
144 145
145 (add-hook 'dired-mode-hook (lambda () (dired-omit-mode 1))) 146To enable omitting in every Dired buffer, you can put this in
147your init file:
148
149 (add-hook 'dired-mode-hook (lambda () (dired-omit-mode)))
146 150
147See Info node `(dired-x) Omitting Variables' for more information." 151See Info node `(dired-x) Omitting Variables' for more information."
148 :group 'dired-x 152 :group 'dired-x
diff --git a/lisp/dired.el b/lisp/dired.el
index 60ba14ade84..3ff86869a78 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -4128,7 +4128,7 @@ instead.
4128;;;*** 4128;;;***
4129 4129
4130;;;### (autoloads (dired-do-relsymlink dired-jump-other-window dired-jump) 4130;;;### (autoloads (dired-do-relsymlink dired-jump-other-window dired-jump)
4131;;;;;; "dired-x" "dired-x.el" "219648338c42c7912fa336680b434db0") 4131;;;;;; "dired-x" "dired-x.el" "0a19e4cb2cadf007be715af1035c9c36")
4132;;; Generated autoloads from dired-x.el 4132;;; Generated autoloads from dired-x.el
4133 4133
4134(autoload 'dired-jump "dired-x" "\ 4134(autoload 'dired-jump "dired-x" "\
diff --git a/lisp/dirtrack.el b/lisp/dirtrack.el
index c3dfc747772..eef8c111da5 100644
--- a/lisp/dirtrack.el
+++ b/lisp/dirtrack.el
@@ -183,7 +183,11 @@ and ends with a forward slash."
183 183
184;;;###autoload 184;;;###autoload
185(define-minor-mode dirtrack-mode 185(define-minor-mode dirtrack-mode
186 "Enable or disable Dirtrack directory tracking in a shell buffer. 186 "Toggle directory tracking in shell buffers (Dirtrack mode).
187With a prefix argument ARG, enable Dirtrack mode if ARG is
188positive, and disable it otherwise. If called from Lisp, enable
189the mode if ARG is omitted or nil.
190
187This method requires that your shell prompt contain the full 191This method requires that your shell prompt contain the full
188current working directory at all times, and that `dirtrack-list' 192current working directory at all times, and that `dirtrack-list'
189is set to match the prompt. This is an alternative to 193is set to match the prompt. This is an alternative to
@@ -199,7 +203,7 @@ and similar commands which change the shell working directory."
199 203
200 204
201(define-minor-mode dirtrack-debug-mode 205(define-minor-mode dirtrack-debug-mode
202 "Enable or disable Dirtrack debugging." 206 "Toggle Dirtrack debugging."
203 nil nil nil 207 nil nil nil
204 (if dirtrack-debug-mode 208 (if dirtrack-debug-mode
205 (display-buffer (get-buffer-create dirtrack-debug-buffer)))) 209 (display-buffer (get-buffer-create dirtrack-debug-buffer))))
@@ -227,7 +231,7 @@ If directory tracking does not seem to be working, you can use the
227function `dirtrack-debug-mode' to turn on debugging output." 231function `dirtrack-debug-mode' to turn on debugging output."
228 (unless (or (null dirtrack-mode) 232 (unless (or (null dirtrack-mode)
229 (eq (point) (point-min))) ; no output? 233 (eq (point) (point-min))) ; no output?
230 (let (prompt-path 234 (let (prompt-path orig-prompt-path
231 (current-dir default-directory) 235 (current-dir default-directory)
232 (dirtrack-regexp (nth 0 dirtrack-list)) 236 (dirtrack-regexp (nth 0 dirtrack-list))
233 (match-num (nth 1 dirtrack-list))) 237 (match-num (nth 1 dirtrack-list)))
@@ -243,8 +247,9 @@ function `dirtrack-debug-mode' to turn on debugging output."
243 (if (not (> (length prompt-path) 0)) 247 (if (not (> (length prompt-path) 0))
244 (dirtrack-debug-message "Match is empty string") 248 (dirtrack-debug-message "Match is empty string")
245 ;; Transform prompts into canonical forms 249 ;; Transform prompts into canonical forms
246 (setq prompt-path (funcall dirtrack-directory-function 250 (setq orig-prompt-path (funcall dirtrack-directory-function
247 prompt-path) 251 prompt-path)
252 prompt-path (shell-prefixed-directory-name orig-prompt-path)
248 current-dir (funcall dirtrack-canonicalize-function 253 current-dir (funcall dirtrack-canonicalize-function
249 current-dir)) 254 current-dir))
250 (dirtrack-debug-message 255 (dirtrack-debug-message
@@ -257,8 +262,9 @@ function `dirtrack-debug-mode' to turn on debugging output."
257 ;; It's possible that Emacs will think the directory 262 ;; It's possible that Emacs will think the directory
258 ;; won't exist (eg, rlogin buffers) 263 ;; won't exist (eg, rlogin buffers)
259 (if (file-accessible-directory-p prompt-path) 264 (if (file-accessible-directory-p prompt-path)
260 ;; Change directory 265 ;; Change directory. shell-process-cd adds the prefix, so we
261 (and (shell-process-cd prompt-path) 266 ;; need to give it the original (un-prefixed) path.
267 (and (shell-process-cd orig-prompt-path)
262 (run-hooks 'dirtrack-directory-change-hook) 268 (run-hooks 'dirtrack-directory-change-hook)
263 (dirtrack-debug-message 269 (dirtrack-debug-message
264 (format "Changing directory to %s" prompt-path))) 270 (format "Changing directory to %s" prompt-path)))
diff --git a/lisp/doc-view.el b/lisp/doc-view.el
index 872b2172c7e..ceaad83cd7c 100644
--- a/lisp/doc-view.el
+++ b/lisp/doc-view.el
@@ -1502,8 +1502,11 @@ to the next best mode."
1502 1502
1503;;;###autoload 1503;;;###autoload
1504(define-minor-mode doc-view-minor-mode 1504(define-minor-mode doc-view-minor-mode
1505 "Toggle Doc view minor mode. 1505 "Toggle displaying buffer via Doc View (Doc View minor mode).
1506With arg, turn Doc view minor mode on if arg is positive, off otherwise. 1506With a prefix argument ARG, enable Doc View minor mode if ARG is
1507positive, and disable it otherwise. If called from Lisp, enable
1508the mode if ARG is omitted or nil.
1509
1507See the command `doc-view-mode' for more information on this mode." 1510See the command `doc-view-mode' for more information on this mode."
1508 nil " DocView" doc-view-minor-mode-map 1511 nil " DocView" doc-view-minor-mode-map
1509 :group 'doc-view 1512 :group 'doc-view
diff --git a/lisp/double.el b/lisp/double.el
index 4aa8da72af7..2a845f61942 100644
--- a/lisp/double.el
+++ b/lisp/double.el
@@ -146,12 +146,13 @@ but not `C-u X' or `ESC X' since the X is not the prefix key."
146 146
147;;;###autoload 147;;;###autoload
148(define-minor-mode double-mode 148(define-minor-mode double-mode
149 "Toggle Double mode. 149 "Toggle special insertion on double keypresses (Double mode).
150With prefix argument ARG, turn Double mode on if ARG is positive, otherwise 150With a prefix argument ARG, enable Double mode if ARG is
151turn it off. 151positive, and disable it otherwise. If called from Lisp, enable
152the mode if ARG is omitted or nil.
152 153
153When Double mode is on, some keys will insert different strings 154When Double mode is enabled, some keys will insert different
154when pressed twice. See variable `double-map' for details." 155strings when pressed twice. See `double-map' for details."
155 :lighter " Double" 156 :lighter " Double"
156 :link '(emacs-commentary-link "double") 157 :link '(emacs-commentary-link "double")
157 (kill-local-variable 'key-translation-map) 158 (kill-local-variable 'key-translation-map)
diff --git a/lisp/electric.el b/lisp/electric.el
index 17c33c7d5cd..26fba20ea12 100644
--- a/lisp/electric.el
+++ b/lisp/electric.el
@@ -241,8 +241,14 @@ Returns nil when we can't find this char."
241 241
242;;;###autoload 242;;;###autoload
243(define-minor-mode electric-indent-mode 243(define-minor-mode electric-indent-mode
244 "Automatically reindent lines of code when inserting particular chars. 244 "Toggle on-the-fly reindentation (Electric Indent mode).
245`electric-indent-chars' specifies the set of chars that should cause reindentation." 245With a prefix argument ARG, enable Electric Indent mode if ARG is
246positive, and disable it otherwise. If called from Lisp, enable
247the mode if ARG is omitted or nil.
248
249Electric Indent mode is a global minor mode. When enabled,
250reindentation is triggered whenever you insert a character listed
251in `electric-indent-chars'."
246 :global t 252 :global t
247 :group 'electricity 253 :group 'electricity
248 (if electric-indent-mode 254 (if electric-indent-mode
@@ -330,7 +336,14 @@ This can be convenient for people who find it easier to hit ) than C-f."
330 336
331;;;###autoload 337;;;###autoload
332(define-minor-mode electric-pair-mode 338(define-minor-mode electric-pair-mode
333 "Automatically pair-up parens when inserting an open paren." 339 "Toggle automatic parens pairing (Electric Pair mode).
340With a prefix argument ARG, enable Electric Pair mode if ARG is
341positive, and disable it otherwise. If called from Lisp, enable
342the mode if ARG is omitted or nil.
343
344Electric Pair mode is a global minor mode. When enabled, typing
345an open parenthesis automatically inserts the corresponding
346closing parenthesis. \(Likewise for brackets, etc.)"
334 :global t 347 :global t
335 :group 'electricity 348 :group 'electricity
336 (if electric-pair-mode 349 (if electric-pair-mode
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index 7eb6e6ef765..c9e32023187 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -1237,9 +1237,10 @@ generating a buffered list of errors."
1237 1237
1238;;;###autoload 1238;;;###autoload
1239(define-minor-mode checkdoc-minor-mode 1239(define-minor-mode checkdoc-minor-mode
1240 "Toggle Checkdoc minor mode, a mode for checking Lisp doc strings. 1240 "Toggle automatic docstring checking (Checkdoc minor mode).
1241With prefix ARG, turn Checkdoc minor mode on if ARG is positive, otherwise 1241With a prefix argument ARG, enable Checkdoc minor mode if ARG is
1242turn it off. 1242positive, and disable it otherwise. If called from Lisp, enable
1243the mode if ARG is omitted or nil.
1243 1244
1244In Checkdoc minor mode, the usual bindings for `eval-defun' which is 1245In Checkdoc minor mode, the usual bindings for `eval-defun' which is
1245bound to \\<checkdoc-minor-mode-map>\\[checkdoc-eval-defun] and `checkdoc-eval-current-buffer' are overridden to include 1246bound to \\<checkdoc-minor-mode-map>\\[checkdoc-eval-defun] and `checkdoc-eval-current-buffer' are overridden to include
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index 46dc1f162ba..b1cb0615e43 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -350,14 +350,16 @@ call another major mode in their body."
350 (define-minor-mode ,global-mode 350 (define-minor-mode ,global-mode
351 ;; Very short lines to avoid too long lines in the generated 351 ;; Very short lines to avoid too long lines in the generated
352 ;; doc string. 352 ;; doc string.
353 ,(format "Toggle %s in every possible buffer. 353 ,(format "Toggle %s in all buffers.
354With prefix ARG, turn %s on if and only if 354With prefix ARG, enable %s if ARG is positive;
355ARG is positive. 355otherwise, disable it. If called from Lisp, enable the mode if
356ARG is omitted or nil.
357
356%s is enabled in all buffers where 358%s is enabled in all buffers where
357\`%s' would do it. 359\`%s' would do it.
358See `%s' for more information on %s." 360See `%s' for more information on %s."
359 pretty-name pretty-global-name pretty-name turn-on 361 pretty-name pretty-global-name
360 mode pretty-name) 362 pretty-name turn-on mode pretty-name)
361 :global t ,@group ,@(nreverse extra-keywords) 363 :global t ,@group ,@(nreverse extra-keywords)
362 364
363 ;; Setup hook to handle future mode changes and new buffers. 365 ;; Setup hook to handle future mode changes and new buffers.
diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el
index cd9b779bee9..901b6d1bf6a 100644
--- a/lisp/emacs-lisp/eldoc.el
+++ b/lisp/emacs-lisp/eldoc.el
@@ -149,14 +149,17 @@ This is used to determine if `eldoc-idle-delay' is changed by the user.")
149 149
150;;;###autoload 150;;;###autoload
151(define-minor-mode eldoc-mode 151(define-minor-mode eldoc-mode
152 "Toggle ElDoc mode on or off. 152 "Toggle echo area display of Lisp objects at point (ElDoc mode).
153In ElDoc mode, the echo area displays information about a 153With a prefix argument ARG, enable ElDoc mode if ARG is positive,
154function or variable in the text where point is. If point is 154and disable it otherwise. If called from Lisp, enable ElDoc mode
155on a documented variable, it displays the first line of that 155if ARG is omitted or nil.
156variable's doc string. Otherwise it displays the argument list 156
157of the function called in the expression point is on. 157ElDoc mode is a buffer-local minor mode. When enabled, the echo
158 158area displays information about a function or variable in the
159With prefix ARG, turn ElDoc mode on if and only if ARG is positive." 159text where point is. If point is on a documented variable, it
160displays the first line of that variable's doc string. Otherwise
161it displays the argument list of the function called in the
162expression point is on."
160 :group 'eldoc :lighter eldoc-minor-mode-string 163 :group 'eldoc :lighter eldoc-minor-mode-string
161 (setq eldoc-last-message nil) 164 (setq eldoc-last-message nil)
162 (if eldoc-mode 165 (if eldoc-mode
diff --git a/lisp/emacs-lock.el b/lisp/emacs-lock.el
index 18411f7d2ef..f2c93473015 100644
--- a/lisp/emacs-lock.el
+++ b/lisp/emacs-lock.el
@@ -176,14 +176,16 @@ Return a value appropriate for `kill-buffer-query-functions' (which see)."
176 176
177;;;###autoload 177;;;###autoload
178(define-minor-mode emacs-lock-mode 178(define-minor-mode emacs-lock-mode
179 "Toggle Emacs Lock mode in the current buffer. 179 "Toggle Emacs Lock mode in the current buffer.
180 180If called with a plain prefix argument, ask for the locking mode
181With \\[universal-argument], ask for the locking mode to be used. 181to be used. With any other prefix ARG, turn mode on if ARG is
182With other prefix ARG, turn mode on if ARG is positive, off otherwise. 182positive, off otherwise. If called from Lisp, enable the mode if
183 183ARG is omitted or nil.
184Initially, if the user does not pass an explicit locking mode, it defaults 184
185to `emacs-lock-default-locking-mode' (which see); afterwards, the locking 185Initially, if the user does not pass an explicit locking mode, it
186mode most recently set on the buffer is used instead. 186defaults to `emacs-lock-default-locking-mode' (which see);
187afterwards, the locking mode most recently set on the buffer is
188used instead.
187 189
188When called from Elisp code, ARG can be any locking mode: 190When called from Elisp code, ARG can be any locking mode:
189 191
diff --git a/lisp/emulation/crisp.el b/lisp/emulation/crisp.el
index b2806e8f8eb..567a57949b3 100644
--- a/lisp/emulation/crisp.el
+++ b/lisp/emulation/crisp.el
@@ -349,8 +349,10 @@ normal CRiSP binding) and when it is nil M-x will run
349 349
350;;;###autoload 350;;;###autoload
351(define-minor-mode crisp-mode 351(define-minor-mode crisp-mode
352 "Toggle CRiSP/Brief emulation minor mode. 352 "Toggle CRiSP/Brief emulation (CRiSP mode).
353With ARG, turn CRiSP mode on if ARG is positive, off otherwise." 353With a prefix argument ARG, enable CRiSP mode if ARG is positive,
354and disable it otherwise. If called from Lisp, enable the mode
355if ARG is omitted or nil."
354 :keymap crisp-mode-map 356 :keymap crisp-mode-map
355 :lighter crisp-mode-modeline-string 357 :lighter crisp-mode-modeline-string
356 (when crisp-mode 358 (when crisp-mode
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el
index b643d521ad6..9a50352d507 100644
--- a/lisp/emulation/cua-base.el
+++ b/lisp/emulation/cua-base.el
@@ -1121,7 +1121,7 @@ With a double \\[universal-argument] prefix argument, unconditionally set mark."
1121 (pop-to-mark-command))) 1121 (pop-to-mark-command)))
1122 ((and cua-toggle-set-mark mark-active) 1122 ((and cua-toggle-set-mark mark-active)
1123 (cua--deactivate) 1123 (cua--deactivate)
1124 (message "Mark Cleared")) 1124 (message "Mark cleared"))
1125 (t 1125 (t
1126 (push-mark-command nil nil) 1126 (push-mark-command nil nil)
1127 (setq cua--explicit-region-start t) 1127 (setq cua--explicit-region-start t)
@@ -1531,16 +1531,17 @@ If ARG is the atom `-', scroll upward by nearly full screen."
1531 1531
1532;;;###autoload 1532;;;###autoload
1533(define-minor-mode cua-mode 1533(define-minor-mode cua-mode
1534 "Toggle CUA key-binding mode. 1534 "Toggle Common User Access style editing (CUA mode).
1535When enabled, using shifted movement keys will activate the 1535With a prefix argument ARG, enable CUA mode if ARG is positive,
1536region (and highlight the region using `transient-mark-mode'), 1536and disable it otherwise. If called from Lisp, enable the mode
1537and typed text replaces the active selection. 1537if ARG is omitted or nil.
1538 1538
1539Also when enabled, you can use C-z, C-x, C-c, and C-v to undo, 1539CUA mode is a global minor mode. When enabled, typed text
1540cut, copy, and paste in addition to the normal Emacs bindings. 1540replaces the active selection, and you can use C-z, C-x, C-c, and
1541The C-x and C-c keys only do cut and copy when the region is 1541C-v to undo, cut, copy, and paste in addition to the normal Emacs
1542active, so in most cases, they do not conflict with the normal 1542bindings. The C-x and C-c keys only do cut and copy when the
1543function of these prefix keys. 1543region is active, so in most cases, they do not conflict with the
1544normal function of these prefix keys.
1544 1545
1545If you really need to perform a command which starts with one of 1546If you really need to perform a command which starts with one of
1546the prefix keys even when the region is active, you have three 1547the prefix keys even when the region is active, you have three
diff --git a/lisp/epa-hook.el b/lisp/epa-hook.el
index 652ab19ba65..ea036e836e4 100644
--- a/lisp/epa-hook.el
+++ b/lisp/epa-hook.el
@@ -49,7 +49,7 @@ does that automatically."
49 :group 'epa-file) 49 :group 'epa-file)
50 50
51(defvar epa-file-encrypt-to nil 51(defvar epa-file-encrypt-to nil
52 "*Recipient(s) used for encrypting files. 52 "Recipient(s) used for encrypting files.
53May either be a string or a list of strings.") 53May either be a string or a list of strings.")
54 54
55(put 'epa-file-encrypt-to 'safe-local-variable 55(put 'epa-file-encrypt-to 'safe-local-variable
@@ -83,9 +83,10 @@ May either be a string or a list of strings.")
83 (auto-save-mode 0))) 83 (auto-save-mode 0)))
84 84
85(define-minor-mode auto-encryption-mode 85(define-minor-mode auto-encryption-mode
86 "Toggle automatic file encryption and decryption. 86 "Toggle automatic file encryption/decryption (Auto Encryption mode).
87With prefix argument ARG, turn auto encryption on if positive, else off. 87With a prefix argument ARG, enable Auto Encryption mode if ARG is
88Return the new status of auto encryption (non-nil means on)." 88positive, and disable it otherwise. If called from Lisp, enable
89the mode if ARG is omitted or nil."
89 :global t :init-value t :group 'epa-file :version "23.1" 90 :global t :init-value t :group 'epa-file :version "23.1"
90 ;; We'd like to use custom-initialize-set here so the setup is done 91 ;; We'd like to use custom-initialize-set here so the setup is done
91 ;; before dumping, but at the point where the defcustom is evaluated, 92 ;; before dumping, but at the point where the defcustom is evaluated,
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog
index 7c7f10de2c8..d72d3f51bb1 100644
--- a/lisp/erc/ChangeLog
+++ b/lisp/erc/ChangeLog
@@ -1,3 +1,11 @@
12011-10-20 Chong Yidong <cyd@gnu.org>
2
3 * erc.el (define-erc-module): Fix autogenerated docstring to
4 reflect Emacs 24 minor mode changes.
5
6 * erc-fill.el (erc-fill-mode):
7 * erc-track.el (erc-track-minor-mode): Doc fix.
8
12011-09-23 Antoine Levitt <antoine.levitt@gmail.com> 92011-09-23 Antoine Levitt <antoine.levitt@gmail.com>
2 10
3 * erc-button.el (erc-button-next-function): Scoping fix 11 * erc-button.el (erc-button-next-function): Scoping fix
diff --git a/lisp/erc/erc-fill.el b/lisp/erc/erc-fill.el
index 0b9a4051d65..3940cfbc9a4 100644
--- a/lisp/erc/erc-fill.el
+++ b/lisp/erc/erc-fill.el
@@ -39,9 +39,12 @@
39;;;###autoload (autoload 'erc-fill-mode "erc-fill" nil t) 39;;;###autoload (autoload 'erc-fill-mode "erc-fill" nil t)
40(erc-define-minor-mode erc-fill-mode 40(erc-define-minor-mode erc-fill-mode
41 "Toggle ERC fill mode. 41 "Toggle ERC fill mode.
42With numeric arg, turn ERC fill mode on if and only if arg is 42With a prefix argument ARG, enable ERC fill mode if ARG is
43positive. In ERC fill mode, messages in the channel buffers are 43positive, and disable it otherwise. If called from Lisp, enable
44filled." 44the mode if ARG is omitted or nil.
45
46ERC fill mode is a global minor mode. When enabled, messages in
47the channel buffers are filled."
45 nil nil nil 48 nil nil nil
46 :global t :group 'erc-fill 49 :global t :group 'erc-fill
47 (if erc-fill-mode 50 (if erc-fill-mode
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el
index 28c1ced91c6..b663aeed423 100644
--- a/lisp/erc/erc-track.el
+++ b/lisp/erc/erc-track.el
@@ -588,12 +588,15 @@ START is the minimum length of the name used."
588 588
589;;;###autoload 589;;;###autoload
590(define-minor-mode erc-track-minor-mode 590(define-minor-mode erc-track-minor-mode
591 "Global minor mode for tracking ERC buffers and showing activity in the 591 "Toggle mode line display of ERC activity (ERC Track minor mode).
592mode line. 592With a prefix argument ARG, enable ERC Track minor mode if ARG is
593 593positive, and disable it otherwise. If called from Lisp, enable
594This exists for the sole purpose of providing the C-c C-SPC and 594the mode if ARG is omitted or nil.
595C-c C-@ keybindings. Make sure that you have enabled the track 595
596module, otherwise the keybindings will not do anything useful." 596ERC Track minor mode is a global minor mode. It exists for the
597sole purpose of providing the C-c C-SPC and C-c C-@ keybindings.
598Make sure that you have enabled the track module, otherwise the
599keybindings will not do anything useful."
597 :init-value nil 600 :init-value nil
598 :lighter "" 601 :lighter ""
599 :keymap erc-track-minor-mode-map 602 :keymap erc-track-minor-mode-map
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index a4040b239c1..2d8c2565f69 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -1242,7 +1242,9 @@ Example:
1242 (erc-define-minor-mode 1242 (erc-define-minor-mode
1243 ,mode 1243 ,mode
1244 ,(format "Toggle ERC %S mode. 1244 ,(format "Toggle ERC %S mode.
1245With arg, turn ERC %S mode on if and only if arg is positive. 1245With a prefix argument ARG, enable %s if ARG is positive,
1246and disable it otherwise. If called from Lisp, enable the mode
1247if ARG is omitted or nil.
1246%s" name name doc) 1248%s" name name doc)
1247 nil nil nil 1249 nil nil nil
1248 :global ,(not local-p) :group (quote ,group) 1250 :global ,(not local-p) :group (quote ,group)
diff --git a/lisp/face-remap.el b/lisp/face-remap.el
index 9e5ab58636b..bfd973a299f 100644
--- a/lisp/face-remap.el
+++ b/lisp/face-remap.el
@@ -204,7 +204,7 @@ Each positive or negative step scales the default face height by this amount."
204(make-variable-buffer-local 'text-scale-mode-amount) 204(make-variable-buffer-local 'text-scale-mode-amount)
205 205
206(define-minor-mode text-scale-mode 206(define-minor-mode text-scale-mode
207 "Minor mode for displaying buffer text in a larger/smaller font than usual. 207 "Minor mode for displaying buffer text in a larger/smaller font.
208 208
209The amount of scaling is determined by the variable 209The amount of scaling is determined by the variable
210`text-scale-mode-amount': one step scales the global default 210`text-scale-mode-amount': one step scales the global default
diff --git a/lisp/facemenu.el b/lisp/facemenu.el
index a18b892efe8..54b17d58f33 100644
--- a/lisp/facemenu.el
+++ b/lisp/facemenu.el
@@ -639,8 +639,15 @@ a list of colors that the current display can handle."
639 (l list)) 639 (l list))
640 (while (cdr l) 640 (while (cdr l)
641 (if (and (facemenu-color-equal (car (car l)) (car (car (cdr l)))) 641 (if (and (facemenu-color-equal (car (car l)) (car (car (cdr l))))
642 (not (if (fboundp 'w32-default-color-map) 642 ;; On MS-Windows, there are logical colors that might have
643 (not (assoc (car (car l)) (w32-default-color-map)))))) 643 ;; the same value but different names and meanings. For
644 ;; example, `SystemMenuText' (the color w32 uses for the
645 ;; text in menu entries) and `SystemWindowText' (the default
646 ;; color w32 uses for the text in windows and dialogs) may
647 ;; be the same display color and be adjacent in the list.
648 ;; This makes them different to any other color. Bug#9722
649 (not (and (eq system-type 'windows-nt)
650 (string-match-p "^System" (car (car l))))))
644 (progn 651 (progn
645 (setcdr (car l) (cons (car (car (cdr l))) (cdr (car l)))) 652 (setcdr (car l) (cons (car (car (cdr l))) (cdr (car l))))
646 (setcdr l (cdr (cdr l)))) 653 (setcdr l (cdr (cdr l))))
diff --git a/lisp/faces.el b/lisp/faces.el
index d5f0ef90ee0..45173eb35da 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -2366,6 +2366,10 @@ used to display the prompt text."
2366 '((((background light)) :background "black") 2366 '((((background light)) :background "black")
2367 (((background dark)) :background "white")) 2367 (((background dark)) :background "white"))
2368 "Basic face for the cursor color under X. 2368 "Basic face for the cursor color under X.
2369Currently, only the `:background' attribute is meaningful; all
2370other attributes are ignored. The cursor foreground color is
2371taken from the background color of the underlying text.
2372
2369Note: Other faces cannot inherit from the cursor face." 2373Note: Other faces cannot inherit from the cursor face."
2370 :version "21.1" 2374 :version "21.1"
2371 :group 'cursor 2375 :group 'cursor
diff --git a/lisp/files.el b/lisp/files.el
index 6321cff91fd..3ed9bd5a272 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -4700,11 +4700,7 @@ and `view-read-only' is non-nil, enter view mode."
4700 (not (eq (get major-mode 'mode-class) 'special))) 4700 (not (eq (get major-mode 'mode-class) 'special)))
4701 (view-mode-enter)) 4701 (view-mode-enter))
4702 (t (setq buffer-read-only (not buffer-read-only)) 4702 (t (setq buffer-read-only (not buffer-read-only))
4703 (force-mode-line-update))) 4703 (force-mode-line-update)))))
4704 (if (memq (vc-backend buffer-file-name) '(RCS SCCS))
4705 (message "%s" (substitute-command-keys
4706 (concat "File is under version-control; "
4707 "use \\[vc-next-action] to check in/out"))))))
4708 4704
4709(defun insert-file (filename) 4705(defun insert-file (filename)
4710 "Insert contents of file FILENAME into buffer after point. 4706 "Insert contents of file FILENAME into buffer after point.
diff --git a/lisp/follow.el b/lisp/follow.el
index 94a542f1016..37295cc533b 100644
--- a/lisp/follow.el
+++ b/lisp/follow.el
@@ -484,10 +484,13 @@ Used by `follow-window-size-change'.")
484(put 'follow-mode 'permanent-local t) 484(put 'follow-mode 'permanent-local t)
485;;;###autoload 485;;;###autoload
486(define-minor-mode follow-mode 486(define-minor-mode follow-mode
487 "Minor mode that combines windows into one tall virtual window. 487 "Toggle Follow mode.
488With a prefix argument ARG, enable Follow mode if ARG is
489positive, and disable it otherwise. If called from Lisp, enable
490the mode if ARG is omitted or nil.
488 491
489The feeling of a \"virtual window\" has been accomplished by the use 492Follow mode is a minor mode that combines windows into one tall
490of two major techniques: 493virtual window. This is accomplished by two main techniques:
491 494
492* The windows always displays adjacent sections of the buffer. 495* The windows always displays adjacent sections of the buffer.
493 This means that whenever one window is moved, all the 496 This means that whenever one window is moved, all the
diff --git a/lisp/font-core.el b/lisp/font-core.el
index fcaaf33b718..0db17efd7b7 100644
--- a/lisp/font-core.el
+++ b/lisp/font-core.el
@@ -86,12 +86,12 @@ It will be passed one argument, which is the current value of
86 86
87;; The mode for which font-lock was initialized, or nil if none. 87;; The mode for which font-lock was initialized, or nil if none.
88(defvar font-lock-major-mode) 88(defvar font-lock-major-mode)
89
89(define-minor-mode font-lock-mode 90(define-minor-mode font-lock-mode
90 "Toggle Font Lock mode. 91 "Toggle syntax highlighting in this buffer (Font Lock mode).
91With arg, turn Font Lock mode off if and only if arg is a non-positive 92With a prefix argument ARG, enable Font Lock mode if ARG is
92number; if arg is nil, toggle Font Lock mode; anything else turns Font 93positive, and disable it otherwise. If called from Lisp, enable
93Lock on. 94the mode if ARG is omitted or nil.
94\(Font Lock is also known as \"syntax highlighting\".)
95 95
96When Font Lock mode is enabled, text is fontified as you type it: 96When Font Lock mode is enabled, text is fontified as you type it:
97 97
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index c37a9ae916e..2f4b7413dcc 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -228,8 +228,11 @@
228;; User variables. 228;; User variables.
229 229
230(defcustom font-lock-maximum-size 256000 230(defcustom font-lock-maximum-size 256000
231 "Maximum size of a buffer for buffer fontification. 231 "Maximum buffer size for unsupported buffer fontification.
232Only buffers less than this can be fontified when Font Lock mode is turned on. 232When `font-lock-support-mode' is nil, only buffers smaller than
233this are fontified. This variable has no effect if a Font Lock
234support mode (usually `jit-lock-mode') is enabled.
235
233If nil, means size is irrelevant. 236If nil, means size is irrelevant.
234If a list, each element should be a cons pair of the form (MAJOR-MODE . SIZE), 237If a list, each element should be a cons pair of the form (MAJOR-MODE . SIZE),
235where MAJOR-MODE is a symbol or t (meaning the default). For example: 238where MAJOR-MODE is a symbol or t (meaning the default). For example:
@@ -248,6 +251,7 @@ for buffers in Rmail mode, and size is irrelevant otherwise."
248 (const :tag "none" nil) 251 (const :tag "none" nil)
249 (integer :tag "size"))))) 252 (integer :tag "size")))))
250 :group 'font-lock) 253 :group 'font-lock)
254(make-obsolete-variable 'font-lock-maximum-size nil "24.1")
251 255
252(defcustom font-lock-maximum-decoration t 256(defcustom font-lock-maximum-decoration t
253 "Maximum decoration level for fontification. 257 "Maximum decoration level for fontification.
diff --git a/lisp/frame.el b/lisp/frame.el
index ab9b085f1d9..8359fed14a4 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -1134,7 +1134,10 @@ To get the frame's current border color, use `frame-parameters'."
1134 1134
1135(define-minor-mode auto-raise-mode 1135(define-minor-mode auto-raise-mode
1136 "Toggle whether or not the selected frame should auto-raise. 1136 "Toggle whether or not the selected frame should auto-raise.
1137With ARG, turn auto-raise mode on if and only if ARG is positive. 1137With a prefix argument ARG, enable Auto Raise mode if ARG is
1138positive, and disable it otherwise. If called from Lisp, enable
1139the mode if ARG is omitted or nil.
1140
1138Note that this controls Emacs's own auto-raise feature. 1141Note that this controls Emacs's own auto-raise feature.
1139Some window managers allow you to enable auto-raise for certain windows. 1142Some window managers allow you to enable auto-raise for certain windows.
1140You can use that for Emacs windows if you wish, but if you do, 1143You can use that for Emacs windows if you wish, but if you do,
@@ -1145,7 +1148,10 @@ that is beyond the control of Emacs and this command has no effect on it."
1145 1148
1146(define-minor-mode auto-lower-mode 1149(define-minor-mode auto-lower-mode
1147 "Toggle whether or not the selected frame should auto-lower. 1150 "Toggle whether or not the selected frame should auto-lower.
1148With ARG, turn auto-lower mode on if and only if ARG is positive. 1151With a prefix argument ARG, enable Auto Lower mode if ARG is
1152positive, and disable it otherwise. If called from Lisp, enable
1153the mode if ARG is omitted or nil.
1154
1149Note that this controls Emacs's own auto-lower feature. 1155Note that this controls Emacs's own auto-lower feature.
1150Some window managers allow you to enable auto-lower for certain windows. 1156Some window managers allow you to enable auto-lower for certain windows.
1151You can use that for Emacs windows if you wish, but if you do, 1157You can use that for Emacs windows if you wish, but if you do,
@@ -1556,14 +1562,13 @@ itself as a pre-command hook."
1556 (setq blink-cursor-timer nil))) 1562 (setq blink-cursor-timer nil)))
1557 1563
1558(define-minor-mode blink-cursor-mode 1564(define-minor-mode blink-cursor-mode
1559 "Toggle blinking cursor mode. 1565 "Toggle cursor blinking (Blink Cursor mode).
1560With a numeric argument, turn blinking cursor mode on if ARG is positive, 1566With a prefix argument ARG, enable Blink Cursor mode if ARG is
1561otherwise turn it off. When blinking cursor mode is enabled, the 1567positive, and disable it otherwise. If called from Lisp, enable
1562cursor of the selected window blinks. 1568the mode if ARG is omitted or nil.
1563 1569
1564Note that this command is effective only when Emacs 1570This command is effective only on graphical frames. On text-only
1565displays through a window system, because then Emacs does its own 1571terminals, cursor blinking is controlled by the terminal."
1566cursor display. On a text-only terminal, this is not implemented."
1567 :init-value (not (or noninteractive 1572 :init-value (not (or noninteractive
1568 no-blinking-cursor 1573 no-blinking-cursor
1569 (eq system-type 'ms-dos) 1574 (eq system-type 'ms-dos)
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index cc2568a3647..592d0671c26 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,9 +1,47 @@
12011-10-20 Chong Yidong <cyd@gnu.org>
2
3 * gnus-cite.el (gnus-message-citation-mode): Doc fix (in Emacs 24,
4 calling a minor mode from Lisp with nil arg enables it, so we have to
5 make the working a bit ambiguous here).
6
72011-10-18 Teodor Zlatanov <tzz@lifelogs.com>
8
9 * gnus-util.el (gnus-bound-and-true-p): Macro for XEmacs compatibility.
10 * nnir.el (nnir-mode): Use it.
11 * nnmairix.el (nnmairix-determine-original-group-from-registry):
12 Use it.
13
14 * nnir.el (gnus-registry-enabled): Defvar to keep the compiler happy.
15 * nnmairix.el (gnus-registry-enabled): Ditto.
16
172011-10-17 Dave Abrahams <dave@boostpro.com>
18
19 * gnus-registry.el (gnus-registry-enabled): Add new variable. (Bug#9691)
20 (gnus-registry-install-shortcuts): Set `gnus-registry-install' to 'ask
21 only while we need to find out if it should be t or nil.
22 (gnus-registry-initialize): Don't set `gnus-registry-install' to t.
23 (gnus-registry-install-hooks): Set `gnus-registry-enabled' to t when
24 the registry is installed. Set it to nil when it's unloaded.
25 (gnus-registry-install-p): Provide user guidance for the initial value
26 of `gnus-registry-install' when it's 'ask, otherwise return its value.
27 * nnregistry.el (nnregistry-open-server, nnregistry-server-opened):
28 Use `gnus-registry-enabled' instead of `gnus-registry-install'.
29 * nnmairix.el (nnmairix-determine-original-group-from-registry):
30 Use `gnus-registry-enabled' instead of `gnus-registry-install'.
31 * nnir.el (nnir-mode): Use `gnus-registry-enabled' instead of
32 `gnus-registry-install'.
33
12011-10-17 Daiki Ueno <ueno@unixuser.org> 342011-10-17 Daiki Ueno <ueno@unixuser.org>
2 35
36 * mml2015.el (mml2015-epg-find-usable-key): Add comment about the
37 previous change.
38 * mml1991.el (mml1991-epg-find-usable-key): Skip the whole key if the
39 primary key is marked as disabled.
40
412011-10-17 Christian von Roques <roques@mti.ag> (tiny change)
42
3 * mml2015.el (mml2015-epg-find-usable-key): Skip the whole key if the 43 * mml2015.el (mml2015-epg-find-usable-key): Skip the whole key if the
4 primary key is marked as disabled. 44 primary key is marked as disabled.
5 * mml1991.el (mml1991-epg-find-usable-key): Ditto.
6 Thanks to Christian von Roques <roques@mti.ag>.
7 45
82011-10-11 Andreas Schwab <schwab@linux-m68k.org> 462011-10-11 Andreas Schwab <schwab@linux-m68k.org>
9 47
@@ -13071,13 +13109,11 @@
13071 (mml-secure-cache-passphrase): New user option. 13109 (mml-secure-cache-passphrase): New user option.
13072 (mml-secure-passphrase-cache-expiry): New user option. 13110 (mml-secure-passphrase-cache-expiry): New user option.
13073 13111
130742006-07-24 Daiki Ueno <ueno@unixuser.org> 131122006-07-24 David Smith <davidsmith@acm.org> (tiny change)
13113 Andreas Vögele <andreas@altroot.de> (tiny change)
13075 13114
13076 * pgg-def.el (pgg-truncate-key-identifier): Truncate the key ID to 8 13115 * pgg-def.el (pgg-truncate-key-identifier):
13077 letters from the end. Thanks to "David Smith" <davidsmith@acm.org> and 13116 Truncate the key ID to 8 letters from the end.
13078 andreas@altroot.de (Andreas Vögele).
13079
13080 FIXME: Use `tiny change'?
13081 13117
130822006-07-19 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de> 131182006-07-19 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de>
13083 13119
@@ -19773,7 +19809,7 @@
19773 19809
19774 * dns.el (dns-read-type): Add support for SVR. (small patch) 19810 * dns.el (dns-read-type): Add support for SVR. (small patch)
19775 19811
197762004-05-20 Teodor Zlatanov <tzz@lifelogs.com> 198122004-05-20 Adam Sjøgren <asjo@koldfront.dk>
19777 19813
19778 * spam.el (spam-use-crm114, spam-crm114, spam-crm114-program) 19814 * spam.el (spam-use-crm114, spam-crm114, spam-crm114-program)
19779 (spam-crm114-header, spam-crm114-spam-switch) 19815 (spam-crm114-header, spam-crm114-spam-switch)
@@ -19790,7 +19826,8 @@
19790 (spam-crm114-unregister-spam-routine) 19826 (spam-crm114-unregister-spam-routine)
19791 (spam-crm114-register-ham-routine) 19827 (spam-crm114-register-ham-routine)
19792 (spam-crm114-unregister-ham-routine): Add CRM114 support. 19828 (spam-crm114-unregister-ham-routine): Add CRM114 support.
19793 From asjo@koldfront.dk (Adam Sjøgren). 19829
198302004-05-20 Teodor Zlatanov <tzz@lifelogs.com>
19794 19831
19795 * gnus.el: Add spam-use-crm114. 19832 * gnus.el: Add spam-use-crm114.
19796 19833
@@ -19927,10 +19964,13 @@
19927 19964
199282004-05-18 Reiner Steib <Reiner.Steib@gmx.de> 199652004-05-18 Reiner Steib <Reiner.Steib@gmx.de>
19929 19966
19967 * gnus-picon.el (gnus-picon-insert-glyph):
19968 Add optional `nostring' argument.
19969
199702004-05-18 Jesper Harder <harder@ifa.au.dk>
19971
19930 * gnus-picon.el (gnus-picon-style): New variable. 19972 * gnus-picon.el (gnus-picon-style): New variable.
19931 (gnus-picon-insert-glyph): Add optional `nostring' argument.
19932 (gnus-picon-transform-address): Support `gnus-picon-style'. 19973 (gnus-picon-transform-address): Support `gnus-picon-style'.
19933 From Jesper Harder <harder@ifa.au.dk>.
19934 19974
199352004-05-18 Lars Magne Ingebrigtsen <larsi@gnus.org> 199752004-05-18 Lars Magne Ingebrigtsen <larsi@gnus.org>
19936 19976
@@ -20189,13 +20229,10 @@
20189 * spam-stat.el (spam-stat-score-buffer): Simplify mapcar usage. 20229 * spam-stat.el (spam-stat-score-buffer): Simplify mapcar usage.
20190 Use mapc when appropriate. 20230 Use mapc when appropriate.
20191 20231
201922004-04-22 Teodor Zlatanov <tzz@lifelogs.com> 202322004-04-22 Dan Christensen <jdc@uwo.ca>
20193 20233 Adam Sjøgren <asjo@koldfront.dk>
20194 FIXME: Make separate entries for each person. 20234 Wes Hardaker <wes@hardakers.net>
20195 20235 Michael Shields <shields@msrl.com>
20196 From Dan Christensen <jdc@uwo.ca>, asjo@koldfront.dk (Adam
20197 Sjøgren), Wes Hardaker <wes@hardakers.net>, and Michael Shields
20198 <shields@msrl.com>:
20199 20236
20200 * spam.el (spam-necessary-extra-headers): Get the extra headers we 20237 * spam.el (spam-necessary-extra-headers): Get the extra headers we
20201 may need for spam sorting and scoring. 20238 may need for spam sorting and scoring.
@@ -20205,7 +20242,7 @@
20205 sorting. 20242 sorting.
20206 (spam-extra-header-to-number): Add function to get a score from a 20243 (spam-extra-header-to-number): Add function to get a score from a
20207 header. 20244 header.
20208 (spam-summary-score): Add function to get a numeric score from the 20245 (spam-summary-score): Add function to get a numeric score from the
20209 headers. 20246 headers.
20210 (spam-generic-score): Fix function doc, was in wrong place. 20247 (spam-generic-score): Fix function doc, was in wrong place.
20211 (spam-initialize): Take symbols when it's run, and install the 20248 (spam-initialize): Take symbols when it's run, and install the
diff --git a/lisp/gnus/gnus-cite.el b/lisp/gnus/gnus-cite.el
index d205437b811..7c36311356f 100644
--- a/lisp/gnus/gnus-cite.el
+++ b/lisp/gnus/gnus-cite.el
@@ -1224,13 +1224,8 @@ Returns nil if there is no such line before LIMIT, t otherwise."
1224 (autoload 'font-lock-set-defaults "font-lock"))) 1224 (autoload 'font-lock-set-defaults "font-lock")))
1225 1225
1226(define-minor-mode gnus-message-citation-mode 1226(define-minor-mode gnus-message-citation-mode
1227 "Toggle `gnus-message-citation-mode' in current buffer. 1227 "Minor mode providing more font-lock support for nested citations.
1228This buffer local minor mode provides additional font-lock support for 1228When enabled, it automatically turns on `font-lock-mode'."
1229nested citations.
1230With prefix ARG, turn `gnus-message-citation-mode' on if and only if ARG
1231is positive.
1232Automatically turn `font-lock-mode' on when `gnus-message-citation-mode'
1233is turned on."
1234 nil ;; init-value 1229 nil ;; init-value
1235 "" ;; lighter 1230 "" ;; lighter
1236 nil ;; keymap 1231 nil ;; keymap
diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el
index f8ff52f128f..652e816e56a 100644
--- a/lisp/gnus/gnus-registry.el
+++ b/lisp/gnus/gnus-registry.el
@@ -164,6 +164,8 @@ nnmairix groups are specifically excluded because they are ephemeral."
164 (const :tag "Always Install" t) 164 (const :tag "Always Install" t)
165 (const :tag "Ask Me" ask))) 165 (const :tag "Ask Me" ask)))
166 166
167(defvar gnus-registry-enabled)
168
167(defvar gnus-summary-misc-menu) ;; Avoid byte compiler warning. 169(defvar gnus-summary-misc-menu) ;; Avoid byte compiler warning.
168 170
169(defvar gnus-registry-misc-menus nil) ; ugly way to keep the menus 171(defvar gnus-registry-misc-menus nil) ; ugly way to keep the menus
@@ -873,8 +875,9 @@ Uses `gnus-registry-marks' to find what shortcuts to install."
873 875
874 ;; if this is called and the user doesn't want the 876 ;; if this is called and the user doesn't want the
875 ;; registry enabled, we'll ask anyhow 877 ;; registry enabled, we'll ask anyhow
876 (when (eq gnus-registry-install nil) 878 (unless gnus-registry-install
877 (setq gnus-registry-install 'ask)) 879 (let ((gnus-registry-install 'ask))
880 (gnus-registry-install-p)))
878 881
879 ;; now the user is asked if gnus-registry-install is 'ask 882 ;; now the user is asked if gnus-registry-install is 'ask
880 (when (gnus-registry-install-p) 883 (when (gnus-registry-install-p)
@@ -1151,7 +1154,6 @@ only the last one's marks are returned."
1151"Initialize the Gnus registry." 1154"Initialize the Gnus registry."
1152 (interactive) 1155 (interactive)
1153 (gnus-message 5 "Initializing the registry") 1156 (gnus-message 5 "Initializing the registry")
1154 (setq gnus-registry-install t) ; in case it was 'ask or nil
1155 (gnus-registry-install-hooks) 1157 (gnus-registry-install-hooks)
1156 (gnus-registry-install-shortcuts) 1158 (gnus-registry-install-shortcuts)
1157 (gnus-registry-read)) 1159 (gnus-registry-read))
@@ -1160,6 +1162,7 @@ only the last one's marks are returned."
1160(defun gnus-registry-install-hooks () 1162(defun gnus-registry-install-hooks ()
1161 "Install the registry hooks." 1163 "Install the registry hooks."
1162 (interactive) 1164 (interactive)
1165 (setq gnus-registry-enabled t)
1163 (add-hook 'gnus-summary-article-move-hook 'gnus-registry-action) 1166 (add-hook 'gnus-summary-article-move-hook 'gnus-registry-action)
1164 (add-hook 'gnus-summary-article-delete-hook 'gnus-registry-action) 1167 (add-hook 'gnus-summary-article-delete-hook 'gnus-registry-action)
1165 (add-hook 'gnus-summary-article-expire-hook 'gnus-registry-action) 1168 (add-hook 'gnus-summary-article-expire-hook 'gnus-registry-action)
@@ -1181,23 +1184,25 @@ only the last one's marks are returned."
1181 (remove-hook 'gnus-save-newsrc-hook 'gnus-registry-save) 1184 (remove-hook 'gnus-save-newsrc-hook 'gnus-registry-save)
1182 (remove-hook 'gnus-read-newsrc-el-hook 'gnus-registry-read) 1185 (remove-hook 'gnus-read-newsrc-el-hook 'gnus-registry-read)
1183 1186
1184 (remove-hook 'gnus-summary-prepare-hook 'gnus-registry-register-message-ids)) 1187 (remove-hook 'gnus-summary-prepare-hook 'gnus-registry-register-message-ids)
1188 (setq gnus-registry-enabled nil))
1185 1189
1186(add-hook 'gnus-registry-unload-hook 'gnus-registry-unload-hook) 1190(add-hook 'gnus-registry-unload-hook 'gnus-registry-unload-hook)
1187 1191
1188(defun gnus-registry-install-p () 1192(defun gnus-registry-install-p ()
1193 "If the registry is not already enabled, and `gnus-registry-install' is t,
1194the registry is enabled. If `gnus-registry-install' is `ask',
1195the user is asked first. Returns non-nil iff the registry is enabled."
1189 (interactive) 1196 (interactive)
1190 (when (eq gnus-registry-install 'ask) 1197 (unless gnus-registry-enabled
1191 (setq gnus-registry-install 1198 (when (if (eq gnus-registry-install 'ask)
1192 (gnus-y-or-n-p 1199 (gnus-y-or-n-p
1193 (concat "Enable the Gnus registry? " 1200 (concat "Enable the Gnus registry? "
1194 "See the variable `gnus-registry-install' " 1201 "See the variable `gnus-registry-install' "
1195 "to get rid of this query permanently. "))) 1202 "to get rid of this query permanently. "))
1196 (when gnus-registry-install 1203 gnus-registry-install)
1197 ;; we just set gnus-registry-install to t, so initialize the registry!
1198 (gnus-registry-initialize))) 1204 (gnus-registry-initialize)))
1199;;; we could call it here: (customize-variable 'gnus-registry-install) 1205 gnus-registry-enabled)
1200 gnus-registry-install)
1201 1206
1202;; TODO: a few things 1207;; TODO: a few things
1203 1208
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el
index e9d6ba423fd..9c5e6e8312b 100644
--- a/lisp/gnus/gnus-util.el
+++ b/lisp/gnus/gnus-util.el
@@ -1986,6 +1986,14 @@ definitions to shadow the loaded ones for use in file byte-compilation."
1986 (gnus-macroexpand-all expanded environment))) 1986 (gnus-macroexpand-all expanded environment)))
1987 form)))) 1987 form))))
1988 1988
1989(eval-when-compile
1990 ;; This is unnecessary in the compiled version as it is a macro.
1991 (if (fboundp 'bound-and-true-p)
1992 (defalias 'gnus-bound-and-true-p 'bound-and-true-p)
1993 (defmacro gnus-bound-and-true-p (var)
1994 "Return the value of symbol VAR if it is bound, else nil."
1995 `(and (boundp (quote ,var)) ,var))))
1996
1989(provide 'gnus-util) 1997(provide 'gnus-util)
1990 1998
1991;;; gnus-util.el ends here 1999;;; gnus-util.el ends here
diff --git a/lisp/gnus/nnir.el b/lisp/gnus/nnir.el
index 0be6a17d50e..2d3c05864e8 100644
--- a/lisp/gnus/nnir.el
+++ b/lisp/gnus/nnir.el
@@ -290,9 +290,10 @@ is `(valuefunc member)'."
290 (autoload 'nnimap-command "nnimap") 290 (autoload 'nnimap-command "nnimap")
291 (autoload 'nnimap-possibly-change-group "nnimap") 291 (autoload 'nnimap-possibly-change-group "nnimap")
292 (autoload 'nnimap-make-thread-query "nnimap") 292 (autoload 'nnimap-make-thread-query "nnimap")
293 (autoload 'gnus-registry-action "gnus-registry") 293 (autoload 'gnus-registry-action "gnus-registry"))
294 (defvar gnus-registry-install))
295 294
295;; Suppress byte-compiler warning `reference to free variable'
296(defvar gnus-registry-enabled)
296 297
297(nnoo-declare nnir) 298(nnoo-declare nnir)
298(nnoo-define-basics nnir) 299(nnoo-define-basics nnir)
@@ -1741,8 +1742,7 @@ environment unless `not-global' is non-nil."
1741 (when (eq (car (gnus-find-method-for-group gnus-newsgroup-name)) 'nnir) 1742 (when (eq (car (gnus-find-method-for-group gnus-newsgroup-name)) 'nnir)
1742 (setq gnus-summary-line-format 1743 (setq gnus-summary-line-format
1743 (or nnir-summary-line-format gnus-summary-line-format)) 1744 (or nnir-summary-line-format gnus-summary-line-format))
1744 (when (and (boundp 'gnus-registry-install) 1745 (when (gnus-bound-and-true-p gnus-registry-enabled)
1745 (eq gnus-registry-install t))
1746 (remove-hook 'gnus-summary-article-delete-hook 'gnus-registry-action t) 1746 (remove-hook 'gnus-summary-article-delete-hook 'gnus-registry-action t)
1747 (remove-hook 'gnus-summary-article-move-hook 'gnus-registry-action t) 1747 (remove-hook 'gnus-summary-article-move-hook 'gnus-registry-action t)
1748 (remove-hook 'gnus-summary-article-expire-hook 'gnus-registry-action t) 1748 (remove-hook 'gnus-summary-article-expire-hook 'gnus-registry-action t)
diff --git a/lisp/gnus/nnmairix.el b/lisp/gnus/nnmairix.el
index 3d1ac02b6aa..1bf28c5d32f 100644
--- a/lisp/gnus/nnmairix.el
+++ b/lisp/gnus/nnmairix.el
@@ -603,9 +603,11 @@ Other back ends might or might not work.")
603 nil)) 603 nil))
604 604
605;; Silence byte-compiler. 605;; Silence byte-compiler.
606(defvar gnus-registry-install)
607(autoload 'gnus-registry-get-id-key "gnus-registry") 606(autoload 'gnus-registry-get-id-key "gnus-registry")
608 607
608;; Suppress byte-compiler warning `reference to free variable'
609(defvar gnus-registry-enabled)
610
609(deffoo nnmairix-request-set-mark (group actions &optional server) 611(deffoo nnmairix-request-set-mark (group actions &optional server)
610 (when server 612 (when server
611 (nnmairix-open-server server)) 613 (nnmairix-open-server server))
@@ -1636,8 +1638,7 @@ search in raw mode."
1636 1638
1637(defun nnmairix-determine-original-group-from-registry (mid) 1639(defun nnmairix-determine-original-group-from-registry (mid)
1638 "Try to determinale original group for message-id MID from the registry." 1640 "Try to determinale original group for message-id MID from the registry."
1639 (when (and (boundp 'gnus-registry-install) 1641 (when (gnus-bound-and-true-p gnus-registry-enabled)
1640 gnus-registry-install)
1641 (unless (string-match "^<" mid) 1642 (unless (string-match "^<" mid)
1642 (set mid (concat "<" mid))) 1643 (set mid (concat "<" mid)))
1643 (unless (string-match ">$" mid) 1644 (unless (string-match ">$" mid)
diff --git a/lisp/gnus/nnregistry.el b/lisp/gnus/nnregistry.el
index 359050c356c..75a640a428a 100644
--- a/lisp/gnus/nnregistry.el
+++ b/lisp/gnus/nnregistry.el
@@ -36,8 +36,11 @@
36 36
37(nnoo-declare nnregistry) 37(nnoo-declare nnregistry)
38 38
39;; Suppress byte-compiler warning `reference to free variable'
40(defvar gnus-registry-enabled)
41
39(deffoo nnregistry-server-opened (server) 42(deffoo nnregistry-server-opened (server)
40 (eq gnus-registry-install t)) 43 gnus-registry-enabled)
41 44
42(deffoo nnregistry-close-server (server) 45(deffoo nnregistry-close-server (server)
43 t) 46 t)
@@ -46,7 +49,7 @@
46 nil) 49 nil)
47 50
48(deffoo nnregistry-open-server (server &optional defs) 51(deffoo nnregistry-open-server (server &optional defs)
49 (eq gnus-registry-install t)) 52 gnus-registry-enabled)
50 53
51(defvar nnregistry-within-nnregistry nil) 54(defvar nnregistry-within-nnregistry nil)
52 55
diff --git a/lisp/help.el b/lisp/help.el
index e2af0759a65..508a4e3262c 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -977,13 +977,15 @@ function is called, the window to be resized is selected."
977 :version "20.4") 977 :version "20.4")
978 978
979(define-minor-mode temp-buffer-resize-mode 979(define-minor-mode temp-buffer-resize-mode
980 "Toggle mode which makes windows smaller for temporary buffers. 980 "Toggle auto-shrinking temp buffer windows (Temp Buffer Resize mode).
981With prefix argument ARG, turn the resizing of windows displaying 981With a prefix argument ARG, enable Temp Buffer Resize mode if ARG
982temporary buffers on if ARG is positive or off otherwise. 982is positive, and disable it otherwise. If called from Lisp,
983 983enable the mode if ARG is omitted or nil.
984This mode makes a window the right height for its contents, but 984
985never more than `temp-buffer-max-height' nor less than 985When Temp Buffer Resize mode is enabled, the windows in which we
986`window-min-height'. 986show a temporary buffer are automatically reduced in height to
987fit the buffer's contents, but never more than
988`temp-buffer-max-height' nor less than `window-min-height'.
987 989
988This mode is used by `help', `apropos' and `completion' buffers, 990This mode is used by `help', `apropos' and `completion' buffers,
989and some others." 991and some others."
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el
index a254abe33ac..f659a7e8eef 100644
--- a/lisp/hi-lock.el
+++ b/lisp/hi-lock.el
@@ -283,14 +283,17 @@ a library is being loaded.")
283 283
284;;;###autoload 284;;;###autoload
285(define-minor-mode hi-lock-mode 285(define-minor-mode hi-lock-mode
286 "Toggle minor mode for interactively adding font-lock highlighting patterns. 286 "Toggle selective highlighting of patterns (Hi Lock mode).
287 287With a prefix argument ARG, enable Hi Lock mode if ARG is
288If ARG positive, turn hi-lock on. Issuing a hi-lock command will also 288positive, and disable it otherwise. If called from Lisp, enable
289turn hi-lock on. To turn hi-lock on in all buffers use 289the mode if ARG is omitted or nil.
290`global-hi-lock-mode' or in your .emacs file (global-hi-lock-mode 1). 290
291When hi-lock is turned on, a \"Regexp Highlighting\" submenu is added 291Issuing one the highlighting commands listed below will
292to the \"Edit\" menu. The commands in the submenu, which can be 292automatically enable Hi Lock mode. To enable Hi Lock mode in all
293called interactively, are: 293buffers, use `global-hi-lock-mode' or add (global-hi-lock-mode 1)
294to your init file. When Hi Lock mode is enabled, a \"Regexp
295Highlighting\" submenu is added to the \"Edit\" menu. The
296commands in the submenu, which can be called interactively, are:
294 297
295\\[highlight-regexp] REGEXP FACE 298\\[highlight-regexp] REGEXP FACE
296 Highlight matches of pattern REGEXP in current buffer with FACE. 299 Highlight matches of pattern REGEXP in current buffer with FACE.
diff --git a/lisp/hilit-chg.el b/lisp/hilit-chg.el
index 041c1ee938b..46db4280688 100644
--- a/lisp/hilit-chg.el
+++ b/lisp/hilit-chg.el
@@ -326,14 +326,15 @@ remove it from existing buffers."
326 326
327;;;###autoload 327;;;###autoload
328(define-minor-mode highlight-changes-mode 328(define-minor-mode highlight-changes-mode
329 "Toggle Highlight Changes mode. 329 "Toggle highlighting changes in this buffer (Highlight Changes mode).
330With a prefix argument ARG, enable Highlight Changes mode if ARG
331is positive, and disable it otherwise. If called from Lisp,
332enable the mode if ARG is omitted or nil.
330 333
331With ARG, turn Highlight Changes mode on if and only if arg is positive. 334When Highlight Changes is enabled, changes are marked with a text
332 335property. Normally they are displayed in a distinctive face, but
333In Highlight Changes mode changes are recorded with a text property. 336command \\[highlight-changes-visible-mode] can be used to toggles
334Normally they are displayed in a distinctive face, but command 337this on and off.
335\\[highlight-changes-visible-mode] can be used to toggles this
336on and off.
337 338
338Other functions for buffers in this mode include: 339Other functions for buffers in this mode include:
339\\[highlight-changes-next-change] - move point to beginning of next change 340\\[highlight-changes-next-change] - move point to beginning of next change
@@ -366,14 +367,17 @@ buffer with the contents of a file
366 367
367;;;###autoload 368;;;###autoload
368(define-minor-mode highlight-changes-visible-mode 369(define-minor-mode highlight-changes-visible-mode
369 "Toggle visiblility of changes when buffer is in Highlight Changes mode. 370 "Toggle visiblility of highlighting due to Highlight Changes mode.
371With a prefix argument ARG, enable Highlight Changes Visible mode
372if ARG is positive, and disable it otherwise. If called from
373Lisp, enable the mode if ARG is omitted or nil.
370 374
371This mode only has an effect when Highlight Changes mode is on. 375Highlight Changes Visible mode only has an effect when Highlight
372It allows toggling between whether or not the changed text is displayed 376Changes mode is on. When enabled, the changed text is displayed
373in a distinctive face. 377in a distinctive face.
374 378
375The default value can be customized with variable 379The default value can be customized with variable
376`highlight-changes-visibility-initial-state' 380`highlight-changes-visibility-initial-state'.
377 381
378This command does not itself set highlight-changes mode." 382This command does not itself set highlight-changes mode."
379 383
diff --git a/lisp/hl-line.el b/lisp/hl-line.el
index 846f5f95187..b535398f107 100644
--- a/lisp/hl-line.el
+++ b/lisp/hl-line.el
@@ -124,10 +124,13 @@ This variable is expected to be made buffer-local by modes.")
124 124
125;;;###autoload 125;;;###autoload
126(define-minor-mode hl-line-mode 126(define-minor-mode hl-line-mode
127 "Buffer-local minor mode to highlight the line about point. 127 "Toggle highlighting of the current line (Hl-Line mode).
128With ARG, turn Hl-Line mode on if ARG is positive, off otherwise. 128With a prefix argument ARG, enable Hl-Line mode if ARG is
129positive, and disable it otherwise. If called from Lisp, enable
130the mode if ARG is omitted or nil.
129 131
130If `hl-line-sticky-flag' is non-nil, Hl-Line mode highlights the 132Hl-Line mode is a buffer-local minor mode. If
133`hl-line-sticky-flag' is non-nil, Hl-Line mode highlights the
131line about the buffer's point in all windows. Caveat: the 134line about the buffer's point in all windows. Caveat: the
132buffer's point might be different from the point of a 135buffer's point might be different from the point of a
133non-selected window. Hl-Line mode uses the function 136non-selected window. Hl-Line mode uses the function
@@ -171,8 +174,10 @@ addition to `hl-line-highlight' on `post-command-hook'."
171 174
172;;;###autoload 175;;;###autoload
173(define-minor-mode global-hl-line-mode 176(define-minor-mode global-hl-line-mode
174 "Global minor mode to highlight the line about point in the current window. 177 "Toggle line highlighting in all buffers (Global Hl-Line mode).
175With ARG, turn Global-Hl-Line mode on if ARG is positive, off otherwise. 178With a prefix argument ARG, enable Global Hl-Line mode if ARG is
179positive, and disable it otherwise. If called from Lisp, enable
180the mode if ARG is omitted or nil.
176 181
177If `global-hl-line-sticky-flag' is non-nil, Global Hl-Line mode 182If `global-hl-line-sticky-flag' is non-nil, Global Hl-Line mode
178highlights the line about the current buffer's point in all 183highlights the line about the current buffer's point in all
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el
index 073efaeee2a..6c8db872c0b 100644
--- a/lisp/ibuf-ext.el
+++ b/lisp/ibuf-ext.el
@@ -217,8 +217,10 @@ Currently, this only applies to `ibuffer-saved-filters' and
217 217
218;;;###autoload 218;;;###autoload
219(define-minor-mode ibuffer-auto-mode 219(define-minor-mode ibuffer-auto-mode
220 "Toggle use of Ibuffer's auto-update facility. 220 "Toggle use of Ibuffer's auto-update facility (Ibuffer Auto mode).
221With numeric ARG, enable auto-update if and only if ARG is positive." 221With a prefix argument ARG, enable Ibuffer Auto mode if ARG is
222positive, and disable it otherwise. If called from Lisp, enable
223the mode if ARG is omitted or nil."
222 nil nil nil 224 nil nil nil
223 (unless (derived-mode-p 'ibuffer-mode) 225 (unless (derived-mode-p 'ibuffer-mode)
224 (error "This buffer is not in Ibuffer mode")) 226 (error "This buffer is not in Ibuffer mode"))
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el
index 5a86508e144..17ddddbd17a 100644
--- a/lisp/ibuffer.el
+++ b/lisp/ibuffer.el
@@ -2648,12 +2648,14 @@ will be inserted before the group at point."
2648;;;;;; ibuffer-backward-filter-group ibuffer-forward-filter-group 2648;;;;;; ibuffer-backward-filter-group ibuffer-forward-filter-group
2649;;;;;; ibuffer-toggle-filter-group ibuffer-mouse-toggle-filter-group 2649;;;;;; ibuffer-toggle-filter-group ibuffer-mouse-toggle-filter-group
2650;;;;;; ibuffer-interactive-filter-by-mode ibuffer-mouse-filter-by-mode 2650;;;;;; ibuffer-interactive-filter-by-mode ibuffer-mouse-filter-by-mode
2651;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" "617b36fc8479547d679cf0103f82e3ff") 2651;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" "25e69a1e030791b3a3e7d91d4377173a")
2652;;; Generated autoloads from ibuf-ext.el 2652;;; Generated autoloads from ibuf-ext.el
2653 2653
2654(autoload 'ibuffer-auto-mode "ibuf-ext" "\ 2654(autoload 'ibuffer-auto-mode "ibuf-ext" "\
2655Toggle use of Ibuffer's auto-update facility. 2655Toggle use of Ibuffer's auto-update facility (Ibuffer Auto mode).
2656With numeric ARG, enable auto-update if and only if ARG is positive. 2656With a prefix argument ARG, enable Ibuffer Auto mode if ARG is
2657positive, and disable it otherwise. If called from Lisp, enable
2658the mode if ARG is omitted or nil.
2657 2659
2658\(fn &optional ARG)" t nil) 2660\(fn &optional ARG)" t nil)
2659 2661
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index bdd19194c22..53876f48a06 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -172,9 +172,10 @@ except those on this list.")
172;;;_ > icomplete-mode (&optional prefix) 172;;;_ > icomplete-mode (&optional prefix)
173;;;###autoload 173;;;###autoload
174(define-minor-mode icomplete-mode 174(define-minor-mode icomplete-mode
175 "Toggle incremental minibuffer completion for this Emacs session. 175 "Toggle incremental minibuffer completion (Icomplete mode).
176With a numeric argument, turn Icomplete mode on if ARG is positive, 176With a prefix argument ARG, enable Icomplete mode if ARG is
177otherwise turn it off." 177positive, and disable it otherwise. If called from Lisp, enable
178the mode if ARG is omitted or nil."
178 :global t :group 'icomplete 179 :global t :group 'icomplete
179 (if icomplete-mode 180 (if icomplete-mode
180 ;; The following is not really necessary after first time - 181 ;; The following is not really necessary after first time -
diff --git a/lisp/ido.el b/lisp/ido.el
index 46ac5784d0e..88599013ce6 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -461,12 +461,6 @@ See `ido-default-file-method' for details."
461 (const :tag "Show in other frame" other-frame) 461 (const :tag "Show in other frame" other-frame)
462 (const :tag "Ask to show in other frame" maybe-frame) 462 (const :tag "Ask to show in other frame" maybe-frame)
463 (const :tag "Raise frame if already shown" raise-frame)) 463 (const :tag "Raise frame if already shown" raise-frame))
464 :type '(choice (const selected-window)
465 (const other-window)
466 (const display)
467 (const other-frame)
468 (const maybe-frame)
469 (const raise-frame))
470 :group 'ido) 464 :group 'ido)
471 465
472(defcustom ido-enable-flex-matching nil 466(defcustom ido-enable-flex-matching nil
@@ -1475,8 +1469,10 @@ Removes badly formatted data and ignored directories."
1475 (add-hook 'choose-completion-string-functions 'ido-choose-completion-string)) 1469 (add-hook 'choose-completion-string-functions 'ido-choose-completion-string))
1476 1470
1477(define-minor-mode ido-everywhere 1471(define-minor-mode ido-everywhere
1478 "Toggle using ido-mode everywhere file and directory names are read. 1472 "Toggle use of Ido for all buffer/file reading.
1479With ARG, turn ido-mode on if arg is positive, off otherwise." 1473With a prefix argument ARG, enable this feature if ARG is
1474positive, and disable it otherwise. If called from Lisp, enable
1475the mode if ARG is omitted or nil."
1480 :global t 1476 :global t
1481 :group 'ido 1477 :group 'ido
1482 (when (get 'ido-everywhere 'file) 1478 (when (get 'ido-everywhere 'file)
diff --git a/lisp/image-file.el b/lisp/image-file.el
index bd1c101d529..52012b12a56 100644
--- a/lisp/image-file.el
+++ b/lisp/image-file.el
@@ -178,11 +178,12 @@ Optional argument ARGS are the arguments to call FUNCTION with."
178 178
179;;;###autoload 179;;;###autoload
180(define-minor-mode auto-image-file-mode 180(define-minor-mode auto-image-file-mode
181 "Toggle visiting of image files as images. 181 "Toggle visiting of image files as images (Auto Image File mode).
182With prefix argument ARG, turn on if positive, otherwise off. 182With a prefix argument ARG, enable Auto Image File mode if ARG is
183Returns non-nil if the new state is enabled. 183positive, and disable it otherwise. If called from Lisp, enable
184the mode if ARG is omitted or nil.
184 185
185Image files are those whose name has an extension in 186An image file is one whose name has an extension in
186`image-file-name-extensions', or matches a regexp in 187`image-file-name-extensions', or matches a regexp in
187`image-file-name-regexps'." 188`image-file-name-regexps'."
188 :global t 189 :global t
diff --git a/lisp/image-mode.el b/lisp/image-mode.el
index 0995048fce5..30223e69ae0 100644
--- a/lisp/image-mode.el
+++ b/lisp/image-mode.el
@@ -396,11 +396,14 @@ to toggle between display as an image and display as text."
396 396
397;;;###autoload 397;;;###autoload
398(define-minor-mode image-minor-mode 398(define-minor-mode image-minor-mode
399 "Toggle Image minor mode. 399 "Toggle Image minor mode in this buffer.
400With arg, turn Image minor mode on if arg is positive, off otherwise. 400With a prefix argument ARG, enable Image minor mode if ARG is
401It provides the key \\<image-mode-map>\\[image-toggle-display] \ 401positive, and disable it otherwise. If called from Lisp, enable
402to switch back to `image-mode' 402the mode if ARG is omitted or nil.
403to display an image file as the actual image." 403
404Image minor mode provides the key \\<image-mode-map>\\[image-toggle-display],
405to switch back to `image-mode' and display an image file as the
406actual image."
404 nil (:eval (if image-type (format " Image[%s]" image-type) " Image")) 407 nil (:eval (if image-type (format " Image[%s]" image-type) " Image"))
405 image-minor-mode-map 408 image-minor-mode-map
406 :group 'image 409 :group 'image
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 4a387a233a0..cac37b3b8c5 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -2403,8 +2403,8 @@ This function is intended to be added to `auto-coding-functions'."
2403 ;; (allowing for whitespace at bob). Note: 'DOCTYPE NETSCAPE' is 2403 ;; (allowing for whitespace at bob). Note: 'DOCTYPE NETSCAPE' is
2404 ;; useful for Mozilla bookmark files. 2404 ;; useful for Mozilla bookmark files.
2405 (when (and (re-search-forward "\\`[[:space:]\n]*\\(<!doctype[[:space:]\n]+\\(html\\|netscape\\)\\|<html\\)" size t) 2405 (when (and (re-search-forward "\\`[[:space:]\n]*\\(<!doctype[[:space:]\n]+\\(html\\|netscape\\)\\|<html\\)" size t)
2406 (re-search-forward "<meta\\s-+http-equiv=[\"']?content-type[\"']?\\s-+content=[\"']text/\\sw+;\\s-*charset=\\(.+?\\)[\"']" size t)) 2406 (re-search-forward "<meta\\s-+\\(http-equiv=[\"']?content-type[\"']?\\s-+content=[\"']text/\\sw+;\\s-*\\)?charset=[\"']?\\(.+?\\)[\"'\\s-/>]" size t))
2407 (let* ((match (match-string 1)) 2407 (let* ((match (match-string 2))
2408 (sym (intern (downcase match)))) 2408 (sym (intern (downcase match))))
2409 (if (coding-system-p sym) 2409 (if (coding-system-p sym)
2410 sym 2410 sym
diff --git a/lisp/iswitchb.el b/lisp/iswitchb.el
index 70dda5442d5..a7d3328526a 100644
--- a/lisp/iswitchb.el
+++ b/lisp/iswitchb.el
@@ -1424,10 +1424,13 @@ See the variable `iswitchb-case' for details."
1424 1424
1425;;;###autoload 1425;;;###autoload
1426(define-minor-mode iswitchb-mode 1426(define-minor-mode iswitchb-mode
1427 "Toggle Iswitchb global minor mode. 1427 "Toggle Iswitchb mode.
1428With arg, turn Iswitchb mode on if ARG is positive, otherwise turn it off. 1428With a prefix argument ARG, enable Iswitchb mode if ARG is
1429This mode enables switching between buffers using substrings. See 1429positive, and disable it otherwise. If called from Lisp, enable
1430`iswitchb' for details." 1430the mode if ARG is omitted or nil.
1431
1432Iswitchb mode is a global minor mode that enables switching
1433between buffers using substrings. See `iswitchb' for details."
1431 nil nil iswitchb-global-map :global t :group 'iswitchb 1434 nil nil iswitchb-global-map :global t :group 'iswitchb
1432 (if iswitchb-mode 1435 (if iswitchb-mode
1433 (add-hook 'minibuffer-setup-hook 'iswitchb-minibuffer-setup) 1436 (add-hook 'minibuffer-setup-hook 'iswitchb-minibuffer-setup)
diff --git a/lisp/jka-cmpr-hook.el b/lisp/jka-cmpr-hook.el
index d28fde0b214..bf312445f17 100644
--- a/lisp/jka-cmpr-hook.el
+++ b/lisp/jka-cmpr-hook.el
@@ -333,9 +333,14 @@ variables. Setting this through Custom does that automatically."
333 :group 'jka-compr) 333 :group 'jka-compr)
334 334
335(define-minor-mode auto-compression-mode 335(define-minor-mode auto-compression-mode
336 "Toggle automatic file compression and uncompression. 336 "Toggle Auto Compression mode.
337With prefix argument ARG, turn auto compression on if positive, else off. 337With a prefix argument ARG, enable Auto Compression mode if ARG
338Return the new status of auto compression (non-nil means on)." 338is positive, and disable it otherwise. If called from Lisp,
339enable the mode if ARG is omitted or nil.
340
341Auto Compression mode is a global minor mode. When enabled,
342compressed files are automatically uncompressed for reading, and
343compressed when writing."
339 :global t :init-value t :group 'jka-compr :version "22.1" 344 :global t :init-value t :group 'jka-compr :version "22.1"
340 (let* ((installed (jka-compr-installed-p)) 345 (let* ((installed (jka-compr-installed-p))
341 (flag auto-compression-mode)) 346 (flag auto-compression-mode))
diff --git a/lisp/json.el b/lisp/json.el
index 47448f4702a..33e985abbee 100644
--- a/lisp/json.el
+++ b/lisp/json.el
@@ -3,7 +3,7 @@
3;; Copyright (C) 2006-2011 Free Software Foundation, Inc. 3;; Copyright (C) 2006-2011 Free Software Foundation, Inc.
4 4
5;; Author: Edward O'Connor <ted@oconnor.cx> 5;; Author: Edward O'Connor <ted@oconnor.cx>
6;; Version: 1.2 6;; Version: 1.3
7;; Keywords: convenience 7;; Keywords: convenience
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
@@ -47,6 +47,7 @@
47;; other cleanups, bugfixes, and improvements. 47;; other cleanups, bugfixes, and improvements.
48;; 2006-12-29 - XEmacs support, from Aidan Kehoe <kehoea@parhasard.net>. 48;; 2006-12-29 - XEmacs support, from Aidan Kehoe <kehoea@parhasard.net>.
49;; 2008-02-21 - Installed in GNU Emacs. 49;; 2008-02-21 - Installed in GNU Emacs.
50;; 2011-10-17 - Patch `json-alist-p' and `json-plist-p' to avoid recursion -tzz
50 51
51;;; Code: 52;;; Code:
52 53
@@ -108,16 +109,20 @@ this around your call to `json-read' instead of `setq'ing it.")
108 109
109(defun json-alist-p (list) 110(defun json-alist-p (list)
110 "Non-null if and only if LIST is an alist." 111 "Non-null if and only if LIST is an alist."
111 (or (null list) 112 (while (consp list)
112 (and (consp (car list)) 113 (setq list (if (consp (car list))
113 (json-alist-p (cdr list))))) 114 (cdr list)
115 'not-alist)))
116 (null list))
114 117
115(defun json-plist-p (list) 118(defun json-plist-p (list)
116 "Non-null if and only if LIST is a plist." 119 "Non-null if and only if LIST is a plist."
117 (or (null list) 120 (while (consp list)
118 (and (keywordp (car list)) 121 (setq list (if (and (keywordp (car list))
119 (consp (cdr list)) 122 (consp (cdr list)))
120 (json-plist-p (cddr list))))) 123 (cddr list)
124 'not-plist)))
125 (null list))
121 126
122;; Reader utilities 127;; Reader utilities
123 128
diff --git a/lisp/linum.el b/lisp/linum.el
index db6e4c49977..4e58a1b7118 100644
--- a/lisp/linum.el
+++ b/lisp/linum.el
@@ -73,7 +73,12 @@ and you have to scroll or press \\[recenter-top-bottom] to update the numbers."
73 73
74;;;###autoload 74;;;###autoload
75(define-minor-mode linum-mode 75(define-minor-mode linum-mode
76 "Toggle display of line numbers in the left margin." 76 "Toggle display of line numbers in the left margin (Linum mode).
77With a prefix argument ARG, enable Linum mode if ARG is positive,
78and disable it otherwise. If called from Lisp, enable the mode
79if ARG is omitted or nil.
80
81Linum mode is a buffer-local minor mode."
77 :lighter "" ; for desktop.el 82 :lighter "" ; for desktop.el
78 (if linum-mode 83 (if linum-mode
79 (progn 84 (progn
diff --git a/lisp/longlines.el b/lisp/longlines.el
index f625d8fcac7..b4d15da78a7 100644
--- a/lisp/longlines.el
+++ b/lisp/longlines.el
@@ -95,21 +95,22 @@ This is used when `longlines-show-hard-newlines' is on."
95 95
96;;;###autoload 96;;;###autoload
97(define-minor-mode longlines-mode 97(define-minor-mode longlines-mode
98 "Minor mode to wrap long lines. 98 "Toggle Long Lines mode in this buffer.
99In Long Lines mode, long lines are wrapped if they extend beyond 99With a prefix argument ARG, enable Long Lines mode if ARG is
100`fill-column'. The soft newlines used for line wrapping will not 100positive, and disable it otherwise. If called from Lisp, enable
101show up when the text is yanked or saved to disk. 101the mode if ARG is omitted or nil.
102 102
103With no argument, this command toggles Long Lines mode. 103When Long Lines mode is enabled, long lines are wrapped if they
104With a prefix argument ARG, turn Long Lines minor mode on if ARG is positive, 104extend beyond `fill-column'. The soft newlines used for line
105otherwise turn it off. 105wrapping will not show up when the text is yanked or saved to
106 106disk.
107If the variable `longlines-auto-wrap' is non-nil, lines are automatically 107
108wrapped whenever the buffer is changed. You can always call 108If the variable `longlines-auto-wrap' is non-nil, lines are
109`fill-paragraph' to fill individual paragraphs. 109automatically wrapped whenever the buffer is changed. You can
110 110always call `fill-paragraph' to fill individual paragraphs.
111If the variable `longlines-show-hard-newlines' is non-nil, hard newlines 111
112are indicated with a symbol." 112If the variable `longlines-show-hard-newlines' is non-nil, hard
113newlines are indicated with a symbol."
113 :group 'longlines :lighter " ll" 114 :group 'longlines :lighter " ll"
114 (if longlines-mode 115 (if longlines-mode
115 ;; Turn on longlines mode 116 ;; Turn on longlines mode
diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el
index 8dac3be0e5f..0f1669562de 100644
--- a/lisp/mail/footnote.el
+++ b/lisp/mail/footnote.el
@@ -788,9 +788,14 @@ being set it is automatically widened."
788 788
789;;;###autoload 789;;;###autoload
790(define-minor-mode footnote-mode 790(define-minor-mode footnote-mode
791 "Toggle footnote minor mode. 791 "Toggle Footnote mode.
792This minor mode provides footnote support for `message-mode'. To get 792With a prefix argument ARG, enable Footnote mode if ARG is
793started, play around with the following keys: 793positive, and disable it otherwise. If called from Lisp, enable
794the mode if ARG is omitted or nil.
795
796Footnode mode is a buffer-local minor mode. If enabled, it
797provides footnote support for `message-mode'. To get started,
798play around with the following keys:
794\\{footnote-minor-mode-map}" 799\\{footnote-minor-mode-map}"
795 :lighter footnote-mode-line-string 800 :lighter footnote-mode-line-string
796 :keymap footnote-minor-mode-map 801 :keymap footnote-minor-mode-map
diff --git a/lisp/mail/mailabbrev.el b/lisp/mail/mailabbrev.el
index 901eb002dc1..2472b8a1870 100644
--- a/lisp/mail/mailabbrev.el
+++ b/lisp/mail/mailabbrev.el
@@ -133,7 +133,15 @@
133 133
134;;;###autoload 134;;;###autoload
135(define-minor-mode mail-abbrevs-mode 135(define-minor-mode mail-abbrevs-mode
136 "Non-nil means expand mail aliases as abbrevs, in certain message headers." 136 "Toggle abbrev expansion of mail aliases (Mail Abbrevs mode).
137With a prefix argument ARG, enable Mail Abbrevs mode if ARG is
138positive, and disable it otherwise. If called from Lisp, enable
139the mode if ARG is omitted or nil.
140
141Mail Abbrevs mode is a global minor mode. When enabled,
142abbrev-like expansion is performed when editing certain mail
143headers (those specified by `mail-abbrev-mode-regexp'), based on
144the entries in your `mail-personal-alias-file'."
137 :global t 145 :global t
138 :group 'mail-abbrev 146 :group 'mail-abbrev
139 :version "20.3" 147 :version "20.3"
diff --git a/lisp/master.el b/lisp/master.el
index 1ea0a24ca94..c3e9004ca0b 100644
--- a/lisp/master.el
+++ b/lisp/master.el
@@ -72,12 +72,12 @@ You can set this variable using `master-set-slave'.")
72;;;###autoload 72;;;###autoload
73(define-minor-mode master-mode 73(define-minor-mode master-mode
74 "Toggle Master mode. 74 "Toggle Master mode.
75With no argument, this command toggles the mode. 75With a prefix argument ARG, enable Master mode if ARG is
76Non-null prefix argument turns on the mode. 76positive, and disable it otherwise. If called from Lisp, enable
77Null prefix argument turns off the mode. 77the mode if ARG is omitted or nil.
78 78
79When Master mode is enabled, you can scroll the slave buffer using the 79When Master mode is enabled, you can scroll the slave buffer
80following commands: 80using the following commands:
81 81
82\\{master-mode-map} 82\\{master-mode-map}
83 83
diff --git a/lisp/mb-depth.el b/lisp/mb-depth.el
index 2ed692c1b84..22fd84a67aa 100644
--- a/lisp/mb-depth.el
+++ b/lisp/mb-depth.el
@@ -56,12 +56,14 @@ The prompt should already have been inserted."
56;;;###autoload 56;;;###autoload
57(define-minor-mode minibuffer-depth-indicate-mode 57(define-minor-mode minibuffer-depth-indicate-mode
58 "Toggle Minibuffer Depth Indication mode. 58 "Toggle Minibuffer Depth Indication mode.
59When active, any recursive use of the minibuffer will show 59With a prefix argument ARG, enable Minibuffer Depth Indication
60the recursion depth in the minibuffer prompt. This is only 60mode if ARG is positive, and disable it otherwise. If called
61useful if `enable-recursive-minibuffers' is non-nil. 61from Lisp, enable the mode if ARG is omitted or nil.
62 62
63With prefix argument ARG, turn on if positive, otherwise off. 63Minibuffer Depth Indication mode is a global minor mode. When
64Returns non-nil if the new state is enabled." 64enabled, any recursive use of the minibuffer will show the
65recursion depth in the minibuffer prompt. This is only useful if
66`enable-recursive-minibuffers' is non-nil."
65 :global t 67 :global t
66 :group 'minibuffer 68 :group 'minibuffer
67 (if minibuffer-depth-indicate-mode 69 (if minibuffer-depth-indicate-mode
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index eceb3afc147..75a2d70da5e 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -92,17 +92,25 @@
92 :visible (fboundp 'make-frame-command) 92 :visible (fboundp 'make-frame-command)
93 :help ,(purecopy "Open a new frame"))) 93 :help ,(purecopy "Open a new frame")))
94 94
95 (define-key menu [separator-frame]
96 menu-bar-separator)
97
95 (define-key menu [one-window] 98 (define-key menu [one-window]
96 `(menu-item ,(purecopy "Remove Splits") delete-other-windows 99 `(menu-item ,(purecopy "Remove Other Windows") delete-other-windows
97 :enable (not (one-window-p t nil)) 100 :enable (not (one-window-p t nil))
98 :help ,(purecopy 101 :help ,(purecopy "Make selected window fill whole frame")))
99 "Selected window grows to fill the whole frame")))
100 102
101 (define-key menu [split-window] 103 (define-key menu [new-window-on-right]
102 `(menu-item ,(purecopy "Split Window") split-window-vertically 104 `(menu-item ,(purecopy "New Window on Right") split-window-side-by-side
103 :enable (and (menu-bar-menu-frame-live-and-visible-p) 105 :enable (and (menu-bar-menu-frame-live-and-visible-p)
104 (menu-bar-non-minibuffer-window-p)) 106 (menu-bar-non-minibuffer-window-p))
105 :help ,(purecopy "Split selected window in two windows"))) 107 :help ,(purecopy "Make new window on right of selected one")))
108
109 (define-key menu [new-window-below]
110 `(menu-item ,(purecopy "New Window Below") split-window-above-each-other
111 :enable (and (menu-bar-menu-frame-live-and-visible-p)
112 (menu-bar-non-minibuffer-window-p))
113 :help ,(purecopy "Make new window below selected one")))
106 114
107 (define-key menu [separator-window] 115 (define-key menu [separator-window]
108 menu-bar-separator) 116 menu-bar-separator)
@@ -433,7 +441,7 @@
433 441
434(defvar menu-bar-edit-menu 442(defvar menu-bar-edit-menu
435 (let ((menu (make-sparse-keymap "Edit"))) 443 (let ((menu (make-sparse-keymap "Edit")))
436 444
437 (define-key menu [props] 445 (define-key menu [props]
438 `(menu-item ,(purecopy "Text Properties") facemenu-menu)) 446 `(menu-item ,(purecopy "Text Properties") facemenu-menu))
439 447
@@ -1645,7 +1653,7 @@ key, a click, or a menu-item")))
1645 1653
1646(defvar menu-bar-search-documentation-menu 1654(defvar menu-bar-search-documentation-menu
1647 (let ((menu (make-sparse-keymap "Search Documentation"))) 1655 (let ((menu (make-sparse-keymap "Search Documentation")))
1648 1656
1649 (define-key menu [search-documentation-strings] 1657 (define-key menu [search-documentation-strings]
1650 `(menu-item ,(purecopy "Search Documentation Strings...") apropos-documentation 1658 `(menu-item ,(purecopy "Search Documentation Strings...") apropos-documentation
1651 :help 1659 :help
@@ -2161,11 +2169,13 @@ It must accept a buffer as its only required argument.")
2161 :help ,(purecopy "Put previous minibuffer history element in the minibuffer")))) 2169 :help ,(purecopy "Put previous minibuffer history element in the minibuffer"))))
2162 2170
2163(define-minor-mode menu-bar-mode 2171(define-minor-mode menu-bar-mode
2164 "Toggle display of a menu bar on each frame. 2172 "Toggle display of a menu bar on each frame (Menu Bar mode).
2173With a prefix argument ARG, enable Menu Bar mode if ARG is
2174positive, and disable it otherwise. If called from Lisp, enable
2175Menu Bar mode if ARG is omitted or nil.
2176
2165This command applies to all frames that exist and frames to be 2177This command applies to all frames that exist and frames to be
2166created in the future. 2178created in the future."
2167With a numeric argument, if the argument is positive,
2168turn on menu bars; otherwise, turn off menu bars."
2169 :init-value t 2179 :init-value t
2170 :global t 2180 :global t
2171 ;; It's defined in C/cus-start, this stops the d-m-m macro defining it again. 2181 ;; It's defined in C/cus-start, this stops the d-m-m macro defining it again.
diff --git a/lisp/minibuf-eldef.el b/lisp/minibuf-eldef.el
index e6ebe3c53f1..405721f97ee 100644
--- a/lisp/minibuf-eldef.el
+++ b/lisp/minibuf-eldef.el
@@ -131,14 +131,16 @@ been set up by `minibuf-eldef-setup-minibuffer'."
131;;;###autoload 131;;;###autoload
132(define-minor-mode minibuffer-electric-default-mode 132(define-minor-mode minibuffer-electric-default-mode
133 "Toggle Minibuffer Electric Default mode. 133 "Toggle Minibuffer Electric Default mode.
134When active, minibuffer prompts that show a default value only show the 134With a prefix argument ARG, enable Minibuffer Electric Default
135default when it's applicable -- that is, when hitting RET would yield 135mode if ARG is positive, and disable it otherwise. If called
136the default value. If the user modifies the input such that hitting RET 136from Lisp, enable the mode if ARG is omitted or nil.
137would enter a non-default value, the prompt is modified to remove the 137
138default indication. 138Minibuffer Electric Default mode is a global minor mode. When
139 139enabled, minibuffer prompts that show a default value only show
140With prefix argument ARG, turn on if positive, otherwise off. 140the default when it's applicable -- that is, when hitting RET
141Returns non-nil if the new state is enabled." 141would yield the default value. If the user modifies the input
142such that hitting RET would enter a non-default value, the prompt
143is modified to remove the default indication."
142 :global t 144 :global t
143 :group 'minibuffer 145 :group 'minibuffer
144 (if minibuffer-electric-default-mode 146 (if minibuffer-electric-default-mode
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index acb71d115d1..38785fc48e8 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -596,7 +596,7 @@ Moves point to the end of the new text."
596 (setq end (- end suffix-len)) 596 (setq end (- end suffix-len))
597 (setq newtext (substring newtext 0 (- suffix-len)))) 597 (setq newtext (substring newtext 0 (- suffix-len))))
598 (goto-char beg) 598 (goto-char beg)
599 (insert newtext) 599 (insert-and-inherit newtext)
600 (delete-region (point) (+ (point) (- end beg))) 600 (delete-region (point) (+ (point) (- end beg)))
601 (forward-char suffix-len))) 601 (forward-char suffix-len)))
602 602
@@ -927,9 +927,7 @@ If `minibuffer-completion-confirm' is `confirm-after-completion',
927 ;; file, so `try-completion' actually completes to 927 ;; file, so `try-completion' actually completes to
928 ;; that file. 928 ;; that file.
929 (= (length string) (length compl))) 929 (= (length string) (length compl)))
930 (goto-char end) 930 (completion--replace beg end compl))))
931 (insert compl)
932 (delete-region beg end))))
933 (exit-minibuffer)) 931 (exit-minibuffer))
934 932
935 ((memq minibuffer-completion-confirm '(confirm confirm-after-completion)) 933 ((memq minibuffer-completion-confirm '(confirm confirm-after-completion))
diff --git a/lisp/mouse-sel.el b/lisp/mouse-sel.el
index 50d221b6fa0..bcf1749e13f 100644
--- a/lisp/mouse-sel.el
+++ b/lisp/mouse-sel.el
@@ -199,11 +199,12 @@ If nil, point will always be placed at the beginning of the region."
199;;;###autoload 199;;;###autoload
200(define-minor-mode mouse-sel-mode 200(define-minor-mode mouse-sel-mode
201 "Toggle Mouse Sel mode. 201 "Toggle Mouse Sel mode.
202With prefix ARG, turn Mouse Sel mode on if and only if ARG is positive. 202With a prefix argument ARG, enable Mouse Sel mode if ARG is
203Returns the new status of Mouse Sel mode (non-nil means on). 203positive, and disable it otherwise. If called from Lisp, enable
204the mode if ARG is omitted or nil.
204 205
205When Mouse Sel mode is enabled, mouse selection is enhanced in 206Mouse Sel mode is a global minor mode. When enabled, mouse
206various ways: 207selection is enhanced in various ways:
207 208
208- Double-clicking on symbol constituents selects symbols. 209- Double-clicking on symbol constituents selects symbols.
209Double-clicking on quotes or parentheses selects sexps. 210Double-clicking on quotes or parentheses selects sexps.
diff --git a/lisp/mouse.el b/lisp/mouse.el
index ff175288445..9b1cf48ccdc 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -372,300 +372,167 @@ This command must be bound to a mouse click."
372 (split-window-horizontally 372 (split-window-horizontally
373 (min (max new-width first-col) last-col)))))) 373 (min (max new-width first-col) last-col))))))
374 374
375(defun mouse-drag-window-above (window) 375;; `mouse-drag-line' is now the common routine for handling all line
376 "Return the (or a) window directly above WINDOW. 376;; dragging events combining the earlier `mouse-drag-mode-line-1' and
377That means one whose bottom edge is at the same height as WINDOW's top edge." 377;; `mouse-drag-vertical-line'. It should improve the behavior of line
378 (let ((start-top (nth 1 (window-edges window))) 378;; dragging wrt Emacs 23 as follows:
379 (start-left (nth 0 (window-edges window))) 379
380 (start-right (nth 2 (window-edges window))) 380;; (1) Gratuitous error messages and restrictions have been (hopefully)
381 (start-window window) 381;; removed. (The help-echo that dragging the mode-line can resize a
382 above-window) 382;; one-window-frame's window will still show through via bindings.el.)
383 (setq window (previous-window window 0)) 383
384 (while (and (not above-window) (not (eq window start-window))) 384;; (2) No gratuitous selection of other windows should happen. (This
385 (let ((left (nth 0 (window-edges window))) 385;; has not been completely fixed for mouse-autoselected windows yet.)
386 (right (nth 2 (window-edges window)))) 386
387 (when (and (= (+ (window-height window) (nth 1 (window-edges window))) 387;; (3) Mouse clicks below a scroll-bar should pass through via unread
388 start-top) 388;; command events.
389 (or (and (<= left start-left) (<= start-right right)) 389
390 (and (<= start-left left) (<= left start-right)) 390;; Note that `window-in-direction' replaces `mouse-drag-window-above'
391 (and (<= start-left right) (<= right start-right)))) 391;; and `mouse-drag-vertical-line-rightward-window' with Emacs 24.1.
392 (setq above-window window))) 392(defun mouse-drag-line (start-event line)
393 (setq window (previous-window window))) 393 "Drag some line with the mouse.
394 above-window)) 394START-EVENT is the starting mouse-event of the drag action. LINE
395 395must be one of the symbols header, mode, or vertical."
396(defun mouse-drag-move-window-bottom (window growth)
397 "Move the bottom of WINDOW up or down by GROWTH lines.
398Move it down if GROWTH is positive, or up if GROWTH is negative.
399If this would make WINDOW too short,
400shrink the window or windows above it to make room."
401 (condition-case nil
402 (adjust-window-trailing-edge window growth nil)
403 (error nil)))
404
405(defsubst mouse-drag-move-window-top (window growth)
406 "Move the top of WINDOW up or down by GROWTH lines.
407Move it down if GROWTH is positive, or up if GROWTH is negative.
408If this would make WINDOW too short, shrink the window or windows
409above it to make room."
410 ;; Moving the top of WINDOW is actually moving the bottom of the
411 ;; window above.
412 (let ((window-above (mouse-drag-window-above window)))
413 (and window-above
414 (mouse-drag-move-window-bottom window-above (- growth)))))
415
416(defun mouse-drag-mode-line-1 (start-event mode-line-p)
417 "Change the height of a window by dragging on the mode or header line.
418START-EVENT is the starting mouse-event of the drag action.
419MODE-LINE-P non-nil means dragging a mode line; nil means a header line."
420 ;; Give temporary modes such as isearch a chance to turn off. 396 ;; Give temporary modes such as isearch a chance to turn off.
421 (run-hooks 'mouse-leave-buffer-hook) 397 (run-hooks 'mouse-leave-buffer-hook)
422 (let* ((done nil) 398 (let* ((echo-keystrokes 0)
423 (echo-keystrokes 0)
424 (start (event-start start-event)) 399 (start (event-start start-event))
425 (start-event-window (posn-window start)) 400 (window (posn-window start))
426 (start-event-frame (window-frame start-event-window)) 401 (frame (window-frame window))
427 (start-nwindows (count-windows t)) 402 (minibuffer-window (minibuffer-window frame))
428 (on-link (and mouse-1-click-follows-link 403 (on-link (and mouse-1-click-follows-link
429 (or mouse-1-click-in-non-selected-windows 404 (or mouse-1-click-in-non-selected-windows
430 (eq (posn-window start) (selected-window))) 405 (eq window (selected-window)))
431 (mouse-on-link-p start))) 406 (mouse-on-link-p start)))
432 (minibuffer (frame-parameter nil 'minibuffer)) 407 (enlarge-minibuffer
433 should-enlarge-minibuffer event mouse y top bot edges wconfig growth) 408 (and (eq line 'mode)
409 (not resize-mini-windows)
410 (eq (window-frame minibuffer-window) frame)
411 (not (one-window-p t frame))
412 (= (nth 1 (window-edges minibuffer-window))
413 (nth 3 (window-edges window)))))
414 (which-side
415 (and (eq line 'vertical)
416 (or (cdr (assq 'vertical-scroll-bars (frame-parameters frame)))
417 'right)))
418 done event mouse growth dragged)
419 (cond
420 ((eq line 'header)
421 ;; Check whether header-line can be dragged at all.
422 (if (window-at-side-p window 'top)
423 (setq done t)
424 (setq window (window-in-direction 'above window t))))
425 ((eq line 'mode)
426 ;; Check whether mode-line can be dragged at all.
427 (when (and (window-at-side-p window 'bottom)
428 (not enlarge-minibuffer))
429 (setq done t)))
430 ((eq line 'vertical)
431 ;; Get the window to adjust for the vertical case.
432 (setq window
433 (if (eq which-side 'right)
434 ;; If the scroll bar is on the window's right or there's
435 ;; no scroll bar at all, adjust the window where the
436 ;; start-event occurred.
437 window
438 ;; If the scroll bar is on the start-event window's left,
439 ;; adjust the window on the left of it.
440 (window-in-direction 'left window t)))))
441
442 ;; Start tracking.
434 (track-mouse 443 (track-mouse
435 (progn 444 ;; Loop reading events and sampling the position of the mouse.
436 ;; if this is the bottommost ordinary window, then to 445 (while (not done)
437 ;; move its modeline the minibuffer must be enlarged. 446 (setq event (read-event))
438 (setq should-enlarge-minibuffer 447 (setq mouse (mouse-position))
439 (and minibuffer 448 ;; Do nothing if
440 mode-line-p 449 ;; - there is a switch-frame event.
441 (not (one-window-p t)) 450 ;; - the mouse isn't in the frame that we started in
442 (= (nth 1 (window-edges minibuffer)) 451 ;; - the mouse isn't in any Emacs frame
443 (nth 3 (window-edges start-event-window))))) 452 ;; Drag if
444 453 ;; - there is a mouse-movement event
445 ;; loop reading events and sampling the position of 454 ;; - there is a scroll-bar-movement event (??)
446 ;; the mouse. 455 ;; (same as mouse movement for our purposes)
447 (while (not done) 456 ;; Quit if
448 (setq event (read-event) 457 ;; - there is a keyboard event or some other unknown event.
449 mouse (mouse-position)) 458 (cond
450 459 ((not (consp event))
451 ;; do nothing if 460 (setq done t))
452 ;; - there is a switch-frame event. 461 ((memq (car event) '(switch-frame select-window))
453 ;; - the mouse isn't in the frame that we started in 462 nil)
454 ;; - the mouse isn't in any Emacs frame 463 ((not (memq (car event) '(mouse-movement scroll-bar-movement)))
455 ;; drag if 464 (when (consp event)
456 ;; - there is a mouse-movement event 465 ;; Do not unread a drag-mouse-1 event to avoid selecting
457 ;; - there is a scroll-bar-movement event 466 ;; some other window. For vertical line dragging do not
458 ;; (same as mouse movement for our purposes) 467 ;; unread mouse-1 events either (but only if we dragged at
459 ;; quit if 468 ;; least once to allow mouse-1 clicks get through.
460 ;; - there is a keyboard event or some other unknown event. 469 (unless (and dragged
461 (cond ((not (consp event)) 470 (if (eq line 'vertical)
462 (setq done t)) 471 (memq (car event) '(drag-mouse-1 mouse-1))
463 472 (eq (car event) 'drag-mouse-1)))
464 ((memq (car event) '(switch-frame select-window)) 473 (push event unread-command-events)))
465 nil) 474 (setq done t))
466 475 ((or (not (eq (car mouse) frame)) (null (car (cdr mouse))))
467 ((not (memq (car event) '(mouse-movement scroll-bar-movement))) 476 nil)
468 (when (consp event) 477 ((eq line 'vertical)
469 ;; Do not unread a drag-mouse-1 event since it will cause the 478 ;; Drag vertical divider (the calculations below are those
470 ;; selection of the window above when dragging the modeline 479 ;; from Emacs 23).
471 ;; above the selected window. 480 (setq growth
472 (unless (eq (car event) 'drag-mouse-1) 481 (- (- (cadr mouse)
473 (push event unread-command-events))) 482 (if (eq which-side 'right) 0 2))
474 (setq done t)) 483 (nth 2 (window-edges window))
475 484 -1))
476 ((not (eq (car mouse) start-event-frame)) 485 (unless (zerop growth)
477 nil) 486 ;; Remember that we dragged.
478 487 (setq dragged t))
479 ((null (car (cdr mouse))) 488 (adjust-window-trailing-edge window growth t))
480 nil) 489 (t
481 490 ;; Drag horizontal divider (the calculations below are those
482 (t 491 ;; from Emacs 23).
483 (setq y (cdr (cdr mouse)) 492 (setq growth
484 edges (window-edges start-event-window) 493 (if (eq line 'mode)
485 top (nth 1 edges) 494 (- (cddr mouse) (nth 3 (window-edges window)) -1)
486 bot (nth 3 edges)) 495 ;; The window's top includes the header line!
487 496 (- (nth 3 (window-edges window)) (cddr mouse))))
488 ;; compute size change needed 497
489 (cond (mode-line-p 498 (unless (zerop growth)
490 (setq growth (- y bot -1))) 499 ;; Remember that we dragged.
491 (t ; header line 500 (setq dragged t))
492 (when (< (- bot y) window-min-height) 501
493 (setq y (- bot window-min-height))) 502 (cond
494 ;; The window's top includes the header line! 503 (enlarge-minibuffer
495 (setq growth (- top y)))) 504 (adjust-window-trailing-edge window growth))
496 (setq wconfig (current-window-configuration)) 505 ((eq line 'mode)
497 506 (adjust-window-trailing-edge window growth))
498 ;; Check for an error case. 507 (t
499 (when (and (/= growth 0) 508 (adjust-window-trailing-edge window (- growth)))))))
500 (not minibuffer) 509
501 (one-window-p t)) 510 ;; Presumably, if this was just a click, the last event should be
502 (error "Attempt to resize sole window")) 511 ;; `mouse-1', whereas if this did move the mouse, it should be a
503 512 ;; `drag-mouse-1'. `dragged' nil tells us that we never dragged
504 ;; If we ever move, make sure we don't mistakenly treat 513 ;; and `on-link' tells us that there is a link to follow.
505 ;; some unexpected `mouse-1' final event as a sign that 514 (when (and on-link (not dragged)
506 ;; this whole drag was nothing more than a click. 515 (eq 'mouse-1 (car-safe (car unread-command-events))))
507 (if (/= growth 0) (setq on-link nil)) 516 ;; If mouse-2 has never been done by the user, it doesn't
508 517 ;; have the necessary property to be interpreted correctly.
509 ;; grow/shrink minibuffer? 518 (put 'mouse-2 'event-kind 'mouse-click)
510 (if should-enlarge-minibuffer 519 (setcar unread-command-events
511 (unless resize-mini-windows 520 (cons 'mouse-2 (cdar unread-command-events)))))))
512 (mouse-drag-move-window-bottom start-event-window growth))
513 ;; no. grow/shrink the selected window
514 ;(message "growth = %d" growth)
515 (if mode-line-p
516 (mouse-drag-move-window-bottom start-event-window growth)
517 (mouse-drag-move-window-top start-event-window growth)))
518
519 ;; if this window's growth caused another
520 ;; window to be deleted because it was too
521 ;; short, rescind the change.
522 ;;
523 ;; if size change caused space to be stolen
524 ;; from a window above this one, rescind the
525 ;; change, but only if we didn't grow/shrink
526 ;; the minibuffer. minibuffer size changes
527 ;; can cause all windows to shrink... no way
528 ;; around it.
529 (when (or (/= start-nwindows (count-windows t))
530 (and (not should-enlarge-minibuffer)
531 (> growth 0)
532 mode-line-p
533 (/= top
534 (nth 1 (window-edges
535 ;; Choose right window.
536 start-event-window)))))
537 (set-window-configuration wconfig)))))
538
539 ;; Presumably if this was just a click, the last event should
540 ;; be `mouse-1', whereas if this did move the mouse, it should be
541 ;; a `drag-mouse-1'. In any case `on-link' would have been nulled
542 ;; above if there had been any significant mouse movement.
543 (when (and on-link
544 (eq 'mouse-1 (car-safe (car unread-command-events))))
545 ;; If mouse-2 has never been done by the user, it doesn't
546 ;; have the necessary property to be interpreted correctly.
547 (put 'mouse-2 'event-kind 'mouse-click)
548 (setcar unread-command-events
549 (cons 'mouse-2 (cdar unread-command-events))))))))
550 521
551(defun mouse-drag-mode-line (start-event) 522(defun mouse-drag-mode-line (start-event)
552 "Change the height of a window by dragging on the mode line." 523 "Change the height of a window by dragging on the mode line."
553 (interactive "e") 524 (interactive "e")
554 (mouse-drag-mode-line-1 start-event t)) 525 (mouse-drag-line start-event 'mode))
555 526
556(defun mouse-drag-header-line (start-event) 527(defun mouse-drag-header-line (start-event)
557 "Change the height of a window by dragging on the header line. 528 "Change the height of a window by dragging on the header line."
558Windows whose header-lines are at the top of the frame cannot be
559resized by dragging their header-line."
560 (interactive "e") 529 (interactive "e")
561 ;; Changing the window's size by dragging its header-line when the 530 (mouse-drag-line start-event 'header))
562 ;; header-line is at the top of the frame is somewhat strange,
563 ;; because the header-line doesn't move, so don't do it.
564 (let* ((start (event-start start-event))
565 (window (posn-window start))
566 (frame (window-frame window))
567 (first-window (frame-first-window frame)))
568 (unless (or (eq window first-window)
569 (= (nth 1 (window-edges window))
570 (nth 1 (window-edges first-window))))
571 (mouse-drag-mode-line-1 start-event nil))))
572
573
574(defun mouse-drag-vertical-line-rightward-window (window)
575 "Return a window that is immediately to the right of WINDOW, or nil."
576 (let ((bottom (nth 3 (window-inside-edges window)))
577 (left (nth 0 (window-inside-edges window)))
578 best best-right
579 (try (previous-window window)))
580 (while (not (eq try window))
581 (let ((try-top (nth 1 (window-inside-edges try)))
582 (try-bottom (nth 3 (window-inside-edges try)))
583 (try-right (nth 2 (window-inside-edges try))))
584 (if (and (< try-top bottom)
585 (>= try-bottom bottom)
586 (< try-right left)
587 (or (null best-right) (> try-right best-right)))
588 (setq best-right try-right best try)))
589 (setq try (previous-window try)))
590 best))
591 531
592(defun mouse-drag-vertical-line (start-event) 532(defun mouse-drag-vertical-line (start-event)
593 "Change the width of a window by dragging on the vertical line." 533 "Change the width of a window by dragging on the vertical line."
594 (interactive "e") 534 (interactive "e")
595 ;; Give temporary modes such as isearch a chance to turn off. 535 (mouse-drag-line start-event 'vertical))
596 (run-hooks 'mouse-leave-buffer-hook)
597 (let* ((done nil)
598 (echo-keystrokes 0)
599 (start-event-frame (window-frame (car (car (cdr start-event)))))
600 (start-event-window (car (car (cdr start-event))))
601 event mouse x left right edges growth
602 (which-side
603 (or (cdr (assq 'vertical-scroll-bars (frame-parameters start-event-frame)))
604 'right)))
605 (cond
606 ((one-window-p t)
607 (error "Attempt to resize sole ordinary window"))
608 ((and (eq which-side 'right)
609 (>= (nth 2 (window-inside-edges start-event-window))
610 (frame-width start-event-frame)))
611 (error "Attempt to drag rightmost scrollbar"))
612 ((and (eq which-side 'left)
613 (= (nth 0 (window-inside-edges start-event-window)) 0))
614 (error "Attempt to drag leftmost scrollbar")))
615 (track-mouse
616 (progn
617 ;; loop reading events and sampling the position of
618 ;; the mouse.
619 (while (not done)
620 (setq event (read-event)
621 mouse (mouse-position))
622 ;; do nothing if
623 ;; - there is a switch-frame event.
624 ;; - the mouse isn't in the frame that we started in
625 ;; - the mouse isn't in any Emacs frame
626 ;; drag if
627 ;; - there is a mouse-movement event
628 ;; - there is a scroll-bar-movement event
629 ;; (same as mouse movement for our purposes)
630 ;; quit if
631 ;; - there is a keyboard event or some other unknown event
632 ;; unknown event.
633 (cond ((integerp event)
634 (setq done t))
635 ((memq (car event) '(switch-frame select-window))
636 nil)
637 ((not (memq (car event)
638 '(mouse-movement scroll-bar-movement)))
639 (if (consp event)
640 (setq unread-command-events
641 (cons event unread-command-events)))
642 (setq done t))
643 ((not (eq (car mouse) start-event-frame))
644 nil)
645 ((null (car (cdr mouse)))
646 nil)
647 (t
648 (let ((window
649 ;; If the scroll bar is on the window's left,
650 ;; adjust the window on the left.
651 (if (eq which-side 'right)
652 start-event-window
653 (mouse-drag-vertical-line-rightward-window
654 start-event-window))))
655 (setq x (- (car (cdr mouse))
656 (if (eq which-side 'right) 0 2))
657 edges (window-edges window)
658 left (nth 0 edges)
659 right (nth 2 edges))
660 ;; scale back a move that would make the
661 ;; window too thin.
662 (if (< (- x left -1) window-min-width)
663 (setq x (+ left window-min-width -1)))
664 ;; compute size change needed
665 (setq growth (- x right -1))
666 (condition-case nil
667 (adjust-window-trailing-edge window growth t)
668 (error nil))))))))))
669 536
670(defun mouse-set-point (event) 537(defun mouse-set-point (event)
671 "Move point to the position clicked on with the mouse. 538 "Move point to the position clicked on with the mouse.
diff --git a/lisp/msb.el b/lisp/msb.el
index 12e5a0192fe..74ceff1a9cd 100644
--- a/lisp/msb.el
+++ b/lisp/msb.el
@@ -1133,7 +1133,10 @@ variable `msb-menu-cond'."
1133;;;###autoload 1133;;;###autoload
1134(define-minor-mode msb-mode 1134(define-minor-mode msb-mode
1135 "Toggle Msb mode. 1135 "Toggle Msb mode.
1136With arg, turn Msb mode on if and only if arg is positive. 1136With a prefix argument ARG, enable Msb mode if ARG is positive,
1137and disable it otherwise. If called from Lisp, enable the mode
1138if ARG is omitted or nil.
1139
1137This mode overrides the binding(s) of `mouse-buffer-menu' to provide a 1140This mode overrides the binding(s) of `mouse-buffer-menu' to provide a
1138different buffer menu using the function `msb'." 1141different buffer menu using the function `msb'."
1139 :global t :group 'msb 1142 :global t :group 'msb
diff --git a/lisp/mwheel.el b/lisp/mwheel.el
index 4ead168b188..05aeb12acf4 100644
--- a/lisp/mwheel.el
+++ b/lisp/mwheel.el
@@ -250,11 +250,11 @@ This should only be bound to mouse buttons 4 and 5."
250 250
251(defvar mwheel-installed-bindings nil) 251(defvar mwheel-installed-bindings nil)
252 252
253;; preloaded ;;;###autoload
254(define-minor-mode mouse-wheel-mode 253(define-minor-mode mouse-wheel-mode
255 "Toggle mouse wheel support. 254 "Toggle mouse wheel support (Mouse Wheel mode).
256With prefix argument ARG, turn on if positive, otherwise off. 255With a prefix argument ARG, enable Mouse Wheel mode if ARG is
257Return non-nil if the new state is enabled." 256positive, and disable it otherwise. If called from Lisp, enable
257the mode if ARG is omitted or nil."
258 :init-value t 258 :init-value t
259 ;; We'd like to use custom-initialize-set here so the setup is done 259 ;; We'd like to use custom-initialize-set here so the setup is done
260 ;; before dumping, but at the point where the defcustom is evaluated, 260 ;; before dumping, but at the point where the defcustom is evaluated,
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index f9bc13e1e25..10a1fa5afc5 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -36,6 +36,7 @@
36;; Function Browser Earliest version 36;; Function Browser Earliest version
37;; browse-url-mozilla Mozilla Don't know 37;; browse-url-mozilla Mozilla Don't know
38;; browse-url-firefox Firefox Don't know (tried with 1.0.1) 38;; browse-url-firefox Firefox Don't know (tried with 1.0.1)
39;; browse-url-chromium Chromium 3.0
39;; browse-url-galeon Galeon Don't know 40;; browse-url-galeon Galeon Don't know
40;; browse-url-epiphany Epiphany Don't know 41;; browse-url-epiphany Epiphany Don't know
41;; browse-url-netscape Netscape 1.1b1 42;; browse-url-netscape Netscape 1.1b1
@@ -47,6 +48,7 @@
47;; browse-url-generic arbitrary 48;; browse-url-generic arbitrary
48;; browse-url-default-windows-browser MS-Windows browser 49;; browse-url-default-windows-browser MS-Windows browser
49;; browse-url-default-macosx-browser Mac OS X browser 50;; browse-url-default-macosx-browser Mac OS X browser
51;; browse-url-xdg-open Free Desktop xdg-open on Gnome, KDE, Xfce4, LXDE
50;; browse-url-gnome-moz GNOME interface to Mozilla 52;; browse-url-gnome-moz GNOME interface to Mozilla
51;; browse-url-kde KDE konqueror (kfm) 53;; browse-url-kde KDE konqueror (kfm)
52;; browse-url-elinks Elinks Don't know (tried with 0.12.GIT) 54;; browse-url-elinks Elinks Don't know (tried with 0.12.GIT)
@@ -230,6 +232,7 @@ regexp should probably be \".\" to specify a default browser."
230 :value browse-url-w3-gnudoit) 232 :value browse-url-w3-gnudoit)
231 (function-item :tag "Mozilla" :value browse-url-mozilla) 233 (function-item :tag "Mozilla" :value browse-url-mozilla)
232 (function-item :tag "Firefox" :value browse-url-firefox) 234 (function-item :tag "Firefox" :value browse-url-firefox)
235 (function-item :tag "Chromium" :value browse-url-chromium)
233 (function-item :tag "Galeon" :value browse-url-galeon) 236 (function-item :tag "Galeon" :value browse-url-galeon)
234 (function-item :tag "Epiphany" :value browse-url-epiphany) 237 (function-item :tag "Epiphany" :value browse-url-epiphany)
235 (function-item :tag "Netscape" :value browse-url-netscape) 238 (function-item :tag "Netscape" :value browse-url-netscape)
@@ -336,6 +339,22 @@ Defaults to the value of `browse-url-firefox-arguments' at the time
336 :type '(repeat (string :tag "Argument")) 339 :type '(repeat (string :tag "Argument"))
337 :group 'browse-url) 340 :group 'browse-url)
338 341
342(defcustom browse-url-chromium-program
343 (let ((candidates '("chromium" "chromium-browser")))
344 (while (and candidates (not (executable-find (car candidates))))
345 (setq candidates (cdr candidates)))
346 (or (car candidates) "chromium"))
347 "The name by which to invoke Chromium."
348 :type 'string
349 :version "24.1"
350 :group 'browse-url)
351
352(defcustom browse-url-chromium-arguments nil
353 "A list of strings to pass to Chromium as arguments."
354 :type '(repeat (string :tag "Argument"))
355 :version "24.1"
356 :group 'browse-url)
357
339(defcustom browse-url-galeon-program "galeon" 358(defcustom browse-url-galeon-program "galeon"
340 "The name by which to invoke Galeon." 359 "The name by which to invoke Galeon."
341 :type 'string 360 :type 'string
@@ -913,6 +932,7 @@ used instead of `browse-url-new-window-flag'."
913 ((executable-find browse-url-gnome-moz-program) 'browse-url-gnome-moz) 932 ((executable-find browse-url-gnome-moz-program) 'browse-url-gnome-moz)
914 ((executable-find browse-url-mozilla-program) 'browse-url-mozilla) 933 ((executable-find browse-url-mozilla-program) 'browse-url-mozilla)
915 ((executable-find browse-url-firefox-program) 'browse-url-firefox) 934 ((executable-find browse-url-firefox-program) 'browse-url-firefox)
935 ((executable-find browse-url-chromium-program) 'browse-url-chromium)
916 ((executable-find browse-url-galeon-program) 'browse-url-galeon) 936 ((executable-find browse-url-galeon-program) 'browse-url-galeon)
917 ((executable-find browse-url-kde-program) 'browse-url-kde) 937 ((executable-find browse-url-kde-program) 'browse-url-kde)
918 ((executable-find browse-url-netscape-program) 'browse-url-netscape) 938 ((executable-find browse-url-netscape-program) 'browse-url-netscape)
@@ -924,12 +944,13 @@ used instead of `browse-url-new-window-flag'."
924 url args)) 944 url args))
925 945
926(defun browse-url-can-use-xdg-open () 946(defun browse-url-can-use-xdg-open ()
927 "Check if xdg-open can be used, i.e. we are on Gnome, KDE or xfce4." 947 "Check if xdg-open can be used, i.e. we are on Gnome, KDE, Xfce4 or LXDE."
928 (and (getenv "DISPLAY") 948 (and (getenv "DISPLAY")
929 (executable-find "xdg-open") 949 (executable-find "xdg-open")
930 ;; xdg-open may call gnome-open and that does not wait for its child 950 ;; xdg-open may call gnome-open and that does not wait for its child
931 ;; to finish. This child may then be killed when the parent dies. 951 ;; to finish. This child may then be killed when the parent dies.
932 ;; Use nohup to work around. 952 ;; Use nohup to work around. See bug#7166, bug#8917, bug#9779 and
953 ;; http://lists.gnu.org/archive/html/emacs-devel/2009-07/msg00279.html
933 (executable-find "nohup") 954 (executable-find "nohup")
934 (or (getenv "GNOME_DESKTOP_SESSION_ID") 955 (or (getenv "GNOME_DESKTOP_SESSION_ID")
935 ;; GNOME_DESKTOP_SESSION_ID is deprecated, check on Dbus also. 956 ;; GNOME_DESKTOP_SESSION_ID is deprecated, check on Dbus also.
@@ -947,7 +968,9 @@ used instead of `browse-url-new-window-flag'."
947 "/bin/sh" nil nil nil 968 "/bin/sh" nil nil nil
948 "-c" 969 "-c"
949 "xprop -root _DT_SAVE_MODE|grep xfce4")) 970 "xprop -root _DT_SAVE_MODE|grep xfce4"))
950 (error nil))))) 971 (error nil))
972 (member (getenv "DESKTOP_SESSION") '("LXDE" "Lubuntu"))
973 (equal (getenv "XDG_CURRENT_DESKTOP") "LXDE"))))
951 974
952 975
953;;;###autoload 976;;;###autoload
@@ -1141,6 +1164,22 @@ URL in a new window."
1141 (append browse-url-firefox-startup-arguments (list url)))))) 1164 (append browse-url-firefox-startup-arguments (list url))))))
1142 1165
1143;;;###autoload 1166;;;###autoload
1167(defun browse-url-chromium (url &optional new-window)
1168 "Ask the Chromium WWW browser to load URL.
1169Default to the URL around or before point. The strings in
1170variable `browse-url-chromium-arguments' are also passed to
1171Chromium."
1172 (interactive (browse-url-interactive-arg "URL: "))
1173 (setq url (browse-url-encode-url url))
1174 (let* ((process-environment (browse-url-process-environment)))
1175 (apply 'start-process
1176 (concat "chromium " url) nil
1177 browse-url-chromium-program
1178 (append
1179 browse-url-chromium-arguments
1180 (list url)))))
1181
1182;;;###autoload
1144(defun browse-url-galeon (url &optional new-window) 1183(defun browse-url-galeon (url &optional new-window)
1145 "Ask the Galeon WWW browser to load URL. 1184 "Ask the Galeon WWW browser to load URL.
1146Default to the URL around or before point. The strings in variable 1185Default to the URL around or before point. The strings in variable
diff --git a/lisp/net/goto-addr.el b/lisp/net/goto-addr.el
index 4e78a7d42c0..1432c1e516b 100644
--- a/lisp/net/goto-addr.el
+++ b/lisp/net/goto-addr.el
@@ -288,7 +288,7 @@ Also fontifies the buffer appropriately (see `goto-address-fontify-p' and
288 288
289;;;###autoload 289;;;###autoload
290(define-minor-mode goto-address-prog-mode 290(define-minor-mode goto-address-prog-mode
291 "Turn on `goto-address-mode', but only in comments and strings." 291 "Like `goto-address-mode', but only for comments and strings."
292 nil 292 nil
293 "" 293 ""
294 nil 294 nil
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index adc66f6766c..5fca1018095 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -1886,7 +1886,7 @@ Falls back to normal file name handler if no Tramp file name handler exists."
1886 (when (and (listp sf) (eq (car sf) 'autoload)) 1886 (when (and (listp sf) (eq (car sf) 'autoload))
1887 (let ((default-directory 1887 (let ((default-directory
1888 (tramp-compat-temporary-file-directory))) 1888 (tramp-compat-temporary-file-directory)))
1889 (load (cadr sf) 'noerror))) 1889 (load (cadr sf) 'noerror 'nomessage)))
1890 (apply foreign operation args)) 1890 (apply foreign operation args))
1891 1891
1892 ;; Trace that somebody has interrupted the operation. 1892 ;; Trace that somebody has interrupted the operation.
@@ -2103,8 +2103,9 @@ This is true, if either the remote host is already connected, or if we are
2103not in completion mode." 2103not in completion mode."
2104 (and (tramp-tramp-file-p filename) 2104 (and (tramp-tramp-file-p filename)
2105 (with-parsed-tramp-file-name filename nil 2105 (with-parsed-tramp-file-name filename nil
2106 (or (get-buffer (tramp-buffer-name v)) 2106 (or (not (tramp-completion-mode-p))
2107 (not (tramp-completion-mode-p)))))) 2107 (let ((p (tramp-get-connection-process v)))
2108 (and p (processp p) (memq (process-status p) '(run open))))))))
2108 2109
2109;; Method, host name and user name completion. 2110;; Method, host name and user name completion.
2110;; `tramp-completion-dissect-file-name' returns a list of 2111;; `tramp-completion-dissect-file-name' returns a list of
diff --git a/lisp/net/xesam.el b/lisp/net/xesam.el
index 64c26cfb2c9..56e9cb68c61 100644
--- a/lisp/net/xesam.el
+++ b/lisp/net/xesam.el
@@ -516,9 +516,9 @@ engine specific, widget :notify function to visualize xesam:url."
516 516
517(define-minor-mode xesam-minor-mode 517(define-minor-mode xesam-minor-mode
518 "Toggle Xesam minor mode. 518 "Toggle Xesam minor mode.
519With no argument, this command toggles the mode. 519With a prefix argument ARG, enable Xesam minor mode if ARG is
520Non-null prefix argument turns on the mode. 520positive, and disable it otherwise. If called from Lisp, enable
521Null prefix argument turns off the mode. 521the mode if ARG is omitted or nil.
522 522
523When Xesam minor mode is enabled, all text which matches a 523When Xesam minor mode is enabled, all text which matches a
524previous Xesam query in this buffer is highlighted." 524previous Xesam query in this buffer is highlighted."
diff --git a/lisp/outline.el b/lisp/outline.el
index f864058c6fc..34d30fc4591 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -356,7 +356,10 @@ After that, changing the prefix key requires manipulating keymaps."
356;;;###autoload 356;;;###autoload
357(define-minor-mode outline-minor-mode 357(define-minor-mode outline-minor-mode
358 "Toggle Outline minor mode. 358 "Toggle Outline minor mode.
359With arg, turn Outline minor mode on if arg is positive, off otherwise. 359With a prefix argument ARG, enable Outline minor mode if ARG is
360positive, and disable it otherwise. If called from Lisp, enable
361the mode if ARG is omitted or nil.
362
360See the command `outline-mode' for more information on this mode." 363See the command `outline-mode' for more information on this mode."
361 nil " Outl" (list (cons [menu-bar] outline-minor-mode-menu-bar-map) 364 nil " Outl" (list (cons [menu-bar] outline-minor-mode-menu-bar-map)
362 (cons outline-minor-mode-prefix outline-mode-prefix-map)) 365 (cons outline-minor-mode-prefix outline-mode-prefix-map))
diff --git a/lisp/paren.el b/lisp/paren.el
index fb5c0bf36e9..ee550228d48 100644
--- a/lisp/paren.el
+++ b/lisp/paren.el
@@ -102,12 +102,14 @@ otherwise)."
102 102
103;;;###autoload 103;;;###autoload
104(define-minor-mode show-paren-mode 104(define-minor-mode show-paren-mode
105 "Toggle Show Paren mode. 105 "Toggle visualization of matching parens (Show Paren mode).
106With prefix ARG, turn Show Paren mode on if and only if ARG is positive. 106With a prefix argument ARG, enable Show Paren mode if ARG is
107Returns the new status of Show Paren mode (non-nil means on). 107positive, and disable it otherwise. If called from Lisp, enable
108the mode if ARG is omitted or nil.
108 109
109When Show Paren mode is enabled, any matching parenthesis is highlighted 110Show Paren mode is a global minor mode. When enabled, any
110in `show-paren-style' after `show-paren-delay' seconds of Emacs idle time." 111matching parenthesis is highlighted in `show-paren-style' after
112`show-paren-delay' seconds of Emacs idle time."
111 :global t :group 'paren-showing 113 :global t :group 'paren-showing
112 ;; Enable or disable the mechanism. 114 ;; Enable or disable the mechanism.
113 ;; First get rid of the old idle timer. 115 ;; First get rid of the old idle timer.
diff --git a/lisp/progmodes/bug-reference.el b/lisp/progmodes/bug-reference.el
index 8ec379afab2..12eddfef1aa 100644
--- a/lisp/progmodes/bug-reference.el
+++ b/lisp/progmodes/bug-reference.el
@@ -127,7 +127,10 @@ so that it is considered safe, see `enable-local-variables'.")
127 127
128;;;###autoload 128;;;###autoload
129(define-minor-mode bug-reference-mode 129(define-minor-mode bug-reference-mode
130 "Minor mode to buttonize bugzilla references in the current buffer." 130 "Toggle hyperlinking bug references in the buffer (Bug Reference mode).
131With a prefix argument ARG, enable Bug Reference mode if ARG is
132positive, and disable it otherwise. If called from Lisp, enable
133the mode if ARG is omitted or nil."
131 nil 134 nil
132 "" 135 ""
133 nil 136 nil
diff --git a/lisp/progmodes/cap-words.el b/lisp/progmodes/cap-words.el
index 0ce84ae33a7..d7b7dfef1ec 100644
--- a/lisp/progmodes/cap-words.el
+++ b/lisp/progmodes/cap-words.el
@@ -60,9 +60,13 @@ Looks for word boundaries before capitals."
60;;;###autoload 60;;;###autoload
61(define-minor-mode capitalized-words-mode 61(define-minor-mode capitalized-words-mode
62 "Toggle Capitalized Words mode. 62 "Toggle Capitalized Words mode.
63With a prefix argument ARG, enable Capitalized Words mode if ARG
64is positive, and disable it otherwise. If called from Lisp,
65enable the mode if ARG is omitted or nil.
63 66
64In this minor mode, a word boundary occurs immediately before an 67Capitalized Words mode is a buffer-local minor mode. When
65uppercase letter in a symbol. This is in addition to all the normal 68enabled, a word boundary occurs immediately before an uppercase
69letter in a symbol. This is in addition to all the normal
66boundaries given by the syntax and category tables. There is no 70boundaries given by the syntax and category tables. There is no
67restriction to ASCII. 71restriction to ASCII.
68 72
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index a1cbdc16560..b2c548847c3 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -2456,7 +2456,7 @@ comment at the start of cc-engine.el for more info."
2456 (<= from (cdr c-state-brace-pair-desert))) 2456 (<= from (cdr c-state-brace-pair-desert)))
2457 ;; Only search what we absolutely need to: 2457 ;; Only search what we absolutely need to:
2458 (if (and c-state-brace-pair-desert 2458 (if (and c-state-brace-pair-desert
2459 (> from (cdr c-state-brace-pair-desert))) 2459 (eq cache-pos (car c-state-brace-pair-desert)))
2460 (narrow-to-region (cdr c-state-brace-pair-desert) (point-max))) 2460 (narrow-to-region (cdr c-state-brace-pair-desert) (point-max)))
2461 2461
2462 ;; In the next pair of nested loops, the inner one moves back past a 2462 ;; In the next pair of nested loops, the inner one moves back past a
@@ -3127,6 +3127,33 @@ comment at the start of cc-engine.el for more info."
3127(unless (fboundp 'c-real-parse-state) 3127(unless (fboundp 'c-real-parse-state)
3128 (fset 'c-real-parse-state (symbol-function 'c-parse-state))) 3128 (fset 'c-real-parse-state (symbol-function 'c-parse-state)))
3129(cc-bytecomp-defun c-real-parse-state) 3129(cc-bytecomp-defun c-real-parse-state)
3130
3131(defvar c-parse-state-state nil)
3132(defun c-record-parse-state-state ()
3133 (setq c-parse-state-state
3134 (mapcar
3135 (lambda (arg)
3136 (cons arg (symbol-value arg)))
3137 '(c-state-cache
3138 c-state-cache-good-pos
3139 c-state-nonlit-pos-cache
3140 c-state-nonlit-pos-cache-limit
3141 c-state-brace-pair-desert
3142 c-state-point-min
3143 c-state-point-min-lit-type
3144 c-state-point-min-lit-start
3145 c-state-min-scan-pos
3146 c-state-old-cpp-beg
3147 c-state-old-cpp-end))))
3148(defun c-replay-parse-state-state ()
3149 (message
3150 (concat "(setq "
3151 (mapconcat
3152 (lambda (arg)
3153 (format "%s %s%s" (car arg) (if (atom (cdr arg)) "" "'") (cdr arg)))
3154 c-parse-state-state " ")
3155 ")")))
3156
3130(defun c-debug-parse-state () 3157(defun c-debug-parse-state ()
3131 (let ((here (point)) (res1 (c-real-parse-state)) res2) 3158 (let ((here (point)) (res1 (c-real-parse-state)) res2)
3132 (let ((c-state-cache nil) 3159 (let ((c-state-cache nil)
@@ -3145,15 +3172,21 @@ comment at the start of cc-engine.el for more info."
3145 ;; The cache can actually go further back due to the ad-hoc way 3172 ;; The cache can actually go further back due to the ad-hoc way
3146 ;; the first paren is found, so try to whack off a bit of its 3173 ;; the first paren is found, so try to whack off a bit of its
3147 ;; start before complaining. 3174 ;; start before complaining.
3148 (save-excursion 3175 ;; (save-excursion
3149 (goto-char (or (c-least-enclosing-brace res2) (point))) 3176 ;; (goto-char (or (c-least-enclosing-brace res2) (point)))
3150 (c-beginning-of-defun-1) 3177 ;; (c-beginning-of-defun-1)
3151 (while (not (or (bobp) (eq (char-after) ?{))) 3178 ;; (while (not (or (bobp) (eq (char-after) ?{)))
3152 (c-beginning-of-defun-1)) 3179 ;; (c-beginning-of-defun-1))
3153 (unless (equal (c-whack-state-before (point) res1) res2) 3180 ;; (unless (equal (c-whack-state-before (point) res1) res2)
3154 (message (concat "c-parse-state inconsistency at %s: " 3181 ;; (message (concat "c-parse-state inconsistency at %s: "
3155 "using cache: %s, from scratch: %s") 3182 ;; "using cache: %s, from scratch: %s")
3156 here res1 res2)))) 3183 ;; here res1 res2)))
3184 (message (concat "c-parse-state inconsistency at %s: "
3185 "using cache: %s, from scratch: %s")
3186 here res1 res2)
3187 (message "Old state:")
3188 (c-replay-parse-state-state))
3189 (c-record-parse-state-state)
3157 res1)) 3190 res1))
3158 3191
3159(defun c-toggle-parse-state-debug (&optional arg) 3192(defun c-toggle-parse-state-debug (&optional arg)
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 619c423902c..156c90159cd 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -1968,12 +1968,15 @@ Optional argument MINOR indicates this is called from
1968 1968
1969;;;###autoload 1969;;;###autoload
1970(define-minor-mode compilation-shell-minor-mode 1970(define-minor-mode compilation-shell-minor-mode
1971 "Toggle compilation shell minor mode. 1971 "Toggle Compilation Shell minor mode.
1972With arg, turn compilation mode on if and only if arg is positive. 1972With a prefix argument ARG, enable Compilation Shell minor mode
1973In this minor mode, all the error-parsing commands of the 1973if ARG is positive, and disable it otherwise. If called from
1974Compilation major mode are available but bound to keys that don't 1974Lisp, enable the mode if ARG is omitted or nil.
1975collide with Shell mode. See `compilation-mode'. 1975
1976Turning the mode on runs the normal hook `compilation-shell-minor-mode-hook'." 1976When Compilation Shell minor mode is enabled, all the
1977error-parsing commands of the Compilation major mode are
1978available but bound to keys that don't collide with Shell mode.
1979See `compilation-mode'."
1977 nil " Shell-Compile" 1980 nil " Shell-Compile"
1978 :group 'compilation 1981 :group 'compilation
1979 (if compilation-shell-minor-mode 1982 (if compilation-shell-minor-mode
@@ -1982,11 +1985,14 @@ Turning the mode on runs the normal hook `compilation-shell-minor-mode-hook'."
1982 1985
1983;;;###autoload 1986;;;###autoload
1984(define-minor-mode compilation-minor-mode 1987(define-minor-mode compilation-minor-mode
1985 "Toggle compilation minor mode. 1988 "Toggle Compilation minor mode.
1986With arg, turn compilation mode on if and only if arg is positive. 1989With a prefix argument ARG, enable Compilation minor mode if ARG
1987In this minor mode, all the error-parsing commands of the 1990is positive, and disable it otherwise. If called from Lisp,
1988Compilation major mode are available. See `compilation-mode'. 1991enable the mode if ARG is omitted or nil.
1989Turning the mode on runs the normal hook `compilation-minor-mode-hook'." 1992
1993When Compilation minor mode is enabled, all the error-parsing
1994commands of Compilation major mode are available. See
1995`compilation-mode'."
1990 nil " Compilation" 1996 nil " Compilation"
1991 :group 'compilation 1997 :group 'compilation
1992 (if compilation-minor-mode 1998 (if compilation-minor-mode
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 25a23fed293..7b3a2893610 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -3255,7 +3255,10 @@ Treats actions as defuns."
3255 3255
3256;;;###autoload 3256;;;###autoload
3257(define-minor-mode gud-tooltip-mode 3257(define-minor-mode gud-tooltip-mode
3258 "Toggle the display of GUD tooltips." 3258 "Toggle the display of GUD tooltips.
3259With a prefix argument ARG, enable the feature if ARG is
3260positive, and disable it otherwise. If called from Lisp, enable
3261it if ARG is omitted or nil."
3259 :global t 3262 :global t
3260 :group 'gud 3263 :group 'gud
3261 :group 'tooltip 3264 :group 'tooltip
diff --git a/lisp/progmodes/hideif.el b/lisp/progmodes/hideif.el
index 48d1ac4b85e..374a45acec6 100644
--- a/lisp/progmodes/hideif.el
+++ b/lisp/progmodes/hideif.el
@@ -214,11 +214,15 @@
214 214
215;;;###autoload 215;;;###autoload
216(define-minor-mode hide-ifdef-mode 216(define-minor-mode hide-ifdef-mode
217 "Toggle Hide-Ifdef mode. This is a minor mode, albeit a large one. 217 "Toggle features to hide/show #ifdef blocks (Hide-Ifdef mode).
218With ARG, turn Hide-Ifdef mode on if arg is positive, off otherwise. 218With a prefix argument ARG, enable Hide-Ifdef mode if ARG is
219In Hide-Ifdef mode, code within #ifdef constructs that the C preprocessor 219positive, and disable it otherwise. If called from Lisp, enable
220would eliminate may be hidden from view. Several variables affect 220the mode if ARG is omitted or nil.
221how the hiding is done: 221
222Hide-Ifdef mode is a buffer-local minor mode for use with C and
223C-like major modes. When enabled, code within #ifdef constructs
224that the C preprocessor would eliminate may be hidden from view.
225Several variables affect how the hiding is done:
222 226
223`hide-ifdef-env' 227`hide-ifdef-env'
224 An association list of defined and undefined symbols for the 228 An association list of defined and undefined symbols for the
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el
index b2cd24f0f98..18f47d14a3f 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -4277,16 +4277,14 @@ Otherwise, just expand the file name."
4277(defvar idlwave-shell-electric-debug-buffers nil) 4277(defvar idlwave-shell-electric-debug-buffers nil)
4278 4278
4279(define-minor-mode idlwave-shell-electric-debug-mode 4279(define-minor-mode idlwave-shell-electric-debug-mode
4280 "Toggle Electric Debug mode. 4280 "Toggle Idlwave Shell Electric Debug mode.
4281With no argument, this command toggles the mode. 4281With a prefix argument ARG, enable the mode if ARG is positive,
4282Non-null prefix argument turns on the mode. 4282and disable it otherwise. If called from Lisp, enable the mode
4283Null prefix argument turns off the mode. 4283if ARG is omitted or nil.
4284 4284
4285When Electric Debug mode is enabled, the many debugging commands are 4285When Idlwave Shell Electric Debug mode is enabled, the Idlwave
4286available as single key sequences." 4286Shell debugging commands are available as single key sequences."
4287nil 4287 nil " *Debugging*" idlwave-shell-electric-debug-mode-map)
4288" *Debugging*"
4289idlwave-shell-electric-debug-mode-map)
4290 4288
4291(add-hook 4289(add-hook
4292 'idlwave-shell-electric-debug-mode-on-hook 4290 'idlwave-shell-electric-debug-mode-on-hook
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el
index 8066e1c3a7f..c77ee4b76a9 100644
--- a/lisp/progmodes/idlwave.el
+++ b/lisp/progmodes/idlwave.el
@@ -1907,7 +1907,6 @@ The main features of this mode are
1907 (set (make-local-variable 'comment-start-skip) ";+[ \t]*") 1907 (set (make-local-variable 'comment-start-skip) ";+[ \t]*")
1908 (set (make-local-variable 'comment-start) ";") 1908 (set (make-local-variable 'comment-start) ";")
1909 (set (make-local-variable 'comment-add) 1) ; ";;" for new and regions 1909 (set (make-local-variable 'comment-add) 1) ; ";;" for new and regions
1910 (set (make-local-variable 'require-final-newline) t)
1911 (set (make-local-variable 'abbrev-all-caps) t) 1910 (set (make-local-variable 'abbrev-all-caps) t)
1912 (set (make-local-variable 'indent-tabs-mode) nil) 1911 (set (make-local-variable 'indent-tabs-mode) nil)
1913 (set (make-local-variable 'completion-ignore-case) t) 1912 (set (make-local-variable 'completion-ignore-case) t)
diff --git a/lisp/progmodes/subword.el b/lisp/progmodes/subword.el
index 1a403f50b1b..9c61da89008 100644
--- a/lisp/progmodes/subword.el
+++ b/lisp/progmodes/subword.el
@@ -94,13 +94,19 @@
94 94
95;;;###autoload 95;;;###autoload
96(define-minor-mode subword-mode 96(define-minor-mode subword-mode
97 "Mode enabling subword movement and editing keys. 97 "Toggle subword movement and editing (Subword mode).
98In spite of GNU Coding Standards, it is popular to name a symbol by 98With a prefix argument ARG, enable Subword mode if ARG is
99mixing uppercase and lowercase letters, e.g. \"GtkWidget\", 99positive, and disable it otherwise. If called from Lisp, enable
100\"EmacsFrameClass\", \"NSGraphicsContext\", etc. Here we call these 100the mode if ARG is omitted or nil.
101mixed case symbols `nomenclatures'. Also, each capitalized (or 101
102completely uppercase) part of a nomenclature is called a `subword'. 102Subword mode is a buffer-local minor mode. Enabling it remaps
103Here are some examples: 103word-based editing commands to subword-based commands that handle
104symbols with mixed uppercase and lowercase letters,
105e.g. \"GtkWidget\", \"EmacsFrameClass\", \"NSGraphicsContext\".
106
107Here we call these mixed case symbols `nomenclatures'. Each
108capitalized (or completely uppercase) part of a nomenclature is
109called a `subword'. Here are some examples:
104 110
105 Nomenclature Subwords 111 Nomenclature Subwords
106 =========================================================== 112 ===========================================================
diff --git a/lisp/progmodes/vera-mode.el b/lisp/progmodes/vera-mode.el
index 1f33f5f3aaf..b02324871ff 100644
--- a/lisp/progmodes/vera-mode.el
+++ b/lisp/progmodes/vera-mode.el
@@ -310,7 +310,6 @@ Key bindings:
310 (set (make-local-variable 'comment-indent-function) 'c-comment-indent) 310 (set (make-local-variable 'comment-indent-function) 'c-comment-indent)
311 (set (make-local-variable 'paragraph-start) "^$") 311 (set (make-local-variable 'paragraph-start) "^$")
312 (set (make-local-variable 'paragraph-separate) paragraph-start) 312 (set (make-local-variable 'paragraph-separate) paragraph-start)
313 (set (make-local-variable 'require-final-newline) t)
314 (set (make-local-variable 'indent-tabs-mode) nil) 313 (set (make-local-variable 'indent-tabs-mode) nil)
315 (set (make-local-variable 'indent-line-function) 'vera-indent-line) 314 (set (make-local-variable 'indent-line-function) 'vera-indent-line)
316 (set (make-local-variable 'parse-sexp-ignore-comments) t) 315 (set (make-local-variable 'parse-sexp-ignore-comments) t)
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index 9aaf3059b78..d7aa82aee1b 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -8029,12 +8029,16 @@ project is defined."
8029 8029
8030(define-minor-mode vhdl-electric-mode 8030(define-minor-mode vhdl-electric-mode
8031 "Toggle VHDL electric mode. 8031 "Toggle VHDL electric mode.
8032Turn on if ARG positive, turn off if ARG negative, toggle if ARG zero or nil." 8032With a prefix argument ARG, enable the mode if ARG is positive,
8033and disable it otherwise. If called from Lisp, enable it if ARG
8034is omitted or nil."
8033 :global t) 8035 :global t)
8034 8036
8035(define-minor-mode vhdl-stutter-mode 8037(define-minor-mode vhdl-stutter-mode
8036 "Toggle VHDL stuttering mode. 8038 "Toggle VHDL stuttering mode.
8037Turn on if ARG positive, turn off if ARG negative, toggle if ARG zero or nil." 8039With a prefix argument ARG, enable the mode if ARG is positive,
8040and disable it otherwise. If called from Lisp, enable it if ARG
8041is omitted or nil."
8038 :global t) 8042 :global t)
8039 8043
8040;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 8044;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el
index 97e188139e9..e27d07854c8 100644
--- a/lisp/progmodes/which-func.el
+++ b/lisp/progmodes/which-func.el
@@ -236,12 +236,14 @@ It creates the Imenu index for the buffer, if necessary."
236;; This is the name people would normally expect. 236;; This is the name people would normally expect.
237;;;###autoload 237;;;###autoload
238(define-minor-mode which-function-mode 238(define-minor-mode which-function-mode
239 "Toggle Which Function mode, globally. 239 "Toggle mode line display of current function (Which Function mode).
240When Which Function mode is enabled, the current function name is 240With a prefix argument ARG, enable Which Function mode if ARG is
241continuously displayed in the mode line, in certain major modes. 241positive, and disable it otherwise. If called from Lisp, enable
242 242the mode if ARG is omitted or nil.
243With prefix ARG, turn Which Function mode on if arg is positive, 243
244and off otherwise." 244Which Function mode is a global minor mode. When enabled, the
245current function name is continuously displayed in the mode line,
246in certain major modes."
245 :global t :group 'which-func 247 :global t :group 'which-func
246 (when (timerp which-func-update-timer) 248 (when (timerp which-func-update-timer)
247 (cancel-timer which-func-update-timer)) 249 (cancel-timer which-func-update-timer))
diff --git a/lisp/recentf.el b/lisp/recentf.el
index fc9b7881733..79f4eb437d9 100644
--- a/lisp/recentf.el
+++ b/lisp/recentf.el
@@ -1336,12 +1336,14 @@ That is, remove duplicates, non-kept, and excluded files."
1336 1336
1337;;;###autoload 1337;;;###autoload
1338(define-minor-mode recentf-mode 1338(define-minor-mode recentf-mode
1339 "Toggle recentf mode. 1339 "Toggle \"Open Recent\" menu (Recentf mode).
1340With prefix argument ARG, turn on if positive, otherwise off. 1340With a prefix argument ARG, enable Recentf mode if ARG is
1341Returns non-nil if the new state is enabled. 1341positive, and disable it otherwise. If called from Lisp, enable
1342 1342Recentf mode if ARG is omitted or nil.
1343When recentf mode is enabled, it maintains a menu for visiting files 1343
1344that were operated on recently." 1344When Recentf mode is enabled, a \"Open Recent\" submenu is
1345displayed in the \"File\" menu, containing a list of files that
1346were operated on recently."
1345 :global t 1347 :global t
1346 :group 'recentf 1348 :group 'recentf
1347 :keymap recentf-mode-map 1349 :keymap recentf-mode-map
diff --git a/lisp/reveal.el b/lisp/reveal.el
index bf18602379c..ea46cfd1dd3 100644
--- a/lisp/reveal.el
+++ b/lisp/reveal.el
@@ -189,12 +189,13 @@ Each element has the form (WINDOW . OVERLAY).")
189 189
190;;;###autoload 190;;;###autoload
191(define-minor-mode reveal-mode 191(define-minor-mode reveal-mode
192 "Toggle Reveal mode on or off. 192 "Toggle decloaking of invisible text near point (Reveal mode).
193Reveal mode renders invisible text around point visible again. 193With a prefix argument ARG, enable Reveal mode if ARG is
194positive, and disable it otherwise. If called from Lisp, enable
195Reveal mode if ARG is omitted or nil.
194 196
195Interactively, with no prefix argument, toggle the mode. 197Reveral mode is a buffer-local minor mode. When enabled, it
196With universal prefix ARG (or if ARG is nil) turn mode on. 198reveals invisible text around point."
197With zero or negative ARG turn mode off."
198 :group 'reveal 199 :group 'reveal
199 :lighter (global-reveal-mode nil " Reveal") 200 :lighter (global-reveal-mode nil " Reveal")
200 :keymap reveal-mode-map 201 :keymap reveal-mode-map
@@ -207,12 +208,12 @@ With zero or negative ARG turn mode off."
207 208
208;;;###autoload 209;;;###autoload
209(define-minor-mode global-reveal-mode 210(define-minor-mode global-reveal-mode
210 "Toggle Reveal mode in all buffers on or off. 211 "Toggle Reveal mode in all buffers (Global Reveal mode).
211Reveal mode renders invisible text around point visible again. 212Reveal mode renders invisible text around point visible again.
212 213
213Interactively, with no prefix argument, toggle the mode. 214With a prefix argument ARG, enable Global Reveal mode if ARG is
214With universal prefix ARG (or if ARG is nil) turn mode on. 215positive, and disable it otherwise. If called from Lisp, enable
215With zero or negative ARG turn mode off." 216the mode if ARG is omitted or nil."
216 :global t :group 'reveal 217 :global t :group 'reveal
217 (setq-default reveal-mode global-reveal-mode) 218 (setq-default reveal-mode global-reveal-mode)
218 (if global-reveal-mode 219 (if global-reveal-mode
diff --git a/lisp/rfn-eshadow.el b/lisp/rfn-eshadow.el
index 9eb2d2abdee..2d8c6e0964d 100644
--- a/lisp/rfn-eshadow.el
+++ b/lisp/rfn-eshadow.el
@@ -207,15 +207,17 @@ been set up by `rfn-eshadow-setup-minibuffer'."
207 (error nil))) 207 (error nil)))
208 208
209(define-minor-mode file-name-shadow-mode 209(define-minor-mode file-name-shadow-mode
210 "Toggle File-Name Shadow mode. 210 "Toggle file-name shadowing in minibuffers (File-Name Shadow mode).
211When active, any part of a filename being read in the minibuffer 211With a prefix argument ARG, enable File-Name Shadow mode if ARG
212that would be ignored (because the result is passed through 212is positive, and disable it otherwise. If called from Lisp,
213enable the mode if ARG is omitted or nil.
214
215File-Name Shadow mode is a global minor mode. When enabled, any
216part of a filename being read in the minibuffer that would be
217ignored (because the result is passed through
213`substitute-in-file-name') is given the properties in 218`substitute-in-file-name') is given the properties in
214`file-name-shadow-properties', which can be used to make 219`file-name-shadow-properties', which can be used to make that
215that portion dim, invisible, or otherwise less visually noticeable. 220portion dim, invisible, or otherwise less visually noticeable."
216
217With prefix argument ARG, turn on if positive, otherwise off.
218Returns non-nil if the new state is enabled."
219 :global t 221 :global t
220 ;; We'd like to use custom-initialize-set here so the setup is done 222 ;; We'd like to use custom-initialize-set here so the setup is done
221 ;; before dumping, but at the point where the defcustom is evaluated, 223 ;; before dumping, but at the point where the defcustom is evaluated,
diff --git a/lisp/ruler-mode.el b/lisp/ruler-mode.el
index fc62bf6b633..046c29471ac 100644
--- a/lisp/ruler-mode.el
+++ b/lisp/ruler-mode.el
@@ -567,8 +567,10 @@ format first."
567 567
568;;;###autoload 568;;;###autoload
569(define-minor-mode ruler-mode 569(define-minor-mode ruler-mode
570 "Toggle Ruler mode. 570 "Toggle display of ruler in header line (Ruler mode).
571In Ruler mode, Emacs displays a ruler in the header line." 571With a prefix argument ARG, enable Ruler mode if ARG is positive,
572and disable it otherwise. If called from Lisp, enable the mode
573if ARG is omitted or nil."
572 nil nil 574 nil nil
573 ruler-mode-map 575 ruler-mode-map
574 :group 'ruler-mode 576 :group 'ruler-mode
diff --git a/lisp/savehist.el b/lisp/savehist.el
index 653d0312a19..faeab324e5a 100644
--- a/lisp/savehist.el
+++ b/lisp/savehist.el
@@ -170,15 +170,19 @@ minibuffer history.")
170 170
171;;;###autoload 171;;;###autoload
172(define-minor-mode savehist-mode 172(define-minor-mode savehist-mode
173 "Toggle savehist-mode. 173 "Toggle saving of minibuffer history (Savehist mode).
174Positive ARG turns on `savehist-mode'. When on, savehist-mode causes 174With a prefix argument ARG, enable Savehist mode if ARG is
175minibuffer history to be saved periodically and when exiting Emacs. 175positive, and disable it otherwise. If called from Lisp, enable
176When turned on for the first time in an Emacs session, it causes the 176the mode if ARG is omitted or nil.
177previous minibuffer history to be loaded from `savehist-file'. 177
178When Savehist mode is enabled, minibuffer history is saved
179periodically and when exiting Emacs. When Savehist mode is
180enabled for the first time in an Emacs session, it loads the
181previous minibuffer history from `savehist-file'.
178 182
179This mode should normally be turned on from your Emacs init file. 183This mode should normally be turned on from your Emacs init file.
180Calling it at any other time replaces your current minibuffer histories, 184Calling it at any other time replaces your current minibuffer
181which is probably undesirable." 185histories, which is probably undesirable."
182 :global t 186 :global t
183 (if (not savehist-mode) 187 (if (not savehist-mode)
184 (savehist-uninstall) 188 (savehist-uninstall)
diff --git a/lisp/scroll-all.el b/lisp/scroll-all.el
index 6dbdc9ab90d..81a4d2c86e1 100644
--- a/lisp/scroll-all.el
+++ b/lisp/scroll-all.el
@@ -101,10 +101,13 @@
101 101
102;;;###autoload 102;;;###autoload
103(define-minor-mode scroll-all-mode 103(define-minor-mode scroll-all-mode
104 "Toggle Scroll-All minor mode. 104 "Toggle shared scrolling in same-frame windows (Scroll-All mode).
105With ARG, turn Scroll-All minor mode on if ARG is positive, off otherwise. 105With a prefix argument ARG, enable Scroll-All mode if ARG is
106When Scroll-All mode is on, scrolling commands entered in one window 106positive, and disable it otherwise. If called from Lisp, enable
107apply to all visible windows in the same frame." 107the mode if ARG is omitted or nil.
108
109When Scroll-All mode is enabled, scrolling commands invoked in
110one window apply to all visible windows in the same frame."
108 nil " *SL*" nil 111 nil " *SL*" nil
109 :global t 112 :global t
110 :group 'windows 113 :group 'windows
diff --git a/lisp/scroll-bar.el b/lisp/scroll-bar.el
index 0c68bca4d2e..37a31460cdb 100644
--- a/lisp/scroll-bar.el
+++ b/lisp/scroll-bar.el
@@ -114,12 +114,15 @@ Setting the variable with a customization buffer also takes effect."
114 114
115(defun get-scroll-bar-mode () scroll-bar-mode) 115(defun get-scroll-bar-mode () scroll-bar-mode)
116(defsetf get-scroll-bar-mode set-scroll-bar-mode) 116(defsetf get-scroll-bar-mode set-scroll-bar-mode)
117
117(define-minor-mode scroll-bar-mode 118(define-minor-mode scroll-bar-mode
118 "Toggle display of vertical scroll bars on all frames. 119 "Toggle vertical scroll bars on all frames (Scroll Bar mode).
120With a prefix argument ARG, enable Scroll Bar mode if ARG is
121positive, and disable it otherwise. If called from Lisp, enable
122the mode if ARG is omitted or nil.
123
119This command applies to all frames that exist and frames to be 124This command applies to all frames that exist and frames to be
120created in the future. 125created in the future."
121With a numeric argument, if the argument is positive
122turn on scroll bars; otherwise turn off scroll bars."
123 :variable (eq (get-scroll-bar-mode) 126 :variable (eq (get-scroll-bar-mode)
124 (or previous-scroll-bar-mode 127 (or previous-scroll-bar-mode
125 default-frame-scroll-bars))) 128 default-frame-scroll-bars)))
diff --git a/lisp/server.el b/lisp/server.el
index 63d46a365c9..bc989c55ed1 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -669,9 +669,13 @@ Return values:
669;;;###autoload 669;;;###autoload
670(define-minor-mode server-mode 670(define-minor-mode server-mode
671 "Toggle Server mode. 671 "Toggle Server mode.
672With ARG, turn Server mode on if ARG is positive, off otherwise. 672With a prefix argument ARG, enable Server mode if ARG is
673positive, and disable it otherwise. If called from Lisp, enable
674Server mode if ARG is omitted or nil.
675
673Server mode runs a process that accepts commands from the 676Server mode runs a process that accepts commands from the
674`emacsclient' program. See `server-start' and Info node `Emacs server'." 677`emacsclient' program. See Info node `Emacs server' and
678`server-start' for details."
675 :global t 679 :global t
676 :group 'server 680 :group 'server
677 :version "22.1" 681 :version "22.1"
diff --git a/lisp/shell.el b/lisp/shell.el
index cefe42bb3ec..c75594ddbe4 100644
--- a/lisp/shell.el
+++ b/lisp/shell.el
@@ -890,9 +890,13 @@ Environment variables are expanded, see function `substitute-in-file-name'."
890 890
891(defvaralias 'shell-dirtrack-mode 'shell-dirtrackp) 891(defvaralias 'shell-dirtrack-mode 'shell-dirtrackp)
892(define-minor-mode shell-dirtrack-mode 892(define-minor-mode shell-dirtrack-mode
893 "Turn directory tracking on and off in a shell buffer. 893 "Toggle directory tracking in this shell buffer (Shell Dirtrack mode).
894The `dirtrack' package provides an alternative implementation of this 894With a prefix argument ARG, enable Shell Dirtrack mode if ARG is
895feature - see the function `dirtrack-mode'." 895positive, and disable it otherwise. If called from Lisp, enable
896the mode if ARG is omitted or nil.
897
898The `dirtrack' package provides an alternative implementation of
899this feature; see the function `dirtrack-mode'."
896 nil nil nil 900 nil nil nil
897 (setq list-buffers-directory (if shell-dirtrack-mode default-directory)) 901 (setq list-buffers-directory (if shell-dirtrack-mode default-directory))
898 (if shell-dirtrack-mode 902 (if shell-dirtrack-mode
diff --git a/lisp/simple.el b/lisp/simple.el
index 6d0e7543549..79de6aea3dd 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -4086,13 +4086,15 @@ its earlier value."
4086 4086
4087(define-minor-mode transient-mark-mode 4087(define-minor-mode transient-mark-mode
4088 "Toggle Transient Mark mode. 4088 "Toggle Transient Mark mode.
4089With ARG, turn Transient Mark mode on if ARG is positive, off otherwise. 4089With a prefix argument ARG, enable Transient Mark mode if ARG is
4090positive, and disable it otherwise. If called from Lisp, enable
4091Transient Mark mode if ARG is omitted or nil.
4090 4092
4091In Transient Mark mode, when the mark is active, the region is highlighted. 4093Transient Mark mode is a global minor mode. When enabled, the
4092Changing the buffer \"deactivates\" the mark. 4094region is highlighted whenever the mark is active. The mark is
4093So do certain other operations that set the mark 4095\"deactivated\" by changing the buffer, and after certain other
4094but whose main purpose is something else--for example, 4096operations that set the mark but whose main purpose is something
4095incremental search, \\[beginning-of-buffer], and \\[end-of-buffer]. 4097else--for example, incremental search, \\[beginning-of-buffer], and \\[end-of-buffer].
4096 4098
4097You can also deactivate the mark by typing \\[keyboard-quit] or 4099You can also deactivate the mark by typing \\[keyboard-quit] or
4098\\[keyboard-escape-quit]. 4100\\[keyboard-escape-quit].
@@ -4906,8 +4908,15 @@ other purposes."
4906(defvar visual-line--saved-state nil) 4908(defvar visual-line--saved-state nil)
4907 4909
4908(define-minor-mode visual-line-mode 4910(define-minor-mode visual-line-mode
4909 "Redefine simple editing commands to act on visual lines, not logical lines. 4911 "Toggle visual line based editing (Visual Line mode).
4910This also turns on `word-wrap' in the buffer." 4912With a prefix argument ARG, enable Visual Line mode if ARG is
4913positive, and disable it otherwise. If called from Lisp, enable
4914the mode if ARG is omitted or nil.
4915
4916When Visual Line mode is enabled, `word-wrap' is turned on in
4917this buffer, and simple editing commands are redefined to act on
4918visual lines, not logical lines. See Info node `Visual Line
4919Mode' for details."
4911 :keymap visual-line-mode-map 4920 :keymap visual-line-mode-map
4912 :group 'visual-line 4921 :group 'visual-line
4913 :lighter " Wrap" 4922 :lighter " Wrap"
@@ -5301,10 +5310,14 @@ Some major modes set this.")
5301(put 'auto-fill-function 'safe-local-variable 'null) 5310(put 'auto-fill-function 'safe-local-variable 'null)
5302 5311
5303(define-minor-mode auto-fill-mode 5312(define-minor-mode auto-fill-mode
5304 "Toggle Auto Fill mode. 5313 "Toggle automatic line breaking (Auto Fill mode).
5305With ARG, turn Auto Fill mode on if and only if ARG is positive. 5314With a prefix argument ARG, enable Auto Fill mode if ARG is
5306In Auto Fill mode, inserting a space at a column beyond `current-fill-column' 5315positive, and disable it otherwise. If called from Lisp, enable
5307automatically breaks the line at a previous space. 5316the mode if ARG is omitted or nil.
5317
5318When Auto Fill mode is enabled, inserting a space at a column
5319beyond `current-fill-column' automatically breaks the line at a
5320previous space.
5308 5321
5309When `auto-fill-mode' is on, the `auto-fill-function' variable is 5322When `auto-fill-mode' is on, the `auto-fill-function' variable is
5310non-`nil'. 5323non-`nil'.
@@ -5412,36 +5425,44 @@ if long lines are truncated."
5412 "The string displayed in the mode line when in binary overwrite mode.") 5425 "The string displayed in the mode line when in binary overwrite mode.")
5413 5426
5414(define-minor-mode overwrite-mode 5427(define-minor-mode overwrite-mode
5415 "Toggle overwrite mode. 5428 "Toggle Overwrite mode.
5416With prefix argument ARG, turn overwrite mode on if ARG is positive, 5429With a prefix argument ARG, enable Overwrite mode if ARG is
5417otherwise turn it off. In overwrite mode, printing characters typed 5430positive, and disable it otherwise. If called from Lisp, enable
5418in replace existing text on a one-for-one basis, rather than pushing 5431the mode if ARG is omitted or nil.
5419it to the right. At the end of a line, such characters extend the line. 5432
5420Before a tab, such characters insert until the tab is filled in. 5433When Overwrite mode is enabled, printing characters typed in
5421\\[quoted-insert] still inserts characters in overwrite mode; this 5434replace existing text on a one-for-one basis, rather than pushing
5422is supposed to make it easier to insert characters when necessary." 5435it to the right. At the end of a line, such characters extend
5436the line. Before a tab, such characters insert until the tab is
5437filled in. \\[quoted-insert] still inserts characters in
5438overwrite mode; this is supposed to make it easier to insert
5439characters when necessary."
5423 :variable (eq overwrite-mode 'overwrite-mode-textual)) 5440 :variable (eq overwrite-mode 'overwrite-mode-textual))
5424 5441
5425(define-minor-mode binary-overwrite-mode 5442(define-minor-mode binary-overwrite-mode
5426 "Toggle binary overwrite mode. 5443 "Toggle Binary Overwrite mode.
5427With prefix argument ARG, turn binary overwrite mode on if ARG is 5444With a prefix argument ARG, enable Binary Overwrite mode if ARG
5428positive, otherwise turn it off. In binary overwrite mode, printing 5445is positive, and disable it otherwise. If called from Lisp,
5429characters typed in replace existing text. Newlines are not treated 5446enable the mode if ARG is omitted or nil.
5430specially, so typing at the end of a line joins the line to the next, 5447
5431with the typed character between them. Typing before a tab character 5448When Binary Overwrite mode is enabled, printing characters typed
5432simply replaces the tab with the character typed. \\[quoted-insert] 5449in replace existing text. Newlines are not treated specially, so
5433replaces the text at the cursor, just as ordinary typing characters do. 5450typing at the end of a line joins the line to the next, with the
5434 5451typed character between them. Typing before a tab character
5435Note that binary overwrite mode is not its own minor mode; it is a 5452simply replaces the tab with the character typed.
5436specialization of overwrite mode, entered by setting the 5453\\[quoted-insert] replaces the text at the cursor, just as
5454ordinary typing characters do.
5455
5456Note that Binary Overwrite mode is not its own minor mode; it is
5457a specialization of overwrite mode, entered by setting the
5437`overwrite-mode' variable to `overwrite-mode-binary'." 5458`overwrite-mode' variable to `overwrite-mode-binary'."
5438 :variable (eq overwrite-mode 'overwrite-mode-binary)) 5459 :variable (eq overwrite-mode 'overwrite-mode-binary))
5439 5460
5440(define-minor-mode line-number-mode 5461(define-minor-mode line-number-mode
5441 "Toggle Line Number mode. 5462 "Toggle line number display in the mode line (Line Number mode).
5442With ARG, turn Line Number mode on if ARG is positive, otherwise 5463With a prefix argument ARG, enable Line Number mode if ARG is
5443turn it off. When Line Number mode is enabled, the line number 5464positive, and disable it otherwise. If called from Lisp, enable
5444appears in the mode line. 5465the mode if ARG is omitted or nil.
5445 5466
5446Line numbers do not appear for very large buffers and buffers 5467Line numbers do not appear for very large buffers and buffers
5447with very long lines; see variables `line-number-display-limit' 5468with very long lines; see variables `line-number-display-limit'
@@ -5449,22 +5470,27 @@ and `line-number-display-limit-width'."
5449 :init-value t :global t :group 'mode-line) 5470 :init-value t :global t :group 'mode-line)
5450 5471
5451(define-minor-mode column-number-mode 5472(define-minor-mode column-number-mode
5452 "Toggle Column Number mode. 5473 "Toggle column number display in the mode line (Column Number mode).
5453With ARG, turn Column Number mode on if ARG is positive, 5474With a prefix argument ARG, enable Column Number mode if ARG is
5454otherwise turn it off. When Column Number mode is enabled, the 5475positive, and disable it otherwise.
5455column number appears in the mode line." 5476
5477If called from Lisp, enable the mode if ARG is omitted or nil."
5456 :global t :group 'mode-line) 5478 :global t :group 'mode-line)
5457 5479
5458(define-minor-mode size-indication-mode 5480(define-minor-mode size-indication-mode
5459 "Toggle Size Indication mode. 5481 "Toggle buffer size display in the mode line (Size Indication mode).
5460With ARG, turn Size Indication mode on if ARG is positive, 5482With a prefix argument ARG, enable Size Indication mode if ARG is
5461otherwise turn it off. When Size Indication mode is enabled, the 5483positive, and disable it otherwise.
5462size of the accessible part of the buffer appears in the mode line." 5484
5485If called from Lisp, enable the mode if ARG is omitted or nil."
5463 :global t :group 'mode-line) 5486 :global t :group 'mode-line)
5464 5487
5465(define-minor-mode auto-save-mode 5488(define-minor-mode auto-save-mode
5466 "Toggle auto-saving of contents of current buffer. 5489 "Toggle auto-saving in the current buffer (Auto Save mode).
5467With prefix argument ARG, turn auto-saving on if positive, else off." 5490With a prefix argument ARG, enable Auto Save mode if ARG is
5491positive, and disable it otherwise.
5492
5493If called from Lisp, enable the mode if ARG is omitted or nil."
5468 :variable ((and buffer-auto-save-file-name 5494 :variable ((and buffer-auto-save-file-name
5469 ;; If auto-save is off because buffer has shrunk, 5495 ;; If auto-save is off because buffer has shrunk,
5470 ;; then toggling should turn it on. 5496 ;; then toggling should turn it on.
@@ -6634,8 +6660,9 @@ call `normal-erase-is-backspace-mode' (which see) instead."
6634 6660
6635(define-minor-mode normal-erase-is-backspace-mode 6661(define-minor-mode normal-erase-is-backspace-mode
6636 "Toggle the Erase and Delete mode of the Backspace and Delete keys. 6662 "Toggle the Erase and Delete mode of the Backspace and Delete keys.
6637 6663With a prefix argument ARG, enable this feature if ARG is
6638With numeric ARG, turn the mode on if and only if ARG is positive. 6664positive, and disable it otherwise. If called from Lisp, enable
6665the mode if ARG is omitted or nil.
6639 6666
6640On window systems, when this mode is on, Delete is mapped to C-d 6667On window systems, when this mode is on, Delete is mapped to C-d
6641and Backspace is mapped to DEL; when this mode is off, both 6668and Backspace is mapped to DEL; when this mode is off, both
@@ -6709,13 +6736,13 @@ See also `normal-erase-is-backspace'."
6709 "Saved value of `buffer-invisibility-spec' when Visible mode is on.") 6736 "Saved value of `buffer-invisibility-spec' when Visible mode is on.")
6710 6737
6711(define-minor-mode visible-mode 6738(define-minor-mode visible-mode
6712 "Toggle Visible mode. 6739 "Toggle making all invisible text temporarily visible (Visible mode).
6713With argument ARG turn Visible mode on if ARG is positive, otherwise 6740With a prefix argument ARG, enable Visible mode if ARG is
6714turn it off. 6741positive, and disable it otherwise. If called from Lisp, enable
6742the mode if ARG is omitted or nil.
6715 6743
6716Enabling Visible mode makes all invisible text temporarily visible. 6744This mode works by saving the value of `buffer-invisibility-spec'
6717Disabling Visible mode turns off that effect. Visible mode works by 6745and setting it to nil."
6718saving the value of `buffer-invisibility-spec' and setting it to nil."
6719 :lighter " Vis" 6746 :lighter " Vis"
6720 :group 'editing-basics 6747 :group 'editing-basics
6721 (when (local-variable-p 'vis-mode-saved-buffer-invisibility-spec) 6748 (when (local-variable-p 'vis-mode-saved-buffer-invisibility-spec)
diff --git a/lisp/strokes.el b/lisp/strokes.el
index ca0086b3b97..5ff94bb22c6 100644
--- a/lisp/strokes.el
+++ b/lisp/strokes.el
@@ -1386,8 +1386,12 @@ If STROKES-MAP is not given, `strokes-global-map' will be used instead."
1386 1386
1387;;;###autoload 1387;;;###autoload
1388(define-minor-mode strokes-mode 1388(define-minor-mode strokes-mode
1389 "Toggle Strokes global minor mode.\\<strokes-mode-map> 1389 "Toggle Strokes mode, a global minor mode.
1390With ARG, turn strokes on if and only if ARG is positive. 1390With a prefix argument ARG, enable Strokes mode if ARG is
1391positive, and disable it otherwise. If called from Lisp, enable
1392the mode if ARG is omitted or nil.
1393
1394\\<strokes-mode-map>
1391Strokes are pictographic mouse gestures which invoke commands. 1395Strokes are pictographic mouse gestures which invoke commands.
1392Strokes are invoked with \\[strokes-do-stroke]. You can define 1396Strokes are invoked with \\[strokes-do-stroke]. You can define
1393new strokes with \\[strokes-global-set-stroke]. See also 1397new strokes with \\[strokes-global-set-stroke]. See also
diff --git a/lisp/t-mouse.el b/lisp/t-mouse.el
index 059024c4bce..78857b04143 100644
--- a/lisp/t-mouse.el
+++ b/lisp/t-mouse.el
@@ -33,7 +33,7 @@
33;; mev. Now the interface with gpm is directly through a Unix socket, so this 33;; mev. Now the interface with gpm is directly through a Unix socket, so this
34;; file is reduced to a single minor mode macro call. 34;; file is reduced to a single minor mode macro call.
35 35
36;; 36;;
37 37
38;;; Code: 38;;; Code:
39 39
@@ -65,9 +65,10 @@
65(define-obsolete-function-alias 't-mouse-mode 'gpm-mouse-mode "23.1") 65(define-obsolete-function-alias 't-mouse-mode 'gpm-mouse-mode "23.1")
66;;;###autoload 66;;;###autoload
67(define-minor-mode gpm-mouse-mode 67(define-minor-mode gpm-mouse-mode
68 "Toggle gpm-mouse mode to use the mouse in GNU/Linux consoles. 68 "Toggle mouse support in GNU/Linux consoles (GPM Mouse mode).
69With prefix arg, turn gpm-mouse mode on if arg is positive, 69With a prefix argument ARG, enable GPM Mouse mode if ARG is
70otherwise turn it off. 70positive, and disable it otherwise. If called from Lisp, enable
71the mode if ARG is omitted or nil.
71 72
72This allows the use of the mouse when operating on a GNU/Linux console, 73This allows the use of the mouse when operating on a GNU/Linux console,
73in the same way as you can use the mouse under X11. 74in the same way as you can use the mouse under X11.
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el
index 62171328979..cfa406c2b48 100644
--- a/lisp/tar-mode.el
+++ b/lisp/tar-mode.el
@@ -404,13 +404,19 @@ MODE should be an integer which is a file mode value."
404 (string 404 (string
405 (if (zerop (logand 256 mode)) ?- ?r) 405 (if (zerop (logand 256 mode)) ?- ?r)
406 (if (zerop (logand 128 mode)) ?- ?w) 406 (if (zerop (logand 128 mode)) ?- ?w)
407 (if (zerop (logand 1024 mode)) (if (zerop (logand 64 mode)) ?- ?x) ?s) 407 (if (zerop (logand 2048 mode))
408 (if (zerop (logand 64 mode)) ?- ?x)
409 (if (zerop (logand 64 mode)) ?S ?s))
408 (if (zerop (logand 32 mode)) ?- ?r) 410 (if (zerop (logand 32 mode)) ?- ?r)
409 (if (zerop (logand 16 mode)) ?- ?w) 411 (if (zerop (logand 16 mode)) ?- ?w)
410 (if (zerop (logand 2048 mode)) (if (zerop (logand 8 mode)) ?- ?x) ?s) 412 (if (zerop (logand 1024 mode))
413 (if (zerop (logand 8 mode)) ?- ?x)
414 (if (zerop (logand 8 mode)) ?S ?s))
411 (if (zerop (logand 4 mode)) ?- ?r) 415 (if (zerop (logand 4 mode)) ?- ?r)
412 (if (zerop (logand 2 mode)) ?- ?w) 416 (if (zerop (logand 2 mode)) ?- ?w)
413 (if (zerop (logand 1 mode)) ?- ?x))) 417 (if (zerop (logand 512 mode))
418 (if (zerop (logand 1 mode)) ?- ?x)
419 (if (zerop (logand 1 mode)) ?T ?t))))
414 420
415(defun tar-header-block-summarize (tar-hblock &optional mod-p) 421(defun tar-header-block-summarize (tar-hblock &optional mod-p)
416 "Return a line similar to the output of `tar -vtf'." 422 "Return a line similar to the output of `tar -vtf'."
diff --git a/lisp/term/tvi970.el b/lisp/term/tvi970.el
index 5d852e52105..e154074a033 100644
--- a/lisp/term/tvi970.el
+++ b/lisp/term/tvi970.el
@@ -104,14 +104,17 @@
104 104
105;; Should keypad numbers send ordinary digits or distinct escape sequences? 105;; Should keypad numbers send ordinary digits or distinct escape sequences?
106(define-minor-mode tvi970-set-keypad-mode 106(define-minor-mode tvi970-set-keypad-mode
107 "Set the current mode of the TVI 970 numeric keypad. 107 "Toggle alternate keypad mode on TVI 970 keypad.
108In ``numeric keypad mode'', the number keys on the keypad act as 108With a prefix argument ARG, enable the mode if ARG is positive,
109ordinary digits. In ``alternate keypad mode'', the keys send distinct 109and disable it otherwise. If called from Lisp, enable the mode
110escape sequences, meaning that they can have their own bindings, 110if ARG is omitted or nil.
111
112In ``alternate keypad mode'', the keys send distinct escape
113sequences, meaning that they can have their own bindings,
111independent of the normal number keys. 114independent of the normal number keys.
112With no argument, toggle between the two possible modes. 115
113With a positive argument, select alternate keypad mode. 116When disabled, the terminal enters ``numeric keypad mode'', in
114With a negative argument, select numeric keypad mode." 117which the keypad's keys act as ordinary digits."
115 :variable (terminal-parameter nil 'tvi970-keypad-numeric) 118 :variable (terminal-parameter nil 'tvi970-keypad-numeric)
116 (send-string-to-terminal 119 (send-string-to-terminal
117 (if (terminal-parameter nil 'tvi970-keypad-numeric) "\e=" "\e>"))) 120 (if (terminal-parameter nil 'tvi970-keypad-numeric) "\e=" "\e>")))
diff --git a/lisp/term/vt100.el b/lisp/term/vt100.el
index 406c20a0e81..ca16f356b20 100644
--- a/lisp/term/vt100.el
+++ b/lisp/term/vt100.el
@@ -42,8 +42,9 @@
42;;; Controlling the screen width. 42;;; Controlling the screen width.
43(define-minor-mode vt100-wide-mode 43(define-minor-mode vt100-wide-mode
44 "Toggle 132/80 column mode for vt100s. 44 "Toggle 132/80 column mode for vt100s.
45With positive argument, switch to 132-column mode. 45With a prefix argument ARG, switch to 132-column mode if ARG is
46With negative argument, switch to 80-column mode." 46positive, and 80-column mode otherwise. If called from Lisp,
47switch to 132-column mode if ARG is omitted or nil."
47 :global t :init-value (= (frame-width) 132) 48 :global t :init-value (= (frame-width) 132)
48 (send-string-to-terminal (if vt100-wide-mode "\e[?3h" "\e[?3l")) 49 (send-string-to-terminal (if vt100-wide-mode "\e[?3h" "\e[?3l"))
49 (set-frame-width terminal-frame (if vt100-wide-mode 132 80))) 50 (set-frame-width terminal-frame (if vt100-wide-mode 132 80)))
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index d496298768d..4a57d00d702 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -469,12 +469,14 @@ See also `flyspell-duplicate-distance'."
469;;;###autoload(defvar flyspell-mode nil) 469;;;###autoload(defvar flyspell-mode nil)
470;;;###autoload 470;;;###autoload
471(define-minor-mode flyspell-mode 471(define-minor-mode flyspell-mode
472 "Minor mode performing on-the-fly spelling checking. 472 "Toggle on-the-fly spell checking (Flyspell mode).
473This spawns a single Ispell process and checks each word. 473With a prefix argument ARG, enable Flyspell mode if ARG is
474The default flyspell behavior is to highlight incorrect words. 474positive, and disable it otherwise. If called from Lisp, enable
475With no argument, this command toggles Flyspell mode. 475the mode if ARG is omitted or nil.
476With a prefix argument ARG, turn Flyspell minor mode on if ARG is positive, 476
477otherwise turn it off. 477Flyspell mode is a buffer-local minor mode. When enabled, it
478spawns a single Ispell process and checks each word. The default
479flyspell behavior is to highlight incorrect words.
478 480
479Bindings: 481Bindings:
480\\[ispell-word]: correct words (using Ispell). 482\\[ispell-word]: correct words (using Ispell).
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index b76b0a303df..62f899d1730 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -3462,15 +3462,21 @@ available on the net."
3462 3462
3463;;;###autoload 3463;;;###autoload
3464(define-minor-mode ispell-minor-mode 3464(define-minor-mode ispell-minor-mode
3465 "Toggle Ispell minor mode. 3465 "Toggle last-word spell checking (Ispell minor mode).
3466With prefix argument ARG, turn Ispell minor mode on if ARG is positive, 3466With a prefix argument ARG, enable Ispell minor mode if ARG is
3467otherwise turn it off. 3467positive, and disable it otherwise. If called from Lisp, enable
3468the mode if ARG is omitted or nil.
3468 3469
3469In Ispell minor mode, pressing SPC or RET 3470Ispell minor mode is a buffer-local mior mode. When enabled,
3470warns you if the previous word is incorrectly spelled. 3471typing SPC or RET warns you if the previous word is incorrectly
3472spelled.
3471 3473
3472All the buffer-local variables and dictionaries are ignored -- to read 3474All the buffer-local variables and dictionaries are ignored. To
3473them into the running ispell process, type \\[ispell-word] SPC." 3475read them into the running ispell process, type \\[ispell-word]
3476SPC.
3477
3478For spell-checking \"on the fly\", not just after typing SPC or
3479RET, use `flyspell-mode'."
3474 nil " Spell" ispell-minor-keymap) 3480 nil " Spell" ispell-minor-keymap)
3475 3481
3476(defun ispell-minor-check () 3482(defun ispell-minor-check ()
diff --git a/lisp/textmodes/nroff-mode.el b/lisp/textmodes/nroff-mode.el
index 8fb0bd85dab..1be78ed293f 100644
--- a/lisp/textmodes/nroff-mode.el
+++ b/lisp/textmodes/nroff-mode.el
@@ -297,11 +297,17 @@ automatically inserts the matching closing request after point."
297 (forward-char 1)))) 297 (forward-char 1))))
298 298
299(define-minor-mode nroff-electric-mode 299(define-minor-mode nroff-electric-mode
300 "Toggle `nroff-electric-newline' minor mode. 300 "Toggle automatic nroff request pairing (Nroff Electric mode).
301`nroff-electric-newline' forces Emacs to check for an nroff request at the 301With a prefix argument ARG, enable Nroff Electric mode if ARG is
302beginning of the line, and insert the matching closing request if necessary. 302positive, and disable it otherwise. If called from Lisp, enable
303This command toggles that mode (off->on, on->off), with an argument, 303the mode if ARG is omitted or nil.
304turns it on if arg is positive, otherwise off." 304
305Nroff Electric mode is a buffer-local minor mode, for use with
306`nroff-mode'. When enabled, Emacs checks for an nroff request at
307the beginning of the line, and inserts the matching closing
308request if necessary. This command toggles that mode (off->on,
309on->off), with an argument, turns it on if arg is positive,
310otherwise off."
305 :lighter " Electric" 311 :lighter " Electric"
306 (or (derived-mode-p 'nroff-mode) (error "Must be in nroff mode"))) 312 (or (derived-mode-p 'nroff-mode) (error "Must be in nroff mode")))
307 313
diff --git a/lisp/textmodes/paragraphs.el b/lisp/textmodes/paragraphs.el
index 8fd055f7d87..b47924bc1f2 100644
--- a/lisp/textmodes/paragraphs.el
+++ b/lisp/textmodes/paragraphs.el
@@ -35,19 +35,23 @@
35 35
36(put 'use-hard-newlines 'permanent-local t) 36(put 'use-hard-newlines 'permanent-local t)
37(define-minor-mode use-hard-newlines 37(define-minor-mode use-hard-newlines
38 "Minor mode to distinguish hard and soft newlines. 38 "Toggle distinguishing between hard and soft newlines.
39When active, the functions `newline' and `open-line' add the 39With a prefix argument ARG, enable the feature if ARG is
40positive, and disable it otherwise. If called from Lisp, enable
41it if ARG is omitted or nil.
42
43When enabled, the functions `newline' and `open-line' add the
40text-property `hard' to newlines that they insert, and a line is 44text-property `hard' to newlines that they insert, and a line is
41only considered as a candidate to match `paragraph-start' or 45only considered as a candidate to match `paragraph-start' or
42`paragraph-separate' if it follows a hard newline. 46`paragraph-separate' if it follows a hard newline.
43 47
44Prefix argument says to turn mode on if positive, off if negative. 48When enabling, if there are newlines in the buffer but no hard
45When the mode is turned on, if there are newlines in the buffer but no hard 49newlines, ask the user whether to mark as hard any newlines
46newlines, ask the user whether to mark as hard any newlines preceding a 50preceding a `paragraph-start' line. From a program, second arg
47`paragraph-start' line. From a program, second arg INSERT specifies whether 51INSERT specifies whether to do this; it can be `never' to change
48to do this; it can be `never' to change nothing, t or `always' to force 52nothing, t or `always' to force marking, `guess' to try to do the
49marking, `guess' to try to do the right thing with no questions, nil 53right thing with no questions, nil or anything else to ask the
50or anything else to ask the user. 54user.
51 55
52Newlines not marked hard are called \"soft\", and are always internal 56Newlines not marked hard are called \"soft\", and are always internal
53to paragraphs. The fill functions insert and delete only soft newlines." 57to paragraphs. The fill functions insert and delete only soft newlines."
diff --git a/lisp/textmodes/refill.el b/lisp/textmodes/refill.el
index 474872955b4..d60b7594c07 100644
--- a/lisp/textmodes/refill.el
+++ b/lisp/textmodes/refill.el
@@ -213,12 +213,17 @@ complex processing.")
213 213
214;;;###autoload 214;;;###autoload
215(define-minor-mode refill-mode 215(define-minor-mode refill-mode
216 "Toggle Refill minor mode. 216 "Toggle automatic refilling (Refill mode).
217With prefix arg, turn Refill mode on if arg is positive, otherwise turn it off. 217With a prefix argument ARG, enable Refill mode if ARG is
218positive, and disable it otherwise. If called from Lisp, enable
219the mode if ARG is omitted or nil.
218 220
219When Refill mode is on, the current paragraph will be formatted when 221Refill mode is a buffer-local minor mode. When enabled, the
220changes are made within it. Self-inserting characters only cause 222current paragraph is refilled as you edit. Self-inserting
221refilling if they would cause auto-filling." 223characters only cause refilling if they would cause
224auto-filling.
225
226For true \"word wrap\" behavior, use `visual-line-mode' instead."
222 :group 'refill 227 :group 'refill
223 :lighter " Refill" 228 :lighter " Refill"
224 :keymap '(("\177" . backward-delete-char-untabify)) 229 :keymap '(("\177" . backward-delete-char-untabify))
diff --git a/lisp/textmodes/reftex.el b/lisp/textmodes/reftex.el
index 7e150bff997..6f6993980db 100644
--- a/lisp/textmodes/reftex.el
+++ b/lisp/textmodes/reftex.el
@@ -503,7 +503,13 @@
503(put 'reftex-mode :menu-tag "RefTeX Mode") 503(put 'reftex-mode :menu-tag "RefTeX Mode")
504;;;###autoload 504;;;###autoload
505(define-minor-mode reftex-mode 505(define-minor-mode reftex-mode
506 "Minor mode with distinct support for \\label, \\ref and \\cite in LaTeX. 506 "Toggle RefTeX mode.
507With a prefix argument ARG, enable RefTeX mode if ARG is
508positive, and disable it otherwise. If called from Lisp, enable
509the mode if ARG is omitted or nil.
510
511RefTeX mode is a buffer-local minor mode with distinct support
512for \\label, \\ref and \\cite in LaTeX.
507 513
508\\<reftex-mode-map>A Table of Contents of the entire (multifile) document with browsing 514\\<reftex-mode-map>A Table of Contents of the entire (multifile) document with browsing
509capabilities is available with `\\[reftex-toc]'. 515capabilities is available with `\\[reftex-toc]'.
diff --git a/lisp/textmodes/rst.el b/lisp/textmodes/rst.el
index c1ce950522c..f9fda7e0a74 100644
--- a/lisp/textmodes/rst.el
+++ b/lisp/textmodes/rst.el
@@ -442,11 +442,10 @@ font-locking of blocks.
442 442
443;;;###autoload 443;;;###autoload
444(define-minor-mode rst-minor-mode 444(define-minor-mode rst-minor-mode
445 "ReST Minor Mode. 445 "Toggle ReST minor mode.
446Toggle ReST minor mode. 446With a prefix argument ARG, enable ReST minor mode if ARG is
447With no argument, this command toggles the mode. 447positive, and disable it otherwise. If called from Lisp, enable
448Non-null prefix argument turns on the mode. 448the mode if ARG is omitted or nil.
449Null prefix argument turns off the mode.
450 449
451When ReST minor mode is enabled, the ReST mode keybindings 450When ReST minor mode is enabled, the ReST mode keybindings
452are installed on top of the major mode bindings. Use this 451are installed on top of the major mode bindings. Use this
diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el
index 314fbf9671b..be8dd9c9130 100644
--- a/lisp/textmodes/sgml-mode.el
+++ b/lisp/textmodes/sgml-mode.el
@@ -841,7 +841,14 @@ Return non-nil if we skipped over matched tags."
841 (delete-overlay (pop sgml-electric-tag-pair-overlays)))) 841 (delete-overlay (pop sgml-electric-tag-pair-overlays))))
842 842
843(define-minor-mode sgml-electric-tag-pair-mode 843(define-minor-mode sgml-electric-tag-pair-mode
844 "Automatically update the closing tag when editing the opening one." 844 "Toggle SGML Electric Tag Pair mode.
845With a prefix argument ARG, enable the mode if ARG is positive,
846and disable it otherwise. If called from Lisp, enable the mode
847if ARG is omitted or nil.
848
849SGML Electric Tag Pair mode is a buffer-local minor mode for use
850with `sgml-mode' and related maor modes. When enabled, editing
851an opening markup tag automatically updates the closing tag."
845 :lighter "/e" 852 :lighter "/e"
846 (if sgml-electric-tag-pair-mode 853 (if sgml-electric-tag-pair-mode
847 (progn 854 (progn
@@ -2024,9 +2031,14 @@ The third `match-string' will be the used in the menu.")
2024 (nreverse toc-index))) 2031 (nreverse toc-index)))
2025 2032
2026(define-minor-mode html-autoview-mode 2033(define-minor-mode html-autoview-mode
2027 "Toggle automatic viewing via `browse-url-of-buffer' upon saving buffer. 2034 "Toggle viewing of HTML files on save (HTML Autoview mode).
2028With positive prefix ARG always turns viewing on, with negative ARG always off. 2035With a prefix argument ARG, enable HTML Autoview mode if ARG is
2029Can be used as a value for `html-mode-hook'." 2036positive, and disable it otherwise. If called from Lisp, enable
2037the mode if ARG is omitted or nil.
2038
2039HTML Autoview mode is a buffer-local minor mode for use with
2040`html-mode'. If enabled, saving the file automatically runs
2041`browse-url-of-buffer' to view it."
2030 nil nil nil 2042 nil nil nil
2031 :group 'sgml 2043 :group 'sgml
2032 (if html-autoview-mode 2044 (if html-autoview-mode
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index 428fc1db3a9..deb92fc0243 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -677,8 +677,14 @@ An alternative value is \" . \", if you use a font with a narrow period."
677 (put-text-property start end 'latex-env-pair t))) 677 (put-text-property start end 'latex-env-pair t)))
678 678
679(define-minor-mode latex-electric-env-pair-mode 679(define-minor-mode latex-electric-env-pair-mode
680 "Automatically update the \\end arg when editing the \\begin one. 680 "Toggle Latex Electric Env Pair mode.
681And vice-versa." 681With a prefix argument ARG, enable the mode if ARG is positive,
682and disable it otherwise. If called from Lisp, enable it if ARG
683is omitted or nil.
684
685Latex Electric Env Pair mode is a buffer-local minor mode for use
686with `latex-mode'. When enabled, typing a \\begin or \\end tag
687automatically inserts its partner."
682 :lighter "/e" 688 :lighter "/e"
683 (if latex-electric-env-pair-mode 689 (if latex-electric-env-pair-mode
684 (add-hook 'before-change-functions 690 (add-hook 'before-change-functions
diff --git a/lisp/time.el b/lisp/time.el
index f8fea0c64a2..ac4a011bdf8 100644
--- a/lisp/time.el
+++ b/lisp/time.el
@@ -484,14 +484,15 @@ update which can wait for the next redisplay."
484;;;###autoload 484;;;###autoload
485(define-minor-mode display-time-mode 485(define-minor-mode display-time-mode
486 "Toggle display of time, load level, and mail flag in mode lines. 486 "Toggle display of time, load level, and mail flag in mode lines.
487With a numeric arg, enable this display if arg is positive. 487With a prefix argument ARG, enable Display Time mode if ARG is
488 488positive, and disable it otherwise. If called from Lisp, enable
489When this display is enabled, it updates automatically every minute 489it if ARG is omitted or nil.
490\(you can control the number of seconds between updates by 490
491customizing `display-time-interval'). 491When Display Time mode is enabled, it updates every minute (you
492If `display-time-day-and-date' is non-nil, the current day and date 492can control the number of seconds between updates by customizing
493are displayed as well. 493`display-time-interval'). If `display-time-day-and-date' is
494This runs the normal hook `display-time-hook' after each update." 494non-nil, the current day and date are displayed as well. This
495runs the normal hook `display-time-hook' after each update."
495 :global t :group 'display-time 496 :global t :group 'display-time
496 (and display-time-timer (cancel-timer display-time-timer)) 497 (and display-time-timer (cancel-timer display-time-timer))
497 (setq display-time-timer nil) 498 (setq display-time-timer nil)
diff --git a/lisp/tool-bar.el b/lisp/tool-bar.el
index 05208abb720..8759e0f77fb 100644
--- a/lisp/tool-bar.el
+++ b/lisp/tool-bar.el
@@ -43,9 +43,10 @@
43;; Deleting it means invoking this command won't work 43;; Deleting it means invoking this command won't work
44;; when you are on a tty. I hope that won't cause too much trouble -- rms. 44;; when you are on a tty. I hope that won't cause too much trouble -- rms.
45(define-minor-mode tool-bar-mode 45(define-minor-mode tool-bar-mode
46 "Toggle use of the tool bar. 46 "Toggle the tool bar in all graphical frames (Tool Bar mode).
47With a numeric argument, if the argument is positive, turn on the 47With a prefix argument ARG, enable Tool Bar mode if ARG is
48tool bar; otherwise, turn off the tool bar. 48positive, and disable it otherwise. If called from Lisp, enable
49Tool Bar mode if ARG is omitted or nil.
49 50
50See `tool-bar-add-item' and `tool-bar-add-item-from-menu' for 51See `tool-bar-add-item' and `tool-bar-add-item-from-menu' for
51conveniently adding tool bar items." 52conveniently adding tool bar items."
diff --git a/lisp/tooltip.el b/lisp/tooltip.el
index bfe53dc71b7..59115122c34 100644
--- a/lisp/tooltip.el
+++ b/lisp/tooltip.el
@@ -39,11 +39,14 @@
39;;; Switching tooltips on/off 39;;; Switching tooltips on/off
40 40
41(define-minor-mode tooltip-mode 41(define-minor-mode tooltip-mode
42 "Toggle Tooltip mode. 42 "Toggle use of graphical tooltips (Tooltip mode).
43With ARG, turn Tooltip mode on if and only if ARG is positive. 43With a prefix argument ARG, enable Tooltip mode if ARG is
44When this minor mode is enabled, Emacs displays help text 44positive, and disable it otherwise. If called from Lisp, enable
45in a pop-up window for buttons and menu items that you put the mouse on. 45it if ARG is omitted or nil.
46\(However, if `tooltip-use-echo-area' is non-nil, this and 46
47When Tooltip mode is enabled, Emacs displays help text in a
48pop-up window for buttons and menu items that you put the mouse
49on. \(However, if `tooltip-use-echo-area' is non-nil, this and
47all pop-up help appears in the echo area.) 50all pop-up help appears in the echo area.)
48 51
49When Tooltip mode is disabled, Emacs displays one line of 52When Tooltip mode is disabled, Emacs displays one line of
diff --git a/lisp/type-break.el b/lisp/type-break.el
index d276e64f6db..da3129ec576 100644
--- a/lisp/type-break.el
+++ b/lisp/type-break.el
@@ -431,13 +431,13 @@ problems."
431 type-break-mode) 431 type-break-mode)
432 432
433(define-minor-mode type-break-mode-line-message-mode 433(define-minor-mode type-break-mode-line-message-mode
434 "Enable or disable warnings in the mode line about typing breaks. 434 "Toggle warnings about typing breaks in the mode line.
435With a prefix argument ARG, enable these warnings if ARG is
436positive, and disable them otherwise. If called from Lisp,
437enable them if ARG is omitted or nil.
435 438
436A negative PREFIX argument disables this mode. 439The user may also enable or disable this mode simply by setting
437No argument or any non-negative argument enables it. 440the variable of the same name.
438
439The user may also enable or disable this mode simply by setting the
440variable of the same name.
441 441
442Variables controlling the display of messages in the mode line include: 442Variables controlling the display of messages in the mode line include:
443 443
@@ -448,17 +448,13 @@ Variables controlling the display of messages in the mode line include:
448 :global t) 448 :global t)
449 449
450(define-minor-mode type-break-query-mode 450(define-minor-mode type-break-query-mode
451 "Enable or disable warnings in the mode line about typing breaks. 451 "Toggle typing break queries.
452 452With a prefix argument ARG, enable these queries if ARG is
453When enabled, the user is periodically queried about whether to take a 453positive, and disable them otherwise. If called from Lisp,
454typing break at that moment. The function which does this query is 454enable them if ARG is omitted or nil.
455specified by the variable `type-break-query-function'.
456
457A negative PREFIX argument disables this mode.
458No argument or any non-negative argument enables it.
459 455
460The user may also enable or disable this mode simply by setting the 456The user may also enable or disable this mode simply by setting
461variable of the same name." 457the variable of the same name."
462 :global t) 458 :global t)
463 459
464 460
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog
index fbc267df44a..1b6890e5252 100644
--- a/lisp/url/ChangeLog
+++ b/lisp/url/ChangeLog
@@ -1,3 +1,7 @@
12011-10-19 Chong Yidong <cyd@gnu.org>
2
3 * url-handlers.el (url-handler-mode): Doc fix.
4
12011-09-24 Christopher J. White <chris@grierwhite.com> (tiny change) 52011-09-24 Christopher J. White <chris@grierwhite.com> (tiny change)
2 6
3 * url-http.el (url-http-create-request): Avoid adding extra CRLF 7 * url-http.el (url-http-create-request): Avoid adding extra CRLF
diff --git a/lisp/url/url-handlers.el b/lisp/url/url-handlers.el
index fef0ef15e95..d5f7eb7dd36 100644
--- a/lisp/url/url-handlers.el
+++ b/lisp/url/url-handlers.el
@@ -100,7 +100,10 @@ particularly bad at this\).")
100 100
101;;;###autoload 101;;;###autoload
102(define-minor-mode url-handler-mode 102(define-minor-mode url-handler-mode
103 "Use URL to handle URL-like file names." 103 "Toggle using `url' library for URL filenames (URL Handler mode).
104With a prefix argument ARG, enable URL Handler mode if ARG is
105positive, and disable it otherwise. If called from Lisp, enable
106the mode if ARG is omitted or nil."
104 :global t :group 'url 107 :global t :group 'url
105 (if (not (boundp 'file-name-handler-alist)) 108 (if (not (boundp 'file-name-handler-alist))
106 ;; Can't be turned ON anyway. 109 ;; Can't be turned ON anyway.
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index 392973e08fe..9f0fa584b0d 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -225,9 +225,16 @@ when editing big diffs)."
225 "Keymap for `diff-minor-mode'. See also `diff-mode-shared-map'.") 225 "Keymap for `diff-minor-mode'. See also `diff-mode-shared-map'.")
226 226
227(define-minor-mode diff-auto-refine-mode 227(define-minor-mode diff-auto-refine-mode
228 "Automatically highlight changes in detail as the user visits hunks. 228 "Toggle automatic diff hunk highlighting (Diff Auto Refine mode).
229When transitioning from disabled to enabled, 229With a prefix argument ARG, enable Diff Auto Refine mode if ARG
230try to refine the current hunk, as well." 230is positive, and disable it otherwise. If called from Lisp,
231enable the mode if ARG is omitted or nil.
232
233Diff Auto Refine mode is a buffer-local minor mode used with
234`diff-mode'. When enabled, Emacs automatically highlights
235changes in detail as the user visits hunks. When transitioning
236from disabled to enabled, it tries to refine the current hunk, as
237well."
231 :group 'diff-mode :init-value t :lighter nil ;; " Auto-Refine" 238 :group 'diff-mode :init-value t :lighter nil ;; " Auto-Refine"
232 (when diff-auto-refine-mode 239 (when diff-auto-refine-mode
233 (condition-case-no-debug nil (diff-refine-hunk) (error nil)))) 240 (condition-case-no-debug nil (diff-refine-hunk) (error nil))))
@@ -1306,7 +1313,11 @@ a diff with \\[diff-reverse-direction].
1306 1313
1307;;;###autoload 1314;;;###autoload
1308(define-minor-mode diff-minor-mode 1315(define-minor-mode diff-minor-mode
1309 "Minor mode for viewing/editing context diffs. 1316 "Toggle Diff minor mode.
1317With a prefix argument ARG, enable Diff minor mode if ARG is
1318positive, and disable it otherwise. If called from Lisp, enable
1319the mode if ARG is omitted or nil.
1320
1310\\{diff-minor-mode-map}" 1321\\{diff-minor-mode-map}"
1311 :group 'diff-mode :lighter " Diff" 1322 :group 'diff-mode :lighter " Diff"
1312 ;; FIXME: setup font-lock 1323 ;; FIXME: setup font-lock
diff --git a/lisp/vc/ediff-init.el b/lisp/vc/ediff-init.el
index 0d904ec85c4..eeaa2cfa927 100644
--- a/lisp/vc/ediff-init.el
+++ b/lisp/vc/ediff-init.el
@@ -1340,11 +1340,9 @@ this variable represents.")
1340 ovr-list)))))))) 1340 ovr-list))))))))
1341 1341
1342 1342
1343(defvar ediff-toggle-read-only-function nil 1343(defvar ediff-toggle-read-only-function 'toggle-read-only
1344 "*Specifies the function to be used to toggle read-only. 1344 "Function to be used to toggle read-only status of the buffer.
1345If nil, Ediff tries to deduce the function from the binding of C-x C-q. 1345If nil, Ediff tries using the command bound to C-x C-q.")
1346Normally, this is the `toggle-read-only' function, but, if version
1347control is used, it could be `vc-toggle-read-only' or `rcs-toggle-read-only'.")
1348 1346
1349(defcustom ediff-make-buffers-readonly-at-startup nil 1347(defcustom ediff-make-buffers-readonly-at-startup nil
1350 "Make all variant buffers read-only when Ediff starts up. 1348 "Make all variant buffers read-only when Ediff starts up.
diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el
index b3f5cfb78f7..c421304442f 100644
--- a/lisp/vc/log-edit.el
+++ b/lisp/vc/log-edit.el
@@ -386,7 +386,7 @@ uses the current buffer."
386 (setq setup (not setup))) 386 (setq setup (not setup)))
387 (when setup 387 (when setup
388 (erase-buffer) 388 (erase-buffer)
389 (insert "Summary: ") 389 (insert "Summary: \nAuthor: ")
390 (save-excursion (insert "\n\n"))) 390 (save-excursion (insert "\n\n")))
391 (if mode 391 (if mode
392 (funcall mode) 392 (funcall mode)
@@ -536,7 +536,7 @@ If you want to abort the commit, simply delete the buffer."
536 (or (= (point-min) (point-max)) 536 (or (= (point-min) (point-max))
537 (save-excursion 537 (save-excursion
538 (goto-char (point-min)) 538 (goto-char (point-min))
539 (while (and (looking-at "^\\(Summary: \\)?$") 539 (while (and (looking-at "^\\([a-zA-Z]+: \\)?$")
540 (zerop (forward-line 1)))) 540 (zerop (forward-line 1))))
541 (eobp)))) 541 (eobp))))
542 542
diff --git a/lisp/vc/vc-bzr.el b/lisp/vc/vc-bzr.el
index 3ab1caf2864..cc28db689e9 100644
--- a/lisp/vc/vc-bzr.el
+++ b/lisp/vc/vc-bzr.el
@@ -866,7 +866,7 @@ stream. Standard error output is discarded."
866 (" M " . edited) ;; file text modified 866 (" M " . edited) ;; file text modified
867 (" *" . edited) ;; execute bit changed 867 (" *" . edited) ;; execute bit changed
868 (" M*" . edited) ;; text modified + execute bit changed 868 (" M*" . edited) ;; text modified + execute bit changed
869 ;; FIXME: what about ignored files? 869 ("I " . ignored)
870 (" D " . missing) 870 (" D " . missing)
871 ;; For conflicts, should we list the .THIS/.BASE/.OTHER? 871 ;; For conflicts, should we list the .THIS/.BASE/.OTHER?
872 ("C " . conflict) 872 ("C " . conflict)
@@ -916,7 +916,7 @@ stream. Standard error output is discarded."
916 (push (list new-name 'edited 916 (push (list new-name 'edited
917 (vc-bzr-create-extra-fileinfo old-name)) result))) 917 (vc-bzr-create-extra-fileinfo old-name)) result)))
918 ;; do nothing for non existent files 918 ;; do nothing for non existent files
919 ((eq translated 'not-found)) 919 ((memq translated '(not-found ignored)))
920 (t 920 (t
921 (push (list (file-relative-name 921 (push (list (file-relative-name
922 (buffer-substring-no-properties 922 (buffer-substring-no-properties
diff --git a/lisp/vc/vc-hooks.el b/lisp/vc/vc-hooks.el
index e7bfd273732..35fa11c2e5e 100644
--- a/lisp/vc/vc-hooks.el
+++ b/lisp/vc/vc-hooks.el
@@ -648,22 +648,8 @@ this function."
648 (throw 'found trial)))) 648 (throw 'found trial))))
649 templates)))) 649 templates))))
650 650
651(defun vc-toggle-read-only (&optional verbose) 651(define-obsolete-function-alias
652 "Change read-only status of current buffer, perhaps via version control. 652 'vc-toggle-read-only 'toggle-read-only "24.1")
653
654If the buffer is visiting a file registered with version control,
655throw an error, because this is not a safe or really meaningful operation
656on any version-control system newer than RCS.
657
658Otherwise, just change the read-only flag of the buffer.
659
660If you bind this function to \\[toggle-read-only], then Emacs
661will properly intercept all attempts to toggle the read-only flag
662on version-controlled buffer."
663 (interactive "P")
664 (if (vc-backend buffer-file-name)
665 (error "Toggling the readability of a version controlled file is likely to wreak havoc")
666 (toggle-read-only)))
667 653
668(defun vc-default-make-version-backups-p (backend file) 654(defun vc-default-make-version-backups-p (backend file)
669 "Return non-nil if unmodified versions should be backed up locally. 655 "Return non-nil if unmodified versions should be backed up locally.
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 62536fd94be..909585138fc 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -675,6 +675,8 @@
675 :type 'boolean 675 :type 'boolean
676 :group 'vc) 676 :group 'vc)
677 677
678(make-obsolete-variable 'vc-initial-comment "it has no effect." "23.2")
679
678(defcustom vc-default-init-revision "1.1" 680(defcustom vc-default-init-revision "1.1"
679 "A string used as the default revision number when a new file is registered. 681 "A string used as the default revision number when a new file is registered.
680This can be overridden by giving a prefix argument to \\[vc-register]. This 682This can be overridden by giving a prefix argument to \\[vc-register]. This
@@ -1118,9 +1120,13 @@ merge in the changes into your working copy."
1118 ;; Files have local changes 1120 ;; Files have local changes
1119 ((vc-compatible-state state 'edited) 1121 ((vc-compatible-state state 'edited)
1120 (let ((ready-for-commit files)) 1122 (let ((ready-for-commit files))
1121 ;; If files are edited but read-only, give user a chance to correct 1123 ;; If files are edited but read-only, give user a chance to correct.
1122 (dolist (file files) 1124 (dolist (file files)
1123 (unless (file-writable-p file) 1125 ;; If committing a mix of removed and edited files, the
1126 ;; fileset has state = 'edited. Rather than checking the
1127 ;; state of each individual file in the fileset, it seems
1128 ;; simplest to just check if the file exists. Bug#9781.
1129 (when (and (file-exists-p file) (not (file-writable-p file)))
1124 ;; Make the file+buffer read-write. 1130 ;; Make the file+buffer read-write.
1125 (unless (y-or-n-p (format "%s is edited but read-only; make it writable and continue? " file)) 1131 (unless (y-or-n-p (format "%s is edited but read-only; make it writable and continue? " file))
1126 (error "Aborted")) 1132 (error "Aborted"))
diff --git a/lisp/view.el b/lisp/view.el
index 11cbc79449f..ef865007332 100644
--- a/lisp/view.el
+++ b/lisp/view.el
@@ -369,19 +369,24 @@ this argument instead of explicitly setting `view-exit-action'."
369 ;; bindings instead of using the \\[] construction. The reason for this 369 ;; bindings instead of using the \\[] construction. The reason for this
370 ;; is that most commands have more than one key binding. 370 ;; is that most commands have more than one key binding.
371 "Toggle View mode, a minor mode for viewing text but not editing it. 371 "Toggle View mode, a minor mode for viewing text but not editing it.
372With prefix argument ARG, turn View mode on if ARG is positive, otherwise 372With a prefix argument ARG, enable View mode if ARG is positive,
373turn it off. 373and disable it otherwise. If called from Lisp, enable View mode
374if ARG is omitted or nil.
375
376When View mode is enabled, commands that do not change the buffer
377contents are available as usual. Kill commands insert text in
378kill buffers but do not delete. Most other commands beep and
379tell the user that the buffer is read-only.
374 380
375Emacs commands that do not change the buffer contents are available as usual.
376Kill commands insert text in kill buffers but do not delete. Other commands
377\(among them most letters and punctuation) beep and tell that the buffer is
378read-only.
379\\<view-mode-map> 381\\<view-mode-map>
380The following additional commands are provided. Most commands take prefix 382
381arguments. Page commands default to \"page size\" lines which is almost a whole 383The following additional commands are provided. Most commands
382window full, or number of lines set by \\[View-scroll-page-forward-set-page-size] or \\[View-scroll-page-backward-set-page-size]. Half page commands default to 384take prefix arguments. Page commands default to \"page size\"
383and set \"half page size\" lines which initially is half a window full. Search 385lines which is almost a whole window, or number of lines set by
384commands default to a repeat count of one. 386\\[View-scroll-page-forward-set-page-size] or \\[View-scroll-page-backward-set-page-size].
387Half page commands default to and set \"half page size\" lines
388which initially is half a window full. Search commands default
389to a repeat count of one.
385 390
386H, h, ? This message. 391H, h, ? This message.
387Digits provide prefix arguments. 392Digits provide prefix arguments.
diff --git a/lisp/whitespace.el b/lisp/whitespace.el
index e0bc74343d2..8dc1996734d 100644
--- a/lisp/whitespace.el
+++ b/lisp/whitespace.el
@@ -1064,11 +1064,10 @@ Any other value is treated as nil."
1064 1064
1065;;;###autoload 1065;;;###autoload
1066(define-minor-mode whitespace-mode 1066(define-minor-mode whitespace-mode
1067 "Toggle whitespace minor mode visualization (\"ws\" on modeline). 1067 "Toggle whitespace visualization (Whitespace mode).
1068 1068With a prefix argument ARG, enable Whitespace mode if ARG is
1069If ARG is null, toggle whitespace visualization. 1069positive, and disable it otherwise. If called from Lisp, enable
1070If ARG is a number greater than zero, turn on visualization; 1070the mode if ARG is omitted or nil.
1071otherwise, turn off visualization.
1072 1071
1073See also `whitespace-style', `whitespace-newline' and 1072See also `whitespace-style', `whitespace-newline' and
1074`whitespace-display-mappings'." 1073`whitespace-display-mappings'."
@@ -1088,11 +1087,10 @@ See also `whitespace-style', `whitespace-newline' and
1088 1087
1089;;;###autoload 1088;;;###autoload
1090(define-minor-mode whitespace-newline-mode 1089(define-minor-mode whitespace-newline-mode
1091 "Toggle NEWLINE minor mode visualization (\"nl\" on modeline). 1090 "Toggle newline visualization (Whitespace Newline mode).
1092 1091With a prefix argument ARG, enable Whitespace Newline mode if ARG
1093If ARG is null, toggle NEWLINE visualization. 1092is positive, and disable it otherwise. If called from Lisp,
1094If ARG is a number greater than zero, turn on visualization; 1093enable the mode if ARG is omitted or nil.
1095otherwise, turn off visualization.
1096 1094
1097Use `whitespace-newline-mode' only for NEWLINE visualization 1095Use `whitespace-newline-mode' only for NEWLINE visualization
1098exclusively. For other visualizations, including NEWLINE 1096exclusively. For other visualizations, including NEWLINE
@@ -1116,11 +1114,10 @@ See also `whitespace-newline' and `whitespace-display-mappings'."
1116 1114
1117;;;###autoload 1115;;;###autoload
1118(define-minor-mode global-whitespace-mode 1116(define-minor-mode global-whitespace-mode
1119 "Toggle whitespace global minor mode visualization (\"WS\" on modeline). 1117 "Toggle whitespace visualization globally (Global Whitespace mode).
1120 1118With a prefix argument ARG, enable Global Whitespace mode if ARG
1121If ARG is null, toggle whitespace visualization. 1119is positive, and disable it otherwise. If called from Lisp,
1122If ARG is a number greater than zero, turn on visualization; 1120enable it if ARG is omitted or nil.
1123otherwise, turn off visualization.
1124 1121
1125See also `whitespace-style', `whitespace-newline' and 1122See also `whitespace-style', `whitespace-newline' and
1126`whitespace-display-mappings'." 1123`whitespace-display-mappings'."
@@ -1174,11 +1171,10 @@ See also `whitespace-style', `whitespace-newline' and
1174 1171
1175;;;###autoload 1172;;;###autoload
1176(define-minor-mode global-whitespace-newline-mode 1173(define-minor-mode global-whitespace-newline-mode
1177 "Toggle NEWLINE global minor mode visualization (\"NL\" on modeline). 1174 "Toggle global newline visualization (Global Whitespace Newline mode).
1178 1175With a prefix argument ARG, enable Global Whitespace Newline mode
1179If ARG is null, toggle NEWLINE visualization. 1176if ARG is positive, and disable it otherwise. If called from
1180If ARG is a number greater than zero, turn on visualization; 1177Lisp, enable it if ARG is omitted or nil.
1181otherwise, turn off visualization.
1182 1178
1183Use `global-whitespace-newline-mode' only for NEWLINE 1179Use `global-whitespace-newline-mode' only for NEWLINE
1184visualization exclusively. For other visualizations, including 1180visualization exclusively. For other visualizations, including
diff --git a/lisp/wid-browse.el b/lisp/wid-browse.el
index b765e46b9c6..7ca13baeb53 100644
--- a/lisp/wid-browse.el
+++ b/lisp/wid-browse.el
@@ -270,8 +270,7 @@ VALUE is assumed to be a list of widgets."
270 270
271;;;###autoload 271;;;###autoload
272(define-minor-mode widget-minor-mode 272(define-minor-mode widget-minor-mode
273 "Togle minor mode for traversing widgets. 273 "Minor mode for traversing widgets."
274With arg, turn widget mode on if and only if arg is positive."
275 :lighter " Widget") 274 :lighter " Widget")
276 275
277;;; The End: 276;;; The End:
diff --git a/lisp/window.el b/lisp/window.el
index 4d8b3c92b95..968f47f4f31 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -1084,6 +1084,35 @@ regardless of whether that buffer is current or not."
1084 (goto-char pos)) 1084 (goto-char pos))
1085 (set-window-point window pos))) 1085 (set-window-point window pos)))
1086 1086
1087(defun window-at-side-p (&optional window side)
1088 "Return t if WINDOW is at SIDE of its containing frame.
1089WINDOW can be any window and defaults to the selected one. SIDE
1090can be any of the symbols `left', `top', `right' or `bottom'.
1091The default value nil is handled like `bottom'."
1092 (setq window (window-normalize-any-window window))
1093 (let ((edge
1094 (cond
1095 ((eq side 'left) 0)
1096 ((eq side 'top) 1)
1097 ((eq side 'right) 2)
1098 ((memq side '(bottom nil)) 3))))
1099 (= (nth edge (window-edges window))
1100 (nth edge (window-edges (frame-root-window window))))))
1101
1102(defun windows-at-side (&optional frame side)
1103 "Return list of all windows on SIDE of FRAME.
1104FRAME must be a live frame and defaults to the selected frame.
1105SIDE can be any of the symbols `left', `top', `right' or
1106`bottom'. The default value nil is handled like `bottom'."
1107 (setq frame (window-normalize-frame frame))
1108 (let (windows)
1109 (walk-window-tree
1110 (lambda (window)
1111 (when (window-at-side-p window side)
1112 (setq windows (cons window windows))))
1113 frame)
1114 (nreverse windows)))
1115
1087(defun window-in-direction-2 (window posn &optional horizontal) 1116(defun window-in-direction-2 (window posn &optional horizontal)
1088 "Support function for `window-in-direction'." 1117 "Support function for `window-in-direction'."
1089 (if horizontal 1118 (if horizontal
diff --git a/lisp/xt-mouse.el b/lisp/xt-mouse.el
index eca5f813ca2..09b2a7b88bd 100644
--- a/lisp/xt-mouse.el
+++ b/lisp/xt-mouse.el
@@ -199,8 +199,9 @@
199;;;###autoload 199;;;###autoload
200(define-minor-mode xterm-mouse-mode 200(define-minor-mode xterm-mouse-mode
201 "Toggle XTerm mouse mode. 201 "Toggle XTerm mouse mode.
202With prefix arg, turn XTerm mouse mode on if arg is positive, otherwise turn 202With a prefix argument ARG, enable XTerm mouse mode if ARG is
203it off. 203positive, and disable it otherwise. If called from Lisp, enable
204the mode if ARG is omitted or nil.
204 205
205Turn it on to use Emacs mouse commands, and off to use xterm mouse commands. 206Turn it on to use Emacs mouse commands, and off to use xterm mouse commands.
206This works in terminal emulators compatible with xterm. It only 207This works in terminal emulators compatible with xterm. It only