diff options
author | Dan Davison <dandavison7@gmail.com> | 2010-11-18 13:09:46 +0000 |
---|---|---|
committer | Dan Davison <dandavison7@gmail.com> | 2010-11-23 13:26:31 +0000 |
commit | 666e6ed5e7a2bc2e5abc5be2fbc66d0056966697 (patch) | |
tree | 1f0936fe9436105cfce6accc38b7c5ef32990d8e | |
parent | b174975eb7a828d77816a9bf8107fc1a3ae597d7 (diff) | |
download | org-mode-666e6ed5e7a2bc2e5abc5be2fbc66d0056966697.tar.gz |
babel: Wipe error buffer clean at start of execution
* lisp/ob-eval.el (org-babel-error-buffer-name): Define new variable.
(org-babel-eval-error-notify): Use new variable `org-babel-error-buffer-name'
(org-babel-eval): Make temp error buffer invisible to the user with
initial space in name.
(org-babel-eval-wipe-error-buffer): New function to wipe the error message buffer.
* lisp/ob-exp.el (org-babel-eval-wipe-error-buffer): Declare external function
`org-babel-eval-wipe-error-buffer'.
(org-babel-exp-results): Wipe error buffer clean at outset of execution
* lisp/ob.el (org-babel-execute-src-block-maybe): Wipe error buffer clean at
outset of execution
(org-babel-eval-wipe-error-buffer): Declare external function
`org-babel-eval-wipe-error-buffer'.
-rw-r--r-- | lisp/ob-eval.el | 13 | ||||
-rw-r--r-- | lisp/ob-exp.el | 3 | ||||
-rw-r--r-- | lisp/ob.el | 4 |
3 files changed, 16 insertions, 4 deletions
diff --git a/lisp/ob-eval.el b/lisp/ob-eval.el index 57f4dc5..74a4d7d 100644 --- a/lisp/ob-eval.el +++ b/lisp/ob-eval.el @@ -31,9 +31,11 @@ (require 'ob) (eval-when-compile (require 'cl)) +(defvar org-babel-error-buffer-name "*Org-Babel Error Output*") + (defun org-babel-eval-error-notify (exit-code stderr) "Open a buffer to display STDERR and a message with the value of EXIT-CODE." - (let ((buf (get-buffer-create "*Org-Babel Error Output*"))) + (let ((buf (get-buffer-create org-babel-error-buffer-name))) (with-current-buffer buf (goto-char (point-max)) (save-excursion (insert stderr))) @@ -44,7 +46,7 @@ "Run CMD on BODY. If CMD succeeds then return its results, otherwise display STDERR with `org-babel-eval-error-notify'." - (let ((err-buff (get-buffer-create "*Org-Babel Error*")) exit-code) + (let ((err-buff (get-buffer-create " *Org-Babel Error*")) exit-code) (with-current-buffer err-buff (erase-buffer)) (with-temp-buffer (insert body) @@ -247,6 +249,13 @@ specifies the value of ERROR-BUFFER." (delete-file error-file)) exit-status)) + +(defun org-babel-eval-wipe-error-buffer () + (when (get-buffer org-babel-error-buffer-name) + (save-excursion + (set-buffer org-babel-error-buffer-name) + (delete-region (point-min) (point-max))))) + (provide 'ob-eval) ;; arch-tag: 5328b17f-957d-42d9-94da-a2952682d04d diff --git a/lisp/ob-exp.el b/lisp/ob-exp.el index a99a7fe..1cdae45 100644 --- a/lisp/ob-exp.el +++ b/lisp/ob-exp.el @@ -39,7 +39,7 @@ (defvar org-babel-lob-one-liner-regexp) (defvar org-babel-ref-split-regexp) (declare-function org-babel-lob-get-info "ob-lob" ()) - +(declare-function org-babel-eval-wipe-error-buffer "ob-eval" ()) (add-to-list 'org-export-interblocks '(src org-babel-exp-inline-src-blocks)) (add-to-list 'org-export-interblocks '(lob org-babel-exp-lob-one-liners)) (add-hook 'org-export-blocks-postblock-hook 'org-exp-res/src-name-cleanup) @@ -288,6 +288,7 @@ inhibit insertion of results into the buffer." (org-babel-process-params (nth 2 info)))) ;; skip code blocks which we can't evaluate (when (fboundp (intern (concat "org-babel-execute:" lang))) + (org-babel-eval-wipe-error-buffer) (if (equal type 'inline) (let ((raw (org-babel-execute-src-block nil info '((:results . "silent")))) @@ -78,6 +78,7 @@ (declare-function org-list-to-generic "org-list" (LIST PARAMS)) (declare-function org-list-bottom-point "org-list" ()) +(declare-function org-babel-eval-wipe-error-buffer "ob-eval" ()) (defgroup org-babel nil "Code block evaluation and management in `org-mode' documents." :tag "Babel" @@ -242,7 +243,8 @@ then run `org-babel-execute-src-block'." (interactive) (let ((info (org-babel-get-src-block-info))) (if info - (progn (org-babel-execute-src-block current-prefix-arg info) t) nil))) + (progn (org-babel-eval-wipe-error-buffer) + (org-babel-execute-src-block current-prefix-arg info) t) nil))) ;;;###autoload (defun org-babel-expand-src-block-maybe () |