From: Richard M. Stallman Date: Sun, 17 Mar 1996 15:38:50 +0000 (+0000) Subject: (lisp-fill-paragraph): Treat code-and-comment case specially. X-Git-Tag: emacs-19.34~1043 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4d2790ad5122ee7a8cf9e2f031d7fb53b1e5a8ec;p=emacs.git (lisp-fill-paragraph): Treat code-and-comment case specially. --- diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index ea29b880bb3..9879b9f5fae 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -703,6 +703,9 @@ and initial semicolons." ;; Non-nil if the current line contains a comment. has-comment + ;; Non-nil if the current line contains code and a comment. + has-code-and-comment + ;; If has-comment, the appropriate fill-prefix for the comment. comment-fill-prefix ) @@ -732,7 +735,7 @@ and initial semicolons." ((memq (char-after (point)) '(?\" ??)) (forward-sexp 1)))) (looking-at ";+[\t ]*")) (error nil)) - (setq has-comment t) + (setq has-comment t has-code-and-comment t) (setq comment-fill-prefix (concat (make-string (/ (current-column) 8) ?\t) (make-string (% (current-column) 8) ?\ ) @@ -765,11 +768,19 @@ and initial semicolons." (paragraph-separate (concat paragraph-start "\\|[ \t;]*$")) (paragraph-ignore-fill-prefix nil) (fill-prefix comment-fill-prefix) + (after-line (if has-code-and-comment + (save-excursion + (forward-line 1) (point)))) (end (progn (forward-paragraph) (or (bolp) (newline 1)) (point))) - (beg (progn (backward-paragraph) (point)))) + ;; If this comment starts on a line with code, + ;; include that like in the filling. + (beg (progn (backward-paragraph) + (if (eq (point) after-line) + (forward-line -1)) + (point)))) (fill-region-as-paragraph beg end justify nil (save-excursion @@ -779,7 +790,6 @@ and initial semicolons." (re-search-forward comment-start-skip) (point)))))))) t)) - (defun indent-code-rigidly (start end arg &optional nochange-regexp) "Indent all lines of code, starting in the region, sideways by ARG columns.