From: Richard M. Stallman Date: Sat, 29 Jul 1995 23:56:17 +0000 (+0000) Subject: (forward-paragraph): Don't move back over a line X-Git-Tag: emacs-19.34~3143 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2be0173802b140b1a79320b63f7fb7b2db1f6f3f;p=emacs.git (forward-paragraph): Don't move back over a line before the paragraph which doesn't start with fill-prefix unless that is the only line we've moved over. --- diff --git a/lisp/textmodes/paragraphs.el b/lisp/textmodes/paragraphs.el index 2fc46f6991b..65372363661 100644 --- a/lisp/textmodes/paragraphs.el +++ b/lisp/textmodes/paragraphs.el @@ -127,6 +127,7 @@ to which the end of the previous line belongs, or the end of the buffer." (re-search-backward "^\n" (max (1- (point)) (point-min)) t) (looking-at paragraph-separate)) nil + (setq start (point)) ;; Move back over paragraph-separating lines. (forward-char -1) (beginning-of-line) (while (and (not (bobp)) @@ -140,13 +141,22 @@ to which the end of the previous line belongs, or the end of the buffer." ;; Search back for line that starts or separates paragraphs. (if (if fill-prefix-regexp ;; There is a fill prefix; it overrides paragraph-start. - (progn + (let (multiple-lines) (while (and (progn (beginning-of-line) (not (bobp))) (progn (move-to-left-margin) (not (looking-at paragraph-separate))) (looking-at fill-prefix-regexp)) + (if (not (= (point) start)) + (setq multiple-lines t)) (forward-line -1)) - (not (bobp))) + (move-to-left-margin) + ;; Don't move back over a line before the paragraph + ;; which doesn't start with fill-prefix + ;; unless that is the only line we've moved over. + (and (not (looking-at fill-prefix-regexp)) + multiple-lines + (forward-line 1)) + (not (bobp))) (while (and (re-search-backward sp-paragraph-start nil 1) ;; Found a candidate, but need to check if it is a ;; REAL paragraph-start.