diff options
author | Juri Linkov <juri@jurta.org> | 2004-04-29 15:34:58 +0000 |
---|---|---|
committer | Juri Linkov <juri@jurta.org> | 2004-04-29 15:34:58 +0000 |
commit | e461972853fc02e88048b1f9049bc510671851ac (patch) | |
tree | 9fe33f206cf17b00dccec0c60299fe4fe308b26d /lisp/outline.el | |
parent | a3a9c080fa248a99132597d78b72ebe02644ae8c (diff) | |
download | emacs-e461972853fc02e88048b1f9049bc510671851ac.tar.gz |
(outline-next-preface, outline-show-heading): Don't leave unhidden blank line before heading.
(outline-end-of-subtree): Include last newline into subtree.
(hide-entry): Leave point at beginning of heading instead of end.
(outline-up-heading): Push mark for the first call of successive command calls.
Diffstat (limited to 'lisp/outline.el')
-rw-r--r-- | lisp/outline.el | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/lisp/outline.el b/lisp/outline.el index 59aeb233fdd..2985b432824 100644 --- a/lisp/outline.el +++ b/lisp/outline.el @@ -349,7 +349,7 @@ at the end of the buffer." (if (re-search-forward (concat "\n\\(?:" outline-regexp "\\)") nil 'move) (goto-char (match-beginning 0))) - (if (and (bolp) (not (bobp))) + (if (and (bolp) (eobp) (not (bobp))) (forward-char -1))) (defun outline-next-heading () @@ -706,8 +706,8 @@ If FLAG is nil then text is shown, while if FLAG is t the text is hidden." "Hide the body directly following this heading." (interactive) (outline-back-to-heading) - (outline-end-of-heading) (save-excursion + (outline-end-of-heading) (outline-flag-region (point) (progn (outline-next-preface) (point)) t))) (defun show-entry () @@ -769,10 +769,7 @@ Show the heading too, if it is currently invisible." (defun outline-show-heading () "Show the current heading and move to its end." - (outline-flag-region (- (point) - (if (bobp) 0 - (if (eq (char-before (1- (point))) ?\n) - 2 1))) + (outline-flag-region (- (point) (if (bobp) 0 1)) (progn (outline-end-of-heading) (point)) nil)) @@ -840,10 +837,7 @@ Show the heading too, if it is currently invisible." (if (bolp) (progn ;; Go to end of line before heading - (forward-char -1) - (if (bolp) - ;; leave blank line before heading - (forward-char -1)))))) + (forward-char -1))))) (defun show-branches () "Show all subheadings of this heading, but not their bodies." @@ -884,6 +878,8 @@ Default is enough to cause the following heading to appear." With argument, move up ARG levels. If INVISIBLE-OK is non-nil, also consider invisible lines." (interactive "p") + (and (eq this-command 'outline-up-heading) + (or (eq last-command 'outline-up-heading) (push-mark))) (outline-back-to-heading invisible-ok) (let ((start-level (funcall outline-level))) (if (eq start-level 1) |