summaryrefslogtreecommitdiff
path: root/scheme
diff options
context:
space:
mode:
Diffstat (limited to 'scheme')
-rw-r--r--scheme/guile/geiser/emacs.scm5
1 files changed, 5 insertions, 0 deletions
diff --git a/scheme/guile/geiser/emacs.scm b/scheme/guile/geiser/emacs.scm
index 7f03be8..66320ec 100644
--- a/scheme/guile/geiser/emacs.scm
+++ b/scheme/guile/geiser/emacs.scm
@@ -27,6 +27,7 @@
(define-module (geiser emacs)
#:export (ge:eval
ge:compile
+ ge:macroexpand
ge:compile-file
ge:load-file)
#:re-export (ge:autodoc
@@ -141,4 +142,8 @@
"Load file, given its full @var{path}."
(evaluate `(load ,path) #f eval))
+(define (ge:macroexpand form . all)
+ (let ((all (and (not (null? all)) (car all))))
+ ((if all macroexpand macroexpand-1) form)))
+
;;; emacs.scm ends here