aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarl Heuer1996-07-13 18:46:08 +0000
committerKarl Heuer1996-07-13 18:46:08 +0000
commit353e2ef2de43969fd389f3f62ed5c146850ae457 (patch)
tree247299769da3a809db997bcb268d45decf95d0be
parentfa29cfef7cb8410e8288fe0fea70524cc8b59342 (diff)
downloademacs-353e2ef2de43969fd389f3f62ed5c146850ae457.tar.gz
emacs-353e2ef2de43969fd389f3f62ed5c146850ae457.zip
(outline-auto-activation, outline-layout)
(outline-primary-bullet, outline-plain-bullets-string) (outline-distinctive-bullets-string, outline-old-style-prefixes) (outline-stylish-prefixes, outline-file-xref-bullet) (outline-use-hanging-indents, outline-bullets-string) (outline-write-file-hook, outline-mode, outline-prefix-data) (outline-before-change-protect, outline-make-topic-prefix) (outline-rebullet-current-heading, outline-rebullet-heading) (outline-listify-exposed, outline-expose-topic) (outline-old-expose-topic, outline-exposure) (outline-latex-verbatim-quote-curr-line) (outline-show-current-subtree, outline-hide-current-subtree) (outline-hide-current-leaves, outline-new-exposure): Doc fix.
-rw-r--r--lisp/allout.el251
1 files changed, 125 insertions, 126 deletions
diff --git a/lisp/allout.el b/lisp/allout.el
index 9d3bfc6830e..a38b9fca4c2 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -33,19 +33,19 @@
33;; supporting outline structuring and manipulation of syntax- 33;; supporting outline structuring and manipulation of syntax-
34;; sensitive text, eg programming languages. (For an example, see the 34;; sensitive text, eg programming languages. (For an example, see the
35;; allout code itself, which is organized in outline structure.) 35;; allout code itself, which is organized in outline structure.)
36;; 36;;
37;; It also includes such things as topic-oriented repositioning, cut, and 37;; It also includes such things as topic-oriented repositioning, cut, and
38;; paste; integral outline exposure-layout; incremental search with 38;; paste; integral outline exposure-layout; incremental search with
39;; dynamic exposure/concealment of concealed text; automatic topic-number 39;; dynamic exposure/concealment of concealed text; automatic topic-number
40;; maintenance; and many other features. 40;; maintenance; and many other features.
41;; 41;;
42;; See the docstring of the variables `outline-layout' and 42;; See the docstring of the variables `outline-layout' and
43;; `outline-auto-activation' for details on automatic activation of 43;; `outline-auto-activation' for details on automatic activation of
44;; allout outline-mode as a minor mode. (It has changed since allout 44;; allout outline-mode as a minor mode. (It has changed since allout
45;; 3.x, for those of you that depend on the old method.) 45;; 3.x, for those of you that depend on the old method.)
46;; 46;;
47;; Note - the lines beginning with ';;;_' are outline topic headers. 47;; Note - the lines beginning with `;;;_' are outline topic headers.
48;; Just 'ESC-x eval-current-buffer' to give it a whirl. 48;; Just `ESC-x eval-current-buffer' to give it a whirl.
49 49
50;;Ken Manheimer 301 975-3539 50;;Ken Manheimer 301 975-3539
51;;ken.manheimer@nist.gov FAX: 301 963-9137 51;;ken.manheimer@nist.gov FAX: 301 963-9137
@@ -80,8 +80,8 @@ With value `t', auto-mode-activation and auto-layout are enabled.
80With value `ask', auto-mode-activation is enabled, and endorsement for 80With value `ask', auto-mode-activation is enabled, and endorsement for
81performing auto-layout is asked of the user each time. 81performing auto-layout is asked of the user each time.
82 82
83With value `activate', only auto-mode-activation is enabled, auto- 83With value `activate', only auto-mode-activation is enabled,
84layout is not. 84auto-layout is not.
85 85
86With value `nil', neither auto-mode-activation nor auto-layout are 86With value `nil', neither auto-mode-activation nor auto-layout are
87enabled. 87enabled.
@@ -95,9 +95,9 @@ this variable.")
95Buffer-specific. 95Buffer-specific.
96 96
97A list value specifies a default layout for the current buffer, to be 97A list value specifies a default layout for the current buffer, to be
98applied upon activation of allout outline-mode. Any non-nil value 98applied upon activation of allout outline-mode. Any non-nil value will
99will automatically trigger allout outline-mode, provided `outline- 99automatically trigger allout outline-mode, provided `outline-init'
100init' has been called to enable it. 100has been called to enable it.
101 101
102See the docstring for `outline-init' for details on setting up for 102See the docstring for `outline-init' for details on setting up for
103auto-mode-activation, and for `outline-expose-topic' for the format of 103auto-mode-activation, and for `outline-expose-topic' for the format of
@@ -116,10 +116,9 @@ activated when the file is visited, followed by the equivalent of
116`\(outline-expose-topic 0 : -1 -1 0\)'. \(This is the layout used for 116`\(outline-expose-topic 0 : -1 -1 0\)'. \(This is the layout used for
117the allout.el, itself.) 117the allout.el, itself.)
118 118
119Also, allout's mode-specific provisions will make topic prefixes 119Also, allout's mode-specific provisions will make topic prefixes default
120default to the comment-start string, if any, of the language of the 120to the comment-start string, if any, of the language of the file. This
121file. This is modulo the setting of `outline-use-mode-specific- 121is modulo the setting of `outline-use-mode-specific-leader', which see.")
122leader', which see.")
123(make-variable-buffer-local 'outline-layout) 122(make-variable-buffer-local 'outline-layout)
124 123
125;;;_ = outline-header-prefix 124;;;_ = outline-header-prefix
@@ -140,7 +139,7 @@ Outline topic header lines are identified by a leading topic header
140prefix, which is concluded by bullets that includes the value of this 139prefix, which is concluded by bullets that includes the value of this
141var and the respective outline-*-bullets-string vars. 140var and the respective outline-*-bullets-string vars.
142 141
143The value of an asterisk ('*') provides for backwards compatibility 142The value of an asterisk (`*') provides for backwards compatibility
144with the original emacs outline mode. See outline-plain-bullets-string 143with the original emacs outline mode. See outline-plain-bullets-string
145and outline-distinctive-bullets-string for the range of available 144and outline-distinctive-bullets-string for the range of available
146bullets.") 145bullets.")
@@ -150,10 +149,10 @@ bullets.")
150 "+-:.;,") 149 "+-:.;,")
151 "*The bullets normally used in outline topic prefixes. 150 "*The bullets normally used in outline topic prefixes.
152 151
153See 'outline-distinctive-bullets-string' for the other kind of 152See `outline-distinctive-bullets-string' for the other kind of
154bullets. 153bullets.
155 154
156DO NOT include the close-square-bracket, ']', as a bullet. 155DO NOT include the close-square-bracket, `]', as a bullet.
157 156
158Outline mode has to be reactivated in order for changes to the value 157Outline mode has to be reactivated in order for changes to the value
159of this var to take effect.") 158of this var to take effect.")
@@ -167,10 +166,10 @@ rotation, and are not altered by automatic rebulleting, as when
167shifting the level of a topic. See `outline-plain-bullets-string' for 166shifting the level of a topic. See `outline-plain-bullets-string' for
168the selection of alternating bullets. 167the selection of alternating bullets.
169 168
170You must run 'set-outline-regexp' in order for changes 169You must run `set-outline-regexp' in order for changes
171to the value of this var to effect outline-mode operation. 170to the value of this var to effect outline-mode operation.
172 171
173DO NOT include the close-square-bracket, ']', on either of the bullet 172DO NOT include the close-square-bracket, `]', on either of the bullet
174strings.") 173strings.")
175(make-variable-buffer-local 'outline-distinctive-bullets-string) 174(make-variable-buffer-local 'outline-distinctive-bullets-string)
176 175
@@ -180,7 +179,7 @@ strings.")
180 179
181Allout outline mode will use the mode-specific `outline-mode-leaders' 180Allout outline mode will use the mode-specific `outline-mode-leaders'
182and/or comment-start string, if any, to lead the topic prefix string, 181and/or comment-start string, if any, to lead the topic prefix string,
183so topic headers look like comments in the programming language. 182so topic headers look like comments in the programming language.
184 183
185String values are used as they stand. 184String values are used as they stand.
186 185
@@ -194,12 +193,12 @@ Set to the symbol for either of `outline-mode-leaders' or
194Value `nil' means to always use the default \(`.'\). 193Value `nil' means to always use the default \(`.'\).
195 194
196comment-start strings that do not end in spaces are tripled, and an 195comment-start strings that do not end in spaces are tripled, and an
197'_' underscore is tacked on the end, to distinguish them from regular 196`_' underscore is tacked on the end, to distinguish them from regular
198comment strings. comment-start strings that do end in spaces are not 197comment strings. comment-start strings that do end in spaces are not
199tripled, but an underscore is substituted for the space. \[This 198tripled, but an underscore is substituted for the space. [This
200presumes that the space is for appearance, not comment syntax. You 199presumes that the space is for appearance, not comment syntax. You
201can use `outline-mode-leaders' to override this behavior, when 200can use `outline-mode-leaders' to override this behavior, when
202incorrect.\]") 201incorrect.]")
203;;;_ = outline-mode-leaders 202;;;_ = outline-mode-leaders
204(defvar outline-mode-leaders '() 203(defvar outline-mode-leaders '()
205 "Specific outline-prefix leading strings per major modes. 204 "Specific outline-prefix leading strings per major modes.
@@ -214,7 +213,7 @@ from regular comments that start at bol.")
214 213
215;;;_ = outline-old-style-prefixes 214;;;_ = outline-old-style-prefixes
216(defvar outline-old-style-prefixes nil 215(defvar outline-old-style-prefixes nil
217 "*When non-nil, use only old-and-crusty outline-mode '*' topic prefixes. 216 "*When non-nil, use only old-and-crusty outline-mode `*' topic prefixes.
218 217
219Non-nil restricts the topic creation and modification 218Non-nil restricts the topic creation and modification
220functions to asterix-padded prefixes, so they look exactly 219functions to asterix-padded prefixes, so they look exactly
@@ -230,7 +229,7 @@ are always respected by the topic maneuvering functions.")
230Non-nil enables topic creation, modification, and repositioning 229Non-nil enables topic creation, modification, and repositioning
231functions to vary the topic bullet char (the char that marks the topic 230functions to vary the topic bullet char (the char that marks the topic
232depth) just preceding the start of the topic text) according to level. 231depth) just preceding the start of the topic text) according to level.
233Otherwise, only asterisks ('*') and distinctive bullets are used. 232Otherwise, only asterisks (`*') and distinctive bullets are used.
234 233
235This is how an outline can look (but sans indentation) with stylish 234This is how an outline can look (but sans indentation) with stylish
236prefixes: 235prefixes:
@@ -282,11 +281,11 @@ disables numbering maintenance.")
282 "*Bullet signifying file cross-references, for `outline-resolve-xref'. 281 "*Bullet signifying file cross-references, for `outline-resolve-xref'.
283 282
284Set this var to the bullet you want to use for file cross-references. 283Set this var to the bullet you want to use for file cross-references.
285Set it 'nil' if you want to inhibit this capability.") 284Set it to nil if you want to inhibit this capability.")
286 285
287;;;_ + LaTeX formatting 286;;;_ + LaTeX formatting
288;;;_ - outline-number-pages 287;;;_ - outline-number-pages
289(defvar outline-number-pages nil 288(defvar outline-number-pages nil
290 "*Non-nil turns on page numbering for LaTeX formatting of an outline.") 289 "*Non-nil turns on page numbering for LaTeX formatting of an outline.")
291;;;_ - outline-label-style 290;;;_ - outline-label-style
292(defvar outline-label-style "\\large\\bf" 291(defvar outline-label-style "\\large\\bf"
@@ -314,7 +313,7 @@ formatted copy.")
314;;;_ + Miscellaneous customization 313;;;_ + Miscellaneous customization
315 314
316;;;_ = outline-keybindings-list 315;;;_ = outline-keybindings-list
317;;; You have to reactivate outline-mode - '(outline-mode t)' - to 316;;; You have to reactivate outline-mode - `(outline-mode t)' - to
318;;; institute changes to this var. 317;;; institute changes to this var.
319(defvar outline-keybindings-list () 318(defvar outline-keybindings-list ()
320 "*List of outline-mode key / function bindings. 319 "*List of outline-mode key / function bindings.
@@ -379,8 +378,8 @@ Ie, it is indented to be just past the header prefix. This is
379relevant mostly for use with indented-text-mode, or other situations 378relevant mostly for use with indented-text-mode, or other situations
380where auto-fill occurs. 379where auto-fill occurs.
381 380
382[This feature no longer depends in any way on the 'filladapt.el' 381\[This feature no longer depends in any way on the `filladapt.el'
383lisp-archive package.]") 382lisp-archive package.\]")
384(make-variable-buffer-local 'outline-use-hanging-indents) 383(make-variable-buffer-local 'outline-use-hanging-indents)
385 384
386;;;_ = outline-reindent-bodies 385;;;_ = outline-reindent-bodies
@@ -444,9 +443,9 @@ by set-outline-regexp.")
444(defvar outline-bullets-string "" 443(defvar outline-bullets-string ""
445 "A string dictating the valid set of outline topic bullets. 444 "A string dictating the valid set of outline topic bullets.
446 445
447This var should *not* be set by the user - it is set by 'set-outline-regexp', 446This var should *not* be set by the user - it is set by `set-outline-regexp',
448and is produced from the elements of 'outline-plain-bullets-string' 447and is produced from the elements of `outline-plain-bullets-string'
449and 'outline-distinctive-bullets-string'.") 448and `outline-distinctive-bullets-string'.")
450(make-variable-buffer-local 'outline-bullets-string) 449(make-variable-buffer-local 'outline-bullets-string)
451;;;_ = outline-bullets-string-len 450;;;_ = outline-bullets-string-len
452(defvar outline-bullets-string-len 0 451(defvar outline-bullets-string-len 0
@@ -457,7 +456,7 @@ and 'outline-distinctive-bullets-string'.")
457 "Outline-regexp with outline-style beginning-of-line anchor. 456 "Outline-regexp with outline-style beginning-of-line anchor.
458 457
459\(Ie, C-j, *or* C-m, for prefixes of hidden topics). This is properly 458\(Ie, C-j, *or* C-m, for prefixes of hidden topics). This is properly
460set when outline-regexp is produced by 'set-outline-regexp', so 459set when outline-regexp is produced by `set-outline-regexp', so
461that (match-beginning 2) and (match-end 2) delimit the prefix.") 460that (match-beginning 2) and (match-end 2) delimit the prefix.")
462(make-variable-buffer-local 'outline-line-boundary-regexp) 461(make-variable-buffer-local 'outline-line-boundary-regexp)
463;;;_ = outline-bob-regexp 462;;;_ = outline-bob-regexp
@@ -530,7 +529,7 @@ invoking it directly."
530 (and (memq use-leader '(t comment-start)) 529 (and (memq use-leader '(t comment-start))
531 comment-start 530 comment-start
532 ;; Use comment-start, maybe tripled, and with 531 ;; Use comment-start, maybe tripled, and with
533 ;; underscore: 532 ;; underscore:
534 (concat 533 (concat
535 (if (string= " " 534 (if (string= " "
536 (substring comment-start 535 (substring comment-start
@@ -630,12 +629,12 @@ See doc string for outline-keybindings-list for format of binding list."
630 keymap-list) 629 keymap-list)
631 map)) 630 map))
632;;;_ = outline-prior-bindings - being deprecated. 631;;;_ = outline-prior-bindings - being deprecated.
633(defvar outline-prior-bindings nil 632(defvar outline-prior-bindings nil
634 "Variable for use in V18, with outline-added-bindings, for 633 "Variable for use in V18, with outline-added-bindings, for
635resurrecting, on mode deactivation, bindings that existed before 634resurrecting, on mode deactivation, bindings that existed before
636activation. Being deprecated.") 635activation. Being deprecated.")
637;;;_ = outline-added-bindings - being deprecated 636;;;_ = outline-added-bindings - being deprecated
638(defvar outline-added-bindings nil 637(defvar outline-added-bindings nil
639 "Variable for use in V18, with outline-prior-bindings, for 638 "Variable for use in V18, with outline-prior-bindings, for
640resurrecting, on mode deactivation, bindings that existed before 639resurrecting, on mode deactivation, bindings that existed before
641activation. Being deprecated.") 640activation. Being deprecated.")
@@ -658,7 +657,7 @@ can distinguish nil vs no value), and the registration is popped
658from the list." 657from the list."
659 658
660 (let ((on-list (assq name outline-mode-prior-settings)) 659 (let ((on-list (assq name outline-mode-prior-settings))
661 prior-capsule ; By 'capsule' i mean a list 660 prior-capsule ; By `capsule' i mean a list
662 ; containing a value, so we can 661 ; containing a value, so we can
663 ; distinguish nil from no value. 662 ; distinguish nil from no value.
664 ) 663 )
@@ -721,7 +720,7 @@ It's automatically reset to nil after every buffer modification.")
721(make-variable-buffer-local 'outline-override-protect) 720(make-variable-buffer-local 'outline-override-protect)
722;;;_ > outline-unprotected (expr) 721;;;_ > outline-unprotected (expr)
723(defmacro outline-unprotected (expr) 722(defmacro outline-unprotected (expr)
724 "Evaluate EXPRESSION with `outline-override-protect' let-bound 't'." 723 "Evaluate EXPRESSION with `outline-override-protect' let-bound to t."
725 (` (let ((outline-override-protect t)) 724 (` (let ((outline-override-protect t))
726 (, expr)))) 725 (, expr))))
727;;;_ = outline-undo-aggregation 726;;;_ = outline-undo-aggregation
@@ -740,8 +739,8 @@ to track repeats.")
740(defun outline-write-file-hook () 739(defun outline-write-file-hook ()
741 "In outline mode, run as a local-write-file-hooks activity. 740 "In outline mode, run as a local-write-file-hooks activity.
742 741
743Currently just sets 'outline-during-write-cue', so outline-change- 742Currently just sets `outline-during-write-cue', so outline-change-protection
744protection knows to keep inactive during file write." 743knows to keep inactive during file write."
745 (setq outline-during-write-cue t) 744 (setq outline-during-write-cue t)
746 nil) 745 nil)
747 746
@@ -764,11 +763,11 @@ So outline-post-command-business should not reactivate it...")
764 763
765MODE is one of the following symbols: 764MODE is one of the following symbols:
766 765
767 - nil \(or no argument) deactivate auto-activation/layou; 766 - nil \(or no argument) deactivate auto-activation/layout;
768 - 'activate', enable auto-activation only; 767 - `activate', enable auto-activation only;
769 - 'ask', enable auto-activation, and enable auto-layout but with 768 - `ask', enable auto-activation, and enable auto-layout but with
770 confirmation for layout operation solicited from user each time; 769 confirmation for layout operation solicited from user each time;
771 - 'report', just report and return the current auto-activation state; 770 - `report', just report and return the current auto-activation state;
772 - anything else \(eg, t) for auto-activation and auto-layout, without 771 - anything else \(eg, t) for auto-activation and auto-layout, without
773 any confirmation check. 772 any confirmation check.
774 773
@@ -805,7 +804,7 @@ the following two lines in your emacs init file:
805 ;; convenience aliases, for consistent ref to respective vars: 804 ;; convenience aliases, for consistent ref to respective vars:
806 ((hook 'outline-find-file-hook) 805 ((hook 'outline-find-file-hook)
807 (curr-mode 'outline-auto-activation)) 806 (curr-mode 'outline-auto-activation))
808 807
809 (cond ((not mode) 808 (cond ((not mode)
810 (setq find-file-hooks (delq hook find-file-hooks)) 809 (setq find-file-hooks (delq hook find-file-hooks))
811 (if (interactive-p) 810 (if (interactive-p)
@@ -816,7 +815,7 @@ the following two lines in your emacs init file:
816 ;; Just punt and use the reports from each of the modes: 815 ;; Just punt and use the reports from each of the modes:
817 (outline-init (symbol-value curr-mode)))) 816 (outline-init (symbol-value curr-mode))))
818 (t (add-hook 'find-file-hooks hook) 817 (t (add-hook 'find-file-hooks hook)
819 (set curr-mode ; 'set', not 'setq'! 818 (set curr-mode ; `set', not `setq'!
820 (cond ((eq mode 'activate) 819 (cond ((eq mode 'activate)
821 (message 820 (message
822 "Outline mode auto-activation enabled.") 821 "Outline mode auto-activation enabled.")
@@ -832,7 +831,7 @@ the following two lines in your emacs init file:
832 ((message 831 ((message
833 "Outline mode auto-activation and -layout enabled.") 832 "Outline mode auto-activation and -layout enabled.")
834 'full))))))) 833 'full)))))))
835 834
836;;;_ > outline-mode (&optional toggle) 835;;;_ > outline-mode (&optional toggle)
837;;;_ : Defun: 836;;;_ : Defun:
838(defun outline-mode (&optional toggle) 837(defun outline-mode (&optional toggle)
@@ -884,7 +883,7 @@ C-c , outline-open-supertopic ... a sibling of the current topic's parent.
884 --------------------------------- 883 ---------------------------------
885C-c > outline-shift-in Shift current topic and all offspring deeper. 884C-c > outline-shift-in Shift current topic and all offspring deeper.
886C-c < outline-shift-out ... less deep. 885C-c < outline-shift-out ... less deep.
887C-c<CR> outline-rebullet-topic Reconcile bullets of topic and its' offspring 886C-c<CR> outline-rebullet-topic Reconcile bullets of topic and its offspring
888 - distinctive bullets are not changed, others 887 - distinctive bullets are not changed, others
889 alternated according to nesting depth. 888 alternated according to nesting depth.
890C-c * outline-rebullet-current-heading Prompt for alternate bullet for 889C-c * outline-rebullet-current-heading Prompt for alternate bullet for
@@ -962,11 +961,11 @@ CHILDREN:
962 The immediate offspring of a topic. 961 The immediate offspring of a topic.
963SIBLINGS: 962SIBLINGS:
964 Topics having the same parent and depth. 963 Topics having the same parent and depth.
965 964
966Topic text constituents: 965Topic text constituents:
967 966
968HEADER: The first line of a topic, include the topic PREFIX and header 967HEADER: The first line of a topic, include the topic PREFIX and header
969 text. 968 text.
970PREFIX: The leading text of a topic which which distinguishes it from 969PREFIX: The leading text of a topic which which distinguishes it from
971 normal text. It has a strict form, which consists of a 970 normal text. It has a strict form, which consists of a
972 prefix-lead string, padding, and a bullet. The bullet may be 971 prefix-lead string, padding, and a bullet. The bullet may be
@@ -976,7 +975,7 @@ PREFIX: The leading text of a topic which which distinguishes it from
976 The relative length of the PREFIX determines the nesting depth 975 The relative length of the PREFIX determines the nesting depth
977 of the topic. 976 of the topic.
978PREFIX-LEAD: 977PREFIX-LEAD:
979 The string at the beginning of a topic prefix, normally a '.'. 978 The string at the beginning of a topic prefix, normally a `.'.
980 It can be customized by changing the setting of 979 It can be customized by changing the setting of
981 `outline-header-prefix' and then reinitializing outline-mode. 980 `outline-header-prefix' and then reinitializing outline-mode.
982 981
@@ -989,8 +988,8 @@ PREFIX-PADDING:
989 Spaces or asterisks which separate the prefix-lead and the 988 Spaces or asterisks which separate the prefix-lead and the
990 bullet, according to the depth of the topic. 989 bullet, according to the depth of the topic.
991BULLET: A character at the end of the topic prefix, it must be one of 990BULLET: A character at the end of the topic prefix, it must be one of
992 the characters listed on 'outline-plain-bullets-string' or 991 the characters listed on `outline-plain-bullets-string' or
993 'outline-distinctive-bullets-string'. (See the documentation 992 `outline-distinctive-bullets-string'. (See the documentation
994 for these variables for more details.) The default choice of 993 for these variables for more details.) The default choice of
995 bullet when generating varies in a cycle with the depth of the 994 bullet when generating varies in a cycle with the depth of the
996 topic. 995 topic.
@@ -1000,21 +999,21 @@ BODY: Same as ENTRY.
1000 999
1001EXPOSURE: 1000EXPOSURE:
1002 The state of a topic which determines the on-screen visibility 1001 The state of a topic which determines the on-screen visibility
1003 of its' offspring and contained text. 1002 of its offspring and contained text.
1004CONCEALED: 1003CONCEALED:
1005 Topics and entry text whose display is inhibited. Contiguous 1004 Topics and entry text whose display is inhibited. Contiguous
1006 units of concealed text is represented by '...' ellipses. 1005 units of concealed text is represented by `...' ellipses.
1007 (Ref the 'selective-display' var.) 1006 (Ref the `selective-display' var.)
1008 1007
1009 Concealed topics are effectively collapsed within an ancestor. 1008 Concealed topics are effectively collapsed within an ancestor.
1010CLOSED: A topic whose immediate offspring and body-text is concealed. 1009CLOSED: A topic whose immediate offspring and body-text is concealed.
1011OPEN: A topic that is not closed, though its' offspring or body may be." 1010OPEN: A topic that is not closed, though its offspring or body may be."
1012;;;_ . Code 1011;;;_ . Code
1013 (interactive "P") 1012 (interactive "P")
1014 1013
1015 (let* ((active (and (not (equal major-mode 'outline)) 1014 (let* ((active (and (not (equal major-mode 'outline))
1016 (outline-mode-p))) 1015 (outline-mode-p)))
1017 ; Massage universal-arg 'toggle' val: 1016 ; Massage universal-arg `toggle' val:
1018 (toggle (and toggle 1017 (toggle (and toggle
1019 (or (and (listp toggle)(car toggle)) 1018 (or (and (listp toggle)(car toggle))
1020 toggle))) 1019 toggle)))
@@ -1048,7 +1047,7 @@ OPEN: A topic that is not closed, though its' offspring or body may be."
1048 (string-match "^19.1[89]" ; Bug only known to be in v19.18 and 1047 (string-match "^19.1[89]" ; Bug only known to be in v19.18 and
1049 emacs-version)); 19.19. 1048 emacs-version)); 19.19.
1050 t) 1049 t)
1051 1050
1052 ;; Deactivation: 1051 ;; Deactivation:
1053 ((and (not explicit-activation) 1052 ((and (not explicit-activation)
1054 (or active toggle)) 1053 (or active toggle))
@@ -1131,7 +1130,7 @@ OPEN: A topic that is not closed, though its' offspring or body may be."
1131 (use-local-map (produce-outline-mode-map outline-keybindings-list 1130 (use-local-map (produce-outline-mode-map outline-keybindings-list
1132 (current-local-map))) 1131 (current-local-map)))
1133 ) 1132 )
1134 1133
1135 ; selective-display is the 1134 ; selective-display is the
1136 ; emacs conditional exposure 1135 ; emacs conditional exposure
1137 ; mechanism: 1136 ; mechanism:
@@ -1200,7 +1199,7 @@ OPEN: A topic that is not closed, though its' offspring or body may be."
1200 (goto-char 0) 1199 (goto-char 0)
1201 (outline-this-or-next-heading) 1200 (outline-this-or-next-heading)
1202 (condition-case err 1201 (condition-case err
1203 (progn 1202 (progn
1204 (apply 'outline-expose-topic (list outline-layout)) 1203 (apply 'outline-expose-topic (list outline-layout))
1205 (message "Adjusting '%s' exposure... done." (buffer-name))) 1204 (message "Adjusting '%s' exposure... done." (buffer-name)))
1206 ;; Problem applying exposure - notify user, but don't 1205 ;; Problem applying exposure - notify user, but don't
@@ -1235,7 +1234,7 @@ OPEN: A topic that is not closed, though its' offspring or body may be."
1235(defmacro outline-prefix-data (beg end) 1234(defmacro outline-prefix-data (beg end)
1236 "Register outline-prefix state data - BEGINNING and END of prefix. 1235 "Register outline-prefix state data - BEGINNING and END of prefix.
1237 1236
1238For reference by 'outline-recent' funcs. Returns BEGINNING." 1237For reference by `outline-recent' funcs. Returns BEGINNING."
1239 (` (setq outline-recent-prefix-end (, end) 1238 (` (setq outline-recent-prefix-end (, end)
1240 outline-recent-prefix-beginning (, beg)))) 1239 outline-recent-prefix-beginning (, beg))))
1241;;;_ > outline-recent-depth () 1240;;;_ > outline-recent-depth ()
@@ -1366,7 +1365,7 @@ Returns the location of the heading, or nil if none found."
1366 1365
1367 '(if (re-search-forward outline-line-boundary-regexp nil 0) 1366 '(if (re-search-forward outline-line-boundary-regexp nil 0)
1368 (progn ; Got valid location state - set vars: 1367 (progn ; Got valid location state - set vars:
1369 (outline-prefix-data 1368 (outline-prefix-data
1370 (goto-char (or (match-beginning 2) 1369 (goto-char (or (match-beginning 2)
1371 outline-recent-prefix-beginning)) 1370 outline-recent-prefix-beginning))
1372 (or (match-end 2) outline-recent-prefix-end))))) 1371 (or (match-end 2) outline-recent-prefix-end)))))
@@ -1390,7 +1389,7 @@ Return the location of the beginning of the heading, or nil if not found."
1390 (or (re-search-backward outline-line-boundary-regexp nil 0) 1389 (or (re-search-backward outline-line-boundary-regexp nil 0)
1391 (looking-at outline-bob-regexp)) 1390 (looking-at outline-bob-regexp))
1392 (progn ; Got valid location state - set vars: 1391 (progn ; Got valid location state - set vars:
1393 (outline-prefix-data 1392 (outline-prefix-data
1394 (goto-char (or (match-beginning 2) 1393 (goto-char (or (match-beginning 2)
1395 outline-recent-prefix-beginning)) 1394 outline-recent-prefix-beginning))
1396 (or (match-end 2) outline-recent-prefix-end)))))) 1395 (or (match-end 2) outline-recent-prefix-end))))))
@@ -1428,7 +1427,7 @@ The other function parameters are for internal recursion, and should
1428not be specified by external callers. ORIG-DEPTH is depth of topic at 1427not be specified by external callers. ORIG-DEPTH is depth of topic at
1429starting point, and PREV-DEPTH is depth of prior topic." 1428starting point, and PREV-DEPTH is depth of prior topic."
1430 1429
1431 (let ((original (not orig-depth)) ; 'orig-depth' set only in recursion. 1430 (let ((original (not orig-depth)) ; `orig-depth' set only in recursion.
1432 chart curr-depth) 1431 chart curr-depth)
1433 1432
1434 (if original ; Just starting? 1433 (if original ; Just starting?
@@ -1487,14 +1486,14 @@ starting point, and PREV-DEPTH is depth of prior topic."
1487 '(?\n ?\^M)) 1486 '(?\n ?\^M))
1488 (forward-char -1)) 1487 (forward-char -1))
1489 (setq outline-recent-end-of-subtree (point)))) 1488 (setq outline-recent-end-of-subtree (point))))
1490 1489
1491 chart ; (nreverse chart) not necessary, 1490 chart ; (nreverse chart) not necessary,
1492 ; and maybe not preferable. 1491 ; and maybe not preferable.
1493 )) 1492 ))
1494;;;_ > outline-chart-siblings (&optional start end) 1493;;;_ > outline-chart-siblings (&optional start end)
1495(defun outline-chart-siblings (&optional start end) 1494(defun outline-chart-siblings (&optional start end)
1496 "Produce a list of locations of this and succeeding sibling topics. 1495 "Produce a list of locations of this and succeeding sibling topics.
1497Effectively a top-level chart of siblings. See 'outline-chart-subtree' 1496Effectively a top-level chart of siblings. See `outline-chart-subtree'
1498for an explanation of charts." 1497for an explanation of charts."
1499 (save-excursion 1498 (save-excursion
1500 (if (outline-goto-prefix) 1499 (if (outline-goto-prefix)
@@ -1549,10 +1548,10 @@ exposed reside.
1549 - bare positive values indicate that this topic header should be 1548 - bare positive values indicate that this topic header should be
1550 opened. 1549 opened.
1551 - Lists signify the beginning and end points of regions that should 1550 - Lists signify the beginning and end points of regions that should
1552 be flagged, and the flag to employ. (For concealment: '\(\?r\)', and 1551 be flagged, and the flag to employ. (For concealment: `\(\?r\)', and
1553 exposure:" 1552 exposure:"
1554 (while spec 1553 (while spec
1555 (cond ((listp spec) 1554 (cond ((listp spec)
1556 ) 1555 )
1557 ) 1556 )
1558 (setq spec (cdr spec))) 1557 (setq spec (cdr spec)))
@@ -1908,15 +1907,15 @@ Changes to concealed regions are ignored while file is being written.
1908\(This is for the sake of functions that do change the file during 1907\(This is for the sake of functions that do change the file during
1909writes, like crypt and zip modes.) 1908writes, like crypt and zip modes.)
1910 1909
1911Locally bound in outline buffers to 'before-change-function', which 1910Locally bound in outline buffers to `before-change-function', which
1912in emacs 19 is run before any change to the buffer. (Has no effect 1911in emacs 19 is run before any change to the buffer. (Has no effect
1913in Emacs 18, which doesn't support before-change-function.) 1912in Emacs 18, which doesn't support before-change-function.)
1914 1913
1915Any functions which set ['this-command' to 'undo', or which set] 1914Any functions which set [`this-command' to `undo', or which set]
1916'outline-override-protect' non-nil (as does, eg, outline-flag-chars) 1915`outline-override-protect' non-nil (as does, eg, outline-flag-chars)
1917are exempt from this restriction." 1916are exempt from this restriction."
1918 (if (and (outline-mode-p) 1917 (if (and (outline-mode-p)
1919 ; outline-override-protect 1918 ; outline-override-protect
1920 ; set by functions that know what 1919 ; set by functions that know what
1921 ; they're doing, eg outline internals: 1920 ; they're doing, eg outline internals:
1922 (not outline-override-protect) 1921 (not outline-override-protect)
@@ -1951,7 +1950,7 @@ are exempt from this restriction."
1951 (rehide-completely (save-excursion (outline-goto-prefix) 1950 (rehide-completely (save-excursion (outline-goto-prefix)
1952 (outline-hidden-p))) 1951 (outline-hidden-p)))
1953 rehide-place) 1952 rehide-place)
1954 1953
1955 (save-excursion 1954 (save-excursion
1956 (if (condition-case err 1955 (if (condition-case err
1957 ;; Condition case to catch keyboard quits during reads. 1956 ;; Condition case to catch keyboard quits during reads.
@@ -1966,7 +1965,7 @@ are exempt from this restriction."
1966 ; until they respond: 1965 ; until they respond:
1967 ; Then interpret the response: 1966 ; Then interpret the response:
1968 (while 1967 (while
1969 (progn 1968 (progn
1970 (message (concat "Change inside concealed" 1969 (message (concat "Change inside concealed"
1971 " region - do it? " 1970 " region - do it? "
1972 "(n or 'y'/'r'eclose)")) 1971 "(n or 'y'/'r'eclose)"))
@@ -1981,7 +1980,7 @@ are exempt from this restriction."
1981 t) 1980 t)
1982 ((eq response ??) 1981 ((eq response ??)
1983 (message 1982 (message
1984 "'r' means 'yes, then reclose") 1983 "`r' means `yes, then reclose'")
1985 nil) 1984 nil)
1986 (t (message "Please answer y, n, or r") 1985 (t (message "Please answer y, n, or r")
1987 (sit-for 1) 1986 (sit-for 1)
@@ -2092,7 +2091,7 @@ motion command to relocate the cursor off of a bullet char."
2092 outline-mode 2091 outline-mode
2093 (eq this-command 'self-insert-command) 2092 (eq this-command 'self-insert-command)
2094 (eq (point)(outline-current-bullet-pos))) 2093 (eq (point)(outline-current-bullet-pos)))
2095 2094
2096 (let* ((this-key-num (if (numberp last-command-event) 2095 (let* ((this-key-num (if (numberp last-command-event)
2097 last-command-event)) 2096 last-command-event))
2098 mapped-binding) 2097 mapped-binding)
@@ -2222,7 +2221,7 @@ Fourth arg SOLICIT non-nil provokes solicitation from the user of a
2222choice among the valid bullets. (This overrides other all the 2221choice among the valid bullets. (This overrides other all the
2223options, including, eg, a distinctive PRIOR-BULLET.) 2222options, including, eg, a distinctive PRIOR-BULLET.)
2224 2223
2225Fifth arg, NUMBER-CONTROL, matters only if 'outline-numbered-bullet' 2224Fifth arg, NUMBER-CONTROL, matters only if `outline-numbered-bullet'
2226is non-nil *and* soliciting was not explicitly invoked. Then 2225is non-nil *and* soliciting was not explicitly invoked. Then
2227NUMBER-CONTROL non-nil forces prefix to either numbered or 2226NUMBER-CONTROL non-nil forces prefix to either numbered or
2228denumbered format, depending on the value of the sixth arg, INDEX. 2227denumbered format, depending on the value of the sixth arg, INDEX.
@@ -2388,7 +2387,7 @@ Nuances:
2388 ; Positioning and vertical 2387 ; Positioning and vertical
2389 ; padding - only if not 2388 ; padding - only if not
2390 ; opening-on-blank: 2389 ; opening-on-blank:
2391 (progn 2390 (progn
2392 (goto-char ref-topic) 2391 (goto-char ref-topic)
2393 (setq dbl-space ; Determine double space action: 2392 (setq dbl-space ; Determine double space action:
2394 (or (and (<= relative-depth 0) ; not descending; 2393 (or (and (<= relative-depth 0) ; not descending;
@@ -2495,7 +2494,7 @@ Nuances:
2495;;;_ ; buffer boundaries - special provisions for beginning and end ob 2494;;;_ ; buffer boundaries - special provisions for beginning and end ob
2496;;;_ ; level 1 topics have special provisions also - double space. 2495;;;_ ; level 1 topics have special provisions also - double space.
2497;;;_ ; location of new topic 2496;;;_ ; location of new topic
2498;;;_ . 2497;;;_ .
2499;;;_ > outline-open-subtopic (arg) 2498;;;_ > outline-open-subtopic (arg)
2500(defun outline-open-subtopic (arg) 2499(defun outline-open-subtopic (arg)
2501 "Open new topic header at deeper level than the current one. 2500 "Open new topic header at deeper level than the current one.
@@ -2563,7 +2562,7 @@ Note that refill of indented paragraphs is not done."
2563 ;; *before* the prefix was changed, so we infer it relative 2562 ;; *before* the prefix was changed, so we infer it relative
2564 ;; to the new margin and the shift in depth: 2563 ;; to the new margin and the shift in depth:
2565 (old-margin (+ old-depth (- new-margin new-depth)))) 2564 (old-margin (+ old-depth (- new-margin new-depth))))
2566 2565
2567 ;; Process lines up to (but excluding) next topic header: 2566 ;; Process lines up to (but excluding) next topic header:
2568 (outline-unprotected 2567 (outline-unprotected
2569 (save-match-data 2568 (save-match-data
@@ -2572,7 +2571,7 @@ Note that refill of indented paragraphs is not done."
2572 nil 2571 nil
2573 t) 2572 t)
2574 ;; Register the indent data, before we reset the 2573 ;; Register the indent data, before we reset the
2575 ;; match data with a subsequent 'looking-at': 2574 ;; match data with a subsequent `looking-at':
2576 (setq old-indent-begin (match-beginning 1) 2575 (setq old-indent-begin (match-beginning 1)
2577 old-indent-end (match-end 1)) 2576 old-indent-end (match-end 1))
2578 (not (looking-at outline-regexp))) 2577 (not (looking-at outline-regexp)))
@@ -2587,7 +2586,7 @@ Note that refill of indented paragraphs is not done."
2587 (indent-to (+ new-margin excess))))))))) 2586 (indent-to (+ new-margin excess)))))))))
2588;;;_ > outline-rebullet-current-heading (arg) 2587;;;_ > outline-rebullet-current-heading (arg)
2589(defun outline-rebullet-current-heading (arg) 2588(defun outline-rebullet-current-heading (arg)
2590 "Like non-interactive version 'outline-rebullet-heading'. 2589 "Like non-interactive version `outline-rebullet-heading'.
2591 2590
2592But \(only\) affects visible heading containing point. 2591But \(only\) affects visible heading containing point.
2593 2592
@@ -2621,7 +2620,7 @@ Second arg DEPTH forces the topic prefix to that depth, regardless
2621of the topics current depth. 2620of the topics current depth.
2622 2621
2623Third arg NUMBER-CONTROL can force the prefix to or away from 2622Third arg NUMBER-CONTROL can force the prefix to or away from
2624numbered form. It has effect only if 'outline-numbered-bullet' is 2623numbered form. It has effect only if `outline-numbered-bullet' is
2625non-nil and soliciting was not explicitly invoked (via first arg). 2624non-nil and soliciting was not explicitly invoked (via first arg).
2626Its effect, numbering or denumbering, then depends on the setting 2625Its effect, numbering or denumbering, then depends on the setting
2627of the forth arg, INDEX. 2626of the forth arg, INDEX.
@@ -2637,8 +2636,8 @@ numbered prefix will be derived by outline-make-topic-prefix.
2637Fifth arg DO-SUCCESSORS t means re-resolve count on succeeding 2636Fifth arg DO-SUCCESSORS t means re-resolve count on succeeding
2638siblings. 2637siblings.
2639 2638
2640Cf vars 'outline-stylish-prefixes', 'outline-old-style-prefixes', 2639Cf vars `outline-stylish-prefixes', `outline-old-style-prefixes',
2641and 'outline-numbered-bullet', which all affect the behavior of 2640and `outline-numbered-bullet', which all affect the behavior of
2642this function." 2641this function."
2643 2642
2644 (let* ((current-depth (outline-depth)) 2643 (let* ((current-depth (outline-depth))
@@ -2922,7 +2921,7 @@ Leaves primary topic's trailing vertical whitespace, if any."
2922 (and (outline-next-heading) 2921 (and (outline-next-heading)
2923 (>= (outline-recent-depth) depth)))) 2922 (>= (outline-recent-depth) depth))))
2924 (forward-char 1))) 2923 (forward-char 1)))
2925 2924
2926 (kill-region beg (point)) 2925 (kill-region beg (point))
2927 (sit-for 0) 2926 (sit-for 0)
2928 (save-excursion 2927 (save-excursion
@@ -2955,12 +2954,12 @@ however, are left exactly like normal, non-outline-specific yanks."
2955 (exchange-point-and-mark)) 2954 (exchange-point-and-mark))
2956 (let* ((subj-beg (point)) 2955 (let* ((subj-beg (point))
2957 (subj-end (mark-marker)) 2956 (subj-end (mark-marker))
2958 ;; 'resituate' if yanking an entire topic into topic header: 2957 ;; `resituate' if yanking an entire topic into topic header:
2959 (resituate (and (outline-e-o-prefix-p) 2958 (resituate (and (outline-e-o-prefix-p)
2960 (looking-at (concat "\\(" outline-regexp "\\)")) 2959 (looking-at (concat "\\(" outline-regexp "\\)"))
2961 (outline-prefix-data (match-beginning 1) 2960 (outline-prefix-data (match-beginning 1)
2962 (match-end 1)))) 2961 (match-end 1))))
2963 ;; 'rectify-numbering' if resituating (where several topics may 2962 ;; `rectify-numbering' if resituating (where several topics may
2964 ;; be resituating) or yanking a topic into a topic slot (bol): 2963 ;; be resituating) or yanking a topic into a topic slot (bol):
2965 (rectify-numbering (or resituate 2964 (rectify-numbering (or resituate
2966 (and (bolp) (looking-at outline-regexp))))) 2965 (and (bolp) (looking-at outline-regexp)))))
@@ -3039,7 +3038,7 @@ however, are left exactly like normal, non-outline-specific yanks."
3039 (if (looking-at " ") (delete-char 1)))) 3038 (if (looking-at " ") (delete-char 1))))
3040 (exchange-point-and-mark)))) 3039 (exchange-point-and-mark))))
3041 (if rectify-numbering 3040 (if rectify-numbering
3042 (progn 3041 (progn
3043 (save-excursion 3042 (save-excursion
3044 ; Give some preliminary feedback: 3043 ; Give some preliminary feedback:
3045 (message "... reconciling numbers") (sit-for 0) 3044 (message "... reconciling numbers") (sit-for 0)
@@ -3113,9 +3112,9 @@ by pops to non-distinctive yanks. Bug..."
3113 (interactive) 3112 (interactive)
3114 (if (not outline-file-xref-bullet) 3113 (if (not outline-file-xref-bullet)
3115 (error 3114 (error
3116 "outline cross references disabled - no 'outline-file-xref-bullet'") 3115 "outline cross references disabled - no `outline-file-xref-bullet'")
3117 (if (not (string= (outline-current-bullet) outline-file-xref-bullet)) 3116 (if (not (string= (outline-current-bullet) outline-file-xref-bullet))
3118 (error "current heading lacks cross-reference bullet '%s'" 3117 (error "current heading lacks cross-reference bullet `%s'"
3119 outline-file-xref-bullet) 3118 outline-file-xref-bullet)
3120 (let (file-name) 3119 (let (file-name)
3121 (save-excursion 3120 (save-excursion
@@ -3128,7 +3127,7 @@ by pops to non-distinctive yanks. Bug..."
3128 (setq file-name 3127 (setq file-name
3129 (if (not (= (aref file-name 0) ?:)) 3128 (if (not (= (aref file-name 0) ?:))
3130 (expand-file-name file-name) 3129 (expand-file-name file-name)
3131 ; A registry-files ref, strip the ':' 3130 ; A registry-files ref, strip the `:'
3132 ; and try to follow it: 3131 ; and try to follow it:
3133 (let ((reg-ref (reference-registered-file 3132 (let ((reg-ref (reference-registered-file
3134 (substring file-name 1) nil t))) 3133 (substring file-name 1) nil t)))
@@ -3181,7 +3180,7 @@ See `outline-flag-region' for more details."
3181 3180
3182 "Produce a list representing exposed topics in current region. 3181 "Produce a list representing exposed topics in current region.
3183 3182
3184This list can then be used by 'outline-process-exposed' to manipulate 3183This list can then be used by `outline-process-exposed' to manipulate
3185the subject region. 3184the subject region.
3186 3185
3187List is composed of elements that may themselves be lists representing 3186List is composed of elements that may themselves be lists representing
@@ -3189,7 +3188,7 @@ exposed components in subtopic.
3189 3188
3190Each component list contains: 3189Each component list contains:
3191 - a number representing the depth of the topic, 3190 - a number representing the depth of the topic,
3192 - a string representing the header-prefix (ref. 'outline-header-prefix'), 3191 - a string representing the header-prefix (ref. `outline-header-prefix'),
3193 - a string representing the bullet character, 3192 - a string representing the bullet character,
3194 - and a series of strings, each containing one line of the exposed 3193 - and a series of strings, each containing one line of the exposed
3195 portion of the topic entry." 3194 portion of the topic entry."
@@ -3198,7 +3197,7 @@ Each component list contains:
3198 (save-excursion 3197 (save-excursion
3199 (let* (strings pad result depth bullet beg next done) ; State vars. 3198 (let* (strings pad result depth bullet beg next done) ; State vars.
3200 (goto-char start) 3199 (goto-char start)
3201 (beginning-of-line) 3200 (beginning-of-line)
3202 (if (not (outline-goto-prefix)) ; Get initial position within a topic: 3201 (if (not (outline-goto-prefix)) ; Get initial position within a topic:
3203 (outline-next-visible-heading 1)) 3202 (outline-next-visible-heading 1))
3204 (while (and (not done) 3203 (while (and (not done)
@@ -3361,7 +3360,7 @@ warn people about the change, and then deprecate this alias."
3361 3360
3362 (interactive "p") 3361 (interactive "p")
3363 ;;(beep) 3362 ;;(beep)
3364 ;;(message (format "Use '%s' instead of '%s' (%s)." 3363 ;;(message (format "Use `%s' instead of `%s' (%s)."
3365 ;; "outline-show-children" 3364 ;; "outline-show-children"
3366 ;; "outline-show-current-children" 3365 ;; "outline-show-current-children"
3367 ;; (buffer-name (current-buffer)))) 3366 ;; (buffer-name (current-buffer))))
@@ -3452,7 +3451,7 @@ exposed by outline-show-entry but are within otherwise concealed regions."
3452;;;_ > outline-show-current-subtree (&optional arg) 3451;;;_ > outline-show-current-subtree (&optional arg)
3453(defun outline-show-current-subtree (&optional arg) 3452(defun outline-show-current-subtree (&optional arg)
3454 "Show everything within the current topic. With a repeat-count, 3453 "Show everything within the current topic. With a repeat-count,
3455expose this topic and its' siblings." 3454expose this topic and its siblings."
3456 (interactive "P") 3455 (interactive "P")
3457 (save-excursion 3456 (save-excursion
3458 (if (<= (outline-current-depth) 0) 3457 (if (<= (outline-current-depth) 0)
@@ -3471,7 +3470,7 @@ expose this topic and its' siblings."
3471 "Close the current topic, or containing topic if this one is already closed. 3470 "Close the current topic, or containing topic if this one is already closed.
3472 3471
3473If this topic is closed and it's a top level topic, close this topic 3472If this topic is closed and it's a top level topic, close this topic
3474and its' siblings. 3473and its siblings.
3475 3474
3476If optional arg JUST-CLOSE is non-nil, do not treat the parent or 3475If optional arg JUST-CLOSE is non-nil, do not treat the parent or
3477siblings, even if the target topic is already closed." 3476siblings, even if the target topic is already closed."
@@ -3510,7 +3509,7 @@ siblings, even if the target topic is already closed."
3510 (outline-show-children t)) 3509 (outline-show-children t))
3511;;;_ > outline-hide-current-leaves () 3510;;;_ > outline-hide-current-leaves ()
3512(defun outline-hide-current-leaves () 3511(defun outline-hide-current-leaves ()
3513 "Hide the bodies of the current topic and all its' offspring." 3512 "Hide the bodies of the current topic and all its offspring."
3514 (interactive) 3513 (interactive)
3515 (outline-back-to-current-heading) 3514 (outline-back-to-current-heading)
3516 (outline-hide-region-body (point) (progn (outline-end-of-current-subtree) 3515 (outline-hide-region-body (point) (progn (outline-end-of-current-subtree)
@@ -3565,9 +3564,9 @@ list) dictates the exposure for the corresponding topic.
3565Non-null lists recursively designate exposure specs for respective 3564Non-null lists recursively designate exposure specs for respective
3566subtopics of the current topic. 3565subtopics of the current topic.
3567 3566
3568The ':' repeat spec is used to specify exposure for any number of 3567The `:' repeat spec is used to specify exposure for any number of
3569successive siblings, up to the trailing ones for which there are 3568successive siblings, up to the trailing ones for which there are
3570explicit specs following the ':'. 3569explicit specs following the `:'.
3571 3570
3572Simple (numeric and null-list) specs are interpreted as follows: 3571Simple (numeric and null-list) specs are interpreted as follows:
3573 3572
@@ -3578,9 +3577,9 @@ Simple (numeric and null-list) specs are interpreted as follows:
3578 - positive numbers open to the relative depth indicated by the 3577 - positive numbers open to the relative depth indicated by the
3579 number, but do not force already opened subtopics to be closed. 3578 number, but do not force already opened subtopics to be closed.
3580 - 0 means to close topic - hide all offspring. 3579 - 0 means to close topic - hide all offspring.
3581 : - 'repeat' 3580 : - `repeat'
3582 apply prior element to all siblings at current level, *up to* 3581 apply prior element to all siblings at current level, *up to*
3583 those siblings that would be covered by specs following the ':' 3582 those siblings that would be covered by specs following the `:'
3584 on the list. Ie, apply to all topics at level but the last 3583 on the list. Ie, apply to all topics at level but the last
3585 ones. \(Only first of multiple colons at same level is 3584 ones. \(Only first of multiple colons at same level is
3586 respected - subsequent ones are discarded.) 3585 respected - subsequent ones are discarded.)
@@ -3627,7 +3626,7 @@ Examples:
3627 ((eq curr-elem '-) (outline-show-current-entry)) 3626 ((eq curr-elem '-) (outline-show-current-entry))
3628 ((eq curr-elem ':) 3627 ((eq curr-elem ':)
3629 (setq stay t) 3628 (setq stay t)
3630 ;; Expand the 'repeat' spec to an explicit version, 3629 ;; Expand the `repeat' spec to an explicit version,
3631 ;; w.r.t. remaining siblings: 3630 ;; w.r.t. remaining siblings:
3632 (let ((residue ; = # of sibs not covered by remaining spec 3631 (let ((residue ; = # of sibs not covered by remaining spec
3633 ;; Dang - could be nice to make use of the chart, sigh: 3632 ;; Dang - could be nice to make use of the chart, sigh:
@@ -3685,9 +3684,9 @@ Simple (numeric and null-list) specs are interpreted as follows:
3685 absolute value of the number. 3684 absolute value of the number.
3686 - positive numbers just open to the relative depth indicated by the number. 3685 - positive numbers just open to the relative depth indicated by the number.
3687 - 0 just closes 3686 - 0 just closes
3688 - '*' completely opens the topic, including bodies. 3687 - `*' completely opens the topic, including bodies.
3689 - '+' shows all the sub headers, but not the bodies 3688 - `+' shows all the sub headers, but not the bodies
3690 - '-' exposes the body and immediate offspring of the corresponding topic. 3689 - `-' exposes the body and immediate offspring of the corresponding topic.
3691 3690
3692If the spec is a list, the first element must be a number, which 3691If the spec is a list, the first element must be a number, which
3693dictates the exposure depth of the topic as a whole. Subsequent 3692dictates the exposure depth of the topic as a whole. Subsequent
@@ -3747,7 +3746,7 @@ need not be quoted in outline-new-exposure.
3747 3746
3748Cursor is left at start position. 3747Cursor is left at start position.
3749 3748
3750Use this instead of obsolete 'outline-exposure'. 3749Use this instead of obsolete `outline-exposure'.
3751 3750
3752Examples: 3751Examples:
3753\(outline-exposure (-1 () () () 1) 0) 3752\(outline-exposure (-1 () () () 1) 0)
@@ -3757,7 +3756,7 @@ Examples:
3757\(outline-exposure : -1 0) 3756\(outline-exposure : -1 0)
3758 Close all topics at current level to expose only their 3757 Close all topics at current level to expose only their
3759 immediate children, except for the last topic at the current 3758 immediate children, except for the last topic at the current
3760 level, in which even its' immediate children are hidden. 3759 level, in which even its immediate children are hidden.
3761\(outline-exposure -2 : -1 *) 3760\(outline-exposure -2 : -1 *)
3762 Expose children and grandchildren of first topic at current 3761 Expose children and grandchildren of first topic at current
3763 level, and expose children of subsequent topics at current 3762 level, and expose children of subsequent topics at current
@@ -3769,7 +3768,7 @@ Examples:
3769 (list 'outline-expose-topic (list 'quote spec)))) 3768 (list 'outline-expose-topic (list 'quote spec))))
3770;;;_ > outline-exposure '() 3769;;;_ > outline-exposure '()
3771(defmacro outline-exposure (&rest spec) 3770(defmacro outline-exposure (&rest spec)
3772 "Being deprecated - use more recent 'outline-new-exposure' instead. 3771 "Being deprecated - use more recent `outline-new-exposure' instead.
3773 3772
3774Literal frontend for `outline-old-expose-topic', doesn't evaluate arguments 3773Literal frontend for `outline-old-expose-topic', doesn't evaluate arguments
3775and retains start position." 3774and retains start position."
@@ -3794,7 +3793,7 @@ if the entire topic was concealed, in a list if the entry was concealed.")
3794Used by isearch-terminate/outline-provisions and 3793Used by isearch-terminate/outline-provisions and
3795isearch-done/outline-provisions") 3794isearch-done/outline-provisions")
3796 3795
3797 3796
3798;;;_ > outline-enwrap-isearch () 3797;;;_ > outline-enwrap-isearch ()
3799(defun outline-enwrap-isearch () 3798(defun outline-enwrap-isearch ()
3800 "Impose outline-mode isearch-mode wrappers for dynamic exposure in isearch. 3799 "Impose outline-mode isearch-mode wrappers for dynamic exposure in isearch.
@@ -3817,7 +3816,7 @@ The function checks to ensure that the rebindings are done only once."
3817 ; Ensure load of isearch-mode: 3816 ; Ensure load of isearch-mode:
3818 (if (or (and (fboundp 'isearch-mode) 3817 (if (or (and (fboundp 'isearch-mode)
3819 (fboundp 'isearch-quote-char)) 3818 (fboundp 'isearch-quote-char))
3820 (condition-case error 3819 (condition-case error
3821 (load-library outline-enwrap-isearch-mode) 3820 (load-library outline-enwrap-isearch-mode)
3822 (file-error (message "Skipping isearch-mode provisions - %s '%s'" 3821 (file-error (message "Skipping isearch-mode provisions - %s '%s'"
3823 (car (cdr error)) 3822 (car (cdr error))
@@ -3827,17 +3826,17 @@ The function checks to ensure that the rebindings are done only once."
3827 (setq outline-enwrap-isearch-mode nil)))) 3826 (setq outline-enwrap-isearch-mode nil))))
3828 ;; Isearch-mode loaded, encapsulate specific entry points for 3827 ;; Isearch-mode loaded, encapsulate specific entry points for
3829 ;; outline dynamic-exposure business: 3828 ;; outline dynamic-exposure business:
3830 (progn 3829 (progn
3831 3830
3832 ;; stash crucial isearch-mode funcs under known, private 3831 ;; stash crucial isearch-mode funcs under known, private
3833 ;; names, then register wrapper functions under the old 3832 ;; names, then register wrapper functions under the old
3834 ;; names, in their stead: 'isearch-quit' is pre isearch v 1.2. 3833 ;; names, in their stead: `isearch-quit' is pre isearch v 1.2.
3835 (fset 'real-isearch-terminate 3834 (fset 'real-isearch-terminate
3836 ; 'isearch-quit is pre v 1.2: 3835 ; `isearch-quit' is pre v 1.2:
3837 (or (if (fboundp 'isearch-quit) 3836 (or (if (fboundp 'isearch-quit)
3838 (symbol-function 'isearch-quit)) 3837 (symbol-function 'isearch-quit))
3839 (if (fboundp 'isearch-abort) 3838 (if (fboundp 'isearch-abort)
3840 ; 'isearch-abort' is v 1.2 and on: 3839 ; `isearch-abort' is v 1.2 and on:
3841 (symbol-function 'isearch-abort)))) 3840 (symbol-function 'isearch-abort))))
3842 (fset 'isearch-quit 'isearch-terminate/outline-provisions) 3841 (fset 'isearch-quit 'isearch-terminate/outline-provisions)
3843 (fset 'isearch-abort 'isearch-terminate/outline-provisions) 3842 (fset 'isearch-abort 'isearch-terminate/outline-provisions)
@@ -4008,7 +4007,7 @@ string across latex processing."
4008 "Express line for exact \(literal\) representation across latex processing. 4007 "Express line for exact \(literal\) representation across latex processing.
4009 4008
4010Adjust line contents so it is unaltered \(from the original line) 4009Adjust line contents so it is unaltered \(from the original line)
4011across latex processing, within the context of a 'verbatim' 4010across latex processing, within the context of a `verbatim'
4012environment. Leaves point at the end of the line." 4011environment. Leaves point at the end of the line."
4013 (beginning-of-line) 4012 (beginning-of-line)
4014 (let ((beg (point)) 4013 (let ((beg (point))
@@ -4112,7 +4111,7 @@ BULLET string, and a list of TEXT strings for the body."
4112 (curr-line) 4111 (curr-line)
4113 body-content bop) 4112 body-content bop)
4114 ; Do the head line: 4113 ; Do the head line:
4115 (insert-string (concat "\\OneHeadLine{\\verb\1 " 4114 (insert-string (concat "\\OneHeadLine{\\verb\1 "
4116 (outline-latex-verb-quote bullet) 4115 (outline-latex-verb-quote bullet)
4117 "\1}{" 4116 "\1}{"
4118 depth 4117 depth
@@ -4240,7 +4239,7 @@ Optional arg DO-DEFAULTING indicates to accept empty input (CR)."
4240 (message "%s" new-prompt) 4239 (message "%s" new-prompt)
4241 4240
4242 ;; We do our own reading here, so we can circumvent, eg, special 4241 ;; We do our own reading here, so we can circumvent, eg, special
4243 ;; treatment for '?' character. (Might oughta change minibuffer 4242 ;; treatment for `?' character. (Might oughta change minibuffer
4244 ;; keymap instead, oh well.) 4243 ;; keymap instead, oh well.)
4245 (setq got 4244 (setq got
4246 (char-to-string (let ((cursor-in-echo-area nil)) (read-char)))) 4245 (char-to-string (let ((cursor-in-echo-area nil)) (read-char))))
@@ -4291,7 +4290,7 @@ Optional arg SUCCESSIVE-BACKSLASHES is used internally for recursion."
4291(if (not (fboundp 'add-hook)) 4290(if (not (fboundp 'add-hook))
4292 (defun add-hook (hook function &optional append) 4291 (defun add-hook (hook function &optional append)
4293 "Add to the value of HOOK the function FUNCTION unless already present. 4292 "Add to the value of HOOK the function FUNCTION unless already present.
4294\(It becomes the first hook on the list unless optional APPEND is non-nil, in 4293\(It becomes the first hook on the list unless optional APPEND is non-nil, in
4295which case it becomes the last). HOOK should be a symbol, and FUNCTION may be 4294which case it becomes the last). HOOK should be a symbol, and FUNCTION may be
4296any valid function. HOOK's value should be a list of functions, not a single 4295any valid function. HOOK's value should be a list of functions, not a single
4297function. If HOOK is void, it is first set to nil." 4296function. If HOOK is void, it is first set to nil."
@@ -4302,7 +4301,7 @@ function. If HOOK is void, it is first set to nil."
4302 (let ((tail (assoc (cdr function) (symbol-value hook)))) 4301 (let ((tail (assoc (cdr function) (symbol-value hook))))
4303 (equal function tail)) 4302 (equal function tail))
4304 (memq function (symbol-value hook))) 4303 (memq function (symbol-value hook)))
4305 (set hook 4304 (set hook
4306 (if append 4305 (if append
4307 (nconc (symbol-value hook) (list function)) 4306 (nconc (symbol-value hook) (list function))
4308 (cons function (symbol-value hook))))))) 4307 (cons function (symbol-value hook)))))))
@@ -4316,7 +4315,7 @@ function. If HOOK is void, it is first set to nil."
4316 (setq bullet (solicit-char-in-string 4315 (setq bullet (solicit-char-in-string
4317 "ISearch for topic with bullet: " 4316 "ISearch for topic with bullet: "
4318 (regexp-sans-escapes outline-bullets-string)))) 4317 (regexp-sans-escapes outline-bullets-string))))
4319 4318
4320 (let ((isearch-regexp t) 4319 (let ((isearch-regexp t)
4321 (isearch-string (concat "^" 4320 (isearch-string (concat "^"
4322 outline-header-prefix 4321 outline-header-prefix
@@ -4325,7 +4324,7 @@ function. If HOOK is void, it is first set to nil."
4325 (isearch-repeat 'forward) 4324 (isearch-repeat 'forward)
4326 (isearch-mode t))) 4325 (isearch-mode t)))
4327;;;_ ? Re hooking up with isearch - use isearch-op-fun rather than 4326;;;_ ? Re hooking up with isearch - use isearch-op-fun rather than
4328;;; wrapping the isearch functions. 4327;;; wrapping the isearch functions.
4329 4328
4330;;;_* Local emacs vars. 4329;;;_* Local emacs vars.
4331;;; The following `outline-layout' local variable setting: 4330;;; The following `outline-layout' local variable setting: