aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJuanma Barranquero2007-10-14 18:02:05 +0000
committerJuanma Barranquero2007-10-14 18:02:05 +0000
commitfe4cd268c7b3a0f6c78939a6ad3e12ff9b2295f5 (patch)
tree6d9266bb521419dffccb9dbf6ebb816b6b7a7d97 /src
parent9ac66b454877410de28e8c13b3986d0dc7fa7b26 (diff)
downloademacs-fe4cd268c7b3a0f6c78939a6ad3e12ff9b2295f5.tar.gz
emacs-fe4cd268c7b3a0f6c78939a6ad3e12ff9b2295f5.zip
(Ffset): Save autoload of the function being set.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog8
-rw-r--r--src/data.c14
2 files changed, 18 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 27662e950a2..2317e4302a9 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12007-10-14 Juanma Barranquero <lekktu@gmail.com>
2
3 * eval.c (do_autoload): Don't save autoloads.
4
5 * data.c (Ffset): Save autoload of the function being set.
6
12007-10-07 John Paul Wallington <jpw@pobox.com> 72007-10-07 John Paul Wallington <jpw@pobox.com>
2 8
3 * xfns.c (x_create_tip_frame): Set the `display-type' frame 9 * xfns.c (x_create_tip_frame): Set the `display-type' frame
@@ -63,7 +69,7 @@
63 69
642007-10-01 Juanma Barranquero <lekktu@gmail.com> 702007-10-01 Juanma Barranquero <lekktu@gmail.com>
65 71
66 * lread.c (Fload): Fix typo in docstring. 72 * lread.c (Fload): Fix typo in docstring.
67 73
682007-09-29 Juri Linkov <juri@jurta.org> 742007-09-29 Juri Linkov <juri@jurta.org>
69 75
diff --git a/src/data.c b/src/data.c
index 5e7453e9d42..f954116f32e 100644
--- a/src/data.c
+++ b/src/data.c
@@ -662,12 +662,20 @@ DEFUN ("fset", Ffset, Sfset, 2, 2, 0,
662 (symbol, definition) 662 (symbol, definition)
663 register Lisp_Object symbol, definition; 663 register Lisp_Object symbol, definition;
664{ 664{
665 register Lisp_Object function;
666
665 CHECK_SYMBOL (symbol); 667 CHECK_SYMBOL (symbol);
666 if (NILP (symbol) || EQ (symbol, Qt)) 668 if (NILP (symbol) || EQ (symbol, Qt))
667 xsignal1 (Qsetting_constant, symbol); 669 xsignal1 (Qsetting_constant, symbol);
668 if (!NILP (Vautoload_queue) && !EQ (XSYMBOL (symbol)->function, Qunbound)) 670
669 Vautoload_queue = Fcons (Fcons (symbol, XSYMBOL (symbol)->function), 671 function = XSYMBOL (symbol)->function;
670 Vautoload_queue); 672
673 if (!NILP (Vautoload_queue) && !EQ (function, Qunbound))
674 Vautoload_queue = Fcons (Fcons (symbol, function), Vautoload_queue);
675
676 if (CONSP (function) && EQ (XCAR (function), Qautoload))
677 Fput (symbol, Qautoload, XCDR (function));
678
671 XSYMBOL (symbol)->function = definition; 679 XSYMBOL (symbol)->function = definition;
672 /* Handle automatic advice activation */ 680 /* Handle automatic advice activation */
673 if (CONSP (XSYMBOL (symbol)->plist) && !NILP (Fget (symbol, Qad_advice_info))) 681 if (CONSP (XSYMBOL (symbol)->plist) && !NILP (Fget (symbol, Qad_advice_info)))