;ELC ;;; compiled by jwz@thalidomide on Tue Mar 29 01:58:57 1994 ;;; from file /th/jwz/emacs19/lisp/modes/outline.el ;;; emacs version 19.10 Lucid (beta10). ;;; bytecomp version 2.22; 22-dec-93. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "This file was compiled for Emacs 19.")) (defvar outline-regexp (purecopy "[* ]+") "\ *Regular expression to match the beginning of a heading. Any line whose beginning matches this regexp is considered to start a heading. The recommended way to set this is with a Local Variables: list in the file it applies to. See also outline-heading-end-regexp.") (defvar outline-heading-end-regexp (purecopy "[\n ]") "\ *Regular expression to match the end of a heading line. You can assume that point is at the beginning of a heading when this regexp is searched for. The heading ends at the end of the match. The recommended way to set this is with a \"Local Variables:\" list in the file it applies to.") (defvar outline-mode-map nil "\ ") (byte-code " \" \"########!M#M" [outline-mode-map make-sparse-keymap set-keymap-name set-keymap-parent text-mode-map define-key "" outline-next-visible-heading "" outline-previous-visible-heading " " show-children "" show-subtree "" hide-subtree "" outline-up-heading "" outline-forward-same-level "" outline-backward-same-level boundp outline-mode-menu ("Outline" ("Headings" ["Previous same level" outline-backward-same-level t] ["Next same level" outline-forward-same-level t] ["Previous" outline-previous-visible-heading t] ["Next" outline-next-visible-heading t] ["Up" outline-up-heading t]) ("Show" ["Subtree" show-subtree t] ["Children" show-children t] ["Branches" show-branches t] ["Entry" show-entry t] ["All" show-all t]) ("Hide" ["Subtree" hide-subtree t] ["Entry" hide-entry t] ["Body" hide-body t] ["Leaves" hide-leaves t])) #[nil " !" [popup-menu outline-mode-menu] 2 nil nil] [button3] outline-install-menubar #[(&optional remove) "A @@C \n\"\n!\n\"@!! @@ @A$ AK*" [outline-mode-menu nil path menus remove find-menu-item current-menubar delete-menu-item set-buffer-menubar copy-sequence add-menu] 6]] 4) (defvar outline-minor-mode nil "\ Non-nil if using Outline mode as a minor mode of some other mode.") (byte-code "!#C\"" [make-variable-buffer-local outline-minor-mode put permanent-local t append minor-mode-alist (outline-minor-mode " Outl")] 4) (fset 'outline-mode #[nil "  !\"\n !!R!!R \"" [kill-all-local-variables t selective-display use-local-map outline-mode-map "Outline" mode-name outline-mode major-mode define-abbrev-table text-mode-abbrev-table nil local-abbrev-table set-syntax-table text-mode-syntax-table make-local-variable paragraph-start "\\|^\\(" outline-regexp "\\)" auto-fill-inhibit-regexp paragraph-separate outline-install-menubar run-hooks text-mode-hook outline-mode-hook] 4 "\ Set major mode for editing outlines with selective display. Headings are lines which start with asterisks: one for major headings, two for subheadings, etc. Lines not starting with asterisks are body lines. Body text or subheadings under a heading can be made temporarily invisible, or visible again. Invisible lines are attached to the end of the heading, so they move with it, if the line is killed and yanked back. A heading with text hidden under it is marked with an ellipsis (...). Commands:\\ \\[outline-next-visible-heading] outline-next-visible-heading move by visible headings \\[outline-previous-visible-heading] outline-previous-visible-heading \\[outline-forward-same-level] outline-forward-same-level similar but skip subheadings \\[outline-backward-same-level] outline-backward-same-level \\[outline-up-heading] outline-up-heading move from subheading to heading M-x hide-body make all text invisible (not headings). M-x show-all make everything in buffer visible. The remaining commands are used when point is on a heading line. They apply to some of the body or subheadings of that heading. \\[hide-subtree] hide-subtree make body and subheadings invisible. \\[show-subtree] show-subtree make body and subheadings visible. \\[show-children] show-children make direct subheadings visible. No effect on body, or subheadings 2 or more levels down. With arg N, affects subheadings N levels down. M-x hide-entry make immediately following body invisible. M-x show-entry make it visible. M-x hide-leaves make body under heading and under its subheadings invisible. The subheadings remain visible. M-x show-branches make all subheadings at all levels visible. The variable `outline-regexp' can be changed to control what is a heading. A line is a heading if `outline-regexp' matches something at the beginning of the line. The longer the match, the deeper the level. Turning on outline mode calls the value of `text-mode-hook' and then of `outline-mode-hook', if they are non-nil." nil]) (defvar outline-minor-mode-prefix "" "\ *Prefix key to use for Outline commands in Outline minor mode.") (byte-code "!  \"#\n B\nB\n‡" [boundp outline-minor-mode-map nil make-sparse-keymap define-key outline-minor-mode-prefix lookup-key outline-mode-map "" outline-minor-mode minor-mode-map-alist] 6) (fset 'outline-minor-mode #[(&optional arg) " ?!V !!" [arg outline-minor-mode prefix-numeric-value 0 t selective-display outline-install-menubar run-hooks outline-minor-mode-hook nil remove] 3 "\ Toggle Outline minor mode. With arg, turn Outline minor mode on if arg is positive, off otherwise. See the command `outline-mode' for more information on this mode." "P"]) (defvar outline-level 'outline-level "\ Function of no args to compute a header's nesting level in an outline. It can assume point is at the beginning of a header line.") (fset 'outline-level #[nil " !•bi*" [looking-at outline-regexp 0] 2 "\ Return the depth to which a statement is nested in the outline. Point must be at the beginning of a header line. This is actually the column number of the end of what `outline-regexp matches'."]) (fset 'outline-next-preface #[nil "\nQ#Ɣbh>u" [re-search-forward "[\n ]\\(" outline-regexp "\\)" nil move 0 (10 13) -1] 4 "\ Skip forward to just before the next heading line."]) (fset 'outline-next-heading #[nil "\nQ#ƔTb" [re-search-forward "[\n ]\\(" outline-regexp "\\)" nil move 0] 4 "\ Move to the next (possibly invisible) heading line." nil]) (fset 'outline-back-to-heading #[nil "y Q#" [0 outline-on-heading-p re-search-backward "^\\(" outline-regexp "\\)" nil move] 4 "\ Move to previous (possibly invisible) heading line, or to the beginning of this line if it is a heading line."]) (fset 'outline-on-heading-p #[nil "yn\n!)" [0 looking-at outline-regexp] 2 "\ Return T if point is on a header line."]) (fset 'outline-end-of-heading #[nil " #u" [re-search-forward outline-heading-end-regexp nil move -1] 4]) (fset 'outline-next-visible-heading #[(arg) "Wy Q‰$y‡" [arg 0 nil re-search-forward "^\\(" outline-regexp "\\)"] 5 "\ Move to the next visible heading line. With argument, repeats or can move backward if negative. A heading line is one that starts with a `*' (or that `outline-regexp' matches)." "p"]) (fset 'outline-previous-visible-heading #[(arg) " [!" [outline-next-visible-heading arg] 2 "\ Move to the previous heading line. With argument, repeats or can move forward if negative. A heading line is one that starts with a `*' (or that `outline-regexp' matches)." "p"]) (fset 'outline-flag-region #[(from to flag) " UǪ %) \" !" [nil buffer-read-only subst-char-in-region from to flag 10 13 t string-match "Lucid" emacs-version set-buffer-modified-p buffer-modified-p] 6 "\ Hides or shows lines from FROM to TO, according to FLAG. If FLAG is `\\n' (newline character) then text is shown, while if FLAG is `\\^M' (control-M) the text is hidden."]) (fset 'hide-entry #[nil " ` `#)" [outline-back-to-heading outline-end-of-heading outline-flag-region outline-next-preface 13] 4 "\ Hide the body directly following this heading." nil]) (fset 'show-entry #[nil "` `#)" [outline-flag-region outline-next-preface 10] 4 "\ Show the body directly following this heading." nil]) (fset 'hide-body #[nil "ed\"" [hide-region-body] 3 "\ Hide all of buffer except headings." nil]) (fset 'hide-region-body #[(start end) " }eb m?` `#mp!ɪu `*" [start end outline-on-heading-p outline-end-of-heading outline-flag-region outline-next-preface 13 looking-at "[\n ][\n ]" 2 1] 4 "\ Hide all body lines in the region, but not headings."]) (fset 'show-all #[nil "ed#" [outline-flag-region 10] 4 "\ Show all of the text in the buffer." nil]) (fset 'hide-subtree #[nil "!" [outline-flag-subtree 13] 2 "\ Hide everything after this heading at deeper levels." nil]) (fset 'hide-leaves #[nil " ` `\"" [outline-back-to-heading outline-end-of-heading hide-region-body outline-end-of-subtree] 3 "\ Hide all body after this heading at deeper levels." nil]) (fset 'show-subtree #[nil "!" [outline-flag-subtree 10] 2 "\ Show everything after this heading at deeper levels." nil]) (byte-code "MM" [outline-flag-subtree #[(flag) " ` ` #)" [outline-back-to-heading outline-end-of-heading outline-flag-region outline-end-of-subtree flag] 4] outline-end-of-subtree #[nil " `\n m \n V muh>u+" [outline-back-to-heading t outline-level level first opoint nil outline-next-heading -1 (10 13)] 3]] 2) (fset 'show-branches #[nil "!" [show-children 1000] 2 "\ Show all subheadings of this heading, but not their bodies." nil]) (fset 'show-children #[(&optional level) "!y  Z]*y \\` `T}ebm? m? XoȊuh>u`) `#)U*" [level prefix-numeric-value 0 outline-level start-level outline-next-heading 1 outline-end-of-subtree outline-flag-region -1 (10 13) outline-end-of-heading 10] 4 "\ Show all direct subheadings of this heading. Prefix arg LEVEL is how many levels below the current level should be shown. Default is enough to cause the following heading to appear." "P"]) (fset 'outline-up-heading #[(arg) " =! V Vo?  W!s Z)Y" [outline-back-to-heading outline-level 1 error "" arg 0 present-level outline-previous-visible-heading] 2 "\ Move to the heading line of which the present line is a subheading. With argument, move up ARG levels." "p"]) (fset 'outline-forward-same-level #[(arg) " V ) b S!)b" [outline-back-to-heading arg 0 outline-get-next-sibling point-to-move-to error ""] 3 "\ Move forward to the ARG'th subheading from here of the same level as the present one. It stops at the first and last subheadings of a superior heading." "p"]) (fset 'outline-get-next-sibling #[nil " ! Vm!q W?`)" [outline-level level outline-next-visible-heading 1] 2 "\ Position the point at the next heading of the same level, and return that position or nil if it cannot be found."]) (fset 'outline-backward-same-level #[(arg) " V ) b S!)b" [outline-back-to-heading arg 0 outline-get-last-sibling point-to-move-to error ""] 3 "\ Move backward to the ARG'th subheading from here of the same level as the present one. It stops at the first and last subheadings of a superior heading." "p"]) (fset 'outline-get-last-sibling #[nil " ! Vo!q W?`)" [outline-level level outline-previous-visible-heading 1] 2 "\ Position the point at the previous heading of the same level, and return that position or nil if it cannot be found."]) (provide 'outline)