diff lisp/fill.el @ 422:95016f13131a r21-2-19

Import from CVS: tag r21-2-19
author cvs
date Mon, 13 Aug 2007 11:25:01 +0200
parents 697ef44129c6
children
line wrap: on
line diff
--- a/lisp/fill.el	Mon Aug 13 11:24:10 2007 +0200
+++ b/lisp/fill.el	Mon Aug 13 11:25:01 2007 +0200
@@ -226,9 +226,10 @@
       ;; XEmacs change
       (if (not dont-skip-first)
 	  (forward-line 1))
-      (if (>= (point) to)
-	  (goto-char firstline)
-	(setq at-second t))
+      (cond ((>= (point) to)
+	     (goto-char firstline))
+	    ((/= (point) from)
+	     (setq at-second t)))
       (move-to-left-margin)
       ;; XEmacs change
       (let ((start (point))
@@ -236,7 +237,7 @@
 	    ;(eol (save-excursion (end-of-line) (point)))
 	    )
 	(setq result
-	      (if (not (looking-at paragraph-start))
+	      (if (or dont-skip-first (not (looking-at paragraph-start)))
 		  (cond ((and adaptive-fill-regexp (looking-at adaptive-fill-regexp))
 			 (buffer-substring-no-properties start (match-end 0)))
 			(adaptive-fill-function (funcall adaptive-fill-function)))))
@@ -429,7 +430,8 @@
 	  ;; This is the actual filling loop.
 	  (let ((prefixcol 0) linebeg
 		(re-break-point (if (featurep 'mule)
-				    (concat "[ \n\t]\\|" word-across-newline)
+				    (concat "[ \n\t]\\|" word-across-newline
+					    ".\\|." word-across-newline)
 				  "[ \n\t]")))
 	    (while (not (eobp))
 	      (setq linebeg (point))