summaryrefslogtreecommitdiff
path: root/Build/source/libs/lua53/TLpatches/patch-01-utf-8
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/lua53/TLpatches/patch-01-utf-8')
-rw-r--r--Build/source/libs/lua53/TLpatches/patch-01-utf-827
1 files changed, 27 insertions, 0 deletions
diff --git a/Build/source/libs/lua53/TLpatches/patch-01-utf-8 b/Build/source/libs/lua53/TLpatches/patch-01-utf-8
new file mode 100644
index 00000000000..69f07417699
--- /dev/null
+++ b/Build/source/libs/lua53/TLpatches/patch-01-utf-8
@@ -0,0 +1,27 @@
+diff -u lctype.h.orig lctype.h
+--- lctype.h.orig 2020-10-04 12:05:56.139893521 +0200
++++ lctype.h 2020-10-04 12:21:33.348948021 +0200
+@@ -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))
+