]> code.delx.au - gnu-emacs/commitdiff
Fix spurious "cl--defsubst-expand might not be defined at runtime"
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 11 Oct 2012 20:08:38 +0000 (16:08 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 11 Oct 2012 20:08:38 +0000 (16:08 -0400)
* lisp/emacs-lisp/bytecomp.el (byte-compile-eval): Adjust to long-ago
changes to the format of load-history.
* src/eval.c (Fautoload): Remember previous autoload status in load-history.

lisp/ChangeLog
lisp/emacs-lisp/bytecomp.el
src/ChangeLog
src/eval.c

index ba105ce4716ae85144e580afca48d2b6b0f5566c..8d9c85c13260790d6ba05d3e6dacf50c112ffb5d 100644 (file)
@@ -1,5 +1,8 @@
 2012-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * emacs-lisp/bytecomp.el (byte-compile-eval): Adjust to long-ago
+       changes to the format of load-history.
+
        * international/mule-cmds.el (read-char-by-name): Move let-binding of
        completion-ignore-case in case that var is buffer-local (bug#12615).
 
index 4dd44bb6f2281c893ff0ae74fbdebef17484d1f8..7534ce5eaca835b1fd26da13253e6214ebaff947 100644 (file)
@@ -875,13 +875,11 @@ Each function's symbol gets added to `byte-compile-noruntime-functions'."
                               (byte-compile-cl-file-p (car xs))))
                (dolist (s xs)
                  (cond
-                  ((symbolp s)
-                   (unless (memq s old-autoloads)
-                     (push s byte-compile-noruntime-functions)))
                   ((and (consp s) (eq t (car s)))
                    (push (cdr s) old-autoloads))
-                  ((and (consp s) (eq 'autoload (car s)))
-                   (push (cdr s) byte-compile-noruntime-functions)))))))
+                  ((and (consp s) (memq (car s) '(autoload defun)))
+                   (unless (memq (cdr s) old-autoloads)
+                      (push (cdr s) byte-compile-noruntime-functions))))))))
          ;; Go through current-load-list for the locally defined funs.
          (let (old-autoloads)
            (while (and hist-nil-new (not (eq hist-nil-new hist-nil-orig)))
index c238af65d2d10dd8a3183a2d88abcb62da511b3a..839e7e52e0028dd0ba3f4092c787cc62bbc3f669 100644 (file)
@@ -1,3 +1,7 @@
+2012-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * eval.c (Fautoload): Remember previous autoload status in load-history.
+
 2012-10-11  Paul Eggert  <eggert@cs.ucla.edu>
 
        lread.c, macros.c, marker.c, menu.c, minibuf.c: Use bool for booleans.
index 4d200fbc2bdbe9302bc9d91c68f4898071f60d03..975204da01793d8dedcad92077521317765d0e41 100644 (file)
@@ -1876,9 +1876,11 @@ this does nothing and returns nil.  */)
   CHECK_STRING (file);
 
   /* If function is defined and not as an autoload, don't override.  */
-  if (!EQ (XSYMBOL (function)->function, Qunbound)
-      && !(CONSP (XSYMBOL (function)->function)
-          && EQ (XCAR (XSYMBOL (function)->function), Qautoload)))
+  if ((CONSP (XSYMBOL (function)->function)
+       && EQ (XCAR (XSYMBOL (function)->function), Qautoload)))
+    /* Remember that the function was already an autoload.  */
+    LOADHIST_ATTACH (Fcons (Qt, function));
+  else if (!EQ (XSYMBOL (function)->function, Qunbound))
     return Qnil;
 
   if (NILP (Vpurify_flag))