diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS index f4e98d78b..eb4303cf1 100644 --- a/etc/ORG-NEWS +++ b/etc/ORG-NEWS @@ -13,6 +13,13 @@ Please send Org bug reports to mailto:emacs-orgmode@gnu.org. * Version 9.7 (not released yet) ** Important announcements and breaking changes +*** ob-python now sets ~python-shell-buffer-name~ in Org edit buffers + +When editing a Python src block, the editing buffer is now associated +with the Python shell specified by the src block's ~:session~ header, +which means users can now send code directly from the edit buffer, +e.g., using ~C-c C-c~, to the session specified in the Org buffer. + *** ~org-edit-special~ no longer force-starts session in R and Julia source blocks Previously, when R/Julia source block had =:session= header argument diff --git a/lisp/ob-python.el b/lisp/ob-python.el index 4d7492e2b..2f62d7353 100644 --- a/lisp/ob-python.el +++ b/lisp/ob-python.el @@ -83,6 +83,12 @@ If `org-babel-python-command' is set, then it overrides this option." :package-version '(Org . "8.0") :type 'symbol) +(defun org-babel-python-associate-session (session) + "Associate Python code buffer with an Python session. +Make SESSION without earmuffs be the Python buffer name." + (setq-local python-shell-buffer-name + (org-babel-python-without-earmuffs session))) + (defun org-babel-execute:python (body params) "Execute Python BODY according to PARAMS. This function is called by `org-babel-execute-src-block'."