From ae6689f1de9bd43af9c096c7eae66f40d4d8cd8a Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Sat, 11 Jun 2016 18:37:36 +0200 Subject: [PATCH] Cleanups to the show/jump debug buffer mess Let's see if i finally got this right... --- elisp/geiser-compile.el | 9 ++++----- elisp/geiser-debug.el | 17 ++++++++--------- elisp/geiser-guile.el | 5 ++--- 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: -- 2.11.4.GIT