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.
This commit is contained in:
Aaron Ecay 2013-10-28 18:58:52 -04:00 committed by Eric Schulte
parent 24fe50671e
commit 1d305d4aba
1 changed files with 2 additions and 1 deletions

View File

@ -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)