summaryrefslogtreecommitdiff
path: root/module/language/elisp/runtime
diff options
context:
space:
mode:
authorBrian Templeton <bpt@hcoop.net>2010-08-16 03:20:55 -0400
committerBrian Templeton <bpt@hcoop.net>2010-08-16 03:20:55 -0400
commitc2eb58825c1176ee9dcf200943eb8cb413115c44 (patch)
tree6d054df6890eda95c1ab7534d37b4c1a20db3900 /module/language/elisp/runtime
parent761e60535bc6ae4fdce70499b415bfc5bd1d1f91 (diff)
downloadguile-wip-bpt-elisp.tar.gz
lexical function binding for elispwip-bpt-elisp
* module/language/elisp/compile-tree-il.scm (access-variable) (reference-variable, set-variable!): Handle globally-bound non-special variables. (bind-lexically?): Create lexical bindings for flet and flet*. * module/language/elisp/runtime.scm (reference-variable, set-variable!): Handle globally-bound non-special variables. (built-in-func): Set the variable directly instead of storing the function in a fluid. * module/language/elisp/runtime/subrs.scm (funcall): Call apply directly. * test-suite/tests/elisp-compiler.test ("Function Definitions")["flet and flet*"]:
Diffstat (limited to 'module/language/elisp/runtime')
-rw-r--r--module/language/elisp/runtime/subrs.scm5
1 files changed, 2 insertions, 3 deletions
diff --git a/module/language/elisp/runtime/subrs.scm b/module/language/elisp/runtime/subrs.scm
index 10e264df6..b03a510a1 100644
--- a/module/language/elisp/runtime/subrs.scm
+++ b/module/language/elisp/runtime/subrs.scm
@@ -358,9 +358,8 @@
(prim apply (@ (guile) apply) real-func args))))
(built-in-func funcall
- (let ((myapply (fluid-ref apply)))
- (lambda (func . args)
- (myapply func args))))
+ (lambda (func . args)
+ (apply func args)))
;;; Throw can be implemented as built-in function.