--- a/cmd.rst Wed Mar 24 15:51:36 2010 +0200
+++ b/cmd.rst Wed Mar 24 21:01:03 2010 +0200
@@ -1,5 +1,32 @@
-*- outline -*-
+* Quoting.
+
+ * Arguments are delimited by white space, which is either a space or a tab.
+ * A string surrounded by double quotation marks is interpreted as a single
+ argument.
+ * A double quotation mark preceded by a backslash, \", is interpreted as a
+ literal double quotation mark.
+ * Backslashes are interpreted literally, unless they immediately precede a
+ double quotation mark.
+ * If an even number of backslashes is followed by a double quotation mark,
+ then one backslash (\) is placed in the argv array for every pair of
+ backslashes (\\), and the double quotation mark (") is interpreted as a
+ string delimiter.
+ * If an odd number of backslashes is followed by a double quotation mark,
+ then one backslash (\) is placed in the argv array for every pair of
+ backslashes (\\) and the double quotation mark is interpreted as an escape
+ sequence by the remaining backslash, causing a literal double quotation
+ mark (") to be placed in argv.
+ * In double quote mark need surround such chars:
+ & < > [ ] { } ^ = ; ! ' + , ` ~
+ Also all this char can be escaped by ^ char.
+ * Long line can be truncated by ^ char, in this case trailing white spaces
+ not allowed.
+
+ http://msdn.microsoft.com/en-us/library/ms880421.aspx
+ Parsing C Command-Line Arguments
+
* Variables.
Variable name start with letter and underscore, next chars can be letter,