diff options
author | Ľubomír Remák <lubomirr@lubomirr.eu> | 2013-04-16 18:34:45 +0200 |
---|---|---|
committer | Ľubomír Remák <lubomirr@lubomirr.eu> | 2013-04-16 18:34:45 +0200 |
commit | 97c6a779339a0de698606eaa42c347bcd027bfea (patch) | |
tree | f9ac599fd8a70a5ec37edb96196361c6c0e6357d /gettext-tools | |
parent | 7258f3aa1a24f0d195249621771be646f2d2c49c (diff) | |
download | external_gettext-97c6a779339a0de698606eaa42c347bcd027bfea.zip external_gettext-97c6a779339a0de698606eaa42c347bcd027bfea.tar.gz external_gettext-97c6a779339a0de698606eaa42c347bcd027bfea.tar.bz2 |
Support for escape sequences added in Lua 5.2.
Diffstat (limited to 'gettext-tools')
-rw-r--r-- | gettext-tools/src/ChangeLog | 5 | ||||
-rw-r--r-- | gettext-tools/src/x-lua.c | 40 | ||||
-rw-r--r-- | gettext-tools/tests/ChangeLog | 5 | ||||
-rwxr-xr-x | gettext-tools/tests/xgettext-lua-1 | 5 |
4 files changed, 55 insertions, 0 deletions
diff --git a/gettext-tools/src/ChangeLog b/gettext-tools/src/ChangeLog index 9427c87..11a7c87 100644 --- a/gettext-tools/src/ChangeLog +++ b/gettext-tools/src/ChangeLog @@ -1,3 +1,8 @@ +2013-04-16 Ľubomír Remák <lubomirr@lubomirr.eu> + + Support for escape sequences added in Lua 5.2. + * x-lua.c (phase3_get): Add \x and \z escape sequences. + 2013-04-11 Ľubomír Remák <lubomirr@lubomirr.eu> Support for Lua. diff --git a/gettext-tools/src/x-lua.c b/gettext-tools/src/x-lua.c index fad7d0e..7a21258 100644 --- a/gettext-tools/src/x-lua.c +++ b/gettext-tools/src/x-lua.c @@ -619,7 +619,47 @@ phase3_get (token_ty *tp) case 'v': string_add ('\v'); break; + case 'x': + { + int num = 0; + int i = 0; + + for (i = 0; i < 2; i++) + { + c = phase1_getc (); + if (c >= '0' && c <= '9') + num += c - '0'; + else if (c >= 'a' && c <= 'f') + num += c - 'a' + 10; + else if (c >= 'A' && c <= 'F') + num += c - 'A' + 10; + else + { + phase1_ungetc (c); + break; + } + + if (i == 0) + num *= 16; + } + + if (i == 2) + string_add (num); + } + break; + case 'z': + /* Ignore the following whitespace. */ + do + { + c = phase1_getc (); + } + while (c == ' ' || c == '\n' || c == '\t' || c == '\r' + || c == '\f' || c == '\v'); + + phase1_ungetc (c); + + break; default: /* Check if it's a '\ddd' sequence. */ if (c >= '0' && c <= '9') diff --git a/gettext-tools/tests/ChangeLog b/gettext-tools/tests/ChangeLog index 46cb995..5ee060f 100644 --- a/gettext-tools/tests/ChangeLog +++ b/gettext-tools/tests/ChangeLog @@ -1,3 +1,8 @@ +2013-04-16 Ľubomír Remák <lubomirr@lubomirr.eu> + + Support for escape sequences added in Lua 5.2. + * xgettext-lua-1: New test cases for \x and \z escape sequences. + 2013-04-11 Ľubomír Remák <lubomirr@lubomirr.eu> Support for Lua. diff --git a/gettext-tools/tests/xgettext-lua-1 b/gettext-tools/tests/xgettext-lua-1 index 8ac8457..bad25b4 100755 --- a/gettext-tools/tests/xgettext-lua-1 +++ b/gettext-tools/tests/xgettext-lua-1 @@ -19,6 +19,8 @@ print(_(hmm["nope"])) print({_"yep"}) print(_["nope"]) print(_("\097")) +print(_("\x3F\z +\x2a")) EOF tmpfiles="$tmpfiles xg-lu-1.tmp.po xg-lu-1.po" @@ -60,6 +62,9 @@ msgstr "" msgid "a" msgstr "" + +msgid "?*" +msgstr "" EOF : ${DIFF=diff} |