Grant Rettke <g...@wisdomandwonder.com> writes:

> On Fri, Sep 11, 2015 at 3:29 AM, Loris Bennett
> <loris.benn...@fu-berlin.de> wrote:
>> Hi,
>>
>> I have a bit of a fancy bash prompt and so the output of evaluating a
>> block of shell script ends up a little messy:
>>
>> #+BEGIN_SRC sh :session install :results output
>> echo blah
>> #+END_SRC
>>
>> #+RESULTS:
>> : blah
>> : ]2;loris@soroban [35m[10:21:45] [31mloris@soroban [36m(1058) 
>> [33m/home/loris/tmp[34m[0m
>>
>> Is there any way to avoid this short of resetting PS1 within the babel
>> session?
>
> It looks like `org-babel-sh-strip-weird-long-prompt' removed the
> prompt from the output. Your prompt doesn't match that regex? Maybe
> redefine it there.

So this is what you are talking about:

(defun org-babel-sh-strip-weird-long-prompt (string)
  "Remove prompt cruft from a string of shell output."
  (while (string-match "^% +[\r\n$]+ *" string)
    (setq string (substring string (match-end 0))))
  string)

Bearing in mind that my pattern-matching experience is mainly from Perl,
I don't get the regex above.  Isn't it just going to match a prompt
starting with a '%' followed by a bunch of spaces, carriage returns /
newlines, and more spaces?  That may be both weird and potentially long,
but isn't it quite a specific subset of weird, long prompts?

Cheers,

Loris

-- 
This signature is currently under construction.

Reply via email to