Fix bug that C-x DEL deleted a newline before paragraph.
authorRichard M. Stallman <rms@gnu.org>
Thu, 22 Sep 2011 13:34:02 +0000 (09:34 -0400)
committerRichard M. Stallman <rms@gnu.org>
Thu, 22 Sep 2011 13:34:02 +0000 (09:34 -0400)
lisp/ChangeLog
lisp/textmodes/paragraphs.el

index 013df43..5278fb3 100644 (file)
@@ -1,3 +1,8 @@
+2011-09-22  Richard Stallman  <rms@gnu.org>
+
+       * textmodes/paragraphs.el (forward-sentence): When setting PAR-BEG,
+       move back only to line beg, don't move back over blank lines.
+
 2011-09-22  Michael Albinus  <michael.albinus@gmx.de>
 
        * files.el (copy-directory): Set directory attributes only in case
index a0892b5..5945404 100644 (file)
@@ -456,21 +456,25 @@ sentences.  Also, every paragraph boundary terminates sentences as well."
         (sentence-end (sentence-end)))
     (while (< arg 0)
       (let ((pos (point))
-           ;; We used to use (start-of-paragraph-text), but this can
-           ;; prevent sentence-end from matching if it is anchored at
-           ;; BOL and the paragraph starts indented.
-           (par-beg (save-excursion (backward-paragraph) (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)))
+           (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))))
+       (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)))
       (setq arg (1+ arg)))
     (while (> arg 0)
       (let ((par-end (save-excursion (end-of-paragraph-text) (point))))
-       (if (re-search-forward sentence-end par-end t)
-          (skip-chars-backward " \t\n")
-        (goto-char par-end)))
+       (if (re-search-forward sentence-end par-end t)
+           (skip-chars-backward " \t\n")
+         (goto-char par-end)))
       (setq arg (1- arg)))
     (constrain-to-field nil opoint t)))