Mercurial > emacs
changeset 73315:df3186ae0953
* allout.el (allout-back-to-current-heading): Base on lower-level
routines to get proper disqualification of aberrant topics.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Mon, 09 Oct 2006 23:34:11 +0000 |
parents | 6c5a67740a8e |
children | 3dc812144482 |
files | lisp/ChangeLog lisp/allout.el |
diffstat | 2 files changed, 19 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Mon Oct 09 20:51:00 2006 +0000 +++ b/lisp/ChangeLog Mon Oct 09 23:34:11 2006 +0000 @@ -1,3 +1,8 @@ +2006-10-09 Ken Manheimer <ken.manheimer@gmail.com> + + * allout.el (allout-back-to-current-heading): Base on lower-level + routines to get proper disqualification of aberrant topics. + 2006-10-09 Richard Stallman <rms@gnu.org> * textmodes/two-column.el (2C-two-columns): Doc fix.
--- a/lisp/allout.el Mon Oct 09 20:51:00 2006 +0000 +++ b/lisp/allout.el Mon Oct 09 23:34:11 2006 +0000 @@ -2736,24 +2736,22 @@ (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. - -Return value of point, unless we started outside of (before any) topics, -in which case we return nil." + "Move to heading line of current topic, or beginning if not in a topic. + +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 ()