emacs-orgmode
[Top][All Lists]
Advanced

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

[BUG] ob-shell: internal representation of cmdline arguments the same


From: Matt
Subject: [BUG] ob-shell: internal representation of cmdline arguments the same
Date: Sun, 28 Apr 2024 15:27:25 +0200
User-agent: Zoho Mail

While investigating "[BUG] ob-shell: :shebang changes interpretation of 
:cmdline" 
(18f01342a2f.124ad27612732529.8693431365849276517@excalamus.com/">https://list.orgmode.org/orgmode/18f01342a2f.124ad27612732529.8693431365849276517@excalamus.com/),
 it was observed that :cmdline 1 2 3 behaves like :cmdline "1 2 3"

The first argument is the first space delimited character following ":cmdline":

#+begin_src bash :cmdline 1 2 3
echo "$1"
#+end_src

#+RESULTS:
: 1

The following makes it seem like command-line arguments may be grouped using 
quotes:

#+begin_src bash :cmdline "1 2" 3
echo "$1"
#+end_src

#+RESULTS:
: 1 2

The following demonstrates that quotes do not always indicate separate 
arguments:

#+begin_src bash :cmdline "1 2 3" 
echo "$1"
#+end_src

#+RESULTS:
: 1

It was stated that,

#+begin_quote
AFAICT, it's due to how headers are parsed by 
'org-babel-parse-header-arguments' using 'org-babel-read'. The cell "\"1 2 3\"" 
(corresponding to :cmdline "1 2 3") is reduced through 'string-match' to "1 2 
3". The cell "1 2 3" (corresponding to :cmdline 1 2 3), on the other hand, 
passes through. The result is that :cmdline "1 2 3" and :cmdline 1 2 3 become 
indistinguishable.
#+end_quote

Org mode version 9.7-pre (release_9.6.27-1393-ge0f24a @ 
/home/ahab/Projects/org-mode/lisp/), commit e0f24a3f6

--
Matt Trzcinski
Emacs Org contributor (ob-shell)
Learn more about Org mode at https://orgmode.org
Support Org development at https://liberapay.com/org-mode





reply via email to

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