diff lisp/textmodes/refill.el @ 51335:816e3b31173a

(refill-adjust-ignorable-overlay): Don't hardcode pint-min == 1. (refill-fill-paragraph-at): Use a more robust method to detect when the paragraph is after point. Remove unused var `fill-pfx'.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 30 May 2003 18:28:16 +0000
parents c41cc5ded813
children 5109a6b6910a
line wrap: on
line diff
--- a/lisp/textmodes/refill.el	Fri May 30 16:02:26 2003 +0000
+++ b/lisp/textmodes/refill.el	Fri May 30 18:28:16 2003 +0000
@@ -1,6 +1,6 @@
 ;;; refill.el --- `auto-fill' by refilling paragraphs on changes
 
-;; Copyright (C) 2000 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2003  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: wp
@@ -101,53 +101,49 @@
       (forward-line -1)
       (if (<= (point) (overlay-start overlay))
 	  ;; Just get OVERLAY out of the way
-	  (move-overlay overlay 1 1)
+	  (move-overlay overlay (point-min) (point-min))
 	;; Make overlay contain only the region
 	(move-overlay overlay (overlay-start overlay) (point))))))
 
 (defun refill-fill-paragraph-at (pos &optional arg)
   "Like `fill-paragraph' at POS, but don't delete whitespace at paragraph end."
-  (let (fill-pfx)
-    (save-excursion
-      (goto-char pos)
-      (unless (or (and (bolp) (eolp))
-		  (save-match-data (looking-at "\n\n")))
-	;; FIXME: forward-paragraph seems to disregard `use-hard-newlines',
-	;; leading to excessive refilling and wrong choice of fill-prefix.
-	;; might be a bug in my paragraphs.el.
-	(forward-paragraph)
-	(skip-syntax-backward "-")
-	(let ((end (point))
-	      (beg (progn (backward-paragraph) (point)))
-	      (obeg (overlay-start refill-ignorable-overlay))
-	      (oend (overlay-end refill-ignorable-overlay)))
-	  (goto-char pos)
-	  (if (and (>= beg obeg) (< beg oend))
-	      ;; Limit filling to the modified tail of the paragraph.
-	      (let ( ;; When adaptive-fill-mode is enabled, the filling
-		    ;; functions will attempt to set the fill prefix from
-		    ;; the fake paragraph bounds we pass in, so set it
-		    ;; ourselves first, using the real paragraph bounds.
-		    (fill-prefix
-		     (if (and adaptive-fill-mode
-			      (or (null fill-prefix) (string= fill-prefix "")))
-			 (fill-context-prefix beg end)
-		       fill-prefix))
-		    ;; Turn off adaptive-fill-mode temporarily
-		    (adaptive-fill-mode nil))
-		(save-restriction
-		  (if use-hard-newlines
-		      (fill-region oend end arg)
-		    (fill-region-as-paragraph oend end arg)))
-		(setq fill-pfx fill-prefix)
-		(move-overlay refill-ignorable-overlay obeg (point)))
-	    ;; Fill the whole paragraph
-	    (setq fill-pfx
-		  (save-restriction
-		    (if use-hard-newlines
-			(fill-region beg end arg)
-		      (fill-region-as-paragraph beg end arg))))
-	    (move-overlay refill-ignorable-overlay beg (point))))))))
+  (save-excursion
+    (goto-char pos)
+    ;; FIXME: forward-paragraph seems to disregard `use-hard-newlines',
+    ;; leading to excessive refilling and wrong choice of fill-prefix.
+    ;; might be a bug in my paragraphs.el.
+    (forward-paragraph)
+    (skip-syntax-backward "-")
+    (let ((end (point))
+	  (beg (progn (backward-paragraph) (point)))
+	  (obeg (overlay-start refill-ignorable-overlay))
+	  (oend (overlay-end refill-ignorable-overlay)))
+      (unless (> beg pos)      ;Don't fill if point is outside the paragraph.
+	(goto-char pos)
+	(if (and (>= beg obeg) (< beg oend))
+	    ;; Limit filling to the modified tail of the paragraph.
+	    (let ( ;; When adaptive-fill-mode is enabled, the filling
+		  ;; functions will attempt to set the fill prefix from
+		  ;; the fake paragraph bounds we pass in, so set it
+		  ;; ourselves first, using the real paragraph bounds.
+		  (fill-prefix
+		   (if (and adaptive-fill-mode
+			    (or (null fill-prefix) (string= fill-prefix "")))
+		       (fill-context-prefix beg end)
+		     fill-prefix))
+		  ;; Turn off adaptive-fill-mode temporarily
+		  (adaptive-fill-mode nil))
+	      (save-restriction
+		(if use-hard-newlines
+		    (fill-region oend end arg)
+		  (fill-region-as-paragraph oend end arg)))
+	      (move-overlay refill-ignorable-overlay obeg (point)))
+	  ;; Fill the whole paragraph
+	  (save-restriction
+	    (if use-hard-newlines
+		(fill-region beg end arg)
+	      (fill-region-as-paragraph beg end arg)))
+	  (move-overlay refill-ignorable-overlay beg (point)))))))
 
 (defun refill-fill-paragraph (arg)
   "Like `fill-paragraph' but don't delete whitespace at paragraph end."