aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorMiles Bader2007-08-13 13:41:28 +0000
committerMiles Bader2007-08-13 13:41:28 +0000
commit37cc095b6a175fb5a2fb18fa029eaf3aa3b3fa53 (patch)
tree7fb68e80f66e55100c48b9751cf70c74af2d4bf1 /lisp
parent031b6333283be57d971e557b83da31c6be937b0a (diff)
parent9d2db4c6637fe37d75f947063bcb2ecce319a1bc (diff)
downloademacs-37cc095b6a175fb5a2fb18fa029eaf3aa3b3fa53.tar.gz
emacs-37cc095b6a175fb5a2fb18fa029eaf3aa3b3fa53.zip
Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-851
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog158
-rw-r--r--lisp/abbrev.el6
-rw-r--r--lisp/allout.el5
-rw-r--r--lisp/autorevert.el2
-rw-r--r--lisp/bindings.el2
-rw-r--r--lisp/calendar/calendar.el2
-rw-r--r--lisp/custom.el10
-rw-r--r--lisp/diff-mode.el6
-rw-r--r--lisp/diff.el3
-rw-r--r--lisp/dired-aux.el4
-rw-r--r--lisp/dired.el4
-rw-r--r--lisp/double.el3
-rw-r--r--lisp/ediff-diff.el4
-rw-r--r--lisp/emacs-lisp/backquote.el54
-rw-r--r--lisp/emacs-lisp/byte-opt.el2
-rw-r--r--lisp/emacs-lisp/checkdoc.el3
-rw-r--r--lisp/emacs-lisp/easymenu.el2
-rw-r--r--lisp/emacs-lisp/rx.el2
-rw-r--r--lisp/emacs-lisp/unsafep.el2
-rw-r--r--lisp/emulation/tpu-edt.el8
-rw-r--r--lisp/emulation/tpu-extras.el70
-rw-r--r--lisp/emulation/vi.el2
-rw-r--r--lisp/erc/ChangeLog4
-rw-r--r--lisp/erc/erc-log.el2
-rw-r--r--lisp/erc/erc.el12
-rw-r--r--lisp/files.el9
-rw-r--r--lisp/font-lock.el6
-rw-r--r--lisp/frame.el6
-rw-r--r--lisp/gnus/ChangeLog20
-rw-r--r--lisp/gnus/gmm-utils.el2
-rw-r--r--lisp/gnus/gnus-art.el2
-rw-r--r--lisp/gnus/gnus-async.el2
-rw-r--r--lisp/gnus/gnus-ems.el2
-rw-r--r--lisp/gnus/gnus-msg.el8
-rw-r--r--lisp/gnus/gnus-score.el2
-rw-r--r--lisp/gnus/gnus-util.el2
-rw-r--r--lisp/gnus/imap.el2
-rw-r--r--lisp/gnus/mailcap.el6
-rw-r--r--lisp/gnus/nnimap.el2
-rw-r--r--lisp/gnus/nntp.el11
-rw-r--r--lisp/help.el4
-rw-r--r--lisp/hilit-chg.el2
-rw-r--r--lisp/ibuf-ext.el2
-rw-r--r--lisp/ibuffer.el4
-rw-r--r--lisp/icomplete.el5
-rw-r--r--lisp/ido.el2
-rw-r--r--lisp/image.el2
-rw-r--r--lisp/imenu.el2
-rw-r--r--lisp/info-look.el2
-rw-r--r--lisp/international/ja-dic-cnv.el4
-rw-r--r--lisp/international/latin1-disp.el4
-rw-r--r--lisp/international/mule-cmds.el10
-rw-r--r--lisp/international/quail.el2
-rw-r--r--lisp/isearch.el4
-rw-r--r--lisp/iswitchb.el6
-rw-r--r--lisp/log-edit.el2
-rw-r--r--lisp/log-view.el1
-rw-r--r--lisp/mail/mspools.el2
-rw-r--r--lisp/mail/rmail.el4
-rw-r--r--lisp/man.el146
-rw-r--r--lisp/mh-e/ChangeLog5
-rw-r--r--lisp/mh-e/mh-folder.el2
-rw-r--r--lisp/mh-e/mh-letter.el2
-rw-r--r--lisp/mh-e/mh-show.el2
-rw-r--r--lisp/mouse-drag.el2
-rw-r--r--lisp/net/trampver.el2
-rw-r--r--lisp/obsolete/fast-lock.el2
-rw-r--r--lisp/pcvs-util.el3
-rw-r--r--lisp/pcvs.el11
-rw-r--r--lisp/progmodes/antlr-mode.el6
-rw-r--r--lisp/progmodes/cc-awk.el2
-rw-r--r--lisp/progmodes/cc-engine.el2
-rw-r--r--lisp/progmodes/cc-vars.el2
-rw-r--r--lisp/progmodes/compile.el12
-rw-r--r--lisp/progmodes/cperl-mode.el4
-rw-r--r--lisp/progmodes/cpp.el6
-rw-r--r--lisp/progmodes/etags.el8
-rw-r--r--lisp/progmodes/flymake.el2
-rw-r--r--lisp/progmodes/fortran.el2
-rw-r--r--lisp/progmodes/gdb-ui.el12
-rw-r--r--lisp/progmodes/gud.el4
-rw-r--r--lisp/progmodes/hideshow.el6
-rw-r--r--lisp/progmodes/octave-mod.el10
-rw-r--r--lisp/progmodes/python.el8
-rw-r--r--lisp/progmodes/tcl.el2
-rw-r--r--lisp/progmodes/which-func.el2
-rw-r--r--lisp/progmodes/xscheme.el4
-rw-r--r--lisp/select.el2
-rw-r--r--lisp/shadowfile.el2
-rw-r--r--lisp/simple.el53
-rw-r--r--lisp/skeleton.el4
-rw-r--r--lisp/strokes.el4
-rw-r--r--lisp/subr.el19
-rw-r--r--lisp/t-mouse.el3
-rw-r--r--lisp/term.el2
-rw-r--r--lisp/term/sun-mouse.el2
-rw-r--r--lisp/term/tvi970.el4
-rw-r--r--lisp/textmodes/artist.el2
-rw-r--r--lisp/textmodes/flyspell.el5
-rw-r--r--lisp/textmodes/ispell.el3
-rw-r--r--lisp/textmodes/nroff-mode.el2
-rw-r--r--lisp/textmodes/refill.el2
-rw-r--r--lisp/textmodes/reftex-global.el2
-rw-r--r--lisp/textmodes/sgml-mode.el2
-rw-r--r--lisp/textmodes/two-column.el14
-rw-r--r--lisp/url/ChangeLog5
-rw-r--r--lisp/url/url-auth.el2
-rw-r--r--lisp/url/url-cache.el2
-rw-r--r--lisp/url/url-dav.el6
-rw-r--r--lisp/url/url-file.el2
-rw-r--r--lisp/url/vc-dav.el2
-rw-r--r--lisp/userlock.el2
-rw-r--r--lisp/vc-bzr.el235
-rw-r--r--lisp/vc-hooks.el10
-rw-r--r--lisp/vc-rcs.el8
-rw-r--r--lisp/vc.el2
-rw-r--r--lisp/view.el3
-rw-r--r--lisp/whitespace.el2
-rw-r--r--lisp/wid-edit.el6
-rw-r--r--lisp/window.el10
-rw-r--r--lisp/winner.el5
-rw-r--r--lisp/xt-mouse.el3
122 files changed, 772 insertions, 449 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 8a486ed424f..a5d54560e97 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,161 @@
12007-08-13 Nick Roberts <nickrob@snap.net.nz>
2
3 * progmodes/gdb-ui.el (gdb-send): Handle CTRL-D more carefully.
4
52007-08-12 Richard Stallman <rms@gnu.org>
6
7 * pcvs.el (cvs-reread-cvsrc, cvs-checkout, cvs-mode-checkout)
8 (cvs-execute-single-file): Use new name split-string-and-unquote.
9 (cvs-header-msg): Use new name combine-and-quote-strings.
10
11 * emulation/vi.el (vi-next-line): Ignore return value of line-move.
12
13 * progmodes/gud.el (gud-common-init): Use new name
14 split-string-and-unquote.
15
16 * progmodes/flymake.el (flymake-err-line-patterns): Fix infloop
17 in javac regexp.
18
19 * pcvs-util.el (cvs-qtypedesc-strings): Use new names
20 combine-and-quote-strings and split-string-and-unquote.
21
22 * subr.el (combine-and-quote-strings): Renamed from strings->string.
23 (split-string-and-unquote): Renamed from string->strings.
24
252007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
26
27 * log-view.el (log-view-font-lock-keywords): Use `eval' so as to adapt
28 to buffer-local settings.
29
30 * emacs-lisp/backquote.el (backquote-delay-process): New function.
31 (backquote-process): Add internal arg `level'. Use the two to
32 correctly handle nested backquotes.
33
342007-08-09 Riccardo Murri <riccardo.murri@gmail.com>
35
36 * vc-bzr.el (vc-bzr-registered): Use \0 instead of literal NULs.
37 (vc-bzr-state-words): Add "kind changed" state word.
38 (vc-bzr-status): New function. Return Bzr idea of file status,
39 which is different from VC's.
40 (vc-bzr-state): Use vc-bzr-status.
41 (vc-workfile-unchanged-p): Use vc-bzr-status.
42 (vc-bzr-revert): Use synchronous process; expect exitcode 0.
43 (vc-dired-state): Process "kind changed" state word.
44
452007-08-09 Stefan Monnier <monnier@iro.umontreal.ca>
46
47 * vc-hooks.el (vc-default-find-file-not-found-hook): Do nothing.
48
49 * vc-rcs.el (vc-rcs-find-file-not-found-hook):
50 Move from vc-default-find-file-not-found-hook.
51
522007-08-08 Stefan Monnier <monnier@iro.umontreal.ca>
53
54 * man.el: Remove spurious * in docstrings.
55 Merge defvars and toplevel setq-defaults.
56 (Man-highlight-references0): Limit=nil rather than point-max.
57 (Man-mode-map): Move initialization into the declaration.
58 (Man-strip-page-headers, Man-unindent): Use dolist & inhibit-read-only.
59 (Man-view-header-file): Use expand-file-name rather than concat.
60 (Man-notify-when-ready, Man-bgproc-sentinel): Use with-current-buffer.
61
62 * man.el (Man-next-section): Make sure we do not move backward.
63
642007-08-08 Stefan Monnier <monnier@iro.umontreal.ca>
65
66 * files.el (auto-mode-alist): Use the purecopied text (duh!).
67
682007-08-08 Glenn Morris <rgm@gnu.org>
69
70 * Replace `iff' in doc-strings and comments.
71
722007-08-08 Martin Rudalics <rudalics@gmx.at>
73
74 * dired.el (dired-pop-to-buffer):
75 * mouse-drag.el (mouse-drag-should-do-col-scrolling):
76 * calendar/calendar.el (generate-calendar-window):
77 * progmodes/compile.el (compilation-set-window-height):
78 * textmodes/two-column.el (2C-two-columns, 2C-merge):
79 Use window-full-width-p instead of comparing frame-width and
80 window-width.
81
82 * progmodes/compile.el (compilation-find-buffer): Remove extra
83 argument in call to compilation-buffer-internal-p.
84
852007-08-07 Tom Tromey <tromey@redhat.com>
86
87 * progmodes/tcl.el (tcl-indent-level, tcl-continued-indent-level):
88 Add safe-local-variable property.
89
902007-08-07 Chong Yidong <cyd@stupidchicken.com>
91
92 * image-mode.el (image-toggle-display): Use image-refresh.
93
942007-08-07 Riccardo Murri <riccardo.murri@gmail.com>
95
96 * vc-bzr.el: Remove comments about vc-bzr.el being a modified
97 unofficial version.
98 (vc-bzr-command): Remove redundant setting of process-connection-type.
99 (vc-bzr-admin-checkout-format-file): Add autoload.
100 (vc-bzr-root-dir): Remove in favor of vc-bzr-root.
101 (vc-bzr-root): Switch to implementation of vc-bzr-root-dir.
102 (vc-bzr-registered): Compare dirstate format tag with known good
103 value, abort parsing if match fails. Warn user in docstring.
104 (vc-bzr-workfile-version): Case for different Bzr branch formats.
105 See bzrlib/branch.py in Bzr sources.
106 (vc-bzr-diff): First argument FILES may be a string rather than a list.
107 (vc-bzr-shell-command): Remove in favor of
108 vc-bzr-command-discarding-stderr.
109 (vc-bzr-command-discarding-stderr): New function.
110
1112007-08-06 Riccardo Murri <riccardo.murri@gmail.com>
112
113 * vc-bzr.el (vc-bzr-registered): Gracefully handle missing "bzr"
114 program, and return nil
115 (vc-bzr-state): Gracefully handle missing "bzr" program, and return nil.
116 (vc-bzr-state): Look for path names relative to the repository
117 root after status keyword.
118 (vc-bzr-file-name-relative): New function.
119 (vc-bzr-admin-dirname): Reinstate, as other vc-bzr-admin-... paths
120 depend on it.
121 (vc-bzr-admin-dirname, ...-checkout-format-file)
122 (...-branch-format-file, ...-revhistory): Paths to some Bzr internal
123 files that we now parse directly for speed.
124 (vc-bzr-root-dir): Use `vc-bzr-admin-checkout-format-file' as witness.
125 (vc-bzr-registered): Only parse vc-bzr-admin-dirstate file if it exists.
126 (vc-bzr-state): "bzr status" successful only if exitcode is 0
127 (vc-bzr-root): Use `vc-bzr-shell-command'. Stderr may contain
128 Bzr warnings, so we must discard it.
129 (vc-bzr-workfile-version): Speedup counting lines from
130 `vc-bzr-admin-revhistory' file, but fallback to spawning "bzr revno"
131 if that file doesn't exist.
132 (vc-bzr-responsible-p): Use `vc-bzr-root' instead of
133 `vc-bzr-root-dir' for speed. Add `vc-bzr-admin-dirname'
134 (not ".bzr"!) to `vc-directory-exclusion-list'
135 (vc-bzr-shell-command): New function.
136
1372007-08-06 Tom Tromey <tromey@redhat.com>
138
139 * diff-mode.el (diff-unified->context, diff-reverse-direction)
140 (diff-fixup-modifs): Typo in docstring.
141
1422007-08-06 Stefan Monnier <monnier@iro.umontreal.ca>
143
144 * emulation/tpu-edt.el (tpu-current-line): Use posn-at-point and
145 count-screen-lines.
146 (tpu-edt-off): Disable relevant pieces of advice.
147
148 * emulation/tpu-extras.el (tpu-before-save-hook): Rename from
149 tpu-write-file-hook. Activate it with add-hook on buffer-save-hook.
150 (newline, newline-and-indent, do-auto-fill): Use advice instead of
151 redefining the function.
152 (tpu-set-scroll-margins): Activate the pieces of advice.
153
1542007-08-06 Martin Rudalics <rudalics@gmx.at>
155
156 * help.el (resize-temp-buffer-window): Use window-full-width-p
157 instead of comparing frame-width and window-width.
158
12007-08-13 Stephen Leake <stephen_leake@stephe-leake.org> 1592007-08-13 Stephen Leake <stephen_leake@stephe-leake.org>
2 160
3 * pcvs-parse.el (cvs-parse-table): Handle additional instance of 161 * pcvs-parse.el (cvs-parse-table): Handle additional instance of
diff --git a/lisp/abbrev.el b/lisp/abbrev.el
index 1471ca7bebd..b2b03fe63bb 100644
--- a/lisp/abbrev.el
+++ b/lisp/abbrev.el
@@ -39,9 +39,9 @@ define global abbrevs instead."
39 39
40(defun abbrev-mode (&optional arg) 40(defun abbrev-mode (&optional arg)
41 "Toggle Abbrev mode in the current buffer. 41 "Toggle Abbrev mode in the current buffer.
42With argument ARG, turn abbrev mode on iff ARG is positive. 42With optional argument ARG, turn abbrev mode on if ARG is
43In Abbrev mode, inserting an abbreviation causes it to expand 43positive, otherwise turn it off. In Abbrev mode, inserting an
44and be replaced by its expansion." 44abbreviation causes it to expand and be replaced by its expansion."
45 (interactive "P") 45 (interactive "P")
46 (setq abbrev-mode 46 (setq abbrev-mode
47 (if (null arg) (not abbrev-mode) 47 (if (null arg) (not abbrev-mode)
diff --git a/lisp/allout.el b/lisp/allout.el
index f6598063e97..d243a188812 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -1658,8 +1658,9 @@ the following two lines in your Emacs init file:
1658 "Toggle minor mode for controlling exposure and editing of text outlines. 1658 "Toggle minor mode for controlling exposure and editing of text outlines.
1659\\<allout-mode-map> 1659\\<allout-mode-map>
1660 1660
1661Optional arg forces mode to re-initialize iff arg is positive num or 1661Optional prefix argument TOGGLE forces the mode to re-initialize
1662symbol. Allout outline mode always runs as a minor mode. 1662if it is positive, otherwise it turns the mode off. Allout
1663outline mode always runs as a minor mode.
1663 1664
1664Allout outline mode provides extensive outline oriented formatting and 1665Allout outline mode provides extensive outline oriented formatting and
1665manipulation. It enables structural editing of outlines, as well as 1666manipulation. It enables structural editing of outlines, as well as
diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index 6c6dbd963d5..f1e5b146058 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -315,7 +315,7 @@ This function is designed to be added to hooks, for example:
315;;;###autoload 315;;;###autoload
316(define-minor-mode auto-revert-tail-mode 316(define-minor-mode auto-revert-tail-mode
317 "Toggle reverting tail of buffer when file on disk grows. 317 "Toggle reverting tail of buffer when file on disk grows.
318With arg, turn Tail mode on iff arg is positive. 318With arg, turn Tail mode on if arg is positive, otherwise turn it off.
319 319
320When Tail mode is enabled, the tail of the file is constantly 320When Tail mode is enabled, the tail of the file is constantly
321followed, as with the shell command `tail -f'. This means that 321followed, as with the shell command `tail -f'. This means that
diff --git a/lisp/bindings.el b/lisp/bindings.el
index 75dd33767b6..e38cc5b5a97 100644
--- a/lisp/bindings.el
+++ b/lisp/bindings.el
@@ -493,7 +493,7 @@ Menu of mode operations in the mode line.")
493(defvar minor-mode-alist nil "\ 493(defvar minor-mode-alist nil "\
494Alist saying how to show minor modes in the mode line. 494Alist saying how to show minor modes in the mode line.
495Each element looks like (VARIABLE STRING); 495Each element looks like (VARIABLE STRING);
496STRING is included in the mode line iff VARIABLE's value is non-nil. 496STRING is included in the mode line if VARIABLE's value is non-nil.
497 497
498Actually, STRING need not be a string; any possible mode-line element 498Actually, STRING need not be a string; any possible mode-line element
499is okay. See `mode-line-format'.") 499is okay. See `mode-line-format'.")
diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el
index 7611e40f8ef..ea495777f19 100644
--- a/lisp/calendar/calendar.el
+++ b/lisp/calendar/calendar.el
@@ -2080,7 +2080,7 @@ Or, for optional MON, YR."
2080 ;; Don't do any window-related stuff if we weren't called from a 2080 ;; Don't do any window-related stuff if we weren't called from a
2081 ;; window displaying the calendar 2081 ;; window displaying the calendar
2082 (when in-calendar-window 2082 (when in-calendar-window
2083 (if (or (one-window-p t) (/= (frame-width) (window-width))) 2083 (if (or (one-window-p t) (not (window-full-width-p)))
2084 ;; Don't mess with the window size, but ensure that the first 2084 ;; Don't mess with the window size, but ensure that the first
2085 ;; line is fully visible 2085 ;; line is fully visible
2086 (set-window-vscroll nil 0) 2086 (set-window-vscroll nil 0)
diff --git a/lisp/custom.el b/lisp/custom.el
index a5a455c2f32..5138f800972 100644
--- a/lisp/custom.el
+++ b/lisp/custom.el
@@ -642,7 +642,7 @@ this sets the local binding in that buffer instead."
642 (funcall variable (if value 1 0)))) 642 (funcall variable (if value 1 0))))
643 643
644(defun custom-quote (sexp) 644(defun custom-quote (sexp)
645 "Quote SEXP iff it is not self quoting." 645 "Quote SEXP if it is not self quoting."
646 (if (or (memq sexp '(t nil)) 646 (if (or (memq sexp '(t nil))
647 (keywordp sexp) 647 (keywordp sexp)
648 (and (listp sexp) 648 (and (listp sexp)
@@ -665,14 +665,14 @@ default value. Otherwise, set it to nil.
665 665
666To actually save the value, call `custom-save-all'. 666To actually save the value, call `custom-save-all'.
667 667
668Return non-nil iff the `saved-value' property actually changed." 668Return non-nil if the `saved-value' property actually changed."
669 (custom-load-symbol symbol) 669 (custom-load-symbol symbol)
670 (let* ((get (or (get symbol 'custom-get) 'default-value)) 670 (let* ((get (or (get symbol 'custom-get) 'default-value))
671 (value (funcall get symbol)) 671 (value (funcall get symbol))
672 (saved (get symbol 'saved-value)) 672 (saved (get symbol 'saved-value))
673 (standard (get symbol 'standard-value)) 673 (standard (get symbol 'standard-value))
674 (comment (get symbol 'customized-variable-comment))) 674 (comment (get symbol 'customized-variable-comment)))
675 ;; Save default value iff different from standard value. 675 ;; Save default value if different from standard value.
676 (if (or (null standard) 676 (if (or (null standard)
677 (not (equal value (condition-case nil 677 (not (equal value (condition-case nil
678 (eval (car standard)) 678 (eval (car standard))
@@ -694,13 +694,13 @@ or else if it is different from the standard value, set the
694`customized-value' property to a list whose car evaluates to the 694`customized-value' property to a list whose car evaluates to the
695default value. Otherwise, set it to nil. 695default value. Otherwise, set it to nil.
696 696
697Return non-nil iff the `customized-value' property actually changed." 697Return non-nil if the `customized-value' property actually changed."
698 (custom-load-symbol symbol) 698 (custom-load-symbol symbol)
699 (let* ((get (or (get symbol 'custom-get) 'default-value)) 699 (let* ((get (or (get symbol 'custom-get) 'default-value))
700 (value (funcall get symbol)) 700 (value (funcall get symbol))
701 (customized (get symbol 'customized-value)) 701 (customized (get symbol 'customized-value))
702 (old (or (get symbol 'saved-value) (get symbol 'standard-value)))) 702 (old (or (get symbol 'saved-value) (get symbol 'standard-value))))
703 ;; Mark default value as set iff different from old value. 703 ;; Mark default value as set if different from old value.
704 (if (not (and old 704 (if (not (and old
705 (equal value (condition-case nil 705 (equal value (condition-case nil
706 (eval (car old)) 706 (eval (car old))
diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el
index 3c8ad2c49ff..be4c7e7b905 100644
--- a/lisp/diff-mode.el
+++ b/lisp/diff-mode.el
@@ -724,7 +724,7 @@ PREFIX is only used internally: don't use it."
724(defun diff-unified->context (start end) 724(defun diff-unified->context (start end)
725 "Convert unified diffs to context diffs. 725 "Convert unified diffs to context diffs.
726START and END are either taken from the region (if a prefix arg is given) or 726START and END are either taken from the region (if a prefix arg is given) or
727else cover the whole bufer." 727else cover the whole buffer."
728 (interactive (if (or current-prefix-arg (and transient-mark-mode mark-active)) 728 (interactive (if (or current-prefix-arg (and transient-mark-mode mark-active))
729 (list (region-beginning) (region-end)) 729 (list (region-beginning) (region-end))
730 (list (point-min) (point-max)))) 730 (list (point-min) (point-max))))
@@ -907,7 +907,7 @@ With a prefix argument, convert unified format to context format."
907(defun diff-reverse-direction (start end) 907(defun diff-reverse-direction (start end)
908 "Reverse the direction of the diffs. 908 "Reverse the direction of the diffs.
909START and END are either taken from the region (if a prefix arg is given) or 909START and END are either taken from the region (if a prefix arg is given) or
910else cover the whole bufer." 910else cover the whole buffer."
911 (interactive (if (or current-prefix-arg (and transient-mark-mode mark-active)) 911 (interactive (if (or current-prefix-arg (and transient-mark-mode mark-active))
912 (list (region-beginning) (region-end)) 912 (list (region-beginning) (region-end))
913 (list (point-min) (point-max)))) 913 (list (point-min) (point-max))))
@@ -969,7 +969,7 @@ else cover the whole bufer."
969(defun diff-fixup-modifs (start end) 969(defun diff-fixup-modifs (start end)
970 "Fixup the hunk headers (in case the buffer was modified). 970 "Fixup the hunk headers (in case the buffer was modified).
971START and END are either taken from the region (if a prefix arg is given) or 971START and END are either taken from the region (if a prefix arg is given) or
972else cover the whole bufer." 972else cover the whole buffer."
973 (interactive (if (or current-prefix-arg (and transient-mark-mode mark-active)) 973 (interactive (if (or current-prefix-arg (and transient-mark-mode mark-active))
974 (list (region-beginning) (region-end)) 974 (list (region-beginning) (region-end))
975 (list (point-min) (point-max)))) 975 (list (point-min) (point-max))))
diff --git a/lisp/diff.el b/lisp/diff.el
index 3013f0d769e..b063c07b40f 100644
--- a/lisp/diff.el
+++ b/lisp/diff.el
@@ -62,7 +62,8 @@
62 62
63(defun diff-sentinel (code) 63(defun diff-sentinel (code)
64 "Code run when the diff process exits. 64 "Code run when the diff process exits.
65CODE is the exit code of the process. It should be 0 iff no diffs were found." 65CODE is the exit code of the process. It should be 0 only if no diffs
66were found."
66 (if diff-old-temp-file (delete-file diff-old-temp-file)) 67 (if diff-old-temp-file (delete-file diff-old-temp-file))
67 (if diff-new-temp-file (delete-file diff-new-temp-file)) 68 (if diff-new-temp-file (delete-file diff-new-temp-file))
68 (save-excursion 69 (save-excursion
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index 4d06acdcf6c..124c53b44c5 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -1993,8 +1993,8 @@ of marked files. If KILL-ROOT is non-nil, kill DIRNAME as well."
1993 1993
1994(defun dired-tree-lessp (dir1 dir2) 1994(defun dired-tree-lessp (dir1 dir2)
1995 ;; Lexicographic order on file name components, like `ls -lR': 1995 ;; Lexicographic order on file name components, like `ls -lR':
1996 ;; DIR1 < DIR2 iff DIR1 comes *before* DIR2 in an `ls -lR' listing, 1996 ;; DIR1 < DIR2 if DIR1 comes *before* DIR2 in an `ls -lR' listing,
1997 ;; i.e., iff DIR1 is a (grand)parent dir of DIR2, 1997 ;; i.e., if DIR1 is a (grand)parent dir of DIR2,
1998 ;; or DIR1 and DIR2 are in the same parentdir and their last 1998 ;; or DIR1 and DIR2 are in the same parentdir and their last
1999 ;; components are string-lessp. 1999 ;; components are string-lessp.
2000 ;; Thus ("/usr/" "/usr/bin") and ("/usr/a/" "/usr/b/") are tree-lessp. 2000 ;; Thus ("/usr/" "/usr/bin") and ("/usr/a/" "/usr/b/") are tree-lessp.
diff --git a/lisp/dired.el b/lisp/dired.el
index 1a906093a7a..d263f0b3044 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -2560,12 +2560,12 @@ non-empty directories is allowed."
2560 (cond ;; if split-height-threshold is enabled, use the largest window 2560 (cond ;; if split-height-threshold is enabled, use the largest window
2561 ((and (> (window-height (setq w2 (get-largest-window))) 2561 ((and (> (window-height (setq w2 (get-largest-window)))
2562 split-height-threshold) 2562 split-height-threshold)
2563 (= (frame-width) (window-width w2))) 2563 (window-full-width-p w2))
2564 (setq window w2)) 2564 (setq window w2))
2565 ;; if the least-recently-used window is big enough, use it 2565 ;; if the least-recently-used window is big enough, use it
2566 ((and (> (window-height (setq w2 (get-lru-window))) 2566 ((and (> (window-height (setq w2 (get-lru-window)))
2567 (* 2 window-min-height)) 2567 (* 2 window-min-height))
2568 (= (frame-width) (window-width w2))) 2568 (window-full-width-p w2))
2569 (setq window w2))) 2569 (setq window w2)))
2570 (save-excursion 2570 (save-excursion
2571 (set-buffer buf) 2571 (set-buffer buf)
diff --git a/lisp/double.el b/lisp/double.el
index 4b1d59ff1ec..0b5cf110fbd 100644
--- a/lisp/double.el
+++ b/lisp/double.el
@@ -186,7 +186,8 @@ use either \\[customize] or the function `double-mode'."
186;;;###autoload 186;;;###autoload
187(defun double-mode (arg) 187(defun double-mode (arg)
188 "Toggle Double mode. 188 "Toggle Double mode.
189With prefix arg, turn Double mode on iff arg is positive. 189With prefix argument ARG, turn Double mode on if ARG is positive, otherwise
190turn it off.
190 191
191When Double mode is on, some keys will insert different strings 192When Double mode is on, some keys will insert different strings
192when pressed twice. See variable `double-map' for details." 193when pressed twice. See variable `double-map' for details."
diff --git a/lisp/ediff-diff.el b/lisp/ediff-diff.el
index 48cd7c79d4e..ec153fde625 100644
--- a/lisp/ediff-diff.el
+++ b/lisp/ediff-diff.el
@@ -867,7 +867,7 @@ one optional arguments, diff-number to refine.")
867 (ediff-make-fine-diffs n 'noforce) 867 (ediff-make-fine-diffs n 'noforce)
868 (ediff-make-fine-diffs n 'skip))) 868 (ediff-make-fine-diffs n 'skip)))
869 869
870 ;; highlight iff fine diffs already exist 870 ;; highlight if fine diffs already exist
871 ((eq ediff-auto-refine 'off) 871 ((eq ediff-auto-refine 'off)
872 (ediff-make-fine-diffs n 'skip)))) 872 (ediff-make-fine-diffs n 'skip))))
873 873
@@ -1459,7 +1459,7 @@ arguments to `skip-chars-forward'."
1459 1459
1460 1460
1461(defun ediff-same-contents (d1 d2 &optional filter-re) 1461(defun ediff-same-contents (d1 d2 &optional filter-re)
1462 "Returns t iff D1 and D2 have the same content. 1462 "Return t if D1 and D2 have the same content.
1463D1 and D2 can either be both directories or both regular files. 1463D1 and D2 can either be both directories or both regular files.
1464Symlinks and the likes are not handled. 1464Symlinks and the likes are not handled.
1465If FILTER-RE is non-nil, recursive checking in directories 1465If FILTER-RE is non-nil, recursive checking in directories
diff --git a/lisp/emacs-lisp/backquote.el b/lisp/emacs-lisp/backquote.el
index 54fcfc3df8a..6daaf001433 100644
--- a/lisp/emacs-lisp/backquote.el
+++ b/lisp/emacs-lisp/backquote.el
@@ -118,10 +118,28 @@ Vectors work just like lists. Nested backquotes are permitted."
118;; constant, 1 => to be unquoted, 2 => to be spliced in. 118;; constant, 1 => to be unquoted, 2 => to be spliced in.
119;; The top-level backquote macro just discards the tag. 119;; The top-level backquote macro just discards the tag.
120 120
121(defun backquote-process (s) 121(defun backquote-delay-process (s level)
122 "Process a (un|back|splice)quote inside a backquote.
123This simply recurses through the body."
124 (let ((exp (backquote-listify (list (backquote-process (nth 1 s) level)
125 (cons 0 (list 'quote (car s))))
126 '(0))))
127 (if (eq (car-safe exp) 'quote)
128 (cons 0 (list 'quote s))
129 (cons 1 exp))))
130
131(defun backquote-process (s &optional level)
132 "Process the body of a backquote.
133S is the body. Returns a cons cell whose cdr is piece of code which
134is the macro-expansion of S, and whose car is a small integer whose value
135can either indicate that the code is constant (0), or not (1), or returns
136a list which should be spliced into its environment (2).
137LEVEL is only used internally and indicates the nesting level:
1380 (the default) is for the toplevel nested inside a single backquote."
139 (unless level (setq level 0))
122 (cond 140 (cond
123 ((vectorp s) 141 ((vectorp s)
124 (let ((n (backquote-process (append s ())))) 142 (let ((n (backquote-process (append s ()) level)))
125 (if (= (car n) 0) 143 (if (= (car n) 0)
126 (cons 0 s) 144 (cons 0 s)
127 (cons 1 (cond 145 (cons 1 (cond
@@ -138,11 +156,15 @@ Vectors work just like lists. Nested backquotes are permitted."
138 s 156 s
139 (list 'quote s)))) 157 (list 'quote s))))
140 ((eq (car s) backquote-unquote-symbol) 158 ((eq (car s) backquote-unquote-symbol)
141 (cons 1 (nth 1 s))) 159 (if (<= level 0)
160 (cons 1 (nth 1 s))
161 (backquote-delay-process s (1- level))))
142 ((eq (car s) backquote-splice-symbol) 162 ((eq (car s) backquote-splice-symbol)
143 (cons 2 (nth 1 s))) 163 (if (<= level 0)
164 (cons 2 (nth 1 s))
165 (backquote-delay-process s (1- level))))
144 ((eq (car s) backquote-backquote-symbol) 166 ((eq (car s) backquote-backquote-symbol)
145 (backquote-process (cdr (backquote-process (nth 1 s))))) 167 (backquote-delay-process s (1+ level)))
146 (t 168 (t
147 (let ((rest s) 169 (let ((rest s)
148 item firstlist list lists expression) 170 item firstlist list lists expression)
@@ -154,11 +176,13 @@ Vectors work just like lists. Nested backquotes are permitted."
154 ;; at the beginning, put them in FIRSTLIST, 176 ;; at the beginning, put them in FIRSTLIST,
155 ;; as a list of tagged values (TAG . FORM). 177 ;; as a list of tagged values (TAG . FORM).
156 ;; If there are any at the end, they go in LIST, likewise. 178 ;; If there are any at the end, they go in LIST, likewise.
157 (while (consp rest) 179 (while (and (consp rest)
158 ;; Turn . (, foo) into (,@ foo). 180 ;; Stop if the cdr is an expression inside a backquote or
159 (if (eq (car rest) backquote-unquote-symbol) 181 ;; unquote since this needs to go recursively through
160 (setq rest (list (list backquote-splice-symbol (nth 1 rest))))) 182 ;; backquote-process.
161 (setq item (backquote-process (car rest))) 183 (not (or (eq (car rest) backquote-unquote-symbol)
184 (eq (car rest) backquote-backquote-symbol))))
185 (setq item (backquote-process (car rest) level))
162 (cond 186 (cond
163 ((= (car item) 2) 187 ((= (car item) 2)
164 ;; Put the nonspliced items before the first spliced item 188 ;; Put the nonspliced items before the first spliced item
@@ -168,8 +192,8 @@ Vectors work just like lists. Nested backquotes are permitted."
168 list nil)) 192 list nil))
169 ;; Otherwise, put any preceding nonspliced items into LISTS. 193 ;; Otherwise, put any preceding nonspliced items into LISTS.
170 (if list 194 (if list
171 (setq lists (cons (backquote-listify list '(0 . nil)) lists))) 195 (push (backquote-listify list '(0 . nil)) lists))
172 (setq lists (cons (cdr item) lists)) 196 (push (cdr item) lists)
173 (setq list nil)) 197 (setq list nil))
174 (t 198 (t
175 (setq list (cons item list)))) 199 (setq list (cons item list))))
@@ -177,8 +201,8 @@ Vectors work just like lists. Nested backquotes are permitted."
177 ;; Handle nonsplicing final elements, and the tail of the list 201 ;; Handle nonsplicing final elements, and the tail of the list
178 ;; (which remains in REST). 202 ;; (which remains in REST).
179 (if (or rest list) 203 (if (or rest list)
180 (setq lists (cons (backquote-listify list (backquote-process rest)) 204 (push (backquote-listify list (backquote-process rest level))
181 lists))) 205 lists))
182 ;; Turn LISTS into a form that produces the combined list. 206 ;; Turn LISTS into a form that produces the combined list.
183 (setq expression 207 (setq expression
184 (if (or (cdr lists) 208 (if (or (cdr lists)
@@ -221,5 +245,5 @@ Vectors work just like lists. Nested backquotes are permitted."
221 tail)) 245 tail))
222 (t (cons 'list heads))))) 246 (t (cons 'list heads)))))
223 247
224;;; arch-tag: 1a26206a-6b5e-4c56-8e24-2eef0f7e0e7a 248;; arch-tag: 1a26206a-6b5e-4c56-8e24-2eef0f7e0e7a
225;;; backquote.el ends here 249;;; backquote.el ends here
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
index 811dc699bd0..82a5cf0a75a 100644
--- a/lisp/emacs-lisp/byte-opt.el
+++ b/lisp/emacs-lisp/byte-opt.el
@@ -564,7 +564,7 @@
564 (cons fn args))))))) 564 (cons fn args)))))))
565 565
566(defun byte-optimize-all-constp (list) 566(defun byte-optimize-all-constp (list)
567 "Non-nil iff all elements of LIST satisfy `byte-compile-constp'." 567 "Non-nil if all elements of LIST satisfy `byte-compile-constp'."
568 (let ((constant t)) 568 (let ((constant t))
569 (while (and list constant) 569 (while (and list constant)
570 (unless (byte-compile-constp (car list)) 570 (unless (byte-compile-constp (car list))
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index 862a7efe046..e1835d75fcb 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -1243,7 +1243,8 @@ generating a buffered list of errors."
1243;;;###autoload 1243;;;###autoload
1244(define-minor-mode checkdoc-minor-mode 1244(define-minor-mode checkdoc-minor-mode
1245 "Toggle Checkdoc minor mode, a mode for checking Lisp doc strings. 1245 "Toggle Checkdoc minor mode, a mode for checking Lisp doc strings.
1246With prefix ARG, turn Checkdoc minor mode on iff ARG is positive. 1246With prefix ARG, turn Checkdoc minor mode on if ARG is positive, otherwise
1247turn it off.
1247 1248
1248In Checkdoc minor mode, the usual bindings for `eval-defun' which is 1249In Checkdoc minor mode, the usual bindings for `eval-defun' which is
1249bound to \\<checkdoc-minor-mode-map>\\[checkdoc-eval-defun] and `checkdoc-eval-current-buffer' are overridden to include 1250bound to \\<checkdoc-minor-mode-map>\\[checkdoc-eval-defun] and `checkdoc-eval-current-buffer' are overridden to include
diff --git a/lisp/emacs-lisp/easymenu.el b/lisp/emacs-lisp/easymenu.el
index 5a7dc53e917..b802d8acd43 100644
--- a/lisp/emacs-lisp/easymenu.el
+++ b/lisp/emacs-lisp/easymenu.el
@@ -546,7 +546,7 @@ earlier by `easy-menu-define' or `easy-menu-create-menu'."
546 (easy-menu-define-key map (easy-menu-intern (car item)) (cdr item) before))) 546 (easy-menu-define-key map (easy-menu-intern (car item)) (cdr item) before)))
547 547
548(defun easy-menu-item-present-p (map path name) 548(defun easy-menu-item-present-p (map path name)
549 "In submenu of MAP with path PATH, return non-nil iff item NAME is present. 549 "In submenu of MAP with path PATH, return non-nil if item NAME is present.
550MAP and PATH are defined as in `easy-menu-add-item'. 550MAP and PATH are defined as in `easy-menu-add-item'.
551NAME should be a string, the name of the element to be looked for." 551NAME should be a string, the name of the element to be looked for."
552 (easy-menu-return-item (easy-menu-get-map map path) name)) 552 (easy-menu-return-item (easy-menu-get-map map path) name))
diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el
index 957c5b23541..ae150078785 100644
--- a/lisp/emacs-lisp/rx.el
+++ b/lisp/emacs-lisp/rx.el
@@ -554,7 +554,7 @@ appended to R will apply to all of R. For example, \"a\"
554 554
555This function may return false negatives, but it will not 555This function may return false negatives, but it will not
556return false positives. It is nevertheless useful in 556return false positives. It is nevertheless useful in
557situations where an efficiency shortcut can be taken iff a 557situations where an efficiency shortcut can be taken only if a
558regexp is atomic. The function can be improved to detect 558regexp is atomic. The function can be improved to detect
559more cases of atomic regexps. Presently, this function 559more cases of atomic regexps. Presently, this function
560detects the following categories of atomic regexp; 560detects the following categories of atomic regexp;
diff --git a/lisp/emacs-lisp/unsafep.el b/lisp/emacs-lisp/unsafep.el
index bf52acef382..d7dd1f19300 100644
--- a/lisp/emacs-lisp/unsafep.el
+++ b/lisp/emacs-lisp/unsafep.el
@@ -212,7 +212,7 @@ of symbols with local bindings."
212 212
213 213
214(defun unsafep-function (fun) 214(defun unsafep-function (fun)
215 "Return nil iff FUN is a safe function. 215 "Return nil if FUN is a safe function.
216\(either a safe lambda or a symbol that names a safe function). Otherwise 216\(either a safe lambda or a symbol that names a safe function). Otherwise
217result is a reason code." 217result is a reason code."
218 (cond 218 (cond
diff --git a/lisp/emulation/tpu-edt.el b/lisp/emulation/tpu-edt.el
index f3792b92e42..81187112a66 100644
--- a/lisp/emulation/tpu-edt.el
+++ b/lisp/emulation/tpu-edt.el
@@ -792,10 +792,13 @@ Create the key map if necessary."
792 (use-local-map tpu-buffer-local-map))) 792 (use-local-map tpu-buffer-local-map)))
793 (local-set-key key func)) 793 (local-set-key key func))
794 794
795(defun tpu-current-line nil 795(defun tpu-current-line ()
796 "Return the vertical position of point in the selected window. 796 "Return the vertical position of point in the selected window.
797Top line is 0. Counts each text line only once, even if it wraps." 797Top line is 0. Counts each text line only once, even if it wraps."
798 (+ (count-lines (window-start) (point)) (if (= (current-column) 0) 1 0) -1)) 798 (or
799 (cdr (nth 6 (posn-at-point)))
800 (if (eq (window-start) (point)) 0
801 (1- (count-screen-lines (window-start) (point) 'count-final-newline)))))
799 802
800 803
801;;; 804;;;
@@ -2422,6 +2425,7 @@ If FILE is nil, try to load a default file. The default file names are
2422 (if (eq tpu-global-map parent) 2425 (if (eq tpu-global-map parent)
2423 (set-keymap-parent map (keymap-parent parent)) 2426 (set-keymap-parent map (keymap-parent parent))
2424 (setq map parent))))) 2427 (setq map parent)))))
2428 (ad-disable-regexp "\\`tpu-")
2425 (setq tpu-edt-mode nil)) 2429 (setq tpu-edt-mode nil))
2426 2430
2427(provide 'tpu-edt) 2431(provide 'tpu-edt)
diff --git a/lisp/emulation/tpu-extras.el b/lisp/emulation/tpu-extras.el
index 019896c0eb2..609ce2e203b 100644
--- a/lisp/emulation/tpu-extras.el
+++ b/lisp/emulation/tpu-extras.el
@@ -141,13 +141,11 @@ the previous line when starting from a line beginning."
141 141
142(add-hook 'picture-mode-hook 'tpu-set-cursor-free) 142(add-hook 'picture-mode-hook 'tpu-set-cursor-free)
143 143
144(defun tpu-write-file-hook nil 144(defun tpu-before-save-hook ()
145 "Eliminate whitespace at ends of lines, if the cursor is free." 145 "Eliminate whitespace at ends of lines, if the cursor is free."
146 (if (and (buffer-modified-p) tpu-cursor-free) (tpu-trim-line-ends))) 146 (if (and (buffer-modified-p) tpu-cursor-free) (tpu-trim-line-ends)))
147 147
148(or (memq 'tpu-write-file-hook write-file-functions) 148(add-hook 'before-save-hook 'tpu-before-save-hook)
149 (setq write-file-functions
150 (cons 'tpu-write-file-hook write-file-functions)))
151 149
152 150
153;;; Utility routines for implementing scroll margins 151;;; Utility routines for implementing scroll margins
@@ -246,7 +244,7 @@ Accepts a prefix argument for the number of lines to move."
246 (end-of-line (- 1 num)))) 244 (end-of-line (- 1 num))))
247 (tpu-top-check beg num))) 245 (tpu-top-check beg num)))
248 246
249(defun tpu-current-end-of-line nil 247(defun tpu-current-end-of-line ()
250 "Move point to end of current line." 248 "Move point to end of current line."
251 (interactive) 249 (interactive)
252 (let ((beg (point))) 250 (let ((beg (point)))
@@ -392,41 +390,24 @@ A repeat count means scroll that many sections."
392 390
393 391
394 392
395;;; Replace the newline, newline-and-indent, and do-auto-fill functions 393;; Advise the newline, newline-and-indent, and do-auto-fill functions.
396 394(defadvice newline (around tpu-respect-bottom-scroll-margin activate disable)
397(or (fboundp 'tpu-old-newline) 395 "Respect `tpu-bottom-scroll-margin'."
398 (fset 'tpu-old-newline (symbol-function 'newline))) 396 (let ((beg (tpu-current-line))
399(or (fboundp 'tpu-old-do-auto-fill) 397 (num (prefix-numeric-value (ad-get-arg 0))))
400 (fset 'tpu-old-do-auto-fill (symbol-function 'do-auto-fill))) 398 ad-do-it
401(or (fboundp 'tpu-old-newline-and-indent)
402 (fset 'tpu-old-newline-and-indent (symbol-function 'newline-and-indent)))
403
404(defun newline (&optional num)
405 "Insert a newline. With arg, insert that many newlines.
406In Auto Fill mode, can break the preceding line if no numeric arg.
407This is the TPU-edt version that respects the bottom scroll margin."
408 (interactive "p")
409 (let ((beg (tpu-current-line)))
410 (or num (setq num 1))
411 (tpu-old-newline num)
412 (tpu-bottom-check beg num))) 399 (tpu-bottom-check beg num)))
413 400
414(defun newline-and-indent nil 401(defadvice newline-and-indent (around tpu-respect-bottom-scroll-margin)
415 "Insert a newline, then indent according to major mode. 402 "Respect `tpu-bottom-scroll-margin'."
416Indentation is done using the current indent-line-function.
417In programming language modes, this is the same as TAB.
418In some text modes, where TAB inserts a tab, this indents
419to the specified left-margin column. This is the TPU-edt
420version that respects the bottom scroll margin."
421 (interactive)
422 (let ((beg (tpu-current-line))) 403 (let ((beg (tpu-current-line)))
423 (tpu-old-newline-and-indent) 404 ad-do-it
424 (tpu-bottom-check beg 1))) 405 (tpu-bottom-check beg 1)))
425 406
426(defun do-auto-fill nil 407(defadvice do-auto-fill (around tpu-respect-bottom-scroll-margin)
427 "TPU-edt version that respects the bottom scroll margin." 408 "Respect `tpu-bottom-scroll-margin'."
428 (let ((beg (tpu-current-line))) 409 (let ((beg (tpu-current-line)))
429 (tpu-old-do-auto-fill) 410 ad-do-it
430 (tpu-bottom-check beg 1))) 411 (tpu-bottom-check beg 1)))
431 412
432 413
@@ -440,18 +421,21 @@ version that respects the bottom scroll margin."
440\nsEnter bottom scroll margin (N lines or N%% or RETURN for current value): ") 421\nsEnter bottom scroll margin (N lines or N%% or RETURN for current value): ")
441 ;; set top scroll margin 422 ;; set top scroll margin
442 (or (string= top "") 423 (or (string= top "")
443 (if (string= "%" (substring top -1)) 424 (setq tpu-top-scroll-margin
444 (setq tpu-top-scroll-margin (string-to-number top)) 425 (if (string= "%" (substring top -1))
445 (setq tpu-top-scroll-margin 426 (string-to-number top)
446 (/ (1- (+ (* (string-to-number top) 100) (window-height))) 427 (/ (1- (+ (* (string-to-number top) 100) (window-height)))
447 (window-height))))) 428 (window-height)))))
448 ;; set bottom scroll margin 429 ;; set bottom scroll margin
449 (or (string= bottom "") 430 (or (string= bottom "")
450 (if (string= "%" (substring bottom -1)) 431 (setq tpu-bottom-scroll-margin
451 (setq tpu-bottom-scroll-margin (string-to-number bottom)) 432 (if (string= "%" (substring bottom -1))
452 (setq tpu-bottom-scroll-margin 433 (string-to-number bottom)
453 (/ (1- (+ (* (string-to-number bottom) 100) (window-height))) 434 (/ (1- (+ (* (string-to-number bottom) 100) (window-height)))
454 (window-height))))) 435 (window-height)))))
436 (dolist (f '(newline newline-and-indent do-auto-fill))
437 (ad-enable-advice f 'around 'tpu-respect-bottom-scroll-margin)
438 (ad-activate f))
455 ;; report scroll margin settings if running interactively 439 ;; report scroll margin settings if running interactively
456 (and (interactive-p) 440 (and (interactive-p)
457 (message "Scroll margins set. Top = %s%%, Bottom = %s%%" 441 (message "Scroll margins set. Top = %s%%, Bottom = %s%%"
@@ -461,7 +445,7 @@ version that respects the bottom scroll margin."
461;;; Functions to set cursor bound or free 445;;; Functions to set cursor bound or free
462 446
463;;;###autoload 447;;;###autoload
464(defun tpu-set-cursor-free nil 448(defun tpu-set-cursor-free ()
465 "Allow the cursor to move freely about the screen." 449 "Allow the cursor to move freely about the screen."
466 (interactive) 450 (interactive)
467 (setq tpu-cursor-free t) 451 (setq tpu-cursor-free t)
@@ -471,7 +455,7 @@ version that respects the bottom scroll margin."
471 (message "The cursor will now move freely about the screen.")) 455 (message "The cursor will now move freely about the screen."))
472 456
473;;;###autoload 457;;;###autoload
474(defun tpu-set-cursor-bound nil 458(defun tpu-set-cursor-bound ()
475 "Constrain the cursor to the flow of the text." 459 "Constrain the cursor to the flow of the text."
476 (interactive) 460 (interactive)
477 (tpu-trim-line-ends) 461 (tpu-trim-line-ends)
@@ -481,5 +465,5 @@ version that respects the bottom scroll margin."
481 GOLD-map) 465 GOLD-map)
482 (message "The cursor is now bound to the flow of your text.")) 466 (message "The cursor is now bound to the flow of your text."))
483 467
484;;; arch-tag: 89676fa4-33ec-48cb-9135-6f3bf230ab1a 468;; arch-tag: 89676fa4-33ec-48cb-9135-6f3bf230ab1a
485;;; tpu-extras.el ends here 469;;; tpu-extras.el ends here
diff --git a/lisp/emulation/vi.el b/lisp/emulation/vi.el
index 54fb2d1e997..977a7980803 100644
--- a/lisp/emulation/vi.el
+++ b/lisp/emulation/vi.el
@@ -788,7 +788,7 @@ The given COUNT is remembered for future scrollings."
788 "Go down count lines, try to keep at the same column." 788 "Go down count lines, try to keep at the same column."
789 (interactive "p") 789 (interactive "p")
790 (setq this-command 'next-line) ; this is a needed trick 790 (setq this-command 'next-line) ; this is a needed trick
791 (if (= (point) (or (line-move count) (point))) 791 (if (= (point) (progn (line-move count) (point)))
792 (ding) ; no moving, already at end of buffer 792 (ding) ; no moving, already at end of buffer
793 (setq last-command 'next-line))) 793 (setq last-command 'next-line)))
794 794
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog
index a5b2a8100a8..43f4c230d14 100644
--- a/lisp/erc/ChangeLog
+++ b/lisp/erc/ChangeLog
@@ -1,3 +1,7 @@
12007-08-08 Glenn Morris <rgm@gnu.org>
2
3 * erc-log.el, erc.el: Replace `iff' in doc-strings and comments.
4
12007-07-30 Michael Olson <mwolson@gnu.org> 52007-07-30 Michael Olson <mwolson@gnu.org>
2 6
3 * erc-nicklist.el: Remove from the Emacs source tree. This file 7 * erc-nicklist.el: Remove from the Emacs source tree. This file
diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el
index 194f8ae6bf1..88132afae0c 100644
--- a/lisp/erc/erc-log.el
+++ b/lisp/erc/erc-log.el
@@ -261,7 +261,7 @@ The current buffer is given by BUFFER."
261 261
262(defun erc-log-all-but-server-buffers (buffer) 262(defun erc-log-all-but-server-buffers (buffer)
263 "Returns t if logging should be enabled in BUFFER. 263 "Returns t if logging should be enabled in BUFFER.
264Returns nil iff `erc-server-buffer-p' returns t." 264Returns nil if `erc-server-buffer-p' returns t."
265 (save-excursion 265 (save-excursion
266 (save-window-excursion 266 (save-window-excursion
267 (set-buffer buffer) 267 (set-buffer buffer)
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index d5a823ac825..c26bdf2a19f 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -3958,7 +3958,7 @@ and always returns t."
3958(defun erc-echo-notice-in-target-buffer (s parsed buffer sender) 3958(defun erc-echo-notice-in-target-buffer (s parsed buffer sender)
3959 "Echos a private notice in BUFFER, if BUFFER is non-nil. This 3959 "Echos a private notice in BUFFER, if BUFFER is non-nil. This
3960function is designed to be added to either `erc-echo-notice-hook' 3960function is designed to be added to either `erc-echo-notice-hook'
3961or `erc-echo-notice-always-hook', and returns non-nil iff BUFFER 3961or `erc-echo-notice-always-hook', and returns non-nil if BUFFER
3962is non-nil." 3962is non-nil."
3963 (if buffer 3963 (if buffer
3964 (progn (erc-display-message parsed nil buffer s) t) 3964 (progn (erc-display-message parsed nil buffer s) t)
@@ -3982,7 +3982,7 @@ designed to be added to either `erc-echo-notice-hook' or
3982 "Echos a private notice in the active buffer if the active 3982 "Echos a private notice in the active buffer if the active
3983buffer is not the server buffer. This function is designed to be 3983buffer is not the server buffer. This function is designed to be
3984added to either `erc-echo-notice-hook' or 3984added to either `erc-echo-notice-hook' or
3985`erc-echo-notice-always-hook', and returns non-nil iff the active 3985`erc-echo-notice-always-hook', and returns non-nil if the active
3986buffer is not the server buffer." 3986buffer is not the server buffer."
3987 (if (not (eq (erc-server-buffer) (erc-active-buffer))) 3987 (if (not (eq (erc-server-buffer) (erc-active-buffer)))
3988 (progn (erc-display-message parsed nil 'active s) t) 3988 (progn (erc-display-message parsed nil 'active s) t)
@@ -3999,7 +3999,7 @@ designed to be added to either `erc-echo-notice-hook' or
3999 "Echos a private notice in all of the buffers for which SENDER 3999 "Echos a private notice in all of the buffers for which SENDER
4000is a member. This function is designed to be added to either 4000is a member. This function is designed to be added to either
4001`erc-echo-notice-hook' or `erc-echo-notice-always-hook', and 4001`erc-echo-notice-hook' or `erc-echo-notice-always-hook', and
4002returns non-nil iff there is at least one buffer for which the 4002returns non-nil if there is at least one buffer for which the
4003sender is a member. 4003sender is a member.
4004 4004
4005See also: `erc-echo-notice-in-first-user-buffer', 4005See also: `erc-echo-notice-in-first-user-buffer',
@@ -4013,7 +4013,7 @@ See also: `erc-echo-notice-in-first-user-buffer',
4013 "Echos a private notice in BUFFER and in all of the buffers for 4013 "Echos a private notice in BUFFER and in all of the buffers for
4014which SENDER is a member. This function is designed to be added 4014which SENDER is a member. This function is designed to be added
4015to either `erc-echo-notice-hook' or 4015to either `erc-echo-notice-hook' or
4016`erc-echo-notice-always-hook', and returns non-nil iff there is 4016`erc-echo-notice-always-hook', and returns non-nil if there is
4017at least one buffer for which the sender is a member or the 4017at least one buffer for which the sender is a member or the
4018default target. 4018default target.
4019 4019
@@ -4029,7 +4029,7 @@ See also: `erc-echo-notice-in-user-buffers',
4029 "Echos a private notice in one of the buffers for which SENDER 4029 "Echos a private notice in one of the buffers for which SENDER
4030is a member. This function is designed to be added to either 4030is a member. This function is designed to be added to either
4031`erc-echo-notice-hook' or `erc-echo-notice-always-hook', and 4031`erc-echo-notice-hook' or `erc-echo-notice-always-hook', and
4032returns non-nil iff there is at least one buffer for which the 4032returns non-nil if there is at least one buffer for which the
4033sender is a member. 4033sender is a member.
4034 4034
4035See also: `erc-echo-notice-in-user-buffers', 4035See also: `erc-echo-notice-in-user-buffers',
@@ -4938,7 +4938,7 @@ Specifically, return the position of `erc-insert-marker'."
4938(defun erc-send-input (input) 4938(defun erc-send-input (input)
4939 "Treat INPUT as typed in by the user. It is assumed that the input 4939 "Treat INPUT as typed in by the user. It is assumed that the input
4940and the prompt is already deleted. 4940and the prompt is already deleted.
4941This returns non-nil only iff we actually send anything." 4941This returns non-nil only if we actually send anything."
4942 ;; Handle different kinds of inputs 4942 ;; Handle different kinds of inputs
4943 (cond 4943 (cond
4944 ;; Ignore empty input 4944 ;; Ignore empty input
diff --git a/lisp/files.el b/lisp/files.el
index 3be6c2429cd..94a8c383c5a 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -1937,7 +1937,7 @@ since only a single case-insensitive search through the alist is made."
1937 ;; c++-mode, java-mode and more) are added through autoload 1937 ;; c++-mode, java-mode and more) are added through autoload
1938 ;; directives in that file. That way is discouraged since it 1938 ;; directives in that file. That way is discouraged since it
1939 ;; spreads out the definition of the initial value. 1939 ;; spreads out the definition of the initial value.
1940 (mapc 1940 (mapcar
1941 (lambda (elt) 1941 (lambda (elt)
1942 (cons (purecopy (car elt)) (cdr elt))) 1942 (cons (purecopy (car elt)) (cdr elt)))
1943 `(;; do this first, so that .html.pl is Polish html, not Perl 1943 `(;; do this first, so that .html.pl is Polish html, not Perl
@@ -3993,8 +3993,9 @@ prints a message in the minibuffer. Instead, use `set-buffer-modified-p'."
3993 3993
3994(defun toggle-read-only (&optional arg) 3994(defun toggle-read-only (&optional arg)
3995 "Change whether this buffer is visiting its file read-only. 3995 "Change whether this buffer is visiting its file read-only.
3996With arg, set read-only iff arg is positive. 3996With prefix argument ARG, make the buffer read-only if ARG is
3997If visiting file read-only and `view-read-only' is non-nil, enter view mode." 3997positive, otherwise make it writable. If visiting file read-only
3998and `view-read-only' is non-nil, enter view mode."
3998 (interactive "P") 3999 (interactive "P")
3999 (if (and arg 4000 (if (and arg
4000 (if (> (prefix-numeric-value arg) 0) buffer-read-only 4001 (if (> (prefix-numeric-value arg) 0) buffer-read-only
@@ -4637,7 +4638,7 @@ FILENAME should lack slashes. You can redefine this for customization."
4637 4638
4638(defun wildcard-to-regexp (wildcard) 4639(defun wildcard-to-regexp (wildcard)
4639 "Given a shell file name pattern WILDCARD, return an equivalent regexp. 4640 "Given a shell file name pattern WILDCARD, return an equivalent regexp.
4640The generated regexp will match a filename iff the filename 4641The generated regexp will match a filename only if the filename
4641matches that wildcard according to shell rules. Only wildcards known 4642matches that wildcard according to shell rules. Only wildcards known
4642by `sh' are supported." 4643by `sh' are supported."
4643 (let* ((i (string-match "[[.*+\\^$?]" wildcard)) 4644 (let* ((i (string-match "[[.*+\\^$?]" wildcard))
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index 9ceca1b014f..b74547dbbd6 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -355,7 +355,7 @@ Each element in a user-level keywords list should have one of these forms:
355 355
356where MATCHER can be either the regexp to search for, or the function name to 356where MATCHER can be either the regexp to search for, or the function name to
357call to make the search (called with one argument, the limit of the search; 357call to make the search (called with one argument, the limit of the search;
358it should return non-nil, move point, and set `match-data' appropriately iff 358it should return non-nil, move point, and set `match-data' appropriately if
359it succeeds; like `re-search-forward' would). 359it succeeds; like `re-search-forward' would).
360MATCHER regexps can be generated via the function `regexp-opt'. 360MATCHER regexps can be generated via the function `regexp-opt'.
361 361
@@ -1068,7 +1068,7 @@ that tries to find such elements and move the boundaries such that they do
1068not fall in the middle of one. 1068not fall in the middle of one.
1069Each function is called with no argument; it is expected to adjust the 1069Each function is called with no argument; it is expected to adjust the
1070dynamically bound variables `font-lock-beg' and `font-lock-end'; and return 1070dynamically bound variables `font-lock-beg' and `font-lock-end'; and return
1071non-nil iff it did make such an adjustment. 1071non-nil if it did make such an adjustment.
1072These functions are run in turn repeatedly until they all return nil. 1072These functions are run in turn repeatedly until they all return nil.
1073Put first the functions more likely to cause a change and cheaper to compute.") 1073Put first the functions more likely to cause a change and cheaper to compute.")
1074;; Mark it as a special hook which doesn't use any global setting 1074;; Mark it as a special hook which doesn't use any global setting
@@ -1746,7 +1746,7 @@ A LEVEL of nil is equal to a LEVEL of 0, a LEVEL of t is equal to
1746 "Set fontification defaults appropriately for this mode. 1746 "Set fontification defaults appropriately for this mode.
1747Sets various variables using `font-lock-defaults' (or, if nil, using 1747Sets various variables using `font-lock-defaults' (or, if nil, using
1748`font-lock-defaults-alist') and `font-lock-maximum-decoration'." 1748`font-lock-defaults-alist') and `font-lock-maximum-decoration'."
1749 ;; Set fontification defaults iff not previously set for correct major mode. 1749 ;; Set fontification defaults if not previously set for correct major mode.
1750 (unless (and font-lock-set-defaults 1750 (unless (and font-lock-set-defaults
1751 (eq font-lock-mode-major-mode major-mode)) 1751 (eq font-lock-mode-major-mode major-mode))
1752 (setq font-lock-mode-major-mode major-mode) 1752 (setq font-lock-mode-major-mode major-mode)
diff --git a/lisp/frame.el b/lisp/frame.el
index 863524d8add..3246efc31a1 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -1332,9 +1332,9 @@ itself as a pre-command hook."
1332 1332
1333(define-minor-mode blink-cursor-mode 1333(define-minor-mode blink-cursor-mode
1334 "Toggle blinking cursor mode. 1334 "Toggle blinking cursor mode.
1335With a numeric argument, turn blinking cursor mode on iff ARG is positive. 1335With a numeric argument, turn blinking cursor mode on if ARG is positive,
1336When blinking cursor mode is enabled, the cursor of the selected 1336otherwise turn it off. When blinking cursor mode is enabled, the
1337window blinks. 1337cursor of the selected window blinks.
1338 1338
1339Note that this command is effective only when Emacs 1339Note that this command is effective only when Emacs
1340displays through a window system, because then Emacs does its own 1340displays through a window system, because then Emacs does its own
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 83ca62ca0de..7fd187a4aeb 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,23 @@
12007-08-10 Katsumi Yamaoka <yamaoka@jpl.org>
2
3 * nntp.el (nntp-xref-number-is-evil): New server variable.
4 (nntp-find-group-and-number): If it is non-nil, don't trust article
5 numbers in the Xref header.
6
72007-08-06 Katsumi Yamaoka <yamaoka@jpl.org>
8
9 * gnus-ems.el (gnus-x-splash): Bind inhibit-read-only to t.
10
112007-08-04 Reiner Steib <Reiner.Steib@gmx.de>
12
13 * gnus-art.el (article-hide-headers): Bind inhibit-read-only to t.
14
152007-08-08 Glenn Morris <rgm@gnu.org>
16
17 * gmm-utils.el, gnus-async.el, gnus-msg.el, gnus-score.el
18 * gnus-util.el, imap.el, mailcap.el, nnimap.el: Replace `iff' in
19 doc-strings and comments.
20
12007-07-25 Glenn Morris <rgm@gnu.org> 212007-07-25 Glenn Morris <rgm@gnu.org>
2 22
3 * Relicense all FSF files to GPLv3 or later. 23 * Relicense all FSF files to GPLv3 or later.
diff --git a/lisp/gnus/gmm-utils.el b/lisp/gnus/gmm-utils.el
index d7e3c344b0e..71a0662f35a 100644
--- a/lisp/gnus/gmm-utils.el
+++ b/lisp/gnus/gmm-utils.el
@@ -79,7 +79,7 @@ ARGS are passed to `message'."
79 79
80;;;###autoload 80;;;###autoload
81(defun gmm-widget-p (symbol) 81(defun gmm-widget-p (symbol)
82 "Non-nil iff SYMBOL is a widget." 82 "Non-nil if SYMBOL is a widget."
83 (get symbol 'widget-type)) 83 (get symbol 'widget-type))
84 84
85;; Copy of the `nnmail-lazy' code from `nnmail.el': 85;; Copy of the `nnmail-lazy' code from `nnmail.el':
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 40de10187f3..6ccba3b108f 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -1743,7 +1743,7 @@ Initialized from `text-mode-syntax-table.")
1743 (interactive) 1743 (interactive)
1744 ;; This function might be inhibited. 1744 ;; This function might be inhibited.
1745 (unless gnus-inhibit-hiding 1745 (unless gnus-inhibit-hiding
1746 (let ((inhibit-read-only nil) 1746 (let ((inhibit-read-only t)
1747 (case-fold-search t) 1747 (case-fold-search t)
1748 (max (1+ (length gnus-sorted-header-list))) 1748 (max (1+ (length gnus-sorted-header-list)))
1749 (inhibit-point-motion-hooks t) 1749 (inhibit-point-motion-hooks t)
diff --git a/lisp/gnus/gnus-async.el b/lisp/gnus/gnus-async.el
index 3493d51950d..a06724855c5 100644
--- a/lisp/gnus/gnus-async.el
+++ b/lisp/gnus/gnus-async.el
@@ -320,7 +320,7 @@ It should return non-nil if the article is to be prefetched."
320 (pop alist)))))) 320 (pop alist))))))
321 321
322(defun gnus-async-prefetched-article-entry (group article) 322(defun gnus-async-prefetched-article-entry (group article)
323 "Return the entry for ARTICLE in GROUP iff it has been prefetched." 323 "Return the entry for ARTICLE in GROUP if it has been prefetched."
324 (let ((entry (save-excursion 324 (let ((entry (save-excursion
325 (gnus-async-set-buffer) 325 (gnus-async-set-buffer)
326 (assq (intern (format "%s-%d" group article) 326 (assq (intern (format "%s-%d" group article)
diff --git a/lisp/gnus/gnus-ems.el b/lisp/gnus/gnus-ems.el
index bacf5581e0d..88190b8085b 100644
--- a/lisp/gnus/gnus-ems.el
+++ b/lisp/gnus/gnus-ems.el
@@ -179,7 +179,7 @@
179 (interactive-p)) 179 (interactive-p))
180 "*gnus-x-splash*" 180 "*gnus-x-splash*"
181 gnus-group-buffer))) 181 gnus-group-buffer)))
182 (let ((inhibit-read-only nil) 182 (let ((inhibit-read-only t)
183 (file (nnheader-find-etc-directory "images/gnus/x-splash" t)) 183 (file (nnheader-find-etc-directory "images/gnus/x-splash" t))
184 pixmap fcw fch width height fringes sbars left yoffset top ls) 184 pixmap fcw fch width height fringes sbars left yoffset top ls)
185 (erase-buffer) 185 (erase-buffer)
diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el
index c9aedab7019..f8e4a7a67d0 100644
--- a/lisp/gnus/gnus-msg.el
+++ b/lisp/gnus/gnus-msg.el
@@ -260,15 +260,15 @@ See also the `mml-default-encrypt-method' variable."
260This is done because new users often reply by mistake when reading 260This is done because new users often reply by mistake when reading
261news. 261news.
262This can also be a function receiving the group name as the only 262This can also be a function receiving the group name as the only
263parameter which should return non-nil iff a confirmation is needed, or 263parameter, which should return non-nil if a confirmation is needed; or
264a regexp, in which case a confirmation is asked for iff the group name 264a regexp, in which case a confirmation is asked for if the group name
265matches the regexp." 265matches the regexp."
266 :version "22.1" 266 :version "22.1"
267 :group 'gnus-message 267 :group 'gnus-message
268 :type '(choice (const :tag "No" nil) 268 :type '(choice (const :tag "No" nil)
269 (const :tag "Yes" t) 269 (const :tag "Yes" t)
270 (regexp :tag "Iff group matches regexp") 270 (regexp :tag "If group matches regexp")
271 (function :tag "Iff function evaluates to non-nil"))) 271 (function :tag "If function evaluates to non-nil")))
272 272
273(defcustom gnus-confirm-treat-mail-like-news 273(defcustom gnus-confirm-treat-mail-like-news
274 nil 274 nil
diff --git a/lisp/gnus/gnus-score.el b/lisp/gnus/gnus-score.el
index e833c8ccc6a..f7ba9222937 100644
--- a/lisp/gnus/gnus-score.el
+++ b/lisp/gnus/gnus-score.el
@@ -381,7 +381,7 @@ If nil, the user will be asked for a match type."
381 (const :tag "ask" nil))) 381 (const :tag "ask" nil)))
382 382
383(defcustom gnus-score-default-fold nil 383(defcustom gnus-score-default-fold nil
384 "Use case folding for new score file entries iff not nil." 384 "Non-nil means use case folding for new score file entries."
385 :group 'gnus-score-default 385 :group 'gnus-score-default
386 :type 'boolean) 386 :type 'boolean)
387 387
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el
index d065acd75ea..74aacdd2860 100644
--- a/lisp/gnus/gnus-util.el
+++ b/lisp/gnus/gnus-util.el
@@ -1108,7 +1108,7 @@ Return the modified alist."
1108 `(setq ,alist (delq (,fun ,key ,alist) ,alist)))) 1108 `(setq ,alist (delq (,fun ,key ,alist) ,alist))))
1109 1109
1110(defun gnus-globalify-regexp (re) 1110(defun gnus-globalify-regexp (re)
1111 "Return a regexp that matches a whole line, iff RE matches a part of it." 1111 "Return a regexp that matches a whole line, if RE matches a part of it."
1112 (concat (unless (string-match "^\\^" re) "^.*") 1112 (concat (unless (string-match "^\\^" re) "^.*")
1113 re 1113 re
1114 (unless (string-match "\\$$" re) ".*$"))) 1114 (unless (string-match "\\$$" re) ".*$")))
diff --git a/lisp/gnus/imap.el b/lisp/gnus/imap.el
index abe1c7e1c9e..f60801e9ba8 100644
--- a/lisp/gnus/imap.el
+++ b/lisp/gnus/imap.el
@@ -1581,7 +1581,7 @@ is non-nil return these properties."
1581 (imap-mailbox-get-1 'search imap-current-mailbox))))) 1581 (imap-mailbox-get-1 'search imap-current-mailbox)))))
1582 1582
1583(defun imap-message-flag-permanent-p (flag &optional mailbox buffer) 1583(defun imap-message-flag-permanent-p (flag &optional mailbox buffer)
1584 "Return t iff FLAG can be permanently (between IMAP sessions) saved on articles, in MAILBOX on server in BUFFER." 1584 "Return t if FLAG can be permanently (between IMAP sessions) saved on articles, in MAILBOX on server in BUFFER."
1585 (with-current-buffer (or buffer (current-buffer)) 1585 (with-current-buffer (or buffer (current-buffer))
1586 (or (member "\\*" (imap-mailbox-get 'permanentflags mailbox)) 1586 (or (member "\\*" (imap-mailbox-get 'permanentflags mailbox))
1587 (member flag (imap-mailbox-get 'permanentflags mailbox))))) 1587 (member flag (imap-mailbox-get 'permanentflags mailbox)))))
diff --git a/lisp/gnus/mailcap.el b/lisp/gnus/mailcap.el
index 422b99d0e0f..e8b624aa546 100644
--- a/lisp/gnus/mailcap.el
+++ b/lisp/gnus/mailcap.el
@@ -538,7 +538,7 @@ MAILCAPS if set; otherwise (on Unix) use the path from RFC 1524, plus
538 results))) 538 results)))
539 539
540(defun mailcap-mailcap-entry-passes-test (info) 540(defun mailcap-mailcap-entry-passes-test (info)
541 "Return non-nil iff mailcap entry INFO passes its test clause. 541 "Return non-nil if mailcap entry INFO passes its test clause.
542Also return non-nil if no test clause is present." 542Also return non-nil if no test clause is present."
543 (let ((test (assq 'test info)) ; The test clause 543 (let ((test (assq 'test info)) ; The test clause
544 status) 544 status)
@@ -631,7 +631,7 @@ Also return non-nil if no test clause is present."
631(defvar mailcap-viewer-test-cache nil) 631(defvar mailcap-viewer-test-cache nil)
632 632
633(defun mailcap-viewer-passes-test (viewer-info type-info) 633(defun mailcap-viewer-passes-test (viewer-info type-info)
634 "Return non-nil iff viewer specified by VIEWER-INFO passes its test clause. 634 "Return non-nil if viewer specified by VIEWER-INFO passes its test clause.
635Also return non-nil if it has no test clause. TYPE-INFO is an argument 635Also return non-nil if it has no test clause. TYPE-INFO is an argument
636to supply to the test." 636to supply to the test."
637 (let* ((test-info (assq 'test viewer-info)) 637 (let* ((test-info (assq 'test viewer-info))
@@ -704,7 +704,7 @@ If TEST is not given, it defaults to t."
704;;; 704;;;
705 705
706(defun mailcap-viewer-lessp (x y) 706(defun mailcap-viewer-lessp (x y)
707 "Return t iff viewer X is more desirable than viewer Y." 707 "Return t if viewer X is more desirable than viewer Y."
708 (let ((x-wild (string-match "[*?]" (or (cdr-safe (assq 'type x)) ""))) 708 (let ((x-wild (string-match "[*?]" (or (cdr-safe (assq 'type x)) "")))
709 (y-wild (string-match "[*?]" (or (cdr-safe (assq 'type y)) ""))) 709 (y-wild (string-match "[*?]" (or (cdr-safe (assq 'type y)) "")))
710 (x-lisp (not (stringp (or (cdr-safe (assq 'viewer x)) "")))) 710 (x-lisp (not (stringp (or (cdr-safe (assq 'viewer x)) ""))))
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index 235039c3ee9..ba23280658a 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -1645,7 +1645,7 @@ be used in a STORE FLAGS command."
1645 result))) 1645 result)))
1646 1646
1647(defun nnimap-mark-permanent-p (mark &optional group) 1647(defun nnimap-mark-permanent-p (mark &optional group)
1648 "Return t iff MARK can be permanently (between IMAP sessions) saved on articles, in GROUP." 1648 "Return t if MARK can be permanently (between IMAP sessions) saved on articles, in GROUP."
1649 (imap-message-flag-permanent-p (nnimap-mark-to-flag mark))) 1649 (imap-message-flag-permanent-p (nnimap-mark-to-flag mark)))
1650 1650
1651(when nnimap-debug 1651(when nnimap-debug
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el
index 869213c9ae5..2623df58e4d 100644
--- a/lisp/gnus/nntp.el
+++ b/lisp/gnus/nntp.el
@@ -183,6 +183,14 @@ by one.")
183If the gap between two consecutive articles is bigger than this 183If the gap between two consecutive articles is bigger than this
184variable, split the XOVER request into two requests.") 184variable, split the XOVER request into two requests.")
185 185
186(defvoo nntp-xref-number-is-evil nil
187 "*If non-nil, Gnus never trusts article numbers in the Xref header.
188Some news servers, e.g., ones running Diablo, run multiple engines
189having the same articles but article numbers are not kept synchronized
190between them. If you connect to such a server, set this to a non-nil
191value, and Gnus never uses article numbers (that appear in the Xref
192header and vary by which engine is chosen) to refer to articles.")
193
186(defvoo nntp-prepare-server-hook nil 194(defvoo nntp-prepare-server-hook nil
187 "*Hook run before a server is opened. 195 "*Hook run before a server is opened.
188If can be used to set up a server remotely, for instance. Say you 196If can be used to set up a server remotely, for instance. Say you
@@ -1632,7 +1640,8 @@ password contained in '~/.nntp-authinfo'."
1632 (match-string 1 xref)) 1640 (match-string 1 xref))
1633 (t ""))) 1641 (t "")))
1634 (cond 1642 (cond
1635 ((and (setq xref (mail-fetch-field "xref")) 1643 ((and (not nntp-xref-number-is-evil)
1644 (setq xref (mail-fetch-field "xref"))
1636 (string-match 1645 (string-match
1637 (if group 1646 (if group
1638 (concat "\\(" (regexp-quote group) "\\):\\([0-9]+\\)") 1647 (concat "\\(" (regexp-quote group) "\\):\\([0-9]+\\)")
diff --git a/lisp/help.el b/lisp/help.el
index f75e26f93e6..4a94fd35bc7 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -958,14 +958,14 @@ This applies to `help', `apropos' and `completion' buffers, and some others."
958 (remove-hook 'temp-buffer-show-hook 'resize-temp-buffer-window))) 958 (remove-hook 'temp-buffer-show-hook 'resize-temp-buffer-window)))
959 959
960(defun resize-temp-buffer-window () 960(defun resize-temp-buffer-window ()
961 "Resize the current window to fit its contents. 961 "Resize the selected window to fit its contents.
962Will not make it higher than `temp-buffer-max-height' nor smaller than 962Will not make it higher than `temp-buffer-max-height' nor smaller than
963`window-min-height'. Do nothing if it is the only window on its frame, if it 963`window-min-height'. Do nothing if it is the only window on its frame, if it
964is not as wide as the frame or if some of the window's contents are scrolled 964is not as wide as the frame or if some of the window's contents are scrolled
965out of view." 965out of view."
966 (unless (or (one-window-p 'nomini) 966 (unless (or (one-window-p 'nomini)
967 (not (pos-visible-in-window-p (point-min))) 967 (not (pos-visible-in-window-p (point-min)))
968 (/= (frame-width) (window-width))) 968 (not (window-full-width-p)))
969 (fit-window-to-buffer 969 (fit-window-to-buffer
970 (selected-window) 970 (selected-window)
971 (if (functionp temp-buffer-max-height) 971 (if (functionp temp-buffer-max-height)
diff --git a/lisp/hilit-chg.el b/lisp/hilit-chg.el
index b1238b66419..a167b2bc1e7 100644
--- a/lisp/hilit-chg.el
+++ b/lisp/hilit-chg.el
@@ -131,7 +131,7 @@
131;; an example, if the value is `buffer-file-name' then all buffers 131;; an example, if the value is `buffer-file-name' then all buffers
132;; who are visiting files are suitable, but others (like dired 132;; who are visiting files are suitable, but others (like dired
133;; buffers) are not; 133;; buffers) are not;
134;; * a list -- then the buffer is suitable iff its mode is in the 134;; * a list -- then the buffer is suitable if its mode is in the
135;; list, except if the first element is `not', in which case the test 135;; list, except if the first element is `not', in which case the test
136;; is reversed (i.e. it is a list of unsuitable modes). 136;; is reversed (i.e. it is a list of unsuitable modes).
137;; * Otherwise, the buffer is suitable if its name does not begin with 137;; * Otherwise, the buffer is suitable if its name does not begin with
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el
index b077342e5f5..7847bed6f2d 100644
--- a/lisp/ibuf-ext.el
+++ b/lisp/ibuf-ext.el
@@ -1331,7 +1331,7 @@ If a buffer has no filename, it is ignored.
1331With no prefix arg, use the filename sans its directory of each marked file. 1331With no prefix arg, use the filename sans its directory of each marked file.
1332With a zero prefix arg, use the complete filename of each marked file. 1332With a zero prefix arg, use the complete filename of each marked file.
1333With \\[universal-argument], use the filename of each marked file relative 1333With \\[universal-argument], use the filename of each marked file relative
1334to `ibuffer-default-directory' iff non-nil, otherwise `default-directory'. 1334to `ibuffer-default-directory' if non-nil, otherwise `default-directory'.
1335 1335
1336You can then feed the file name(s) to other commands with \\[yank]." 1336You can then feed the file name(s) to other commands with \\[yank]."
1337 (interactive "p") 1337 (interactive "p")
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el
index c4842b9d982..80133d227ab 100644
--- a/lisp/ibuffer.el
+++ b/lisp/ibuffer.el
@@ -1835,7 +1835,7 @@ If point is on a group name, this function operates on that group."
1835 1835
1836(defun ibuffer-map-lines (function &optional nomodify group) 1836(defun ibuffer-map-lines (function &optional nomodify group)
1837 "Call FUNCTION for each buffer. 1837 "Call FUNCTION for each buffer.
1838Don't set the ibuffer modification flag iff NOMODIFY is non-nil. 1838Set the ibuffer modification flag unless NOMODIFY is non-nil.
1839 1839
1840If optional argument GROUP is non-nil, then only call FUNCTION on 1840If optional argument GROUP is non-nil, then only call FUNCTION on
1841buffers in filtering group GROUP. 1841buffers in filtering group GROUP.
@@ -2267,7 +2267,7 @@ If optional arg SILENT is non-nil, do not display progress messages."
2267 2267
2268(defun ibuffer-quit () 2268(defun ibuffer-quit ()
2269 "Quit this `ibuffer' session. 2269 "Quit this `ibuffer' session.
2270Try to restore the previous window configuration iff 2270Try to restore the previous window configuration if
2271`ibuffer-restore-window-config-on-quit' is non-nil." 2271`ibuffer-restore-window-config-on-quit' is non-nil."
2272 (interactive) 2272 (interactive)
2273 (if ibuffer-restore-window-config-on-quit 2273 (if ibuffer-restore-window-config-on-quit
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index d1e8f9cc3f8..44c854f2f46 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -99,7 +99,7 @@ completions - see `icomplete-delay-completions-threshold'."
99(defcustom icomplete-minibuffer-setup-hook nil 99(defcustom icomplete-minibuffer-setup-hook nil
100 "*Icomplete-specific customization of minibuffer setup. 100 "*Icomplete-specific customization of minibuffer setup.
101 101
102This hook is run during minibuffer setup iff icomplete will be active. 102This hook is run during minibuffer setup if icomplete is active.
103It is intended for use in customizing icomplete for interoperation 103It is intended for use in customizing icomplete for interoperation
104with other features and packages. For instance: 104with other features and packages. For instance:
105 105
@@ -168,7 +168,8 @@ except those on this list.")
168;;;###autoload 168;;;###autoload
169(define-minor-mode icomplete-mode 169(define-minor-mode icomplete-mode
170 "Toggle incremental minibuffer completion for this Emacs session. 170 "Toggle incremental minibuffer completion for this Emacs session.
171With a numeric argument, turn Icomplete mode on iff ARG is positive." 171With a numeric argument, turn Icomplete mode on if ARG is positive,
172otherwise turn it off."
172 :global t :group 'icomplete 173 :global t :group 'icomplete
173 (if icomplete-mode 174 (if icomplete-mode
174 ;; The following is not really necessary after first time - 175 ;; The following is not really necessary after first time -
diff --git a/lisp/ido.el b/lisp/ido.el
index e5c4b644f95..ca44e99b594 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -898,7 +898,7 @@ See documentation of `walk-windows' for useful values.")
898(defcustom ido-minibuffer-setup-hook nil 898(defcustom ido-minibuffer-setup-hook nil
899 "*Ido-specific customization of minibuffer setup. 899 "*Ido-specific customization of minibuffer setup.
900 900
901This hook is run during minibuffer setup iff `ido' will be active. 901This hook is run during minibuffer setup if `ido' is active.
902It is intended for use in customizing ido for interoperation 902It is intended for use in customizing ido for interoperation
903with other packages. For instance: 903with other packages. For instance:
904 904
diff --git a/lisp/image.el b/lisp/image.el
index 3b0dd87d1ef..6763cf151fe 100644
--- a/lisp/image.el
+++ b/lisp/image.el
@@ -327,7 +327,7 @@ Image types are symbols like `xbm' or `jpeg'."
327 327
328;;;###autoload 328;;;###autoload
329(defun image-type-auto-detected-p () 329(defun image-type-auto-detected-p ()
330 "Return t iff the current buffer contains an auto-detectable image. 330 "Return t if the current buffer contains an auto-detectable image.
331This function is intended to be used from `magic-fallback-mode-alist'. 331This function is intended to be used from `magic-fallback-mode-alist'.
332 332
333The buffer is considered to contain an auto-detectable image if 333The buffer is considered to contain an auto-detectable image if
diff --git a/lisp/imenu.el b/lisp/imenu.el
index 9aa1f5ea088..6c1de967e66 100644
--- a/lisp/imenu.el
+++ b/lisp/imenu.el
@@ -727,7 +727,7 @@ definitions, etc. It contains a substring which is the name to
727appear in the menu. See the info section on Regexps for more 727appear in the menu. See the info section on Regexps for more
728information. REGEXP may also be a function, called without 728information. REGEXP may also be a function, called without
729arguments. It is expected to search backwards. It shall return 729arguments. It is expected to search backwards. It shall return
730true and set `match-data' iff it finds another element. 730true and set `match-data' if it finds another element.
731 731
732INDEX points to the substring in REGEXP that contains the 732INDEX points to the substring in REGEXP that contains the
733name (of the function, variable or type) that is to appear in the 733name (of the function, variable or type) that is to appear in the
diff --git a/lisp/info-look.el b/lisp/info-look.el
index 8ace7730a12..4ed13ba08e0 100644
--- a/lisp/info-look.el
+++ b/lisp/info-look.el
@@ -144,7 +144,7 @@ to `symbol', and the help mode defaults to the current major mode."
144 (apply 'info-lookup-add-help* nil arg)) 144 (apply 'info-lookup-add-help* nil arg))
145 145
146(defun info-lookup-maybe-add-help (&rest arg) 146(defun info-lookup-maybe-add-help (&rest arg)
147 "Add a help specification iff none is defined. 147 "Add a help specification if none is defined.
148See the documentation of the function `info-lookup-add-help' 148See the documentation of the function `info-lookup-add-help'
149for more details." 149for more details."
150 (apply 'info-lookup-add-help* t arg)) 150 (apply 'info-lookup-add-help* t arg))
diff --git a/lisp/international/ja-dic-cnv.el b/lisp/international/ja-dic-cnv.el
index 5fa18221327..e7c9b633b3b 100644
--- a/lisp/international/ja-dic-cnv.el
+++ b/lisp/international/ja-dic-cnv.el
@@ -215,8 +215,8 @@
215;; Return t if substring of STR (between FROM and TO) can be broken up 215;; Return t if substring of STR (between FROM and TO) can be broken up
216;; to chunks all of which can be derived from another entry in SKK 216;; to chunks all of which can be derived from another entry in SKK
217;; dictionary. SKKBUF is the buffer where the original SKK dictionary 217;; dictionary. SKKBUF is the buffer where the original SKK dictionary
218;; is visited, KANA is the current entry for STR. FIRST is t iff this 218;; is visited, KANA is the current entry for STR. FIRST is t only if
219;; is called at top level. 219;; this is called at top level.
220 220
221(defun skkdic-breakup-string (skkbuf kana str from to &optional first) 221(defun skkdic-breakup-string (skkbuf kana str from to &optional first)
222 (let ((len (- to from))) 222 (let ((len (- to from)))
diff --git a/lisp/international/latin1-disp.el b/lisp/international/latin1-disp.el
index 515695bf503..ebeef71b0b7 100644
--- a/lisp/international/latin1-disp.el
+++ b/lisp/international/latin1-disp.el
@@ -777,9 +777,9 @@ use either \\[customize] or the function `latin1-display'."
777 "Set up Latin-1/ASCII display for Unicode characters. 777 "Set up Latin-1/ASCII display for Unicode characters.
778This uses the transliterations of the Lynx browser. 778This uses the transliterations of the Lynx browser.
779 779
780With argument ARG, turn such display on iff ARG is positive, otherwise 780With argument ARG, turn such display on if ARG is positive, otherwise
781turn it off and display Unicode characters literally. The display 781turn it off and display Unicode characters literally. The display
782is't changed if the display can render Unicode characters." 782isn't changed if the display can render Unicode characters."
783 (interactive "p") 783 (interactive "p")
784 (if (> arg 0) 784 (if (> arg 0)
785 (unless (char-displayable-p 785 (unless (char-displayable-p
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index 9501d5f7cc0..a858066f47c 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -445,11 +445,11 @@ non-nil, it is used to sort CODINGS instead."
445 (let ((base (coding-system-base x))) 445 (let ((base (coding-system-base x)))
446 ;; We calculate the priority number 0..255 by 446 ;; We calculate the priority number 0..255 by
447 ;; using the 8 bits PMMLCEII as this: 447 ;; using the 8 bits PMMLCEII as this:
448 ;; P: 1 iff most preferred. 448 ;; P: 1 if most preferred.
449 ;; MM: greater than 0 iff mime-charset. 449 ;; MM: greater than 0 if mime-charset.
450 ;; L: 1 iff one of the current lang. env.'s codings. 450 ;; L: 1 if one of the current lang. env.'s codings.
451 ;; C: 1 iff one of codings listed in the category list. 451 ;; C: 1 if one of codings listed in the category list.
452 ;; E: 1 iff not XXX-with-esc 452 ;; E: 1 if not XXX-with-esc
453 ;; II: if iso-2022 based, 0..3, else 1. 453 ;; II: if iso-2022 based, 0..3, else 1.
454 (logior 454 (logior
455 (lsh (if (eq base most-preferred) 1 0) 7) 455 (lsh (if (eq base most-preferred) 1 0) 7)
diff --git a/lisp/international/quail.el b/lisp/international/quail.el
index 98d4cc80ec5..cddcf9867c2 100644
--- a/lisp/international/quail.el
+++ b/lisp/international/quail.el
@@ -1942,7 +1942,7 @@ Remaining args are for FUNC."
1942 (overlay-put quail-overlay 'face 'highlight)))) 1942 (overlay-put quail-overlay 'face 'highlight))))
1943 1943
1944(defun quail-require-guidance-buf () 1944(defun quail-require-guidance-buf ()
1945 "Return t iff the current Quail package requires showing guidance buffer." 1945 "Return t if the current Quail package requires showing guidance buffer."
1946 (and input-method-verbose-flag 1946 (and input-method-verbose-flag
1947 (if (eq input-method-verbose-flag 'default) 1947 (if (eq input-method-verbose-flag 'default)
1948 (not (and (eq (selected-window) (minibuffer-window)) 1948 (not (and (eq (selected-window) (minibuffer-window))
diff --git a/lisp/isearch.el b/lisp/isearch.el
index 9b9db880890..af8a40c9cf3 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -825,7 +825,7 @@ NOPUSH is t and EDIT is t."
825 (run-hooks 'isearch-mode-end-hook)) 825 (run-hooks 'isearch-mode-end-hook))
826 826
827 ;; If there was movement, mark the starting position. 827 ;; If there was movement, mark the starting position.
828 ;; Maybe should test difference between and set mark iff > threshold. 828 ;; Maybe should test difference between and set mark only if > threshold.
829 (if (/= (point) isearch-opoint) 829 (if (/= (point) isearch-opoint)
830 (or (and transient-mark-mode mark-active) 830 (or (and transient-mark-mode mark-active)
831 (progn 831 (progn
@@ -2329,7 +2329,7 @@ since they have special meaning in a regexp."
2329;; - the direction of the current search is expected to be given by 2329;; - the direction of the current search is expected to be given by
2330;; `isearch-forward'; 2330;; `isearch-forward';
2331;; - the variable `isearch-error' is expected to be true 2331;; - the variable `isearch-error' is expected to be true
2332;; iff `isearch-string' is an invalid regexp. 2332;; only if `isearch-string' is an invalid regexp.
2333 2333
2334(defvar isearch-lazy-highlight-overlays nil) 2334(defvar isearch-lazy-highlight-overlays nil)
2335(defvar isearch-lazy-highlight-wrapped nil) 2335(defvar isearch-lazy-highlight-wrapped nil)
diff --git a/lisp/iswitchb.el b/lisp/iswitchb.el
index 068f5fff2cd..233997285c9 100644
--- a/lisp/iswitchb.el
+++ b/lisp/iswitchb.el
@@ -396,7 +396,7 @@ See documentation of `walk-windows' for useful values.")
396(defcustom iswitchb-minibuffer-setup-hook nil 396(defcustom iswitchb-minibuffer-setup-hook nil
397 "Iswitchb-specific customization of minibuffer setup. 397 "Iswitchb-specific customization of minibuffer setup.
398 398
399This hook is run during minibuffer setup iff `iswitchb' will be active. 399This hook is run during minibuffer setup if `iswitchb' is active.
400For instance: 400For instance:
401\(add-hook 'iswitchb-minibuffer-setup-hook 401\(add-hook 'iswitchb-minibuffer-setup-hook
402 '\(lambda () (set (make-local-variable 'max-mini-window-height) 3))) 402 '\(lambda () (set (make-local-variable 'max-mini-window-height) 3)))
@@ -1440,7 +1440,7 @@ This is an example function which can be hooked on to
1440 (iswitchb-to-end summaries))) 1440 (iswitchb-to-end summaries)))
1441 1441
1442(defun iswitchb-case () 1442(defun iswitchb-case ()
1443 "Return non-nil iff we should ignore case when matching. 1443 "Return non-nil if we should ignore case when matching.
1444See the variable `iswitchb-case' for details." 1444See the variable `iswitchb-case' for details."
1445 (if iswitchb-case 1445 (if iswitchb-case
1446 (if (featurep 'xemacs) 1446 (if (featurep 'xemacs)
@@ -1450,7 +1450,7 @@ See the variable `iswitchb-case' for details."
1450;;;###autoload 1450;;;###autoload
1451(define-minor-mode iswitchb-mode 1451(define-minor-mode iswitchb-mode
1452 "Toggle Iswitchb global minor mode. 1452 "Toggle Iswitchb global minor mode.
1453With arg, turn Iswitchb mode on if and only iff ARG is positive. 1453With arg, turn Iswitchb mode on if ARG is positive, otherwise turn it off.
1454This mode enables switching between buffers using substrings. See 1454This mode enables switching between buffers using substrings. See
1455`iswitchb' for details." 1455`iswitchb' for details."
1456 nil nil iswitchb-global-map :global t :group 'iswitchb 1456 nil nil iswitchb-global-map :global t :group 'iswitchb
diff --git a/lisp/log-edit.el b/lisp/log-edit.el
index 7b07b590a4f..5c2cf989f62 100644
--- a/lisp/log-edit.el
+++ b/lisp/log-edit.el
@@ -568,7 +568,7 @@ for more details."
568(defvar user-mail-address) 568(defvar user-mail-address)
569(defun log-edit-changelog-ours-p () 569(defun log-edit-changelog-ours-p ()
570 "See if ChangeLog entry at point is for the current user, today. 570 "See if ChangeLog entry at point is for the current user, today.
571Return non-nil iff it is." 571Return non-nil if it is."
572 ;; Code adapted from add-change-log-entry. 572 ;; Code adapted from add-change-log-entry.
573 (let ((name (or (and (boundp 'add-log-full-name) add-log-full-name) 573 (let ((name (or (and (boundp 'add-log-full-name) add-log-full-name)
574 (and (fboundp 'user-full-name) (user-full-name)) 574 (and (fboundp 'user-full-name) (user-full-name))
diff --git a/lisp/log-view.el b/lisp/log-view.el
index 7520e13a1f6..51861da2ae6 100644
--- a/lisp/log-view.el
+++ b/lisp/log-view.el
@@ -174,6 +174,7 @@ The match group number 1 should match the revision number itself.")
174 (1 (if (boundp 'cvs-filename-face) cvs-filename-face)) 174 (1 (if (boundp 'cvs-filename-face) cvs-filename-face))
175 (0 log-view-file-face append))) 175 (0 log-view-file-face append)))
176 (eval . `(,log-view-message-re . log-view-message-face)))) 176 (eval . `(,log-view-message-re . log-view-message-face))))
177
177(defconst log-view-font-lock-defaults 178(defconst log-view-font-lock-defaults
178 '(log-view-font-lock-keywords t nil nil nil)) 179 '(log-view-font-lock-keywords t nil nil nil))
179 180
diff --git a/lisp/mail/mspools.el b/lisp/mail/mspools.el
index d14be55735f..988ce2f8e02 100644
--- a/lisp/mail/mspools.el
+++ b/lisp/mail/mspools.el
@@ -398,7 +398,7 @@ nil."
398 )) 398 ))
399 399
400(defun mspools-size-folder (spool) 400(defun mspools-size-folder (spool)
401 "Return (SPOOL . SIZE ) iff SIZE of spool file is non-zero." 401 "Return (SPOOL . SIZE ), if SIZE of spool file is non-zero."
402 ;; 7th file attribute is the size of the file in bytes. 402 ;; 7th file attribute is the size of the file in bytes.
403 (let ((file (concat mspools-folder-directory spool)) 403 (let ((file (concat mspools-folder-directory spool))
404 size) 404 size)
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 37a0533acc9..ee990f2fdd3 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -3992,13 +3992,13 @@ specifying headers which should not be copied into the new message."
3992 (mail-position-on-field (if resending "Resent-To" "To") t)))))) 3992 (mail-position-on-field (if resending "Resent-To" "To") t))))))
3993 3993
3994(defun rmail-summary-exists () 3994(defun rmail-summary-exists ()
3995 "Non-nil iff in an RMAIL buffer and an associated summary buffer exists. 3995 "Non-nil if in an RMAIL buffer and an associated summary buffer exists.
3996In fact, the non-nil value returned is the summary buffer itself." 3996In fact, the non-nil value returned is the summary buffer itself."
3997 (and rmail-summary-buffer (buffer-name rmail-summary-buffer) 3997 (and rmail-summary-buffer (buffer-name rmail-summary-buffer)
3998 rmail-summary-buffer)) 3998 rmail-summary-buffer))
3999 3999
4000(defun rmail-summary-displayed () 4000(defun rmail-summary-displayed ()
4001 "t iff in RMAIL buffer and an associated summary buffer is displayed." 4001 "t if in RMAIL buffer and an associated summary buffer is displayed."
4002 (and rmail-summary-buffer (get-buffer-window rmail-summary-buffer))) 4002 (and rmail-summary-buffer (get-buffer-window rmail-summary-buffer)))
4003 4003
4004(defcustom rmail-redisplay-summary nil 4004(defcustom rmail-redisplay-summary nil
diff --git a/lisp/man.el b/lisp/man.el
index 56539072439..c7593e88dda 100644
--- a/lisp/man.el
+++ b/lisp/man.el
@@ -37,7 +37,7 @@
37 37
38;; ========== Credits and History ========== 38;; ========== Credits and History ==========
39;; In mid 1991, several people posted some interesting improvements to 39;; In mid 1991, several people posted some interesting improvements to
40;; man.el from the standard emacs 18.57 distribution. I liked many of 40;; man.el from the standard Emacs 18.57 distribution. I liked many of
41;; these, but wanted everything in one single package, so I decided 41;; these, but wanted everything in one single package, so I decided
42;; to incorporate them into a single manual browsing mode. While 42;; to incorporate them into a single manual browsing mode. While
43;; much of the code here has been rewritten, and some features added, 43;; much of the code here has been rewritten, and some features added,
@@ -64,7 +64,7 @@
64;; ========== Features ========== 64;; ========== Features ==========
65;; + Runs "man" in the background and pipes the results through a 65;; + Runs "man" in the background and pipes the results through a
66;; series of sed and awk scripts so that all retrieving and cleaning 66;; series of sed and awk scripts so that all retrieving and cleaning
67;; is done in the background. The cleaning commands are configurable. 67;; is done in the background. The cleaning commands are configurable.
68;; + Syntax is the same as Un*x man 68;; + Syntax is the same as Un*x man
69;; + Functionality is the same as Un*x man, including "man -k" and 69;; + Functionality is the same as Un*x man, including "man -k" and
70;; "man <section>", etc. 70;; "man <section>", etc.
@@ -109,8 +109,6 @@
109 109
110 110
111(defvar Man-notify) 111(defvar Man-notify)
112(defvar Man-current-page)
113(defvar Man-page-list)
114(defcustom Man-filter-list nil 112(defcustom Man-filter-list nil
115 "*Manpage cleaning filter command phrases. 113 "*Manpage cleaning filter command phrases.
116This variable contains a list of the following form: 114This variable contains a list of the following form:
@@ -127,13 +125,8 @@ the manpage buffer."
127 (string :tag "Phrase String")))) 125 (string :tag "Phrase String"))))
128 :group 'man) 126 :group 'man)
129 127
130(defvar Man-original-frame)
131(defvar Man-arguments)
132(defvar Man-sections-alist)
133(defvar Man-refpages-alist)
134(defvar Man-uses-untabify-flag t 128(defvar Man-uses-untabify-flag t
135 "Non-nil means use `untabify' instead of `Man-untabify-command'.") 129 "Non-nil means use `untabify' instead of `Man-untabify-command'.")
136(defvar Man-page-mode-string)
137(defvar Man-sed-script nil 130(defvar Man-sed-script nil
138 "Script for sed to nuke backspaces and ANSI codes from manpages.") 131 "Script for sed to nuke backspaces and ANSI codes from manpages.")
139 132
@@ -141,28 +134,28 @@ the manpage buffer."
141;; user variables 134;; user variables
142 135
143(defcustom Man-fontify-manpage-flag t 136(defcustom Man-fontify-manpage-flag t
144 "*Non-nil means make up the manpage with fonts." 137 "Non-nil means make up the manpage with fonts."
145 :type 'boolean 138 :type 'boolean
146 :group 'man) 139 :group 'man)
147 140
148(defcustom Man-overstrike-face 'bold 141(defcustom Man-overstrike-face 'bold
149 "*Face to use when fontifying overstrike." 142 "Face to use when fontifying overstrike."
150 :type 'face 143 :type 'face
151 :group 'man) 144 :group 'man)
152 145
153(defcustom Man-underline-face 'underline 146(defcustom Man-underline-face 'underline
154 "*Face to use when fontifying underlining." 147 "Face to use when fontifying underlining."
155 :type 'face 148 :type 'face
156 :group 'man) 149 :group 'man)
157 150
158(defcustom Man-reverse-face 'highlight 151(defcustom Man-reverse-face 'highlight
159 "*Face to use when fontifying reverse video." 152 "Face to use when fontifying reverse video."
160 :type 'face 153 :type 'face
161 :group 'man) 154 :group 'man)
162 155
163;; Use the value of the obsolete user option Man-notify, if set. 156;; Use the value of the obsolete user option Man-notify, if set.
164(defcustom Man-notify-method (if (boundp 'Man-notify) Man-notify 'friendly) 157(defcustom Man-notify-method (if (boundp 'Man-notify) Man-notify 'friendly)
165 "*Selects the behavior when manpage is ready. 158 "Selects the behavior when manpage is ready.
166This variable may have one of the following values, where (sf) means 159This variable may have one of the following values, where (sf) means
167that the frames are switched, so the manpage is displayed in the frame 160that the frames are switched, so the manpage is displayed in the frame
168where the man command was called from: 161where the man command was called from:
@@ -183,7 +176,7 @@ Any other value of `Man-notify-method' is equivalent to `meek'."
183 :group 'man) 176 :group 'man)
184 177
185(defcustom Man-width nil 178(defcustom Man-width nil
186 "*Number of columns for which manual pages should be formatted. 179 "Number of columns for which manual pages should be formatted.
187If nil, the width of the window selected at the moment of man 180If nil, the width of the window selected at the moment of man
188invocation is used. If non-nil, the width of the frame selected 181invocation is used. If non-nil, the width of the frame selected
189at the moment of man invocation is used. The value also can be a 182at the moment of man invocation is used. The value also can be a
@@ -194,12 +187,12 @@ positive integer."
194 :group 'man) 187 :group 'man)
195 188
196(defcustom Man-frame-parameters nil 189(defcustom Man-frame-parameters nil
197 "*Frame parameter list for creating a new frame for a manual page." 190 "Frame parameter list for creating a new frame for a manual page."
198 :type 'sexp 191 :type 'sexp
199 :group 'man) 192 :group 'man)
200 193
201(defcustom Man-downcase-section-letters-flag t 194(defcustom Man-downcase-section-letters-flag t
202 "*Non-nil means letters in sections are converted to lower case. 195 "Non-nil means letters in sections are converted to lower case.
203Some Un*x man commands can't handle uppercase letters in sections, for 196Some Un*x man commands can't handle uppercase letters in sections, for
204example \"man 2V chmod\", but they are often displayed in the manpage 197example \"man 2V chmod\", but they are often displayed in the manpage
205with the upper case letter. When this variable is t, the section 198with the upper case letter. When this variable is t, the section
@@ -209,7 +202,7 @@ being sent to the man background process."
209 :group 'man) 202 :group 'man)
210 203
211(defcustom Man-circular-pages-flag t 204(defcustom Man-circular-pages-flag t
212 "*Non-nil means the manpage list is treated as circular for traversal." 205 "Non-nil means the manpage list is treated as circular for traversal."
213 :type 'boolean 206 :type 'boolean
214 :group 'man) 207 :group 'man)
215 208
@@ -220,7 +213,7 @@ being sent to the man background process."
220 ;; '("3X" . "3") ; Xlib man pages 213 ;; '("3X" . "3") ; Xlib man pages
221 '("3X11" . "3") 214 '("3X11" . "3")
222 '("1-UCB" . "")) 215 '("1-UCB" . ""))
223 "*Association list of bogus sections to real section numbers. 216 "Association list of bogus sections to real section numbers.
224Some manpages (e.g. the Sun C++ 2.1 manpages) have section numbers in 217Some manpages (e.g. the Sun C++ 2.1 manpages) have section numbers in
225their references which Un*x `man' does not recognize. This 218their references which Un*x `man' does not recognize. This
226association list is used to translate those sections, when found, to 219association list is used to translate those sections, when found, to
@@ -250,9 +243,6 @@ the associated section number."
250(defvar Man-awk-command "awk" 243(defvar Man-awk-command "awk"
251 "Command used for processing awk scripts.") 244 "Command used for processing awk scripts.")
252 245
253(defvar Man-mode-map nil
254 "Keymap for Man mode.")
255
256(defvar Man-mode-hook nil 246(defvar Man-mode-hook nil
257 "Hook run when Man mode is enabled.") 247 "Hook run when Man mode is enabled.")
258 248
@@ -349,20 +339,22 @@ Otherwise, the value is whatever the function
349;; end user variables 339;; end user variables
350 340
351;; other variables and keymap initializations 341;; other variables and keymap initializations
342(defvar Man-original-frame)
343(make-variable-buffer-local 'Man-original-frame)
344(defvar Man-arguments)
345(make-variable-buffer-local 'Man-arguments)
346(put 'Man-arguments 'permanent-local t)
347
348(defvar Man-sections-alist nil)
352(make-variable-buffer-local 'Man-sections-alist) 349(make-variable-buffer-local 'Man-sections-alist)
350(defvar Man-refpages-alist nil)
353(make-variable-buffer-local 'Man-refpages-alist) 351(make-variable-buffer-local 'Man-refpages-alist)
352(defvar Man-page-list nil)
354(make-variable-buffer-local 'Man-page-list) 353(make-variable-buffer-local 'Man-page-list)
354(defvar Man-current-page 0)
355(make-variable-buffer-local 'Man-current-page) 355(make-variable-buffer-local 'Man-current-page)
356(defvar Man-page-mode-string "1 of 1")
356(make-variable-buffer-local 'Man-page-mode-string) 357(make-variable-buffer-local 'Man-page-mode-string)
357(make-variable-buffer-local 'Man-original-frame)
358(make-variable-buffer-local 'Man-arguments)
359(put 'Man-arguments 'permanent-local t)
360
361(setq-default Man-sections-alist nil)
362(setq-default Man-refpages-alist nil)
363(setq-default Man-page-list nil)
364(setq-default Man-current-page 0)
365(setq-default Man-page-mode-string "1 of 1")
366 358
367(defconst Man-sysv-sed-script "\ 359(defconst Man-sysv-sed-script "\
368/\b/ { s/_\b//g 360/\b/ { s/_\b//g
@@ -398,30 +390,32 @@ Otherwise, the value is whatever the function
398 table) 390 table)
399 "Syntax table used in Man mode buffers.") 391 "Syntax table used in Man mode buffers.")
400 392
401(unless Man-mode-map 393(defvar Man-mode-map
402 (setq Man-mode-map (make-sparse-keymap)) 394 (let ((map (make-sparse-keymap)))
403 (suppress-keymap Man-mode-map) 395 (suppress-keymap map)
404 (set-keymap-parent Man-mode-map button-buffer-map) 396 (set-keymap-parent map button-buffer-map)
405 397
406 (define-key Man-mode-map " " 'scroll-up) 398 (define-key map " " 'scroll-up)
407 (define-key Man-mode-map "\177" 'scroll-down) 399 (define-key map "\177" 'scroll-down)
408 (define-key Man-mode-map "n" 'Man-next-section) 400 (define-key map "n" 'Man-next-section)
409 (define-key Man-mode-map "p" 'Man-previous-section) 401 (define-key map "p" 'Man-previous-section)
410 (define-key Man-mode-map "\en" 'Man-next-manpage) 402 (define-key map "\en" 'Man-next-manpage)
411 (define-key Man-mode-map "\ep" 'Man-previous-manpage) 403 (define-key map "\ep" 'Man-previous-manpage)
412 (define-key Man-mode-map ">" 'end-of-buffer) 404 (define-key map ">" 'end-of-buffer)
413 (define-key Man-mode-map "<" 'beginning-of-buffer) 405 (define-key map "<" 'beginning-of-buffer)
414 (define-key Man-mode-map "." 'beginning-of-buffer) 406 (define-key map "." 'beginning-of-buffer)
415 (define-key Man-mode-map "r" 'Man-follow-manual-reference) 407 (define-key map "r" 'Man-follow-manual-reference)
416 (define-key Man-mode-map "g" 'Man-goto-section) 408 (define-key map "g" 'Man-goto-section)
417 (define-key Man-mode-map "s" 'Man-goto-see-also-section) 409 (define-key map "s" 'Man-goto-see-also-section)
418 (define-key Man-mode-map "k" 'Man-kill) 410 (define-key map "k" 'Man-kill)
419 (define-key Man-mode-map "q" 'Man-quit) 411 (define-key map "q" 'Man-quit)
420 (define-key Man-mode-map "m" 'man) 412 (define-key map "m" 'man)
421 ;; Not all the man references get buttons currently. The text in the 413 ;; Not all the man references get buttons currently. The text in the
422 ;; manual page can contain references to other man pages 414 ;; manual page can contain references to other man pages
423 (define-key Man-mode-map "\r" 'man-follow) 415 (define-key map "\r" 'man-follow)
424 (define-key Man-mode-map "?" 'describe-mode)) 416 (define-key map "?" 'describe-mode)
417 map)
418 "Keymap for Man mode.")
425 419
426;; buttons 420;; buttons
427(define-button-type 'Man-abstract-xref-man-page 421(define-button-type 'Man-abstract-xref-man-page
@@ -730,8 +724,7 @@ all sections related to a subject, put something appropriate into the
730 (require 'env) 724 (require 'env)
731 (message "Invoking %s %s in the background" manual-program man-args) 725 (message "Invoking %s %s in the background" manual-program man-args)
732 (setq buffer (generate-new-buffer bufname)) 726 (setq buffer (generate-new-buffer bufname))
733 (save-excursion 727 (with-current-buffer buffer
734 (set-buffer buffer)
735 (setq buffer-undo-list t) 728 (setq buffer-undo-list t)
736 (setq Man-original-frame (selected-frame)) 729 (setq Man-original-frame (selected-frame))
737 (setq Man-arguments man-args)) 730 (setq Man-arguments man-args))
@@ -802,8 +795,7 @@ all sections related to a subject, put something appropriate into the
802(defun Man-notify-when-ready (man-buffer) 795(defun Man-notify-when-ready (man-buffer)
803 "Notify the user when MAN-BUFFER is ready. 796 "Notify the user when MAN-BUFFER is ready.
804See the variable `Man-notify-method' for the different notification behaviors." 797See the variable `Man-notify-method' for the different notification behaviors."
805 (let ((saved-frame (save-excursion 798 (let ((saved-frame (with-current-buffer man-buffer
806 (set-buffer man-buffer)
807 Man-original-frame))) 799 Man-original-frame)))
808 (cond 800 (cond
809 ((eq Man-notify-method 'newframe) 801 ((eq Man-notify-method 'newframe)
@@ -975,7 +967,7 @@ default type, `Man-xref-man-page' is used for the buttons."
975 (Man-next-section 1) 967 (Man-next-section 1)
976 (point))) 968 (point)))
977 (goto-char (point-min)) 969 (goto-char (point-min))
978 (point-max)))) 970 nil)))
979 (while (re-search-forward regexp end t) 971 (while (re-search-forward regexp end t)
980 (make-text-button 972 (make-text-button
981 (match-beginning button-pos) 973 (match-beginning button-pos)
@@ -1031,8 +1023,7 @@ manpage command."
1031 (or (stringp process) 1023 (or (stringp process)
1032 (set-process-buffer process nil)) 1024 (set-process-buffer process nil))
1033 1025
1034 (save-excursion 1026 (with-current-buffer Man-buffer
1035 (set-buffer Man-buffer)
1036 (let ((case-fold-search nil)) 1027 (let ((case-fold-search nil))
1037 (goto-char (point-min)) 1028 (goto-char (point-min))
1038 (cond ((or (looking-at "No \\(manual \\)*entry for") 1029 (cond ((or (looking-at "No \\(manual \\)*entry for")
@@ -1223,13 +1214,10 @@ The following key bindings are currently in effect in the buffer:
1223 1214
1224(defun Man-strip-page-headers () 1215(defun Man-strip-page-headers ()
1225 "Strip all the page headers but the first from the manpage." 1216 "Strip all the page headers but the first from the manpage."
1226 (let ((buffer-read-only nil) 1217 (let ((inhibit-read-only t)
1227 (case-fold-search nil) 1218 (case-fold-search nil)
1228 (page-list Man-page-list)
1229 (page ())
1230 (header "")) 1219 (header ""))
1231 (while page-list 1220 (dolist (page Man-page-list)
1232 (setq page (car page-list))
1233 (and (nth 2 page) 1221 (and (nth 2 page)
1234 (goto-char (car page)) 1222 (goto-char (car page))
1235 (re-search-forward Man-first-heading-regexp nil t) 1223 (re-search-forward Man-first-heading-regexp nil t)
@@ -1243,17 +1231,14 @@ The following key bindings are currently in effect in the buffer:
1243 ;; line. 1231 ;; line.
1244 ;; (setq header (concat "\n" header))) 1232 ;; (setq header (concat "\n" header)))
1245 (while (search-forward header (nth 1 page) t) 1233 (while (search-forward header (nth 1 page) t)
1246 (replace-match ""))) 1234 (replace-match ""))))))
1247 (setq page-list (cdr page-list)))))
1248 1235
1249(defun Man-unindent () 1236(defun Man-unindent ()
1250 "Delete the leading spaces that indent the manpage." 1237 "Delete the leading spaces that indent the manpage."
1251 (let ((buffer-read-only nil) 1238 (let ((inhibit-read-only t)
1252 (case-fold-search nil) 1239 (case-fold-search nil))
1253 (page-list Man-page-list)) 1240 (dolist (page Man-page-list)
1254 (while page-list 1241 (let ((indent "")
1255 (let ((page (car page-list))
1256 (indent "")
1257 (nindent 0)) 1242 (nindent 0))
1258 (narrow-to-region (car page) (car (cdr page))) 1243 (narrow-to-region (car page) (car (cdr page)))
1259 (if Man-uses-untabify-flag 1244 (if Man-uses-untabify-flag
@@ -1281,7 +1266,6 @@ The following key bindings are currently in effect in the buffer:
1281 (or (eolp) 1266 (or (eolp)
1282 (delete-char nindent)) 1267 (delete-char nindent))
1283 (forward-line 1))) 1268 (forward-line 1)))
1284 (setq page-list (cdr page-list))
1285 )))) 1269 ))))
1286 1270
1287 1271
@@ -1291,14 +1275,18 @@ The following key bindings are currently in effect in the buffer:
1291(defun Man-next-section (n) 1275(defun Man-next-section (n)
1292 "Move point to Nth next section (default 1)." 1276 "Move point to Nth next section (default 1)."
1293 (interactive "p") 1277 (interactive "p")
1294 (let ((case-fold-search nil)) 1278 (let ((case-fold-search nil)
1279 (start (point)))
1295 (if (looking-at Man-heading-regexp) 1280 (if (looking-at Man-heading-regexp)
1296 (forward-line 1)) 1281 (forward-line 1))
1297 (if (re-search-forward Man-heading-regexp (point-max) t n) 1282 (if (re-search-forward Man-heading-regexp (point-max) t n)
1298 (beginning-of-line) 1283 (beginning-of-line)
1299 (goto-char (point-max)) 1284 (goto-char (point-max))
1300 ;; The last line doesn't belong to any section. 1285 ;; The last line doesn't belong to any section.
1301 (forward-line -1)))) 1286 (forward-line -1))
1287 ;; But don't move back from the starting point (can happen if `start'
1288 ;; is somewhere on the last line).
1289 (if (< (point) start) (goto-char start))))
1302 1290
1303(defun Man-previous-section (n) 1291(defun Man-previous-section (n)
1304 "Move point to Nth previous section (default 1)." 1292 "Move point to Nth previous section (default 1)."
@@ -1462,7 +1450,7 @@ Specify which REFERENCE to use; default is based on word at point."
1462 (let ((path Man-header-file-path) 1450 (let ((path Man-header-file-path)
1463 complete-path) 1451 complete-path)
1464 (while path 1452 (while path
1465 (setq complete-path (concat (car path) "/" file) 1453 (setq complete-path (expand-file-name file (car path))
1466 path (cdr path)) 1454 path (cdr path))
1467 (if (file-readable-p complete-path) 1455 (if (file-readable-p complete-path)
1468 (progn (view-file complete-path) 1456 (progn (view-file complete-path)
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog
index 254b44f9a03..b7fe48ccd7c 100644
--- a/lisp/mh-e/ChangeLog
+++ b/lisp/mh-e/ChangeLog
@@ -1,3 +1,8 @@
12007-08-08 Glenn Morris <rgm@gnu.org>
2
3 * mh-folder.el, mh-letter.el, mh-show.el: Replace `iff' in
4 doc-strings and comments.
5
12007-07-25 Glenn Morris <rgm@gnu.org> 62007-07-25 Glenn Morris <rgm@gnu.org>
2 7
3 * Relicense all FSF files to GPLv3 or later. 8 * Relicense all FSF files to GPLv3 or later.
diff --git a/lisp/mh-e/mh-folder.el b/lisp/mh-e/mh-folder.el
index 63d55459cf4..42abad4536a 100644
--- a/lisp/mh-e/mh-folder.el
+++ b/lisp/mh-e/mh-folder.el
@@ -1495,7 +1495,7 @@ function doesn't recenter the folder buffer."
1495 1495
1496(defun mh-update-unseen () 1496(defun mh-update-unseen ()
1497 "Synchronize the unseen sequence with MH. 1497 "Synchronize the unseen sequence with MH.
1498Return non-nil iff the MH folder was set. 1498Return non-nil if the MH folder was set.
1499The hook `mh-unseen-updated-hook' is called after the unseen sequence 1499The hook `mh-unseen-updated-hook' is called after the unseen sequence
1500is updated." 1500is updated."
1501 (if mh-seen-list 1501 (if mh-seen-list
diff --git a/lisp/mh-e/mh-letter.el b/lisp/mh-e/mh-letter.el
index c70c9d8c7e4..7b2cab77d04 100644
--- a/lisp/mh-e/mh-letter.el
+++ b/lisp/mh-e/mh-letter.el
@@ -844,7 +844,7 @@ body."
844(defun mh-position-on-field (field &optional ignored) 844(defun mh-position-on-field (field &optional ignored)
845 "Move to the end of the FIELD in the header. 845 "Move to the end of the FIELD in the header.
846Move to end of entire header if FIELD not found. 846Move to end of entire header if FIELD not found.
847Returns non-nil iff FIELD was found. 847Returns non-nil if FIELD was found.
848The optional second arg is for pre-version 4 compatibility and is 848The optional second arg is for pre-version 4 compatibility and is
849IGNORED." 849IGNORED."
850 (cond ((mh-goto-header-field field) 850 (cond ((mh-goto-header-field field)
diff --git a/lisp/mh-e/mh-show.el b/lisp/mh-e/mh-show.el
index d3b93ca65ab..4e1a19c3a06 100644
--- a/lisp/mh-e/mh-show.el
+++ b/lisp/mh-e/mh-show.el
@@ -161,7 +161,7 @@ displayed."
161(defun mh-showing-mode (&optional arg) 161(defun mh-showing-mode (&optional arg)
162 "Change whether messages should be displayed. 162 "Change whether messages should be displayed.
163 163
164With ARG, display messages iff ARG is positive." 164With ARG, display messages if ARG is positive, otherwise don't display them."
165 (setq mh-showing-mode 165 (setq mh-showing-mode
166 (if (null arg) 166 (if (null arg)
167 (not mh-showing-mode) 167 (not mh-showing-mode)
diff --git a/lisp/mouse-drag.el b/lisp/mouse-drag.el
index f1d56eccc66..bfb199ab897 100644
--- a/lisp/mouse-drag.el
+++ b/lisp/mouse-drag.el
@@ -158,7 +158,7 @@ Keep the cursor on the screen as needed."
158Basically, we check for existing horizontal scrolling." 158Basically, we check for existing horizontal scrolling."
159 (or truncate-lines 159 (or truncate-lines
160 (> (window-hscroll (selected-window)) 0) 160 (> (window-hscroll (selected-window)) 0)
161 (< (window-width) (frame-width)) 161 (not (window-full-width-p))
162 (and 162 (and
163 mouse-drag-electric-col-scrolling 163 mouse-drag-electric-col-scrolling
164 (save-excursion ;; on a long line? 164 (save-excursion ;; on a long line?
diff --git a/lisp/net/trampver.el b/lisp/net/trampver.el
index 6e48c3c7f47..f10f08e1031 100644
--- a/lisp/net/trampver.el
+++ b/lisp/net/trampver.el
@@ -4,7 +4,7 @@
4 4
5;; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. 5;; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
6 6
7;; Author: Kai Großjohann <kai.grossjohann@gmx.net> 7;; Author: Kai Großjohann <kai.grossjohann@gmx.net>
8;; Keywords: comm, processes 8;; Keywords: comm, processes
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
diff --git a/lisp/obsolete/fast-lock.el b/lisp/obsolete/fast-lock.el
index a2405b0edb2..569771143e3 100644
--- a/lisp/obsolete/fast-lock.el
+++ b/lisp/obsolete/fast-lock.el
@@ -523,7 +523,7 @@ See `fast-lock-cache-directories'."
523 ;; Just a directory. 523 ;; Just a directory.
524 directory) 524 directory)
525 (t 525 (t
526 ;; A directory iff the file name matches the regexp. 526 ;; A directory if the file name matches the regexp.
527 (let ((bufile (expand-file-name buffer-file-truename)) 527 (let ((bufile (expand-file-name buffer-file-truename))
528 (case-fold-search nil)) 528 (case-fold-search nil))
529 (when (save-match-data (string-match (car directory) bufile)) 529 (when (save-match-data (string-match (car directory) bufile))
diff --git a/lisp/pcvs-util.el b/lisp/pcvs-util.el
index 6991f796526..e5ab1638c60 100644
--- a/lisp/pcvs-util.el
+++ b/lisp/pcvs-util.el
@@ -211,7 +211,8 @@ arguments. If ARGS is not a list, no argument will be passed."
211(defconst cvs-qtypedesc-string1 (cvs-qtypedesc-create 'identity 'identity t)) 211(defconst cvs-qtypedesc-string1 (cvs-qtypedesc-create 'identity 'identity t))
212(defconst cvs-qtypedesc-string (cvs-qtypedesc-create 'identity 'identity)) 212(defconst cvs-qtypedesc-string (cvs-qtypedesc-create 'identity 'identity))
213(defconst cvs-qtypedesc-strings 213(defconst cvs-qtypedesc-strings
214 (cvs-qtypedesc-create 'string->strings 'strings->string nil)) 214 (cvs-qtypedesc-create 'split-string-and-unquote
215 'combine-and-quote-strings nil))
215 216
216(defun cvs-query-read (default prompt qtypedesc &optional hist-sym) 217(defun cvs-query-read (default prompt qtypedesc &optional hist-sym)
217 (let* ((qtypedesc (or qtypedesc cvs-qtypedesc-strings)) 218 (let* ((qtypedesc (or qtypedesc cvs-qtypedesc-strings))
diff --git a/lisp/pcvs.el b/lisp/pcvs.el
index 5c79f7a5fb9..21cfd5b042d 100644
--- a/lisp/pcvs.el
+++ b/lisp/pcvs.el
@@ -182,7 +182,7 @@
182 (when (re-search-forward 182 (when (re-search-forward
183 (concat "^" cmd "\\(\\s-+\\(.*\\)\\)?$") nil t) 183 (concat "^" cmd "\\(\\s-+\\(.*\\)\\)?$") nil t)
184 (let* ((sym (intern (concat "cvs-" cmd "-flags"))) 184 (let* ((sym (intern (concat "cvs-" cmd "-flags")))
185 (val (string->strings (or (match-string 2) "")))) 185 (val (split-string-and-unquote (or (match-string 2) ""))))
186 (cvs-flags-set sym 0 val)))) 186 (cvs-flags-set sym 0 val))))
187 ;; ensure that cvs doesn't have -q or -Q 187 ;; ensure that cvs doesn't have -q or -Q
188 (cvs-flags-set 'cvs-cvs-flags 0 188 (cvs-flags-set 'cvs-cvs-flags 0
@@ -612,7 +612,7 @@ If non-nil, NEW means to create a new buffer no matter what."
612 (t arg))) 612 (t arg)))
613 args))) 613 args)))
614 (concat cvs-program " " 614 (concat cvs-program " "
615 (strings->string 615 (combine-and-quote-strings
616 (append (cvs-flags-query 'cvs-cvs-flags nil 'noquery) 616 (append (cvs-flags-query 'cvs-cvs-flags nil 'noquery)
617 (if cvs-cvsroot (list "-d" cvs-cvsroot)) 617 (if cvs-cvsroot (list "-d" cvs-cvsroot))
618 args 618 args
@@ -941,7 +941,8 @@ With a prefix argument, prompt for cvs FLAGS to use."
941 (let ((root (cvs-get-cvsroot))) 941 (let ((root (cvs-get-cvsroot)))
942 (if (or (null root) current-prefix-arg) 942 (if (or (null root) current-prefix-arg)
943 (setq root (read-string "CVS Root: "))) 943 (setq root (read-string "CVS Root: ")))
944 (list (string->strings (read-string "Module(s): " (cvs-get-module))) 944 (list (split-string-and-unquote
945 (read-string "Module(s): " (cvs-get-module)))
945 (read-directory-name "CVS Checkout Directory: " 946 (read-directory-name "CVS Checkout Directory: "
946 nil default-directory nil) 947 nil default-directory nil)
947 (cvs-add-branch-prefix 948 (cvs-add-branch-prefix
@@ -964,7 +965,7 @@ The files are stored to DIR."
964 (if branch (format " (branch: %s)" branch) 965 (if branch (format " (branch: %s)" branch)
965 "")))) 966 ""))))
966 (list (read-directory-name prompt nil default-directory nil)))) 967 (list (read-directory-name prompt nil default-directory nil))))
967 (let ((modules (string->strings (cvs-get-module))) 968 (let ((modules (split-string-and-unquote (cvs-get-module)))
968 (flags (cvs-add-branch-prefix 969 (flags (cvs-add-branch-prefix
969 (cvs-flags-query 'cvs-checkout-flags "cvs checkout flags"))) 970 (cvs-flags-query 'cvs-checkout-flags "cvs checkout flags")))
970 (cvs-cvsroot (cvs-get-cvsroot))) 971 (cvs-cvsroot (cvs-get-cvsroot)))
@@ -2253,7 +2254,7 @@ With prefix argument, prompt for cvs flags."
2253 (let* ((args (append constant-args arg-list))) 2254 (let* ((args (append constant-args arg-list)))
2254 2255
2255 (insert (format "=== %s %s\n\n" 2256 (insert (format "=== %s %s\n\n"
2256 program (strings->string args))) 2257 program (split-string-and-unquote args)))
2257 2258
2258 ;; FIXME: return the exit status? 2259 ;; FIXME: return the exit status?
2259 (apply 'call-process program nil t t args) 2260 (apply 'call-process program nil t t args)
diff --git a/lisp/progmodes/antlr-mode.el b/lisp/progmodes/antlr-mode.el
index 7fbeeab6eea..594b628ad44 100644
--- a/lisp/progmodes/antlr-mode.el
+++ b/lisp/progmodes/antlr-mode.el
@@ -568,7 +568,7 @@ The standard value contains the following functions as READ-FN:
568general value, or `antlr-read-boolean' with ARGs = \(PROMPT TABLE) which 568general value, or `antlr-read-boolean' with ARGs = \(PROMPT TABLE) which
569reads a boolean value or a member of TABLE. PROMPT is the prompt when 569reads a boolean value or a member of TABLE. PROMPT is the prompt when
570asking for a new value. If non-nil, TABLE is a table for completion or 570asking for a new value. If non-nil, TABLE is a table for completion or
571a function evaluating to such a table. The return value is quoted iff 571a function evaluating to such a table. The return value is quoted if
572AS-STRING is non-nil and is either t or a symbol which is a member of 572AS-STRING is non-nil and is either t or a symbol which is a member of
573`antlr-options-style'.") 573`antlr-options-style'.")
574 574
@@ -2203,8 +2203,8 @@ part SUPER in the result of `antlr-file-dependencies'. CLASSES is the
2203part \(CLASS-SPEC ...) in the result of `antlr-directory-dependencies'. 2203part \(CLASS-SPEC ...) in the result of `antlr-directory-dependencies'.
2204 2204
2205The result looks like \(OPTION WITH-UNKNOWN GLIB ...). OPTION is the 2205The result looks like \(OPTION WITH-UNKNOWN GLIB ...). OPTION is the
2206complete \"-glib\" option. WITH-UNKNOWN has value t iff there is none 2206complete \"-glib\" option. WITH-UNKNOWN is t if there is none or more
2207or more than one grammar file for at least one super grammar. 2207than one grammar file for at least one super grammar.
2208 2208
2209Each GLIB looks like \(GRAMMAR-FILE \. EVOCAB). GRAMMAR-FILE is a file 2209Each GLIB looks like \(GRAMMAR-FILE \. EVOCAB). GRAMMAR-FILE is a file
2210in which a super-grammar is defined. EVOCAB is the value of the export 2210in which a super-grammar is defined. EVOCAB is the value of the export
diff --git a/lisp/progmodes/cc-awk.el b/lisp/progmodes/cc-awk.el
index 997e6c44f1a..33467671170 100644
--- a/lisp/progmodes/cc-awk.el
+++ b/lisp/progmodes/cc-awk.el
@@ -478,7 +478,7 @@
478 478
479(defun c-awk-get-NL-prop-prev-line (&optional do-lim) 479(defun c-awk-get-NL-prop-prev-line (&optional do-lim)
480 ;; Get the c-awk-NL-prop text-property from the previous line, calculating 480 ;; Get the c-awk-NL-prop text-property from the previous line, calculating
481 ;; it if necessary. Return nil iff we're already at BOB. 481 ;; it if necessary. Return nil if we're at BOB.
482 ;; See c-awk-after-if-for-while-condition-p for a description of DO-LIM. 482 ;; See c-awk-after-if-for-while-condition-p for a description of DO-LIM.
483 ;; 483 ;;
484 ;; This function might do hidden buffer changes. 484 ;; This function might do hidden buffer changes.
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 44463a07f15..97dcc61460f 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -5116,7 +5116,7 @@ comment at the start of cc-engine.el for more info."
5116 ;; Foo::Foo (int b) : Base (b) {} 5116 ;; Foo::Foo (int b) : Base (b) {}
5117 ;; car ^ ^ point 5117 ;; car ^ ^ point
5118 ;; 5118 ;;
5119 ;; The cdr of the return value is non-nil iff a 5119 ;; The cdr of the return value is non-nil if a
5120 ;; `c-typedef-decl-kwds' specifier is found in the declaration, 5120 ;; `c-typedef-decl-kwds' specifier is found in the declaration,
5121 ;; i.e. the declared identifier(s) are types. 5121 ;; i.e. the declared identifier(s) are types.
5122 ;; 5122 ;;
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el
index a80833c0043..76b0e5a898c 100644
--- a/lisp/progmodes/cc-vars.el
+++ b/lisp/progmodes/cc-vars.el
@@ -186,7 +186,7 @@ the value set here overrides the style system (there is a variable
186 (bq-process type))))))))) 186 (bq-process type)))))))))
187 187
188(defun c-valid-offset (offset) 188(defun c-valid-offset (offset)
189 "Return non-nil iff OFFSET is a valid offset for a syntactic symbol. 189 "Return non-nil if OFFSET is a valid offset for a syntactic symbol.
190See `c-offsets-alist'." 190See `c-offsets-alist'."
191 (or (eq offset '+) 191 (or (eq offset '+)
192 (eq offset '-) 192 (eq offset '-)
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 2bed6ce39a6..805ed3c4040 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -1163,7 +1163,7 @@ Returns the compilation buffer created."
1163 "Set the height of WINDOW according to `compilation-window-height'." 1163 "Set the height of WINDOW according to `compilation-window-height'."
1164 (let ((height (buffer-local-value 'compilation-window-height (window-buffer window)))) 1164 (let ((height (buffer-local-value 'compilation-window-height (window-buffer window))))
1165 (and height 1165 (and height
1166 (= (window-width window) (frame-width (window-frame window))) 1166 (window-full-width-p window)
1167 ;; If window is alone in its frame, aside from a minibuffer, 1167 ;; If window is alone in its frame, aside from a minibuffer,
1168 ;; don't change its height. 1168 ;; don't change its height.
1169 (not (eq window (frame-root-window (window-frame window)))) 1169 (not (eq window (frame-root-window (window-frame window))))
@@ -1623,12 +1623,10 @@ Use this command in a compilation log buffer. Sets the mark at point there."
1623 1623
1624(defun compilation-find-buffer (&optional avoid-current) 1624(defun compilation-find-buffer (&optional avoid-current)
1625 "Return a compilation buffer. 1625 "Return a compilation buffer.
1626If AVOID-CURRENT is nil, and 1626If AVOID-CURRENT is nil, and the current buffer is a compilation buffer,
1627the current buffer is a compilation buffer, return it. 1627return it. If AVOID-CURRENT is non-nil, return the current buffer only
1628If AVOID-CURRENT is non-nil, return the current buffer 1628as a last resort."
1629only as a last resort." 1629 (if (and (compilation-buffer-internal-p) (not avoid-current))
1630 (if (and (compilation-buffer-internal-p (current-buffer))
1631 (not avoid-current))
1632 (current-buffer) 1630 (current-buffer)
1633 (next-error-find-buffer avoid-current 'compilation-buffer-internal-p))) 1631 (next-error-find-buffer avoid-current 'compilation-buffer-internal-p)))
1634 1632
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index 3badfed5d4f..cd7dabb8825 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -3558,7 +3558,7 @@ modify syntax-type text property if the situation is too hard."
3558 (modify-syntax-entry starter (if (eq starter ?\\) "\\" ".") st) 3558 (modify-syntax-entry starter (if (eq starter ?\\) "\\" ".") st)
3559 (if ender (modify-syntax-entry ender "." st)))) 3559 (if ender (modify-syntax-entry ender "." st))))
3560 ;; i: have 2 args, after end of the first arg 3560 ;; i: have 2 args, after end of the first arg
3561 ;; i2: start of the second arg, if any (before delim iff `ender'). 3561 ;; i2: start of the second arg, if any (before delim if `ender').
3562 ;; ender: the last arg bounded by parens-like chars, the second one of them 3562 ;; ender: the last arg bounded by parens-like chars, the second one of them
3563 ;; starter: the starting delimiter of the first arg 3563 ;; starter: the starting delimiter of the first arg
3564 ;; go-forward: has 2 args, and the second part is empty 3564 ;; go-forward: has 2 args, and the second part is empty
@@ -8090,7 +8090,7 @@ prototype \\&SUB Returns prototype of the function given a reference.
8090(defun cperl-beautify-regexp-piece (b e embed level) 8090(defun cperl-beautify-regexp-piece (b e embed level)
8091 ;; b is before the starting delimiter, e before the ending 8091 ;; b is before the starting delimiter, e before the ending
8092 ;; e should be a marker, may be changed, but remains "correct". 8092 ;; e should be a marker, may be changed, but remains "correct".
8093 ;; EMBED is nil iff we process the whole REx. 8093 ;; EMBED is nil if we process the whole REx.
8094 ;; The REx is guaranteed to have //x 8094 ;; The REx is guaranteed to have //x
8095 ;; LEVEL shows how many levels deep to go 8095 ;; LEVEL shows how many levels deep to go
8096 ;; position at enter and at leave is not defined 8096 ;; position at enter and at leave is not defined
diff --git a/lisp/progmodes/cpp.el b/lisp/progmodes/cpp.el
index e85c4752412..05b8b59c00f 100644
--- a/lisp/progmodes/cpp.el
+++ b/lisp/progmodes/cpp.el
@@ -623,7 +623,8 @@ You can also use the keyboard accelerators indicated like this: [K]ey."
623 623
624(defun cpp-edit-toggle-known (arg) 624(defun cpp-edit-toggle-known (arg)
625 "Toggle writable status for known conditionals. 625 "Toggle writable status for known conditionals.
626With optional argument ARG, make them writable iff ARG is positive." 626With optional argument ARG, make them writable if ARG is positive,
627otherwise make them unwritable."
627 (interactive "@P") 628 (interactive "@P")
628 (if (or (and (null arg) cpp-known-writable) 629 (if (or (and (null arg) cpp-known-writable)
629 (<= (prefix-numeric-value arg) 0)) 630 (<= (prefix-numeric-value arg) 0))
@@ -633,7 +634,8 @@ With optional argument ARG, make them writable iff ARG is positive."
633 634
634(defun cpp-edit-toggle-unknown (arg) 635(defun cpp-edit-toggle-unknown (arg)
635 "Toggle writable status for unknown conditionals. 636 "Toggle writable status for unknown conditionals.
636With optional argument ARG, make them writable iff ARG is positive." 637With optional argument ARG, make them writable if ARG is positive,
638otherwise make them unwritable."
637 (interactive "@P") 639 (interactive "@P")
638 (if (or (and (null arg) cpp-unknown-writable) 640 (if (or (and (null arg) cpp-unknown-writable)
639 (<= (prefix-numeric-value arg) 0)) 641 (<= (prefix-numeric-value arg) 0))
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index 196c22b4a08..96af63849a4 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -256,10 +256,10 @@ One argument, the tag info returned by `snarf-tag-function'.")
256(defvar tags-included-tables-function nil 256(defvar tags-included-tables-function nil
257 "Function to do the work of `tags-included-tables' (which see).") 257 "Function to do the work of `tags-included-tables' (which see).")
258(defvar verify-tags-table-function nil 258(defvar verify-tags-table-function nil
259 "Function to return t iff current buffer contains valid tags file.") 259 "Function to return t if current buffer contains valid tags file.")
260 260
261;; Initialize the tags table in the current buffer. 261;; Initialize the tags table in the current buffer.
262;; Returns non-nil iff it is a valid tags table. On 262;; Returns non-nil if it is a valid tags table. On
263;; non-nil return, the tags table state variable are 263;; non-nil return, the tags table state variable are
264;; made buffer-local and initialized to nil. 264;; made buffer-local and initialized to nil.
265(defun initialize-new-tags-table () 265(defun initialize-new-tags-table ()
@@ -417,7 +417,7 @@ file the tag was in."
417(defun tags-verify-table (file) 417(defun tags-verify-table (file)
418 "Read FILE into a buffer and verify that it is a valid tags table. 418 "Read FILE into a buffer and verify that it is a valid tags table.
419Sets the current buffer to one visiting FILE (if it exists). 419Sets the current buffer to one visiting FILE (if it exists).
420Returns non-nil iff it is a valid table." 420Returns non-nil if it is a valid table."
421 (if (get-file-buffer file) 421 (if (get-file-buffer file)
422 ;; The file is already in a buffer. Check for the visited file 422 ;; The file is already in a buffer. Check for the visited file
423 ;; having changed since we last used it. 423 ;; having changed since we last used it.
@@ -1219,8 +1219,8 @@ where they were found."
1219 (verify-tags-table-function . etags-verify-tags-table) 1219 (verify-tags-table-function . etags-verify-tags-table)
1220 )))) 1220 ))))
1221 1221
1222;; Return non-nil iff the current buffer is a valid etags TAGS file.
1223(defun etags-verify-tags-table () 1222(defun etags-verify-tags-table ()
1223 "Return non-nil if the current buffer is a valid etags TAGS file."
1224 ;; Use eq instead of = in case char-after returns nil. 1224 ;; Use eq instead of = in case char-after returns nil.
1225 (eq (char-after (point-min)) ?\f)) 1225 (eq (char-after (point-min)) ?\f))
1226 1226
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index a6407a3ffa6..5538bd8984a 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -918,7 +918,7 @@ Convert it to flymake internal format."
918 ("\\(.*\\) at \\([^ \n]+\\) line \\([0-9]+\\)[,.\n]" 2 3 nil 1) 918 ("\\(.*\\) at \\([^ \n]+\\) line \\([0-9]+\\)[,.\n]" 2 3 nil 1)
919 ;; LaTeX warnings (fileless) ("\\(LaTeX \\(Warning\\|Error\\): .*\\) on input line \\([0-9]+\\)" 20 3 nil 1) 919 ;; LaTeX warnings (fileless) ("\\(LaTeX \\(Warning\\|Error\\): .*\\) on input line \\([0-9]+\\)" 20 3 nil 1)
920 ;; ant/javac 920 ;; ant/javac
921 (" *\\(\\[javac\\]\\)? *\\(\\([a-zA-Z]:\\)?[^:(\t\n]+\\)\:\\([0-9]+\\)\:[ \t\n]*\\(.+\\)" 921 (" *\\(\\[javac\\] *\\)?\\(\\([a-zA-Z]:\\)?[^:(\t\n]+\\)\:\\([0-9]+\\)\:[ \t\n]*\\(.+\\)"
922 2 4 nil 5)) 922 2 4 nil 5))
923 ;; compilation-error-regexp-alist) 923 ;; compilation-error-regexp-alist)
924 (flymake-reformat-err-line-patterns-from-compile-el compilation-error-regexp-alist-alist)) 924 (flymake-reformat-err-line-patterns-from-compile-el compilation-error-regexp-alist-alist))
diff --git a/lisp/progmodes/fortran.el b/lisp/progmodes/fortran.el
index 97f4c1c2616..bcb571f8c87 100644
--- a/lisp/progmodes/fortran.el
+++ b/lisp/progmodes/fortran.el
@@ -1831,7 +1831,7 @@ If ALL is nil, only match comments that start in column > 0."
1831;; From: ralf@up3aud1.gwdg.de (Ralf Fassel) 1831;; From: ralf@up3aud1.gwdg.de (Ralf Fassel)
1832;; Test if TAB format continuation lines work. 1832;; Test if TAB format continuation lines work.
1833(defun fortran-is-in-string-p (where) 1833(defun fortran-is-in-string-p (where)
1834 "Return non-nil iff WHERE (a buffer position) is inside a Fortran string." 1834 "Return non-nil if WHERE (a buffer position) is inside a Fortran string."
1835 (save-excursion 1835 (save-excursion
1836 (goto-char where) 1836 (goto-char where)
1837 (cond 1837 (cond
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 8f6be334465..c4d14462245 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -347,7 +347,8 @@ for `gdba'."
347 347
348(defun gdb-many-windows (arg) 348(defun gdb-many-windows (arg)
349 "Toggle the number of windows in the basic arrangement. 349 "Toggle the number of windows in the basic arrangement.
350With arg, display additional buffers iff arg is positive." 350With prefix argument ARG, display additional buffers if ARG is positive,
351otherwise use a single window."
351 (interactive "P") 352 (interactive "P")
352 (setq gdb-many-windows 353 (setq gdb-many-windows
353 (if (null arg) 354 (if (null arg)
@@ -363,7 +364,8 @@ With arg, display additional buffers iff arg is positive."
363 364
364(defun gdb-use-separate-io-buffer (arg) 365(defun gdb-use-separate-io-buffer (arg)
365 "Toggle separate IO for debugged program. 366 "Toggle separate IO for debugged program.
366With arg, use separate IO iff arg is positive." 367With prefix argument ARG, use separate IO if ARG is positive,
368otherwise do not."
367 (interactive "P") 369 (interactive "P")
368 (setq gdb-use-separate-io-buffer 370 (setq gdb-use-separate-io-buffer
369 (if (null arg) 371 (if (null arg)
@@ -664,7 +666,8 @@ line, and no execution takes place."
664 666
665(defun gdb-speedbar-auto-raise (arg) 667(defun gdb-speedbar-auto-raise (arg)
666 "Toggle automatic raising of the speedbar for watch expressions. 668 "Toggle automatic raising of the speedbar for watch expressions.
667With arg, automatically raise speedbar iff arg is positive." 669With prefix argument ARG, automatically raise speedbar if ARG is
670positive, otherwise don't automatically raise it."
668 (interactive "P") 671 (interactive "P")
669 (setq gdb-speedbar-auto-raise 672 (setq gdb-speedbar-auto-raise
670 (if (null arg) 673 (if (null arg)
@@ -1381,7 +1384,8 @@ directives."
1381 1384
1382(defun gdb-find-source-frame (arg) 1385(defun gdb-find-source-frame (arg)
1383 "Toggle trying to find a source frame further up stack. 1386 "Toggle trying to find a source frame further up stack.
1384With arg, look for a source frame further up stack iff arg is positive." 1387With prefix argument ARG, look for a source frame further up
1388stack if ARG is positive, otherwise don't look further up."
1385 (interactive "P") 1389 (interactive "P")
1386 (setq gdb-find-source-frame 1390 (setq gdb-find-source-frame
1387 (if (null arg) 1391 (if (null arg)
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index f4c31ac203a..4b0dec7002e 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -2467,7 +2467,7 @@ comint mode, which see."
2467;; for local variables in the debugger buffer. 2467;; for local variables in the debugger buffer.
2468(defun gud-common-init (command-line massage-args marker-filter 2468(defun gud-common-init (command-line massage-args marker-filter
2469 &optional find-file) 2469 &optional find-file)
2470 (let* ((words (string->strings command-line)) 2470 (let* ((words (split-string-and-unquote command-line))
2471 (program (car words)) 2471 (program (car words))
2472 (dir default-directory) 2472 (dir default-directory)
2473 ;; Extract the file name from WORDS 2473 ;; Extract the file name from WORDS
@@ -3361,7 +3361,7 @@ This event can be examined by forms in GUD-TOOLTIP-DISPLAY.")
3361 3361
3362(defun gud-tooltip-dereference (&optional arg) 3362(defun gud-tooltip-dereference (&optional arg)
3363 "Toggle whether tooltips should show `* expr' or `expr'. 3363 "Toggle whether tooltips should show `* expr' or `expr'.
3364With arg, dereference expr iff arg is positive." 3364With arg, dereference expr if ARG is positive, otherwise do not derereference."
3365 (interactive "P") 3365 (interactive "P")
3366 (setq gud-tooltip-dereference 3366 (setq gud-tooltip-dereference
3367 (if (null arg) 3367 (if (null arg)
diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el
index bb0a3c634dd..83167ba5a40 100644
--- a/lisp/progmodes/hideshow.el
+++ b/lisp/progmodes/hideshow.el
@@ -262,7 +262,7 @@ One of the following symbols:
262 t -- open both code and comment blocks 262 t -- open both code and comment blocks
263 nil -- open neither code nor comment blocks 263 nil -- open neither code nor comment blocks
264 264
265This has effect iff `search-invisible' is set to `open'." 265This has effect only if `search-invisible' is set to `open'."
266 :type '(choice (const :tag "open only code blocks" code) 266 :type '(choice (const :tag "open only code blocks" code)
267 (const :tag "open only comment blocks" comment) 267 (const :tag "open only comment blocks" comment)
268 (const :tag "open both code and comment blocks" t) 268 (const :tag "open both code and comment blocks" t)
@@ -515,7 +515,7 @@ Optional arg REPOS-END means reposition at end."
515 (goto-char (if repos-end end beg))) 515 (goto-char (if repos-end end beg)))
516 516
517(defun hs-hide-block-at-point (&optional end comment-reg) 517(defun hs-hide-block-at-point (&optional end comment-reg)
518 "Hide block iff on block beginning. 518 "Hide block if on block beginning.
519Optional arg END means reposition at end. 519Optional arg END means reposition at end.
520Optional arg COMMENT-REG is a list of the form (BEGIN END) and 520Optional arg COMMENT-REG is a list of the form (BEGIN END) and
521specifies the limits of the comment, or nil if the block is not 521specifies the limits of the comment, or nil if the block is not
@@ -678,7 +678,7 @@ Return point, or nil if original point was not in a block."
678 (goto-char maxp)) 678 (goto-char maxp))
679 679
680(defmacro hs-life-goes-on (&rest body) 680(defmacro hs-life-goes-on (&rest body)
681 "Evaluate BODY forms iff variable `hs-minor-mode' is non-nil. 681 "Evaluate BODY forms if variable `hs-minor-mode' is non-nil.
682In the dynamic context of this macro, `inhibit-point-motion-hooks' 682In the dynamic context of this macro, `inhibit-point-motion-hooks'
683and `case-fold-search' are both t." 683and `case-fold-search' are both t."
684 `(when hs-minor-mode 684 `(when hs-minor-mode
diff --git a/lisp/progmodes/octave-mod.el b/lisp/progmodes/octave-mod.el
index adc1b44edaa..3da3434cda2 100644
--- a/lisp/progmodes/octave-mod.el
+++ b/lisp/progmodes/octave-mod.el
@@ -567,24 +567,24 @@ including a reproducible test case and send the message."
567 (describe-function major-mode)) 567 (describe-function major-mode))
568 568
569(defsubst octave-in-comment-p () 569(defsubst octave-in-comment-p ()
570 "Returns t if point is inside an Octave comment, nil otherwise." 570 "Return t if point is inside an Octave comment."
571 (interactive) 571 (interactive)
572 (save-excursion 572 (save-excursion
573 (nth 4 (parse-partial-sexp (line-beginning-position) (point))))) 573 (nth 4 (parse-partial-sexp (line-beginning-position) (point)))))
574 574
575(defsubst octave-in-string-p () 575(defsubst octave-in-string-p ()
576 "Returns t if point is inside an Octave string, nil otherwise." 576 "Return t if point is inside an Octave string."
577 (interactive) 577 (interactive)
578 (save-excursion 578 (save-excursion
579 (nth 3 (parse-partial-sexp (line-beginning-position) (point))))) 579 (nth 3 (parse-partial-sexp (line-beginning-position) (point)))))
580 580
581(defsubst octave-not-in-string-or-comment-p () 581(defsubst octave-not-in-string-or-comment-p ()
582 "Returns t iff point is not inside an Octave string or comment." 582 "Return t if point is not inside an Octave string or comment."
583 (let ((pps (parse-partial-sexp (line-beginning-position) (point)))) 583 (let ((pps (parse-partial-sexp (line-beginning-position) (point))))
584 (not (or (nth 3 pps) (nth 4 pps))))) 584 (not (or (nth 3 pps) (nth 4 pps)))))
585 585
586(defun octave-in-block-p () 586(defun octave-in-block-p ()
587 "Returns t if point is inside an Octave block, nil otherwise. 587 "Return t if point is inside an Octave block.
588The block is taken to start at the first letter of the begin keyword and 588The block is taken to start at the first letter of the begin keyword and
589to end after the end keyword." 589to end after the end keyword."
590 (let ((pos (point))) 590 (let ((pos (point)))
@@ -599,7 +599,7 @@ to end after the end keyword."
599 (< pos (point))))) 599 (< pos (point)))))
600 600
601(defun octave-in-defun-p () 601(defun octave-in-defun-p ()
602 "Returns t iff point is inside an Octave function declaration. 602 "Return t if point is inside an Octave function declaration.
603The function is taken to start at the `f' of `function' and to end after 603The function is taken to start at the `f' of `function' and to end after
604the end keyword." 604the end keyword."
605 (let ((pos (point))) 605 (let ((pos (point)))
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 9bef41a0878..462445f3d71 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -348,7 +348,7 @@ comments and strings, or that point is within brackets/parens."
348 (error nil)))))))) 348 (error nil))))))))
349 349
350(defun python-comment-line-p () 350(defun python-comment-line-p ()
351 "Return non-nil iff current line has only a comment." 351 "Return non-nil if current line has only a comment."
352 (save-excursion 352 (save-excursion
353 (end-of-line) 353 (end-of-line)
354 (when (eq 'comment (syntax-ppss-context (syntax-ppss))) 354 (when (eq 'comment (syntax-ppss-context (syntax-ppss)))
@@ -356,7 +356,7 @@ comments and strings, or that point is within brackets/parens."
356 (looking-at (rx (or (syntax comment-start) line-end)))))) 356 (looking-at (rx (or (syntax comment-start) line-end))))))
357 357
358(defun python-blank-line-p () 358(defun python-blank-line-p ()
359 "Return non-nil iff current line is blank." 359 "Return non-nil if current line is blank."
360 (save-excursion 360 (save-excursion
361 (beginning-of-line) 361 (beginning-of-line)
362 (looking-at "\\s-*$"))) 362 (looking-at "\\s-*$")))
@@ -850,7 +850,7 @@ multi-line bracketed expressions."
850 "Skip out of any nested brackets. 850 "Skip out of any nested brackets.
851Skip forward if FORWARD is non-nil, else backward. 851Skip forward if FORWARD is non-nil, else backward.
852If SYNTAX is non-nil it is the state returned by `syntax-ppss' at point. 852If SYNTAX is non-nil it is the state returned by `syntax-ppss' at point.
853Return non-nil iff skipping was done." 853Return non-nil if skipping was done."
854 (let ((depth (syntax-ppss-depth (or syntax (syntax-ppss)))) 854 (let ((depth (syntax-ppss-depth (or syntax (syntax-ppss))))
855 (forward (if forward -1 1))) 855 (forward (if forward -1 1)))
856 (unless (zerop depth) 856 (unless (zerop depth)
@@ -1199,7 +1199,7 @@ local value.")
1199 (define-key map "\C-c\C-l" 'python-load-file) 1199 (define-key map "\C-c\C-l" 'python-load-file)
1200 (define-key map "\C-c\C-v" 'python-check) 1200 (define-key map "\C-c\C-v" 'python-check)
1201 ;; Note that we _can_ still use these commands which send to the 1201 ;; Note that we _can_ still use these commands which send to the
1202 ;; Python process even at the prompt iff we have a normal prompt, 1202 ;; Python process even at the prompt provided we have a normal prompt,
1203 ;; i.e. '>>> ' and not '... '. See the comment before 1203 ;; i.e. '>>> ' and not '... '. See the comment before
1204 ;; python-send-region. Fixme: uncomment these if we address that. 1204 ;; python-send-region. Fixme: uncomment these if we address that.
1205 1205
diff --git a/lisp/progmodes/tcl.el b/lisp/progmodes/tcl.el
index c7576a27114..f9fd7beffd2 100644
--- a/lisp/progmodes/tcl.el
+++ b/lisp/progmodes/tcl.el
@@ -126,11 +126,13 @@
126 "*Indentation of Tcl statements with respect to containing block." 126 "*Indentation of Tcl statements with respect to containing block."
127 :type 'integer 127 :type 'integer
128 :group 'tcl) 128 :group 'tcl)
129(put 'tcl-indent-level 'safe-local-variable 'integerp)
129 130
130(defcustom tcl-continued-indent-level 4 131(defcustom tcl-continued-indent-level 4
131 "*Indentation of continuation line relative to first line of command." 132 "*Indentation of continuation line relative to first line of command."
132 :type 'integer 133 :type 'integer
133 :group 'tcl) 134 :group 'tcl)
135(put 'tcl-continued-indent-level 'safe-local-variable 'integerp)
134 136
135(defcustom tcl-auto-newline nil 137(defcustom tcl-auto-newline nil
136 "*Non-nil means automatically newline before and after braces you insert." 138 "*Non-nil means automatically newline before and after braces you insert."
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el
index 2762e8dbd55..5307445dc04 100644
--- a/lisp/progmodes/which-func.el
+++ b/lisp/progmodes/which-func.el
@@ -232,7 +232,7 @@ It creates the Imenu index for the buffer, if necessary."
232When Which Function mode is enabled, the current function name is 232When Which Function mode is enabled, the current function name is
233continuously displayed in the mode line, in certain major modes. 233continuously displayed in the mode line, in certain major modes.
234 234
235With prefix ARG, turn Which Function mode on iff arg is positive, 235With prefix ARG, turn Which Function mode on if arg is positive,
236and off otherwise." 236and off otherwise."
237 :global t :group 'which-func 237 :global t :group 'which-func
238 (if which-function-mode 238 (if which-function-mode
diff --git a/lisp/progmodes/xscheme.el b/lisp/progmodes/xscheme.el
index 0beca9e985e..a820ca4cede 100644
--- a/lisp/progmodes/xscheme.el
+++ b/lisp/progmodes/xscheme.el
@@ -868,7 +868,7 @@ Control returns to the top level rep loop."
868 (sleep-for 1))) 868 (sleep-for 1)))
869 869
870(defun xscheme-process-running-p () 870(defun xscheme-process-running-p ()
871 "True iff there is a Scheme process whose status is `run'." 871 "True if there is a Scheme process whose status is `run'."
872 (let ((process (get-process xscheme-process-name))) 872 (let ((process (get-process xscheme-process-name)))
873 (and process 873 (and process
874 (eq (process-status process) 'run)))) 874 (eq (process-status process) 'run))))
@@ -882,7 +882,7 @@ Control returns to the top level rep loop."
882 (and buffer (get-buffer-window buffer)))) 882 (and buffer (get-buffer-window buffer))))
883 883
884(defun xscheme-process-buffer-current-p () 884(defun xscheme-process-buffer-current-p ()
885 "True iff the current buffer is the Scheme process buffer." 885 "True if the current buffer is the Scheme process buffer."
886 (eq (xscheme-process-buffer) (current-buffer))) 886 (eq (xscheme-process-buffer) (current-buffer)))
887 887
888;;;; Process Filter Operations 888;;;; Process Filter Operations
diff --git a/lisp/select.el b/lisp/select.el
index b1fa729a664..60259142522 100644
--- a/lisp/select.el
+++ b/lisp/select.el
@@ -178,7 +178,7 @@ Cut buffers are considered obsolete; you should use selections instead."
178If it is valid, set the register `r0' to 1, else set it to 0.") 178If it is valid, set the register `r0' to 1, else set it to 0.")
179 179
180(defun string-utf-8-p (string) 180(defun string-utf-8-p (string)
181 "Return non-nil iff STRING is a unibyte string of valid UTF-8 sequence." 181 "Return non-nil if STRING is a unibyte string of valid UTF-8 sequence."
182 (if (or (not (stringp string)) 182 (if (or (not (stringp string))
183 (multibyte-string-p string)) 183 (multibyte-string-p string))
184 (error "Not a unibyte string: %s" string)) 184 (error "Not a unibyte string: %s" string))
diff --git a/lisp/shadowfile.el b/lisp/shadowfile.el
index ee6dcc15b7e..d1de8be3910 100644
--- a/lisp/shadowfile.el
+++ b/lisp/shadowfile.el
@@ -285,7 +285,7 @@ information defining the cluster. For interactive use, call
285 ans))) 285 ans)))
286 286
287(defun shadow-site-match (site1 site2) 287(defun shadow-site-match (site1 site2)
288 "Non-nil iff SITE1 is or includes SITE2. 288 "Non-nil if SITE1 is or includes SITE2.
289Each may be a host or cluster name; if they are clusters, regexp of SITE1 will 289Each may be a host or cluster name; if they are clusters, regexp of SITE1 will
290be matched against the primary of SITE2." 290be matched against the primary of SITE2."
291 (or (string-equal site1 site2) ; quick check 291 (or (string-equal site1 site2) ; quick check
diff --git a/lisp/simple.el b/lisp/simple.el
index 330c6978f84..c83811189df 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -4535,8 +4535,9 @@ The variable `selective-display' has a separate value for each buffer."
4535 4535
4536(defun toggle-truncate-lines (&optional arg) 4536(defun toggle-truncate-lines (&optional arg)
4537 "Toggle whether to fold or truncate long lines for the current buffer. 4537 "Toggle whether to fold or truncate long lines for the current buffer.
4538With arg, truncate long lines iff arg is positive. 4538With prefix argument ARG, truncate long lines if ARG is positive,
4539Note that in side-by-side windows, truncation is always enabled." 4539otherwise don't truncate them. Note that in side-by-side
4540windows, truncation is always enabled."
4540 (interactive "P") 4541 (interactive "P")
4541 (setq truncate-lines 4542 (setq truncate-lines
4542 (if (null arg) 4543 (if (null arg)
@@ -4559,11 +4560,11 @@ Note that in side-by-side windows, truncation is always enabled."
4559 4560
4560(defun overwrite-mode (arg) 4561(defun overwrite-mode (arg)
4561 "Toggle overwrite mode. 4562 "Toggle overwrite mode.
4562With arg, turn overwrite mode on iff arg is positive. 4563With prefix argument ARG, turn overwrite mode on if ARG is positive,
4563In overwrite mode, printing characters typed in replace existing text 4564otherwise turn it off. In overwrite mode, printing characters typed
4564on a one-for-one basis, rather than pushing it to the right. At the 4565in replace existing text on a one-for-one basis, rather than pushing
4565end of a line, such characters extend the line. Before a tab, 4566it to the right. At the end of a line, such characters extend the line.
4566such characters insert until the tab is filled in. 4567Before a tab, such characters insert until the tab is filled in.
4567\\[quoted-insert] still inserts characters in overwrite mode; this 4568\\[quoted-insert] still inserts characters in overwrite mode; this
4568is supposed to make it easier to insert characters when necessary." 4569is supposed to make it easier to insert characters when necessary."
4569 (interactive "P") 4570 (interactive "P")
@@ -4575,14 +4576,13 @@ is supposed to make it easier to insert characters when necessary."
4575 4576
4576(defun binary-overwrite-mode (arg) 4577(defun binary-overwrite-mode (arg)
4577 "Toggle binary overwrite mode. 4578 "Toggle binary overwrite mode.
4578With arg, turn binary overwrite mode on iff arg is positive. 4579With prefix argument ARG, turn binary overwrite mode on if ARG is
4579In binary overwrite mode, printing characters typed in replace 4580positive, otherwise turn it off. In binary overwrite mode, printing
4580existing text. Newlines are not treated specially, so typing at the 4581characters typed in replace existing text. Newlines are not treated
4581end of a line joins the line to the next, with the typed character 4582specially, so typing at the end of a line joins the line to the next,
4582between them. Typing before a tab character simply replaces the tab 4583with the typed character between them. Typing before a tab character
4583with the character typed. 4584simply replaces the tab with the character typed. \\[quoted-insert]
4584\\[quoted-insert] replaces the text at the cursor, just as ordinary 4585replaces the text at the cursor, just as ordinary typing characters do.
4585typing characters do.
4586 4586
4587Note that binary overwrite mode is not its own minor mode; it is a 4587Note that binary overwrite mode is not its own minor mode; it is a
4588specialization of overwrite mode, entered by setting the 4588specialization of overwrite mode, entered by setting the
@@ -4597,9 +4597,9 @@ specialization of overwrite mode, entered by setting the
4597 4597
4598(define-minor-mode line-number-mode 4598(define-minor-mode line-number-mode
4599 "Toggle Line Number mode. 4599 "Toggle Line Number mode.
4600With arg, turn Line Number mode on iff arg is positive. 4600With arg, turn Line Number mode on if arg is positive, otherwise
4601When Line Number mode is enabled, the line number appears 4601turn it off. When Line Number mode is enabled, the line number
4602in the mode line. 4602appears in the mode line.
4603 4603
4604Line numbers do not appear for very large buffers and buffers 4604Line numbers do not appear for very large buffers and buffers
4605with very long lines; see variables `line-number-display-limit' 4605with very long lines; see variables `line-number-display-limit'
@@ -4608,16 +4608,16 @@ and `line-number-display-limit-width'."
4608 4608
4609(define-minor-mode column-number-mode 4609(define-minor-mode column-number-mode
4610 "Toggle Column Number mode. 4610 "Toggle Column Number mode.
4611With arg, turn Column Number mode on iff arg is positive. 4611With arg, turn Column Number mode on if arg is positive,
4612When Column Number mode is enabled, the column number appears 4612otherwise turn it off. When Column Number mode is enabled, the
4613in the mode line." 4613column number appears in the mode line."
4614 :global t :group 'mode-line) 4614 :global t :group 'mode-line)
4615 4615
4616(define-minor-mode size-indication-mode 4616(define-minor-mode size-indication-mode
4617 "Toggle Size Indication mode. 4617 "Toggle Size Indication mode.
4618With arg, turn Size Indication mode on iff arg is positive. When 4618With arg, turn Size Indication mode on if arg is positive,
4619Size Indication mode is enabled, the size of the accessible part 4619otherwise turn it off. When Size Indication mode is enabled, the
4620of the buffer appears in the mode line." 4620size of the accessible part of the buffer appears in the mode line."
4621 :global t :group 'mode-line) 4621 :global t :group 'mode-line)
4622 4622
4623(defgroup paren-blinking nil 4623(defgroup paren-blinking nil
@@ -5152,7 +5152,7 @@ With prefix argument N, move N items (negative N means move backward)."
5152These functions are called in order with four arguments: 5152These functions are called in order with four arguments:
5153CHOICE - the string to insert in the buffer, 5153CHOICE - the string to insert in the buffer,
5154BUFFER - the buffer in which the choice should be inserted, 5154BUFFER - the buffer in which the choice should be inserted,
5155MINI-P - non-nil iff BUFFER is a minibuffer, and 5155MINI-P - non-nil if BUFFER is a minibuffer, and
5156BASE-SIZE - the number of characters in BUFFER before 5156BASE-SIZE - the number of characters in BUFFER before
5157the string being completed. 5157the string being completed.
5158 5158
@@ -5760,7 +5760,8 @@ See also `normal-erase-is-backspace'."
5760 5760
5761(define-minor-mode visible-mode 5761(define-minor-mode visible-mode
5762 "Toggle Visible mode. 5762 "Toggle Visible mode.
5763With argument ARG turn Visible mode on iff ARG is positive. 5763With argument ARG turn Visible mode on if ARG is positive, otherwise
5764turn it off.
5764 5765
5765Enabling Visible mode makes all invisible text temporarily visible. 5766Enabling Visible mode makes all invisible text temporarily visible.
5766Disabling Visible mode turns off that effect. Visible mode 5767Disabling Visible mode turns off that effect. Visible mode
diff --git a/lisp/skeleton.el b/lisp/skeleton.el
index 33e223e4b2b..4425bb0389a 100644
--- a/lisp/skeleton.el
+++ b/lisp/skeleton.el
@@ -209,8 +209,8 @@ If ELEMENT is a string or a character it gets inserted (see also
209 interesting point set by _ 209 interesting point set by _
210 > indent line (or interregion if > _) according to major mode 210 > indent line (or interregion if > _) according to major mode
211 @ add position to `skeleton-positions' 211 @ add position to `skeleton-positions'
212 & do next ELEMENT iff previous moved point 212 & do next ELEMENT if previous moved point
213 | do next ELEMENT iff previous didn't move point 213 | do next ELEMENT if previous didn't move point
214 -num delete num preceding characters (see `skeleton-untabify') 214 -num delete num preceding characters (see `skeleton-untabify')
215 resume: skipped, continue here if quit is signaled 215 resume: skipped, continue here if quit is signaled
216 nil skipped 216 nil skipped
diff --git a/lisp/strokes.el b/lisp/strokes.el
index 528ea477363..de4123453f5 100644
--- a/lisp/strokes.el
+++ b/lisp/strokes.el
@@ -1370,7 +1370,7 @@ If STROKES-MAP is not given, `strokes-global-map' will be used instead."
1370 (goto-char (point-min)))) 1370 (goto-char (point-min))))
1371 1371
1372(defun strokes-alphabetic-lessp (stroke1 stroke2) 1372(defun strokes-alphabetic-lessp (stroke1 stroke2)
1373 "T iff command name for STROKE1 is less than STROKE2's in lexicographic order." 1373 "T if command name for STROKE1 is less than STROKE2's in lexicographic order."
1374 (let ((command-name-1 (symbol-name (cdr stroke1))) 1374 (let ((command-name-1 (symbol-name (cdr stroke1)))
1375 (command-name-2 (symbol-name (cdr stroke2)))) 1375 (command-name-2 (symbol-name (cdr stroke2))))
1376 (string-lessp command-name-1 command-name-2))) 1376 (string-lessp command-name-1 command-name-2)))
@@ -1520,7 +1520,7 @@ Encode/decode your strokes with \\[strokes-encode-buffer],
1520 (eq char ?*))) 1520 (eq char ?*)))
1521 1521
1522;;(defsubst strokes-xor (a b) ### Should I make this an inline function? ### 1522;;(defsubst strokes-xor (a b) ### Should I make this an inline function? ###
1523;; "T iff one and only one of A and B is non-nil; otherwise, returns nil. 1523;; "T if one and only one of A and B is non-nil; otherwise, returns nil.
1524;;NOTE: Don't use this as a numeric xor since it treats all non-nil 1524;;NOTE: Don't use this as a numeric xor since it treats all non-nil
1525;; values as t including `0' (zero)." 1525;; values as t including `0' (zero)."
1526;; (eq (null a) (not (null b)))) 1526;; (eq (null a) (not (null b))))
diff --git a/lisp/subr.el b/lisp/subr.el
index c8c693565fc..0a1466aa4fb 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -2836,11 +2836,10 @@ Modifies the match data; use `save-match-data' if necessary."
2836 list))) 2836 list)))
2837 (nreverse list))) 2837 (nreverse list)))
2838 2838
2839;; (string->strings (strings->string X)) == X 2839(defun combine-and-quote-strings (strings &optional separator)
2840(defun strings->string (strings &optional separator)
2841 "Concatenate the STRINGS, adding the SEPARATOR (default \" \"). 2840 "Concatenate the STRINGS, adding the SEPARATOR (default \" \").
2842This tries to quote the strings to avoid ambiguity such that 2841This tries to quote the strings to avoid ambiguity such that
2843 (string->strings (strings->string strs)) == strs 2842 (split-string-and-unquote (combine-and-quote-strings strs)) == strs
2844Only some SEPARATORs will work properly." 2843Only some SEPARATORs will work properly."
2845 (let ((sep (or separator " "))) 2844 (let ((sep (or separator " ")))
2846 (mapconcat 2845 (mapconcat
@@ -2850,20 +2849,20 @@ Only some SEPARATORs will work properly."
2850 str)) 2849 str))
2851 strings sep))) 2850 strings sep)))
2852 2851
2853;; (string->strings (strings->string X)) == X 2852(defun split-string-and-unquote (string &optional separator)
2854(defun string->strings (string &optional separator)
2855 "Split the STRING into a list of strings. 2853 "Split the STRING into a list of strings.
2856It understands elisp style quoting within STRING such that 2854It understands Emacs Lisp quoting within STRING, such that
2857 (string->strings (strings->string strs)) == strs 2855 (split-string-and-unquote (combine-and-quote-strings strs)) == strs
2858The SEPARATOR regexp defaults to \"\\s-+\"." 2856The SEPARATOR regexp defaults to \"\\s-+\"."
2859 (let ((sep (or separator "\\s-+")) 2857 (let ((sep (or separator "\\s-+"))
2860 (i (string-match "[\"]" string))) 2858 (i (string-match "[\"]" string)))
2861 (if (null i) (split-string string sep t) ; no quoting: easy 2859 (if (null i)
2860 (split-string string sep t) ; no quoting: easy
2862 (append (unless (eq i 0) (split-string (substring string 0 i) sep t)) 2861 (append (unless (eq i 0) (split-string (substring string 0 i) sep t))
2863 (let ((rfs (read-from-string string i))) 2862 (let ((rfs (read-from-string string i)))
2864 (cons (car rfs) 2863 (cons (car rfs)
2865 (string->strings (substring string (cdr rfs)) 2864 (split-string-and-unquote (substring string (cdr rfs))
2866 sep))))))) 2865 sep)))))))
2867 2866
2868 2867
2869;;;; Replacement in strings. 2868;;;; Replacement in strings.
diff --git a/lisp/t-mouse.el b/lisp/t-mouse.el
index c97f5afcf9c..821bad4e819 100644
--- a/lisp/t-mouse.el
+++ b/lisp/t-mouse.el
@@ -42,7 +42,8 @@
42;;;###autoload 42;;;###autoload
43(define-minor-mode t-mouse-mode 43(define-minor-mode t-mouse-mode
44 "Toggle t-mouse mode to use the mouse in Linux consoles. 44 "Toggle t-mouse mode to use the mouse in Linux consoles.
45With prefix arg, turn t-mouse mode on iff arg is positive. 45With prefix arg, turn t-mouse mode on if arg is positive, otherwise turn it
46off.
46 47
47This allows the use of the mouse when operating on a Linux console, in the 48This allows the use of the mouse when operating on a Linux console, in the
48same way as you can use the mouse under X11. 49same way as you can use the mouse under X11.
diff --git a/lisp/term.el b/lisp/term.el
index 649aa79b818..523d20670e6 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -469,7 +469,7 @@
469(defvar term-scroll-with-delete nil) ;; term-scroll-with-delete is t if 469(defvar term-scroll-with-delete nil) ;; term-scroll-with-delete is t if
470;; forward scrolling should be implemented by delete to 470;; forward scrolling should be implemented by delete to
471;; top-most line(s); and nil if scrolling should be implemented 471;; top-most line(s); and nil if scrolling should be implemented
472;; by moving term-home-marker. It is set to t iff there is a 472;; by moving term-home-marker. It is set to t if there is a
473;; (non-default) scroll-region OR the alternate buffer is used. 473;; (non-default) scroll-region OR the alternate buffer is used.
474(defvar term-pending-delete-marker) ;; New user input in line mode needs to 474(defvar term-pending-delete-marker) ;; New user input in line mode needs to
475;; be deleted, because it gets echoed by the inferior. 475;; be deleted, because it gets echoed by the inferior.
diff --git a/lisp/term/sun-mouse.el b/lisp/term/sun-mouse.el
index 280bfb67081..65ebe193c71 100644
--- a/lisp/term/sun-mouse.el
+++ b/lisp/term/sun-mouse.el
@@ -230,7 +230,7 @@ Handles wrapped and horizontally scrolled lines correctly."
230 230
231 231
232(defun minibuffer-window-p (window) 232(defun minibuffer-window-p (window)
233 "True iff this WINDOW is minibuffer." 233 "True if this WINDOW is minibuffer."
234 (= (frame-height) 234 (= (frame-height)
235 (nth 3 (window-edges window)) ; The bottom edge. 235 (nth 3 (window-edges window)) ; The bottom edge.
236 )) 236 ))
diff --git a/lisp/term/tvi970.el b/lisp/term/tvi970.el
index 4af21f08522..1c0bda519ac 100644
--- a/lisp/term/tvi970.el
+++ b/lisp/term/tvi970.el
@@ -106,8 +106,8 @@
106 106
107;;; Should keypad numbers send ordinary digits or distinct escape sequences? 107;;; Should keypad numbers send ordinary digits or distinct escape sequences?
108(defvar tvi970-keypad-numeric nil 108(defvar tvi970-keypad-numeric nil
109 "The terminal should be in numeric keypad mode iff this variable is non-nil. 109 "Non-nil means the terminal should be in numeric keypad mode.
110Do not set this variable! Call the function ``tvi970-set-keypad-mode''.") 110Do not set this variable! Call the function `tvi970-set-keypad-mode'.")
111 111
112(defun tvi970-set-keypad-mode (&optional arg) 112(defun tvi970-set-keypad-mode (&optional arg)
113 "Set the current mode of the TVI 970 numeric keypad. 113 "Set the current mode of the TVI 970 numeric keypad.
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el
index dbb41f13ec0..274de28e6a0 100644
--- a/lisp/textmodes/artist.el
+++ b/lisp/textmodes/artist.el
@@ -1768,7 +1768,7 @@ info-variant-part."
1768;; Macro that won't funcall the function if it is nil. 1768;; Macro that won't funcall the function if it is nil.
1769;; 1769;;
1770(defmacro artist-funcall (fn &rest args) 1770(defmacro artist-funcall (fn &rest args)
1771 "Call function FN with ARGS iff FN is not nil." 1771 "Call function FN with ARGS, if FN is not nil."
1772 (list 'if fn (cons 'funcall (cons fn args)))) 1772 (list 'if fn (cons 'funcall (cons fn args))))
1773 1773
1774(defun artist-uniq (l) 1774(defun artist-uniq (l)
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 8b95a159477..0b5dfa4cc54 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -457,7 +457,8 @@ See also `flyspell-duplicate-distance'."
457This spawns a single Ispell process and checks each word. 457This spawns a single Ispell process and checks each word.
458The default flyspell behavior is to highlight incorrect words. 458The default flyspell behavior is to highlight incorrect words.
459With no argument, this command toggles Flyspell mode. 459With no argument, this command toggles Flyspell mode.
460With a prefix argument ARG, turn Flyspell minor mode on iff ARG is positive. 460With a prefix argument ARG, turn Flyspell minor mode on if ARG is positive,
461otherwise turn it off.
461 462
462Bindings: 463Bindings:
463\\[ispell-word]: correct words (using Ispell). 464\\[ispell-word]: correct words (using Ispell).
@@ -1621,7 +1622,7 @@ FLYSPELL-BUFFER."
1621;;* flyspell-overlay-p ... */ 1622;;* flyspell-overlay-p ... */
1622;;*---------------------------------------------------------------------*/ 1623;;*---------------------------------------------------------------------*/
1623(defun flyspell-overlay-p (o) 1624(defun flyspell-overlay-p (o)
1624 "A predicate that return true iff O is an overlay used by flyspell." 1625 "Return true if O is an overlay used by flyspell."
1625 (and (overlayp o) (overlay-get o 'flyspell-overlay))) 1626 (and (overlayp o) (overlay-get o 'flyspell-overlay)))
1626 1627
1627;;*---------------------------------------------------------------------*/ 1628;;*---------------------------------------------------------------------*/
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index 047fb141331..3d6a17c5d93 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -3324,7 +3324,8 @@ available on the net."
3324;;;###autoload 3324;;;###autoload
3325(defun ispell-minor-mode (&optional arg) 3325(defun ispell-minor-mode (&optional arg)
3326 "Toggle Ispell minor mode. 3326 "Toggle Ispell minor mode.
3327With prefix arg, turn Ispell minor mode on iff arg is positive. 3327With prefix argument ARG, turn Ispell minor mode on if ARG is positive,
3328otherwise turn it off.
3328 3329
3329In Ispell minor mode, pressing SPC or RET 3330In Ispell minor mode, pressing SPC or RET
3330warns you if the previous word is incorrectly spelled. 3331warns you if the previous word is incorrectly spelled.
diff --git a/lisp/textmodes/nroff-mode.el b/lisp/textmodes/nroff-mode.el
index 45d407b2565..31ec234fddc 100644
--- a/lisp/textmodes/nroff-mode.el
+++ b/lisp/textmodes/nroff-mode.el
@@ -263,7 +263,7 @@ automatically inserts the matching closing request after point."
263`nroff-electric-newline' forces Emacs to check for an nroff request at the 263`nroff-electric-newline' forces Emacs to check for an nroff request at the
264beginning of the line, and insert the matching closing request if necessary. 264beginning of the line, and insert the matching closing request if necessary.
265This command toggles that mode (off->on, on->off), with an argument, 265This command toggles that mode (off->on, on->off), with an argument,
266turns it on iff arg is positive, otherwise off." 266turns it on if arg is positive, otherwise off."
267 :lighter " Electric" 267 :lighter " Electric"
268 (or (derived-mode-p 'nroff-mode) (error "Must be in nroff mode"))) 268 (or (derived-mode-p 'nroff-mode) (error "Must be in nroff mode")))
269 269
diff --git a/lisp/textmodes/refill.el b/lisp/textmodes/refill.el
index a20a482a1c9..3717faa8ad2 100644
--- a/lisp/textmodes/refill.el
+++ b/lisp/textmodes/refill.el
@@ -217,7 +217,7 @@ complex processing.")
217;;;###autoload 217;;;###autoload
218(define-minor-mode refill-mode 218(define-minor-mode refill-mode
219 "Toggle Refill minor mode. 219 "Toggle Refill minor mode.
220With prefix arg, turn Refill mode on iff arg is positive. 220With prefix arg, turn Refill mode on if arg is positive, otherwise turn it off.
221 221
222When Refill mode is on, the current paragraph will be formatted when 222When Refill mode is on, the current paragraph will be formatted when
223changes are made within it. Self-inserting characters only cause 223changes are made within it. Self-inserting characters only cause
diff --git a/lisp/textmodes/reftex-global.el b/lisp/textmodes/reftex-global.el
index c551083240c..2a39949431c 100644
--- a/lisp/textmodes/reftex-global.el
+++ b/lisp/textmodes/reftex-global.el
@@ -431,7 +431,7 @@ the current TeX document.
431 431
432With no argument, this command toggles 432With no argument, this command toggles
433`reftex-isearch-minor-mode'. With a prefix argument ARG, turn 433`reftex-isearch-minor-mode'. With a prefix argument ARG, turn
434`reftex-isearch-minor-mode' on iff ARG is positive." 434`reftex-isearch-minor-mode' on if ARG is positive, otherwise turn it off."
435 (interactive "P") 435 (interactive "P")
436 (let ((old-reftex-isearch-minor-mode reftex-isearch-minor-mode)) 436 (let ((old-reftex-isearch-minor-mode reftex-isearch-minor-mode))
437 (setq reftex-isearch-minor-mode 437 (setq reftex-isearch-minor-mode
diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el
index 6e262ee00d2..245ffc47908 100644
--- a/lisp/textmodes/sgml-mode.el
+++ b/lisp/textmodes/sgml-mode.el
@@ -826,7 +826,7 @@ Return non-nil if we skipped over matched tags."
826(defun sgml-skip-tag-forward (arg) 826(defun sgml-skip-tag-forward (arg)
827 "Skip to end of tag or matching closing tag if present. 827 "Skip to end of tag or matching closing tag if present.
828With prefix argument ARG, repeat this ARG times. 828With prefix argument ARG, repeat this ARG times.
829Return t iff after a closing tag." 829Return t if after a closing tag."
830 (interactive "p") 830 (interactive "p")
831 ;; FIXME: Use sgml-get-context or something similar. 831 ;; FIXME: Use sgml-get-context or something similar.
832 ;; It currently might jump to an unrelated </P> if the <P> 832 ;; It currently might jump to an unrelated </P> if the <P>
diff --git a/lisp/textmodes/two-column.el b/lisp/textmodes/two-column.el
index 2568b53fe36..e1f55c0dece 100644
--- a/lisp/textmodes/two-column.el
+++ b/lisp/textmodes/two-column.el
@@ -347,8 +347,8 @@ When called again, restores the screen layout with the current buffer
347first and the associated buffer to its right." 347first and the associated buffer to its right."
348 (interactive "P") 348 (interactive "P")
349 ;; first go to full width, so that we can certainly split into two windows 349 ;; first go to full width, so that we can certainly split into two windows
350 (if (< (window-width) (frame-width)) 350 (unless (window-full-width-p)
351 (enlarge-window 99999 t)) 351 (enlarge-window 99999 t))
352 (split-window-horizontally 352 (split-window-horizontally
353 (max window-min-width (min 2C-window-width 353 (max window-min-width (min 2C-window-width
354 (- (frame-width) window-min-width)))) 354 (- (frame-width) window-min-width))))
@@ -533,8 +533,8 @@ off trailing spaces with \\[delete-trailing-whitespace]."
533 (insert 2C-separator string)) 533 (insert 2C-separator string))
534 (next-line 1) ; add one if necessary 534 (next-line 1) ; add one if necessary
535 (set-buffer b2)))) 535 (set-buffer b2))))
536 (if (< (window-width) (frame-width)) 536 (unless (window-full-width-p)
537 (enlarge-window 99999 t))) 537 (enlarge-window 99999 t)))
538 538
539;;;;; utility functions ;;;;; 539;;;;; utility functions ;;;;;
540 540
@@ -561,8 +561,10 @@ off trailing spaces with \\[delete-trailing-whitespace]."
561 (newline arg)) 561 (newline arg))
562 562
563(defun 2C-toggle-autoscroll (arg) 563(defun 2C-toggle-autoscroll (arg)
564 "Toggle autoscrolling, or set it iff prefix ARG is non-nil and positive. 564 "Toggle autoscrolling.
565When autoscrolling is turned on, this also realigns the two buffers." 565With prefix argument ARG, turn on autoscrolling if ARG is
566positive, otherwise turn it off. When autoscrolling is turned
567on, this also realigns the two buffers."
566 (interactive "P") 568 (interactive "P")
567 ;(sit-for 0) 569 ;(sit-for 0)
568 (setq 2C-autoscroll-start (window-start)) 570 (setq 2C-autoscroll-start (window-start))
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog
index 8bf3ca4aead..46a2bb62a75 100644
--- a/lisp/url/ChangeLog
+++ b/lisp/url/ChangeLog
@@ -1,3 +1,8 @@
12007-08-08 Glenn Morris <rgm@gnu.org>
2
3 * url-auth.el, url-cache.el, url-dav.el, url-file.el, vc-dav.el:
4 Replace `iff' in doc-strings and comments.
5
12007-07-25 Glenn Morris <rgm@gnu.org> 62007-07-25 Glenn Morris <rgm@gnu.org>
2 7
3 * Relicense all FSF files to GPLv3 or later. 8 * Relicense all FSF files to GPLv3 or later.
diff --git a/lisp/url/url-auth.el b/lisp/url/url-auth.el
index 45b78e51f90..3c33fd914e5 100644
--- a/lisp/url/url-auth.el
+++ b/lisp/url/url-auth.el
@@ -312,7 +312,7 @@ RATING a rating between 1 and 10 of the strength of the authentication.
312 url-registered-auth-schemes))))) 312 url-registered-auth-schemes)))))
313 313
314(defun url-auth-registered (scheme) 314(defun url-auth-registered (scheme)
315 ;; Return non-nil iff SCHEME is registered as an auth type 315 "Return non-nil if SCHEME is registered as an auth type."
316 (assoc scheme url-registered-auth-schemes)) 316 (assoc scheme url-registered-auth-schemes))
317 317
318(provide 'url-auth) 318(provide 'url-auth)
diff --git a/lisp/url/url-cache.el b/lisp/url/url-cache.el
index 8fbe01d472a..6db30eacda9 100644
--- a/lisp/url/url-cache.el
+++ b/lisp/url/url-cache.el
@@ -186,7 +186,7 @@ Very fast if you have an `md5' primitive function, suitably fast otherwise."
186 186
187;;;###autoload 187;;;###autoload
188(defun url-cache-expired (url mod) 188(defun url-cache-expired (url mod)
189 "Return t iff a cached file has expired." 189 "Return t if a cached file has expired."
190 (let* ((urlobj (if (vectorp url) url (url-generic-parse-url url))) 190 (let* ((urlobj (if (vectorp url) url (url-generic-parse-url url)))
191 (type (url-type urlobj))) 191 (type (url-type urlobj)))
192 (cond 192 (cond
diff --git a/lisp/url/url-dav.el b/lisp/url/url-dav.el
index afae0041b68..b58c1672865 100644
--- a/lisp/url/url-dav.el
+++ b/lisp/url/url-dav.el
@@ -562,7 +562,7 @@ FAILURE-RESULTS is a list of (URL STATUS)."
562 562
563(defun url-dav-unlock-resource (url lock-token) 563(defun url-dav-unlock-resource (url lock-token)
564 "Release the lock on URL represented by LOCK-TOKEN. 564 "Release the lock on URL represented by LOCK-TOKEN.
565Returns t iff the lock was successfully released." 565Returns t if the lock was successfully released."
566 (declare (special url-http-response-status)) 566 (declare (special url-http-response-status))
567 (let* ((url-request-extra-headers (list (cons "Lock-Token" 567 (let* ((url-request-extra-headers (list (cons "Lock-Token"
568 (concat "<" lock-token ">")))) 568 (concat "<" lock-token ">"))))
@@ -654,13 +654,13 @@ Returns t iff the lock was successfully released."
654 (or (plist-get properties 'DAV:getcontentlength) 0) 654 (or (plist-get properties 'DAV:getcontentlength) 0)
655 655
656 ;; file modes as a string like `ls -l' 656 ;; file modes as a string like `ls -l'
657 ;; 657 ;;
658 ;; Should be able to build this up from the 658 ;; Should be able to build this up from the
659 ;; DAV:supportedlock attribute pretty easily. Getting 659 ;; DAV:supportedlock attribute pretty easily. Getting
660 ;; the group info could be impossible though. 660 ;; the group info could be impossible though.
661 (url-dav-file-attributes-mode-string properties) 661 (url-dav-file-attributes-mode-string properties)
662 662
663 ;; t iff file's gid would change if it were deleted & 663 ;; t if file's gid would change if it were deleted &
664 ;; recreated. No way for us to know that thru DAV. 664 ;; recreated. No way for us to know that thru DAV.
665 nil 665 nil
666 666
diff --git a/lisp/url/url-file.el b/lisp/url/url-file.el
index e899493f1ce..6e771c9cd69 100644
--- a/lisp/url/url-file.el
+++ b/lisp/url/url-file.el
@@ -52,7 +52,7 @@ to them."
52 found)) 52 found))
53 53
54(defun url-file-host-is-local-p (host) 54(defun url-file-host-is-local-p (host)
55 "Return t iff HOST references our local machine." 55 "Return t if HOST references our local machine."
56 (let ((case-fold-search t)) 56 (let ((case-fold-search t))
57 (or 57 (or
58 (null host) 58 (null host)
diff --git a/lisp/url/vc-dav.el b/lisp/url/vc-dav.el
index ce0d3275a5f..7e9b6606ca4 100644
--- a/lisp/url/vc-dav.el
+++ b/lisp/url/vc-dav.el
@@ -31,7 +31,7 @@
31 31
32;;; Required functions for a vc backend 32;;; Required functions for a vc backend
33(defun vc-dav-registered (url) 33(defun vc-dav-registered (url)
34 "Return t iff URL is registered with a DAV aware server." 34 "Return t if URL is registered with a DAV aware server."
35 (url-dav-vc-registered url)) 35 (url-dav-vc-registered url))
36 36
37(defun vc-dav-state (url) 37(defun vc-dav-state (url)
diff --git a/lisp/userlock.el b/lisp/userlock.el
index 17cbc0c3e55..8e4a6753a31 100644
--- a/lisp/userlock.el
+++ b/lisp/userlock.el
@@ -134,7 +134,7 @@ The buffer in question is current when this function is called."
134 (setq answer nil)) 134 (setq answer nil))
135 ((eq answer 'revert) 135 ((eq answer 'revert)
136 (revert-buffer nil (not (buffer-modified-p))) 136 (revert-buffer nil (not (buffer-modified-p)))
137 ; ask confirmation iff buffer modified 137 ; ask confirmation if buffer modified
138 (signal 'file-supersession 138 (signal 'file-supersession
139 (list "File reverted" fn))) 139 (list "File reverted" fn)))
140 ((eq answer 'yield) 140 ((eq answer 'yield)
diff --git a/lisp/vc-bzr.el b/lisp/vc-bzr.el
index b2011a7176e..20a9ca9b2fb 100644
--- a/lisp/vc-bzr.el
+++ b/lisp/vc-bzr.el
@@ -2,15 +2,10 @@
2 2
3;; Copyright (C) 2006, 2007 Free Software Foundation, Inc. 3;; Copyright (C) 2006, 2007 Free Software Foundation, Inc.
4 4
5;; NOTE: THIS IS A MODIFIED VERSION OF Dave Love's vc-bzr.el,
6;; which you can find at: http://www.loveshack.ukfsn.org/emacs/vc-bzr.el
7;; I could not get in touch with Dave Love by email, so
8;; I am releasing my changes separately. -- Riccardo
9
10;; Author: Dave Love <fx@gnu.org>, Riccardo Murri <riccardo.murri@gmail.com> 5;; Author: Dave Love <fx@gnu.org>, Riccardo Murri <riccardo.murri@gmail.com>
11;; Keywords: tools 6;; Keywords: tools
12;; Created: Sept 2006 7;; Created: Sept 2006
13;; Version: 2007-05-24 8;; Version: 2007-08-03
14;; URL: http://launchpad.net/vc-bzr 9;; URL: http://launchpad.net/vc-bzr
15 10
16;; This file is free software; you can redistribute it and/or modify 11;; This file is free software; you can redistribute it and/or modify
@@ -31,9 +26,6 @@
31 26
32;;; Commentary: 27;;; Commentary:
33 28
34;; NOTE: THIS IS A MODIFIED VERSION OF Dave Love's vc-bzr.el,
35;; which you can find at: http://www.loveshack.ukfsn.org/emacs/vc-bzr.el
36
37;; See <URL:http://bazaar-vcs.org/> concerning bzr. 29;; See <URL:http://bazaar-vcs.org/> concerning bzr.
38 30
39;; Load this library to register bzr support in VC. It covers basic VC 31;; Load this library to register bzr support in VC. It covers basic VC
@@ -96,34 +88,73 @@ Invoke the bzr command adding `BZR_PROGRESS_BAR=none' to the environment."
96 (let ((process-environment 88 (let ((process-environment
97 (list* "BZR_PROGRESS_BAR=none" ; Suppress progress output (bzr >=0.9) 89 (list* "BZR_PROGRESS_BAR=none" ; Suppress progress output (bzr >=0.9)
98 "LC_ALL=C" ; Force English output 90 "LC_ALL=C" ; Force English output
99 process-environment)) 91 process-environment)))
100 ;; bzr may attempt some kind of user interaction if its stdin/stdout
101 ;; is connected to a PTY; therefore, ask Emacs to use a pipe to
102 ;; communicate with it.
103 ;; This is redundant because vc-do-command does it already. --Stef
104 (process-connection-type nil))
105 (apply 'vc-do-command buffer okstatus vc-bzr-program 92 (apply 'vc-do-command buffer okstatus vc-bzr-program
106 file-or-list bzr-command (append vc-bzr-program-args args)))) 93 file-or-list bzr-command (append vc-bzr-program-args args))))
107 94
108 95
109;;;###autoload 96;;;###autoload
110(defconst vc-bzr-admin-dirname ".bzr") ; FIXME: "_bzr" on w32? 97(defconst vc-bzr-admin-dirname ".bzr" ; FIXME: "_bzr" on w32?
98 "Name of the directory containing Bzr repository status files.")
99;;;###autoload
100(defconst vc-bzr-admin-checkout-format-file
101 (concat vc-bzr-admin-dirname "/checkout/format"))
102(defconst vc-bzr-admin-dirstate
103 (concat vc-bzr-admin-dirname "/checkout/dirstate"))
104(defconst vc-bzr-admin-branch-format-file
105 (concat vc-bzr-admin-dirname "/branch/format"))
106(defconst vc-bzr-admin-revhistory
107 (concat vc-bzr-admin-dirname "/branch/revision-history"))
111 108
112;;;###autoload (defun vc-bzr-registered (file) 109;;;###autoload (defun vc-bzr-registered (file)
113;;;###autoload (if (vc-find-root file vc-bzr-admin-dirname) 110;;;###autoload (if (vc-find-root file vc-bzr-admin-checkout-format-file)
114;;;###autoload (progn 111;;;###autoload (progn
115;;;###autoload (load "vc-bzr") 112;;;###autoload (load "vc-bzr")
116;;;###autoload (vc-bzr-registered file)))) 113;;;###autoload (vc-bzr-registered file))))
117 114
118(defun vc-bzr-root-dir (file) 115(defun vc-bzr-root (file)
119 "Return the root directory in the hierarchy above FILE. 116 "Return the root directory of the bzr repository containing FILE."
120Return nil if there isn't one." 117 ;; Cache technique copied from vc-arch.el.
121 (vc-find-root file vc-bzr-admin-dirname)) 118 (or (vc-file-getprop file 'bzr-root)
119 (vc-file-setprop
120 file 'bzr-root
121 (vc-find-root file vc-bzr-admin-checkout-format-file))))
122 122
123(defun vc-bzr-registered (file) 123(defun vc-bzr-registered (file)
124 "Return non-nil if FILE is registered with bzr." 124 "Return non-nil if FILE is registered with bzr.
125 (if (vc-bzr-root-dir file) ; Short cut. 125
126 (vc-bzr-state file))) ; Expensive. 126For speed, this function tries first to parse Bzr internal file
127`checkout/dirstate', but it may fail if Bzr internal file format
128has changed. As a safeguard, the `checkout/dirstate' file is
129only parsed if it contains the string `#bazaar dirstate flat
130format 3' in the first line.
131
132If the `checkout/dirstate' file cannot be parsed, fall back to
133running `vc-bzr-state'."
134 (condition-case nil
135 (lexical-let ((root (vc-bzr-root file)))
136 (and root ; Short cut.
137 ;; This looks at internal files. May break if they change
138 ;; their format.
139 (lexical-let
140 ((dirstate-file (expand-file-name vc-bzr-admin-dirstate root)))
141 (if (file-exists-p dirstate-file)
142 (with-temp-buffer
143 (insert-file-contents dirstate-file)
144 (goto-char (point-min))
145 (when (looking-at "#bazaar dirstate flat format 3")
146 (let* ((relfile (file-relative-name file root))
147 (reldir (file-name-directory relfile)))
148 (re-search-forward
149 (concat "^\0"
150 (if reldir (regexp-quote (directory-file-name reldir)))
151 "\0"
152 (regexp-quote (file-name-nondirectory relfile))
153 "\0")
154 nil t))))
155 t))
156 (vc-bzr-state file))) ; Expensive.
157 (file-error nil))) ; vc-bzr-program not found
127 158
128(defun vc-bzr-buffer-nonblank-p (&optional buffer) 159(defun vc-bzr-buffer-nonblank-p (&optional buffer)
129 "Return non-nil if BUFFER contains any non-blank characters." 160 "Return non-nil if BUFFER contains any non-blank characters."
@@ -134,15 +165,34 @@ Return nil if there isn't one."
134 (re-search-forward "[^ \t\n]" (point-max) t)))) 165 (re-search-forward "[^ \t\n]" (point-max) t))))
135 166
136(defconst vc-bzr-state-words 167(defconst vc-bzr-state-words
137 "added\\|ignored\\|modified\\|removed\\|renamed\\|unknown" 168 "added\\|ignored\\|kind changed\\|modified\\|removed\\|renamed\\|unknown"
138 "Regexp matching file status words as reported in `bzr' output.") 169 "Regexp matching file status words as reported in `bzr' output.")
139 170
171(defun vc-bzr-file-name-relative (filename)
172 "Return file name FILENAME stripped of the initial Bzr repository path."
173 (lexical-let*
174 ((filename* (expand-file-name filename))
175 (rootdir (vc-bzr-root (file-name-directory filename*))))
176 (and rootdir
177 (file-relative-name filename* rootdir))))
178
140;; FIXME: Also get this in a non-registered sub-directory. 179;; FIXME: Also get this in a non-registered sub-directory.
141(defun vc-bzr-state (file) 180;; It already works for me. -- Riccardo
181(defun vc-bzr-status (file)
182 "Return FILE status according to Bzr.
183Return value is a cons (STATUS . WARNING), where WARNING is a
184string or nil, and STATUS is one of the symbols: 'added,
185'ignored, 'kindchange, 'modified, 'removed, 'renamed, 'unknown,
186which directly correspond to `bzr status' output, or 'unchanged
187for files whose copy in the working tree is identical to the one
188in the branch repository, or nil for files that are not
189registered with Bzr.
190
191If any error occurred in running `bzr status', then return nil."
192 (condition-case nil
142 (with-temp-buffer 193 (with-temp-buffer
143 (cd (file-name-directory file)) 194 (let ((ret (vc-bzr-command "status" t 0 file))
144 (let ((ret (vc-bzr-command "status" t 255 file)) 195 (status 'unchanged))
145 (state 'up-to-date))
146 ;; the only secure status indication in `bzr status' output 196 ;; the only secure status indication in `bzr status' output
147 ;; is a couple of lines following the pattern:: 197 ;; is a couple of lines following the pattern::
148 ;; | <status>: 198 ;; | <status>:
@@ -153,45 +203,93 @@ Return nil if there isn't one."
153 (goto-char (point-min)) 203 (goto-char (point-min))
154 (when 204 (when
155 (re-search-forward 205 (re-search-forward
206 ;; bzr prints paths relative to the repository root
156 (concat "^\\(" vc-bzr-state-words "\\):[ \t\n]+" 207 (concat "^\\(" vc-bzr-state-words "\\):[ \t\n]+"
157 (file-name-nondirectory file) "[ \t\n]*$") 208 (regexp-quote (vc-bzr-file-name-relative file))
209 (if (file-directory-p file) "/?" "")
210 "[ \t\n]*$")
158 (point-max) t) 211 (point-max) t)
159 (let ((start (match-beginning 0)) 212 (let ((start (match-beginning 0))
160 (end (match-end 0))) 213 (end (match-end 0)))
161 (goto-char start) 214 (goto-char start)
162 (setq state 215 (setq status
163 (cond 216 (cond
164 ((not (equal ret 0)) nil) 217 ((not (equal ret 0)) nil)
165 ((looking-at "added\\|renamed\\|modified\\|removed") 'edited) 218 ((looking-at "added") 'added)
166 ((looking-at "unknown\\|ignored") nil))) 219 ((looking-at "kind changed") 'kindchange)
220 ((looking-at "renamed") 'renamed)
221 ((looking-at "modified") 'modified)
222 ((looking-at "removed") 'removed)
223 ((looking-at "ignored") 'ignored)
224 ((looking-at "unknown") 'unknown)))
167 ;; erase the status text that matched 225 ;; erase the status text that matched
168 (delete-region start end))) 226 (delete-region start end)))
169 (when (vc-bzr-buffer-nonblank-p) 227 (if status
170 ;; "bzr" will output some warnings and informational messages 228 (cons status
171 ;; to the user to stderr; due to Emacs' `vc-do-command' (and, 229 ;; "bzr" will output warnings and informational messages to
172 ;; it seems, `start-process' itself), we cannot catch stderr 230 ;; stderr; due to Emacs' `vc-do-command' (and, it seems,
231 ;; `start-process' itself) limitations, we cannot catch stderr
173 ;; and stdout into different buffers. So, if there's anything 232 ;; and stdout into different buffers. So, if there's anything
174 ;; left in the buffer after removing the above status 233 ;; left in the buffer after removing the above status
175 ;; keywords, let us just presume that any other message from 234 ;; keywords, let us just presume that any other message from
176 ;; "bzr" is a user warning, and display it. 235 ;; "bzr" is a user warning, and display it.
177 (message "Warnings in `bzr' output: %s" 236 (if (vc-bzr-buffer-nonblank-p)
178 (buffer-substring (point-min) (point-max)))) 237 (buffer-substring (point-min) (point-max)))))))
179 (when state 238 (file-error nil))) ; vc-bzr-program not found
180 (vc-file-setprop file 'vc-workfile-version 239
181 (vc-bzr-workfile-version file)) 240(defun vc-bzr-state (file)
182 (vc-file-setprop file 'vc-state state)) 241 (lexical-let ((result (vc-bzr-status file)))
183 state))) 242 (when (consp result)
243 (if (cdr result)
244 (message "Warnings in `bzr' output: %s" (cdr result)))
245 (cdr (assq (car result)
246 '((added . edited)
247 (kindchange . edited)
248 (renamed . edited)
249 (modified . edited)
250 (removed . edited)
251 (ignored . nil)
252 (unknown . nil)
253 (unchanged . up-to-date)))))))
184 254
185(defun vc-bzr-workfile-unchanged-p (file) 255(defun vc-bzr-workfile-unchanged-p (file)
186 (eq 'up-to-date (vc-bzr-state file))) 256 (eq 'unchanged (car (vc-bzr-status file))))
187 257
188(defun vc-bzr-workfile-version (file) 258(defun vc-bzr-workfile-version (file)
189 ;; Looks like this could be obtained via counting lines in 259 (lexical-let*
190 ;; .bzr/branch/revision-history. 260 ((rootdir (vc-bzr-root file))
261 (branch-format-file (concat rootdir "/" vc-bzr-admin-branch-format-file))
262 (revhistory-file (concat rootdir "/" vc-bzr-admin-revhistory))
263 (lastrev-file (concat rootdir "/" "branch/last-revision")))
264 ;; Count lines in .bzr/branch/revision-history to avoid forking a
265 ;; bzr process. This looks at internal files. May break if they
266 ;; change their format.
267 (if (file-exists-p branch-format-file)
191 (with-temp-buffer 268 (with-temp-buffer
192 (vc-bzr-command "revno" t 0 file) 269 (insert-file-contents branch-format-file)
193 (goto-char (point-min)) 270 (goto-char (point-min))
194 (buffer-substring (point) (line-end-position)))) 271 (cond
272 ((or
273 (looking-at "Bazaar-NG branch, format 0.0.4")
274 (looking-at "Bazaar-NG branch format 5"))
275 ;; count lines in .bzr/branch/revision-history
276 (insert-file-contents revhistory-file)
277 (number-to-string (count-lines (line-end-position) (point-max))))
278 ((looking-at "Bazaar Branch Format 6 (bzr 0.15)")
279 ;; revno is the first number in .bzr/branch/last-revision
280 (insert-file-contents lastrev-file)
281 (goto-char (line-end-position))
282 (if (re-search-forward "[0-9]+" nil t)
283 (buffer-substring (match-beginning 0) (match-end 0))))))
284 ;; fallback to calling "bzr revno"
285 (lexical-let*
286 ((result (vc-bzr-command-discarding-stderr
287 vc-bzr-program "revno" file))
288 (exitcode (car result))
289 (output (cdr result)))
290 (cond
291 ((eq exitcode 0) (substring output 0 -1))
292 (t nil))))))
195 293
196(defun vc-bzr-checkout-model (file) 294(defun vc-bzr-checkout-model (file)
197 'implicit) 295 'implicit)
@@ -209,7 +307,7 @@ COMMENT is ignored."
209 307
210;; Could run `bzr status' in the directory and see if it succeeds, but 308;; Could run `bzr status' in the directory and see if it succeeds, but
211;; that's relatively expensive. 309;; that's relatively expensive.
212(defalias 'vc-bzr-responsible-p 'vc-bzr-root-dir 310(defalias 'vc-bzr-responsible-p 'vc-bzr-root
213 "Return non-nil if FILE is (potentially) controlled by bzr. 311 "Return non-nil if FILE is (potentially) controlled by bzr.
214The criterion is that there is a `.bzr' directory in the same 312The criterion is that there is a `.bzr' directory in the same
215or a superior directory.") 313or a superior directory.")
@@ -250,7 +348,7 @@ EDITABLE is ignored."
250 348
251(defun vc-bzr-revert (file &optional contents-done) 349(defun vc-bzr-revert (file &optional contents-done)
252 (unless contents-done 350 (unless contents-done
253 (with-temp-buffer (vc-bzr-command "revert" t 'async file)))) 351 (with-temp-buffer (vc-bzr-command "revert" t 0 file))))
254 352
255(defvar log-view-message-re) 353(defvar log-view-message-re)
256(defvar log-view-file-re) 354(defvar log-view-file-re)
@@ -294,13 +392,11 @@ EDITABLE is ignored."
294 (beginning-of-line 0) 392 (beginning-of-line 0)
295 (goto-char (point-min))))) 393 (goto-char (point-min)))))
296 394
297;; Fixem: vc-bzr-wash-log
298
299(autoload 'vc-diff-switches-list "vc" nil nil t) 395(autoload 'vc-diff-switches-list "vc" nil nil t)
300 396
301(defun vc-bzr-diff (files &optional rev1 rev2 buffer) 397(defun vc-bzr-diff (files &optional rev1 rev2 buffer)
302 "VC bzr backend for diff." 398 "VC bzr backend for diff."
303 (let ((working (vc-workfile-version (car files)))) 399 (let ((working (vc-workfile-version (if (consp files) (car files) files))))
304 (if (and (equal rev1 working) (not rev2)) 400 (if (and (equal rev1 working) (not rev2))
305 (setq rev1 nil)) 401 (setq rev1 nil))
306 (if (and (not rev1) rev2) 402 (if (and (not rev1) rev2)
@@ -317,9 +413,8 @@ EDITABLE is ignored."
317 413
318(defalias 'vc-bzr-diff-tree 'vc-bzr-diff) 414(defalias 'vc-bzr-diff-tree 'vc-bzr-diff)
319 415
320;; Fixme: implement vc-bzr-dir-state, vc-bzr-dired-state-info
321 416
322;; Fixme: vc-{next,previous}-version need fixing in vc.el to deal with 417;; FIXME: vc-{next,previous}-version need fixing in vc.el to deal with
323;; straight integer versions. 418;; straight integer versions.
324 419
325(defun vc-bzr-delete-file (file) 420(defun vc-bzr-delete-file (file)
@@ -399,17 +494,16 @@ Return nil if current line isn't annotated."
399 (if next-time 494 (if next-time
400 (- (vc-annotate-convert-time (current-time)) next-time)))) 495 (- (vc-annotate-convert-time (current-time)) next-time))))
401 496
402;; FIXME: `bzr root' will return the real path to the repository root, 497(defun vc-bzr-command-discarding-stderr (command &rest args)
403;; that is, it can differ from the buffer's current directory name 498 "Execute shell command COMMAND (with ARGS); return its output and exitcode.
404;; if there are any symbolic links. 499Return value is a cons (EXITCODE . OUTPUT), where EXITCODE is
405(defun vc-bzr-root (dir) 500the (numerical) exit code of the process, and OUTPUT is a string
406 "Return the root directory of the bzr repository containing DIR." 501containing whatever the process sent to its standard output
407 ;; Cache technique copied from vc-arch.el. 502stream. Standard error output is discarded."
408 (or (vc-file-getprop dir 'bzr-root) 503 (with-temp-buffer
409 (vc-file-setprop 504 (cons
410 dir 'bzr-root 505 (apply #'call-process command nil (list (current-buffer) nil) nil args)
411 (substring 506 (buffer-substring (point-min) (point-max)))))
412 (shell-command-to-string (concat vc-bzr-program " root " dir)) 0 -1))))
413 507
414;; TODO: it would be nice to mark the conflicted files in VC Dired, 508;; TODO: it would be nice to mark the conflicted files in VC Dired,
415;; and implement a command to run ediff and `bzr resolve' once the 509;; and implement a command to run ediff and `bzr resolve' once the
@@ -453,6 +547,9 @@ Optional argument LOCALP is always ignored."
453 ((looking-at "^added") 547 ((looking-at "^added")
454 (setq current-vc-state 'edited) 548 (setq current-vc-state 'edited)
455 (setq current-bzr-state 'added)) 549 (setq current-bzr-state 'added))
550 ((looking-at "^kind changed")
551 (setq current-vc-state 'edited)
552 (setq current-bzr-state 'kindchange))
456 ((looking-at "^modified") 553 ((looking-at "^modified")
457 (setq current-vc-state 'edited) 554 (setq current-vc-state 'edited)
458 (setq current-bzr-state 'modified)) 555 (setq current-bzr-state 'modified))
@@ -499,7 +596,7 @@ Optional argument LOCALP is always ignored."
499(add-to-list 'vc-handled-backends 'Bzr) 596(add-to-list 'vc-handled-backends 'Bzr)
500 597
501(eval-after-load "vc" 598(eval-after-load "vc"
502 '(add-to-list 'vc-directory-exclusion-list ".bzr" t)) 599 '(add-to-list 'vc-directory-exclusion-list vc-bzr-admin-dirname t))
503 600
504(defconst vc-bzr-unload-hook 601(defconst vc-bzr-unload-hook
505 (lambda () 602 (lambda ()
diff --git a/lisp/vc-hooks.el b/lisp/vc-hooks.el
index d38bc000465..aa121457a40 100644
--- a/lisp/vc-hooks.el
+++ b/lisp/vc-hooks.el
@@ -876,13 +876,9 @@ Used in `find-file-not-found-functions'."
876 (if backend (vc-call-backend backend 'find-file-not-found-hook)))) 876 (if backend (vc-call-backend backend 'find-file-not-found-hook))))
877 877
878(defun vc-default-find-file-not-found-hook (backend) 878(defun vc-default-find-file-not-found-hook (backend)
879 (if (yes-or-no-p 879 ;; This used to do what vc-rcs-find-file-not-found-hook does, but it only
880 (format "File %s was lost; check out from version control? " 880 ;; really makes sense for RCS. For other backends, better not do anything.
881 (file-name-nondirectory buffer-file-name))) 881 nil)
882 (save-excursion
883 (require 'vc)
884 (setq default-directory (file-name-directory buffer-file-name))
885 (not (vc-error-occurred (vc-checkout buffer-file-name))))))
886 882
887(add-hook 'find-file-not-found-functions 'vc-file-not-found-hook) 883(add-hook 'find-file-not-found-functions 'vc-file-not-found-hook)
888 884
diff --git a/lisp/vc-rcs.el b/lisp/vc-rcs.el
index dcd3adcd8c9..1cda8849219 100644
--- a/lisp/vc-rcs.el
+++ b/lisp/vc-rcs.el
@@ -234,6 +234,14 @@ When VERSION is given, perform check for that version."
234 ;; The workfile is unchanged if rcsdiff found no differences. 234 ;; The workfile is unchanged if rcsdiff found no differences.
235 (zerop status))) 235 (zerop status)))
236 236
237(defun vc-rcs-find-file-not-found-hook ()
238 (if (yes-or-no-p
239 (format "File %s was lost; check out from version control? "
240 (file-name-nondirectory buffer-file-name)))
241 (save-excursion
242 (require 'vc)
243 (let ((default-directory (file-name-directory buffer-file-name)))
244 (not (vc-error-occurred (vc-checkout buffer-file-name)))))))
237 245
238;;; 246;;;
239;;; State-changing functions 247;;; State-changing functions
diff --git a/lisp/vc.el b/lisp/vc.el
index 76253bdfd5b..3fc3784fdf1 100644
--- a/lisp/vc.el
+++ b/lisp/vc.el
@@ -1145,7 +1145,7 @@ Used by `vc-restore-buffer-context' to later restore the context."
1145 ;; ;; We may want to reparse the compilation buffer after revert 1145 ;; ;; We may want to reparse the compilation buffer after revert
1146 ;; (reparse (and (boundp 'compilation-error-list) ;compile loaded 1146 ;; (reparse (and (boundp 'compilation-error-list) ;compile loaded
1147 ;; ;; Construct a list; each elt is nil or a buffer 1147 ;; ;; Construct a list; each elt is nil or a buffer
1148 ;; ;; iff that buffer is a compilation output buffer 1148 ;; ;; if that buffer is a compilation output buffer
1149 ;; ;; that contains markers into the current buffer. 1149 ;; ;; that contains markers into the current buffer.
1150 ;; (save-current-buffer 1150 ;; (save-current-buffer
1151 ;; (mapcar (lambda (buffer) 1151 ;; (mapcar (lambda (buffer)
diff --git a/lisp/view.el b/lisp/view.el
index 2f541fbf360..f6722f53756 100644
--- a/lisp/view.el
+++ b/lisp/view.el
@@ -375,7 +375,8 @@ Use this argument instead of explicitly setting `view-exit-action'."
375 ;; bindings instead of using the \\[] construction. The reason for this 375 ;; bindings instead of using the \\[] construction. The reason for this
376 ;; is that most commands have more than one key binding. 376 ;; is that most commands have more than one key binding.
377 "Toggle View mode, a minor mode for viewing text but not editing it. 377 "Toggle View mode, a minor mode for viewing text but not editing it.
378With ARG, turn View mode on iff ARG is positive. 378With prefix argument ARG, turn View mode on if ARG is positive, otherwise
379turn it off.
379 380
380Emacs commands that do not change the buffer contents are available as usual. 381Emacs commands that do not change the buffer contents are available as usual.
381Kill commands insert text in kill buffers but do not delete. Other commands 382Kill commands insert text in kill buffers but do not delete. Other commands
diff --git a/lisp/whitespace.el b/lisp/whitespace.el
index c38b6563592..3ea8394b0b7 100644
--- a/lisp/whitespace.el
+++ b/lisp/whitespace.el
@@ -763,7 +763,7 @@ If timer is not set, then set it to scan the files in
763;;;###autoload 763;;;###autoload
764(define-minor-mode whitespace-global-mode 764(define-minor-mode whitespace-global-mode
765 "Toggle using Whitespace mode in new buffers. 765 "Toggle using Whitespace mode in new buffers.
766With ARG, turn the mode on iff ARG is positive. 766With ARG, turn the mode on if ARG is positive, otherwise turn it off.
767 767
768When this mode is active, `whitespace-buffer' is added to 768When this mode is active, `whitespace-buffer' is added to
769`find-file-hook' and `kill-buffer-hook'." 769`find-file-hook' and `kill-buffer-hook'."
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index c46c041d64d..6025244abe5 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -483,7 +483,7 @@ new value.")
483 483
484;;;###autoload 484;;;###autoload
485(defun widgetp (widget) 485(defun widgetp (widget)
486 "Return non-nil iff WIDGET is a widget." 486 "Return non-nil if WIDGET is a widget."
487 (if (symbolp widget) 487 (if (symbolp widget)
488 (get widget 'widget-type) 488 (get widget 'widget-type)
489 (and (consp widget) 489 (and (consp widget)
@@ -500,7 +500,7 @@ Otherwise, just return the value."
500 value))) 500 value)))
501 501
502(defun widget-member (widget property) 502(defun widget-member (widget property)
503 "Non-nil iff there is a definition in WIDGET for PROPERTY." 503 "Non-nil if there is a definition in WIDGET for PROPERTY."
504 (cond ((plist-member (cdr widget) property) 504 (cond ((plist-member (cdr widget) property)
505 t) 505 t)
506 ((car widget) 506 ((car widget)
@@ -1606,7 +1606,7 @@ If that does not exists, call the value of `widget-complete-field'."
1606 (widget-princ-to-string (widget-get widget :value)))) 1606 (widget-princ-to-string (widget-get widget :value))))
1607 1607
1608(defun widget-default-active (widget) 1608(defun widget-default-active (widget)
1609 "Return t iff this widget active (user modifiable)." 1609 "Return t if this widget is active (user modifiable)."
1610 (or (widget-get widget :always-active) 1610 (or (widget-get widget :always-active)
1611 (and (not (widget-get widget :inactive)) 1611 (and (not (widget-get widget :inactive))
1612 (let ((parent (widget-get widget :parent))) 1612 (let ((parent (widget-get widget :parent)))
diff --git a/lisp/window.el b/lisp/window.el
index f0a30d811ab..26d1bdc9d3f 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -120,7 +120,7 @@ bars (top, bottom, or nil)."
120PROC is called with a window as argument. 120PROC is called with a window as argument.
121 121
122Optional second arg MINIBUF t means count the minibuffer window even 122Optional second arg MINIBUF t means count the minibuffer window even
123if not active. MINIBUF nil or omitted means count the minibuffer iff 123if not active. MINIBUF nil or omitted means count the minibuffer only if
124it is active. MINIBUF neither t nor nil means not to count the 124it is active. MINIBUF neither t nor nil means not to count the
125minibuffer even if it is active. 125minibuffer even if it is active.
126 126
@@ -165,7 +165,7 @@ value is returned. If no window satisfies PREDICATE, DEFAULT is
165returned. 165returned.
166 166
167Optional second arg MINIBUF t means count the minibuffer window even 167Optional second arg MINIBUF t means count the minibuffer window even
168if not active. MINIBUF nil or omitted means count the minibuffer iff 168if not active. MINIBUF nil or omitted means count the minibuffer only if
169it is active. MINIBUF neither t nor nil means not to count the 169it is active. MINIBUF neither t nor nil means not to count the
170minibuffer even if it is active. 170minibuffer even if it is active.
171 171
@@ -927,7 +927,7 @@ means suspend autoselection."
927(defun mouse-autoselect-window-select () 927(defun mouse-autoselect-window-select ()
928 "Select window with delayed window autoselection. 928 "Select window with delayed window autoselection.
929If the mouse position has stabilized in a non-selected window, select 929If the mouse position has stabilized in a non-selected window, select
930that window. The minibuffer window is selected iff the minibuffer is 930that window. The minibuffer window is selected only if the minibuffer is
931active. This function is run by `mouse-autoselect-window-timer'." 931active. This function is run by `mouse-autoselect-window-timer'."
932 (condition-case nil 932 (condition-case nil
933 (let* ((mouse-position (mouse-position)) 933 (let* ((mouse-position (mouse-position))
@@ -952,14 +952,14 @@ active. This function is run by `mouse-autoselect-window-timer'."
952 ;; If `mouse-autoselect-window' is positive, select 952 ;; If `mouse-autoselect-window' is positive, select
953 ;; window if the window is the same as before. 953 ;; window if the window is the same as before.
954 (eq window mouse-autoselect-window-window)) 954 (eq window mouse-autoselect-window-window))
955 ;; Otherwise select window iff the mouse is at the same 955 ;; Otherwise select window if the mouse is at the same
956 ;; position as before. Observe that the first test after 956 ;; position as before. Observe that the first test after
957 ;; starting autoselection usually fails since the value of 957 ;; starting autoselection usually fails since the value of
958 ;; `mouse-autoselect-window-position' recorded there is the 958 ;; `mouse-autoselect-window-position' recorded there is the
959 ;; position where the mouse has entered the new window and 959 ;; position where the mouse has entered the new window and
960 ;; not necessarily where the mouse has stopped moving. 960 ;; not necessarily where the mouse has stopped moving.
961 (equal mouse-position mouse-autoselect-window-position)) 961 (equal mouse-position mouse-autoselect-window-position))
962 ;; The minibuffer is a candidate window iff it's active. 962 ;; The minibuffer is a candidate window if it's active.
963 (or (not (window-minibuffer-p window)) 963 (or (not (window-minibuffer-p window))
964 (eq window (active-minibuffer-window)))) 964 (eq window (active-minibuffer-window))))
965 ;; Mouse position has stabilized in non-selected window: Cancel 965 ;; Mouse position has stabilized in non-selected window: Cancel
diff --git a/lisp/winner.el b/lisp/winner.el
index bc7503b963c..ed840d37622 100644
--- a/lisp/winner.el
+++ b/lisp/winner.el
@@ -5,7 +5,6 @@
5 5
6;; Author: Ivar Rummelhoff <ivarru@math.uio.no> 6;; Author: Ivar Rummelhoff <ivarru@math.uio.no>
7;; Created: 27 Feb 1997 7;; Created: 27 Feb 1997
8;; Time-stamp: <2006-02-06 15:13:57 ttn>
9;; Keywords: convenience frames 8;; Keywords: convenience frames
10 9
11;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
@@ -286,7 +285,7 @@ You may want to include buffer names such as *Help*, *Apropos*,
286 285
287(defun winner-get-point (buf win) 286(defun winner-get-point (buf win)
288 ;; Consult (and possibly extend) `winner-point-alist'. 287 ;; Consult (and possibly extend) `winner-point-alist'.
289 ;; Returns nil iff buf no longer exists. 288 ;; Returns nil if buf no longer exists.
290 (when (buffer-name buf) 289 (when (buffer-name buf)
291 (let ((entry (assq buf winner-point-alist))) 290 (let ((entry (assq buf winner-point-alist)))
292 (cond 291 (cond
@@ -306,7 +305,7 @@ You may want to include buffer names such as *Help*, *Apropos*,
306 305
307;; Make sure point does not end up in the minibuffer and delete 306;; Make sure point does not end up in the minibuffer and delete
308;; windows displaying dead or boring buffers 307;; windows displaying dead or boring buffers
309;; (c.f. `winner-boring-buffers'). Return nil iff all the windows 308;; (c.f. `winner-boring-buffers'). Return nil if all the windows
310;; should be deleted. Preserve correct points and marks. 309;; should be deleted. Preserve correct points and marks.
311(defun winner-set (conf) 310(defun winner-set (conf)
312 ;; For the format of `conf', see `winner-conf'. 311 ;; For the format of `conf', see `winner-conf'.
diff --git a/lisp/xt-mouse.el b/lisp/xt-mouse.el
index bf4eeab2259..8ce93e2293e 100644
--- a/lisp/xt-mouse.el
+++ b/lisp/xt-mouse.el
@@ -190,7 +190,8 @@
190;;;###autoload 190;;;###autoload
191(define-minor-mode xterm-mouse-mode 191(define-minor-mode xterm-mouse-mode
192 "Toggle XTerm mouse mode. 192 "Toggle XTerm mouse mode.
193With prefix arg, turn XTerm mouse mode on iff arg is positive. 193With prefix arg, turn XTerm mouse mode on if arg is positive, otherwise turn
194it off.
194 195
195Turn it on to use Emacs mouse commands, and off to use xterm mouse commands. 196Turn it on to use Emacs mouse commands, and off to use xterm mouse commands.
196This works in terminal emulators compatible with xterm. It only 197This works in terminal emulators compatible with xterm. It only