fix symbol-function
authorRobin Templeton <robin@terpri.org>
Fri, 18 Jul 2014 21:43:20 +0000 (17:43 -0400)
committerRobin Templeton <robin@terpri.org>
Fri, 13 Feb 2015 00:18:54 +0000 (19:18 -0500)
module/language/elisp/runtime.scm

index e4bd0ff..dba2a54 100644 (file)
   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))