summaryrefslogtreecommitdiff
path: root/geiser/emacs.scm
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-03-01 16:41:09 +0100
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-03-01 16:41:09 +0100
commit221e64ea8d6f2ce62dc88bbe74a7fa9d7a369c41 (patch)
tree58907d4f50483d3fa418bd378499a26635710f5b /geiser/emacs.scm
parentea9e3414b9365f3333d54538749a29b34398ff35 (diff)
downloadgeiser-guile-221e64ea8d6f2ce62dc88bbe74a7fa9d7a369c41.tar.gz
geiser-guile-221e64ea8d6f2ce62dc88bbe74a7fa9d7a369c41.tar.bz2
Some refactoring and new ge:macroexpand.
Diffstat (limited to 'geiser/emacs.scm')
-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