summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--geiser/emacs.scm5
1 files changed, 5 insertions, 0 deletions
diff --git a/geiser/emacs.scm b/geiser/emacs.scm
index 7f03be8..66320ec 100644
--- a/geiser/emacs.scm
+++ b/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