(lisp-mode-auto-fill): New function.
authorRichard M. Stallman <rms@gnu.org>
Mon, 24 Nov 1997 03:32:20 +0000 (03:32 +0000)
committerRichard M. Stallman <rms@gnu.org>
Mon, 24 Nov 1997 03:32:20 +0000 (03:32 +0000)
(lisp-mode-variables): Bind normal-auto-fill-function.

lisp/emacs-lisp/lisp-mode.el

index fa253e0..f6a09ea 100644 (file)
   ;; because lisp-fill-paragraph should do the job.
   (make-local-variable 'adaptive-fill-mode)
   (setq adaptive-fill-mode nil)
+  (make-local-variable 'normal-auto-fill-function)
+  (setq normal-auto-fill-function 'lisp-mode-auto-fill)
   (make-local-variable 'indent-line-function)
   (setq indent-line-function 'lisp-indent-line)
   (make-local-variable 'indent-region-function)
@@ -362,6 +364,17 @@ With argument, insert value in current buffer after the defun."
       (max (if (bolp) 0 (1+ (current-column)))
           comment-column))))
 
+(defun lisp-mode-auto-fill ()
+  (if (> (current-column) (current-fill-column))
+      (if (save-excursion
+           (nth 4 (parse-partial-sexp (save-excursion
+                                        (beginning-of-defun)
+                                        (point))
+                                      (point))))
+         (do-auto-fill)
+       (let ((comment-start nil) (comment-start-skip nil))
+         (do-auto-fill)))))
+
 (defvar lisp-indent-offset nil "")
 (defvar lisp-indent-function 'lisp-indent-function "")