Re: [BUG] ob-shell async incorrect table and value results

2024-03-08 Thread Matt


  On Fri, 08 Mar 2024 10:25:09 +0100  Ihor Radchenko  wrote --- 

 > Confirmed.
 > This is because `ob-shell-async-chunk-callback' never returns a list.
 > 
 > In `org-babel-sh-evaluate', there is a part that is responsible for
 > detecting the result type:
 > 
 > (when (and results value-is-exit-status)
 >   (setq results (car (reverse (split-string results "\n" t)
 > (when results
 >   (let ((result-params (cdr (assq :result-params params
 > (org-babel-result-cond result-params
 >   results
 >   (let ((tmp-file (org-babel-temp-file "sh-")))
 > (with-temp-file tmp-file (insert results))
 > (org-babel-import-elisp-from-file tmp-file)
 > 
 > This part is skipped for :async results.
 
Thanks for looking at it.  I'm still working on "[BUG] Prompt appears in async 
shell results" 
(https://list.orgmode.org/18dbc1f273c.11687295c1395973.3345700621594100...@excalamus.com/T/#u)
 and will circle back to this when that's done.

--
Matt Trzcinski
Emacs Org contributor (ob-shell)
Learn more about Org mode at https://orgmode.org
Support Org development at https://liberapay.com/org-mode





Re: [BUG] ob-shell async incorrect table and value results

2024-03-08 Thread Ihor Radchenko
Matt  writes:

> #+name: sync table
> #+begin_src sh :session *test* :results table
> echo "hello world"
> #+end_src
>
> #+RESULTS:
> | hello world |
>
> #+name: async table
> #+begin_src sh :session *test* :results table :async t
> echo "hello world"
> #+end_src
>
> #+RESULTS:
> : hello world

Confirmed.
This is because `ob-shell-async-chunk-callback' never returns a list.

In `org-babel-sh-evaluate', there is a part that is responsible for
detecting the result type:

(when (and results value-is-exit-status)
  (setq results (car (reverse (split-string results "\n" t)
(when results
  (let ((result-params (cdr (assq :result-params params
(org-babel-result-cond result-params
  results
  (let ((tmp-file (org-babel-temp-file "sh-")))
(with-temp-file tmp-file (insert results))
(org-babel-import-elisp-from-file tmp-file)

This part is skipped for :async results.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



[BUG] ob-shell async incorrect table and value results

2024-03-06 Thread Matt
#+name: sync table
#+begin_src sh :session *test* :results table
echo "hello world"
#+end_src

#+RESULTS:
| hello world |

#+name: async table
#+begin_src sh :session *test* :results table :async t
echo "hello world"
#+end_src

#+RESULTS:
: hello world

#+name: sync value
#+begin_src sh :session *test* :results value
echo "hello world"
#+end_src

#+RESULTS:
: 0

#+name: async value
#+begin_src sh :session *test* :results value :async t
echo "hello world"
#+end_src

#+RESULTS:
: hello world
: 0

--
Matt Trzcinski
Emacs Org contributor (ob-shell)
Learn more about Org mode at https://orgmode.org
Support Org development at https://liberapay.com/org-mode