Mercurial > mxe-octave
annotate src/readline-4-locale.patch @ 7220:d3087afece14 default tip @
* src/gdal.mk, src/xcb.mk: disable doxygen docs
author | John Donoghue <john.donoghue@ieee.org> |
---|---|
date | Wed, 22 May 2024 10:31:54 -0400 |
parents | a6f1111a9f1d |
children |
rev | line source |
---|---|
6554
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
1 --- readline-8.2/nls.c.orig 2022-11-22 18:41:48.302144300 +0100 |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
2 +++ readline-8.2/nls.c 2022-12-03 18:37:54.991412600 +0100 |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
3 @@ -49,6 +49,11 @@ |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
4 |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
5 #include <ctype.h> |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
6 |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
7 +#if defined (_WIN32) |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
8 +# include <windows.h> |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
9 +# include <versionhelpers.h> |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
10 +#endif |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
11 + |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
12 #include "rldefs.h" |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
13 #include "readline.h" |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
14 #include "rlshell.h" |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
15 @@ -109,7 +114,11 @@ |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
16 char *cp; |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
17 size_t len; |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
18 |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
19 -#if HAVE_LANGINFO_CODESET |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
20 +#if defined (_WIN32) |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
21 + /* On Windows, the relevant "locale" is the selected codepage of the used |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
22 + console. */ |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
23 + return (IsWindows7OrGreater () && (GetConsoleCP () == 65001)); |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
24 +#elif HAVE_LANGINFO_CODESET |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
25 cp = nl_langinfo (CODESET); |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
26 return (STREQ (cp, "UTF-8") || STREQ (cp, "utf8")); |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
27 #else |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
28 @@ -138,11 +147,18 @@ |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
29 #if defined (HAVE_SETLOCALE) |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
30 if (lspec == 0 || *lspec == 0) |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
31 lspec = setlocale (LC_CTYPE, (char *)NULL); |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
32 +#if defined (_WIN32) |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
33 + /* Setting an UTF-8 locale is not a no-op on Windows. Instead the |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
34 + information about the locale is lost. Use whatever we got at this |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
35 + point. */ |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
36 + ret = lspec; |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
37 +#else |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
38 if (lspec == 0) |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
39 lspec = ""; |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
40 ret = setlocale (LC_CTYPE, lspec); /* ok, since it does not change locale */ |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
41 if (ret == 0 || *ret == 0) |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
42 ret = setlocale (LC_CTYPE, (char *)NULL); |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
43 +#endif |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
44 if (ret == 0 || *ret == 0) |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
45 ret = RL_DEFAULT_LOCALE; |
a6f1111a9f1d
readline: Check console codepage for UTF-8 locale on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
46 #else |