diff options
| -rw-r--r-- | elisp/geiser-eval.el | 5 | ||||
| -rw-r--r-- | elisp/geiser-repl.el | 2 | ||||
| -rw-r--r-- | scheme/guile/geiser/emacs.scm (renamed from scheme/geiser/emacs.scm) | 9 | ||||
| -rw-r--r-- | scheme/guile/geiser/eval.scm (renamed from scheme/geiser/eval.scm) | 10 | ||||
| -rw-r--r-- | scheme/guile/geiser/introspection.scm (renamed from scheme/geiser/introspection.scm) | 0 | 
5 files changed, 19 insertions, 7 deletions
diff --git a/elisp/geiser-eval.el b/elisp/geiser-eval.el index 38b1f7f..7a729cf 100644 --- a/elisp/geiser-eval.el +++ b/elisp/geiser-eval.el @@ -39,7 +39,7 @@          ((eq code :t) "#t")          ((listp code)           (cond ((eq (car code) :gs) (geiser-eval--gs (cdr code))) -               ((eq (car code) :ge) (format "(@ (geiser emacs) %s)" (cadr code))) +               ((eq (car code) :ge) (geiser-eval--ge (cadr code)))                 ((eq (car code) :scm) (cadr code))                 (t (concat "(" (mapconcat 'geiser-eval--scheme-str code " ") ")"))))          ((symbolp code) (format "%s" code)) @@ -54,6 +54,9 @@                (geiser-syntax--buffer-module))            "))")) +(defsubst geiser-eval--ge (proc) +  (format "(@ (geiser emacs) ge:%s)" proc)) +  ;;; Code sending: diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el index 96743f4..fcc0daa 100644 --- a/elisp/geiser-repl.el +++ b/elisp/geiser-repl.el @@ -76,7 +76,7 @@ the Geiser REPL buffer."                             (current-buffer)                             guile                             nil -                           "-L" geiser-scheme-dir "-q") +                           "-L" (concat geiser-scheme-dir "/guile/")  "-q")      (geiser-repl--wait-for-prompt 10000)      (geiser-con--setup-connection (current-buffer)))) diff --git a/scheme/geiser/emacs.scm b/scheme/guile/geiser/emacs.scm index ea74220..318b07a 100644 --- a/scheme/geiser/emacs.scm +++ b/scheme/guile/geiser/emacs.scm @@ -25,8 +25,13 @@  ;;; Code:  (define-module (geiser emacs) -  #:re-export (proc-args completions) -  #:use-module (geiser introspection)) +  #:re-export (ge:proc-args +               ge:completions +               ge:compile-file) +  #:use-module ((geiser introspection) +                :renamer (symbol-prefix-proc 'ge:)) +  #:use-module ((geiser eval) +                :select ((comp-file . ge:compile-file))))  ;;; emacs.scm ends here diff --git a/scheme/geiser/eval.scm b/scheme/guile/geiser/eval.scm index b7c5eef..7d82f7d 100644 --- a/scheme/geiser/eval.scm +++ b/scheme/guile/geiser/eval.scm @@ -25,12 +25,12 @@  ;;; Code:  (define-module (geiser eval) -  #:export (eval-in) +  #:export (eval-in comp-file)    #:use-module (srfi srfi-1))  (define (eval-in form module-name) -  "Evals FORM in the module designated by MODULE-NAME. -If MODULE-NAME is #f or resolution fails, the current module is used instead. +  "Evals @var{form} in the module designated by @var{module-name}. +If @var{module-name} is @var{#f} or resolution fails, the current module is used instead.  The result is a list of the form ((RESULT . <form-value>) (OUTPUT . <string>))  if no evaluation error happens, or ((ERROR (KEY . <error-key>) <error-arg>...))  in case of errors. Each error arg is a cons (NAME . VALUE), where NAME includes @@ -62,4 +62,8 @@ SUBR, MSG and REST."            (cons 'msg (if msg (apply format (cons #f (cons msg margs))) '()))            (cons 'rest (or rest '()))))) +(define (comp-file path) +  "Compile and load file, given its full @var{path}." +  (compile-file path)) +  ;;; eval.scm ends here diff --git a/scheme/geiser/introspection.scm b/scheme/guile/geiser/introspection.scm index 4565464..4565464 100644 --- a/scheme/geiser/introspection.scm +++ b/scheme/guile/geiser/introspection.scm  | 
