function binding fixes
authorBT Templeton <bpt@hcoop.net>
Wed, 17 Aug 2011 03:49:56 +0000 (23:49 -0400)
committerBT Templeton <bpt@hcoop.net>
Fri, 3 Feb 2012 23:53:51 +0000 (18:53 -0500)
commiteaeda0d550c513f4d134304d9adda28e1d65a23b
treeaf7afeacaf15853792d24de220d4436eabad8970
parent5199c059e83c0622cd0667a6bde8d1cca5cba0fd
function binding fixes

* module/language/elisp/bindings.scm (bindings): Add `function-bindings'
  field.
  (make-bindings): Initialize the `function-bindings' field.
  (get-function-binding, with-function-bindings): New functions.

  (access-variable, reference-variable, set-variable!): Remove the
  `module' argument and only handle references to the value cell. All
  callers changed. Callers passing `function-slot' as the module changed
  to use the corresponding functions for the function cell instead.

  (access-function, reference-function, set-function!): New procedures.

  (compile-flet, compile-labels): Use `with-function-bindings' instead
  of `with-lexical-bindings'.
module/language/elisp/bindings.scm
module/language/elisp/compile-tree-il.scm