Function: org-babel-session-buffer

org-babel-session-buffer is a byte-compiled function defined in ob-core.el.gz.

Signature

(org-babel-session-buffer &optional INFO)

Documentation

Return buffer name for session associated with current code block.

Return nil when no such live buffer with process exists. When INFO is non-nil, it should be a list returned by org-babel-get-src-block-info. This function uses org-babel-session-buffer:<lang> function to retrieve backend-specific session buffer name.

Source Code

;; Defined in /usr/src/emacs/lisp/org/ob-core.el.gz
;; Dynamically bound in `org-babel-execute-src-block'
;; and `org-babel-read'

(defun org-babel-session-buffer (&optional info)
  "Return buffer name for session associated with current code block.
Return nil when no such live buffer with process exists.
When INFO is non-nil, it should be a list returned by
`org-babel-get-src-block-info'.
This function uses org-babel-session-buffer:<lang> function to
retrieve backend-specific session buffer name."
  (declare-function org-babel-comint-buffer-livep "ob-comint" (buffer))
  (when-let* ((info (or info (org-babel-get-src-block-info 'no-eval)))
              (lang (nth 0 info))
              (session (cdr (assq :session (nth 2 info))))
              (cmd (intern (concat "org-babel-session-buffer:" lang)))
              (buffer-name
               (if (fboundp cmd)
                   (funcall cmd session info)
                 ;; Use session name as buffer name by default.
                 session)))
    (require 'ob-comint)
    (when (org-babel-comint-buffer-livep buffer-name)
      buffer-name)))