+2007-10-14 Juanma Barranquero <lekktu@gmail.com>
+
+ * eval.c (do_autoload): Don't save autoloads.
+
+ * data.c (Ffset): Save autoload of the function being set.
+
2007-10-07 John Paul Wallington <jpw@pobox.com>
* xfns.c (x_create_tip_frame): Set the `display-type' frame
2007-10-01 Juanma Barranquero <lekktu@gmail.com>
- * lread.c (Fload): Fix typo in docstring.
+ * lread.c (Fload): Fix typo in docstring.
2007-09-29 Juri Linkov <juri@jurta.org>
(symbol, definition)
register Lisp_Object symbol, definition;
{
+ register Lisp_Object function;
+
CHECK_SYMBOL (symbol);
if (NILP (symbol) || EQ (symbol, Qt))
xsignal1 (Qsetting_constant, symbol);
- if (!NILP (Vautoload_queue) && !EQ (XSYMBOL (symbol)->function, Qunbound))
- Vautoload_queue = Fcons (Fcons (symbol, XSYMBOL (symbol)->function),
- Vautoload_queue);
+
+ function = XSYMBOL (symbol)->function;
+
+ if (!NILP (Vautoload_queue) && !EQ (function, Qunbound))
+ Vautoload_queue = Fcons (Fcons (symbol, function), Vautoload_queue);
+
+ if (CONSP (function) && EQ (XCAR (function), Qautoload))
+ Fput (symbol, Qautoload, XCDR (function));
+
XSYMBOL (symbol)->function = definition;
/* Handle automatic advice activation */
if (CONSP (XSYMBOL (symbol)->plist) && !NILP (Fget (symbol, Qad_advice_info)))