emacs-orgmode
[Top][All Lists]
Advanced

[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>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]