[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Async evaluation in ob-shell
From: |
Ihor Radchenko |
Subject: |
Re: [PATCH] Async evaluation in ob-shell |
Date: |
Sun, 05 Mar 2023 12:15:39 +0000 |
Matt <matt@excalamus.com> writes:
> ---- On Fri, 03 Mar 2023 09:52:09 -0500 Ihor Radchenko wrote ---
> > I tried the patch, and I am getting failed tests:
> >
> > 1 unexpected results:
>
> Sorry for missing that. The issue is that when I replaced
> `org-babel-sh-prompt' with `comint-prompt-regexp', the regexp no
> longer matches the output and grabs the next prompt. It looks like
> the reason is `comint-prompt-regexp' is set to "^org_babel_sh_prompt>
> *" (with two spaces between the '>' and '*'). Attached is a revised
> patch which removes one of the spaces by changing how
> `org-babel-sh-initiate-session' sets the `comint-prompt-regexp'.
> Another place this could be done is in the defvar for
> `org-babel-sh-prompt' itself (which ends with a space). However, I
> think it's customary to leave a trailing space for prompts?
The actual prompt is "org_babel_sh_prompt> ".
And we want to skip leading spaces in addition.
Adding " *" does not make the prompt match 2 spaces, but 1+.
Prompts with no single space are not prompts.
>
> > > + (let ((uuid (org-id-uuid)))
> >
> > Do you need to use `org-id-uuid' here? ob-python directly uses `md5'.
> > If you still prefer org-id-uuid, we probably need to move it to
> > org-macs.el
>
> I just need a random string. `md5' would work for that. However,
> might it be better to update ob-R and ob-python to use `org-id-uuid'?
> Both of those manually declare the randomness. It's conceivable that
> someone may delete or mistype the number (100000000), resulting in a
> lower entropy. An md5 is also not a uuid, strictly speaking. Of
> course, the chance of collision is still basically zero and the cost
> of collision about the same. Using `org-id-uuid' would only provide a
> consistent way to do things.
`md5' will be slightly faster compared to `org-id-uuid'. But it should
not matter.
If we want use `org-id-uuid', lets move it to org-macs.el. Requiring the
whole org-id.el must not be done. It has side effects of defining id:
links.
> (concat "^" (regexp-quote org-babel-sh-prompt)
> - " *"))
> + "*"))
This is wrong. It unconditionally makes the last char in
`org-babel-sh-prompt' 0+. (Imagine it is changed to non-space in
future).
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
- Re: [PATCH] Async evaluation in ob-shell, Matt, 2023/03/01
- Re: [PATCH] Async evaluation in ob-shell, Ihor Radchenko, 2023/03/03
- Re: [PATCH] Async evaluation in ob-shell, Matt, 2023/03/03
- Re: [PATCH] Async evaluation in ob-shell,
Ihor Radchenko <=
- Re: [PATCH] Async evaluation in ob-shell, Matt, 2023/03/06
- Re: [PATCH] Async evaluation in ob-shell, Ihor Radchenko, 2023/03/07
- Re: [PATCH] Async evaluation in ob-shell, Matt, 2023/03/09
- Re: [PATCH] Async evaluation in ob-shell, Max Nikulin, 2023/03/09
- Re: [PATCH] Async evaluation in ob-shell, Jack Kamm, 2023/03/12
- Re: [PATCH] Async evaluation in ob-shell, Ihor Radchenko, 2023/03/18
- Re: [PATCH] Async evaluation in ob-shell, Matt, 2023/03/21
- Re: [PATCH] Async evaluation in ob-shell, Ihor Radchenko, 2023/03/22
- Re: [PATCH] Async evaluation in ob-shell, Ihor Radchenko, 2023/03/23
- Re: [PATCH] Async evaluation in ob-shell, Matt, 2023/03/23