From e0cf4161b4af05c513ba402ee9625851853c9465 Mon Sep 17 00:00:00 2001 Message-ID: From: Ihor Radchenko Date: Tue, 23 Apr 2024 13:22:22 +0300 Subject: [PATCH] ob-shell: Pass :cmdline arguments consistently regardless of :shebang * lisp/ob-shell.el (org-babel-sh-evaluate): When invoking script file generated from the code block, consistently use -c command line, even when :shebang is header argument is provided. The previous approach with call caused differences in how shell parsed the provided command line arguments. Reported-by: Max Nikulin Link: https://orgmode.org/list/18f01342a2f.124ad27612732529.8693431365849276517@excalamus.com --- lisp/ob-shell.el | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lisp/ob-shell.el b/lisp/ob-shell.el index 35d9e9376..30b3ea322 100644 --- a/lisp/ob-shell.el +++ b/lisp/ob-shell.el @@ -322,14 +322,12 @@ (defun org-babel-sh-evaluate (session body &optional params stdin cmdline) (with-temp-buffer (with-connection-local-variables (apply #'process-file - (if shebang (file-local-name script-file) - shell-file-name) + shell-file-name stdin-file (current-buffer) nil - (if shebang (when cmdline (list cmdline)) - (list shell-command-switch - (concat (file-local-name script-file) " " cmdline))))) + (list shell-command-switch + (concat (file-local-name script-file) " " cmdline)))) (buffer-string)))) (session ; session evaluation (if async -- 2.44.0