[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [BUG] ob-shell async incorrect table and value results
From: |
Ihor Radchenko |
Subject: |
Re: [BUG] ob-shell async incorrect table and value results |
Date: |
Fri, 08 Mar 2024 09:28:38 +0000 |
Matt <matt@excalamus.com> 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 <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>