diff options
author | Philipp Gesang <phg42.2a@gmail.com> | 2013-05-21 11:10:20 +0200 |
---|---|---|
committer | Philipp Gesang <phg42.2a@gmail.com> | 2013-05-21 11:10:20 +0200 |
commit | e326f02d3f1db23d7f8dbbef328839666e9957ff (patch) | |
tree | 9d1167a15fe04349f26d254e580dcb9f8b6e64f7 | |
parent | c1406e4fff6268137d2fad0a96cf6382e625bf16 (diff) | |
download | luaotfload-e326f02d3f1db23d7f8dbbef328839666e9957ff.tar.gz |
restore catchall rule for non-assignment options
-rw-r--r-- | luaotfload-features.lua | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/luaotfload-features.lua b/luaotfload-features.lua index 9713f95..a4d495e 100644 --- a/luaotfload-features.lua +++ b/luaotfload-features.lua @@ -1015,18 +1015,15 @@ local field = field_char^1 --- switches are “+key” | “-key” local normal_option = C(field) * ws * equals * ws * C(field) * ws local xetex_option = P"+" * ws * normal_option +local ignore_option = (1 - equals)^1 * equals * (1 - featuresep)^1 local assignment = xetex_option / handle_xetex_option + normal_option / handle_normal_option ------ assignment = (field / strip_leading_sign) * ws ------ * equals * ws ------ * (field / toboolean) + + ignore_option / handle_invalid_option local switch = P"+" * ws * C(field) * Cc(true) + P"-" * ws * C(field) * Cc(false) --- + C(field) * Cc(true) -- catch crap -local ignore = (1 - featuresep)^1 --- ignores one option - / handle_invalid_option + + C(field) * Cc(true) --- default local feature_expr = ws * Cg(assignment + switch) * ws -local option = feature_expr + ignore +local option = feature_expr local feature_list = Cf(Ct"" * option * (featuresep * option)^0 |