# HG changeset patch # User Richard M. Stallman # Date 1039296718 0 # Node ID c1ae448c795bcf83ab3c5f108f941d3e83140af8 # Parent b243692710b42262c379f313827f1eef9b157dde (autoload-print-form-outbuf): New variable. (autoload-print-form): Use autoload-print-form-outbuf. (generate-file-autoloads): Bind autoload-print-form-outbuf. diff -r b243692710b4 -r c1ae448c795b lisp/emacs-lisp/autoload.el --- 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