Ihor Radchenko <yanta...@posteo.net> writes: > AFAIK, our async code does not support inline blocks. > CCing the author. > > Jack, I am not sure if it is going to be easy to support async inline > src blocks. If not, we may need to ignore :async argument in inline > blocks and display a warning.
The following patch seems to fix the issue -- does something like this seem reasonable?
>From 9a639013cf1a469f41b210c3b2167746f77f58b0 Mon Sep 17 00:00:00 2001 From: Jack Kamm <jackk...@gmail.com> Date: Sun, 16 Mar 2025 21:12:34 -0700 Subject: [PATCH] Fix async inline babel blocks --- lisp/ob-comint.el | 4 ++-- lisp/ob-core.el | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lisp/ob-comint.el b/lisp/ob-comint.el index f0a2c0f58..d457fadb9 100644 --- a/lisp/ob-comint.el +++ b/lisp/ob-comint.el @@ -313,7 +313,7 @@ (defun org-babel-comint-async-filter (string) (save-excursion (goto-char (point-min)) (when (search-forward tmp-file nil t) - (org-babel-previous-src-block) + (org-babel-previous-src-block-or-inline) (let* ((info (org-babel-get-src-block-info)) (params (nth 2 info)) (result-params @@ -364,7 +364,7 @@ (defun org-babel-comint-async-filter (string) (save-excursion (goto-char (point-min)) (when (search-forward uuid nil t) - (org-babel-previous-src-block) + (org-babel-previous-src-block-or-inline) (let* ((info (org-babel-get-src-block-info)) (params (nth 2 info)) (result-params diff --git a/lisp/ob-core.el b/lisp/ob-core.el index 2f66ab17d..f0d49d530 100644 --- a/lisp/ob-core.el +++ b/lisp/ob-core.el @@ -2114,6 +2114,12 @@ (defun org-babel-previous-src-block (&optional arg) (interactive "p") (org-previous-block arg org-babel-src-block-regexp)) +(defun org-babel-previous-src-block-or-inline () + "Jump to previous source block or inline block." + (re-search-backward (rx (or (regexp org-babel-src-block-regexp) + ;; copied from `org-element-inline-src-block-parser'. + (regexp "\\_<src_\\([^ \t\n[{]+\\)[{[]"))))) + (defvar org-babel-load-languages) ;;;###autoload -- 2.48.1