From: Matt <matt@excalamus.com>
To: "emacs-orgmode" <emacs-orgmode@gnu.org>
Subject: [BUG] ob-shell: internal representation of cmdline arguments the same
Date: Sun, 28 Apr 2024 15:27:25 +0200 [thread overview]
Message-ID: <18f24e394a9.cf358fba4744433.3814984878900155603@excalamus.com> (raw)
While investigating "[BUG] ob-shell: :shebang changes interpretation of :cmdline" (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
next reply other threads:[~2024-04-28 13:28 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-28 13:27 Matt [this message]
2024-04-29 12:22 ` [BUG] ob-shell: internal representation of cmdline arguments the same Ihor Radchenko
2024-05-01 12:11 ` Max Nikulin
2024-05-01 14:02 ` Ihor Radchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=18f24e394a9.cf358fba4744433.3814984878900155603@excalamus.com \
--to=matt@excalamus.com \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.