changeset 48718:c1ae448c795b

(autoload-print-form-outbuf): New variable. (autoload-print-form): Use autoload-print-form-outbuf. (generate-file-autoloads): Bind autoload-print-form-outbuf.
author Richard M. Stallman <rms@gnu.org>
date Sat, 07 Dec 2002 21:31:58 +0000
parents b243692710b4
children 0cc3c6bc6da0
files lisp/emacs-lisp/autoload.el
diffstat 1 files changed, 9 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/autoload.el	Sat Dec 07 21:30:57 2002 +0000
+++ b/lisp/emacs-lisp/autoload.el	Sat Dec 07 21:31:58 2002 +0000
@@ -164,16 +164,20 @@
 	(goto-char (point-min))
 	(read (current-buffer))))))
 
-;; !! Requires OUTBUF to be bound !!
+(defvar autoload-print-form-outbuf)
+
 (defun autoload-print-form (form)
-  "Print FORM such that make-docfile will find the docstrings."
+  "Print FORM such that `make-docfile' will find the docstrings.
+The variable `autoload-print-form-outbuf' specifies the buffer to
+put the output in."
   (cond
    ;; If the form is a sequence, recurse.
    ((eq (car form) 'progn) (mapcar 'autoload-print-form (cdr form)))
    ;; Symbols at the toplevel are meaningless.
    ((symbolp form) nil)
    (t
-    (let ((doc-string-elt (get (car-safe form) 'doc-string-elt)))
+    (let ((doc-string-elt (get (car-safe form) 'doc-string-elt))
+	  (outbuf autoload-print-form-outbuf))
       (if (and doc-string-elt (stringp (nth doc-string-elt form)))
 	  ;; We need to hack the printing because the
 	  ;; doc-string must be printed specially for
@@ -317,7 +321,8 @@
 			      (setq autoloads-done (cons (nth 1 form)
 							 autoloads-done))
 			    (setq autoload form))
-			  (autoload-print-form autoload))
+			  (let ((autoload-print-form-outbuf outbuf))
+			    (autoload-print-form autoload)))
 	 
 		      ;; Copy the rest of the line to the output.
 		      (princ (buffer-substring