diff options
-rw-r--r-- | module/language/elisp/runtime.scm | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/module/language/elisp/runtime.scm b/module/language/elisp/runtime.scm index e4bd0ffb2..dba2a5476 100644 --- a/module/language/elisp/runtime.scm +++ b/module/language/elisp/runtime.scm @@ -158,10 +158,10 @@ value) (define (symbol-function symbol) - (set! symbol (schemify symbol)) - (ensure-present! function-slot-module symbol (lambda () #nil)) - (let ((module function-slot-module)) - (module-ref module symbol))) + (cond + ((module-variable function-slot-module (schemify symbol)) + => variable-ref) + (else #nil))) (define (set-symbol-function! symbol value) (set! symbol (schemify symbol)) |