changeset 14817:cdd8a024f000

(lisp-fill-paragraph): Treat code-and-comment case specially.
author Richard M. Stallman <rms@gnu.org>
date Sun, 17 Mar 1996 15:38:50 +0000
parents 485422b900d3
children 3349089ced14
files lisp/emacs-lisp/lisp-mode.el
diffstat 1 files changed, 13 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/lisp-mode.el	Sun Mar 17 15:37:36 1996 +0000
+++ b/lisp/emacs-lisp/lisp-mode.el	Sun Mar 17 15:38:50 1996 +0000
@@ -703,6 +703,9 @@
 	;; 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 @@
 		 ((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 @@
 		 (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 @@
 					  (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.