summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2016-09-19 09:41:34 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2016-09-20 12:09:47 +0200
commit57441df4d8c88e8bfcc57fe7c6a6128f10304f72 (patch)
treebba19c8447a9a2e549f2828274be2dbce545ae12
parent4094b053d612dfa0156571be2e621424290e97ff (diff)
downloadvala-57441df4d8c88e8bfcc57fe7c6a6128f10304f72.tar.gz
Add support for the \v escape charactor
https://bugzilla.gnome.org/show_bug.cgi?id=664689
-rw-r--r--tests/basic-types/escape-chars.vala10
-rw-r--r--vala/valascanner.vala3
2 files changed, 13 insertions, 0 deletions
diff --git a/tests/basic-types/escape-chars.vala b/tests/basic-types/escape-chars.vala
index 6784671af..0e6461488 100644
--- a/tests/basic-types/escape-chars.vala
+++ b/tests/basic-types/escape-chars.vala
@@ -15,8 +15,18 @@ void test_u_escape_chars () {
assert (s == "Copyright ©");
}
+void test_simple_escape_chars () {
+ string s = "\b\f\n\r\t\v";
+ s = s.escape ();
+ assert (s == "\\b\\f\\n\\r\\t\\v");
+ assert (s.compress () == "\b\f\n\r\t\v");
+}
+
void main () {
// Test case for the bug report 704709
test_x_escape_chars ();
test_u_escape_chars ();
+
+ // Test case for the bug report 664689
+ test_simple_escape_chars ();
}
diff --git a/vala/valascanner.vala b/vala/valascanner.vala
index 19eb5c4e1..7ac0fd68c 100644
--- a/vala/valascanner.vala
+++ b/vala/valascanner.vala
@@ -195,6 +195,7 @@ public class Vala.Scanner {
case 'n':
case 'r':
case 't':
+ case 'v':
case 'a':
case 'A':
case 'p':
@@ -707,6 +708,7 @@ public class Vala.Scanner {
case 'n':
case 'r':
case 't':
+ case 'v':
current++;
token_length_in_chars++;
break;
@@ -1140,6 +1142,7 @@ public class Vala.Scanner {
case 'n':
case 'r':
case 't':
+ case 'v':
case '$':
current++;
token_length_in_chars++;