Matt <m...@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>

Reply via email to