aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/spawn.cpp
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2016-06-04 21:01:53 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2016-06-04 21:01:53 +0200
commit16e9b0dc459f3ac198495127498b2255eb94c1ce (patch)
tree6630ede1ece5782d0d72cffdc466df87386be67e /src/spawn.cpp
parentdd408c9ae23d37d53e0ca7d3d75e33fdae2efdcb (diff)
downloadsciteco-16e9b0dc459f3ac198495127498b2255eb94c1ce.tar.gz
added ^E@ string building character
* allows expansion of Q-Register contents with UNIX shell quoting * This especially improves the usefulness of the EC/EG commands as we can reliably determine that a TECO string (ie. Q-Register) will end up as a single argument to the spawned process. A previous workaround was to enclose ^EQ in quotes, but it does not work e.g. if the register contains the wrong kind of quotes or other magic shell characters. * NOTE: In order to be absolutely sure about the runtime behaviour of EC plus ^E@, you will have to enable UNIX98 shell emulation in portable macros.
Diffstat (limited to 'src/spawn.cpp')
-rw-r--r--src/spawn.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/spawn.cpp b/src/spawn.cpp
index 9ea3919..0722180 100644
--- a/src/spawn.cpp
+++ b/src/spawn.cpp
@@ -209,6 +209,11 @@ parse_shell_command_line(const gchar *cmdline, GError **error)
* \(lq0,128ED\(rq, and is recommended when writing cross-platform
* macros using the EC command.
*
+ * When using an UNIX-compatible shell or the UNIX98 shell emulation,
+ * you might want to use the \fB^E@\fP string-building character
+ * to pass Q-Register contents reliably as single arguments to
+ * the spawned process.
+ *
* The spawned process inherits both \*(ST's current working
* directory and its environment variables.
* More precisely, \*(ST uses its environment registers