Fix string documentation for 3.0

parent 5facfd3c
...@@ -13,6 +13,10 @@ string concatenation operator ...@@ -13,6 +13,10 @@ string concatenation operator
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
String concatenation did not have an operator previously, but this has now been changed to ``+``. String concatenation did not have an operator previously, but this has now been changed to ``+``.
no more %-escapes in strings
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To simplify strings, the %-encoding has been removed. If you need non-printable characters, you need to use inline C.
``log`` moved to the std vmod ``log`` moved to the std vmod
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......
...@@ -39,11 +39,11 @@ In addition to the C-like assignment (=), comparison (==, !=) and ...@@ -39,11 +39,11 @@ In addition to the C-like assignment (=), comparison (==, !=) and
boolean (!, && and \|\|) operators, VCL supports both regular boolean (!, && and \|\|) operators, VCL supports both regular
expression and ACL matching using the ~ and the !~ operators. expression and ACL matching using the ~ and the !~ operators.
Basic strings are enclosed in " ... " and uses URL-style %-escapes. Basic strings are enclosed in " ... ", and may not contain newlines.
Long strings are enclosed in {" ... "} and do not have an escape Long strings are enclosed in {" ... "}. They may contain any
character. They may contain any character including ", newline and character including ", newline and other control characters except
other control characters except for the NUL (0x00) character. for the NUL (0x00) character.
Unlike C and Perl, the backslash (\) character has no special meaning Unlike C and Perl, the backslash (\) character has no special meaning
in strings in VCL, so it can be freely used in regular expressions in strings in VCL, so it can be freely used in regular expressions
......
...@@ -492,7 +492,7 @@ vcc_Lexer(struct vcc *tl, struct source *sp) ...@@ -492,7 +492,7 @@ vcc_Lexer(struct vcc *tl, struct source *sp)
continue; continue;
} }
/* Match strings, with \\ and \" escapes */ /* Match strings */
if (*p == '"') { if (*p == '"') {
for (q = p + 1; q < sp->e; q++) { for (q = p + 1; q < sp->e; q++) {
if (*q == '"') { if (*q == '"') {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment