From 80f66ef4dfcb71320eab903660d6039118f6e1ef Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 9 Oct 2006 23:34:11 +0000 Subject: [PATCH] * allout.el (allout-back-to-current-heading): Base on lower-level routines to get proper disqualification of aberrant topics. --- lisp/ChangeLog | 5 +++++ lisp/allout.el | 28 +++++++++++++--------------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 13a6270b27f..a165ba11cbf 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2006-10-09 Ken Manheimer + + * allout.el (allout-back-to-current-heading): Base on lower-level + routines to get proper disqualification of aberrant topics. + 2006-10-09 Richard Stallman * textmodes/two-column.el (2C-two-columns): Doc fix. diff --git a/lisp/allout.el b/lisp/allout.el index 5f59e5e0103..b38d38d9e87 100644 --- a/lisp/allout.el +++ b/lisp/allout.el @@ -2736,24 +2736,22 @@ otherwise skip white space between bullet and ensuing text." (1- allout-recent-prefix-end))) ;;;_ > allout-back-to-current-heading () (defun allout-back-to-current-heading () - "Move to heading line of current topic, or beginning if already on the line. + "Move to heading line of current topic, or beginning if not in a topic. -Return value of point, unless we started outside of (before any) topics, -in which case we return nil." +If interactive, we position at the end of the prefix. + +Return value of resulting point, unless we started outside +of (before any) topics, in which case we return nil." (allout-beginning-of-current-line) - (if (or (allout-on-current-heading-p) - (and (re-search-backward (concat "^\\(" allout-regexp "\\)") - nil 'move) - (progn (while (allout-hidden-p) - (allout-beginning-of-current-line) - (if (not (looking-at allout-regexp)) - (re-search-backward allout-regexp - nil 'move))) - (allout-prefix-data)))) - (if (interactive-p) - (allout-end-of-prefix) - (point)))) + (let ((bol-point (point))) + (allout-goto-prefix-doublechecked) + (if (<= (point) bol-point) + (if (interactive-p) + (allout-end-of-prefix) + (point)) + (goto-char (point-min)) + nil))) ;;;_ > allout-back-to-heading () (defalias 'allout-back-to-heading 'allout-back-to-current-heading) ;;;_ > allout-pre-next-prefix () -- 2.39.2