From e488d29cecd63f466c3a27ce9970715e28c330da Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Fri, 23 Sep 2011 19:55:52 -0400 Subject: [PATCH] For moving backward sentences, distinguish start of paragraph from start of its text. --- lisp/ChangeLog | 3 +++ lisp/textmodes/paragraphs.el | 22 +++++++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1c21b12b8de..a7e9afc96c6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2011-09-23 Richard Stallman + * textmodes/paragraphs.el (forward-sentence): For backwards case, + distinguish start of paragraph from start of its text. + * mail/emacsbug.el (report-emacs-bug-query-existing-bugs): Autoload. * mail/rmail.el (rmail-view-buffer-kill-buffer-hook): New function. diff --git a/lisp/textmodes/paragraphs.el b/lisp/textmodes/paragraphs.el index 59454043c4e..8fd055f7d87 100644 --- a/lisp/textmodes/paragraphs.el +++ b/lisp/textmodes/paragraphs.el @@ -456,19 +456,23 @@ sentences. Also, every paragraph boundary terminates sentences as well." (sentence-end (sentence-end))) (while (< arg 0) (let ((pos (point)) - (par-beg - (save-excursion - (start-of-paragraph-text) - ;; Move PAR-BEG back over indentation - ;; to allow s1entence-end to match if it is anchored at - ;; BOL and the paragraph starts indented. - (beginning-of-line) - (point)))) + par-beg par-text-beg) + (save-excursion + (start-of-paragraph-text) + ;; Start of real text in the paragraph. + ;; We move back to here if we don't see a sentence-end. + (setq par-text-beg (point)) + ;; Start of the first line of the paragraph. + ;; We use this as the search limit + ;; to allow s1entence-end to match if it is anchored at + ;; BOL and the paragraph starts indented. + (beginning-of-line) + (setq par-beg (point))) (if (and (re-search-backward sentence-end par-beg t) (or (< (match-end 0) pos) (re-search-backward sentence-end par-beg t))) (goto-char (match-end 0)) - (goto-char par-beg))) + (goto-char par-text-beg))) (setq arg (1+ arg))) (while (> arg 0) (let ((par-end (save-excursion (end-of-paragraph-text) (point)))) -- 2.39.2