summaryrefslogtreecommitdiff
path: root/lisp/outline.el
diff options
context:
space:
mode:
authorJuri Linkov <juri@jurta.org>2004-04-29 15:34:58 +0000
committerJuri Linkov <juri@jurta.org>2004-04-29 15:34:58 +0000
commite461972853fc02e88048b1f9049bc510671851ac (patch)
tree9fe33f206cf17b00dccec0c60299fe4fe308b26d /lisp/outline.el
parenta3a9c080fa248a99132597d78b72ebe02644ae8c (diff)
downloademacs-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.el16
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)