summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--elisp/geiser-compile.el9
-rw-r--r--elisp/geiser-debug.el17
-rw-r--r--elisp/geiser-guile.el5
3 files changed, 14 insertions, 17 deletions
diff --git a/elisp/geiser-compile.el b/elisp/geiser-compile.el
index 521803e..26aad16 100644
--- a/elisp/geiser-compile.el
+++ b/elisp/geiser-compile.el
@@ -1,6 +1,6 @@
;; geiser-compile.el -- compile/load scheme files
-;; Copyright (C) 2009, 2010, 2011, 2012, 2013 Jose Antonio Ortega Ruiz
+;; Copyright (C) 2009, 2010, 2011, 2012, 2013, 2016 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
@@ -37,12 +37,11 @@
(let* ((b/p (geiser-compile--buffer/path path))
(buffer (car b/p))
(path (cdr b/p))
- (msg (format "%s %s ..." msg path)))
+ (msg (format "%s %s ..." msg path))
+ (code `(,(if compile-p :comp-file :load-file) ,path)))
(message msg)
(geiser-autodoc--clean-cache)
- (geiser-compile--display-result
- msg (geiser-eval--send/wait
- `(,(if compile-p :comp-file :load-file) ,path)))))
+ (geiser-compile--display-result msg (geiser-eval--send/wait code))))
;;; User commands:
diff --git a/elisp/geiser-debug.el b/elisp/geiser-debug.el
index 7afcb53..07ac98a 100644
--- a/elisp/geiser-debug.el
+++ b/elisp/geiser-debug.el
@@ -155,6 +155,7 @@ buffer.")
(when dir (setq default-directory dir))
(unless after
(geiser-debug--display-error impl module nil what)
+ (goto-char (point-max))
(newline 2))
(setq img (when (and res (not err)) (geiser-debug--insert-res res)))
(setq dbg (geiser-debug--display-error impl module key output))
@@ -164,15 +165,13 @@ buffer.")
(geiser-debug--display-error impl module nil what))
(goto-char (point-min)))
(when (or img dbg)
- (when geiser-debug-show-debug-p
- (geiser-debug--pop-to-buffer))
- (when (and dbg (not geiser-debug-jump-to-debug-p))
- (ignore-errors (next-error))
- (when (not geiser-debug-show-debug-p)
- (pop-to-buffer (geiser-debug--buffer)
- 'display-buffer-reuse-window t)
- (View-quit))
- (message "Evaluation error: %s" dbg)))))
+ (when (or geiser-debug-jump-to-debug-p geiser-debug-show-debug-p)
+ (if geiser-debug-jump-to-debug-p
+ (geiser-debug--pop-to-buffer)
+ (display-buffer (geiser-debug--buffer))
+ (when dbg
+ (ignore-errors (next-error))
+ (message "=> %s" dbg)))))))
(defsubst geiser-debug--wrap-region (str)
(format "(begin %s)" str))
diff --git a/elisp/geiser-guile.el b/elisp/geiser-guile.el
index c4f6293..de2e23f 100644
--- a/elisp/geiser-guile.el
+++ b/elisp/geiser-guile.el
@@ -1,6 +1,6 @@
;; geiser-guile.el -- guile's implementation of the geiser protocols
-;; Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015 Jose Antonio Ortega Ruiz
+;; Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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
@@ -224,11 +224,10 @@ This function uses `geiser-guile-init-file' if it exists."
(ignore-errors (next-error)))))
(defun geiser-guile--display-error (module key msg)
- (newline)
(when (stringp msg)
(save-excursion (insert msg))
(geiser-edit--buttonize-files))
- (and (not key) msg (not (zerop (length msg)))))
+ (and (not key) (not (zerop (length msg))) msg))
;;; Trying to ascertain whether a buffer is Guile Scheme: