Merge remote-tracking branch 'origin/stable-2.0'
[bpt/guile.git] / module / language / elisp / runtime / function-slot.scm
1 ;;; Guile Emacs Lisp
2
3 ;;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
4 ;;;
5 ;;; This library is free software; you can redistribute it and/or
6 ;;; modify it under the terms of the GNU Lesser General Public
7 ;;; License as published by the Free Software Foundation; either
8 ;;; version 3 of the License, or (at your option) any later version.
9 ;;;
10 ;;; This library is distributed in the hope that it will be useful,
11 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 ;;; Lesser General Public License for more details.
14 ;;;
15 ;;; You should have received a copy of the GNU Lesser General Public
16 ;;; License along with this library; if not, write to the Free Software
17 ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
19 (define-module (language elisp runtime function-slot)
20 #:use-module ((language elisp compile-tree-il)
21 #:select
22 ((compile-progn . progn)
23 (compile-eval-when-compile . eval-when-compile)
24 (compile-if . if)
25 (compile-defconst . defconst)
26 (compile-defvar . defvar)
27 (compile-setq . setq)
28 (compile-let . let)
29 (compile-flet . flet)
30 (compile-labels . labels)
31 (compile-let* . let*)
32 (compile-guile-ref . guile-ref)
33 (compile-guile-primitive . guile-primitive)
34 (compile-function . function)
35 (compile-defun . defun)
36 (compile-defmacro . defmacro)
37 (#{compile-`}# . #{`}#)
38 (compile-quote . quote)
39 (compile-%funcall . %funcall)
40 (compile-%set-lexical-binding-mode
41 . %set-lexical-binding-mode)))
42 #:duplicates (last)
43 ;; special operators
44 #:re-export (progn
45 eval-when-compile
46 if
47 defconst
48 defvar
49 setq
50 let
51 flet
52 labels
53 let*
54 guile-ref
55 guile-primitive
56 function
57 defun
58 defmacro
59 #{`}#
60 quote
61 %funcall
62 %set-lexical-binding-mode)
63 #:pure)