Hi Sébastien, Sébastien Vauban <wxhgmqzgw...@spammotel.com> writes:
[...] > > Just for my information (maybe being able to be more accurate next time, or > even finding a solution myself), how do you debug such a problem? > > With which debugger, with tracing/stepping? With stack trace? > I'm almost embarrassed to admit that I do most of my elisp debugging with the `message' function. I embed `message' debug statements to print the values of key variables at key points, and I run through problems looking at the output. I'd be interested to hear if anyone can recommend a better elisp debugging solution. > > Let's assume the following Org file: > > #+begin_src sh :session "ecm" > cd ~/Personal > #+end_src > > #+begin_src sh :session "ecm" > ls *.org > #+end_src > > I C-c C-c the first snippet. Nothing special, except it doesn't hang anymore. > So, it already looks much better. > > Second snippet. C-c C-c. There, it still hangs ;-(( > > Though, C-x C-b shows me the contents of the "ecm" buffer: > > cd ~/Personal > > ~ % ~/Personal % ls *.org > echo 'org_babel_sh_eoe' > Bookmarks.org Scorpios.org Tickler.org > Voice-over-IP.org* > Home.org* Succession.org Using-startx-for-Remote-Display.org refile.org > ~/Personal % org_babel_sh_eoe > ~/Personal % > > Looks closer to what it should... > > Still a little problem, though, as explained above. > So the fix here is to fix the value of the `comint-prompt-regexp' variable in your shell. Org-babel uses this variable to digest output from the shell. I have mine set with the following --8<---------------cut here---------------start------------->8--- (defun schulte/set-shell-prompt-regexp () (setq comint-prompt-regexp "^\(.+\)")) (add-hook 'shell-mode-hook 'schulte/set-shell-prompt-regexp) --8<---------------cut here---------------end--------------->8--- You'll have to change the regexp ("^\(.+\)" in my example) to match your prompt. I was unable to create your prompt locally. I find the `regexp-builder' function to be very handy for these situations. If you are unable to build a working regexp please send me a string of your prompt and I'd be happy to return an appropriate regexp. on a related topic: I've also noticed that org-babel has difficulty digesting shell output when it is ansi-colorized. I'm not sure what the best fix here would be. We could probably start piping all org-babel session results through something like `ansi-color-filter-region' but that feels a little bit too heavy. I'd be interested to hear other peoples thoughts/suggestions. > > BTW, what's the impact of specifying "sh" or "bash" for the snippet? > While "sh" blocks should work "bash" blocks will not be recognized. In org-babel "sh" doesn't explicitly mean the "sh" command, but rather means 'run shell' which will default to whatever shell you have configured. Thanks -- Eric > > Best regards, > Seb _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode