branch: elpa/geiser-gauche
commit 9eb8b35f0c3bf44ae7990be707591ed8498b6fa3
Merge: 8ff743f641 39291db898
Author: András Simonyi <andras.simo...@gmail.com>
Commit: András Simonyi <andras.simo...@gmail.com>

    Merge branch 'r7rs' into 'master'
    
    Enables Gauche to start in R7RS mode
    
    See merge request emacs-geiser/gauche!2
---
 geiser-gauche-r7rs.scm |  6 ++++++
 geiser-gauche.el       | 12 +++++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/geiser-gauche-r7rs.scm b/geiser-gauche-r7rs.scm
new file mode 100644
index 0000000000..e834ac0a34
--- /dev/null
+++ b/geiser-gauche-r7rs.scm
@@ -0,0 +1,6 @@
+(import (gauche base))
+(select-module user)
+(include "geiser-gauche.scm")
+
+(use scheme.base)
+(select-module r7rs.user)
diff --git a/geiser-gauche.el b/geiser-gauche.el
index 4f534ff56a..d8f91f8221 100644
--- a/geiser-gauche.el
+++ b/geiser-gauche.el
@@ -67,6 +67,11 @@
   :type 'boolean
   :group 'geiser-gauche)
 
+(geiser-custom--defcustom geiser-gauche-rnrs nil
+  "Non-nil specifies rnrs version, corresponding to gosh's -r option"
+  :type 'integer
+  :group 'geiser-gauche)
+
 
 ;;; Utils
 
@@ -184,7 +189,12 @@
 (defun geiser-gauche--parameters ()
   "Return a list with all parameters needed to start Gauche Scheme."
   `(,@geiser-gauche-extra-command-line-parameters
-    "-l" ,(expand-file-name "geiser-gauche.scm" geiser-gauche--load-dir)
+    ,@(if geiser-gauche-rnrs
+           (list "-r" (number-to-string geiser-gauche-rnrs)
+                 "-l" (expand-file-name "geiser-gauche-r7rs.scm"
+                                        geiser-gauche--load-dir))
+        (list "-l" (expand-file-name "geiser-gauche.scm"
+                                     geiser-gauche--load-dir)))
     ,@(and (listp geiser-gauche-binary) (cdr geiser-gauche-binary))))
 
 (defun geiser-gauche--version (binary)

Reply via email to