emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/org b6643884cb 4/4: ob-R, ob-julia: Use `ess-gen-proc-b


From: ELPA Syncer
Subject: [elpa] externals/org b6643884cb 4/4: ob-R, ob-julia: Use `ess-gen-proc-buffer-name-function' to control session buffer name
Date: Fri, 5 Jan 2024 09:58:32 -0500 (EST)

branch: externals/org
commit b6643884cba4c62cd2e62647830e9324a35dfebf
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>

    ob-R, ob-julia: Use `ess-gen-proc-buffer-name-function' to control session 
buffer name
    
    * lisp/ob-R.el (org-babel-R-initiate-session):
    * lisp/ob-julia.el (org-babel-julia-initiate-session): Do not use the
    hack with renaming ESS buffer and instead indicate the session buffer
    name to ESS appropriately through `ess-gen-proc-buffer-name-function'.
    
    Link: https://orgmode.org/list/871qb21bp7.fsf@gmail.com
---
 lisp/ob-R.el     | 20 +++++++++-----------
 lisp/ob-julia.el | 18 ++++++++----------
 2 files changed, 17 insertions(+), 21 deletions(-)

diff --git a/lisp/ob-R.el b/lisp/ob-R.el
index c48b2cdb7a..13a0db7ccf 100644
--- a/lisp/ob-R.el
+++ b/lisp/ob-R.el
@@ -265,15 +265,19 @@ Retrieve variables from PARAMS."
 
 
 (defvar ess-ask-for-ess-directory) ; dynamically scoped
+(defvar ess-gen-proc-buffer-name-function) ; defined in ess-inf.el
 (defun org-babel-R-initiate-session (session params)
   "Create or return the current R SESSION buffer.
 Use PARAMS to set default directory when creating a new session."
   (unless (string= session "none")
-    (let ((session (or session "*R*"))
-         (ess-ask-for-ess-directory
-          (and (boundp 'ess-ask-for-ess-directory)
-               ess-ask-for-ess-directory
-               (not (cdr (assq :dir params))))))
+    (let* ((session (or session "*R*"))
+          (ess-ask-for-ess-directory
+           (and (boundp 'ess-ask-for-ess-directory)
+                ess-ask-for-ess-directory
+                (not (cdr (assq :dir params)))))
+           ;; Make ESS name the process buffer as SESSION.
+           (ess-gen-proc-buffer-name-function
+            (lambda (_) session)))
       (if (org-babel-comint-buffer-livep session)
          session
        (save-window-excursion
@@ -286,12 +290,6 @@ Use PARAMS to set default directory when creating a new 
session."
                                         ess-current-process-name))))
            (while (process-get R-proc 'callbacks)
              (ess-wait-for-process R-proc)))
-         (rename-buffer
-          (if (bufferp session)
-              (buffer-name session)
-            (if (stringp session)
-                session
-              (buffer-name))))
          (current-buffer))))))
 
 (defun org-babel-R-associate-session (session)
diff --git a/lisp/ob-julia.el b/lisp/ob-julia.el
index 495169da1b..1b0d933586 100644
--- a/lisp/ob-julia.el
+++ b/lisp/ob-julia.el
@@ -178,13 +178,17 @@ end"
     (format "%s = %s" name (org-babel-julia-quote-csv-field value))))
 
 (defvar ess-ask-for-ess-directory) ; dynamically scoped
+(defvar ess-gen-proc-buffer-name-function) ; defined in ess-inf.el
 (defun org-babel-julia-initiate-session (session params)
   "If there is not a current julia process then create one."
   (unless (string= session "none")
-    (let ((session (or session "*Julia*"))
-         (ess-ask-for-ess-directory
-          (and (bound-and-true-p ess-ask-for-ess-directory)
-                (not (cdr (assq :dir params))))))
+    (let* ((session (or session "*Julia*"))
+          (ess-ask-for-ess-directory
+           (and (bound-and-true-p ess-ask-for-ess-directory)
+                 (not (cdr (assq :dir params)))))
+           ;; Make ESS name the process buffer as SESSION.
+           (ess-gen-proc-buffer-name-function
+            (lambda (_) session)))
       (if (org-babel-comint-buffer-livep session)
          session
        ;; FIXME: Depending on `display-buffer-alist', (julia) may end up
@@ -198,12 +202,6 @@ end"
            (set-buffer session))
           (org-require-package 'ess "ESS")
           (set-buffer (julia))
-         (rename-buffer
-          (if (bufferp session)
-              (buffer-name session)
-            (if (stringp session)
-                session
-              (buffer-name))))
          (current-buffer))))))
 
 (defun org-babel-julia-graphical-output-file (params)



reply via email to

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