From e461972853fc02e88048b1f9049bc510671851ac Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Thu, 29 Apr 2004 15:34:58 +0000 Subject: [PATCH] (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. --- lisp/ChangeLog | 21 +++++++++++++++++++++ lisp/outline.el | 16 ++++++---------- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8a1bba88874..c5e98bfc703 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,24 @@ +2004-04-29 Juri Linkov + + * isearch.el (isearch-mode-map): Bind \C-w to isearch-yank-word + instead of isearch-yank-word-or-char. Add new key bindings for + isearch-yank-char to \C-f, and isearch-del-char to \C-b. + (isearch-del-char): New fun. + (isearch-forward, isearch-edit-string): Update docstring. + (isearch-yank-char): Doc fix. + (isearch-other-meta-char): Restore point after scrolling. + + * progmodes/compile.el (compilation-context-lines): Add nil option + to disable compilation output window scrolling. + (compilation-set-window): Use it. + + * outline.el (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. + 2004-04-28 Luc Teirlinck * comint.el (comint-prompt-read-only): New variable. 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) -- 2.39.5