diff options
author | Richard M. Stallman <rms@gnu.org> | 1996-03-17 15:38:50 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1996-03-17 15:38:50 +0000 |
commit | 4d2790ad5122ee7a8cf9e2f031d7fb53b1e5a8ec (patch) | |
tree | e13a1abc5c5acf8a6b8f2c15422730cf9cb30961 /lisp/emacs-lisp | |
parent | af5eb153f539554ae71f038355d1184e73421b7b (diff) | |
download | emacs-4d2790ad5122ee7a8cf9e2f031d7fb53b1e5a8ec.tar.gz emacs-4d2790ad5122ee7a8cf9e2f031d7fb53b1e5a8ec.tar.bz2 emacs-4d2790ad5122ee7a8cf9e2f031d7fb53b1e5a8ec.zip |
(lisp-fill-paragraph): Treat code-and-comment case specially.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/lisp-mode.el | 16 |
1 files changed, 13 insertions, 3 deletions
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. |