1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-28 07:45:00 +00:00

* foldout.el (foldout-exit-fold): Properly hide subtree.

This commit is contained in:
Chong Yidong 2005-12-09 20:50:15 +00:00
parent 9ea74bfb03
commit b056252754
2 changed files with 22 additions and 20 deletions

View File

@ -1,3 +1,7 @@
2005-12-09 Chong Yidong <cyd@stupidchicken.com>
* foldout.el (foldout-exit-fold): Properly hide subtree.
2005-12-09 Reiner Steib <Reiner.Steib@gmx.de>
* files.el (save-buffer):

View File

@ -308,7 +308,8 @@ optional arg EXPOSURE \(interactively with prefix arg\) changes this:-
Normally causes exited folds to be hidden, but with ARG < 0, -ARG folds are
exited and text is left visible."
(interactive "p")
(let (start-marker end-marker (hide-fold t))
(let ((hide-fold t) start-marker end-marker
beginning-of-heading end-of-subtree)
;; check there are some folds to leave
(if (null foldout-fold-list)
@ -355,26 +356,23 @@ exited and text is left visible."
;; is \n otherwise it will be hidden. If there is a newline
;; before this one, make it visible too so we do the same as
;; outline.el and leave a blank line before the heading.
(if (zerop num-folds)
(let ((beginning-of-heading (point))
(end-of-subtree (if end-marker
(progn
(forward-char -1)
(if (memq (preceding-char)
'(?\n ?\^M))
(forward-char -1))
(point))
(point-max))))
;; hide the subtree
(if hide-fold
(outline-flag-region start-marker end-of-subtree
foldout-hide-flag))
(when (zerop num-folds)
(if end-marker
(setq beginning-of-heading (point)
end-of-subtree (progn (forward-char -1)
(if (memq (preceding-char)
'(?\n ?\^M))
(forward-char -1))
(point))))
;; hide the subtree
(when hide-fold
(goto-char start-marker)
(hide-subtree))
;; make sure the next heading is exposed
(if end-marker
(outline-flag-region end-of-subtree beginning-of-heading
foldout-show-flag))
))
;; make sure the next heading is exposed
(if end-marker
(outline-flag-region end-of-subtree beginning-of-heading
foldout-show-flag)))
;; zap the markers so they don't slow down editing
(set-marker start-marker nil)