changeset 1332:955ebdb98095

(fill-paragraph): Don't actually change point before calling fill-region-as-paragraph. (fill-region-as-paragraph): Save point on undo list at start.
author Richard M. Stallman <rms@gnu.org>
date Sun, 04 Oct 1992 04:10:02 +0000
parents dd2c33afcef2
children 5054c696885d
files lisp/textmodes/fill.el
diffstat 1 files changed, 11 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/textmodes/fill.el	Sun Oct 04 03:46:01 1992 +0000
+++ b/lisp/textmodes/fill.el	Sun Oct 04 04:10:02 1992 +0000
@@ -57,6 +57,9 @@
 Prefix arg means justify too.
 From program, pass args FROM, TO and JUSTIFY-FLAG."
   (interactive "r\nP")
+  ;; Arrange for undoing the fill to restore point.
+  (if (and buffer-undo-list (not (eq buffer-undo-list t)))
+      (setq buffer-undo-list (cons (point) buffer-undo-list)))
   ;; Don't let Adaptive Fill mode alter the fill prefix permanently.
   (let ((fill-prefix fill-prefix))
     ;; Figure out how this paragraph is indented, if desired.
@@ -195,12 +198,14 @@
 (defun fill-paragraph (arg)
   "Fill paragraph at or after point.  Prefix arg means justify as well."
   (interactive "P")
-  (save-excursion
-    (forward-paragraph)
-    (or (bolp) (newline 1))
-    (let ((end (point)))
-      (backward-paragraph)
-      (fill-region-as-paragraph (point) end arg))))
+  (let ((before (point)))
+    (save-excursion
+      (forward-paragraph)
+      (or (bolp) (newline 1))
+      (let ((end (point))
+	    (beg (progn (backward-paragraph) (point))))
+	(goto-char before)
+	(fill-region-as-paragraph beg end arg)))))
 
 (defun fill-region (from to &optional justify-flag)
   "Fill each of the paragraphs in the region.