|
From: | Charles C. Berry |
Subject: | Re: [O] Bug: :session doesn't honor :verbatim [8.2.10 (release_8.2.10 @ /usr/local/share/emacs/26.0.50/lisp/org/)] |
Date: | Sun, 16 Apr 2017 16:14:03 -0700 |
User-agent: | Alpine 2.20 (OSX 67 2015-01-07) |
On Sun, 16 Apr 2017, Michael Albinus wrote:
"Charles C. Berry" <address@hidden> writes:Michael might get some relief by altering `shell-prompt-pattern' whose default value is "^[^#$%>\n]*[#$%>] *" is tricked by the embedded `%' in the output lines If you know the prompt will not contain `%', you could delete that. Changing the asterisk to a plus might work (untested) or maybe adding a blank in the first (negated) char class (also untested). Or if you know what the prompt will be literally, use that: "^My-prompt-[$] *"I've eval'ed (setq shell-prompt-pattern "^[^#$>\n]*[#$>] *") , this helps. Thanks for the tip. However, I don't want to change this globally. Is there an org mean to change this locally just for the session? Maybe the shell prompt could be customizable for a session in ob-sh.el?
That happens in the shell. You can do this to start your session: #+BEGIN_SRC shell :session mysess PS1="MyPrompt-$ " #+END_SRC #+RESULTS: and then tell emacs to locally set `comint-prompt-regexp' to a value other than what was copied from `shell-prompt-pattern' #+BEGIN_SRC emacs-lisp (save-excursion (pop-to-buffer "mysess") (setq-local comint-prompt-regexp "MyPrompt-$ ")) #+END_SRC #+RESULTS: : MyPrompt-$ and then it should work. #+BEGIN_SRC shell :session mysess echo "a%b" #+END_SRC #+RESULTS: : a%b --- You might skip the second step and instead set `shell-prompt-pattern' to "MyPrompt-$ ". If `comint-use-prompt-regexp' is nil, then the`comint-prompt-regexp' is only consulted by ob-shell.el funs per the docstring of comint-use-prompt-regexp.
Chuck
[Prev in Thread] | Current Thread | [Next in Thread] |