From 4c06fbeee7679e38fdeb89978749b794703daa35 Mon Sep 17 00:00:00 2001 From: Karl Heuer Date: Wed, 21 Feb 1996 21:26:11 +0000 Subject: [PATCH] (lisp-fill-paragraph): When filling a comment, find paragraph bounds by hand, and pass the SQUEEZE-AFTER arg to fill-region-as-paragraph. --- lisp/emacs-lisp/lisp-mode.el | 56 ++++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 21 deletions(-) diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index ceed10f5af6..df288f9339f 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -740,28 +740,42 @@ and initial semicolons." (fill-paragraph justify) ;; Narrow to include only the comment, and then fill the region. - (save-restriction - (beginning-of-line) - (narrow-to-region - ;; Find the first line we should include in the region to fill. - (save-excursion - (while (and (zerop (forward-line -1)) - (looking-at "^[ \t]*;"))) - ;; We may have gone too far. Go forward again. - (or (looking-at ".*;") - (forward-line 1)) - (point)) - ;; Find the beginning of the first line past the region to fill. - (save-excursion - (while (progn (forward-line 1) + (save-excursion + (save-restriction + (beginning-of-line) + (narrow-to-region + ;; Find the first line we should include in the region to fill. + (save-excursion + (while (and (zerop (forward-line -1)) (looking-at "^[ \t]*;"))) - (point))) - - ;; Lines with only semicolons on them can be paragraph boundaries. - (let ((paragraph-start (concat paragraph-start "\\|[ \t;]*$")) - (paragraph-separate (concat paragraph-start "\\|[ \t;]*$")) - (fill-prefix comment-fill-prefix)) - (fill-paragraph justify)))) + ;; We may have gone too far. Go forward again. + (or (looking-at ".*;") + (forward-line 1)) + (point)) + ;; Find the beginning of the first line past the region to fill. + (save-excursion + (while (progn (forward-line 1) + (looking-at "^[ \t]*;"))) + (point))) + + ;; Lines with only semicolons on them can be paragraph boundaries. + (let* ((paragraph-start (concat paragraph-start "\\|[ \t;]*$")) + (paragraph-separate (concat paragraph-start "\\|[ \t;]*$")) + (paragraph-ignore-fill-prefix nil) + (fill-prefix comment-fill-prefix) + (end (progn + (forward-paragraph) + (or (bolp) (newline 1)) + (point))) + (beg (progn (backward-paragraph) (point)))) + (fill-region-as-paragraph beg end + justify nil + (save-excursion + (goto-char beg) + (if (looking-at fill-prefix) + nil + (re-search-forward comment-start-skip) + (point)))))))) t)) -- 2.39.2