diff options
Diffstat (limited to 'src/data.c')
| -rw-r--r-- | src/data.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/data.c b/src/data.c index dfc0c35705a..c8c40aa6df0 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -663,12 +663,20 @@ DEFUN ("fset", Ffset, Sfset, 2, 2, 0, | |||
| 663 | (symbol, definition) | 663 | (symbol, definition) |
| 664 | register Lisp_Object symbol, definition; | 664 | register Lisp_Object symbol, definition; |
| 665 | { | 665 | { |
| 666 | register Lisp_Object function; | ||
| 667 | |||
| 666 | CHECK_SYMBOL (symbol); | 668 | CHECK_SYMBOL (symbol); |
| 667 | if (NILP (symbol) || EQ (symbol, Qt)) | 669 | if (NILP (symbol) || EQ (symbol, Qt)) |
| 668 | xsignal1 (Qsetting_constant, symbol); | 670 | xsignal1 (Qsetting_constant, symbol); |
| 669 | if (!NILP (Vautoload_queue) && !EQ (XSYMBOL (symbol)->function, Qunbound)) | 671 | |
| 670 | Vautoload_queue = Fcons (Fcons (symbol, XSYMBOL (symbol)->function), | 672 | function = XSYMBOL (symbol)->function; |
| 671 | Vautoload_queue); | 673 | |
| 674 | if (!NILP (Vautoload_queue) && !EQ (function, Qunbound)) | ||
| 675 | Vautoload_queue = Fcons (Fcons (symbol, function), Vautoload_queue); | ||
| 676 | |||
| 677 | if (CONSP (function) && EQ (XCAR (function), Qautoload)) | ||
| 678 | Fput (symbol, Qautoload, XCDR (function)); | ||
| 679 | |||
| 672 | XSYMBOL (symbol)->function = definition; | 680 | XSYMBOL (symbol)->function = definition; |
| 673 | /* Handle automatic advice activation */ | 681 | /* Handle automatic advice activation */ |
| 674 | if (CONSP (XSYMBOL (symbol)->plist) && !NILP (Fget (symbol, Qad_advice_info))) | 682 | if (CONSP (XSYMBOL (symbol)->plist) && !NILP (Fget (symbol, Qad_advice_info))) |
| @@ -752,7 +760,7 @@ Value, if non-nil, is a list \(interactive SPEC). */) | |||
| 752 | Lisp_Object cmd; | 760 | Lisp_Object cmd; |
| 753 | { | 761 | { |
| 754 | Lisp_Object fun = indirect_function (cmd); /* Check cycles. */ | 762 | Lisp_Object fun = indirect_function (cmd); /* Check cycles. */ |
| 755 | 763 | ||
| 756 | if (NILP (fun) || EQ (fun, Qunbound)) | 764 | if (NILP (fun) || EQ (fun, Qunbound)) |
| 757 | return Qnil; | 765 | return Qnil; |
| 758 | 766 | ||