diff options
-rw-r--r-- | elisp/geiser-log.el | 3 | ||||
-rw-r--r-- | scheme/chibi/geiser/geiser.scm | 10 |
2 files changed, 8 insertions, 5 deletions
diff --git a/elisp/geiser-log.el b/elisp/geiser-log.el index e004831..91ed639 100644 --- a/elisp/geiser-log.el +++ b/elisp/geiser-log.el @@ -63,7 +63,8 @@ '(lambda (b e len) (when geiser-log-autoscroll-buffer-p (let ((my-window (get-buffer-window (geiser-log--buffer) t))) - (set-window-point my-window (point))))) + (when (window-live-p my-window) + (set-window-point my-window (point)))))) nil t) (setq buffer-read-only t)) diff --git a/scheme/chibi/geiser/geiser.scm b/scheme/chibi/geiser/geiser.scm index f12cbfc..376e8bf 100644 --- a/scheme/chibi/geiser/geiser.scm +++ b/scheme/chibi/geiser/geiser.scm @@ -38,18 +38,19 @@ rest (guard (err (else - (write ; to standard output + (write ; to standard output (to comint) "Geiser-chibi falure in scheme code.") (show #t err))) (let* ((output (open-output-string)) + (form-analyzed (analyze form)) (result (parameterize ((current-output-port output)) (guard (err (else (show #t err) (write-to-string (show #f err)))) (if module (let ((mod (module-env (find-module module)))) - (eval form mod)) - (eval form)))))) + (eval form-analyzed mod)) + (eval form-analyzed)))))) (write ; to standard output (to comint) `((result ,(write-to-string result)) (output . ,(get-output-string output)))))) @@ -102,6 +103,7 @@ '())))) (define (geiser:autodoc ids . rest) + (and #f ( ;; disabled temporarily, because it didn't really work rest (cond ((null? ids) '()) ((not (list? ids)) @@ -111,7 +113,7 @@ (else (map (lambda (id) (geiser:operator-arglist id)) - ids)))) + ids)))))) (define (geiser:no-values) #f) |