lisp/ob-shell.el: Initialize explicit-shell-file-name

* lisp/ob-shell.el (org-babel-shell-initialize): force blocks to
always use the specified shell language

Sessions are initialized using `shell'.  The `shell' command checks
`explicit-shell-file-name' for file to use before checking other
variables, like `shell-file-name'.  Previously, only `shell-file-name'
was set.  So, if the user had set the `explicit-shell-file-name',
session blocks would use that whereas non-session blocks would use
`shell-file-name', resulting in inconsistent behavior.  This change
sets both variables so that even if the user changes the
`explicit-shell-file-name' or `shell-file-name', blocks will only use
the shell language specified by the block.

TINYCHANGE
This commit is contained in:
Aaron L. Zeng 2024-03-17 13:42:39 +01:00 committed by Matthew Trzcinski
parent cb80019c28
commit 37cd00bb12
4 changed files with 45 additions and 1 deletions

6
check.sh Executable file
View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -Eeuo pipefail
make autoloads
emacs -q --eval="(add-to-list 'load-path \"/home/ahab/Projects/org-mode/lisp\")"

View File

@ -81,7 +81,8 @@ is modified outside the Customize interface."
(lambda (body params)
(:documentation
(format "Execute a block of %s commands with Babel." name))
(let ((shell-file-name name))
(let ((explicit-shell-file-name name)
(shell-file-name name))
(org-babel-execute:shell body params))))
(put fname 'definition-name 'org-babel-shell-initialize))
(defalias (intern (concat "org-babel-variable-assignments:" name))

21
nohup.out Normal file
View File

@ -0,0 +1,21 @@
/home/ahab/.guix-profile/bin/emacsclient: can't find socket; have you started the server?
/home/ahab/.guix-profile/bin/emacsclient: To start the server in Emacs, type "M-x server-start".
/home/ahab/.guix-profile/bin/emacsclient: No socket or alternate editor. Please use:
--socket-name
--server-file (or environment variable EMACS_SERVER_FILE)
--alternate-editor (or environment variable ALTERNATE_EDITOR)
/home/ahab/.guix-profile/bin/emacsclient: can't find socket; have you started the server?
/home/ahab/.guix-profile/bin/emacsclient: To start the server in Emacs, type "M-x server-start".
/home/ahab/.guix-profile/bin/emacsclient: No socket or alternate editor. Please use:
--socket-name
--server-file (or environment variable EMACS_SERVER_FILE)
--alternate-editor (or environment variable ALTERNATE_EDITOR)
/home/ahab/.guix-profile/bin/emacsclient: can't find socket; have you started the server?
/home/ahab/.guix-profile/bin/emacsclient: To start the server in Emacs, type "M-x server-start".
/home/ahab/.guix-profile/bin/emacsclient: No socket or alternate editor. Please use:
--socket-name
--server-file (or environment variable EMACS_SERVER_FILE)
--alternate-editor (or environment variable ALTERNATE_EDITOR)

16
setup.sh Executable file
View File

@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -Eeuo pipefail
echo "[DEV] Setting up ssh..."
eval "$(ssh-agent)"
ssh-add /home/ahab/.ssh/id_org
echo "[DEV] SSH setup complete"
echo "[DEV] Rebuilding..."
make
echo "[DEV] Rebuilt"
echo "[DEV] Restarting emacsd..."
herd restart emacsd
echo "[DEV] emacsd restarted"