aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--admin/FOR-RELEASE5
-rwxr-xr-xconfigure2
-rw-r--r--configure.in2
-rw-r--r--doc/emacs/ChangeLog14
-rw-r--r--doc/emacs/custom.texi2
-rw-r--r--doc/emacs/maintaining.texi9
-rw-r--r--doc/emacs/programs.texi1
-rw-r--r--lisp/ChangeLog37
-rw-r--r--lisp/allout.el397
-rw-r--r--lisp/lpr.el2
-rw-r--r--lisp/progmodes/etags.el5
-rw-r--r--lisp/progmodes/gdb-ui.el6
13 files changed, 277 insertions, 211 deletions
diff --git a/ChangeLog b/ChangeLog
index 6932c0f904d..4a3cbf01f9f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
12008-01-29 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * configure.in (xtensa): Match more configurations.
4
5 * configure: Regenerate.
6
12008-01-27 Dan Nicolaescu <dann@ics.uci.edu> 72008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
2 8
3 * configure.in: Update comment. 9 * configure.in: Update comment.
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE
index 5846ce545fb..25d0483e09a 100644
--- a/admin/FOR-RELEASE
+++ b/admin/FOR-RELEASE
@@ -36,11 +36,6 @@ to the hack introduced on 2005-07-01 to fix some other Cleartype problem.
36** henman@it.to-be.co.jp 09 Aug 2006: ispell.el problem on Cygwin. 36** henman@it.to-be.co.jp 09 Aug 2006: ispell.el problem on Cygwin.
37 (Did we decide that is unreproducible?) 37 (Did we decide that is unreproducible?)
38 38
39** lennart.borgman@gmail.com 09 Jan 2008: ps-print-buffer-with-faces hangs
40If no printer is connected to the printer port that Emacs is printing
41to, I/O to that port hangs in the system calls. Emacs should avoid
42defaulting to a printer port that is not in use.
43
44* BUGS WAITING FOR MORE USER INPUT 39* BUGS WAITING FOR MORE USER INPUT
45 40
46** raman@users.sf.net, sep 7: Emacs 23.0.50: Segfaults in alloc.c (batch process) 41** raman@users.sf.net, sep 7: Emacs 23.0.50: Segfaults in alloc.c (batch process)
diff --git a/configure b/configure
index 1a4d5b9c165..1acc1271a8f 100755
--- a/configure
+++ b/configure
@@ -2785,7 +2785,7 @@ _ACEOF
2785 ;; 2785 ;;
2786 2786
2787 ## Tensilica Xtensa Linux-based GNU system 2787 ## Tensilica Xtensa Linux-based GNU system
2788 xtensa-*-linux-gnu* ) 2788 xtensa*-*-linux-gnu* )
2789 machine=xtensa opsys=gnu-linux 2789 machine=xtensa opsys=gnu-linux
2790 ;; 2790 ;;
2791 2791
diff --git a/configure.in b/configure.in
index 6b9de40756a..d9c594b8c3e 100644
--- a/configure.in
+++ b/configure.in
@@ -752,7 +752,7 @@ dnl see the `changequote' comment above.
752 ;; 752 ;;
753 753
754 ## Tensilica Xtensa Linux-based GNU system 754 ## Tensilica Xtensa Linux-based GNU system
755 xtensa-*-linux-gnu* ) 755 xtensa*-*-linux-gnu* )
756 machine=xtensa opsys=gnu-linux 756 machine=xtensa opsys=gnu-linux
757 ;; 757 ;;
758 758
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index fd1ace2e69d..e7add8acfa4 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,17 @@
12008-01-26 Richard Stallman <rms@gnu.org>
2
3 * maintaining.texi (Tags): Delete redundant index entry.
4
52008-01-26 Eli Zaretskii <eliz@gnu.org>
6
7 * programs.texi (Imenu): Move "@cindex tags" from here...
8 * maintaining.texi (Tags): ...to here.
9
102008-01-23 Kevin Ryde <user42@zip.com.au>
11
12 * custom.texi (Mouse Buttons): Update elisp xref to "Click Events" on
13 click count.
14
12008-01-21 Juanma Barranquero <lekktu@gmail.com> 152008-01-21 Juanma Barranquero <lekktu@gmail.com>
2 16
3 * entering.texi (Exiting): Fix typo. 17 * entering.texi (Exiting): Fix typo.
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
index 7836e8b7c39..6660b5e66ff 100644
--- a/doc/emacs/custom.texi
+++ b/doc/emacs/custom.texi
@@ -1885,7 +1885,7 @@ twice.
1885types; clicks beyond the third generate additional triple-click events. 1885types; clicks beyond the third generate additional triple-click events.
1886However, the full number of clicks is recorded in the event list, so 1886However, the full number of clicks is recorded in the event list, so
1887if you know Emacs Lisp you can distinguish if you really want to 1887if you know Emacs Lisp you can distinguish if you really want to
1888(@pxref{Accessing Events,,, elisp, The Emacs Lisp Reference Manual}). 1888(@pxref{Click Events,,, elisp, The Emacs Lisp Reference Manual}).
1889We don't recommend distinct meanings for more than three clicks, but 1889We don't recommend distinct meanings for more than three clicks, but
1890sometimes it is useful for subsequent clicks to cycle through the same 1890sometimes it is useful for subsequent clicks to cycle through the same
1891set of three meanings, so that four clicks are equivalent to one 1891set of three meanings, so that four clicks are equivalent to one
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index c82c4fd6f2c..7106a380d03 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -130,7 +130,7 @@ Of course, you should substitute the proper years and copyright holder.
130 130
131@node Tags 131@node Tags
132@section Tags Tables 132@section Tags Tables
133@cindex tags table 133@cindex tag tables
134 134
135 A @dfn{tags table} is a description of how a multi-file program is 135 A @dfn{tags table} is a description of how a multi-file program is
136broken up into files. It lists the names of the component files and the 136broken up into files. It lists the names of the component files and the
@@ -796,9 +796,10 @@ default is to use the same setting as the value of
796 It is possible to get through all the files in the tags table with a 796 It is possible to get through all the files in the tags table with a
797single invocation of @kbd{M-x tags-query-replace}. But often it is 797single invocation of @kbd{M-x tags-query-replace}. But often it is
798useful to exit temporarily, which you can do with any input event that 798useful to exit temporarily, which you can do with any input event that
799has no special query replace meaning. You can resume the query replace 799has no special query replace meaning. You can resume the query
800subsequently by typing @kbd{M-,}; this command resumes the last tags 800replace subsequently by typing @kbd{M-,}; this command resumes the
801search or replace command that you did. 801last tags search or replace command that you did. For instance, to
802skip the rest of the current file, you can type @kbd{M-> M-,}.
802 803
803 The commands in this section carry out much broader searches than the 804 The commands in this section carry out much broader searches than the
804@code{find-tag} family. The @code{find-tag} commands search only for 805@code{find-tag} family. The @code{find-tag} commands search only for
diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi
index b1c196ba077..9c12199b00c 100644
--- a/doc/emacs/programs.texi
+++ b/doc/emacs/programs.texi
@@ -279,7 +279,6 @@ bindings for that purpose.
279@subsection Imenu 279@subsection Imenu
280@cindex index of buffer definitions 280@cindex index of buffer definitions
281@cindex buffer definitions index 281@cindex buffer definitions index
282@cindex tags
283 282
284 The Imenu facility offers a way to find the major definitions in 283 The Imenu facility offers a way to find the major definitions in
285a file by name. It is also useful in text formatter major modes, 284a file by name. It is also useful in text formatter major modes,
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d467535a186..51a033602ff 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,40 @@
12008-01-27 Nick Roberts <nickrob@snap.net.nz>
2
3 * progmodes/gdb-ui.el (gdb-create-define-alist): Don't call
4 gdb-cpp-define-alist-program if file is nil (currently only
5 " *partial-output-...").
6
72008-01-27 Richard Stallman <rms@gnu.org>
8
9 * allout.el: Many doc fixes.
10 (allout-encrypt-string): Fix error message.
11
122008-01-26 Eli Zaretskii <eliz@gnu.org>
13
14 * progmodes/etags.el (tags-query-replace): Doc fix.
15
162008-01-25 Juanma Barranquero <lekktu@gmail.com>
17
18 * allout.el (allout-unload-function): New function.
19
202008-01-25 Juanma Barranquero <lekktu@gmail.com>
21
22 * allout.el (allout-prefix-data): Doc fix.
23 (allout-show-current-subtree): Reflow docstring.
24 (allout-use-mode-specific-leader, allout-use-hanging-indents)
25 (produce-allout-mode-map, allout-overlay-interior-modification-handler)
26 (allout-next-heading, allout-previous-heading, allout-rebullet-heading)
27 (allout-rebullet-topic, allout-rebullet-topic-grunt, allout-kill-topic)
28 (allout-copy-topic-as-kill, allout-listify-exposed)
29 (allout-process-exposed, allout-encrypted-key-info)
30 (allout-update-passphrase-mnemonic-aids)
31 (allout-next-topic-pending-encryption)
32 (allout-tests-globally-true): Fix typos in docstrings.
33
342008-01-23 Jason Rumney <jasonr@gnu.org>
35
36 * lpr.el (printer-name): Do not set on MS Windows.
37
12008-01-28 Michael Albinus <michael.albinus@gmx.de> 382008-01-28 Michael Albinus <michael.albinus@gmx.de>
2 39
3 * net/tramp.el (tramp-handle-shell-command): Use "/bin/sh -c" for 40 * net/tramp.el (tramp-handle-shell-command): Use "/bin/sh -c" for
diff --git a/lisp/allout.el b/lisp/allout.el
index 4cdb8735f8a..a259723d5ba 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -5,7 +5,7 @@
5 5
6;; Author: Ken Manheimer <ken dot manheimer at gmail dot com> 6;; Author: Ken Manheimer <ken dot manheimer at gmail dot com>
7;; Maintainer: Ken Manheimer <ken dot manheimer at gmail dot com> 7;; Maintainer: Ken Manheimer <ken dot manheimer at gmail dot com>
8;; Created: Dec 1991 - first release to usenet 8;; Created: Dec 1991 -- first release to usenet
9;; Version: 2.2.1 9;; Version: 2.2.1
10;; Keywords: outlines wp languages 10;; Keywords: outlines wp languages
11;; Website: http://myriadicity.net/Sundry/EmacsAllout 11;; Website: http://myriadicity.net/Sundry/EmacsAllout
@@ -36,11 +36,11 @@
36;; - Topic-oriented editing including coherent topic and subtopic 36;; - Topic-oriented editing including coherent topic and subtopic
37;; creation, promotion, demotion, cut/paste across depths, etc. 37;; creation, promotion, demotion, cut/paste across depths, etc.
38;; - Incremental search with dynamic exposure and reconcealment of text 38;; - Incremental search with dynamic exposure and reconcealment of text
39;; - Customizable bullet format - enables programming-language specific 39;; - Customizable bullet format -- enables programming-language specific
40;; outlining, for code-folding editing. (Allout code itself is to try it; 40;; outlining, for code-folding editing. (Allout code itself is to try it;
41;; formatted as an outline - do ESC-x eval-buffer in allout.el; but 41;; formatted as an outline -- do ESC-x eval-buffer in allout.el; but
42;; emacs local file variables need to be enabled when the 42;; emacs local file variables need to be enabled when the
43;; file was visited - see `enable-local-variables'.) 43;; file was visited -- see `enable-local-variables'.)
44;; - Configurable per-file initial exposure settings 44;; - Configurable per-file initial exposure settings
45;; - Symmetric-key and key-pair topic encryption, plus symmetric passphrase 45;; - Symmetric-key and key-pair topic encryption, plus symmetric passphrase
46;; mnemonic support, with verification against an established passphrase 46;; mnemonic support, with verification against an established passphrase
@@ -53,7 +53,7 @@
53;; exposure control (see the allout-mode docstring) 53;; exposure control (see the allout-mode docstring)
54;; - Easy rendering of exposed portions into numbered, latex, indented, etc 54;; - Easy rendering of exposed portions into numbered, latex, indented, etc
55;; outline styles 55;; outline styles
56;; - Careful attention to whitespace - enabling blank lines between items 56;; - Careful attention to whitespace -- enabling blank lines between items
57;; and maintenance of hanging indentation (in paragraph auto-fill and 57;; and maintenance of hanging indentation (in paragraph auto-fill and
58;; across topic promotion and demotion) of topic bodies consistent with 58;; across topic promotion and demotion) of topic bodies consistent with
59;; indentation of their topic header. 59;; indentation of their topic header.
@@ -76,7 +76,7 @@
76;; `allout-mode' as a minor mode. (It has changed since allout 76;; `allout-mode' as a minor mode. (It has changed since allout
77;; 3.x, for those of you that depend on the old method.) 77;; 3.x, for those of you that depend on the old method.)
78;; 78;;
79;; Note - the lines beginning with `;;;_' are outline topic headers. 79;; Note -- the lines beginning with `;;;_' are outline topic headers.
80;; Just `ESC-x eval-buffer' to give it a whirl. 80;; Just `ESC-x eval-buffer' to give it a whirl.
81 81
82;; ken manheimer (ken dot manheimer at gmail dot com) 82;; ken manheimer (ken dot manheimer at gmail dot com)
@@ -117,12 +117,12 @@ Default is '\C-c<space>'; just '\C-c' is more short-and-sweet, if you're
117willing to let allout use a bunch of \C-c keybindings." 117willing to let allout use a bunch of \C-c keybindings."
118 :type 'string 118 :type 'string
119 :group 'allout) 119 :group 'allout)
120
120;;;_ = allout-keybindings-list 121;;;_ = allout-keybindings-list
121;;; You have to reactivate allout-mode - `(allout-mode t)' - to 122;;; You have to reactivate allout-mode -- `(allout-mode t)' -- to
122;;; institute changes to this var. 123;;; institute changes to this var.
123(defvar allout-keybindings-list () 124(defvar allout-keybindings-list ()
124 "*List of `allout-mode' key / function bindings, for `allout-mode-map'. 125 "*List of `allout-mode' key / function bindings, for `allout-mode-map'.
125
126String or vector key will be prefaced with `allout-command-prefix', 126String or vector key will be prefaced with `allout-command-prefix',
127unless optional third, non-nil element is present.") 127unless optional third, non-nil element is present.")
128(setq allout-keybindings-list 128(setq allout-keybindings-list
@@ -170,7 +170,7 @@ unless optional third, non-nil element is present.")
170 170
171;;;_ = allout-auto-activation 171;;;_ = allout-auto-activation
172(defcustom allout-auto-activation nil 172(defcustom allout-auto-activation nil
173 "*Regulates auto-activation modality of allout outlines - see `allout-init'. 173 "*Regulates auto-activation modality of allout outlines -- see `allout-init'.
174 174
175Setq-default by `allout-init' to regulate whether or not allout 175Setq-default by `allout-init' to regulate whether or not allout
176outline mode is automatically activated when the buffer-specific 176outline mode is automatically activated when the buffer-specific
@@ -212,35 +212,35 @@ value will automatically trigger `allout-mode', provided
212 212
213The types of elements in the layout specification are: 213The types of elements in the layout specification are:
214 214
215 integer - dictate the relative depth to open the corresponding topic(s), 215 INTEGER -- dictate the relative depth to open the corresponding topic(s),
216 where: 216 where:
217 - negative numbers force the topic to be closed before opening 217 -- negative numbers force the topic to be closed before opening
218 to the absolute value of the number, so all siblings are open 218 to the absolute value of the number, so all siblings are open
219 only to that level. 219 only to that level.
220 - positive numbers open to the relative depth indicated by the 220 -- positive numbers open to the relative depth indicated by the
221 number, but do not force already opened subtopics to be closed. 221 number, but do not force already opened subtopics to be closed.
222 - 0 means to close topic - hide all subitems. 222 -- 0 means to close topic -- hide all subitems.
223 : - repeat spec - apply the preceeding element to all siblings at 223 : -- repeat spec -- apply the preceeding element to all siblings at
224 current level, *up to* those siblings that would be covered by specs 224 current level, *up to* those siblings that would be covered by specs
225 following the `:' on the list. Ie, apply to all topics at level but 225 following the `:' on the list. Ie, apply to all topics at level but
226 trailing ones accounted for by trailing specs. (Only the first of 226 trailing ones accounted for by trailing specs. (Only the first of
227 multiple colons at the same level is honored - later ones are ignored.) 227 multiple colons at the same level is honored -- later ones are ignored.)
228 * - completely exposes the topic, including bodies 228 * -- completely exposes the topic, including bodies
229 + - exposes all subtopics, but not the bodies 229 + -- exposes all subtopics, but not the bodies
230 - - exposes the body of the corresponding topic, but not subtopics 230 - -- exposes the body of the corresponding topic, but not subtopics
231 list - a nested layout spec, to be applied intricately to its 231 LIST -- a nested layout spec, to be applied intricately to its
232 corresponding item(s) 232 corresponding item(s)
233 233
234Examples: 234Examples:
235 '(-2 : 0) 235 (-2 : 0)
236 Collapse the top-level topics to show their children and 236 Collapse the top-level topics to show their children and
237 grandchildren, but completely collapse the final top-level topic. 237 grandchildren, but completely collapse the final top-level topic.
238 '(-1 () : 1 0) 238 (-1 () : 1 0)
239 Close the first topic so only the immediate subtopics are shown, 239 Close the first topic so only the immediate subtopics are shown,
240 leave the subsequent topics exposed as they are until the second 240 leave the subsequent topics exposed as they are until the second
241 second to last topic, which is exposed at least one level, and 241 second to last topic, which is exposed at least one level, and
242 completely close the last topic. 242 completely close the last topic.
243 '(-2 : -1 *) 243 (-2 : -1 *)
244 Expose children and grandchildren of all topics at current 244 Expose children and grandchildren of all topics at current
245 level except the last two; expose children of the second to 245 level except the last two; expose children of the second to
246 last and completely expose the last one, including its subtopics. 246 last and completely expose the last one, including its subtopics.
@@ -283,7 +283,7 @@ else allout's special hanging-indent maintaining auto-fill function,
283(defcustom allout-use-hanging-indents t 283(defcustom allout-use-hanging-indents t
284 "*If non-nil, topic body text auto-indent defaults to indent of the header. 284 "*If non-nil, topic body text auto-indent defaults to indent of the header.
285Ie, it is indented to be just past the header prefix. This is 285Ie, it is indented to be just past the header prefix. This is
286relevant mostly for use with indented-text-mode, or other situations 286relevant mostly for use with `indented-text-mode', or other situations
287where auto-fill occurs." 287where auto-fill occurs."
288 :type 'boolean 288 :type 'boolean
289 :group 'allout) 289 :group 'allout)
@@ -360,7 +360,7 @@ repeated calls."
360Cycling only happens on when the command is repeated, not when it 360Cycling only happens on when the command is repeated, not when it
361follows a different command. 361follows a different command.
362 362
363Smart-placement means that repeated calls to this function will 363Smart placement means that repeated calls to this function will
364advance as follows: 364advance as follows:
365 365
366 - if the cursor is not on the end-of-line, 366 - if the cursor is not on the end-of-line,
@@ -442,25 +442,25 @@ persistent until deliberately changed. Their significance is
442purely by convention, however. Some conventions suggest 442purely by convention, however. Some conventions suggest
443themselves: 443themselves:
444 444
445 `(' - open paren - an aside or incidental point 445 `(' - open paren -- an aside or incidental point
446 `?' - question mark - uncertain or outright question 446 `?' - question mark -- uncertain or outright question
447 `!' - exclamation point/bang - emphatic 447 `!' - exclamation point/bang -- emphatic
448 `[' - open square bracket - meta-note, about item instead of item's subject 448 `[' - open square bracket -- meta-note, about item instead of item's subject
449 `\"' - double quote - a quotation or other citation 449 `\"' - double quote -- a quotation or other citation
450 `=' - equal sign - an assignement, equating a name with some connotation 450 `=' - equal sign -- an assignement, equating a name with some connotation
451 `^' - carat - relates to something above 451 `^' - carat -- relates to something above
452 452
453Some are more elusive, but their rationale may be recognizable: 453Some are more elusive, but their rationale may be recognizable:
454 454
455 `+' - plus - pending consideration, completion 455 `+' - plus -- pending consideration, completion
456 `_' - underscore - done, completed 456 `_' - underscore -- done, completed
457 `&' - ampersand - addendum, furthermore 457 `&' - ampersand -- addendum, furthermore
458 458
459\(Some other non-plain bullets have special meaning to the 459\(Some other non-plain bullets have special meaning to the
460software. By default: 460software. By default:
461 461
462 `~' marks encryptable topics - see `allout-topic-encryption-bullet' 462 `~' marks encryptable topics -- see `allout-topic-encryption-bullet'
463 `#' marks auto-numbered bullets - see `allout-numbered-bullet'.) 463 `#' marks auto-numbered bullets -- see `allout-numbered-bullet'.)
464 464
465See `allout-plain-bullets-string' for the standard, alternating 465See `allout-plain-bullets-string' for the standard, alternating
466bullets. 466bullets.
@@ -502,7 +502,7 @@ comment-start strings that do not end in spaces are tripled in
502the header-prefix, and an `_' underscore is tacked on the end, to 502the header-prefix, and an `_' underscore is tacked on the end, to
503distinguish them from regular comment strings. comment-start 503distinguish them from regular comment strings. comment-start
504strings that do end in spaces are not tripled, but an underscore 504strings that do end in spaces are not tripled, but an underscore
505is substituted for the space. [This presumes that the space is 505is substituted for the space. [This presumes that the space is
506for appearance, not comment syntax. You can use 506for appearance, not comment syntax. You can use
507`allout-mode-leaders' to override this behavior, when 507`allout-mode-leaders' to override this behavior, when
508undesired.]" 508undesired.]"
@@ -543,7 +543,7 @@ are always respected by the topic maneuvering functions."
543;;;###autoload 543;;;###autoload
544(put 'allout-old-style-prefixes 'safe-local-variable 544(put 'allout-old-style-prefixes 'safe-local-variable
545 (if (fboundp 'booleanp) 'booleanp '(lambda (x) (member x '(t nil))))) 545 (if (fboundp 'booleanp) 'booleanp '(lambda (x) (member x '(t nil)))))
546;;;_ = allout-stylish-prefixes - alternating bullets 546;;;_ = allout-stylish-prefixes -- alternating bullets
547(defcustom allout-stylish-prefixes t 547(defcustom allout-stylish-prefixes t
548 "*Do fancy stuff with topic prefix bullets according to level, etc. 548 "*Do fancy stuff with topic prefix bullets according to level, etc.
549 549
@@ -707,9 +707,9 @@ variable for details about allout ajustment of file variables."
707(defcustom allout-passphrase-hint-handling 'always 707(defcustom allout-passphrase-hint-handling 'always
708 "*Dictate outline encryption passphrase reminder handling: 708 "*Dictate outline encryption passphrase reminder handling:
709 709
710 always - always show reminder when prompting 710 always -- always show reminder when prompting
711 needed - show reminder on passphrase entry failure 711 needed -- show reminder on passphrase entry failure
712 disabled - never present or adjust reminder 712 disabled -- never present or adjust reminder
713 713
714See the docstring for the `allout-enable-file-variable-adjustment' 714See the docstring for the `allout-enable-file-variable-adjustment'
715variable for details about allout ajustment of file variables." 715variable for details about allout ajustment of file variables."
@@ -732,7 +732,7 @@ mostly covers both deliberate file writes and auto-saves.
732 can continue editing but the copy on the file system will be 732 can continue editing but the copy on the file system will be
733 encrypted.) 733 encrypted.)
734 Auto-saves will use the \"All except current topic\" mode if this 734 Auto-saves will use the \"All except current topic\" mode if this
735 one is selected, to avoid practical difficulties - see below. 735 one is selected, to avoid practical difficulties -- see below.
736 - All except current topic: skip the topic currently being edited, even if 736 - All except current topic: skip the topic currently being edited, even if
737 it's pending encryption. This may expose the current topic on the 737 it's pending encryption. This may expose the current topic on the
738 file sytem, but avoids the nuisance of prompts for the encryption 738 file sytem, but avoids the nuisance of prompts for the encryption
@@ -790,7 +790,7 @@ For details, see `allout-toggle-current-subtree-encryption's docstring."
790 :group 'allout) 790 :group 'allout)
791(make-variable-buffer-local 'allout-enable-file-variable-adjustment) 791(make-variable-buffer-local 'allout-enable-file-variable-adjustment)
792 792
793;;;_* CODE - no user customizations below. 793;;;_* CODE -- no user customizations below.
794 794
795;;;_ #1 Internal Outline Formatting and Configuration 795;;;_ #1 Internal Outline Formatting and Configuration
796;;;_ : Version 796;;;_ : Version
@@ -810,7 +810,7 @@ For details, see `allout-toggle-current-subtree-encryption's docstring."
810(defvar allout-mode nil "Allout outline mode minor-mode flag.") 810(defvar allout-mode nil "Allout outline mode minor-mode flag.")
811(make-variable-buffer-local 'allout-mode) 811(make-variable-buffer-local 'allout-mode)
812;;;_ = allout-layout nil 812;;;_ = allout-layout nil
813(defvar allout-layout nil ; LEAVE GLOBAL VALUE NIL - see docstring. 813(defvar allout-layout nil ; LEAVE GLOBAL VALUE NIL -- see docstring.
814 "Buffer-specific setting for allout layout. 814 "Buffer-specific setting for allout layout.
815 815
816In buffers where this is non-nil (and if `allout-init' has been run, to 816In buffers where this is non-nil (and if `allout-init' has been run, to
@@ -854,7 +854,7 @@ by `set-allout-regexp'.")
854(defvar allout-bullets-string "" 854(defvar allout-bullets-string ""
855 "A string dictating the valid set of outline topic bullets. 855 "A string dictating the valid set of outline topic bullets.
856 856
857This var should *not* be set by the user - it is set by `set-allout-regexp', 857This var should *not* be set by the user -- it is set by `set-allout-regexp',
858and is produced from the elements of `allout-plain-bullets-string' 858and is produced from the elements of `allout-plain-bullets-string'
859and `allout-distinctive-bullets-string'.") 859and `allout-distinctive-bullets-string'.")
860(make-variable-buffer-local 'allout-bullets-string) 860(make-variable-buffer-local 'allout-bullets-string)
@@ -970,7 +970,7 @@ invoking it directly."
970 comment-start 970 comment-start
971 t))) 971 t)))
972 allout-use-mode-specific-leader 972 allout-use-mode-specific-leader
973 ;; Oops - garbled value, equate with effect of 't: 973 ;; Oops -- garbled value, equate with effect of t:
974 t))) 974 t)))
975 (leader 975 (leader
976 (cond 976 (cond
@@ -998,8 +998,8 @@ invoking it directly."
998 nil 998 nil
999 (setq allout-header-prefix leader) 999 (setq allout-header-prefix leader)
1000 (if (not allout-old-style-prefixes) 1000 (if (not allout-old-style-prefixes)
1001 ;; setting allout-primary-bullet makes the top level topics use - 1001 ;; setting allout-primary-bullet makes the top level topics use --
1002 ;; actually, be - the special prefix: 1002 ;; actually, be -- the special prefix:
1003 (setq allout-primary-bullet leader)) 1003 (setq allout-primary-bullet leader))
1004 allout-header-prefix))) 1004 allout-header-prefix)))
1005(defalias 'allout-infer-header-lead 1005(defalias 'allout-infer-header-lead
@@ -1148,10 +1148,10 @@ Also refresh various data structures that hinge on the regexp."
1148(defvar allout-mode-map nil "Keybindings for (allout) outline minor mode.") 1148(defvar allout-mode-map nil "Keybindings for (allout) outline minor mode.")
1149;;;_ > produce-allout-mode-map (keymap-alist &optional base-map) 1149;;;_ > produce-allout-mode-map (keymap-alist &optional base-map)
1150(defun produce-allout-mode-map (keymap-list &optional base-map) 1150(defun produce-allout-mode-map (keymap-list &optional base-map)
1151 "Produce keymap for use as allout-mode-map, from KEYMAP-LIST. 1151 "Produce keymap for use as `allout-mode-map', from KEYMAP-LIST.
1152 1152
1153Built on top of optional BASE-MAP, or empty sparse map if none specified. 1153Built on top of optional BASE-MAP, or empty sparse map if none specified.
1154See doc string for allout-keybindings-list for format of binding list." 1154See doc string for `allout-keybindings-list' for format of binding list."
1155 (let ((map (or base-map (make-sparse-keymap))) 1155 (let ((map (or base-map (make-sparse-keymap)))
1156 (pref (list allout-command-prefix))) 1156 (pref (list allout-command-prefix)))
1157 (mapc (function 1157 (mapc (function
@@ -1263,7 +1263,7 @@ extended from the existing one by `append'ing a list containing the second
1263element of the pair onto the end of the existing value. 1263element of the pair onto the end of the existing value.
1264 1264
1265Extension, and resumptions in general, should not be used for hook 1265Extension, and resumptions in general, should not be used for hook
1266functions - use the 'local mode of `add-hook' for that, instead. 1266functions -- use the 'local mode of `add-hook' for that, instead.
1267 1267
1268The settings are stored on `allout-mode-prior-settings'." 1268The settings are stored on `allout-mode-prior-settings'."
1269 (while pairs 1269 (while pairs
@@ -1282,7 +1282,7 @@ The settings are stored on `allout-mode-prior-settings'."
1282 (when (not (assoc name allout-mode-prior-settings)) 1282 (when (not (assoc name allout-mode-prior-settings))
1283 ;; Not already added as a resumption, create the prior setting entry. 1283 ;; Not already added as a resumption, create the prior setting entry.
1284 (if (local-variable-p name) 1284 (if (local-variable-p name)
1285 ;; is already local variable - preserve the prior value: 1285 ;; is already local variable -- preserve the prior value:
1286 (push (list name prior-value) allout-mode-prior-settings) 1286 (push (list name prior-value) allout-mode-prior-settings)
1287 ;; wasn't local variable, indicate so for resumption by killing 1287 ;; wasn't local variable, indicate so for resumption by killing
1288 ;; local value, and make it local: 1288 ;; local value, and make it local:
@@ -1348,9 +1348,9 @@ It is run at the conclusion of `allout-flag-region'.
1348 1348
1349Functions on the hook must take three arguments: 1349Functions on the hook must take three arguments:
1350 1350
1351 - from - integer indicating the point at the start of the change. 1351 - FROM -- integer indicating the point at the start of the change.
1352 - to - integer indicating the point of the end of the change. 1352 - TO -- integer indicating the point of the end of the change.
1353 - flag - change mode: nil for exposure, otherwise concealment. 1353 - FLAG -- change mode: nil for exposure, otherwise concealment.
1354 1354
1355This hook might be invoked multiple times by a single command. 1355This hook might be invoked multiple times by a single command.
1356 1356
@@ -1362,10 +1362,10 @@ and eventually will not be invoked.")
1362 1362
1363Functions on the hook should take two arguments: 1363Functions on the hook should take two arguments:
1364 1364
1365 - new-start - integer indicating the point at the start of the first new item. 1365 - NEW-START -- integer indicating position of start of the first new item.
1366 - new-end - integer indicating the point of the end of the last new item. 1366 - NEW-END -- integer indicating position of end of the last new item.
1367 1367
1368Some edits that introduce new items may missed by this hook - 1368Some edits that introduce new items may missed by this hook:
1369specifically edits that native allout routines do not control. 1369specifically edits that native allout routines do not control.
1370 1370
1371This hook might be invoked multiple times by a single command.") 1371This hook might be invoked multiple times by a single command.")
@@ -1375,10 +1375,10 @@ This hook might be invoked multiple times by a single command.")
1375 1375
1376Functions on the hook must take two arguments: 1376Functions on the hook must take two arguments:
1377 1377
1378 - depth - integer indicating the depth of the subtree that was deleted. 1378 - DEPTH -- integer indicating the depth of the subtree that was deleted.
1379 - removed-from - integer indicating the point where the subtree was removed. 1379 - REMOVED-FROM -- integer indicating the point where the subtree was removed.
1380 1380
1381Some edits that remove or invalidate items may missed by this hook - 1381Some edits that remove or invalidate items may missed by this hook:
1382specifically edits that native allout routines do not control. 1382specifically edits that native allout routines do not control.
1383 1383
1384This hook might be invoked multiple times by a single command.") 1384This hook might be invoked multiple times by a single command.")
@@ -1388,10 +1388,10 @@ This hook might be invoked multiple times by a single command.")
1388 1388
1389Functions on the hook should take two arguments: 1389Functions on the hook should take two arguments:
1390 1390
1391 - depth-change - integer indicating depth increase, negative for decrease 1391 - DEPTH-CHANGE -- integer indicating depth increase, negative for decrease
1392 - start - integer indicating the start point of the shifted parent item. 1392 - START -- integer indicating the start point of the shifted parent item.
1393 1393
1394Some edits that shift items can be missed by this hook - specifically edits 1394Some edits that shift items can be missed by this hook: specifically edits
1395that native allout routines do not control. 1395that native allout routines do not control.
1396 1396
1397This hook might be invoked multiple times by a single command.") 1397This hook might be invoked multiple times by a single command.")
@@ -1468,7 +1468,7 @@ substition is used against the regexp matches, a la `replace-match'.")
1468 "Variable for regexps matching plaintext to remove before encryption. 1468 "Variable for regexps matching plaintext to remove before encryption.
1469 1469
1470This is for the sake of redoing encryption in cases where the ciphertext 1470This is for the sake of redoing encryption in cases where the ciphertext
1471incidentally contains strings that would disrupt mode operation - 1471incidentally contains strings that would disrupt mode operation --
1472for example, a line that happens to look like an allout-mode topic prefix. 1472for example, a line that happens to look like an allout-mode topic prefix.
1473 1473
1474Entries must be symbols that are bound to the desired regexp values. 1474Entries must be symbols that are bound to the desired regexp values.
@@ -1486,7 +1486,7 @@ See `allout-encryption-ciphertext-rejection-regexps' for rejection reasons.")
1486(make-variable-buffer-local 'allout-encryption-ciphertext-rejection-ceiling) 1486(make-variable-buffer-local 'allout-encryption-ciphertext-rejection-ceiling)
1487;;;_ > allout-mode-p () 1487;;;_ > allout-mode-p ()
1488;; Must define this macro above any uses, or byte compilation will lack 1488;; Must define this macro above any uses, or byte compilation will lack
1489;; proper def, if file isn't loaded - eg, during emacs build! 1489;; proper def, if file isn't loaded -- eg, during emacs build!
1490(defmacro allout-mode-p () 1490(defmacro allout-mode-p ()
1491 "Return t if `allout-mode' is active in current buffer." 1491 "Return t if `allout-mode' is active in current buffer."
1492 'allout-mode) 1492 'allout-mode)
@@ -1660,9 +1660,9 @@ the following two lines in your Emacs init file:
1660 (put 'allout-exposure-category 'invisible 'allout) 1660 (put 'allout-exposure-category 'invisible 'allout)
1661 (put 'allout-exposure-category 'evaporate t) 1661 (put 'allout-exposure-category 'evaporate t)
1662 ;; XXX We use isearch-open-invisible *and* isearch-mode-end-hook. The 1662 ;; XXX We use isearch-open-invisible *and* isearch-mode-end-hook. The
1663 ;; latter would be sufficient, but it seems that a separate behavior - 1663 ;; latter would be sufficient, but it seems that a separate behavior --
1664 ;; the _transient_ opening of invisible text during isearch - is keyed to 1664 ;; the _transient_ opening of invisible text during isearch -- is keyed to
1665 ;; presence of the isearch-open-invisible property - even though this 1665 ;; presence of the isearch-open-invisible property -- even though this
1666 ;; property controls the isearch _arrival_ behavior. This is the case at 1666 ;; property controls the isearch _arrival_ behavior. This is the case at
1667 ;; least in emacs 21, 22.0, and xemacs 21.4. 1667 ;; least in emacs 21, 22.0, and xemacs 21.4.
1668 (put 'allout-exposure-category 'isearch-open-invisible 1668 (put 'allout-exposure-category 'isearch-open-invisible
@@ -1716,7 +1716,7 @@ variable. We recommend customizing `allout-command-prefix' to use just
1716`\\C-c' as the command prefix, if the allout bindings don't conflict with 1716`\\C-c' as the command prefix, if the allout bindings don't conflict with
1717any personal bindings you have on \\C-c. In any case, outline structure 1717any personal bindings you have on \\C-c. In any case, outline structure
1718navigation and authoring is simplified by positioning the cursor on an 1718navigation and authoring is simplified by positioning the cursor on an
1719item's bullet character, the \"hot-spot\" - then you can invoke allout 1719item's bullet character, the \"hot-spot\" -- then you can invoke allout
1720commands with just the un-prefixed, un-control-shifted command letters. 1720commands with just the un-prefixed, un-control-shifted command letters.
1721This is described further in the HOT-SPOT Operation section. 1721This is described further in the HOT-SPOT Operation section.
1722 1722
@@ -1737,7 +1737,7 @@ This is described further in the HOT-SPOT Operation section.
1737\\[allout-backward-current-level] `allout-backward-current-level' 1737\\[allout-backward-current-level] `allout-backward-current-level'
1738\\[allout-end-of-entry] `allout-end-of-entry' 1738\\[allout-end-of-entry] `allout-end-of-entry'
1739\\[allout-beginning-of-current-entry] `allout-beginning-of-current-entry' (alternately, goes to hot-spot) 1739\\[allout-beginning-of-current-entry] `allout-beginning-of-current-entry' (alternately, goes to hot-spot)
1740\\[allout-beginning-of-line] `allout-beginning-of-line' - like regular beginning-of-line, but 1740\\[allout-beginning-of-line] `allout-beginning-of-line' -- like regular beginning-of-line, but
1741 if immediately repeated cycles to the beginning of the current item 1741 if immediately repeated cycles to the beginning of the current item
1742 and then to the hot-spot (if `allout-beginning-of-line-cycles' is set). 1742 and then to the hot-spot (if `allout-beginning-of-line-cycles' is set).
1743 1743
@@ -1755,9 +1755,9 @@ This is described further in the HOT-SPOT Operation section.
1755\\[allout-rebullet-current-heading] `allout-rebullet-current-heading' Prompt for alternate bullet for 1755\\[allout-rebullet-current-heading] `allout-rebullet-current-heading' Prompt for alternate bullet for
1756 current topic 1756 current topic
1757\\[allout-rebullet-topic] `allout-rebullet-topic' Reconcile bullets of topic and 1757\\[allout-rebullet-topic] `allout-rebullet-topic' Reconcile bullets of topic and
1758 its' offspring - distinctive bullets are not changed, others 1758 its' offspring -- distinctive bullets are not changed, others
1759 are alternated according to nesting depth. 1759 are alternated according to nesting depth.
1760\\[allout-number-siblings] `allout-number-siblings' Number bullets of topic and siblings - 1760\\[allout-number-siblings] `allout-number-siblings' Number bullets of topic and siblings --
1761 the offspring are not affected. 1761 the offspring are not affected.
1762 With repeat count, revoke numbering. 1762 With repeat count, revoke numbering.
1763 1763
@@ -1786,7 +1786,7 @@ M-x outlineify-sticky Activate outline mode for current buffer,
1786\\[allout-copy-exposed-to-buffer] `allout-copy-exposed-to-buffer' 1786\\[allout-copy-exposed-to-buffer] `allout-copy-exposed-to-buffer'
1787 Duplicate outline, sans concealed text, to 1787 Duplicate outline, sans concealed text, to
1788 buffer with name derived from derived from that 1788 buffer with name derived from derived from that
1789 of current buffer - \"*BUFFERNAME exposed*\". 1789 of current buffer -- \"*BUFFERNAME exposed*\".
1790\\[allout-flatten-exposed-to-buffer] `allout-flatten-exposed-to-buffer' 1790\\[allout-flatten-exposed-to-buffer] `allout-flatten-exposed-to-buffer'
1791 Like above 'copy-exposed', but convert topic 1791 Like above 'copy-exposed', but convert topic
1792 prefixes to section.subsection... numeric 1792 prefixes to section.subsection... numeric
@@ -1855,7 +1855,7 @@ without changes to the allout core. Here are key ones:
1855 1855
1856 Terminology 1856 Terminology
1857 1857
1858Topic hierarchy constituents - TOPICS and SUBTOPICS: 1858Topic hierarchy constituents -- TOPICS and SUBTOPICS:
1859 1859
1860ITEM: A unitary outline element, including the HEADER and ENTRY text. 1860ITEM: A unitary outline element, including the HEADER and ENTRY text.
1861TOPIC: An ITEM and any ITEMs contained within it, ie having greater DEPTH 1861TOPIC: An ITEM and any ITEMs contained within it, ie having greater DEPTH
@@ -1963,7 +1963,7 @@ OPEN: A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be."
1963 1963
1964 (cond 1964 (cond
1965 1965
1966 ;; Provision for v19.18, 19.19 bug - 1966 ;; Provision for v19.18, 19.19 bug --
1967 ;; Emacs v 19.18, 19.19 file-var code invokes prop-line-designated 1967 ;; Emacs v 19.18, 19.19 file-var code invokes prop-line-designated
1968 ;; modes twice when file is visited. We have to avoid toggling mode 1968 ;; modes twice when file is visited. We have to avoid toggling mode
1969 ;; off on second invocation, so we detect it as best we can, and 1969 ;; off on second invocation, so we detect it as best we can, and
@@ -2108,7 +2108,7 @@ OPEN: A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be."
2108 (progn 2108 (progn
2109 (apply 'allout-expose-topic (list use-layout)) 2109 (apply 'allout-expose-topic (list use-layout))
2110 (message "Adjusting '%s' exposure... done." (buffer-name))) 2110 (message "Adjusting '%s' exposure... done." (buffer-name)))
2111 ;; Problem applying exposure - notify user, but don't 2111 ;; Problem applying exposure -- notify user, but don't
2112 ;; interrupt, eg, file visit: 2112 ;; interrupt, eg, file visit:
2113 (error (message "%s" (car (cdr err))) 2113 (error (message "%s" (car (cdr err)))
2114 (sit-for 1)))))) 2114 (sit-for 1))))))
@@ -2143,6 +2143,16 @@ OPEN: A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be."
2143;;;_ > allout-minor-mode 2143;;;_ > allout-minor-mode
2144(defalias 'allout-minor-mode 'allout-mode) 2144(defalias 'allout-minor-mode 'allout-mode)
2145 2145
2146;;;_ > allout-unload-function
2147(defun allout-unload-function ()
2148 "Unload the allout outline library."
2149 (save-current-buffer
2150 (dolist (buffer (buffer-list))
2151 (set-buffer buffer)
2152 (when allout-mode (allout-mode -1))))
2153 ;; continue standard unloading
2154 nil)
2155
2146;;;_ - Position Assessment 2156;;;_ - Position Assessment
2147;;;_ > allout-hidden-p (&optional pos) 2157;;;_ > allout-hidden-p (&optional pos)
2148(defsubst allout-hidden-p (&optional pos) 2158(defsubst allout-hidden-p (&optional pos)
@@ -2165,10 +2175,10 @@ OPEN: A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be."
2165 "Get confirmation before making arbitrary changes to invisible text. 2175 "Get confirmation before making arbitrary changes to invisible text.
2166 2176
2167We expose the invisible text and ask for confirmation. Refusal or 2177We expose the invisible text and ask for confirmation. Refusal or
2168keyboard-quit abandons the changes, with keyboard-quit additionally 2178`keyboard-quit' abandons the changes, with keyboard-quit additionally
2169reclosing the opened text. 2179reclosing the opened text.
2170 2180
2171No confirmation is necessary when inhibit-read-only is set - eg, allout 2181No confirmation is necessary when `inhibit-read-only' is set -- eg, allout
2172internal functions use this feature cohesively bunch changes." 2182internal functions use this feature cohesively bunch changes."
2173 2183
2174 (when (and (not inhibit-read-only) (not after)) 2184 (when (and (not inhibit-read-only) (not after))
@@ -2206,7 +2216,7 @@ internal functions use this feature cohesively bunch changes."
2206(defun allout-before-change-handler (beg end) 2216(defun allout-before-change-handler (beg end)
2207 "Protect against changes to invisible text. 2217 "Protect against changes to invisible text.
2208 2218
2209See allout-overlay-interior-modification-handler for details." 2219See `allout-overlay-interior-modification-handler' for details."
2210 2220
2211 (if (and (allout-mode-p) undo-in-progress (allout-hidden-p)) 2221 (if (and (allout-mode-p) undo-in-progress (allout-hidden-p))
2212 (allout-show-to-offshoot)) 2222 (allout-show-to-offshoot))
@@ -2231,7 +2241,7 @@ function can also be used as an `isearch-mode-end-hook'."
2231 (if (and (allout-mode-p) (allout-hidden-p)) 2241 (if (and (allout-mode-p) (allout-hidden-p))
2232 (allout-show-to-offshoot))) 2242 (allout-show-to-offshoot)))
2233 2243
2234;;;_ #3 Internal Position State-Tracking - "allout-recent-*" funcs 2244;;;_ #3 Internal Position State-Tracking -- "allout-recent-*" funcs
2235;;; All the basic outline functions that directly do string matches to 2245;;; All the basic outline functions that directly do string matches to
2236;;; evaluate heading prefix location set the variables 2246;;; evaluate heading prefix location set the variables
2237;;; `allout-recent-prefix-beginning' and `allout-recent-prefix-end' 2247;;; `allout-recent-prefix-beginning' and `allout-recent-prefix-end'
@@ -2259,7 +2269,8 @@ function can also be used as an `isearch-mode-end-hook'."
2259(defsubst allout-prefix-data () 2269(defsubst allout-prefix-data ()
2260 "Register allout-prefix state data. 2270 "Register allout-prefix state data.
2261 2271
2262For reference by `allout-recent' funcs. Returns BEGINNING." 2272For reference by `allout-recent' funcs. Return
2273the new value of `allout-recent-prefix-beginning'."
2263 (setq allout-recent-prefix-end (or (match-end 1) (match-end 2) (match-end 3)) 2274 (setq allout-recent-prefix-end (or (match-end 1) (match-end 2) (match-end 3))
2264 allout-recent-prefix-beginning (or (match-beginning 1) 2275 allout-recent-prefix-beginning (or (match-beginning 1)
2265 (match-beginning 2) 2276 (match-beginning 2)
@@ -2314,7 +2325,7 @@ to return the current depth of the most recently matched topic."
2314(defsubst allout-do-doublecheck () 2325(defsubst allout-do-doublecheck ()
2315 "True if current item conditions qualify for checking on topic aberrance." 2326 "True if current item conditions qualify for checking on topic aberrance."
2316 (and 2327 (and
2317 ;; presume integrity of outline and yanked content during yank - necessary, 2328 ;; presume integrity of outline and yanked content during yank -- necessary
2318 ;; to allow for level disparity of yank location and yanked text: 2329 ;; to allow for level disparity of yank location and yanked text:
2319 (not allout-inhibit-aberrance-doublecheck) 2330 (not allout-inhibit-aberrance-doublecheck)
2320 ;; allout-doublecheck-at-and-shallower is ceiling for doublecheck: 2331 ;; allout-doublecheck-at-and-shallower is ceiling for doublecheck:
@@ -2352,12 +2363,12 @@ exceeds the topic by more than one."
2352 (allout-prefix-data) 2363 (allout-prefix-data)
2353 (goto-char allout-recent-prefix-beginning) 2364 (goto-char allout-recent-prefix-beginning)
2354 (cond 2365 (cond
2355 ;; sibling - continue: 2366 ;; sibling -- continue:
2356 ((eq allout-recent-depth depth)) 2367 ((eq allout-recent-depth depth))
2357 ;; first offspring is excessive - aberrant: 2368 ;; first offspring is excessive -- aberrant:
2358 ((> allout-recent-depth (1+ depth)) 2369 ((> allout-recent-depth (1+ depth))
2359 (setq done t aberrant t)) 2370 (setq done t aberrant t))
2360 ;; next non-sibling is lower-depth - not aberrant: 2371 ;; next non-sibling is lower-depth -- not aberrant:
2361 (t (setq done t)))))) 2372 (t (setq done t))))))
2362 (if aberrant 2373 (if aberrant
2363 aberrant 2374 aberrant
@@ -2500,7 +2511,7 @@ Outermost is first."
2500;;;_ > allout-end-of-current-line () 2511;;;_ > allout-end-of-current-line ()
2501(defun allout-end-of-current-line () 2512(defun allout-end-of-current-line ()
2502 "Move to the end of line, past concealed text if any." 2513 "Move to the end of line, past concealed text if any."
2503 ;; XXX This is for symmetry with `allout-beginning-of-current-line' - 2514 ;; XXX This is for symmetry with `allout-beginning-of-current-line' --
2504 ;; `move-end-of-line' doesn't suffer the same problem as 2515 ;; `move-end-of-line' doesn't suffer the same problem as
2505 ;; `move-beginning-of-line'. 2516 ;; `move-beginning-of-line'.
2506 (let ((inhibit-field-text-motion t)) 2517 (let ((inhibit-field-text-motion t))
@@ -2574,7 +2585,7 @@ Outermost is first."
2574 2585
2575Returns the location of the heading, or nil if none found. 2586Returns the location of the heading, or nil if none found.
2576 2587
2577We skip anomolous low-level topics, a la `allout-aberrant-container-p'." 2588We skip anomalous low-level topics, a la `allout-aberrant-container-p'."
2578 (save-match-data 2589 (save-match-data
2579 2590
2580 (if (looking-at allout-regexp) 2591 (if (looking-at allout-regexp)
@@ -2603,7 +2614,7 @@ We skip anomolous low-level topics, a la `allout-aberrant-container-p'."
2603 2614
2604Return the location of the beginning of the heading, or nil if not found. 2615Return the location of the beginning of the heading, or nil if not found.
2605 2616
2606We skip anomolous low-level topics, a la `allout-aberrant-container-p'." 2617We skip anomalous low-level topics, a la `allout-aberrant-container-p'."
2607 2618
2608 (if (bobp) 2619 (if (bobp)
2609 nil 2620 nil
@@ -2701,9 +2712,9 @@ starting point, and PREV-DEPTH is depth of prior topic."
2701 ;; Register this one and move on: 2712 ;; Register this one and move on:
2702 (setq chart (cons allout-recent-prefix-beginning chart)) 2713 (setq chart (cons allout-recent-prefix-beginning chart))
2703 (if (and levels (<= levels 1)) 2714 (if (and levels (<= levels 1))
2704 ;; At depth limit - skip sublevels: 2715 ;; At depth limit -- skip sublevels:
2705 (or (allout-next-sibling curr-depth) 2716 (or (allout-next-sibling curr-depth)
2706 ;; or no more siblings - proceed to 2717 ;; or no more siblings -- proceed to
2707 ;; next heading at lesser depth: 2718 ;; next heading at lesser depth:
2708 (while (and (<= curr-depth 2719 (while (and (<= curr-depth
2709 allout-recent-depth) 2720 allout-recent-depth)
@@ -2776,7 +2787,7 @@ start point."
2776 (let ((further (allout-chart-to-reveal here (if (null depth) 2787 (let ((further (allout-chart-to-reveal here (if (null depth)
2777 depth 2788 depth
2778 (1- depth))))) 2789 (1- depth)))))
2779 ;; We're on the start of a subtree - recurse with it, if there's 2790 ;; We're on the start of a subtree -- recurse with it, if there's
2780 ;; more depth to go: 2791 ;; more depth to go:
2781 (if further (setq result (append further result))) 2792 (if further (setq result (append further result)))
2782 (setq chart (cdr chart))) 2793 (setq chart (cdr chart)))
@@ -3164,7 +3175,7 @@ situation."
3164 (progn (goto-char start-point) 3175 (progn (goto-char start-point)
3165 nil) 3176 nil)
3166 ;; rationale: if any intervening items were at a lower depth, we 3177 ;; rationale: if any intervening items were at a lower depth, we
3167 ;; would now be on the first offspring at the target depth - ie, 3178 ;; would now be on the first offspring at the target depth -- ie,
3168 ;; the preceeding item (per the search direction) must be at a 3179 ;; the preceeding item (per the search direction) must be at a
3169 ;; lesser depth. that's all we need to check. 3180 ;; lesser depth. that's all we need to check.
3170 (if backward (allout-next-heading) (allout-previous-heading)) 3181 (if backward (allout-next-heading) (allout-previous-heading))
@@ -3242,7 +3253,7 @@ Move to buffer limit in indicated direction if headings are exhausted."
3242 (allout-aberrant-container-p)) 3253 (allout-aberrant-container-p))
3243 ;; skip this aberrant prospective header line: 3254 ;; skip this aberrant prospective header line:
3244 t 3255 t
3245 ;; this prospective headerline qualifies - register: 3256 ;; this prospective headerline qualifies -- register:
3246 (setq got allout-recent-prefix-beginning) 3257 (setq got allout-recent-prefix-beginning)
3247 ;; and break the loop: 3258 ;; and break the loop:
3248 nil))))) 3259 nil)))))
@@ -3410,7 +3421,7 @@ Returns the qualifying command, if any, else nil."
3410 (>= 122 key-num)) ; "z" 3421 (>= 122 key-num)) ; "z"
3411 (- key-num 96) key-num))) 3422 (- key-num 96) key-num)))
3412 t)))) 3423 t))))
3413 ;; Qualified as an allout command - do hot-spot operation. 3424 ;; Qualified as an allout command -- do hot-spot operation.
3414 (setq allout-post-goto-bullet t) 3425 (setq allout-post-goto-bullet t)
3415 ;; accept-defaults nil, or else we'll get allout-item-icon-key-handler. 3426 ;; accept-defaults nil, or else we'll get allout-item-icon-key-handler.
3416 (setq mapped-binding (key-binding (char-to-string key-num)))) 3427 (setq mapped-binding (key-binding (char-to-string key-num))))
@@ -3512,7 +3523,7 @@ Second arg NEW indicates that a new topic is being opened after the
3512topic at point, if non-nil. Default bullet for new topics, eg, may 3523topic at point, if non-nil. Default bullet for new topics, eg, may
3513be set (contingent to other args) to numbered bullets if previous 3524be set (contingent to other args) to numbered bullets if previous
3514sibling is one. The implication otherwise is that the current topic 3525sibling is one. The implication otherwise is that the current topic
3515is being adjusted - shifted or rebulleted - and we don't consider 3526is being adjusted -- shifted or rebulleted -- and we don't consider
3516bullet or previous sibling. 3527bullet or previous sibling.
3517 3528
3518Third arg DEPTH forces the topic prefix to that depth, regardless of 3529Third arg DEPTH forces the topic prefix to that depth, regardless of
@@ -3558,11 +3569,11 @@ index for each successive sibling)."
3558 ;; Getting value for bullet char is practically the whole job: 3569 ;; Getting value for bullet char is practically the whole job:
3559 3570
3560 (cond 3571 (cond
3561 ; Simplest situation - level 1: 3572 ; Simplest situation -- level 1:
3562 ((<= depth 1) (setq header-lead "") allout-primary-bullet) 3573 ((<= depth 1) (setq header-lead "") allout-primary-bullet)
3563 ; Simple, too: all asterisks: 3574 ; Simple, too: all asterisks:
3564 (allout-old-style-prefixes 3575 (allout-old-style-prefixes
3565 ;; Cheat - make body the whole thing, null out header-lead and 3576 ;; Cheat -- make body the whole thing, null out header-lead and
3566 ;; bullet-char: 3577 ;; bullet-char:
3567 (setq body (make-string depth 3578 (setq body (make-string depth
3568 (string-to-char allout-primary-bullet))) 3579 (string-to-char allout-primary-bullet)))
@@ -3640,8 +3651,8 @@ index for each successive sibling)."
3640 "Open a new topic at depth DEPTH. 3651 "Open a new topic at depth DEPTH.
3641 3652
3642New topic is situated after current one, unless optional flag BEFORE 3653New topic is situated after current one, unless optional flag BEFORE
3643is non-nil, or unless current line is completely empty - lacking even 3654is non-nil, or unless current line is completely empty -- lacking even
3644whitespace - in which case open is done on the current line. 3655whitespace -- in which case open is done on the current line.
3645 3656
3646When adding an offspring, it will be added immediately after the parent if 3657When adding an offspring, it will be added immediately after the parent if
3647the other offspring are exposed, or after the last child if the offspring 3658the other offspring are exposed, or after the last child if the offspring
@@ -3706,7 +3717,7 @@ Nuances:
3706 3717
3707 (if (not opening-on-blank) 3718 (if (not opening-on-blank)
3708 ; Positioning and vertical 3719 ; Positioning and vertical
3709 ; padding - only if not 3720 ; padding -- only if not
3710 ; opening-on-blank: 3721 ; opening-on-blank:
3711 (progn 3722 (progn
3712 (goto-char ref-topic) 3723 (goto-char ref-topic)
@@ -3757,7 +3768,7 @@ Nuances:
3757 (open-line 1))) 3768 (open-line 1)))
3758 (allout-end-of-current-subtree) 3769 (allout-end-of-current-subtree)
3759 (if (looking-at "\n\n") (forward-char 1)))) 3770 (if (looking-at "\n\n") (forward-char 1))))
3760 ;; Going inwards - double-space if first offspring is 3771 ;; Going inwards -- double-space if first offspring is
3761 ;; double-spaced, otherwise snug up. 3772 ;; double-spaced, otherwise snug up.
3762 (allout-end-of-entry) 3773 (allout-end-of-entry)
3763 (if (eobp) 3774 (if (eobp)
@@ -3767,7 +3778,7 @@ Nuances:
3767 (backward-char 1) 3778 (backward-char 1)
3768 (if (bolp) 3779 (if (bolp)
3769 ;; Blank lines between current header body and next 3780 ;; Blank lines between current header body and next
3770 ;; header - get to last substantive (non-white-space) 3781 ;; header -- get to last substantive (non-white-space)
3771 ;; line in body: 3782 ;; line in body:
3772 (progn (setq dbl-space t) 3783 (progn (setq dbl-space t)
3773 (re-search-backward "[^ \t\n]" nil t))) 3784 (re-search-backward "[^ \t\n]" nil t)))
@@ -3914,9 +3925,9 @@ Note that refill of indented paragraphs is not done."
3914 (not (looking-at allout-regexp))) 3925 (not (looking-at allout-regexp)))
3915 (if (> 0 (setq excess (- (- old-indent-end old-indent-begin) 3926 (if (> 0 (setq excess (- (- old-indent-end old-indent-begin)
3916 old-margin))) 3927 old-margin)))
3917 ;; Text starts left of old margin - don't adjust: 3928 ;; Text starts left of old margin -- don't adjust:
3918 nil 3929 nil
3919 ;; Text was hanging at or right of old left margin - 3930 ;; Text was hanging at or right of old left margin --
3920 ;; reindent it, preserving its existing indentation 3931 ;; reindent it, preserving its existing indentation
3921 ;; beyond the old margin: 3932 ;; beyond the old margin:
3922 (delete-region old-indent-begin old-indent-end) 3933 (delete-region old-indent-begin old-indent-end)
@@ -3977,9 +3988,9 @@ Third arg NUMBER-CONTROL can force the prefix to or away from
3977numbered form. It has effect only if `allout-numbered-bullet' is 3988numbered form. It has effect only if `allout-numbered-bullet' is
3978non-nil and soliciting was not explicitly invoked (via first arg). 3989non-nil and soliciting was not explicitly invoked (via first arg).
3979Its effect, numbering or denumbering, then depends on the setting 3990Its effect, numbering or denumbering, then depends on the setting
3980of the forth arg, INDEX. 3991of the fourth arg, INDEX.
3981 3992
3982If NUMBER-CONTROL is non-nil and forth arg INDEX is nil, then the 3993If NUMBER-CONTROL is non-nil and fourth arg INDEX is nil, then the
3983prefix of the topic is forced to be non-numbered. Null index and 3994prefix of the topic is forced to be non-numbered. Null index and
3984non-nil NUMBER-CONTROL forces denumbering. Non-nil INDEX (and 3995non-nil NUMBER-CONTROL forces denumbering. Non-nil INDEX (and
3985non-nil NUMBER-CONTROL) forces a numbered-prefix form. If non-nil 3996non-nil NUMBER-CONTROL) forces a numbered-prefix form. If non-nil
@@ -4064,7 +4075,7 @@ this function."
4064 4075
4065Descends into invisible as well as visible topics, however. 4076Descends into invisible as well as visible topics, however.
4066 4077
4067When optional sans-offspring is non-nil, subtopics are not 4078When optional SANS-OFFSPRING is non-nil, subtopics are not
4068shifted. (Shifting a topic outwards without shifting its 4079shifted. (Shifting a topic outwards without shifting its
4069offspring is disallowed, since this would create a \"containment 4080offspring is disallowed, since this would create a \"containment
4070discontinuity\", where the depth difference between a topic and 4081discontinuity\", where the depth difference between a topic and
@@ -4109,7 +4120,7 @@ Finally, if optional SANS-OFFSPRING is non-nil then the offspring
4109are not shifted. (Shifting a topic outwards without shifting 4120are not shifted. (Shifting a topic outwards without shifting
4110its offspring is disallowed, since this would create a 4121its offspring is disallowed, since this would create a
4111\"containment discontinuity\", where the depth difference between 4122\"containment discontinuity\", where the depth difference between
4112a topic and its immediate offspring is greater than one..)" 4123a topic and its immediate offspring is greater than one.)"
4113 4124
4114 ;; XXX the recursion here is peculiar, and in general the routine may 4125 ;; XXX the recursion here is peculiar, and in general the routine may
4115 ;; need simplification with refactoring. 4126 ;; need simplification with refactoring.
@@ -4174,7 +4185,7 @@ a topic and its immediate offspring is greater than one..)"
4174 nil)))) ;;; do-successors 4185 nil)))) ;;; do-successors
4175 4186
4176 ((< starting-depth new-depth) 4187 ((< starting-depth new-depth)
4177 ;; Rare case - subtopic more than one level deeper than parent. 4188 ;; Rare case -- subtopic more than one level deeper than parent.
4178 ;; Treat this one at an even deeper level: 4189 ;; Treat this one at an even deeper level:
4179 (allout-rebullet-topic-grunt relative-depth 4190 (allout-rebullet-topic-grunt relative-depth
4180 new-depth 4191 new-depth
@@ -4236,7 +4247,7 @@ Returns final depth."
4236(defun allout-number-siblings (&optional denumber) 4247(defun allout-number-siblings (&optional denumber)
4237 "Assign numbered topic prefix to this topic and its siblings. 4248 "Assign numbered topic prefix to this topic and its siblings.
4238 4249
4239With universal argument, denumber - assign default bullet to this 4250With universal argument, denumber -- assign default bullet to this
4240topic and its siblings. 4251topic and its siblings.
4241 4252
4242With repeated universal argument (`^U^U'), solicit bullet for each 4253With repeated universal argument (`^U^U'), solicit bullet for each
@@ -4395,7 +4406,7 @@ Trailing whitespace is killed with a topic if that whitespace:
4395 previous one. 4406 previous one.
4396 4407
4397Topic exposure is marked with text-properties, to be used by 4408Topic exposure is marked with text-properties, to be used by
4398allout-yank-processing for exposure recovery." 4409`allout-yank-processing' for exposure recovery."
4399 4410
4400 (interactive) 4411 (interactive)
4401 (let* ((inhibit-field-text-motion t) 4412 (let* ((inhibit-field-text-motion t)
@@ -4426,7 +4437,7 @@ allout-yank-processing for exposure recovery."
4426 (run-hook-with-args 'allout-structure-deleted-hook depth (point)))) 4437 (run-hook-with-args 'allout-structure-deleted-hook depth (point))))
4427;;;_ > allout-copy-topic-as-kill () 4438;;;_ > allout-copy-topic-as-kill ()
4428(defun allout-copy-topic-as-kill () 4439(defun allout-copy-topic-as-kill ()
4429 "Like allout-kill-topic, but save to kill ring instead of deleting." 4440 "Like `allout-kill-topic', but save to kill ring instead of deleting."
4430 (interactive) 4441 (interactive)
4431 (let ((buffer-read-only t)) 4442 (let ((buffer-read-only t))
4432 (condition-case nil 4443 (condition-case nil
@@ -4451,7 +4462,7 @@ allout-yank-processing for exposure recovery."
4451 'invisible 4462 'invisible
4452 nil end)))) 4463 nil end))))
4453 (if (or (not next) (eq prev next)) 4464 (if (or (not next) (eq prev next))
4454 ;; still not at start of hidden area - must not be any left. 4465 ;; still not at start of hidden area -- must not be any left.
4455 (setq done t) 4466 (setq done t)
4456 (goto-char next) 4467 (goto-char next)
4457 (setq prev next) 4468 (setq prev next)
@@ -4492,7 +4503,7 @@ allout-yank-processing for exposure recovery."
4492 'allout-was-hidden 4503 'allout-was-hidden
4493 nil end))) 4504 nil end)))
4494 (if (or (not next) (eq prev next)) 4505 (if (or (not next) (eq prev next))
4495 ;; no more or not advancing - must not be any left. 4506 ;; no more or not advancing -- must not be any left.
4496 (setq done t) 4507 (setq done t)
4497 (goto-char next) 4508 (goto-char next)
4498 (setq prev next) 4509 (setq prev next)
@@ -4547,10 +4558,9 @@ however, are left exactly like normal, non-allout-specific yanks."
4547 ;; `rectify-numbering' if resituating (where several topics may 4558 ;; `rectify-numbering' if resituating (where several topics may
4548 ;; be resituating) or yanking a topic into a topic slot (bol): 4559 ;; be resituating) or yanking a topic into a topic slot (bol):
4549 (rectify-numbering (or resituate 4560 (rectify-numbering (or resituate
4550 (and into-bol 4561 (and into-bol (looking-at allout-regexp)))))
4551 (looking-at allout-regexp)))))
4552 (if resituate 4562 (if resituate
4553 ;; Yanking a topic into the start of a topic - reconcile to fit: 4563 ;; Yanking a topic into the start of a topic -- reconcile to fit:
4554 (let* ((inhibit-field-text-motion t) 4564 (let* ((inhibit-field-text-motion t)
4555 (prefix-len (if (not (match-end 1)) 4565 (prefix-len (if (not (match-end 1))
4556 1 4566 1
@@ -4690,7 +4700,7 @@ works with normal `yank' in non-outline buffers."
4690 4700
4691Adapts level of popped topics to level of fresh prefix. 4701Adapts level of popped topics to level of fresh prefix.
4692 4702
4693Note - prefix changes to distinctive bullets will stick, if followed 4703Note -- prefix changes to distinctive bullets will stick, if followed
4694by pops to non-distinctive yanks. Bug..." 4704by pops to non-distinctive yanks. Bug..."
4695 4705
4696 (interactive "*p") 4706 (interactive "*p")
@@ -4709,7 +4719,7 @@ by pops to non-distinctive yanks. Bug..."
4709 (interactive) 4719 (interactive)
4710 (if (not allout-file-xref-bullet) 4720 (if (not allout-file-xref-bullet)
4711 (error 4721 (error
4712 "Outline cross references disabled - no `allout-file-xref-bullet'") 4722 "Outline cross references disabled -- no `allout-file-xref-bullet'")
4713 (if (not (string= (allout-current-bullet) allout-file-xref-bullet)) 4723 (if (not (string= (allout-current-bullet) allout-file-xref-bullet))
4714 (error "Current heading lacks cross-reference bullet `%s'" 4724 (error "Current heading lacks cross-reference bullet `%s'"
4715 allout-file-xref-bullet) 4725 allout-file-xref-bullet)
@@ -4933,16 +4943,16 @@ Useful for coherently exposing to a random point in a hidden region."
4933 ))) 4943 )))
4934;;;_ > allout-show-current-subtree (&optional arg) 4944;;;_ > allout-show-current-subtree (&optional arg)
4935(defun allout-show-current-subtree (&optional arg) 4945(defun allout-show-current-subtree (&optional arg)
4936 "Show everything within the current topic. With a repeat-count, 4946 "Show everything within the current topic.
4937expose this topic and its siblings." 4947With a repeat-count, expose this topic and its siblings."
4938 (interactive "P") 4948 (interactive "P")
4939 (save-excursion 4949 (save-excursion
4940 (if (<= (allout-current-depth) 0) 4950 (if (<= (allout-current-depth) 0)
4941 ;; Outside any topics - try to get to the first: 4951 ;; Outside any topics -- try to get to the first:
4942 (if (not (allout-next-heading)) 4952 (if (not (allout-next-heading))
4943 (error "No topics") 4953 (error "No topics")
4944 ;; got to first, outermost topic - set to expose it and siblings: 4954 ;; got to first, outermost topic -- set to expose it and siblings:
4945 (message "Above outermost topic - exposing all.") 4955 (message "Above outermost topic -- exposing all.")
4946 (allout-flag-region (point-min)(point-max) nil)) 4956 (allout-flag-region (point-min)(point-max) nil))
4947 (allout-beginning-of-current-line) 4957 (allout-beginning-of-current-line)
4948 (if (not arg) 4958 (if (not arg)
@@ -4980,7 +4990,7 @@ siblings, even if the target topic is already closed."
4980 4990
4981 (interactive) 4991 (interactive)
4982 (let* ((from (point)) 4992 (let* ((from (point))
4983 (sibs-msg "Top-level topic already closed - closing siblings...") 4993 (sibs-msg "Top-level topic already closed -- closing siblings...")
4984 (current-exposed (not (allout-current-topic-collapsed-p t)))) 4994 (current-exposed (not (allout-current-topic-collapsed-p t))))
4985 (cond (current-exposed (allout-flag-current-subtree t)) 4995 (cond (current-exposed (allout-flag-current-subtree t))
4986 (just-close nil) 4996 (just-close nil)
@@ -5079,13 +5089,13 @@ Simple (numeric and null-list) specs are interpreted as follows:
5079 that level. 5089 that level.
5080 - positive numbers open to the relative depth indicated by the 5090 - positive numbers open to the relative depth indicated by the
5081 number, but do not force already opened subtopics to be closed. 5091 number, but do not force already opened subtopics to be closed.
5082 - 0 means to close topic - hide all offspring. 5092 - 0 means to close topic -- hide all offspring.
5083 : - `repeat' 5093 : - `repeat'
5084 apply prior element to all siblings at current level, *up to* 5094 apply prior element to all siblings at current level, *up to*
5085 those siblings that would be covered by specs following the `:' 5095 those siblings that would be covered by specs following the `:'
5086 on the list. Ie, apply to all topics at level but the last 5096 on the list. Ie, apply to all topics at level but the last
5087 ones. (Only first of multiple colons at same level is 5097 ones. (Only first of multiple colons at same level is
5088 respected - subsequent ones are discarded.) 5098 respected -- subsequent ones are discarded.)
5089 * - completely opens the topic, including bodies. 5099 * - completely opens the topic, including bodies.
5090 + - shows all the sub headers, but not the bodies 5100 + - shows all the sub headers, but not the bodies
5091 - - exposes the body of the corresponding topic. 5101 - - exposes the body of the corresponding topic.
@@ -5133,11 +5143,11 @@ Examples:
5133 ;; Expand the `repeat' spec to an explicit version, 5143 ;; Expand the `repeat' spec to an explicit version,
5134 ;; w.r.t. remaining siblings: 5144 ;; w.r.t. remaining siblings:
5135 (let ((residue ; = # of sibs not covered by remaining spec 5145 (let ((residue ; = # of sibs not covered by remaining spec
5136 ;; Dang - could be nice to make use of the chart, sigh: 5146 ;; Dang, could be nice to make use of the chart, sigh:
5137 (- (length (allout-chart-siblings)) 5147 (- (length (allout-chart-siblings))
5138 (length spec)))) 5148 (length spec))))
5139 (if (< 0 residue) 5149 (if (< 0 residue)
5140 ;; Some residue - cover it with prev-elem: 5150 ;; Some residue -- cover it with prev-elem:
5141 (setq spec (append (make-list residue prev-elem) 5151 (setq spec (append (make-list residue prev-elem)
5142 spec))))))) 5152 spec)))))))
5143 ((numberp curr-elem) 5153 ((numberp curr-elem)
@@ -5271,7 +5281,7 @@ Examples:
5271 (error "allout-new-exposure: Can't find any outline topics")) 5281 (error "allout-new-exposure: Can't find any outline topics"))
5272 (list 'allout-expose-topic (list 'quote spec)))) 5282 (list 'allout-expose-topic (list 'quote spec))))
5273 5283
5274;;;_ #7 Systematic outline presentation - copying, printing, flattening 5284;;;_ #7 Systematic outline presentation -- copying, printing, flattening
5275 5285
5276;;;_ - Mapping and processing of topics 5286;;;_ - Mapping and processing of topics
5277;;;_ ( See also Subtree Charting, in Navigation code.) 5287;;;_ ( See also Subtree Charting, in Navigation code.)
@@ -5359,12 +5369,12 @@ the subject region.
5359 5369
5360Optional START and END indicate bounds of region. 5370Optional START and END indicate bounds of region.
5361 5371
5362optional arg, FORMAT, designates an alternate presentation form for 5372Optional arg, FORMAT, designates an alternate presentation form for
5363the prefix: 5373the prefix:
5364 5374
5365 list - Present prefix as numeric section.subsection..., starting with 5375 list -- Present prefix as numeric section.subsection..., starting with
5366 section indicated by the list, innermost nesting first. 5376 section indicated by the list, innermost nesting first.
5367 `indent' (symbol) - Convert header prefixes to all white space, 5377 `indent' (symbol) -- Convert header prefixes to all white space,
5368 except for distinctive bullets. 5378 except for distinctive bullets.
5369 5379
5370The elements of the list produced are lists that represents a topic 5380The elements of the list produced are lists that represents a topic
@@ -5389,7 +5399,7 @@ header and body. The elements of that list are:
5389 (beginning-of-line) 5399 (beginning-of-line)
5390 ;; Goto initial topic, and register preceeding stuff, if any: 5400 ;; Goto initial topic, and register preceeding stuff, if any:
5391 (if (> (allout-goto-prefix-doublechecked) start) 5401 (if (> (allout-goto-prefix-doublechecked) start)
5392 ;; First topic follows beginning point - register preliminary stuff: 5402 ;; First topic follows beginning point -- register preliminary stuff:
5393 (setq result (list (list 0 "" nil 5403 (setq result (list (list 0 "" nil
5394 (buffer-substring start (1- (point))))))) 5404 (buffer-substring start (1- (point)))))))
5395 (while (and (not done) 5405 (while (and (not done)
@@ -5457,7 +5467,7 @@ header and body. The elements of that list are:
5457 (cond ((= new-depth depth) 5467 (cond ((= new-depth depth)
5458 (setq format (cons (1+ (car format)) 5468 (setq format (cons (1+ (car format))
5459 (cdr format)))) 5469 (cdr format))))
5460 ((> new-depth depth) ; descending - assume by 1: 5470 ((> new-depth depth) ; descending -- assume by 1:
5461 (setq format (cons 1 format))) 5471 (setq format (cons 1 format)))
5462 (t 5472 (t
5463 ; Pop the residue: 5473 ; Pop the residue:
@@ -5488,12 +5498,12 @@ Apply FUNCTION to exposed portions FROM position TO position in buffer
5488FROMBUF to buffer TOBUF. Sixth optional arg, FORMAT, designates an 5498FROMBUF to buffer TOBUF. Sixth optional arg, FORMAT, designates an
5489alternate presentation form: 5499alternate presentation form:
5490 5500
5491 `flat' - Present prefix as numeric section.subsection..., starting with 5501 `flat' -- Present prefix as numeric section.subsection..., starting with
5492 section indicated by the start-num, innermost nesting first. 5502 section indicated by the START-NUM, innermost nesting first.
5493 X`flat-indented' - Prefix is like `flat' for first topic at each 5503 X`flat-indented' -- Prefix is like `flat' for first topic at each
5494 X level, but subsequent topics have only leaf topic 5504 X level, but subsequent topics have only leaf topic
5495 X number, padded with blanks to line up with first. 5505 X number, padded with blanks to line up with first.
5496 `indent' (symbol) - Convert header prefixes to all white space, 5506 `indent' (symbol) -- Convert header prefixes to all white space,
5497 except for distinctive bullets. 5507 except for distinctive bullets.
5498 5508
5499Defaults: 5509Defaults:
@@ -5513,19 +5523,19 @@ Defaults:
5513 (setq from (point-min) to (point-max)))) 5523 (setq from (point-min) to (point-max))))
5514 (if frombuf 5524 (if frombuf
5515 (if (not (bufferp frombuf)) 5525 (if (not (bufferp frombuf))
5516 ;; Specified but not a buffer - get it: 5526 ;; Specified but not a buffer -- get it:
5517 (let ((got (get-buffer frombuf))) 5527 (let ((got (get-buffer frombuf)))
5518 (if (not got) 5528 (if (not got)
5519 (error (concat "allout-process-exposed: source buffer " 5529 (error (concat "allout-process-exposed: source buffer "
5520 frombuf 5530 frombuf
5521 " not found.")) 5531 " not found."))
5522 (setq frombuf got)))) 5532 (setq frombuf got))))
5523 ;; not specified - default it: 5533 ;; not specified -- default it:
5524 (setq frombuf (current-buffer))) 5534 (setq frombuf (current-buffer)))
5525 (if tobuf 5535 (if tobuf
5526 (if (not (bufferp tobuf)) 5536 (if (not (bufferp tobuf))
5527 (setq tobuf (get-buffer-create tobuf))) 5537 (setq tobuf (get-buffer-create tobuf)))
5528 ;; not specified - default it: 5538 ;; not specified -- default it:
5529 (setq tobuf (concat "*" (buffer-name frombuf) " exposed*"))) 5539 (setq tobuf (concat "*" (buffer-name frombuf) " exposed*")))
5530 (if (listp format) 5540 (if (listp format)
5531 (nreverse format)) 5541 (nreverse format))
@@ -5612,7 +5622,7 @@ alternate presentation format for the outline:
5612(defun allout-flatten-exposed-to-buffer (&optional arg tobuf) 5622(defun allout-flatten-exposed-to-buffer (&optional arg tobuf)
5613 "Present numeric outline of outline's exposed portions in another buffer. 5623 "Present numeric outline of outline's exposed portions in another buffer.
5614 5624
5615The resulting outline is not compatible with outline mode - use 5625The resulting outline is not compatible with outline mode -- use
5616`allout-copy-exposed-to-buffer' if you want that. 5626`allout-copy-exposed-to-buffer' if you want that.
5617 5627
5618Use `allout-indented-exposed-to-buffer' for indented presentation. 5628Use `allout-indented-exposed-to-buffer' for indented presentation.
@@ -5628,7 +5638,7 @@ used verbatim."
5628(defun allout-indented-exposed-to-buffer (&optional arg tobuf) 5638(defun allout-indented-exposed-to-buffer (&optional arg tobuf)
5629 "Present indented outline of outline's exposed portions in another buffer. 5639 "Present indented outline of outline's exposed portions in another buffer.
5630 5640
5631The resulting outline is not compatible with outline mode - use 5641The resulting outline is not compatible with outline mode -- use
5632`allout-copy-exposed-to-buffer' if you want that. 5642`allout-copy-exposed-to-buffer' if you want that.
5633 5643
5634Use `allout-flatten-exposed-to-buffer' for numeric sectional presentation. 5644Use `allout-flatten-exposed-to-buffer' for numeric sectional presentation.
@@ -5857,7 +5867,7 @@ encryption are encrypted. See allout-encrypt-unencrypted-on-saves for
5857auto-encryption specifics. 5867auto-encryption specifics.
5858 5868
5859\*NOTE WELL* that automatic encryption that happens during saves will 5869\*NOTE WELL* that automatic encryption that happens during saves will
5860default to symmetric encryption - you must deliberately (re)encrypt key-pair 5870default to symmetric encryption -- you must deliberately (re)encrypt key-pair
5861encrypted topics if you want them to continue to use the key-pair cipher. 5871encrypted topics if you want them to continue to use the key-pair cipher.
5862 5872
5863Level-one topics, with prefix consisting solely of an `*' asterisk, cannot be 5873Level-one topics, with prefix consisting solely of an `*' asterisk, cannot be
@@ -5944,7 +5954,7 @@ See `allout-toggle-current-subtree-encryption' for more details."
5944 subtree-end)) 5954 subtree-end))
5945 (subtree-end-char (char-after (1- subtree-end))) 5955 (subtree-end-char (char-after (1- subtree-end)))
5946 (subtree-trailing-char (char-after subtree-end)) 5956 (subtree-trailing-char (char-after subtree-end))
5947 ;; kluge - result-text needs to be nil, but we also want to 5957 ;; kluge -- result-text needs to be nil, but we also want to
5948 ;; check for the error condition 5958 ;; check for the error condition
5949 (result-text (if (or (string= "" subject-text) 5959 (result-text (if (or (string= "" subject-text)
5950 (string= "\n" subject-text)) 5960 (string= "\n" subject-text))
@@ -6031,18 +6041,19 @@ If DECRYPT is true (default false), then decrypt instead of encrypt.
6031 6041
6032FETCH-PASS (default false) forces fresh prompting for the passphrase. 6042FETCH-PASS (default false) forces fresh prompting for the passphrase.
6033 6043
6034KEY-TYPE indicates whether to use a 'symmetric or 'keypair cipher. 6044KEY-TYPE, either `symmetric' or `keypair', specifies which type
6045of cypher to use.
6035 6046
6036FOR-KEY is human readable identification of the first of the user's 6047FOR-KEY is human readable identification of the first of the user's
6037eligible secret keys a keypair decryption targets, or else nil. 6048eligible secret keys a keypair decryption targets, or else nil.
6038 6049
6039Optional RETRIED is for internal use - conveys the number of failed keys 6050Optional RETRIED is for internal use -- conveys the number of failed keys
6040that have been solicited in sequence leading to this current call. 6051that have been solicited in sequence leading to this current call.
6041 6052
6042Optional PASSPHRASE enables explicit delivery of the decryption passphrase, 6053Optional PASSPHRASE enables explicit delivery of the decryption passphrase,
6043for verification purposes. 6054for verification purposes.
6044 6055
6045Optional REJECTED is for internal use - conveys the number of 6056Optional REJECTED is for internal use -- conveys the number of
6046rejections due to matches against 6057rejections due to matches against
6047`allout-encryption-ciphertext-rejection-regexps', as limited by 6058`allout-encryption-ciphertext-rejection-regexps', as limited by
6048`allout-encryption-ciphertext-rejection-ceiling'. 6059`allout-encryption-ciphertext-rejection-ceiling'.
@@ -6140,15 +6151,15 @@ Returns the resulting string, or nil if the transformation fails."
6140 6151
6141 (if status 6152 (if status
6142 (pgg-situate-output (point-min) (point-max)) 6153 (pgg-situate-output (point-min) (point-max))
6143 ;; failed - handle passphrase caching 6154 ;; failed -- handle passphrase caching
6144 (if verifying 6155 (if verifying
6145 (throw 'encryption-failed nil) 6156 (throw 'encryption-failed nil)
6146 (pgg-remove-passphrase-from-cache target-cache-id t) 6157 (pgg-remove-passphrase-from-cache target-cache-id t)
6147 (error "Symmetric-cipher %scryption failed - %s" 6158 (error "Symmetric-cipher %scryption failed -- %s"
6148 (if decrypt "de" "en") 6159 (if decrypt "de" "en")
6149 "try again with different passphrase.")))) 6160 "try again with different passphrase"))))
6150 6161
6151 ;; encrypt 'keypair: 6162 ;; encrypt `keypair':
6152 ((not decrypt) 6163 ((not decrypt)
6153 6164
6154 (setq status 6165 (setq status
@@ -6161,7 +6172,7 @@ Returns the resulting string, or nil if the transformation fails."
6161 (error (pgg-remove-passphrase-from-cache target-cache-id t) 6172 (error (pgg-remove-passphrase-from-cache target-cache-id t)
6162 (error "encryption failed")))) 6173 (error "encryption failed"))))
6163 6174
6164 ;; decrypt 'keypair: 6175 ;; decrypt `keypair':
6165 (t 6176 (t
6166 6177
6167 (setq status 6178 (setq status
@@ -6177,7 +6188,7 @@ Returns the resulting string, or nil if the transformation fails."
6177 1 (- (point-max) (if decrypt 0 1)))) 6188 1 (- (point-max) (if decrypt 0 1))))
6178 ) 6189 )
6179 6190
6180 ;; validate result - non-empty 6191 ;; validate result -- non-empty
6181 (cond ((not result-text) 6192 (cond ((not result-text)
6182 (if verifying 6193 (if verifying
6183 nil 6194 nil
@@ -6213,7 +6224,7 @@ Returns the resulting string, or nil if the transformation fails."
6213 (string-match "[\C-a\C-k\C-o-\C-z\C-@]" 6224 (string-match "[\C-a\C-k\C-o-\C-z\C-@]"
6214 result-text)) 6225 result-text))
6215 (error (concat "Encryption produced non-armored text, which" 6226 (error (concat "Encryption produced non-armored text, which"
6216 "conflicts with allout mode - reconfigure!"))) 6227 "conflicts with allout mode -- reconfigure!")))
6217 6228
6218 ;; valid result and just verifying or non-symmetric: 6229 ;; valid result and just verifying or non-symmetric:
6219 ((or verifying (not (equal key-type 'symmetric))) 6230 ((or verifying (not (equal key-type 'symmetric)))
@@ -6222,7 +6233,7 @@ Returns the resulting string, or nil if the transformation fails."
6222 passphrase t)) 6233 passphrase t))
6223 result-text) 6234 result-text)
6224 6235
6225 ;; valid result and regular symmetric - "register" 6236 ;; valid result and regular symmetric -- "register"
6226 ;; passphrase with mnemonic aids/cache. 6237 ;; passphrase with mnemonic aids/cache.
6227 (t 6238 (t
6228 (set-buffer allout-buffer) 6239 (set-buffer allout-buffer)
@@ -6253,7 +6264,7 @@ CACHE-ID is the cache id of the key for the passphrase.
6253 6264
6254PROMPT-ID is the id for use when prompting the user. 6265PROMPT-ID is the id for use when prompting the user.
6255 6266
6256KEY-TYPE is either 'symmetric or 'keypair. 6267KEY-TYPE is either `symmetric' or `keypair'.
6257 6268
6258ALLOUT-BUFFER is the buffer containing the entry being en/decrypted. 6269ALLOUT-BUFFER is the buffer containing the entry being en/decrypted.
6259 6270
@@ -6316,7 +6327,7 @@ of the availability of a cached copy."
6316 (if (and (not confirmation) 6327 (if (and (not confirmation)
6317 (if (yes-or-no-p 6328 (if (yes-or-no-p
6318 (concat "Passphrase differs from established" 6329 (concat "Passphrase differs from established"
6319 " - use new one instead? ")) 6330 " -- use new one instead? "))
6320 ;; deactivate password for subsequent 6331 ;; deactivate password for subsequent
6321 ;; confirmation: 6332 ;; confirmation:
6322 (progn 6333 (progn
@@ -6326,11 +6337,11 @@ of the availability of a cached copy."
6326 t)) 6337 t))
6327 (progn (pgg-remove-passphrase-from-cache cache-id t) 6338 (progn (pgg-remove-passphrase-from-cache cache-id t)
6328 (error "Wrong passphrase.")))) 6339 (error "Wrong passphrase."))))
6329 ;; No verifier string - force confirmation by repetition of 6340 ;; No verifier string -- force confirmation by repetition of
6330 ;; (new) passphrase: 6341 ;; (new) passphrase:
6331 ((or fetch-pass (not cached)) 6342 ((or fetch-pass (not cached))
6332 (pgg-remove-passphrase-from-cache cache-id t)))) 6343 (pgg-remove-passphrase-from-cache cache-id t))))
6333 ;; confirmation vs new input - doing pgg-read-passphrase will do the 6344 ;; confirmation vs new input -- doing pgg-read-passphrase will do the
6334 ;; right thing, in either case: 6345 ;; right thing, in either case:
6335 (if (not confirmation) 6346 (if (not confirmation)
6336 (setq confirmation 6347 (setq confirmation
@@ -6341,7 +6352,7 @@ of the availability of a cached copy."
6341 (if (equal got-pass confirmation) 6352 (if (equal got-pass confirmation)
6342 confirmation 6353 confirmation
6343 (if (yes-or-no-p (concat "spelling of original and" 6354 (if (yes-or-no-p (concat "spelling of original and"
6344 " confirmation differ - retry? ")) 6355 " confirmation differ -- retry? "))
6345 (progn (setq retried (if retried (1+ retried) 1)) 6356 (progn (setq retried (if retried (1+ retried) 1))
6346 (pgg-remove-passphrase-from-cache cache-id t) 6357 (pgg-remove-passphrase-from-cache cache-id t)
6347 ;; recurse to this routine: 6358 ;; recurse to this routine:
@@ -6363,10 +6374,10 @@ of the availability of a cached copy."
6363(defun allout-encrypted-key-info (text) 6374(defun allout-encrypted-key-info (text)
6364 "Return a pair of the key type and identity of a recipient's secret key. 6375 "Return a pair of the key type and identity of a recipient's secret key.
6365 6376
6366The key type is one of 'symmetric or 'keypair. 6377The key type is one of `symmetric' or `keypair'.
6367 6378
6368if 'keypair, and some of the user's secret keys are among those for which 6379If `keypair', and some of the user's secret keys are among those for which
6369the message was encoded, return the identity of the first. otherwise, 6380the message was encoded, return the identity of the first. Otherwise,
6370return nil for the second item of the pair. 6381return nil for the second item of the pair.
6371 6382
6372An error is raised if the text is not encrypted." 6383An error is raised if the text is not encrypted."
@@ -6411,7 +6422,7 @@ An error is raised if the text is not encrypted."
6411See `allout-passphrase-verifier-string' and `allout-passphrase-hint-string' 6422See `allout-passphrase-verifier-string' and `allout-passphrase-hint-string'
6412settings. 6423settings.
6413 6424
6414PASSPHRASE is the passphrase being mnemonicized 6425PASSPHRASE is the passphrase being mnemonicized.
6415 6426
6416OUTLINE-BUFFER is the buffer of the outline being adjusted. 6427OUTLINE-BUFFER is the buffer of the outline being adjusted.
6417 6428
@@ -6489,7 +6500,7 @@ EXCEPT-MARK identifies a point whose containing topics should be excluded
6489from encryption. This supports 'except-current mode of 6500from encryption. This supports 'except-current mode of
6490`allout-encrypt-unencrypted-on-saves'. 6501`allout-encrypt-unencrypted-on-saves'.
6491 6502
6492Such a topic has the allout-topic-encryption-bullet without an 6503Such a topic has the `allout-topic-encryption-bullet' without an
6493immediately following '*' that would mark the topic as being encrypted. It 6504immediately following '*' that would mark the topic as being encrypted. It
6494must also have content." 6505must also have content."
6495 (let (done got content-beg) 6506 (let (done got content-beg)
@@ -6543,7 +6554,7 @@ must also have content."
6543 "Encrypt topics pending encryption except those containing exemption point. 6554 "Encrypt topics pending encryption except those containing exemption point.
6544 6555
6545EXCEPT-MARK identifies a point whose containing topics should be excluded 6556EXCEPT-MARK identifies a point whose containing topics should be excluded
6546from encryption. This supports 'except-current mode of 6557from encryption. This supports the `except-current' mode of
6547`allout-encrypt-unencrypted-on-saves'. 6558`allout-encrypt-unencrypted-on-saves'.
6548 6559
6549If a topic that is currently being edited was encrypted, we return a list 6560If a topic that is currently being edited was encrypted, we return a list
@@ -6611,7 +6622,7 @@ setup for auto-startup."
6611 (if (allout-goto-prefix) 6622 (if (allout-goto-prefix)
6612 t 6623 t
6613 (allout-open-topic 2) 6624 (allout-open-topic 2)
6614 (insert (concat "Dummy outline topic header - see" 6625 (insert (concat "Dummy outline topic header -- see"
6615 "`allout-mode' docstring: `^Hm'.")) 6626 "`allout-mode' docstring: `^Hm'."))
6616 (allout-adjust-file-variable 6627 (allout-adjust-file-variable
6617 "allout-layout" (or allout-layout '(-1 : 0)))))) 6628 "allout-layout" (or allout-layout '(-1 : 0))))))
@@ -6619,7 +6630,7 @@ setup for auto-startup."
6619(defun allout-file-vars-section-data () 6630(defun allout-file-vars-section-data ()
6620 "Return data identifying the file-vars section, or nil if none. 6631 "Return data identifying the file-vars section, or nil if none.
6621 6632
6622Returns list `(beginning-point prefix-string suffix-string)'." 6633Returns a list of the form (BEGINNING-POINT PREFIX-STRING SUFFIX-STRING)."
6623 ;; minimally gleaned from emacs 21.4 files.el hack-local-variables function. 6634 ;; minimally gleaned from emacs 21.4 files.el hack-local-variables function.
6624 (let (beg prefix suffix) 6635 (let (beg prefix suffix)
6625 (save-excursion 6636 (save-excursion
@@ -6721,7 +6732,7 @@ not its value."
6721 got) 6732 got)
6722 (dolist (sym configvar-value) 6733 (dolist (sym configvar-value)
6723 (if (not (boundp sym)) 6734 (if (not (boundp sym))
6724 (if (yes-or-no-p (format "%s entry `%s' is unbound - remove it? " 6735 (if (yes-or-no-p (format "%s entry `%s' is unbound -- remove it? "
6725 configvar-name sym)) 6736 configvar-name sym))
6726 (delq sym (symbol-value configvar-name))) 6737 (delq sym (symbol-value configvar-name)))
6727 (push (symbol-value sym) got))) 6738 (push (symbol-value sym) got)))
@@ -6768,7 +6779,7 @@ Optional arg DO-DEFAULTING indicates to accept empty input (CR)."
6768 string 6779 string
6769 "")) 6780 ""))
6770 nil)))) 6781 nil))))
6771 ;; got something out of loop - return it: 6782 ;; got something out of loop -- return it:
6772 got) 6783 got)
6773 ) 6784 )
6774;;;_ : Strings: 6785;;;_ : Strings:
@@ -6776,7 +6787,7 @@ Optional arg DO-DEFAULTING indicates to accept empty input (CR)."
6776(defun regexp-sans-escapes (regexp &optional successive-backslashes) 6787(defun regexp-sans-escapes (regexp &optional successive-backslashes)
6777 "Return a copy of REGEXP with all character escapes stripped out. 6788 "Return a copy of REGEXP with all character escapes stripped out.
6778 6789
6779Representations of actual backslashes - '\\\\\\\\' - are left as a 6790Representations of actual backslashes -- '\\\\\\\\' -- are left as a
6780single backslash. 6791single backslash.
6781 6792
6782Optional arg SUCCESSIVE-BACKSLASHES is used internally for recursion." 6793Optional arg SUCCESSIVE-BACKSLASHES is used internally for recursion."
@@ -6824,7 +6835,7 @@ If BEG is bigger than END we return 0."
6824 (cond ((null list) nil) 6835 (cond ((null list) nil)
6825 ((atom (car list)) (cons (car list) (allout-flatten (cdr list)))) 6836 ((atom (car list)) (cons (car list) (allout-flatten (cdr list))))
6826 (t (append (allout-flatten (car list)) (allout-flatten (cdr list)))))) 6837 (t (append (allout-flatten (car list)) (allout-flatten (cdr list))))))
6827;;;_ : Compatability: 6838;;;_ : Compatibility:
6828;;;_ > allout-mark-marker to accommodate divergent emacsen: 6839;;;_ > allout-mark-marker to accommodate divergent emacsen:
6829(defun allout-mark-marker (&optional force buffer) 6840(defun allout-mark-marker (&optional force buffer)
6830 "Accommodate the different signature for `mark-marker' across Emacsen. 6841 "Accommodate the different signature for `mark-marker' across Emacsen.
@@ -6876,7 +6887,7 @@ BEG and END default respectively to the beginning and end of buffer."
6876 (move-overlay o end (overlay-end o)) 6887 (move-overlay o end (overlay-end o))
6877 (delete-overlay o))))))) 6888 (delete-overlay o)))))))
6878 ) 6889 )
6879;;;_ > copy-overlay if necessary - xemacs ~ 21.4 6890;;;_ > copy-overlay if necessary -- xemacs ~ 21.4
6880(if (not (fboundp 'copy-overlay)) 6891(if (not (fboundp 'copy-overlay))
6881 (defun copy-overlay (o) 6892 (defun copy-overlay (o)
6882 "Return a copy of overlay O." 6893 "Return a copy of overlay O."
@@ -6888,7 +6899,7 @@ BEG and END default respectively to the beginning and end of buffer."
6888 (while props 6899 (while props
6889 (overlay-put o1 (pop props) (pop props))) 6900 (overlay-put o1 (pop props) (pop props)))
6890 o1))) 6901 o1)))
6891;;;_ > add-to-invisibility-spec if necessary - xemacs ~ 21.4 6902;;;_ > add-to-invisibility-spec if necessary -- xemacs ~ 21.4
6892(if (not (fboundp 'add-to-invisibility-spec)) 6903(if (not (fboundp 'add-to-invisibility-spec))
6893 (defun add-to-invisibility-spec (element) 6904 (defun add-to-invisibility-spec (element)
6894 "Add ELEMENT to `buffer-invisibility-spec'. 6905 "Add ELEMENT to `buffer-invisibility-spec'.
@@ -6898,14 +6909,14 @@ that can be added."
6898 (setq buffer-invisibility-spec (list t))) 6909 (setq buffer-invisibility-spec (list t)))
6899 (setq buffer-invisibility-spec 6910 (setq buffer-invisibility-spec
6900 (cons element buffer-invisibility-spec)))) 6911 (cons element buffer-invisibility-spec))))
6901;;;_ > remove-from-invisibility-spec if necessary - xemacs ~ 21.4 6912;;;_ > remove-from-invisibility-spec if necessary -- xemacs ~ 21.4
6902(if (not (fboundp 'remove-from-invisibility-spec)) 6913(if (not (fboundp 'remove-from-invisibility-spec))
6903 (defun remove-from-invisibility-spec (element) 6914 (defun remove-from-invisibility-spec (element)
6904 "Remove ELEMENT from `buffer-invisibility-spec'." 6915 "Remove ELEMENT from `buffer-invisibility-spec'."
6905 (if (consp buffer-invisibility-spec) 6916 (if (consp buffer-invisibility-spec)
6906 (setq buffer-invisibility-spec (delete element 6917 (setq buffer-invisibility-spec (delete element
6907 buffer-invisibility-spec))))) 6918 buffer-invisibility-spec)))))
6908;;;_ > move-beginning-of-line if necessary - older emacs, xemacs 6919;;;_ > move-beginning-of-line if necessary -- older emacs, xemacs
6909(if (not (fboundp 'move-beginning-of-line)) 6920(if (not (fboundp 'move-beginning-of-line))
6910 (defun move-beginning-of-line (arg) 6921 (defun move-beginning-of-line (arg)
6911 "Move point to beginning of current line as displayed. 6922 "Move point to beginning of current line as displayed.
@@ -6935,7 +6946,7 @@ To ignore intangibility, bind `inhibit-point-motion-hooks' to t."
6935 (skip-chars-backward "^\n")) 6946 (skip-chars-backward "^\n"))
6936 (vertical-motion 0)) 6947 (vertical-motion 0))
6937) 6948)
6938;;;_ > move-end-of-line if necessary - older emacs, xemacs 6949;;;_ > move-end-of-line if necessary -- older emacs, xemacs
6939(if (not (fboundp 'move-end-of-line)) 6950(if (not (fboundp 'move-end-of-line))
6940 (defun move-end-of-line (arg) 6951 (defun move-end-of-line (arg)
6941 "Move point to end of current line as displayed. 6952 "Move point to end of current line as displayed.
@@ -7004,7 +7015,7 @@ To ignore intangibility, bind `inhibit-point-motion-hooks' to t."
7004 (isearch-repeat 'forward) 7015 (isearch-repeat 'forward)
7005 (isearch-mode t))) 7016 (isearch-mode t)))
7006 7017
7007;;;_ #11 Unit tests - this should be last item before "Provide" 7018;;;_ #11 Unit tests -- this should be last item before "Provide"
7008;;;_ > allout-run-unit-tests () 7019;;;_ > allout-run-unit-tests ()
7009(defun allout-run-unit-tests () 7020(defun allout-run-unit-tests ()
7010 "Run the various allout unit tests." 7021 "Run the various allout unit tests."
@@ -7020,11 +7031,11 @@ To ignore intangibility, bind `inhibit-point-motion-hooks' to t."
7020 (while (boundp name) (makunbound name))) 7031 (while (boundp name) (makunbound name)))
7021;;;_ > allout-test-resumptions () 7032;;;_ > allout-test-resumptions ()
7022(defvar allout-tests-globally-unbound nil 7033(defvar allout-tests-globally-unbound nil
7023 "Fodder for allout resumptions tests - defvar just for byte compiler.") 7034 "Fodder for allout resumptions tests -- defvar just for byte compiler.")
7024(defvar allout-tests-globally-true nil 7035(defvar allout-tests-globally-true nil
7025 "Fodder for allout resumptions tests - defvar just just for byte compiler.") 7036 "Fodder for allout resumptions tests -- defvar just for byte compiler.")
7026(defvar allout-tests-locally-true nil 7037(defvar allout-tests-locally-true nil
7027 "Fodder for allout resumptions tests - defvar just for byte compiler.") 7038 "Fodder for allout resumptions tests -- defvar just for byte compiler.")
7028(defun allout-test-resumptions () 7039(defun allout-test-resumptions ()
7029 "Exercise allout resumptions." 7040 "Exercise allout resumptions."
7030 ;; for each resumption case, we also test that the right local/global 7041 ;; for each resumption case, we also test that the right local/global
@@ -7060,10 +7071,10 @@ To ignore intangibility, bind `inhibit-point-motion-hooks' to t."
7060 (allout-tests-obliterate-variable 'allout-tests-locally-true) 7071 (allout-tests-obliterate-variable 'allout-tests-locally-true)
7061 (set (make-local-variable 'allout-tests-locally-true) t) 7072 (set (make-local-variable 'allout-tests-locally-true) t)
7062 (assert (not (default-boundp 'allout-tests-locally-true)) 7073 (assert (not (default-boundp 'allout-tests-locally-true))
7063 nil (concat "Test setup mistake - variable supposed to" 7074 nil (concat "Test setup mistake -- variable supposed to"
7064 " not have global binding, but it does.")) 7075 " not have global binding, but it does."))
7065 (assert (local-variable-p 'allout-tests-locally-true) 7076 (assert (local-variable-p 'allout-tests-locally-true)
7066 nil (concat "Test setup mistake - variable supposed to have" 7077 nil (concat "Test setup mistake -- variable supposed to have"
7067 " local binding, but it lacks one.")) 7078 " local binding, but it lacks one."))
7068 (allout-add-resumptions '(allout-tests-locally-true nil)) 7079 (allout-add-resumptions '(allout-tests-locally-true nil))
7069 (assert (not (default-boundp 'allout-tests-locally-true))) 7080 (assert (not (default-boundp 'allout-tests-locally-true)))
diff --git a/lisp/lpr.el b/lisp/lpr.el
index 8f4a8679338..9e9de8c4bb9 100644
--- a/lisp/lpr.el
+++ b/lisp/lpr.el
@@ -47,7 +47,7 @@
47 47
48;;;###autoload 48;;;###autoload
49(defcustom printer-name 49(defcustom printer-name
50 (and lpr-windows-system "PRN") 50 (and (memq system-type '(emx ms-dos)) "PRN")
51 "*The name of a local printer to which data is sent for printing. 51 "*The name of a local printer to which data is sent for printing.
52\(Note that PostScript files are sent to `ps-printer-name', which see.\) 52\(Note that PostScript files are sent to `ps-printer-name', which see.\)
53 53
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index 21a5593c659..55128933259 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -1820,8 +1820,11 @@ See documentation of variable `tags-file-name'."
1820Third arg DELIMITED (prefix arg) means replace only word-delimited matches. 1820Third arg DELIMITED (prefix arg) means replace only word-delimited matches.
1821If you exit (\\[keyboard-quit], RET or q), you can resume the query replace 1821If you exit (\\[keyboard-quit], RET or q), you can resume the query replace
1822with the command \\[tags-loop-continue]. 1822with the command \\[tags-loop-continue].
1823Fourth arg FILE-LIST-FORM non-nil means initialize the replacement loop.
1824Fifth and sixth arguments START and END are accepted, for compatibility
1825with `query-replace-regexp', and ignored.
1823 1826
1824See documentation of variable `tags-file-name'." 1827See also documentation of the variable `tags-file-name'."
1825 (interactive (query-replace-read-args "Tags query replace (regexp)" t t)) 1828 (interactive (query-replace-read-args "Tags query replace (regexp)" t t))
1826 (setq tags-loop-scan `(let ,(unless (equal from (downcase from)) 1829 (setq tags-loop-scan `(let ,(unless (equal from (downcase from))
1827 '((case-fold-search nil))) 1830 '((case-fold-search nil)))
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index eae10770011..3e29f9732b2 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -435,11 +435,11 @@ otherwise do not."
435 (output 435 (output
436 (with-output-to-string 436 (with-output-to-string
437 (with-current-buffer standard-output 437 (with-current-buffer standard-output
438 (call-process shell-file-name 438 (and file (file-exists-p file)
439 (if (file-exists-p file) file nil) 439 (call-process shell-file-name file
440 (list t nil) nil "-c" 440 (list t nil) nil "-c"
441 (concat gdb-cpp-define-alist-program " " 441 (concat gdb-cpp-define-alist-program " "
442 gdb-cpp-define-alist-flags))))) 442 gdb-cpp-define-alist-flags))))))
443 (define-list (split-string output "\n" t)) (name)) 443 (define-list (split-string output "\n" t)) (name))
444 (setq gdb-define-alist nil) 444 (setq gdb-define-alist nil)
445 (dolist (define define-list) 445 (dolist (define define-list)