diff lisp/fill.el @ 398:74fd4e045ea6 r21-2-29

Import from CVS: tag r21-2-29
author cvs
date Mon, 13 Aug 2007 11:13:30 +0200
parents 8626e4521993
children 697ef44129c6
line wrap: on
line diff
--- a/lisp/fill.el	Mon Aug 13 11:12:06 2007 +0200
+++ b/lisp/fill.el	Mon Aug 13 11:13:30 2007 +0200
@@ -33,7 +33,7 @@
 
 ;; 97/3/14 Jareth Hein (jhod@po.iijnet.or.jp) added functions for kinsoku (asian text
 ;; line break processing)
-;; 97/06/11 Steve Baur (steve@altair.xemacs.org) converted broken
+;; 97/06/11 Steve Baur (steve@xemacs.org) converted broken
 ;;  following-char/preceding-char calls to char-after/char-before.
 
 ;;; Code:
@@ -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)))))
@@ -382,7 +383,7 @@
 	  (skip-chars-forward " \t")
 	  ;; Then change all newlines to spaces.
 	  ;;; 97/3/14 jhod: Kinsoku change
-	  ;; Spacing is not necessary for charcters of no word-separater.
+	  ;; Spacing is not necessary for characters of no word-separator.
 	  ;; The regexp word-across-newline is used for this check.
 	  (defvar word-across-newline)
 	  (if (not (and (featurep 'mule)
@@ -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))