summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Templeton <robin@terpri.org>2014-07-18 17:43:20 -0400
committerChristine Lemmer-Webber <cwebber@dustycloud.org>2021-10-19 18:10:04 -0400
commit361db0dca8eb4850bad23b71dddf120ed4772cf2 (patch)
tree115c8203f5ecdd1f3db2c6b83f1be59feebd8412
parent8a4905f2cb329ac958eb1a7fcecd5b03a7cc0bbd (diff)
downloadguile-361db0dca8eb4850bad23b71dddf120ed4772cf2.tar.gz
fix symbol-function
(Best-ability ChangeLog annotation added by Christine Lemmer-Webber.) * module/language/elisp/runtime.scm (symbol-function): Adjust function.
-rw-r--r--module/language/elisp/runtime.scm8
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))