diff options
| author | Richard M. Stallman | 1993-06-17 06:59:49 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1993-06-17 06:59:49 +0000 |
| commit | c751663136a7c61b1a47c45e80c60311b54ed95b (patch) | |
| tree | dfd23e659355fd5f62607c5339cd0d30d710d08e | |
| parent | 590cc44988b4ba7cd6fa8e3126d2d91c2760afd6 (diff) | |
| download | emacs-c751663136a7c61b1a47c45e80c60311b54ed95b.tar.gz emacs-c751663136a7c61b1a47c45e80c60311b54ed95b.zip | |
(generate-file-autoloads): Undo previous change
because make-docfile requires defvar doc string to start on first line.
| -rw-r--r-- | lisp/emacs-lisp/autoload.el | 105 |
1 files changed, 37 insertions, 68 deletions
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index f927c025632..b7f5dad4d3e 100644 --- a/lisp/emacs-lisp/autoload.el +++ b/lisp/emacs-lisp/autoload.el | |||
| @@ -146,83 +146,52 @@ are used." | |||
| 146 | (setq done-any t) | 146 | (setq done-any t) |
| 147 | (if (eolp) | 147 | (if (eolp) |
| 148 | ;; Read the next form and make an autoload. | 148 | ;; Read the next form and make an autoload. |
| 149 | (let* ((before (point)) | 149 | (let* ((form (prog1 (read (current-buffer)) |
| 150 | (form (prog1 (read (current-buffer)) | ||
| 151 | (forward-line 1))) | 150 | (forward-line 1))) |
| 152 | (autoload (make-autoload form load-name)) | 151 | (autoload (make-autoload form load-name)) |
| 153 | (doc-string-elt (get (car-safe form) | 152 | (doc-string-elt (get (car-safe form) |
| 154 | 'doc-string-elt))) | 153 | 'doc-string-elt))) |
| 155 | (if (null autoload) | 154 | (if autoload |
| 156 | ;; We are copying a defvar or defconst form. | 155 | (setq autoloads-done (cons (nth 1 form) |
| 157 | ;; Copy the text instead of printing the form, | 156 | autoloads-done)) |
| 158 | ;; so as to preserve the original formatting. | 157 | (setq autoload form)) |
| 159 | (let ((inbuf (current-buffer)) | 158 | (if (and doc-string-elt |
| 160 | (after (point))) | 159 | (stringp (nth doc-string-elt autoload))) |
| 161 | (save-excursion | 160 | ;; We need to hack the printing because the |
| 162 | (set-buffer outbuf) | 161 | ;; doc-string must be printed specially for |
| 163 | ;; Insert the form. | 162 | ;; make-docfile (sigh). |
| 164 | (insert-buffer-substring inbuf before after) | 163 | (let* ((p (nthcdr (1- doc-string-elt) |
| 165 | (and doc-string-elt | 164 | autoload)) |
| 166 | (stringp (nth doc-string-elt form)) | 165 | (elt (cdr p))) |
| 167 | ;; The form has a docstring. | 166 | (setcdr p nil) |
| 168 | ;; Hack it for make-docfile. | 167 | (princ "\n(" outbuf) |
| 169 | (save-excursion | 168 | (mapcar (function (lambda (elt) |
| 170 | ;; Move point back to FORM's start. | 169 | (prin1 elt outbuf) |
| 171 | (backward-char (- after before)) | 170 | (princ " " outbuf))) |
| 172 | (skip-chars-forward " \t\n") | 171 | autoload) |
| 173 | (or (looking-at "(") | 172 | (princ "\"\\\n" outbuf) |
| 174 | (error "expected (")) | 173 | (princ (substring |
| 175 | (forward-char 1) ; Skip the paren. | 174 | (prin1-to-string (car elt)) 1) |
| 176 | ;; Skip sexps before the docstring. | 175 | outbuf) |
| 177 | (forward-sexp doc-string-elt) | 176 | (if (null (cdr elt)) |
| 178 | (skip-chars-forward " \t") | 177 | (princ ")" outbuf) |
| 179 | (if (eolp) (delete-char 1)) | 178 | (princ " " outbuf) |
| 180 | (skip-chars-forward " \t") | ||
| 181 | (or (looking-at "\"") | ||
| 182 | (error "expected \"")) | ||
| 183 | (forward-char 1) ; Skip the ". | ||
| 184 | (insert "\\\n"))) ;make-docfile happy. | ||
| 185 | (goto-char after))) | ||
| 186 | ;; Write the autoload for this defun or defmacro. | ||
| 187 | (setq autoloads-done (cons (nth 1 form) | ||
| 188 | autoloads-done)) | ||
| 189 | (if (and doc-string-elt | ||
| 190 | (stringp (nth doc-string-elt autoload))) | ||
| 191 | ;; We need to hack the printing because the | ||
| 192 | ;; doc-string must be printed specially for | ||
| 193 | ;; make-docfile (sigh). | ||
| 194 | (let* ((p (nthcdr (1- doc-string-elt) | ||
| 195 | autoload)) | ||
| 196 | (elt (cdr p))) | ||
| 197 | (setcdr p nil) | ||
| 198 | (princ "\n(" outbuf) | ||
| 199 | (mapcar (function (lambda (elt) | ||
| 200 | (prin1 elt outbuf) | ||
| 201 | (princ " " outbuf))) | ||
| 202 | autoload) | ||
| 203 | (princ "\"\\\n" outbuf) | ||
| 204 | (princ (substring | 179 | (princ (substring |
| 205 | (prin1-to-string (car elt)) 1) | 180 | (prin1-to-string (cdr elt)) |
| 206 | outbuf) | 181 | 1) |
| 207 | (if (null (cdr elt)) | 182 | outbuf)) |
| 208 | (princ ")" outbuf) | 183 | (terpri outbuf)) |
| 209 | (princ " " outbuf) | 184 | (print autoload outbuf))) |
| 210 | (princ (substring | ||
| 211 | (prin1-to-string (cdr elt)) | ||
| 212 | 1) | ||
| 213 | outbuf)) | ||
| 214 | (terpri outbuf)) | ||
| 215 | (print autoload outbuf)))) | ||
| 216 | ;; Copy the rest of the line to the output. | 185 | ;; Copy the rest of the line to the output. |
| 217 | (let ((begin (point))) | 186 | (let ((begin (point))) |
| 218 | (forward-line 1) | 187 | (forward-line 1) |
| 219 | (princ (buffer-substring begin (point)) outbuf)))) | 188 | (princ (buffer-substring begin (point)) outbuf)))) |
| 220 | ((looking-at ";") | 189 | ((looking-at ";") |
| 221 | ;; Don't read the comment. | 190 | ;; Don't read the comment. |
| 222 | (forward-line 1)) | 191 | (forward-line 1)) |
| 223 | (t | 192 | (t |
| 224 | (forward-sexp 1) | 193 | (forward-sexp 1) |
| 225 | (forward-line 1))))))) | 194 | (forward-line 1))))))) |
| 226 | (or visited | 195 | (or visited |
| 227 | ;; We created this buffer, so we should kill it. | 196 | ;; We created this buffer, so we should kill it. |
| 228 | (kill-buffer (current-buffer))) | 197 | (kill-buffer (current-buffer))) |