Mercurial > emacs
changeset 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 | 2189edb30955 |
children | 615f7101473a |
files | src/eval.c |
diffstat | 1 files changed, 6 insertions(+), 3 deletions(-) [+] |
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;