From 37d18fc040e542ca517509aff52a9f564991eac1 Mon Sep 17 00:00:00 2001
From: Jeremie Juste <djj@debian-BULLSEYE-live-builder-AMD64>
Date: Wed, 6 Oct 2021 00:11:10 +0200
Subject: [PATCH] ob-R.el: Patch 4 async evaluation

* ob-R.el (ob-session-async-org-babel-R-evaluate-session): Use
defvaralias `ess-eval-visibly-p' instead of modifying user-defined
variable. Remove temporary declaration that silences the byte-compiler.

* ob-R.el (org-babel-R-evaluate,ob-session-async-org-babel-R-evaluate-session): Remove
parameter `result-params' in
(ob-session-async-org-babel-R-evaluate-session) and where it is called
in (orb-babel-R-evaluate).
---
 lisp/ob-R.el | 32 ++++++++++----------------------
 1 file changed, 10 insertions(+), 22 deletions(-)

diff --git a/lisp/ob-R.el b/lisp/ob-R.el
index 492560412..93ce1ccb0 100644
--- a/lisp/ob-R.el
+++ b/lisp/ob-R.el
@@ -40,13 +40,6 @@
 (declare-function ess-wait-for-process "ext:ess-inf"
 		  (&optional proc sec-prompt wait force-redisplay))
 
-;; FIXME: Temporary declaration to silence the byte-compiler
-(defvar user-inject-src-param)
-(defvar ess-eval-visibly-tmp)
-(defvar ess-eval-visibly)
-(defvar ess-inject-source)
-(defvar user-inject-src-param)
-
 (defconst org-babel-header-args:R
   '((width		 . :any)
     (height		 . :any)
@@ -331,7 +324,7 @@ Each member of this list is a list with three members:
 	 (device-info (or (assq (intern (concat ":" device))
 				org-babel-R-graphics-devices)
                           (assq :png org-babel-R-graphics-devices)))
-         (extra-args (cdr (assq :R-dev-args params))) filearg args)
+        (extra-args (cdr (assq :R-dev-args params))) filearg args)
     (setq device (nth 1 device-info))
     (setq filearg (nth 2 device-info))
     (setq args (mapconcat
@@ -380,14 +373,14 @@ Has four %s escapes to be filled in:
 4. The name of the file to write to")
 
 (defun org-babel-R-evaluate
-    (session body result-type result-params column-names-p row-names-p async)
+  (session body result-type result-params column-names-p row-names-p async)
   "Evaluate R code in BODY."
   (if session
       (if async
           (ob-session-async-org-babel-R-evaluate-session
-           session body result-type result-params column-names-p row-names-p)
-        (org-babel-R-evaluate-session
-         session body result-type result-params column-names-p row-names-p))
+           session body result-type  column-names-p row-names-p)
+      (org-babel-R-evaluate-session
+       session body result-type result-params column-names-p row-names-p))
     (org-babel-R-evaluate-external-process
      body result-type result-params column-names-p row-names-p)))
 
@@ -486,7 +479,7 @@ Insert hline if column names in output have been requested."
 (defconst ob-session-async-R-indicator "'ob_comint_async_R_%s_%s'")
 
 (defun ob-session-async-org-babel-R-evaluate-session
-    (session body result-type _ column-names-p row-names-p)
+    (session body result-type column-names-p row-names-p)
   "Asynchronously evaluate BODY in SESSION.
 Returns a placeholder string for insertion, to later be replaced
 by `org-babel-comint-async-filter'."
@@ -525,22 +518,17 @@ by `org-babel-comint-async-filter'."
     (output
      (let ((uuid (md5 (number-to-string (random 100000000))))
            (ess-local-process-name
-            (process-name (get-buffer-process session))))
+            (process-name (get-buffer-process session)))
+           (ess-eval-visibly-p nil))
        (with-temp-buffer
          (insert (format ob-session-async-R-indicator
-			 "start" uuid))
+					  "start" uuid))
          (insert "\n")
          (insert body)
          (insert "\n")
          (insert (format ob-session-async-R-indicator
 			 "end" uuid))
-         (setq ess-eval-visibly-tmp ess-eval-visibly)
-         (setq user-inject-src-param ess-inject-source)
-         (setq ess-eval-visibly nil)
-         (setq ess-inject-source 'function-and-buffer)
-         (ess-eval-buffer nil))
-       (setq ess-eval-visibly ess-eval-visibly-tmp)
-       (setq ess-inject-source user-inject-src-param)
+         (ess-eval-buffer nil ))
        uuid))))
 
 (defun ob-session-async-R-value-callback (params tmp-file)
-- 
2.30.2

