lexical binding macros
[bpt/guile.git] / module / language / elisp / runtime / function-slot.scm
index 641173d..3b10205 100644 (file)
 ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
 (define-module (language elisp runtime function-slot)
-  #:use-module ((language elisp runtime subrs)
-                #:select (apply))
-  #:use-module ((language elisp runtime macros)
-                #:select
-                ((macro-lambda . lambda)
-                 (macro-prog1 . prog1)
-                 (macro-prog2 . prog2)
-                 (macro-cond . cond)
-                 (macro-and . and)
-                 (macro-or . or)
-                 (macro-catch . catch)
-                 (macro-unwind-protect . unwind-protect)))
   #:use-module ((language elisp compile-tree-il)
                 #:select
                 ((compile-progn . progn)
                  (compile-defvar . defvar)
                  (compile-setq . setq)
                  (compile-let . let)
-                 (compile-lexical-let . lexical-let)
                  (compile-flet . flet)
+                 (compile-labels . labels)
                  (compile-let* . let*)
-                 (compile-lexical-let* . lexical-let*)
-                 (compile-flet* . flet*)
-                 (compile-with-always-lexical . with-always-lexical)
                  (compile-guile-ref . guile-ref)
                  (compile-guile-primitive . guile-primitive)
-                 (compile-while . while)
                  (compile-function . function)
                  (compile-defun . defun)
                  (compile-defmacro . defmacro)
                  (#{compile-`}# . #{`}#)
-                 (compile-quote . quote)))
+                 (compile-quote . quote)
+                 (compile-%funcall . %funcall)
+                 (compile-%set-lexical-binding-mode
+                  . %set-lexical-binding-mode)))
   #:duplicates (last)
   ;; special operators
   #:re-export (progn
                defvar
                setq
                let
-               lexical-let
                flet
+               labels
                let*
-               lexical-let*
-               flet*
-               with-always-lexical
                guile-ref
                guile-primitive
-               while
                function
                defun
                defmacro
                #{`}#
-               quote)
-  ;; macros
-  #:re-export (lambda
-               prog1
-               prog2
-               cond
-               and
-               or
-               catch
-               unwind-protect)
-  ;; functions
-  #:re-export (apply))
+               quote
+               %funcall
+               %set-lexical-binding-mode)
+  #:pure)