aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEric S. Raymond1993-04-28 17:08:18 +0000
committerEric S. Raymond1993-04-28 17:08:18 +0000
commit5739ce6baf9de29afa1645045544942523da4313 (patch)
treefe000c1c25cff197c2329080bdb4079825ea3d4d /src
parente4c8c838e9af5d24569ba8f2fada41aa0cd3a168 (diff)
downloademacs-5739ce6baf9de29afa1645045544942523da4313.tar.gz
emacs-5739ce6baf9de29afa1645045544942523da4313.zip
(do_autoload): Fixed the bug in the autoload-saving code.
Diffstat (limited to 'src')
-rw-r--r--src/eval.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/eval.c b/src/eval.c
index 445ff088164..8cd05ca7fe1 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1391,7 +1391,6 @@ do_autoload (fundef, funname)
1391 Vautoload_queue = Qt; 1391 Vautoload_queue = Qt;
1392 Fload (Fcar (Fcdr (fundef)), Qnil, noninteractive ? Qt : Qnil, Qnil); 1392 Fload (Fcar (Fcdr (fundef)), Qnil, noninteractive ? Qt : Qnil, Qnil);
1393 1393
1394#ifdef UNLOAD
1395 /* Save the old autoloads, in case we ever do an unload. */ 1394 /* Save the old autoloads, in case we ever do an unload. */
1396 queue = Vautoload_queue; 1395 queue = Vautoload_queue;
1397 while (CONSP (queue)) 1396 while (CONSP (queue))
@@ -1399,11 +1398,15 @@ do_autoload (fundef, funname)
1399 first = Fcar (queue); 1398 first = Fcar (queue);
1400 second = Fcdr (first); 1399 second = Fcdr (first);
1401 first = Fcar (first); 1400 first = Fcar (first);
1402 if (!EQ (second, Qnil)) 1401
1402 /* Note: This test is subtle. The cdr of an autoload-queue entry
1403 may be an atom if the autoload entry was generated by a defalias
1404 or fset. */
1405 if (CONSP (second))
1403 Fput(first, Qautoload, (Fcdr (second))); 1406 Fput(first, Qautoload, (Fcdr (second)));
1407
1404 queue = Fcdr (queue); 1408 queue = Fcdr (queue);
1405 } 1409 }
1406#endif /* UNLOAD */
1407 1410
1408 /* Once loading finishes, don't undo it. */ 1411 /* Once loading finishes, don't undo it. */
1409 Vautoload_queue = Qt; 1412 Vautoload_queue = Qt;