branch: elpa/geiser-guile
commit 98dd4d8c8ae69b19e923387b1dfe62bfe22e6f3e
Author: Jose Antonio Ortega Ruiz <[email protected]>
Commit: Jose Antonio Ortega Ruiz <[email protected]>

    Guile: Geiser now behaves correctly in buffers for unloaded modules.
---
 geiser/evaluation.scm | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/geiser/evaluation.scm b/geiser/evaluation.scm
index 3811153..3a834bb 100644
--- a/geiser/evaluation.scm
+++ b/geiser/evaluation.scm
@@ -1,6 +1,6 @@
 ;;; evaluation.scm -- evaluation, compilation and macro-expansion
 
-;; Copyright (C) 2009 Jose Antonio Ortega Ruiz
+;; Copyright (C) 2009, 2010 Jose Antonio Ortega Ruiz
 
 ;; This program is free software; you can redistribute it and/or
 ;; modify it under the terms of the Modified BSD License. You should
@@ -31,10 +31,17 @@
      (display-error stack (current-output-port) subr msg args rest))
     (else (display (format "ERROR: ~a, args: ~a" (car args) (cdr args)))))
   `(error (key . ,(car args))))
+(nested-ref the-root-module '(%app modules geiser))
+
+(define (find-module module-name)
+  (and (list? module-name)
+       (or (nested-ref the-root-module (append '(%app modules) module-name))
+           (let ((m (resolve-module module-name)))
+             (beautify-user-module! m)
+             m))))
 
 (define (ge:compile form module-name)
-  (let* ((module (or (and (list? module-name)
-                          (resolve-module module-name))
+  (let* ((module (or (find-module module-name)
                      (current-module)))
          (result #f)
          (captured-stack #f)

Reply via email to