summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/envfile.html40
-rw-r--r--doc/index.html2
-rw-r--r--doc/upgrade.html10
3 files changed, 40 insertions, 12 deletions
diff --git a/doc/envfile.html b/doc/envfile.html
index 5c0523c..713b6ae 100644
--- a/doc/envfile.html
+++ b/doc/envfile.html
@@ -55,19 +55,32 @@ it execs into <em>prog</em>.
<p>
<em>file</em> is a text file containing lines of the form <tt>key = value</tt>.
-Whitespace is permitted before and after <em>key</em>, and before or after <em>value</em>,
-but <em>key</em> or <em>value</em> can never contain whitespace. No quoting
-is possible.
+Whitespace is permitted before and after <em>key</em>, and before or after <em>value</em>.
</p>
<p>
Empty lines, or lines containing only whitespace, are ignored.
Lines beginning with <tt>#</tt> (possibly after some whitespace)
are ignored (and typically used for comments).
-Comments are also possible at the end of lines:
-<tt>key = value # comment</tt> is a valid line. Note that there
-<em>must</em> be whitespace between <em>value</em> and <tt>#</tt>
-in this case (else <tt>#</tt> is just read as a part of <em>value</em>).
+Leading and trailing whitespace is stripped from values; but a
+value can be double-quoted, which allows for inclusion of leading
+and trailing whitespace.
+</p>
+
+<p>
+ A non-commented line that ends with a backslash ("<tt>\</tt>") is
+concatenated with the following one, and the newline character is
+ignored. If a backslashed newline happens before the start of a
+value, then the whitespace at the beginning of the new line will be
+part of the value (i.e. leading whitespace on a new line is not
+stripped).
+</p>
+
+<p>
+ C escapes, including hexadecimal and octal sequences, are supported
+in quoted values. Unicode codepoint sequences are not supported. It
+is possible to include a newline in a quoted value by using <tt>\n</tt>;
+but including newlines in environment variables is not recommended.
</p>
<p>
@@ -78,16 +91,21 @@ added to the environment, with an empty value. If you do not want
the environment.
</p>
+<p>
+ The envfile format is largely compatible with systemd's
+<a href="https://www.freedesktop.org/software/systemd/man/systemd.exec.html#EnvironmentFile=">EnvironmentFile</a>
+format, which allows for the reuse of such files outside of systemd.
+</p>
+
<h2> Notes </h2>
<ul>
<li> If <em>file</em> is <tt>-</tt> then <tt>envfile</tt> reads
and parses its standard input instead. To read a file literally named
<tt>-</tt>, you can use <tt>./-</tt> for instance. </li>
- <li> The variables and values that can be defined with <tt>envfile</tt>
-are purposefully restricted in order to keep the parsing extremely simple.
-If you need fancy values, for instance values that contain whitespace or
-a newline, you should use an envdir instead: see
+ <li> The variables that can be defined with <tt>envfile</tt>
+are purposefully restricted. If you need more expressive power for your
+variable names, or for your values, you should use an envdir instead: see
<a href="//skarnet.org/software/s6/s6-envdir.html">s6-envdir</a>. </li>
</ul>
diff --git a/doc/index.html b/doc/index.html
index 0b41cea..0437fd5 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -66,7 +66,7 @@ library. </li>
<h3> Download </h3>
<ul>
- <li> The current released version of execline is <a href="execline-2.6.0.2.tar.gz">2.6.0.2</a>. </li>
+ <li> The current released version of execline is <a href="execline-2.6.1.0.tar.gz">2.6.1.0</a>. </li>
<li> Alternatively, you can checkout a copy of the
<a href="//git.skarnet.org/cgi-bin/cgit.cgi/execline/">execline
git repository</a>:
diff --git a/doc/upgrade.html b/doc/upgrade.html
index e1ae3a3..3038dcf 100644
--- a/doc/upgrade.html
+++ b/doc/upgrade.html
@@ -18,6 +18,16 @@
<h1> What has changed in execline </h1>
+<h2> in 2.6.1.0 </h2>
+
+<ul>
+ <li> The <a href="envfile.html">envfile</a> format has changed.
+It is now more expressive and largely compatible with systemd's
+<a href="https://www.freedesktop.org/software/systemd/man/systemd.exec.html#EnvironmentFile=">EnvironmentFile</a>
+format. The new format is a superset of the old one, so old
+envfiles should still be understood by the new binary. </li>
+</ul>
+
<h2> in 2.6.0.2 </h2>
<ul>