From 905b7d38170aebf5d0ebc2f401eabf3a3535cfae Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 22 Sep 2009 15:39:02 +0000 Subject: [PATCH] (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. --- lisp/ChangeLog | 8 ++++++++ lisp/add-log.el | 27 +++++++++------------------ 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 551497b17c2..820724277d9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2009-09-22 Stefan Monnier + + * 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 * info.el (Info-try-follow-nearest-node): Use the URL extracted by diff --git a/lisp/add-log.el b/lisp/add-log.el index c8b34a6e081..c3e8364f1f1 100644 --- a/lisp/add-log.el +++ b/lisp/add-log.el @@ -1029,8 +1029,10 @@ Runs `change-log-mode-hook'. 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 @@ file were isearch was started." (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]*[:=]" -- 2.11.4.GIT