diff options
| author | Stefan Monnier | 2012-11-20 15:06:17 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2012-11-20 15:06:17 -0500 |
| commit | eadf1faa3cb5eea8c25a5166a9a97ebd63525c56 (patch) | |
| tree | c5b92de52e664400cbc79f7dd344cbf440fb7e2a /src/lread.c | |
| parent | 2e31777bd1354d22319cf6de4085ccc362cff42c (diff) | |
| download | emacs-eadf1faa3cb5eea8c25a5166a9a97ebd63525c56.tar.gz emacs-eadf1faa3cb5eea8c25a5166a9a97ebd63525c56.zip | |
Conflate Qnil and Qunbound for `symbol-function'.
* src/alloc.c (Fmake_symbol): Initialize `function' to Qnil.
* src/lread.c (init_obarray): Set `function' fields to Qnil.
* src/eval.c (Fcommandp): Ignore Qunbound.
(Fautoload, eval_sub, Fapply, Ffuncall, Fmacroexpand):
* src/data.c (Ffset, Ffboundp, indirect_function, Findirect_function):
Test NILP rather than Qunbound.
(Ffmakunbound): Set to Qnil.
(Fsymbol_function): Never signal an error.
(Finteractive_form): Ignore Qunbound.
Diffstat (limited to 'src/lread.c')
| -rw-r--r-- | src/lread.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lread.c b/src/lread.c index 5859a2f85a9..6d0ff9f780e 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -3957,12 +3957,13 @@ init_obarray (void) | |||
| 3957 | /* Fmake_symbol inits fields of new symbols with Qunbound and Qnil, | 3957 | /* Fmake_symbol inits fields of new symbols with Qunbound and Qnil, |
| 3958 | so those two need to be fixed manually. */ | 3958 | so those two need to be fixed manually. */ |
| 3959 | SET_SYMBOL_VAL (XSYMBOL (Qunbound), Qunbound); | 3959 | SET_SYMBOL_VAL (XSYMBOL (Qunbound), Qunbound); |
| 3960 | set_symbol_function (Qunbound, Qunbound); | 3960 | set_symbol_function (Qunbound, Qnil); |
| 3961 | set_symbol_plist (Qunbound, Qnil); | 3961 | set_symbol_plist (Qunbound, Qnil); |
| 3962 | SET_SYMBOL_VAL (XSYMBOL (Qnil), Qnil); | 3962 | SET_SYMBOL_VAL (XSYMBOL (Qnil), Qnil); |
| 3963 | XSYMBOL (Qnil)->constant = 1; | 3963 | XSYMBOL (Qnil)->constant = 1; |
| 3964 | XSYMBOL (Qnil)->declared_special = 1; | 3964 | XSYMBOL (Qnil)->declared_special = 1; |
| 3965 | set_symbol_plist (Qnil, Qnil); | 3965 | set_symbol_plist (Qnil, Qnil); |
| 3966 | set_symbol_function (Qnil, Qnil); | ||
| 3966 | 3967 | ||
| 3967 | Qt = intern_c_string ("t"); | 3968 | Qt = intern_c_string ("t"); |
| 3968 | SET_SYMBOL_VAL (XSYMBOL (Qt), Qt); | 3969 | SET_SYMBOL_VAL (XSYMBOL (Qt), Qt); |