;ELC ;;; compiled by kwzh@hal.gnu.ai.mit.edu on Mon Apr 17 19:40:03 1995 ;;; from file /gd/gnu/emacs/19.0/lisp/foldout.el ;;; emacs version 19.28.90.26. ;;; bytecomp version FSF 2.10 ;;; 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 "`/gd/gnu/emacs/19.0/lisp/foldout.el' was compiled for Emacs 19")) (byte-code "ÀÁ!ˆÂÃ!„ÄÅ!ˆÀ‡" [require outline boundp outline-minor-mode error "Can't find outline-minor-mode"] 2) #@124 List of start and end markers for the folds currently entered. An end marker of NIL means the fold ends after (point-max). (defconst foldout-fold-list nil (#$ . 599)) (make-variable-buffer-local (quote foldout-fold-list)) #@60 Modeline string announcing that we are in an outline fold. (defconst foldout-modeline-string nil (#$ . 827)) (byte-code "ÀÁ!ˆÁ\nž„%Ã\nž\n>ĉ„ÇÈ!ˆ A¤¡ˆ*À‡" [make-variable-buffer-local foldout-modeline-string minor-mode-alist outline-minor-mode ((foldout-modeline-string foldout-modeline-string)) foldout-entry outl-entry error "Can't find outline-minor-mode in minor-mode-alist"] 4) #@342 Open the subtree under the current heading and narrow to it. Normally the body and the immediate subheadings are exposed, but optional arg EXPOSURE (interactively with prefix arg) changes this:- EXPOSURE > 0 exposes n levels of subheadings (c.f. show-children) EXPOSURE < 0 exposes only the body EXPOSURE = 0 exposes the entire subtree (defalias 'foldout-zoom-subtree #[(&optional exposure) "Š~ˆÀ ˆÁ\n!`Å Ç ˆÈÉwˆ`\nm?…&Ë \nTÉ“\f\f\n}ˆ\fbˆ\n„=Í ˆÎ ˆ‚d ÏWƒIÍ ˆ‚d\n:ƒTÎ ˆ‚d ÏVƒaÎ !ˆ‚dÐ ˆ\fBBÒ .‡" [outline-back-to-heading prefix-numeric-value exposure exposure-value start point-marker start-marker outline-end-of-subtree "\n " nil end make-marker end-marker show-entry show-children 0 show-subtree foldout-fold-list foldout-update-modeline] 3 (#$ . 1226) "P"]) #@183 Return to the ARG'th enclosing fold view. With ARG = 0 exit all folds. Normally causes exited folds to be hidden, but with ARG < 0, -ARG folds are exited and text is left visible. (defalias 'foldout-exit-fold #[(&optional num-folds) "À‰Á „ÆÇ!ˆÉUƒ G‚*ÉWƒ*À[ G^~ˆÉU„§ @@ @A AS ƒ] bˆÊuˆhË>„]ÌcˆÉUƒ–` ƒyÊuˆhÍ>ƒuÊuˆ`‚zd\nƒ‰Ð\fÑ#ˆ ƒ•ÐÌ#ˆ*\fÀ‰“ˆ ƒ3 À‰“ˆ‚3 ƒÂ @@ @A\f ƒ¿Ò !S‚Àd}ˆÓ ˆÔ +‡" [nil t hide-fold end-marker start-marker foldout-fold-list error "Not in a fold!" num-folds 0 -1 (10 13) 10 (10 13) end-of-subtree beginning-of-heading outline-flag-region 13 marker-position recenter foldout-update-modeline] 4 (#$ . 2022) "p"]) #@53 Set the modeline string to indicate our fold depth. (defalias 'foldout-update-modeline #[nil "G‰ÂUƒ Â&\fƒÅÆ \"‚& ÇUƒ\"È‚&ÅÉ \"‰\n)‡" [foldout-fold-list depth 0 nil outline-minor-mode format ":%d" 1 " Inside 1 fold" " Inside %d folds" foldout-modeline-string] 4 (#$ . 2716)]) #@203 Zoom in on the heading clicked on. How much is exposed by the zoom depends on the number of mouse clicks:- 1 expose body 2 expose subheadings 3 expose body and subheadings 4 expose entire subtree (defalias 'foldout-mouse-zoom #[(event) "À ! !ˆÃ Ä 8¨ƒÄ 8‚Å)‰ÅUƒ&Ç‚=ÄUƒ1È‚=ÉUƒ<Ê‚=Ë)!‡" [foldout-mouse-swallow-events event foldout-mouse-goto-heading foldout-zoom-subtree 2 1 nclicks -1 (1) 3 nil 0] 4 (#$ . 3009) "@e"]) #@204 Show what is hidden under the heading clicked on. What gets exposed depends on the number of mouse clicks:- 1 expose body 2 expose subheadings 3 expose body and subheadings 4 expose entire subtree (defalias 'foldout-mouse-show #[(event) "À ! !ˆ à 8¨ƒà 8‚Ä)‰ÄUƒ%Æ ‚@ ÃUƒ0Ç ‚@ ÈUƒ>Æ ˆÇ ‚@É )‡" [foldout-mouse-swallow-events event foldout-mouse-goto-heading 2 1 nclicks show-entry show-children 3 show-subtree] 3 (#$ . 3458) "@e"]) #@227 Hide the subtree under the heading clicked on, or exit a fold. What happens depends on the number of mouse clicks:- 1 hide subtree 2 exit fold and hide text 3 exit fold without hiding text 4 exit all folds and hide text (defalias 'foldout-mouse-hide-or-exit #[(event) "À !‰ 8¨ƒ 8‚Ã)‰ÃUƒ%Å !ˆÆ ‚<Ç\fÂUƒ0Â;\fÈUƒ:É‚;Ê!)‡" [foldout-mouse-swallow-events event 2 1 nclicks foldout-mouse-goto-heading hide-subtree foldout-exit-fold 3 -1 0] 4 (#$ . 3914) "@e"]) #@145 Swallow intervening mouse events so we only get the final click-count. Signal an error if the final event isn't the same type as the first one. (defalias 'foldout-mouse-swallow-events #[(event) "À !ÃÄ Æ#„Ç ‚\nÀ !=„ÈÉ!ˆ) ‡" [event-basic-type event initial-event-type sit-for 0 double-click-time nodisplay read-event error ""] 4 (#$ . 4397)]) #@107 Go to the heading where the mouse event started. Signal an error if the event didn't occur on a heading. (defalias 'foldout-mouse-goto-heading #[(event) "‰A@)‰A@:ƒ A@@‚ A@)bˆÂ †,ŠÃyˆo)†,ÄÅ!‡" [event position outline-on-heading-p 0 error "Not a heading line"] 3 (#$ . 4753)]) #@61 Set non-NIL before loading foldout to inhibit key bindings. (defvar foldout-inhibit-key-bindings nil (#$ . 5044)) #@212 List of modifier keys to apply to foldout's mouse events. The default (meta control) makes foldout bind its functions to M-C-down-mouse-{1,2,3}. Valid modifiers are shift, control, meta, alt, hyper and super. (defvar foldout-mouse-modifiers (quote (meta control)) (#$ . 5165)) (byte-code "„zÁ\nÃÄ#ˆÁ\nÅÆ#ˆÁÉPÄ#ˆÁÊPÆ#ˆËÌÍÎ\"\"ÑÒÓP!!ÑÒÕP!!ÑÒ×P!!Á\nÙ#ˆÁ\nÚ#ˆÁ\nÛ#ˆÁÙ#ˆÁÚ#ˆÁÛ#ˆ,ÜÝ!‡" [foldout-inhibit-key-bindings define-key outline-mode-map "" foldout-zoom-subtree "" foldout-exit-fold outline-minor-mode-map outline-minor-mode-prefix "" "" apply concat mapcar #[(modifier) "À Â=ƒ ÂA Ä=ƒÅ‚A Æ=ƒÇ‚A È=ƒ)É‚A Ê=ƒ3Ë‚A Ì=ƒ=Í‚AÎÏ \"Ð\"‡" [vector modifier shift 83 control 67 meta 77 alt 65 hyper 72 super 115 error "invalid mouse modifier %s" 45] 4] foldout-mouse-modifiers modifiers vector intern "down-mouse-1" mouse-1 "down-mouse-2" mouse-2 "down-mouse-3" mouse-3 foldout-mouse-zoom foldout-mouse-show foldout-mouse-hide-or-exit provide foldout] 5)