From d5939cf05037d4a70ca43ec4d436c2e699530444 Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Sat, 1 Apr 2023 19:48:15 +0100 Subject: [PATCH 1/1] Docs: options after "run" of ${run } may not have space. Bug 2932 --- doc/doc-docbook/spec.xfpt | 5 +++-- src/src/expand.c | 2 -- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt index 8055daebe..86f8dda63 100644 --- a/doc/doc-docbook/spec.xfpt +++ b/doc/doc-docbook/spec.xfpt @@ -10587,12 +10587,13 @@ expansion items. This item inserts &"raw"& header lines. It is described with the &%header%& expansion item in section &<>& above. -.vitem "&*${run <&'options'&> {*&<&'command&~arg&~list'&>&*}{*&<&'string1'&>&*}&&& +.vitem "&*${run<&'options'&> {*&<&'command&~arg&~list'&>&*}{*&<&'string1'&>&*}&&& {*&<&'string2'&>&*}}*&" .cindex "expansion" "running a command" .cindex "&%run%& expansion item" This item runs an external command, as a subprocess. -One option is supported after the word &'run'&, comma-separated. +One option is supported after the word &'run'&, comma-separated +and without whitespace. If the option &'preexpand'& is not used, the command string is split into individual arguments by spaces diff --git a/src/src/expand.c b/src/src/expand.c index 6dcd45062..9f80439cb 100644 --- a/src/src/expand.c +++ b/src/src/expand.c @@ -5630,7 +5630,6 @@ while (*s) /* Handle options to the "run" */ while (*s == ',') - { if (Ustrncmp(++s, "preexpand", 9) == 0) { late_expand = FALSE; s += 9; } else @@ -5641,7 +5640,6 @@ while (*s) (int)(t-s), s); goto EXPAND_FAILED; } - } Uskip_whitespace(&s); if (*s != '{') /*}*/ -- 2.30.2