Source

vm / make-autoloads

Diff from to

make-autoloads

 
 (defun print-autoloads ()
   (let ((files (cdr (member "print-autoloads" command-line-args)))
-	;; kludge for broken v19 emacs.  It's supposed to accept
+	;; kludge for broken v19 emacs.  it's supposed to accept
 	;; t in autoloads to mean 'macro but it doesn't.  this
 	;; kludge will screw people who try to byte-compile VM
 	;; with emacs18 for emacs19.
 	  (while t
 	    (setq sexp (read (current-buffer)))
 	    (if (and (consp sexp) (cdr sexp)
-		     (memq (car sexp) '(defun defmacro defsubst)))
+		     (memq (car sexp) '(defun defmacro defsubst fset)))
 		(progn
 		  (if (memq (car sexp) '(defmacro defsubst))
 		      (setq macro macro-flag)
 		    (setq macro nil))
-		  (setq sexp (cdr sexp)
-			function (car sexp)
-			sexp (cdr (cdr sexp)))
-		  (if (stringp (car sexp))
-		      (setq doc (car sexp)
-			    sexp (cdr sexp))
-		    (setq doc nil))
-		  (if (and (consp (car sexp))
-			   (eq (car (car sexp)) 'interactive))
-		      (setq interactive t)
-		    (setq interactive nil))
+		  (if (eq (car sexp) 'fset)
+		      (setq sexp (cdr sexp)
+			    function (eval (car sexp))
+			    interactive nil
+			    doc nil)
+		    (setq sexp (cdr sexp)
+			  function (car sexp)
+			  sexp (cdr (cdr sexp)))
+		    (if (stringp (car sexp))
+			(setq doc (car sexp)
+			      sexp (cdr sexp))
+		      (setq doc nil))
+		    (if (and (consp (car sexp))
+			     (eq (car (car sexp)) 'interactive))
+			(setq interactive t)
+		      (setq interactive nil)))
 		  (if (string-match "\\.el$" (car files))
 		      (setq file (substring (car files) 0 -3))
 		    (setq file (car files)))