changeset 105143:1afcc0df808d

(change-log-fill-forward-paragraph): New function. (change-log-mode): Use it so fill-region DTRT. Set fill-indent-according-to-mode here rather than in change-log-fill-paragraph. (change-log-fill-paragraph): Remove.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Tue, 22 Sep 2009 15:39:02 +0000
parents e2af9a73da8d
children 5be976c84fc7
files lisp/ChangeLog lisp/add-log.el
diffstat 2 files changed, 17 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Tue Sep 22 08:44:16 2009 +0000
+++ b/lisp/ChangeLog	Tue Sep 22 15:39:02 2009 +0000
@@ -1,3 +1,11 @@
+2009-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* add-log.el (change-log-fill-forward-paragraph): New function.
+	(change-log-mode): Use it so fill-region DTRT.
+	Set fill-indent-according-to-mode here rather than in
+	change-log-fill-paragraph.
+	(change-log-fill-paragraph): Remove.
+
 2009-09-22  Juanma Barranquero  <lekktu@gmail.com>
 
 	* info.el (Info-try-follow-nearest-node): Use the URL extracted by
--- a/lisp/add-log.el	Tue Sep 22 08:44:16 2009 +0000
+++ b/lisp/add-log.el	Tue Sep 22 15:39:02 2009 +0000
@@ -1029,8 +1029,10 @@
 	indent-tabs-mode t
 	tab-width 8
 	show-trailing-whitespace t)
-  (set (make-local-variable 'fill-paragraph-function)
-       'change-log-fill-paragraph)
+  (set (make-local-variable 'fill-forward-paragraph-function)
+       'change-log-fill-forward-paragraph)
+  ;; Make sure we call `change-log-indent' when filling.
+  (set (make-local-variable 'fill-indent-according-to-mode) t)
   ;; Avoid that filling leaves behind a single "*" on a line.
   (add-hook 'fill-nobreak-predicate
 	    '(lambda ()
@@ -1086,23 +1088,12 @@
        (cadr (member (file-name-nondirectory (buffer-file-name buffer))
 		     files))))))
 
-;; It might be nice to have a general feature to replace this.  The idea I
-;; have is a variable giving a regexp matching text which should not be
-;; moved from bol by filling.  change-log-mode would set this to "^\\s *\\s(".
-;; But I don't feel up to implementing that today.
-(defun change-log-fill-paragraph (&optional justify)
-  "Fill the paragraph, but preserve open parentheses at beginning of lines.
-Prefix arg means justify as well."
-  (interactive "P")
-  (let ((end (progn (forward-paragraph) (point)))
-	(beg (progn (backward-paragraph) (point)))
-	;; Add lines starting with whitespace followed by a left paren or an
+(defun change-log-fill-forward-paragraph (n)
+  "Cut paragraphs so filling preserves open parentheses at beginning of lines."
+  (let (;; Add lines starting with whitespace followed by a left paren or an
 	;; asterisk.
-	(paragraph-start (concat paragraph-start "\\|\\s *\\(?:\\s(\\|\\*\\)"))
-	;; Make sure we call `change-log-indent'.
-	(fill-indent-according-to-mode t))
-    (fill-region beg end justify)
-    t))
+	(paragraph-start (concat paragraph-start "\\|\\s *\\(?:\\s(\\|\\*\\)")))
+    (forward-paragraph n)))
 
 (defcustom add-log-current-defun-header-regexp
   "^\\([[:upper:]][[:upper:]_ ]*[[:upper:]_]\\|[-_[:alpha:]]+\\)[ \t]*[:=]"