Mercurial > emacs
comparison src/data.c @ 79083:de1e5c00a8ce
(Ffset): Save autoload of the function being set.
| author | Juanma Barranquero <lekktu@gmail.com> |
|---|---|
| date | Sun, 14 Oct 2007 18:00:31 +0000 |
| parents | 922696f363b0 |
| children | fc2bcd2a8aad |
comparison
equal
deleted
inserted
replaced
| 79082:b27741b11f5a | 79083:de1e5c00a8ce |
|---|---|
| 660 DEFUN ("fset", Ffset, Sfset, 2, 2, 0, | 660 DEFUN ("fset", Ffset, Sfset, 2, 2, 0, |
| 661 doc: /* Set SYMBOL's function definition to DEFINITION, and return DEFINITION. */) | 661 doc: /* Set SYMBOL's function definition to DEFINITION, and return DEFINITION. */) |
| 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))) |
| 674 { | 682 { |
| 675 call2 (Qad_activate_internal, symbol, Qnil); | 683 call2 (Qad_activate_internal, symbol, Qnil); |
