summaryrefslogtreecommitdiff
path: root/lib/libX11
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2022-07-23 19:28:48 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2022-07-23 19:28:48 +0000
commitff81d9e3a4a58d8477f9e8007cd43bea866fee8e (patch)
treef308376c8b9656bb984aa20874ad9d4546f8f306 /lib/libX11
parent3ee2fc403c2c8cd734d382d98a49b1a99fe297b6 (diff)
Update to libX11 1.8.1
Diffstat (limited to 'lib/libX11')
-rw-r--r--lib/libX11/ChangeLog285
-rw-r--r--lib/libX11/README.md35
-rw-r--r--lib/libX11/configure36
-rw-r--r--lib/libX11/configure.ac11
-rw-r--r--lib/libX11/include/X11/XKBlib.h2
-rw-r--r--lib/libX11/include/X11/extensions/XKBgeom.h60
-rw-r--r--lib/libX11/man/xkb/XkbAddGeomColor.man2
-rw-r--r--lib/libX11/man/xkb/XkbAddGeomKeyAlias.man4
-rw-r--r--lib/libX11/man/xkb/XkbAddGeomOverlayKey.man3
-rw-r--r--lib/libX11/man/xkb/XkbAddGeomProperty.man4
-rw-r--r--lib/libX11/man/xkb/XkbFindOverlayForKey.man2
-rw-r--r--lib/libX11/man/xkb/XkbOpenDisplay.man2
-rw-r--r--lib/libX11/nls/am_ET.UTF-8/Compose.pre580
-rw-r--r--lib/libX11/nls/el_GR.UTF-8/Compose.pre16
-rw-r--r--lib/libX11/nls/en_US.UTF-8/Compose.pre15
-rw-r--r--lib/libX11/nls/km_KH.UTF-8/Compose.pre7
-rw-r--r--lib/libX11/src/config.h.in3
-rw-r--r--lib/libX11/src/globals.c16
-rw-r--r--lib/libX11/src/xkb/XKB.c2
-rw-r--r--lib/libX11/src/xkb/XKBGAlloc.c11
-rw-r--r--lib/libX11/src/xkb/XKBGeom.c3
-rw-r--r--lib/libX11/src/xkb/XKBMisc.c2
-rw-r--r--lib/libX11/src/xlibi18n/lcCT.c2
23 files changed, 638 insertions, 465 deletions
diff --git a/lib/libX11/ChangeLog b/lib/libX11/ChangeLog
index dec14a1bf..e7fa76ad1 100644
--- a/lib/libX11/ChangeLog
+++ b/lib/libX11/ChangeLog
@@ -1,3 +1,193 @@
+commit 3a30ada60c5217ada37b143b541c8e6f6284c7fa
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Wed Jun 8 17:30:14 2022 -0700
+
+ libX11 1.8.1
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit 70f7403fd3bf362fc50b8de4a2e26300f757c68e
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Tue May 3 14:45:05 2022 -0700
+
+ configure.ac: Fix --enable-thread-safety-constructor
+
+ Prior to this, --enable-thread-safety-constructor would disable it,
+ while --disable worked as expected, and no option left it enabled as
+ expected by default. This also fixes the --help text to be displayed.
+
+ Fixes: afcdb6fb0045c6186aa83d9298f327a7ec1b2cb9
+ Reported-by: @igor.v.kovalenko
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ Reviewed-by: Adam Jackson <ajax@redhat.com>
+
+commit d0da5a1e0fb214ff911ecff86d35f6673ff70023
+Author: Adam Jackson <ajax@redhat.com>
+Date: Fri Apr 29 11:27:44 2022 -0400
+
+ libX11 1.8
+
+ Minor number bump to reflect the thread safety default change.
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+commit afcdb6fb0045c6186aa83d9298f327a7ec1b2cb9
+Author: Adam Jackson <ajax@redhat.com>
+Date: Tue Mar 22 18:24:29 2022 -0400
+
+ global: call XInitThreads() from the library's constructor
+
+ There is really no point in not being thread safe, I measured, all you
+ can see happen is noop performance gets like twice as slow and you have
+ thread safety bugs. And we're using xcb as the transport which means we
+ should expect threads in our clients anyway. Just do it.
+
+ This assumes your compiler understands __attribute__((constructor)). If
+ this is not your compiler, you can disable this with the appropriate
+ configure flag, but be aware you're asking for bugs.
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+commit 1ab48f3cc966751d86e434808180beb2dc76c4fa
+Author: Benno Schulenberg <bensberg@telfort.nl>
+Date: Sun Apr 24 15:06:45 2022 +0200
+
+ docs: add release notes for versions 1.7.3, 1.7.4, and 1.7.5
+
+ They were forgotten when those releases were made.
+
+ Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
+
+commit 35d1513bc7fdd3ac6f5807feb601efc34ac19163
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Sat Apr 16 13:04:23 2022 -0700
+
+ XkbOpenDisplay: Add _Xconst qualifier to display name argument
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit c88ceaad4aaa0439e5cba13c1f5737ad54566e0b
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Sat Apr 16 12:59:39 2022 -0700
+
+ XKBgeom.h: Add _Xconst qualifier to char * arguments in functions
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit 0ce4425826074b12a58ced432f9d6fb346474737
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Sat Apr 16 12:20:51 2022 -0700
+
+ XKBgeom.h: Remove XKB_IN_SERVER section
+
+ The Xserver made its own copy of this file in 2008, and the API's are
+ no longer the same between the server and client forks.
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit be8c01946ab1a1d4b79fdc5358541d630f14dc0a
+Author: Benno Schulenberg <bensberg@telfort.nl>
+Date: Wed Apr 20 09:29:09 2022 +0200
+
+ lcCT: use the correct index for checking the second byte
+
+ (Not that it will make any difference, as the checking of these
+ high bits looks like an excess of precaution.)
+
+ This fixes issue #134.
+
+ Reported-by: Rafał Mikrut
+
+ Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
+
+commit 488b156fe2cc8aca6946a49236ec7b7698fceda4
+Author: Benno Schulenberg <bensberg@telfort.nl>
+Date: Fri Feb 25 16:35:46 2022 +0100
+
+ nls: make the Ethiopian compose sequences actually work
+
+ In the Ethiopian keyboard layout, the dead vowel keys do not produce <e>
+ and <u> and so on, but instead produce <U+FE69> and <U+FE75> and so on,
+ so the compose sequences should use those latter code points.
+
+ Also, include the basic compose sequences from en_US.UTF-8/Compose,
+ so that, when switching to a different layout in the Ethiopian locale,
+ all the usual compose sequences work too.
+
+ Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
+
+commit e6f98a3dbd82928e10adaf9d034dc574af1de6e5
+Author: Benno Schulenberg <bensberg@telfort.nl>
+Date: Mon Apr 18 17:24:55 2022 +0200
+
+ nls: add Multi-key sequences for abovedot, diaeresis, and ogonek
+
+ These accents by themselves could only be produced when one had a
+ dead key for them, not with the help of the Multi key.
+
+ [Note that the sequences <dead_acute> <space> for apostrophe (')
+ and <dead_diaeresis> <space> for double quote (") are anomalies,
+ as normally <dead_accent> <space> produces the accent itself.]
+
+ Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
+
+commit d323704e7c57f9ac7fdfea3dc9fa73bf943e72d3
+Author: Benno Schulenberg <bensberg@telfort.nl>
+Date: Mon Apr 18 16:57:35 2022 +0200
+
+ nls: remove eight pointless self-producing compose sequences
+
+ Compose sequences are meant to produce certain symbols by combining
+ certain different symbols, not to produce a symbol with the help of
+ the symbol itself.
+
+ This fixes issue #59.
+
+ Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
+
+commit 3b62c0322c112c03597d850197dbce22d1830bb7
+Author: Benno Schulenberg <bensberg@telfort.nl>
+Date: Fri Feb 25 14:12:02 2022 +0100
+
+ nls: remove misplaced sequences from Ethiopian and Greek compose files
+
+ The Khmer digraphs and Arabic ligatures have nothing to do with
+ Amharic or Greek.
+
+ (Also rewrap a comment and correct two others.)
+
+ Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
+
+commit 479af78f2e5caaf9b98a35ae5ff4ccdd2f040289
+Author: Benno Schulenberg <bensberg@telfort.nl>
+Date: Fri Feb 25 14:05:35 2022 +0100
+
+ nls: remove redundant Khmer digraphs, already defined in included file
+
+ This fixes issue #160.
+
+ Reported-by: Mike Fabian
+
+ Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
+
+commit 6d7d08726f4b0c517041842b27cd7e66e8f371eb
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Sun Apr 10 14:51:55 2022 -0700
+
+ XkbUpdateKeyTypeVirtualMods: always initialize mask
+
+ XkbVirtualModsToReal should only fail to set mask if the server does
+ not support XKB, but it still made Oracle Parfait complain:
+
+ Error: Uninitialised memory
+ Uninitialised memory variable [uninitialised-mem-var] (CWE 457):
+ Possible access to uninitialised memory referenced by variable 'mask'
+ at line 863 of lib/libX11/src/xkb/XKBMisc.c in function 'XkbUpdateKeyTypeVirtualMods'.
+ Path in callee avoiding write at line 862
+ mask allocated at line 860
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
commit 9ac6859c20be2fc5e70c2908de60c6e466ec04e1
Author: Matt Turner <mattst88@gmail.com>
Date: Sun Apr 3 10:15:30 2022 -0700
@@ -2202,7 +2392,7 @@ Date: Fri Jun 7 23:35:33 2019 +0200
Tested-by: Jean-Philippe Mengual <jpmengual@hypra.fr>
commit 99a2cf1aa0b58391078d5d3edf0a7dab18c7745d
-Author: Tapani Pälli <tapani.palli@intel.com>
+Author: Tapani Pälli <tapani.palli@intel.com>
Date: Mon May 13 08:29:49 2019 +0300
Protect colormap add/removal with display lock
@@ -2228,7 +2418,7 @@ Date: Wed Mar 13 13:12:20 2019 +0000
Windows.
commit 87c77a1e6d7034536e9d25ce24a667ebf53486a7
-Author: Matthias Dieter Wallnöfer <matthias.wallnoefer@lugbz.org>
+Author: Matthias Dieter Wallnöfer <matthias.wallnoefer@lugbz.org>
Date: Mon Mar 11 14:19:52 2019 +0000
locale.alias.pre - add the de_IT locale
@@ -2236,7 +2426,7 @@ Date: Mon Mar 11 14:19:52 2019 +0000
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 568f77f414072506bbe48646637c872987c97e63
-Author: Matthias Dieter Wallnöfer <matthias.wallnoefer@lugbz.org>
+Author: Matthias Dieter Wallnöfer <matthias.wallnoefer@lugbz.org>
Date: Mon Mar 11 14:17:10 2019 +0000
locale.dir.pre - add the de_IT locale
@@ -2244,7 +2434,7 @@ Date: Mon Mar 11 14:17:10 2019 +0000
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 38c0c92feaef7dc4a72920b1dd79872e6578086c
-Author: Matthias Dieter Wallnöfer <matthias.wallnoefer@lugbz.org>
+Author: Matthias Dieter Wallnöfer <matthias.wallnoefer@lugbz.org>
Date: Mon Mar 11 14:12:07 2019 +0000
compose.dir.pre - add de_IT locale
@@ -2252,7 +2442,7 @@ Date: Mon Mar 11 14:12:07 2019 +0000
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 49f835611ba6ab82e68b7b851507931c142db7a5
-Author: Matthias Dieter Wallnöfer <matthias.wallnoefer@lugbz.org>
+Author: Matthias Dieter Wallnöfer <matthias.wallnoefer@lugbz.org>
Date: Tue Jan 29 15:34:34 2019 +0000
Update locale.alias.pre - introduce the de_LI aliases (equivalent to de_CH)
@@ -2260,7 +2450,7 @@ Date: Tue Jan 29 15:34:34 2019 +0000
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit ed669234d0cd5933618aa5fd2da697b59845b9be
-Author: Matthias Dieter Wallnöfer <matthias.wallnoefer@lugbz.org>
+Author: Matthias Dieter Wallnöfer <matthias.wallnoefer@lugbz.org>
Date: Tue Jan 29 15:28:18 2019 +0000
locale.dir.pre - fix the de_LI latin15 locale
@@ -2582,7 +2772,7 @@ Date: Tue Oct 9 10:26:05 2018 -0400
Signed-off-by: Matt Turner <mattst88@gmail.com>
commit 823a0f8a820247b6c1e092f679b49cbdc2ea5c95
-Author: Michel Dänzer <michel.daenzer@amd.com>
+Author: Michel Dänzer <michel.daenzer@amd.com>
Date: Fri Sep 28 17:24:17 2018 +0200
poll_for_event: Allow using xcb_poll_for_queued_event
@@ -2594,7 +2784,7 @@ Date: Fri Sep 28 17:24:17 2018 +0200
Reviewed-by: Uli Schlachter <psychon@znc.in>
commit 406afe4b0f1b655c0db19bbc9a0c48da9a46acf5
-Author: Michel Dänzer <michel.daenzer@amd.com>
+Author: Michel Dänzer <michel.daenzer@amd.com>
Date: Tue Sep 25 17:10:58 2018 +0200
poll_for_response: Call poll_for_event again if xcb_poll_for_reply fails
@@ -3123,7 +3313,7 @@ Date: Fri Feb 10 18:48:18 2017 +0500
Signed-off-by: Mihail Konev <k.mvc@ya.ru>
commit 23d9623c661694aba8cf1e8f277dffa7a86cf065
-Author: Petr Písař <petr.pisar@atlas.cz>
+Author: Petr Písař < <petr.pisar@atlas.cz>
Date: Sun Oct 30 12:49:11 2016 +0100
Revert cs_CZ.UTF-8 XLC_LOCALE to en_US.UTF-8
@@ -6619,6 +6809,9 @@ Date: Mon Feb 18 01:25:34 2013 +0000
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+Notes:
+ CVE-2013-7439
+
commit 3cdb6c3a1646f670afa03d424ec12ac418181d1e
Author: Quentin Glidic <sardemff7+git@sardemff7.net>
Date: Tue Jan 15 21:07:17 2013 +0000
@@ -7613,7 +7806,7 @@ Date: Sun Feb 12 19:01:43 2012 -0800
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
commit f180e043f55531933bedfa6e0ff36a00a9ec07f3
-Author: Frédéric Boiteux <fboiteux@calistel.com>
+Author: Frédéric Boiteux < <fboiteux@calistel.com>
Date: Wed Nov 30 12:47:31 2011 +0000
Compositions with the dead greek symbol
@@ -9193,7 +9386,7 @@ Date: Mon Mar 14 14:45:35 2011 -0700
Signed-off-by: Jamey Sharp <jamey@minilop.net>
commit 690f8bffd48a4e7e74298360ddd0431dc95dcd3f
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Tue Jan 18 15:58:20 2011 +0200
xkb: XkbPropertyPtr determined allocation success from wrong variables
@@ -9209,7 +9402,7 @@ Date: Tue Jan 18 15:58:20 2011 +0200
Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>
commit 6a4d027284e7bb5dd458157947bbb1ff580ad071
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Mon Jan 10 16:37:22 2011 +0200
keyBind: Use Xcalloc to initialize allocated _XKeytrans
@@ -9222,7 +9415,7 @@ Date: Mon Jan 10 16:37:22 2011 +0200
Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>
commit b993d73bb3214ecc24646f5427c8003b816c6921
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Mon Jan 10 16:22:45 2011 +0200
im/ximcp: release modifiermap before returning
@@ -9334,7 +9527,7 @@ Date: Fri Feb 11 14:20:24 2011 -0800
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 502d414118c97d35a44f8e295709682022876331
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Thu Feb 3 17:08:57 2011 +0200
xcms/cmsProp: don't deal with uninitialized values, fail instead
@@ -9408,7 +9601,7 @@ Date: Wed Feb 2 08:56:00 2011 -0800
Reviewed-by: Julien Cristau <jcristau@debian.org>
commit 450e17422c0e374d25c643f343ea268cec68da38
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Mon Jan 31 14:01:57 2011 +0200
XlibInt: Use strncpy+zero termination instead of strcpy to enforce buffer size
@@ -9438,7 +9631,7 @@ Date: Mon Jan 31 14:02:13 2011 +0200
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 03f81ad8fb9783986cf9b17661dd31e95c396681
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Mon Jan 31 14:02:16 2011 +0200
xlibi18n/lcFile: Removed superfluous check for NULL target_dir
@@ -9453,7 +9646,7 @@ Date: Mon Jan 31 14:02:16 2011 +0200
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 1346b9ea3b3882201ff8c3ee462ff4b0d4edf639
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Mon Jan 31 14:02:15 2011 +0200
ximcp/imLckup: Handle negative return value from _Xlcwctomb
@@ -9474,7 +9667,7 @@ Date: Mon Jan 31 14:02:15 2011 +0200
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 79a5c86e020f08cc108184298a72e2777036de39
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Mon Jan 31 14:02:14 2011 +0200
ximcp/imTrX: Handle failing XGetWindowProperty
@@ -9506,7 +9699,7 @@ Date: Mon Jan 31 14:02:12 2011 +0200
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 2b16a7e683e355c9746290b2cee2fd0dd2bf342a
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Mon Jan 31 14:02:10 2011 +0200
GetProp: Zero-initialized error so its resourceID field is initialized
@@ -9546,7 +9739,7 @@ Date: Mon Jan 31 14:02:08 2011 +0200
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit be3e6c205d94dedc1cdebf5d17b987f0f828377a
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Mon Jan 31 14:02:06 2011 +0200
Xrm: Handle the extremely unlikely situation of fstat failing
@@ -9559,7 +9752,7 @@ Date: Mon Jan 31 14:02:06 2011 +0200
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 3fae16c64d6ef76fd4a25a54c7f7de76596457db
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Mon Jan 31 14:02:05 2011 +0200
Xrm: NEWTABLE had a memory leak after a memory allocation error
@@ -9575,7 +9768,7 @@ Date: Mon Jan 31 14:02:05 2011 +0200
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 7110ac653349a23c80c365f11f6270dc27c8975a
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Mon Jan 31 14:02:03 2011 +0200
ImUtil: Handle a memory leak in one early return branch
@@ -9590,7 +9783,7 @@ Date: Mon Jan 31 14:02:03 2011 +0200
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit d695f5da9f5b778e54b6987d9177048e32818c4d
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Mon Jan 31 14:02:01 2011 +0200
ximcp/imRm: Handle leaking colormap_ret
@@ -9605,7 +9798,7 @@ Date: Mon Jan 31 14:02:01 2011 +0200
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit f9eda19d08c1ea0973dfe0bc10a2519d6fd26cc7
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Mon Jan 31 14:01:59 2011 +0200
ximcp/imRmAttr: Handle leaking missing_list
@@ -9620,7 +9813,7 @@ Date: Mon Jan 31 14:01:59 2011 +0200
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 3183269e0979c9dbce9d55d9e03937897dc9fb3b
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Mon Jan 31 14:01:58 2011 +0200
ximcp/imRmAttr: Handle leaking colormap_ret
@@ -9634,7 +9827,7 @@ Date: Mon Jan 31 14:01:58 2011 +0200
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit f66a032a937030f2d9baa81744d36dc585bb085c
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Mon Jan 31 14:01:56 2011 +0200
xlibi18n/lcGeneric: Initialize uninitialized local variable
@@ -9647,7 +9840,7 @@ Date: Mon Jan 31 14:01:56 2011 +0200
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit d0266e06d38110ec908ca28379014eff743630b7
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Mon Jan 31 14:01:54 2011 +0200
xcmx/cmxColNm: Removed unused assignments to pBuf (in two functions)
@@ -9694,7 +9887,7 @@ Date: Mon Jan 31 14:50:19 2011 -0500
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit e994ab227ed28655565c3193e63733630105e7f9
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Tue Jan 18 12:49:48 2011 +0200
Comparing array against NULL is not useful "&xkb->server->vmods != NULL"
@@ -9705,7 +9898,7 @@ Date: Tue Jan 18 12:49:48 2011 +0200
Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi>
commit 4115f051e62f9b098efce691e070d44f09f30f1c
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Wed Jan 12 15:51:11 2011 +0200
Variable "entry" tracked as NULL was dereferenced.
@@ -9717,7 +9910,7 @@ Date: Wed Jan 12 15:51:11 2011 +0200
Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi>
commit 0edb76d1d5fdca5a2543332699be2e72386dab24
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Thu Jan 27 09:54:00 2011 +0200
Dereferencing possibly NULL "str" in call to function "memcpy" (Deref assumed on the basis of 'nonnull' parameter attribute.)
@@ -9729,7 +9922,7 @@ Date: Thu Jan 27 09:54:00 2011 +0200
Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi>
commit 59da8a211ef723909d0530c0331d541db8e63378
-Author: Erkki Seppälä <erkki.seppala@vincit.fi>
+Author: Erkki Seppälä < <erkki.seppala@vincit.fi>
Date: Mon Jan 10 16:17:47 2011 +0200
Using freed pointer "e"
@@ -11574,7 +11767,7 @@ Date: Tue Jan 26 19:41:08 2010 -0500
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit eb289b34bfc9978eef724e0f268975938334c06c
-Author: Kristian Høgsberg <krh@bitplanet.net>
+Author: Kristian Høgsberg <krh@bitplanet.net>
Date: Thu Jan 21 13:39:17 2010 -0500
XErrorDB: Add new DRI2 request names
@@ -12880,7 +13073,7 @@ Date: Sat Feb 21 14:48:42 2009 -0500
Signed-off-by: Chris Ball <cjb@laptop.org>
commit da6bbca07c796c69172a649405474f03bee66754
-Author: Emilio Jesús Gallego Arias <egallego@babel.ls.fi.upm.es>
+Author: Emilio Jesús Gallego Arias <egallego@babel.ls.fi.upm.es>
Date: Sat Feb 21 20:17:23 2009 +0100
xcb_io: Avoid datatype overflow on AMD64 and friends.
@@ -13561,7 +13754,7 @@ Date: Wed Sep 17 10:43:52 2008 -0400
Bug #17616: Fix an XCB leak when the client has a non-fatal error handler.
commit db0b85db29699be6bf7e78dede655d59ba926dfc
-Author: Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+Author: Rafael Ávila de Espíndola < <rafael.espindola@gmail.com>
Date: Sun Sep 14 19:15:26 2008 -0400
Fix problem with <dead_acute> <c> in pt_BR.UTF-8
@@ -13967,7 +14160,7 @@ Date: Thu Feb 28 20:17:41 2008 -0800
Man page typo fixes
commit 1a1a42a3ca1dfaf42f1094936b71c140fc030fcb
-Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
Date: Sun Feb 24 20:03:35 2008 -0500
XIM: Fix a hand when switching input context.
@@ -14197,7 +14390,7 @@ Date: Fri Aug 31 17:30:33 2007 -0700
Bug #2081: Note the range limitation of XSetScreenSaver arguments.
commit 31540f1438ec63faf37044f2fd654b335ddf80f0
-Author: Kristian Høgsberg <krh@redhat.com>
+Author: Kristian Høgsberg <krh@redhat.com>
Date: Wed Aug 29 19:50:57 2007 -0400
Add GLX 1.4 requests and errors.
@@ -15052,7 +15245,7 @@ Date: Wed Nov 8 12:17:41 2006 -0800
This fixes an XCB locking assertion failure, particularly with emacs.
commit e494ecaac1ec8a22bd9a85f800fca74d02e9d358
-Author: Diego 'Flameeyes' Pettenò <flameeyes@gentoo.org>
+Author: Diego 'Flameeyes' Pettenò <flameeyes@gentoo.org>
Date: Tue Nov 7 09:32:00 2006 -0800
Add xcb-xlib dependency to x11.pc when built against XCB.
@@ -16339,7 +16532,7 @@ Date: Fri Oct 7 15:00:00 2005 +0000
Add missing dist tarball files
commit 440399b470c97b159a530602fff11c315aca8d97
-Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
+Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
Date: Wed Oct 5 18:27:10 2005 +0000
Add el_GR.UTF-8 compose file
@@ -16394,7 +16587,7 @@ Date: Fri Sep 2 23:00:30 2005 +0000
Issue an error if XTRANS macros were not found when generating configure from configure.ac to flag errors early, instead of when people wonder why libX11 can't talk to an Xserver because it has no transports defined
commit 3eb9f2d693af89d04e2fd92492c8205dce332c9c
-Author: Kristian Høgsberg <krh@redhat.com>
+Author: Kristian Høgsberg <krh@redhat.com>
Date: Thu Sep 1 19:24:13 2005 +0000
Use $(X11_LOCALEDATADIR) instead of @X11_LOCALEDATADIR@ so this install destination can be overridden at make install time.
@@ -16675,7 +16868,7 @@ Date: Fri Jul 1 22:13:35 2005 +0000
Added if not already present.
commit c162d60ad8f124563f94a2a266de59373936266c
-Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
+Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
Date: Wed Jun 22 22:46:31 2005 +0000
Apply these patches from Theo van Klaveren:
@@ -16800,7 +16993,7 @@ Date: Thu May 19 00:10:07 2005 +0000
Require automake 1.7 in AM_INIT_AUTOMAKE
commit cd4657c175dbab6aaca36f18a0ca92c95b5567dd
-Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
+Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
Date: Tue May 17 22:32:09 2005 +0000
- Check for xproto as its CFLAGS are needed in the .pc file
@@ -16822,7 +17015,7 @@ Date: Mon May 16 22:35:27 2005 +0000
Remove the entries from the xlibs tree, as they are not relevant here.
commit 8bd3aea84ce54b8b76a898f3ae00e2b499c14a5e
-Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
+Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
Date: Mon May 16 21:48:36 2005 +0000
Mon May 16 17:48:03 2005 Søren Sandmann <sandmann@redhat.com>
@@ -16836,7 +17029,7 @@ Date: Mon May 16 21:27:35 2005 +0000
Remove the entries from the xlibs tree, as they are not relevant here.
commit 7eee605e3aeed549d1053325a03027c5e8cbf71b
-Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
+Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
Date: Fri May 13 22:53:36 2005 +0000
- For now put xtrans in X11/Xtrans/X11, since libX11 is looking for it in <X11/...>
@@ -16970,7 +17163,7 @@ Date: Mon Nov 15 13:29:56 2004 +0000
Bugzilla #1864, http://freedesktop.org/bugzilla/show_bug.cgi?id=1864 Initialize pointer to NULL to avoid freeing random memory
commit 436108cd6c84053698e5ca629096f59b34f50c2a
-Author: Kristian Høgsberg <krh@redhat.com>
+Author: Kristian Høgsberg <krh@redhat.com>
Date: Thu Nov 11 15:37:01 2004 +0000
Fix #1818
@@ -17028,7 +17221,7 @@ Date: Wed Oct 13 07:38:00 2004 +0000
Use attributes instead of pragmas for weak symbols on gcc 2.95 as well. Using pragmas may result in the symbols being undefined with big -O. (FreeBSD ports/69708, Masakazu HIGAKI <higamasa@dream.com>)
commit d80237db627bf71ad5615ff4ba05e6ab436aa740
-Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
+Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
Date: Fri Oct 8 22:57:56 2004 +0000
Fri Oct 8 18:53:11 2004 Soeren Sandmann <sandmann@redhat.com>
@@ -17114,7 +17307,7 @@ Date: Tue Jul 27 06:06:05 2004 +0000
- remove unused file.
commit 6e884b12911eedfb003e90a3829ce66f7fc9cf2d
-Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
+Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
Date: Tue Jul 20 17:48:09 2004 +0000
Tue Jul 20 19:38:06 2004 Soeren Sandmann <sandmann@daimi.au.dk>
diff --git a/lib/libX11/README.md b/lib/libX11/README.md
index f188f8ca1..48ed5482c 100644
--- a/lib/libX11/README.md
+++ b/lib/libX11/README.md
@@ -31,6 +31,41 @@ For patch submission instructions, see:
https://www.x.org/wiki/Development/Documentation/SubmittingPatches
+## Release 1.8.1
+
+ * Fix --enable-thread-safety-constructor configure option
+
+## Release 1.8
+
+ * Add --enable-thread-safety-constructor configure option (default: enabled)
+ to call XInitThreads() from the library's constructor, thus enabling
+ thread-safety and locking by default. This may expose bugs in clients
+ which did not follow documented rules for calling libX11 functions.
+ * Fix Ethopian (am_ET.UTF-8) compose sequences.
+ * Remove 8 compose sequences that generated the input symbols.
+ * Add compose seuences for abovedot (\<period\> \<space\>),
+ diaeresis (\<quotedbl\> \<space\>), and ogonek (\<semicolon\> \<space\>).
+
+## Release 1.7.5
+
+ * Avoids a segfault when an invalid name is used for opening a display.
+
+## Release 1.7.4
+
+ * Fixes the "Unknown sequence number" error by allowing backward jumps
+ in the sequence number when widening it.
+ * Any changes to virtual modifiers get propagated properly.
+ * Greek case-conversion tables were updated to Unicode Data 14.0.
+ * Compose sequences for ☮ 🄯 ⇐ ⇑ ⇓ were added,
+ being the following: OY, ()), =<, =^, and =v.
+ * Hammer-and-sickle can be composed with question mark plus backslash.
+
+## Release 1.7.3
+
+ * Fixes a hanging issue in _XReply() where the replying thread would
+ wait for an event when another thread was already waiting for one.
+ * Avoids a crash when the X connection gets broken while closing down.
+
## Release 1.7.2
This is a bug fix release, correcting a regression introduced by and
diff --git a/lib/libX11/configure b/lib/libX11/configure
index 8cd8fa877..382803665 100644
--- a/lib/libX11/configure
+++ b/lib/libX11/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libX11 1.7.5.
+# Generated by GNU Autoconf 2.69 for libX11 1.8.1.
#
# Report bugs to <https://gitlab.freedesktop.org/xorg/lib/libx11/issues>.
#
@@ -651,8 +651,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='libX11'
PACKAGE_TARNAME='libX11'
-PACKAGE_VERSION='1.7.5'
-PACKAGE_STRING='libX11 1.7.5'
+PACKAGE_VERSION='1.8.1'
+PACKAGE_STRING='libX11 1.8.1'
PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/lib/libx11/issues'
PACKAGE_URL=''
@@ -937,6 +937,7 @@ enable_ipv6
enable_local_transport
enable_loadable_i18n
enable_loadable_xcursor
+enable_thread_safety_constructor
with_launchd
enable_xthreads
with_keysymdefdir
@@ -1523,7 +1524,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libX11 1.7.5 to adapt to many kinds of systems.
+\`configure' configures libX11 1.8.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1594,7 +1595,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libX11 1.7.5:";;
+ short | recursive ) echo "Configuration of libX11 1.8.1:";;
esac
cat <<\_ACEOF
@@ -1632,6 +1633,8 @@ Optional Features:
--enable-loadable-i18n Controls loadable i18n module support
--disable-loadable-xcursor
Controls loadable xcursor library support
+ --disable-thread-safety-constructor
+ Controls mandatory thread safety support
--disable-xthreads Disable Xlib support for Multithreading
--disable-xcms Disable Xlib support for CMS *EXPERIMENTAL*
--disable-xlocale Disable Xlib locale implementation *EXPERIMENTAL*
@@ -1761,7 +1764,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libX11 configure 1.7.5
+libX11 configure 1.8.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2287,7 +2290,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libX11 $as_me 1.7.5, which was
+It was created by libX11 $as_me 1.8.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -4505,7 +4508,7 @@ fi
# Define the identity of the package.
PACKAGE='libX11'
- VERSION='1.7.5'
+ VERSION='1.8.1'
cat >>confdefs.h <<_ACEOF
@@ -19868,6 +19871,19 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $XLIB_LOADABLE_XCURSOR" >&5
$as_echo "$XLIB_LOADABLE_XCURSOR" >&6; }
+# Check whether --enable-thread-safety-constructor was given.
+if test "${enable_thread_safety_constructor+set}" = set; then :
+ enableval=$enable_thread_safety_constructor; USE_THREAD_SAFETY_CONSTRUCTOR=$enableval
+else
+ USE_THREAD_SAFETY_CONSTRUCTOR="yes"
+fi
+
+if test "x$USE_THREAD_SAFETY_CONSTRUCTOR" = "xyes"; then
+
+$as_echo "#define USE_THREAD_SAFETY_CONSTRUCTOR 1" >>confdefs.h
+
+fi
+
# Checks for header files.
for ac_header in sys/filio.h sys/select.h sys/ioctl.h sys/socket.h
do :
@@ -21703,7 +21719,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libX11 $as_me 1.7.5, which was
+This file was extended by libX11 $as_me 1.8.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21769,7 +21785,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-libX11 config.status 1.7.5
+libX11 config.status 1.8.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/lib/libX11/configure.ac b/lib/libX11/configure.ac
index 231bcacbd..6fd68ff0b 100644
--- a/lib/libX11/configure.ac
+++ b/lib/libX11/configure.ac
@@ -1,7 +1,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
-AC_INIT([libX11], [1.7.5],
+AC_INIT([libX11], [1.8.1],
[https://gitlab.freedesktop.org/xorg/lib/libx11/issues], [libX11])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([src/config.h include/X11/XlibConf.h])
@@ -148,6 +148,15 @@ if test x$XLIB_LOADABLE_XCURSOR = xyes; then
fi
AC_MSG_RESULT($XLIB_LOADABLE_XCURSOR)
+AC_ARG_ENABLE(thread-safety-constructor,
+ AS_HELP_STRING([--disable-thread-safety-constructor],
+ [Controls mandatory thread safety support]),
+ [USE_THREAD_SAFETY_CONSTRUCTOR=$enableval],
+ [USE_THREAD_SAFETY_CONSTRUCTOR="yes"])
+if test "x$USE_THREAD_SAFETY_CONSTRUCTOR" = "xyes"; then
+ AC_DEFINE(USE_THREAD_SAFETY_CONSTRUCTOR,1,[Call XInitThreads() from the library constructor])
+fi
+
# Checks for header files.
AC_CHECK_HEADERS([sys/filio.h sys/select.h sys/ioctl.h sys/socket.h])
diff --git a/lib/libX11/include/X11/XKBlib.h b/lib/libX11/include/X11/XKBlib.h
index dd532b224..27c63f701 100644
--- a/lib/libX11/include/X11/XKBlib.h
+++ b/lib/libX11/include/X11/XKBlib.h
@@ -297,7 +297,7 @@ extern Bool XkbIgnoreExtension(
);
extern Display *XkbOpenDisplay(
- char * /* name */,
+ _Xconst char * /* name */,
int * /* ev_rtrn */,
int * /* err_rtrn */,
int * /* major_rtrn */,
diff --git a/lib/libX11/include/X11/extensions/XKBgeom.h b/lib/libX11/include/X11/extensions/XKBgeom.h
index 380fa18b3..3e1db7b9b 100644
--- a/lib/libX11/include/X11/extensions/XKBgeom.h
+++ b/lib/libX11/include/X11/extensions/XKBgeom.h
@@ -29,50 +29,6 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <X11/extensions/XKBstr.h>
-#ifdef XKB_IN_SERVER
-#define XkbAddGeomKeyAlias SrvXkbAddGeomKeyAlias
-#define XkbAddGeomColor SrvXkbAddGeomColor
-#define XkbAddGeomDoodad SrvXkbAddGeomDoodad
-#define XkbAddGeomKey SrvXkbAddGeomKey
-#define XkbAddGeomOutline SrvXkbAddGeomOutline
-#define XkbAddGeomOverlay SrvXkbAddGeomOverlay
-#define XkbAddGeomOverlayRow SrvXkbAddGeomOverlayRow
-#define XkbAddGeomOverlayKey SrvXkbAddGeomOverlayKey
-#define XkbAddGeomProperty SrvXkbAddGeomProperty
-#define XkbAddGeomRow SrvXkbAddGeomRow
-#define XkbAddGeomSection SrvXkbAddGeomSection
-#define XkbAddGeomShape SrvXkbAddGeomShape
-#define XkbAllocGeomKeyAliases SrvXkbAllocGeomKeyAliases
-#define XkbAllocGeomColors SrvXkbAllocGeomColors
-#define XkbAllocGeomDoodads SrvXkbAllocGeomDoodads
-#define XkbAllocGeomKeys SrvXkbAllocGeomKeys
-#define XkbAllocGeomOutlines SrvXkbAllocGeomOutlines
-#define XkbAllocGeomPoints SrvXkbAllocGeomPoints
-#define XkbAllocGeomProps SrvXkbAllocGeomProps
-#define XkbAllocGeomRows SrvXkbAllocGeomRows
-#define XkbAllocGeomSectionDoodads SrvXkbAllocGeomSectionDoodads
-#define XkbAllocGeomSections SrvXkbAllocGeomSections
-#define XkbAllocGeomOverlays SrvXkbAllocGeomOverlays
-#define XkbAllocGeomOverlayRows SrvXkbAllocGeomOverlayRows
-#define XkbAllocGeomOverlayKeys SrvXkbAllocGeomOverlayKeys
-#define XkbAllocGeomShapes SrvXkbAllocGeomShapes
-#define XkbAllocGeometry SrvXkbAllocGeometry
-#define XkbFreeGeomKeyAliases SrvXkbFreeGeomKeyAliases
-#define XkbFreeGeomColors SrvXkbFreeGeomColors
-#define XkbFreeGeomDoodads SrvXkbFreeGeomDoodads
-#define XkbFreeGeomProperties SrvXkbFreeGeomProperties
-#define XkbFreeGeomOverlayKeys SrvXkbFreeGeomOverlayKeys
-#define XkbFreeGeomOverlayRows SrvXkbFreeGeomOverlayRows
-#define XkbFreeGeomOverlays SrvXkbFreeGeomOverlays
-#define XkbFreeGeomKeys SrvXkbFreeGeomKeys
-#define XkbFreeGeomRows SrvXkbFreeGeomRows
-#define XkbFreeGeomSections SrvXkbFreeGeomSections
-#define XkbFreeGeomPoints SrvXkbFreeGeomPoints
-#define XkbFreeGeomOutlines SrvXkbFreeGeomOutlines
-#define XkbFreeGeomShapes SrvXkbFreeGeomShapes
-#define XkbFreeGeometry SrvXkbFreeGeometry
-#endif
-
typedef struct _XkbProperty {
char *name;
char *value;
@@ -323,21 +279,21 @@ _XFUNCPROTOBEGIN
extern XkbPropertyPtr
XkbAddGeomProperty(
XkbGeometryPtr /* geom */,
- char * /* name */,
- char * /* value */
+ _Xconst char * /* name */,
+ _Xconst char * /* value */
);
extern XkbKeyAliasPtr
XkbAddGeomKeyAlias(
XkbGeometryPtr /* geom */,
- char * /* alias */,
- char * /* real */
+ _Xconst char * /* alias */,
+ _Xconst char * /* real */
);
extern XkbColorPtr
XkbAddGeomColor(
XkbGeometryPtr /* geom */,
- char * /* spec */,
+ _Xconst char * /* spec */,
unsigned int /* pixel */
);
@@ -392,8 +348,8 @@ extern XkbOverlayKeyPtr
XkbAddGeomOverlayKey(
XkbOverlayPtr /* overlay */,
XkbOverlayRowPtr /* row */,
- char * /* over */,
- char * /* under */
+ _Xconst char * /* over */,
+ _Xconst char * /* under */
);
extern XkbDoodadPtr
@@ -641,7 +597,7 @@ extern char *
XkbFindOverlayForKey(
XkbGeometryPtr /* geom */,
XkbSectionPtr /* wanted */,
- char * /* under */
+ _Xconst char * /* under */
);
extern Status
diff --git a/lib/libX11/man/xkb/XkbAddGeomColor.man b/lib/libX11/man/xkb/XkbAddGeomColor.man
index 053c97e47..6ebe22c3a 100644
--- a/lib/libX11/man/xkb/XkbAddGeomColor.man
+++ b/lib/libX11/man/xkb/XkbAddGeomColor.man
@@ -27,7 +27,7 @@ description
.HP
.B XkbColorPtr XkbAddGeomColor
.BI "(\^XkbGeometryPtr " "geom" "\^,"
-.BI "char *" "spec" "\^,"
+.BI "_Xconst char *" "spec" "\^,"
.BI "unsigned int " "pixel" "\^);"
.if n .ti +5n
.if t .ti +.5i
diff --git a/lib/libX11/man/xkb/XkbAddGeomKeyAlias.man b/lib/libX11/man/xkb/XkbAddGeomKeyAlias.man
index 025107076..63f8924bc 100644
--- a/lib/libX11/man/xkb/XkbAddGeomKeyAlias.man
+++ b/lib/libX11/man/xkb/XkbAddGeomKeyAlias.man
@@ -27,8 +27,8 @@ description
.HP
.B XkbKeyAliasPtr XkbAddGeomKeyAlias
.BI "(\^XkbGeometryPtr " "geom" "\^,"
-.BI "char *" "alias" "\^,"
-.BI "char *" "real" "\^);"
+.BI "_Xconst char *" "alias" "\^,"
+.BI "_Xconst char *" "real" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
diff --git a/lib/libX11/man/xkb/XkbAddGeomOverlayKey.man b/lib/libX11/man/xkb/XkbAddGeomOverlayKey.man
index 974236027..bce3d266c 100644
--- a/lib/libX11/man/xkb/XkbAddGeomOverlayKey.man
+++ b/lib/libX11/man/xkb/XkbAddGeomOverlayKey.man
@@ -27,7 +27,8 @@ XkbAddGeomOverlayKey \- Add a key to an existing overlay row
.B XkbOverlayKeyPtr XkbAddGeomOverlayKey
.BI "(\^XkbOverlayPtr " "overlay" "\^,"
.BI "XkbRowPtr " "row" "\^,"
-.BI "char *" "under" "\^);"
+.BI "_Xconst char *" "over" "\^,"
+.BI "_Xconst char *" "under" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
diff --git a/lib/libX11/man/xkb/XkbAddGeomProperty.man b/lib/libX11/man/xkb/XkbAddGeomProperty.man
index 0d2f3b925..1ec546cd6 100644
--- a/lib/libX11/man/xkb/XkbAddGeomProperty.man
+++ b/lib/libX11/man/xkb/XkbAddGeomProperty.man
@@ -27,8 +27,8 @@ description
.HP
.B XkbPropertyPtr XkbAddGeomProperty
.BI "(\^XkbGeometryPtr " "geom" "\^,"
-.BI "char *" "name" "\^,"
-.BI "char *" "value" "\^);"
+.BI "_Xconst char *" "name" "\^,"
+.BI "_Xconst char *" "value" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
diff --git a/lib/libX11/man/xkb/XkbFindOverlayForKey.man b/lib/libX11/man/xkb/XkbFindOverlayForKey.man
index 4036e105f..e80cb8380 100644
--- a/lib/libX11/man/xkb/XkbFindOverlayForKey.man
+++ b/lib/libX11/man/xkb/XkbFindOverlayForKey.man
@@ -28,7 +28,7 @@ key that is part of an overlay
.B char * XkbFindOverlayForKey
.BI "(\^XkbGeometryPtr " "geom" "\^,"
.BI "XkbSectionPtr " "section" "\^,"
-.BI "char *" "under" "\^);"
+.BI "_Xconst char *" "under" "\^);"
.if n .ti +5n
.if t .ti +.5i
.SH ARGUMENTS
diff --git a/lib/libX11/man/xkb/XkbOpenDisplay.man b/lib/libX11/man/xkb/XkbOpenDisplay.man
index 302984a38..41b20c0c0 100644
--- a/lib/libX11/man/xkb/XkbOpenDisplay.man
+++ b/lib/libX11/man/xkb/XkbOpenDisplay.man
@@ -26,7 +26,7 @@ the library and the server, and initializes the extension for use.
.SH SYNOPSIS
.HP
.B Display *XkbOpenDisplay
-.BI "(\^char *" "display_name" "\^,"
+.BI "(\^_Xconst char *" "display_name" "\^,"
.BI "int *" "event_rtrn" "\^,"
.BI "int *" "error_rtrn" "\^,"
.BI "int *" "major_in_out" "\^,"
diff --git a/lib/libX11/nls/am_ET.UTF-8/Compose.pre b/lib/libX11/nls/am_ET.UTF-8/Compose.pre
index 760d94629..b02f2b8e4 100644
--- a/lib/libX11/nls/am_ET.UTF-8/Compose.pre
+++ b/lib/libX11/nls/am_ET.UTF-8/Compose.pre
@@ -1,360 +1,344 @@
-XCOMM
-XCOMM UTF-8 (Unicode) compose sequence
-XCOMM for Ethiopean layout.
-XCOMM Designed as a part of OLPC project
+XCOMM
+XCOMM UTF-8 (Unicode) compose sequences for the Ethiopian layout.
+XCOMM Designed as part of the OLPC project.
XCOMM
XCOMM 2007 Sergey Udaltsov <svu@gnome.org>
XCOMM
+XCOMM Include the base sequences too (for other layouts):
+include "X11_LOCALEDATADIR/en_US.UTF-8/Compose"
+
XCOMM
XCOMM Group I
XCOMM
XCOMM Modifier: /u/
-<u> <U1200> : "ሁ" U1201 # key h (base character ሀ)
-<u> <U1208> : "ሉ" U1209 # key l (base character ለ)
-<u> <U1218> : "ሙ" U1219 # key m (base character መ)
-<u> <U1228> : "ሩ" U1229 # key r (base character ረ)
-<u> <U1230> : "ሱ" U1231 # key s (base character ሰ)
-<u> <U1240> : "ቁ" U1241 # key q (base character ቀ)
-<u> <U1260> : "ቡ" U1261 # key b (base character በ)
-<u> <U1270> : "ቱ" U1271 # key t (base character ተ)
-<u> <U1290> : "ኑ" U1291 # key n (base character ነ)
-<u> <U12A0> : "ኡ" U12A1 # key x (base character አ)
-<u> <U12A8> : "ኩ" U12A9 # key k (base character ከ)
-<u> <U12C8> : "ዉ" U12C9 # key w (base character ወ)
-<u> <U12D8> : "ዙ" U12D9 # key z (base character ዘ)
-<u> <U12E8> : "ዩ" U12E9 # key y (base character የ)
-<u> <U12F0> : "ዱ" U12F1 # key d (base character ደ)
-<u> <U1300> : "ጁ" U1301 # key j (base character ጀ)
-<u> <U1308> : "ጉ" U1309 # key g (base character ገ)
-<u> <U1340> : "ፁ" U1341 # key [ (base character ፀ)
-<u> <U1348> : "ፉ" U1349 # key f (base character ፈ)
-<u> <U1350> : "ፑ" U1351 # key p (base character ፐ)
-<u> <U1238> : "ሹ" U1239 # key v (base character ሸ)
-<u> <U1328> : "ጩ" U1329 # key ] (base character ጨ)
+<UFE75> <U1200> : "ሁ" U1201 # key h (base character ሀ)
+<UFE75> <U1208> : "ሉ" U1209 # key l (base character ለ)
+<UFE75> <U1218> : "ሙ" U1219 # key m (base character መ)
+<UFE75> <U1228> : "ሩ" U1229 # key r (base character ረ)
+<UFE75> <U1230> : "ሱ" U1231 # key s (base character ሰ)
+<UFE75> <U1240> : "ቁ" U1241 # key q (base character ቀ)
+<UFE75> <U1260> : "ቡ" U1261 # key b (base character በ)
+<UFE75> <U1270> : "ቱ" U1271 # key t (base character ተ)
+<UFE75> <U1290> : "ኑ" U1291 # key n (base character ነ)
+<UFE75> <U12A0> : "ኡ" U12A1 # key x (base character አ)
+<UFE75> <U12A8> : "ኩ" U12A9 # key k (base character ከ)
+<UFE75> <U12C8> : "ዉ" U12C9 # key w (base character ወ)
+<UFE75> <U12D8> : "ዙ" U12D9 # key z (base character ዘ)
+<UFE75> <U12E8> : "ዩ" U12E9 # key y (base character የ)
+<UFE75> <U12F0> : "ዱ" U12F1 # key d (base character ደ)
+<UFE75> <U1300> : "ጁ" U1301 # key j (base character ጀ)
+<UFE75> <U1308> : "ጉ" U1309 # key g (base character ገ)
+<UFE75> <U1340> : "ፁ" U1341 # key [ (base character ፀ)
+<UFE75> <U1348> : "ፉ" U1349 # key f (base character ፈ)
+<UFE75> <U1350> : "ፑ" U1351 # key p (base character ፐ)
+<UFE75> <U1238> : "ሹ" U1239 # key v (base character ሸ)
+<UFE75> <U1328> : "ጩ" U1329 # key ] (base character ጨ)
XCOMM Modifier: /i/
-<i> <U1200> : "ሂ" U1202 # key h (base character ሀ)
-<i> <U1208> : "ሊ" U120A # key l (base character ለ)
-<i> <U1218> : "ሚ" U121A # key m (base character መ)
-<i> <U1228> : "ሪ" U122A # key r (base character ረ)
-<i> <U1230> : "ሲ" U1232 # key s (base character ሰ)
-<i> <U1240> : "ቂ" U1242 # key q (base character ቀ)
-<i> <U1260> : "ቢ" U1262 # key b (base character በ)
-<i> <U1270> : "ቲ" U1272 # key t (base character ተ)
-<i> <U1290> : "ኒ" U1292 # key n (base character ነ)
-<i> <U12A0> : "ኢ" U12A2 # key x (base character አ)
-<i> <U12A8> : "ኪ" U12AA # key k (base character ከ)
-<i> <U12C8> : "ዊ" U12CA # key w (base character ወ)
-<i> <U12D8> : "ዚ" U12DA # key z (base character ዘ)
-<i> <U12E8> : "ዪ" U12EA # key y (base character የ)
-<i> <U12F0> : "ዲ" U12F2 # key d (base character ደ)
-<i> <U1300> : "ጂ" U1302 # key j (base character ጀ)
-<i> <U1308> : "ጊ" U130A # key g (base character ገ)
-<i> <U1340> : "ፂ" U1342 # key [ (base character ፀ)
-<i> <U1348> : "ፊ" U134A # key f (base character ፈ)
-<i> <U1350> : "ፒ" U1352 # key p (base character ፐ)
-<i> <U1238> : "ሺ" U123A # key v (base character ሸ)
-<i> <U1328> : "ጪ" U132A # key ] (base character ጨ)
+<UFE71> <U1200> : "ሂ" U1202 # key h (base character ሀ)
+<UFE71> <U1208> : "ሊ" U120A # key l (base character ለ)
+<UFE71> <U1218> : "ሚ" U121A # key m (base character መ)
+<UFE71> <U1228> : "ሪ" U122A # key r (base character ረ)
+<UFE71> <U1230> : "ሲ" U1232 # key s (base character ሰ)
+<UFE71> <U1240> : "ቂ" U1242 # key q (base character ቀ)
+<UFE71> <U1260> : "ቢ" U1262 # key b (base character በ)
+<UFE71> <U1270> : "ቲ" U1272 # key t (base character ተ)
+<UFE71> <U1290> : "ኒ" U1292 # key n (base character ነ)
+<UFE71> <U12A0> : "ኢ" U12A2 # key x (base character አ)
+<UFE71> <U12A8> : "ኪ" U12AA # key k (base character ከ)
+<UFE71> <U12C8> : "ዊ" U12CA # key w (base character ወ)
+<UFE71> <U12D8> : "ዚ" U12DA # key z (base character ዘ)
+<UFE71> <U12E8> : "ዪ" U12EA # key y (base character የ)
+<UFE71> <U12F0> : "ዲ" U12F2 # key d (base character ደ)
+<UFE71> <U1300> : "ጂ" U1302 # key j (base character ጀ)
+<UFE71> <U1308> : "ጊ" U130A # key g (base character ገ)
+<UFE71> <U1340> : "ፂ" U1342 # key [ (base character ፀ)
+<UFE71> <U1348> : "ፊ" U134A # key f (base character ፈ)
+<UFE71> <U1350> : "ፒ" U1352 # key p (base character ፐ)
+<UFE71> <U1238> : "ሺ" U123A # key v (base character ሸ)
+<UFE71> <U1328> : "ጪ" U132A # key ] (base character ጨ)
XCOMM Modifier: /a/
-<a> <U1200> : "ሃ" U1203 # key h (base character ሀ)
-<a> <U1208> : "ላ" U120B # key l (base character ለ)
-<a> <U1218> : "ማ" U121B # key m (base character መ)
-<a> <U1228> : "ራ" U122B # key r (base character ረ)
-<a> <U1230> : "ሳ" U1233 # key s (base character ሰ)
-<a> <U1240> : "ቃ" U1243 # key q (base character ቀ)
-<a> <U1260> : "ባ" U1263 # key b (base character በ)
-<a> <U1270> : "ታ" U1273 # key t (base character ተ)
-<a> <U1290> : "ና" U1293 # key n (base character ነ)
-<a> <U12A0> : "ኣ" U12A3 # key x (base character አ)
-<a> <U12A8> : "ካ" U12AB # key k (base character ከ)
-<a> <U12C8> : "ዋ" U12CB # key w (base character ወ)
-<a> <U12D8> : "ዛ" U12DB # key z (base character ዘ)
-<a> <U12E8> : "ያ" U12EB # key y (base character የ)
-<a> <U12F0> : "ዳ" U12F3 # key d (base character ደ)
-<a> <U1300> : "ጃ" U1303 # key j (base character ጀ)
-<a> <U1308> : "ጋ" U130B # key g (base character ገ)
-<a> <U1340> : "ፃ" U1343 # key [ (base character ፀ)
-<a> <U1348> : "ፋ" U134B # key f (base character ፈ)
-<a> <U1350> : "ፓ" U1353 # key p (base character ፐ)
-<a> <U1238> : "ሻ" U123B # key v (base character ሸ)
-<a> <U1328> : "ጫ" U132B # key ] (base character ጨ)
+<UFE67> <U1200> : "ሃ" U1203 # key h (base character ሀ)
+<UFE67> <U1208> : "ላ" U120B # key l (base character ለ)
+<UFE67> <U1218> : "ማ" U121B # key m (base character መ)
+<UFE67> <U1228> : "ራ" U122B # key r (base character ረ)
+<UFE67> <U1230> : "ሳ" U1233 # key s (base character ሰ)
+<UFE67> <U1240> : "ቃ" U1243 # key q (base character ቀ)
+<UFE67> <U1260> : "ባ" U1263 # key b (base character በ)
+<UFE67> <U1270> : "ታ" U1273 # key t (base character ተ)
+<UFE67> <U1290> : "ና" U1293 # key n (base character ነ)
+<UFE67> <U12A0> : "ኣ" U12A3 # key x (base character አ)
+<UFE67> <U12A8> : "ካ" U12AB # key k (base character ከ)
+<UFE67> <U12C8> : "ዋ" U12CB # key w (base character ወ)
+<UFE67> <U12D8> : "ዛ" U12DB # key z (base character ዘ)
+<UFE67> <U12E8> : "ያ" U12EB # key y (base character የ)
+<UFE67> <U12F0> : "ዳ" U12F3 # key d (base character ደ)
+<UFE67> <U1300> : "ጃ" U1303 # key j (base character ጀ)
+<UFE67> <U1308> : "ጋ" U130B # key g (base character ገ)
+<UFE67> <U1340> : "ፃ" U1343 # key [ (base character ፀ)
+<UFE67> <U1348> : "ፋ" U134B # key f (base character ፈ)
+<UFE67> <U1350> : "ፓ" U1353 # key p (base character ፐ)
+<UFE67> <U1238> : "ሻ" U123B # key v (base character ሸ)
+<UFE67> <U1328> : "ጫ" U132B # key ] (base character ጨ)
XCOMM Modifier: /e/
-<e> <U1200> : "ሄ" U1204 # key h (base character ሀ)
-<e> <U1208> : "ሌ" U120C # key l (base character ለ)
-<e> <U1218> : "ሜ" U121C # key m (base character መ)
-<e> <U1228> : "ሬ" U122C # key r (base character ረ)
-<e> <U1230> : "ሴ" U1234 # key s (base character ሰ)
-<e> <U1240> : "ቄ" U1244 # key q (base character ቀ)
-<e> <U1260> : "ቤ" U1264 # key b (base character በ)
-<e> <U1270> : "ቴ" U1274 # key t (base character ተ)
-<e> <U1290> : "ኔ" U1294 # key n (base character ነ)
-<e> <U12A0> : "ኤ" U12A4 # key x (base character አ)
-<e> <U12A8> : "ኬ" U12AC # key k (base character ከ)
-<e> <U12C8> : "ዌ" U12CC # key w (base character ወ)
-<e> <U12D8> : "ዜ" U12DC # key z (base character ዘ)
-<e> <U12E8> : "ዬ" U12EC # key y (base character የ)
-<e> <U12F0> : "ዴ" U12F4 # key d (base character ደ)
-<e> <U1300> : "ጄ" U1304 # key j (base character ጀ)
-<e> <U1308> : "ጌ" U130C # key g (base character ገ)
-<e> <U1340> : "ፄ" U1344 # key [ (base character ፀ)
-<e> <U1348> : "ፌ" U134C # key f (base character ፈ)
-<e> <U1350> : "ፔ" U1354 # key p (base character ፐ)
-<e> <U1238> : "ሼ" U123C # key v (base character ሸ)
-<e> <U1328> : "ጬ" U132C # key ] (base character ጨ)
+<UFE69> <U1200> : "ሄ" U1204 # key h (base character ሀ)
+<UFE69> <U1208> : "ሌ" U120C # key l (base character ለ)
+<UFE69> <U1218> : "ሜ" U121C # key m (base character መ)
+<UFE69> <U1228> : "ሬ" U122C # key r (base character ረ)
+<UFE69> <U1230> : "ሴ" U1234 # key s (base character ሰ)
+<UFE69> <U1240> : "ቄ" U1244 # key q (base character ቀ)
+<UFE69> <U1260> : "ቤ" U1264 # key b (base character በ)
+<UFE69> <U1270> : "ቴ" U1274 # key t (base character ተ)
+<UFE69> <U1290> : "ኔ" U1294 # key n (base character ነ)
+<UFE69> <U12A0> : "ኤ" U12A4 # key x (base character አ)
+<UFE69> <U12A8> : "ኬ" U12AC # key k (base character ከ)
+<UFE69> <U12C8> : "ዌ" U12CC # key w (base character ወ)
+<UFE69> <U12D8> : "ዜ" U12DC # key z (base character ዘ)
+<UFE69> <U12E8> : "ዬ" U12EC # key y (base character የ)
+<UFE69> <U12F0> : "ዴ" U12F4 # key d (base character ደ)
+<UFE69> <U1300> : "ጄ" U1304 # key j (base character ጀ)
+<UFE69> <U1308> : "ጌ" U130C # key g (base character ገ)
+<UFE69> <U1340> : "ፄ" U1344 # key [ (base character ፀ)
+<UFE69> <U1348> : "ፌ" U134C # key f (base character ፈ)
+<UFE69> <U1350> : "ፔ" U1354 # key p (base character ፐ)
+<UFE69> <U1238> : "ሼ" U123C # key v (base character ሸ)
+<UFE69> <U1328> : "ጬ" U132C # key ] (base character ጨ)
XCOMM Modifier: /c/
-<c> <U1200> : "ህ" U1205 # key h (base character ሀ)
-<c> <U1208> : "ል" U120D # key l (base character ለ)
-<c> <U1218> : "ም" U121D # key m (base character መ)
-<c> <U1228> : "ር" U122D # key r (base character ረ)
-<c> <U1230> : "ስ" U1235 # key s (base character ሰ)
-<c> <U1240> : "ቅ" U1245 # key q (base character ቀ)
-<c> <U1260> : "ብ" U1265 # key b (base character በ)
-<c> <U1270> : "ት" U1275 # key t (base character ተ)
-<c> <U1290> : "ን" U1295 # key n (base character ነ)
-<c> <U12A0> : "እ" U12A5 # key x (base character አ)
-<c> <U12A8> : "ክ" U12AD # key k (base character ከ)
-<c> <U12C8> : "ው" U12CD # key w (base character ወ)
-<c> <U12D8> : "ዝ" U12DD # key z (base character ዘ)
-<c> <U12E8> : "ይ" U12ED # key y (base character የ)
-<c> <U12F0> : "ድ" U12F5 # key d (base character ደ)
-<c> <U1300> : "ጅ" U1305 # key j (base character ጀ)
-<c> <U1308> : "ግ" U130D # key g (base character ገ)
-<c> <U1340> : "ፅ" U1345 # key [ (base character ፀ)
-<c> <U1348> : "ፍ" U134D # key f (base character ፈ)
-<c> <U1350> : "ፕ" U1355 # key p (base character ፐ)
-<c> <U1238> : "ሽ" U123D # key v (base character ሸ)
-<c> <U1328> : "ጭ" U132D # key ] (base character ጨ)
+<UFE78> <U1200> : "ህ" U1205 # key h (base character ሀ)
+<UFE78> <U1208> : "ል" U120D # key l (base character ለ)
+<UFE78> <U1218> : "ም" U121D # key m (base character መ)
+<UFE78> <U1228> : "ር" U122D # key r (base character ረ)
+<UFE78> <U1230> : "ስ" U1235 # key s (base character ሰ)
+<UFE78> <U1240> : "ቅ" U1245 # key q (base character ቀ)
+<UFE78> <U1260> : "ብ" U1265 # key b (base character በ)
+<UFE78> <U1270> : "ት" U1275 # key t (base character ተ)
+<UFE78> <U1290> : "ን" U1295 # key n (base character ነ)
+<UFE78> <U12A0> : "እ" U12A5 # key x (base character አ)
+<UFE78> <U12A8> : "ክ" U12AD # key k (base character ከ)
+<UFE78> <U12C8> : "ው" U12CD # key w (base character ወ)
+<UFE78> <U12D8> : "ዝ" U12DD # key z (base character ዘ)
+<UFE78> <U12E8> : "ይ" U12ED # key y (base character የ)
+<UFE78> <U12F0> : "ድ" U12F5 # key d (base character ደ)
+<UFE78> <U1300> : "ጅ" U1305 # key j (base character ጀ)
+<UFE78> <U1308> : "ግ" U130D # key g (base character ገ)
+<UFE78> <U1340> : "ፅ" U1345 # key [ (base character ፀ)
+<UFE78> <U1348> : "ፍ" U134D # key f (base character ፈ)
+<UFE78> <U1350> : "ፕ" U1355 # key p (base character ፐ)
+<UFE78> <U1238> : "ሽ" U123D # key v (base character ሸ)
+<UFE78> <U1328> : "ጭ" U132D # key ] (base character ጨ)
XCOMM Modifier: /o/
-<o> <U1200> : "ሆ" U1206 # key h (base character ሀ)
-<o> <U1208> : "ሎ" U120E # key l (base character ለ)
-<o> <U1218> : "ሞ" U121E # key m (base character መ)
-<o> <U1228> : "ሮ" U122E # key r (base character ረ)
-<o> <U1230> : "ሶ" U1236 # key s (base character ሰ)
-<o> <U1240> : "ቆ" U1246 # key q (base character ቀ)
-<o> <U1260> : "ቦ" U1266 # key b (base character በ)
-<o> <U1270> : "ቶ" U1276 # key t (base character ተ)
-<o> <U1290> : "ኖ" U1296 # key n (base character ነ)
-<o> <U12A0> : "ኦ" U12A6 # key x (base character አ)
-<o> <U12A8> : "ኮ" U12AE # key k (base character ከ)
-<o> <U12C8> : "ዎ" U12CE # key w (base character ወ)
-<o> <U12D8> : "ዞ" U12DE # key z (base character ዘ)
-<o> <U12E8> : "ዮ" U12EE # key y (base character የ)
-<o> <U12F0> : "ዶ" U12F6 # key d (base character ደ)
-<o> <U1300> : "ጆ" U1306 # key j (base character ጀ)
-<o> <U1308> : "ጎ" U130E # key g (base character ገ)
-<o> <U1340> : "ፆ" U1346 # key [ (base character ፀ)
-<o> <U1348> : "ፎ" U134E # key f (base character ፈ)
-<o> <U1350> : "ፖ" U1356 # key p (base character ፐ)
-<o> <U1238> : "ሾ" U123E # key v (base character ሸ)
-<o> <U1328> : "ጮ" U132E # key ] (base character ጨ)
+<UFE73> <U1200> : "ሆ" U1206 # key h (base character ሀ)
+<UFE73> <U1208> : "ሎ" U120E # key l (base character ለ)
+<UFE73> <U1218> : "ሞ" U121E # key m (base character መ)
+<UFE73> <U1228> : "ሮ" U122E # key r (base character ረ)
+<UFE73> <U1230> : "ሶ" U1236 # key s (base character ሰ)
+<UFE73> <U1240> : "ቆ" U1246 # key q (base character ቀ)
+<UFE73> <U1260> : "ቦ" U1266 # key b (base character በ)
+<UFE73> <U1270> : "ቶ" U1276 # key t (base character ተ)
+<UFE73> <U1290> : "ኖ" U1296 # key n (base character ነ)
+<UFE73> <U12A0> : "ኦ" U12A6 # key x (base character አ)
+<UFE73> <U12A8> : "ኮ" U12AE # key k (base character ከ)
+<UFE73> <U12C8> : "ዎ" U12CE # key w (base character ወ)
+<UFE73> <U12D8> : "ዞ" U12DE # key z (base character ዘ)
+<UFE73> <U12E8> : "ዮ" U12EE # key y (base character የ)
+<UFE73> <U12F0> : "ዶ" U12F6 # key d (base character ደ)
+<UFE73> <U1300> : "ጆ" U1306 # key j (base character ጀ)
+<UFE73> <U1308> : "ጎ" U130E # key g (base character ገ)
+<UFE73> <U1340> : "ፆ" U1346 # key [ (base character ፀ)
+<UFE73> <U1348> : "ፎ" U134E # key f (base character ፈ)
+<UFE73> <U1350> : "ፖ" U1356 # key p (base character ፐ)
+<UFE73> <U1238> : "ሾ" U123E # key v (base character ሸ)
+<UFE73> <U1328> : "ጮ" U132E # key ] (base character ጨ)
XCOMM Modifier: /A/
-<A> <U1208> : "ሏ" U120F # key l (base character ለ)
-<A> <U1218> : "ሟ" U121F # key m (base character መ)
-<A> <U1228> : "ሯ" U122F # key r (base character ረ)
-<A> <U1230> : "ሷ" U1237 # key s (base character ሰ)
-<A> <U1240> : "ቋ" U124B # key q (base character ቀ)
-<A> <U1260> : "ቧ" U1267 # key b (base character በ)
-<A> <U1270> : "ቷ" U1277 # key t (base character ተ)
-<A> <U1290> : "ኗ" U1297 # key n (base character ነ)
-<A> <U12A0> : "ኧ" U12A7 # key x (base character አ)
-<A> <U12A8> : "ኳ" U12B3 # key k (base character ከ)
-<A> <U12D8> : "ዟ" U12DF # key z (base character ዘ)
-<A> <U12F0> : "ዷ" U12F7 # key d (base character ደ)
-<A> <U1300> : "ጇ" U1307 # key j (base character ጀ)
-<A> <U1308> : "ጓ" U1313 # key g (base character ገ)
-<A> <U1348> : "ፏ" U134F # key f (base character ፈ)
-<A> <U1350> : "ፗ" U1357 # key p (base character ፐ)
-<A> <U1238> : "ሿ" U123F # key v (base character ሸ)
-<A> <U1328> : "ጯ" U132F # key ] (base character ጨ)
+<UFE68> <U1208> : "ሏ" U120F # key l (base character ለ)
+<UFE68> <U1218> : "ሟ" U121F # key m (base character መ)
+<UFE68> <U1228> : "ሯ" U122F # key r (base character ረ)
+<UFE68> <U1230> : "ሷ" U1237 # key s (base character ሰ)
+<UFE68> <U1240> : "ቋ" U124B # key q (base character ቀ)
+<UFE68> <U1260> : "ቧ" U1267 # key b (base character በ)
+<UFE68> <U1270> : "ቷ" U1277 # key t (base character ተ)
+<UFE68> <U1290> : "ኗ" U1297 # key n (base character ነ)
+<UFE68> <U12A0> : "ኧ" U12A7 # key x (base character አ)
+<UFE68> <U12A8> : "ኳ" U12B3 # key k (base character ከ)
+<UFE68> <U12D8> : "ዟ" U12DF # key z (base character ዘ)
+<UFE68> <U12F0> : "ዷ" U12F7 # key d (base character ደ)
+<UFE68> <U1300> : "ጇ" U1307 # key j (base character ጀ)
+<UFE68> <U1308> : "ጓ" U1313 # key g (base character ገ)
+<UFE68> <U1348> : "ፏ" U134F # key f (base character ፈ)
+<UFE68> <U1350> : "ፗ" U1357 # key p (base character ፐ)
+<UFE68> <U1238> : "ሿ" U123F # key v (base character ሸ)
+<UFE68> <U1328> : "ጯ" U132F # key ] (base character ጨ)
XCOMM Modifier: /U/
-<U> <U1240> : "ቍ" U124D # key q (base character ቀ)
-<U> <U12A8> : "ኵ" U12B5 # key k (base character ከ)
-<U> <U1308> : "ጕ" U1315 # key g (base character ገ)
+<UFE76> <U1240> : "ቍ" U124D # key q (base character ቀ)
+<UFE76> <U12A8> : "ኵ" U12B5 # key k (base character ከ)
+<UFE76> <U1308> : "ጕ" U1315 # key g (base character ገ)
XCOMM Modifier: /I/
-<I> <U1240> : "ቊ" U124A # key q (base character ቀ)
-<I> <U12A8> : "ኲ" U12B2 # key k (base character ከ)
-<I> <U1308> : "ጒ" U1312 # key g (base character ገ)
+<UFE72> <U1240> : "ቊ" U124A # key q (base character ቀ)
+<UFE72> <U12A8> : "ኲ" U12B2 # key k (base character ከ)
+<UFE72> <U1308> : "ጒ" U1312 # key g (base character ገ)
XCOMM Modifier: /E/
-<E> <U1240> : "ቌ" U124C # key q (base character ቀ)
-<E> <U12A8> : "ኴ" U12B4 # key k (base character ከ)
-<E> <U1308> : "ጔ" U1314 # key g (base character ገ)
+<UFE70> <U1240> : "ቌ" U124C # key q (base character ቀ)
+<UFE70> <U12A8> : "ኴ" U12B4 # key k (base character ከ)
+<UFE70> <U1308> : "ጔ" U1314 # key g (base character ገ)
XCOMM Modifier: /O/
-<O> <U1240> : "ቈ" U1248 # key q (base character ቀ)
-<O> <U12A8> : "ኰ" U12B0 # key k (base character ከ)
-<O> <U1308> : "ጐ" U1310 # key g (base character ገ)
+<UFE74> <U1240> : "ቈ" U1248 # key q (base character ቀ)
+<UFE74> <U12A8> : "ኰ" U12B0 # key k (base character ከ)
+<UFE74> <U1308> : "ጐ" U1310 # key g (base character ገ)
XCOMM
XCOMM Group II
XCOMM
+
XCOMM Modifier: /u/
-<u> <U1210> : "ሑ" U1211 # key h (base character ሐ)
-<u> <U1220> : "ሡ" U1221 # key s (base character ሠ)
-<u> <U1250> : "ቑ" U1251 # key q (base character ቐ)
-<u> <U1278> : "ቹ" U1279 # key c (base character ቸ)
-<u> <U1320> : "ጡ" U1321 # key t (base character ጠ)
-<u> <U1298> : "ኙ" U1299 # key n (base character ኘ)
-<u> <U12D0> : "ዑ" U12D1 # key x (base character ዐ)
-<u> <U12B8> : "ኹ" U12B9 # key k (base character ኸ)
-<u> <U12E0> : "ዡ" U12E1 # key z (base character ዠ)
-<u> <U12F8> : "ዹ" U12F9 # key d (base character ዸ)
-<u> <U1318> : "ጙ" U1319 # key g (base character ጘ)
-<u> <U1338> : "ጹ" U1339 # key [ (base character ጸ)
-<u> <U1330> : "ጱ" U1331 # key p (base character ጰ)
-<u> <U1280> : "ኁ" U1281 # key ] (base character ኀ)
-<u> <U1268> : "ቩ" U1269 # key v (base character ቨ)
+<UFE75> <U1210> : "ሑ" U1211 # key h (base character ሐ)
+<UFE75> <U1220> : "ሡ" U1221 # key s (base character ሠ)
+<UFE75> <U1250> : "ቑ" U1251 # key q (base character ቐ)
+<UFE75> <U1278> : "ቹ" U1279 # key c (base character ቸ)
+<UFE75> <U1320> : "ጡ" U1321 # key t (base character ጠ)
+<UFE75> <U1298> : "ኙ" U1299 # key n (base character ኘ)
+<UFE75> <U12D0> : "ዑ" U12D1 # key x (base character ዐ)
+<UFE75> <U12B8> : "ኹ" U12B9 # key k (base character ኸ)
+<UFE75> <U12E0> : "ዡ" U12E1 # key z (base character ዠ)
+<UFE75> <U12F8> : "ዹ" U12F9 # key d (base character ዸ)
+<UFE75> <U1318> : "ጙ" U1319 # key g (base character ጘ)
+<UFE75> <U1338> : "ጹ" U1339 # key [ (base character ጸ)
+<UFE75> <U1330> : "ጱ" U1331 # key p (base character ጰ)
+<UFE75> <U1280> : "ኁ" U1281 # key ] (base character ኀ)
+<UFE75> <U1268> : "ቩ" U1269 # key v (base character ቨ)
XCOMM Modifier: /i/
-<i> <U1210> : "ሒ" U1212 # key h (base character ሐ)
-<i> <U1220> : "ሢ" U1222 # key s (base character ሠ)
-<i> <U1250> : "ቒ" U1252 # key q (base character ቐ)
-<i> <U1278> : "ቺ" U127A # key c (base character ቸ)
-<i> <U1320> : "ጢ" U1322 # key t (base character ጠ)
-<i> <U1298> : "ኚ" U129A # key n (base character ኘ)
-<i> <U12D0> : "ዒ" U12D2 # key x (base character ዐ)
-<i> <U12B8> : "ኺ" U12BA # key k (base character ኸ)
-<i> <U12E0> : "ዢ" U12E2 # key z (base character ዠ)
-<i> <U12F8> : "ዺ" U12FA # key d (base character ዸ)
-<i> <U1318> : "ጚ" U131A # key g (base character ጘ)
-<i> <U1338> : "ጺ" U133A # key [ (base character ጸ)
-<i> <U1330> : "ጲ" U1332 # key p (base character ጰ)
-<i> <U1280> : "ኂ" U1282 # key ] (base character ኀ)
-<i> <U1268> : "ቪ" U126A # key v (base character ቨ)
+<UFE71> <U1210> : "ሒ" U1212 # key h (base character ሐ)
+<UFE71> <U1220> : "ሢ" U1222 # key s (base character ሠ)
+<UFE71> <U1250> : "ቒ" U1252 # key q (base character ቐ)
+<UFE71> <U1278> : "ቺ" U127A # key c (base character ቸ)
+<UFE71> <U1320> : "ጢ" U1322 # key t (base character ጠ)
+<UFE71> <U1298> : "ኚ" U129A # key n (base character ኘ)
+<UFE71> <U12D0> : "ዒ" U12D2 # key x (base character ዐ)
+<UFE71> <U12B8> : "ኺ" U12BA # key k (base character ኸ)
+<UFE71> <U12E0> : "ዢ" U12E2 # key z (base character ዠ)
+<UFE71> <U12F8> : "ዺ" U12FA # key d (base character ዸ)
+<UFE71> <U1318> : "ጚ" U131A # key g (base character ጘ)
+<UFE71> <U1338> : "ጺ" U133A # key [ (base character ጸ)
+<UFE71> <U1330> : "ጲ" U1332 # key p (base character ጰ)
+<UFE71> <U1280> : "ኂ" U1282 # key ] (base character ኀ)
+<UFE71> <U1268> : "ቪ" U126A # key v (base character ቨ)
XCOMM Modifier: /a/
-<a> <U1210> : "ሓ" U1213 # key h (base character ሐ)
-<a> <U1220> : "ሣ" U1223 # key s (base character ሠ)
-<a> <U1250> : "ቓ" U1253 # key q (base character ቐ)
-<a> <U1278> : "ቻ" U127B # key c (base character ቸ)
-<a> <U1320> : "ጣ" U1323 # key t (base character ጠ)
-<a> <U1298> : "ኛ" U129B # key n (base character ኘ)
-<a> <U12D0> : "ዓ" U12D3 # key x (base character ዐ)
-<a> <U12B8> : "ኻ" U12BB # key k (base character ኸ)
-<a> <U12E0> : "ዣ" U12E3 # key z (base character ዠ)
-<a> <U12F8> : "ዻ" U12FB # key d (base character ዸ)
-<a> <U1318> : "ጛ" U131B # key g (base character ጘ)
-<a> <U1338> : "ጻ" U133B # key [ (base character ጸ)
-<a> <U1330> : "ጳ" U1333 # key p (base character ጰ)
-<a> <U1280> : "ኃ" U1283 # key ] (base character ኀ)
-<a> <U1268> : "ቫ" U126B # key v (base character ቨ)
+<UFE67> <U1210> : "ሓ" U1213 # key h (base character ሐ)
+<UFE67> <U1220> : "ሣ" U1223 # key s (base character ሠ)
+<UFE67> <U1250> : "ቓ" U1253 # key q (base character ቐ)
+<UFE67> <U1278> : "ቻ" U127B # key c (base character ቸ)
+<UFE67> <U1320> : "ጣ" U1323 # key t (base character ጠ)
+<UFE67> <U1298> : "ኛ" U129B # key n (base character ኘ)
+<UFE67> <U12D0> : "ዓ" U12D3 # key x (base character ዐ)
+<UFE67> <U12B8> : "ኻ" U12BB # key k (base character ኸ)
+<UFE67> <U12E0> : "ዣ" U12E3 # key z (base character ዠ)
+<UFE67> <U12F8> : "ዻ" U12FB # key d (base character ዸ)
+<UFE67> <U1318> : "ጛ" U131B # key g (base character ጘ)
+<UFE67> <U1338> : "ጻ" U133B # key [ (base character ጸ)
+<UFE67> <U1330> : "ጳ" U1333 # key p (base character ጰ)
+<UFE67> <U1280> : "ኃ" U1283 # key ] (base character ኀ)
+<UFE67> <U1268> : "ቫ" U126B # key v (base character ቨ)
XCOMM Modifier: /e/
-<e> <U1210> : "ሔ" U1214 # key h (base character ሐ)
-<e> <U1220> : "ሤ" U1224 # key s (base character ሠ)
-<e> <U1250> : "ቔ" U1254 # key q (base character ቐ)
-<e> <U1278> : "ቼ" U127C # key c (base character ቸ)
-<e> <U1320> : "ጤ" U1324 # key t (base character ጠ)
-<e> <U1298> : "ኜ" U129C # key n (base character ኘ)
-<e> <U12D0> : "ዔ" U12D4 # key x (base character ዐ)
-<e> <U12B8> : "ኼ" U12BC # key k (base character ኸ)
-<e> <U12E0> : "ዤ" U12E4 # key z (base character ዠ)
-<e> <U12F8> : "ዼ" U12FC # key d (base character ዸ)
-<e> <U1318> : "ጜ" U131C # key g (base character ጘ)
-<e> <U1338> : "ጼ" U133C # key [ (base character ጸ)
-<e> <U1330> : "ጴ" U1334 # key p (base character ጰ)
-<e> <U1280> : "ኄ" U1284 # key ] (base character ኀ)
-<e> <U1268> : "ቬ" U126C # key v (base character ቨ)
+<UFE69> <U1210> : "ሔ" U1214 # key h (base character ሐ)
+<UFE69> <U1220> : "ሤ" U1224 # key s (base character ሠ)
+<UFE69> <U1250> : "ቔ" U1254 # key q (base character ቐ)
+<UFE69> <U1278> : "ቼ" U127C # key c (base character ቸ)
+<UFE69> <U1320> : "ጤ" U1324 # key t (base character ጠ)
+<UFE69> <U1298> : "ኜ" U129C # key n (base character ኘ)
+<UFE69> <U12D0> : "ዔ" U12D4 # key x (base character ዐ)
+<UFE69> <U12B8> : "ኼ" U12BC # key k (base character ኸ)
+<UFE69> <U12E0> : "ዤ" U12E4 # key z (base character ዠ)
+<UFE69> <U12F8> : "ዼ" U12FC # key d (base character ዸ)
+<UFE69> <U1318> : "ጜ" U131C # key g (base character ጘ)
+<UFE69> <U1338> : "ጼ" U133C # key [ (base character ጸ)
+<UFE69> <U1330> : "ጴ" U1334 # key p (base character ጰ)
+<UFE69> <U1280> : "ኄ" U1284 # key ] (base character ኀ)
+<UFE69> <U1268> : "ቬ" U126C # key v (base character ቨ)
XCOMM Modifier: /c/
-<c> <U1210> : "ሕ" U1215 # key h (base character ሐ)
-<c> <U1220> : "ሥ" U1225 # key s (base character ሠ)
-<c> <U1250> : "ቕ" U1255 # key q (base character ቐ)
-<c> <U1278> : "ች" U127D # key c (base character ቸ)
-<c> <U1320> : "ጥ" U1325 # key t (base character ጠ)
-<c> <U1298> : "ኝ" U129D # key n (base character ኘ)
-<c> <U12D0> : "ዕ" U12D5 # key x (base character ዐ)
-<c> <U12B8> : "ኽ" U12BD # key k (base character ኸ)
-<c> <U12E0> : "ዥ" U12E5 # key z (base character ዠ)
-<c> <U12F8> : "ዽ" U12FD # key d (base character ዸ)
-<c> <U1318> : "ጝ" U131D # key g (base character ጘ)
-<c> <U1338> : "ጽ" U133D # key [ (base character ጸ)
-<c> <U1330> : "ጵ" U1335 # key p (base character ጰ)
-<c> <U1280> : "ኅ" U1285 # key ] (base character ኀ)
-<c> <U1268> : "ቭ" U126D # key v (base character ቨ)
+<UFE78> <U1210> : "ሕ" U1215 # key h (base character ሐ)
+<UFE78> <U1220> : "ሥ" U1225 # key s (base character ሠ)
+<UFE78> <U1250> : "ቕ" U1255 # key q (base character ቐ)
+<UFE78> <U1278> : "ች" U127D # key c (base character ቸ)
+<UFE78> <U1320> : "ጥ" U1325 # key t (base character ጠ)
+<UFE78> <U1298> : "ኝ" U129D # key n (base character ኘ)
+<UFE78> <U12D0> : "ዕ" U12D5 # key x (base character ዐ)
+<UFE78> <U12B8> : "ኽ" U12BD # key k (base character ኸ)
+<UFE78> <U12E0> : "ዥ" U12E5 # key z (base character ዠ)
+<UFE78> <U12F8> : "ዽ" U12FD # key d (base character ዸ)
+<UFE78> <U1318> : "ጝ" U131D # key g (base character ጘ)
+<UFE78> <U1338> : "ጽ" U133D # key [ (base character ጸ)
+<UFE78> <U1330> : "ጵ" U1335 # key p (base character ጰ)
+<UFE78> <U1280> : "ኅ" U1285 # key ] (base character ኀ)
+<UFE78> <U1268> : "ቭ" U126D # key v (base character ቨ)
XCOMM Modifier: /o/
-<o> <U1210> : "ሖ" U1216 # key h (base character ሐ)
-<o> <U1220> : "ሦ" U1226 # key s (base character ሠ)
-<o> <U1250> : "ቖ" U1256 # key q (base character ቐ)
-<o> <U1278> : "ቾ" U127E # key c (base character ቸ)
-<o> <U1320> : "ጦ" U1326 # key t (base character ጠ)
-<o> <U1298> : "ኞ" U129E # key n (base character ኘ)
-<o> <U12D0> : "ዖ" U12D6 # key x (base character ዐ)
-<o> <U12B8> : "ኾ" U12BE # key k (base character ኸ)
-<o> <U12E0> : "ዦ" U12E6 # key z (base character ዠ)
-<o> <U12F8> : "ዾ" U12FE # key d (base character ዸ)
-<o> <U1318> : "ጞ" U131E # key g (base character ጘ)
-<o> <U1338> : "ጾ" U133E # key [ (base character ጸ)
-<o> <U1330> : "ጶ" U1336 # key p (base character ጰ)
-<o> <U1280> : "ኆ" U1286 # key ] (base character ኀ)
-<o> <U1268> : "ቮ" U126E # key v (base character ቨ)
+<UFE73> <U1210> : "ሖ" U1216 # key h (base character ሐ)
+<UFE73> <U1220> : "ሦ" U1226 # key s (base character ሠ)
+<UFE73> <U1250> : "ቖ" U1256 # key q (base character ቐ)
+<UFE73> <U1278> : "ቾ" U127E # key c (base character ቸ)
+<UFE73> <U1320> : "ጦ" U1326 # key t (base character ጠ)
+<UFE73> <U1298> : "ኞ" U129E # key n (base character ኘ)
+<UFE73> <U12D0> : "ዖ" U12D6 # key x (base character ዐ)
+<UFE73> <U12B8> : "ኾ" U12BE # key k (base character ኸ)
+<UFE73> <U12E0> : "ዦ" U12E6 # key z (base character ዠ)
+<UFE73> <U12F8> : "ዾ" U12FE # key d (base character ዸ)
+<UFE73> <U1318> : "ጞ" U131E # key g (base character ጘ)
+<UFE73> <U1338> : "ጾ" U133E # key [ (base character ጸ)
+<UFE73> <U1330> : "ጶ" U1336 # key p (base character ጰ)
+<UFE73> <U1280> : "ኆ" U1286 # key ] (base character ኀ)
+<UFE73> <U1268> : "ቮ" U126E # key v (base character ቨ)
XCOMM Modifier: /A/
-<A> <U1210> : "ሗ" U1217 # key h (base character ሐ)
-<A> <U1220> : "ሧ" U1227 # key s (base character ሠ)
-<A> <U1250> : "ቛ" U125B # key q (base character ቐ)
-<A> <U1278> : "ቿ" U127F # key c (base character ቸ)
-<A> <U1320> : "ጧ" U1327 # key t (base character ጠ)
-<A> <U1298> : "ኟ" U129F # key n (base character ኘ)
-<A> <U12B8> : "ዃ" U12C3 # key k (base character ኸ)
-<A> <U12E0> : "ዧ" U12E7 # key z (base character ዠ)
-<A> <U12F8> : "ዿ" U12FF # key d (base character ዸ)
-<A> <U1338> : "ጿ" U133F # key [ (base character ጸ)
-<A> <U1330> : "ጷ" U1337 # key p (base character ጰ)
-<A> <U1280> : "ኋ" U128B # key ] (base character ኀ)
-<A> <U1268> : "ቯ" U126F # key v (base character ቨ)
+<UFE68> <U1210> : "ሗ" U1217 # key h (base character ሐ)
+<UFE68> <U1220> : "ሧ" U1227 # key s (base character ሠ)
+<UFE68> <U1250> : "ቛ" U125B # key q (base character ቐ)
+<UFE68> <U1278> : "ቿ" U127F # key c (base character ቸ)
+<UFE68> <U1320> : "ጧ" U1327 # key t (base character ጠ)
+<UFE68> <U1298> : "ኟ" U129F # key n (base character ኘ)
+<UFE68> <U12B8> : "ዃ" U12C3 # key k (base character ኸ)
+<UFE68> <U12E0> : "ዧ" U12E7 # key z (base character ዠ)
+<UFE68> <U12F8> : "ዿ" U12FF # key d (base character ዸ)
+<UFE68> <U1338> : "ጿ" U133F # key [ (base character ጸ)
+<UFE68> <U1330> : "ጷ" U1337 # key p (base character ጰ)
+<UFE68> <U1280> : "ኋ" U128B # key ] (base character ኀ)
+<UFE68> <U1268> : "ቯ" U126F # key v (base character ቨ)
XCOMM Modifier: /U/
-<U> <U1250> : "ቝ" U125D # key q (base character ቐ)
-<U> <U12B8> : "ዅ" U12C5 # key k (base character ኸ)
+<UFE76> <U1250> : "ቝ" U125D # key q (base character ቐ)
+<UFE76> <U12B8> : "ዅ" U12C5 # key k (base character ኸ)
XCOMM Modifier: /I/
-<I> <U1250> : "ቚ" U125A # key q (base character ቐ)
-<I> <U12B8> : "ዂ" U12C2 # key k (base character ኸ)
+<UFE72> <U1250> : "ቚ" U125A # key q (base character ቐ)
+<UFE72> <U12B8> : "ዂ" U12C2 # key k (base character ኸ)
XCOMM Modifier: /E/
-<E> <U1250> : "ቜ" U125C # key q (base character ቐ)
-<E> <U12B8> : "ዄ" U12C4 # key k (base character ኸ)
+<UFE70> <U1250> : "ቜ" U125C # key q (base character ቐ)
+<UFE70> <U12B8> : "ዄ" U12C4 # key k (base character ኸ)
XCOMM Modifier: /O/
-<O> <U1250> : "ቘ" U1258 # key q (base character ቐ)
-<O> <U12B8> : "ዀ" U12C0 # key k (base character ኸ)
+<UFE74> <U1250> : "ቘ" U1258 # key q (base character ቐ)
+<UFE74> <U12B8> : "ዀ" U12C0 # key k (base character ኸ)
XCOMM
XCOMM Group III
-XCOMM
+XCOMM
<backslash> <quotedbl> : "፥" U1365 # key "
-<backslash> <apostrophe> : "፦" U1366 # key "
+<backslash> <apostrophe> : "፦" U1366 # key '
<backslash> <minus> : "|" U007C # key -
<backslash> <underscore> : "¥" U00A5 # key _
<backslash> <question> : "፧" U1367 # key ?
-
-XCOMM
-XCOMM Khmer digraphs
-XCOMM
-
-<U17ff> : "ាំ"
-<U17fe> : "ោះ"
-<U17fd> : "េះ"
-<U17fc> : "ុំ"
-<U17fb> : "ុះ"
-
-XCOMM
-XCOMM Arabic Lam-Alef ligatures
-XCOMM
-
-<UFEFB> : "لا" # ARABIC LIGATURE LAM WITH ALEF
-<UFEF7> : "لأ" # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE
-<UFEF9> : "لإ" # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW
-<UFEF5> : "لآ" # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE
diff --git a/lib/libX11/nls/el_GR.UTF-8/Compose.pre b/lib/libX11/nls/el_GR.UTF-8/Compose.pre
index ad9033717..4a644258c 100644
--- a/lib/libX11/nls/el_GR.UTF-8/Compose.pre
+++ b/lib/libX11/nls/el_GR.UTF-8/Compose.pre
@@ -19,9 +19,9 @@ XCOMM Moreover, the following character sets are completely covered:
XCOMM - ISO 8859-1
XCOMM - ISO 8859-7
XCOMM
-XCOMM This file consists of four parts. Two of them have been adapted from
-XCOMM the iso8859-1/Compose and iso8859-7/Compose files. The other two
-XCOMM parts have been created by:
+XCOMM This file consists of three parts. Two of them have been adapted
+XCOMM from the iso8859-1/Compose and iso8859-7/Compose files. The other
+XCOMM (middle) part has been created by:
XCOMM Vasilis Vasaitis <vvas@hal.csd.auth.gr>
XCOMM based on the idea and initial implementation by:
XCOMM Alejandros Diamandidis <adia@egnatia.ee.auth.gr>
@@ -1968,14 +1968,4 @@ XCOMM Miscellaneous extensions.
<Multi_key> <5> <8> : "⅝" U215D # VULGAR FRACTION FIVE EIGHTHS
<Multi_key> <7> <8> : "⅞" U215E # VULGAR FRACTION SEVEN EIGHTHS
-XCOMM
-XCOMM Khmer digraphs
-XCOMM
-
-<U17ff> : "ាំ"
-<U17fe> : "ោះ"
-<U17fd> : "េះ"
-<U17fc> : "ុំ"
-<U17fb> : "ុះ"
-
XCOMM End
diff --git a/lib/libX11/nls/en_US.UTF-8/Compose.pre b/lib/libX11/nls/en_US.UTF-8/Compose.pre
index f174527db..ea87d8424 100644
--- a/lib/libX11/nls/en_US.UTF-8/Compose.pre
+++ b/lib/libX11/nls/en_US.UTF-8/Compose.pre
@@ -2,7 +2,7 @@ XCOMM UTF-8 (Unicode) Compose sequences
XCOMM
/* Originally by <David.Monniaux@ens.fr>. */
-XCOMM Spacing versions of dead accents
+XCOMM Spacing versions of accents (mostly)
<dead_tilde> <space> : "~" asciitilde # TILDE
<dead_tilde> <dead_tilde> : "~" asciitilde # TILDE
<Multi_key> <minus> <space> : "~" asciitilde # TILDE
@@ -31,7 +31,9 @@ XCOMM Spacing versions of dead accents
<Multi_key> <parenleft> <space> : "˘" breve # BREVE
<dead_abovedot> <space> : "˙" abovedot # DOT ABOVE
<dead_abovedot> <dead_abovedot> : "˙" abovedot # DOT ABOVE
+<Multi_key> <period> <space> : "˙" abovedot # DOT ABOVE
<dead_diaeresis> <dead_diaeresis> : "¨" diaeresis # DIAERESIS
+<Multi_key> <quotedbl> <space> : "¨" diaeresis # DIAERESIS
<Multi_key> <quotedbl> <quotedbl> : "¨" diaeresis # DIAERESIS
<dead_diaeresis> <space> : "\"" quotedbl # QUOTATION MARK
<dead_doubleacute> <space> : "˝" U2dd # DOUBLE ACUTE ACCENT
@@ -47,13 +49,12 @@ XCOMM Spacing versions of dead accents
<Multi_key> <comma> <comma> : "¸" cedilla # CEDILLA
<dead_ogonek> <space> : "˛" ogonek # OGONEK
<dead_ogonek> <dead_ogonek> : "˛" ogonek # OGONEK
+<Multi_key> <semicolon> <space> : "˛" ogonek # OGONEK
<dead_iota> <space> : "ͺ" U37a # GREEK YPOGEGRAMMENI
<dead_iota> <dead_iota> : "ͺ" U37a # GREEK YPOGEGRAMMENI
XCOMM ASCII characters that may be difficult to access on some keyboards.
<Multi_key> <plus> <plus> : "#" numbersign # NUMBER SIGN
-<Multi_key> <apostrophe> <space> : "'" apostrophe # APOSTROPHE
-<Multi_key> <space> <apostrophe> : "'" apostrophe # APOSTROPHE
<Multi_key> <A> <T> : "@" at # COMMERCIAL AT
<Multi_key> <parenleft> <parenleft> : "[" bracketleft # LEFT SQUARE BRACKET
<Multi_key> <slash> <slash> : "\\" backslash # REVERSE SOLIDUS
@@ -61,14 +62,9 @@ XCOMM ASCII characters that may be difficult to access on some keyboards.
<Multi_key> <less> <slash> : "\\" backslash # REVERSE SOLIDUS
<Multi_key> <parenright> <parenright> : "]" bracketright # RIGHT SQUARE BRACKET
-<Multi_key> <asciicircum> <space> : "^" asciicircum # CIRCUMFLEX ACCENT
-<Multi_key> <space> <asciicircum> : "^" asciicircum # CIRCUMFLEX ACCENT
<Multi_key> <greater> <space> : "^" asciicircum # CIRCUMFLEX ACCENT
<Multi_key> <space> <greater> : "^" asciicircum # CIRCUMFLEX ACCENT
-<Multi_key> <grave> <space> : "`" grave # GRAVE ACCENT
-<Multi_key> <space> <grave> : "`" grave # GRAVE ACCENT
-
<Multi_key> <parenleft> <minus> : "{" braceleft # LEFT CURLY BRACKET
<Multi_key> <minus> <parenleft> : "{" braceleft # LEFT CURLY BRACKET
@@ -82,9 +78,6 @@ XCOMM ASCII characters that may be difficult to access on some keyboards.
<Multi_key> <parenright> <minus> : "}" braceright # RIGHT CURLY BRACKET
<Multi_key> <minus> <parenright> : "}" braceright # RIGHT CURLY BRACKET
-<Multi_key> <asciitilde> <space> : "~" asciitilde # TILDE
-<Multi_key> <space> <asciitilde> : "~" asciitilde # TILDE
-
<Multi_key> <L> <T> : "<" less # LESS-THAN
<Multi_key> <l> <t> : "<" less # LESS-THAN
<Multi_key> <G> <T> : ">" greater # GREATER-THAN
diff --git a/lib/libX11/nls/km_KH.UTF-8/Compose.pre b/lib/libX11/nls/km_KH.UTF-8/Compose.pre
index dc89119ae..6c2c4114d 100644
--- a/lib/libX11/nls/km_KH.UTF-8/Compose.pre
+++ b/lib/libX11/nls/km_KH.UTF-8/Compose.pre
@@ -1,8 +1 @@
include "X11_LOCALEDATADIR/en_US.UTF-8/Compose"
-
-XCOMM Khmer digraphs
-<U17ff> : "ាំ"
-<U17fe> : "ោះ"
-<U17fd> : "េះ"
-<U17fc> : "ុំ"
-<U17fb> : "ុះ"
diff --git a/lib/libX11/src/config.h.in b/lib/libX11/src/config.h.in
index c9668aea1..34740901c 100644
--- a/lib/libX11/src/config.h.in
+++ b/lib/libX11/src/config.h.in
@@ -189,6 +189,9 @@
#endif
+/* Call XInitThreads() from the library constructor */
+#undef USE_THREAD_SAFETY_CONSTRUCTOR
+
/* Version number of package */
#undef VERSION
diff --git a/lib/libX11/src/globals.c b/lib/libX11/src/globals.c
index 1aaa8c670..ea3fe6e11 100644
--- a/lib/libX11/src/globals.c
+++ b/lib/libX11/src/globals.c
@@ -97,12 +97,10 @@ int XTestInputActionType = 0;
int XTestFakeAckType = 1;
#endif
-/*
- * NOTE: any additional external definition NEED
- * to be inserted BELOW this point!!!
- */
-
-/*
- * NOTE: any additional external definition NEED
- * to be inserted ABOVE this point!!!
- */
+#ifdef USE_THREAD_SAFETY_CONSTRUCTOR
+__attribute__((constructor)) static void
+xlib_ctor(void)
+{
+ XInitThreads();
+}
+#endif
diff --git a/lib/libX11/src/xkb/XKB.c b/lib/libX11/src/xkb/XKB.c
index 055eb367e..4df82b24c 100644
--- a/lib/libX11/src/xkb/XKB.c
+++ b/lib/libX11/src/xkb/XKB.c
@@ -721,7 +721,7 @@ XkbGetPerClientControls(Display *dpy, unsigned *ctrls)
}
Display *
-XkbOpenDisplay(char *name,
+XkbOpenDisplay(_Xconst char *name,
int *ev_rtrn,
int *err_rtrn,
int *major_rtrn,
diff --git a/lib/libX11/src/xkb/XKBGAlloc.c b/lib/libX11/src/xkb/XKBGAlloc.c
index 3a257c04b..5b02f34c9 100644
--- a/lib/libX11/src/xkb/XKBGAlloc.c
+++ b/lib/libX11/src/xkb/XKBGAlloc.c
@@ -650,7 +650,7 @@ XkbAllocGeometry(XkbDescPtr xkb, XkbGeometrySizesPtr sizes)
/***====================================================================***/
XkbPropertyPtr
-XkbAddGeomProperty(XkbGeometryPtr geom, char *name, char *value)
+XkbAddGeomProperty(XkbGeometryPtr geom, _Xconst char *name, _Xconst char *value)
{
register int i;
register XkbPropertyPtr prop;
@@ -683,7 +683,8 @@ XkbAddGeomProperty(XkbGeometryPtr geom, char *name, char *value)
}
XkbKeyAliasPtr
-XkbAddGeomKeyAlias(XkbGeometryPtr geom, char *aliasStr, char *realStr)
+XkbAddGeomKeyAlias(XkbGeometryPtr geom, _Xconst char *aliasStr,
+ _Xconst char *realStr)
{
register int i;
register XkbKeyAliasPtr alias;
@@ -711,7 +712,7 @@ XkbAddGeomKeyAlias(XkbGeometryPtr geom, char *aliasStr, char *realStr)
}
XkbColorPtr
-XkbAddGeomColor(XkbGeometryPtr geom, char *spec, unsigned int pixel)
+XkbAddGeomColor(XkbGeometryPtr geom, _Xconst char *spec, unsigned int pixel)
{
register int i;
register XkbColorPtr color;
@@ -898,8 +899,8 @@ XkbAddGeomDoodad(XkbGeometryPtr geom, XkbSectionPtr section, Atom name)
XkbOverlayKeyPtr
XkbAddGeomOverlayKey(XkbOverlayPtr overlay,
XkbOverlayRowPtr row,
- char *over,
- char *under)
+ _Xconst char *over,
+ _Xconst char *under)
{
register int i;
XkbOverlayKeyPtr key;
diff --git a/lib/libX11/src/xkb/XKBGeom.c b/lib/libX11/src/xkb/XKBGeom.c
index be7537b96..ab3bbc7c3 100644
--- a/lib/libX11/src/xkb/XKBGeom.c
+++ b/lib/libX11/src/xkb/XKBGeom.c
@@ -208,7 +208,8 @@ XkbComputeSectionBounds(XkbGeometryPtr geom, XkbSectionPtr section)
/***====================================================================***/
char *
-XkbFindOverlayForKey(XkbGeometryPtr geom, XkbSectionPtr wanted, char *under)
+XkbFindOverlayForKey(XkbGeometryPtr geom, XkbSectionPtr wanted,
+ _Xconst char *under)
{
int s;
XkbSectionPtr section;
diff --git a/lib/libX11/src/xkb/XKBMisc.c b/lib/libX11/src/xkb/XKBMisc.c
index 880a616e9..1ffb4404f 100644
--- a/lib/libX11/src/xkb/XKBMisc.c
+++ b/lib/libX11/src/xkb/XKBMisc.c
@@ -857,7 +857,7 @@ XkbUpdateKeyTypeVirtualMods(XkbDescPtr xkb,
XkbChangesPtr changes)
{
register unsigned int i;
- unsigned int mask;
+ unsigned int mask = 0;
XkbVirtualModsToReal(xkb, type->mods.vmods, &mask);
type->mods.mask = type->mods.real_mods | mask;
diff --git a/lib/libX11/src/xlibi18n/lcCT.c b/lib/libX11/src/xlibi18n/lcCT.c
index 2ffb00978..9e797036a 100644
--- a/lib/libX11/src/xlibi18n/lcCT.c
+++ b/lib/libX11/src/xlibi18n/lcCT.c
@@ -620,7 +620,7 @@ _XlcCheckCTSequence(
return resOK;
case XctExtSeg:
if (tmp_ctext_len > 2
- && (tmp_ctext[0] & 0x80) && (tmp_ctext[0] & 0x80)) {
+ && (tmp_ctext[0] & 0x80) && (tmp_ctext[1] & 0x80)) {
unsigned int msb = tmp_ctext[0] & 0x7f;
unsigned int lsb = tmp_ctext[1] & 0x7f;
ext_seg_left = (msb << 7) + lsb;