summaryrefslogtreecommitdiff
path: root/Build/source/libs/lua52/TLPATCHES/patch-01-utf-8
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/lua52/TLPATCHES/patch-01-utf-8')
-rw-r--r--Build/source/libs/lua52/TLPATCHES/patch-01-utf-826
1 files changed, 26 insertions, 0 deletions
diff --git a/Build/source/libs/lua52/TLPATCHES/patch-01-utf-8 b/Build/source/libs/lua52/TLPATCHES/patch-01-utf-8
new file mode 100644
index 00000000000..9ad97494106
--- /dev/null
+++ b/Build/source/libs/lua52/TLPATCHES/patch-01-utf-8
@@ -0,0 +1,26 @@
+diff -ur lua-5.2.4.orig/src/lctype.h lua-5.2.4/src/lctype.h
+--- lua-5.2.4.orig/src/lctype.h 2013-04-12 20:48:47.000000000 +0200
++++ lua-5.2.4/src/lctype.h 2014-02-13 13:17:33.000000000 +0100
+@@ -7,6 +7,8 @@
+ #ifndef lctype_h
+ #define lctype_h
+
++#include <ctype.h>
++
+ #include "lua.h"
+
+
+@@ -53,9 +55,11 @@
+
+ /*
+ ** 'lalpha' (Lua alphabetic) and 'lalnum' (Lua alphanumeric) both include '_'
++**
++** all utf-8 chars (greater than 0x7f) are always alphabetic
+ */
+-#define lislalpha(c) testprop(c, MASK(ALPHABIT))
+-#define lislalnum(c) testprop(c, (MASK(ALPHABIT) | MASK(DIGITBIT)))
++#define lislalpha(c) (isalpha(c) || (c) == '_' || (c) > 0x7f)
++#define lislalnum(c) (isalnum(c) || (c) == '_' || (c) > 0x7f)
+ #define lisdigit(c) testprop(c, MASK(DIGITBIT))
+ #define lisspace(c) testprop(c, MASK(SPACEBIT))
+ #define lisprint(c) testprop(c, MASK(PRINTBIT))