Mercurial > emacs
diff src/eval.c @ 2599:5122736c0a03
(do_autoload): Fixed the bug in the autoload-saving code.
| author | Eric S. Raymond <esr@snark.thyrsus.com> |
|---|---|
| date | Wed, 28 Apr 1993 17:08:18 +0000 |
| parents | ee5b45777c6f |
| children | e94a593c3952 |
line wrap: on
line diff
--- a/src/eval.c Wed Apr 28 17:08:14 1993 +0000 +++ b/src/eval.c Wed Apr 28 17:08:18 1993 +0000 @@ -1391,7 +1391,6 @@ Vautoload_queue = Qt; Fload (Fcar (Fcdr (fundef)), Qnil, noninteractive ? Qt : Qnil, Qnil); -#ifdef UNLOAD /* Save the old autoloads, in case we ever do an unload. */ queue = Vautoload_queue; while (CONSP (queue)) @@ -1399,11 +1398,15 @@ first = Fcar (queue); second = Fcdr (first); first = Fcar (first); - if (!EQ (second, Qnil)) + + /* Note: This test is subtle. The cdr of an autoload-queue entry + may be an atom if the autoload entry was generated by a defalias + or fset. */ + if (CONSP (second)) Fput(first, Qautoload, (Fcdr (second))); + queue = Fcdr (queue); } -#endif /* UNLOAD */ /* Once loading finishes, don't undo it. */ Vautoload_queue = Qt;
