summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Ecay <aaronecay@gmail.com>2013-10-28 18:58:52 -0400
committerEric Schulte <schulte.eric@gmail.com>2013-10-29 19:52:36 -0600
commit1d305d4aba715be99d16990f239d3b208fc7906d (patch)
tree60cde704d494dd88796f9830bf49b7c7e1e008f5
parent24fe50671e1150a3915a42b75d0c1aa5765fcd2f (diff)
downloadorg-mode-1d305d4aba715be99d16990f239d3b208fc7906d.tar.gz
babel: don’t add babel eval to the session’s comint input ring
* lisp/ob-comint.el (org-babel-comint-in-buffer): don’t add to comint-input-ring Previously, babel code would be added to the comint input ring of a babel session, making interactive use of the session difficult: one had to page through the babel generated commands when browsing the comint history with M-p/M-n. The session repl’s history should just contain commands the user has specifically entered in the repl buffer, and not those which are fed in from org mode. So, we bind ‘comint-input-filter’ to a function that always returns nil in the ‘org-babel-comint-in-buffer’ macro, to avoid any additions to the input ring while executing code from babel.
-rw-r--r--lisp/ob-comint.el3
1 files changed, 2 insertions, 1 deletions
diff --git a/lisp/ob-comint.el b/lisp/ob-comint.el
index 4e2b352..1f28a2c 100644
--- a/lisp/ob-comint.el
+++ b/lisp/ob-comint.el
@@ -53,7 +53,8 @@ executed inside the protection of `save-excursion' and
(error "Buffer %s does not exist or has no process" ,buffer))
(save-match-data
(with-current-buffer ,buffer
- ,@body))))
+ (let ((comint-input-filter (lambda (input) nil)))
+ ,@body)))))
(def-edebug-spec org-babel-comint-in-buffer (form body))
(defmacro org-babel-comint-with-output (meta &rest body)