commit b4f24b272c6ef888b6fcfcf80670c196b2e8f755
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Thu Nov 10 12:18:17 2022 -0800

    libX11 1.8.2
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 77629ea5e79fa9b1596438bc36cfc7e0c631af43
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Thu Nov 3 13:00:50 2022 -0700

    README.md: Add 1.8.2 changes
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit d1baf2ec4869dea3732d6fe13ba4935cb6caad01
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Thu Nov 3 11:22:37 2022 -0700

    Remove NEWS file which only covered 2006 & 2007 releases
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 1294bfa487bdecfd32621822922fec03203ee188
Author: Po Lu <luangruo@yahoo.com>
Date:   Mon Oct 3 08:44:59 2022 +0800

    specs: document change in XIMPreeditCallbacks
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 1a7e54609ce4dc0f2d3b933502437a413cf3dea8
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Thu Nov 3 14:44:22 2022 -0700

    man pages: document XCloseIM frees its argument
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit a04b84f0f7bb3a78088756759f4b9b8bb363251e
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Thu Nov 3 20:31:31 2022 +0000

    Copyright & license cleanup

commit 5e41119d9611504ff7e61c6aa4da1df708096801
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Mon Oct 31 12:42:51 2022 +0100

    nls: reshuffle a few compose sequences, to have similar ones together
    
    It makes more sense to have similar sequences grouped together
    than to rigidly follow the order of ascending Unicode codes.

commit 65d89342f59cfc2eac9bf8010076b937f22554e8
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Mon Oct 31 12:50:11 2022 +0100

    nls: remove two compose sequences that use deprecated symbols
    
    The last few occurrences of `leftcaret` and `rightcaret` were replaced
    with `less` and `greater` in xkeyboard-config half a year ago.

commit 6baccbae5324e7342cb5176cae82f463a6b34eae
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Mon Oct 31 12:40:12 2022 +0100

    nls: let `<Multi_key> <minus> <underscore>` compose U+2212 (MINUS SIGN)
    
    There was not yet any way to compose the Unicode minus sign, U+2212.

commit 79775575418fd6f8ee1c5e5bbe403df4606fb5b6
Author: Adam Jackson <ajax@redhat.com>
Date:   Fri Aug 5 15:19:08 2022 -0400

    Allow X*IfEvent() to reenter libX11
    
    The documentation for this family of functions very clearly says not to
    call into xlib in your predicate function, but historically single
    threaded apps could get away with it just fine, and now that we've
    forced thread-safety on the world such apps will now deadlock instead.
    That's not an acceptable regression even if the app is technically
    broken. This has been reported with XFCE and FVWM, and Motif's
    cut-and-paste code has the same bug by inspection, so this does need to
    be addressed.
    
    This change nerfs LockDisplay/UnlockDisplay while inside the critical
    bit of an IfEvent function. This is still safe in the sense that the
    display remains locked and no other thread should be able to change it
    from under us, but the loop that scans the event queue might not be
    robust against it being modified as a side effect of protocol emitted by
    the predicate callback. But that's not new, non-XInitThreads'd xlib
    would have the same caveat.
    
    Closes: xorg/lib/libx11#157

commit 0d1d65bdd98966f52bcac4077f94827b20b229dd
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Fri Oct 21 12:18:25 2022 +0200

    nls: change <Compose> <^> <-> to mean superscript minus instead of macron
    
    Several other `<Multi_key> <asciicircum> <symbol>` sequences
    produce the superscript equivalent of the given symbol.  So,
    let `<Multi_key> <asciicircum> <minus>` do the same.
    
    Also, add two other sequences for producing a plain macron,
    to compensate a bit the loss of the above sequence.
    
    Additionally, make `<Multi_key> <underscore> <minus>` produce
    a subscript minus, for consistency.
    
    This fixes issue #165.
    
    Requested-by: J. McWilliams
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 310898270787c1a3a6ab50221324f8654dddce8e
Author: Jan Tojnar <jtojnar@gmail.com>
Date:   Thu Oct 20 07:10:58 2022 +0000

    nls: Map sr locales to sr_RS compose files
    
    Serbian used sr_YU (Yugoslavia) code in the past.
    Then it was succeeded by sr_CS (Serbia and Montenegro).
    Finally, it was split into sr_RS (Serbia) and sr_ME (Montenegro).
    
    https://gitlab.freedesktop.org/xorg/lib/libx11/-/commit/da95ecbbdcacc483cd0b5fd7db1fb2e2543341bd
    introduced the modern sr_RS and sr_ME codes.
    
    Next, https://gitlab.freedesktop.org/xorg/lib/libx11/-/commit/40761898692e5063957bfa2518cca3d35b2e354a
    added the Serbian compose table but only for the legacy sr_CS entry.
    
    https://gitlab.freedesktop.org/xorg/lib/libx11/-/commit/5cd60398b7787297008b13a848ed3cfbd7ef178d
    removed the legacy sr_CS entry, the only one pointing to the correct compose file.
    It also renamed the file to sr_RS, but did not update the compose mapping.
    
    Let’s point all Serbian locales to the Compose file again.

commit a35d706cd8dc7b498bca2a3fc4a3732047439ed7
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Fri Oct 14 13:40:37 2022 -0700

    COPYING: remove notice for the removed UIThrStubs.c
    
    Fixes: 701e9e9a ("Use same pthread-stubs as libxcb")
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 3b1750e982fedce0d61bface68aadcd5b1ea1fae
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Fri Oct 14 09:28:42 2022 +0200

    nls: delete two compose sequences with an anomalous post-fixed breve
    
    Two years ago, commit b126bfd7fe allowed using also a lowercase `u`
    wherever an uppercase `U` was used to represent a breve.  But the
    commit should have limited itself to only the prefixed uses of `U`,
    as that is how most letters with a breve are composed.
    
    Also, group the two compose sequences with an uppercase post-fixed `U`
    together with the corresponding other post-fixed sequences.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 701e9e9afb88bdc68c84a4611adc533400a3df36
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Tue Oct 4 11:24:57 2022 -0700

    Use same pthread-stubs as libxcb
    
    Avoid conflicts when libX11 calls libxcb and gets its pthread functions
    overriding our ancient stubs.
    
    v2: Keep linking with real threads libraries when thread safety
        constructor is enabled.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 1d11822601fd24a396b354fa616b04ed3df8b4ef
Author: Thomas E. Dickey <dickey@invisible-island.net>
Date:   Tue Oct 4 18:26:17 2022 -0400

    fix a memory leak in XRegisterIMInstantiateCallback
    
    Analysis:
    
        _XimRegisterIMInstantiateCallback() opens an XIM and closes it using
        the internal function pointers, but the internal close function does
        not free the pointer to the XIM (this would be done in XCloseIM()).
    
    Report/patch:
    
        Date: Mon, 03 Oct 2022 18:47:32 +0800
        From: Po Lu <luangruo@yahoo.com>
        To: xorg-devel@lists.x.org
        Subject: Re: Yet another leak in Xlib
    
        For reference, here's how I'm calling XRegisterIMInstantiateCallback:
    
        XSetLocaleModifiers ("");
        XRegisterIMInstantiateCallback (compositor.display,
                                        XrmGetDatabase (compositor.display),
                                        (char *) compositor.resource_name,
                                        (char *) compositor.app_name,
                                        IMInstantiateCallback, NULL);
    
        and XMODIFIERS is:
    
            @im=ibus
    
    Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>

commit 1f8fd7ff1cf688ec1d3b34397c6d58110bb0cae5
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Mon Sep 26 16:01:40 2022 -0700

    If thread-safety-constructor is enabled, link against pthreads not stubs
    
    Only really makes a difference if pthreads is not in libc.
    
    Fixes: #162
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
    Reviewed-by: Adam Jackson <ajax@redhat.com>

commit bfe5d2dd98f705438b0cdddbbf9c12882da89bae
Author: Thomas E. Dickey <dickey@invisible-island.net>
Date:   Sun Sep 11 11:44:41 2022 -0400

    reduce compiler warnings with casts (no object change)
    
    Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>

commit 926f2454bca9a7a7d1f4cf0648b0c193f5cef644
Author: Thomas E. Dickey <dickey@invisible-island.net>
Date:   Sun Sep 11 10:35:31 2022 -0400

    use casts to reduce compiler warnings (no object change)
    
    Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>

commit dc553ff908f10832c71dc2b5ba5af7e68589218e
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri Jul 22 11:39:01 2022 +0200

    Remove KOI8-R character set from en_US.UTF-8/XLC_LOCALE
    
    https://gitlab.freedesktop.org/xorg/lib/libx11/-/blob/master/src/xlibi18n/lcCT.c#L58
    has no escape sequence for KOI8-R.
    That makes Xutf8TextListToTextProperty() sometimes fail when trying to
    convert to COMPOUND_TEXT and when the KOI8-R charset is tried.
    
    This is the cause for this bug:
    
    https://github.com/ibus/ibus/issues/2422
    
    Removing the KOI8-R charset entry fixes the problem.
    
    This commit also fixes a few wrong texts in comments.
    
    Signed-off-by: Mike FABIAN <mfabian@redhat.com>

commit 1c04ac514196db5e2255d99635fb6e3c36be330d
Author: Adam Sampson <ats@offog.org>
Date:   Sun Jul 4 23:02:04 2021 +0100

    xkb: Fix off-by-one error in XKeycodeToKeysym
    
    The code here that made indexes greater than 3 refer to XKB symbol
    groups had an off-by-one error, so it would always leave out the symbol
    that should have been at index 4. Rewrite the code to fix this and
    simplify the logic a bit.
    
    Signed-off-by: Adam Sampson <ats@offog.org>

commit ddaacd219609104f138006db6a8f708226db3874
Author: Thomas E. Dickey <dickey@invisible-island.net>
Date:   Fri Sep 9 20:17:35 2022 -0400

    reduce compiler warnings for macros BufAlloc, Data and Data32 using casts
    
    Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>

commit 62c3337d89d31e0d3ed807004e73ad711fad3342
Author: Kirill Chibisov <contact@kchibisov.com>
Date:   Thu Sep 8 22:50:30 2022 +0000

    ximcp/imRm.c: allow XNSpotLocation with OnTheSpot

commit 1272879074ad9612314858a75cf844783c1963b2
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Thu Jul 28 17:30:21 2022 -0700

    gitlab CI: stop requiring Signed-off-by in commits
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 38033b073f393564acf6a04501927002b2b4aa86
Author: David H. Gutteridge <david@gutteridge.ca>
Date:   Mon Jul 25 19:30:19 2022 -0400

    configure.ac: report thread safety constructor build status
    
    Signed-off-by: David H. Gutteridge <david@gutteridge.ca>

commit 9a90b3a63d02da92dc8692ed3f6269d3e0c7c8cc
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Jul 10 11:55:11 2022 -0700

    doc: Document possible return values for XkbGetKeyboard()
    
    Fixes: #160
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 0beb0cf46ae48b0d4322ff8a0221f47bdb7d2296
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Jul 10 11:42:19 2022 -0700

    xkb: set num_keys when filling in keys in _XkbReadGetNamesReply()
    
    Fixes: #160
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 487e9489d1e086cc62c53045206ab6d6d9d02031
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Wed Jun 22 16:15:37 2022 +0100

    Fix Win32 build with -fno-common
    
    /work/xorg/lib/libX11/src/XlibInt.c:1968: multiple definition of `_Xdebug_p'; .libs/globals.o:globals.c:(.bss+0xc): first defined here
    
    Avoid redundant definition of _Xdebug_p in globals.c (which is under the
    influence of _Xdebug being #defined to _Xdebug_p.
    
    This appears to be an ancient hack to work around data exports resolving
    to the address of the import stub, not the import. (See [1]).
    
    (This is probably no longer needed or can be done in a better way, as
    per the discussion under --enable-auto-import in the ld manpage.)
    
    [1] https://cygwin.com/pipermail/cygwin-xfree/2001-May/004606.html
    
    Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>

commit 35ad99fad2f65ec2c69bd84bdeb8138329092b57
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Fri Jul 15 11:29:46 2022 +0200

    nls: add four sequences for the Samogitian E with dot above and macron
    
    These sequences each produce two code points: the E-with-dot-above and
    a combining macron.  The XIM input method is required for this to work.
    
    (Also add a missing comment for a Unicode block.)
    
    This fixes issue #54.
    
    Requested-by: Arns Udovīčė
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 2732dd20cc2694dd5c32fef292e1f48626011032
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Wed Jul 6 16:44:50 2022 +0200

    nls: delete eight sequences that pointlessly mix upper and lower case
    
    Typing a compose sequence requires some care -- surely the user is able
    to either keep holding the Shift key or not touch it at all while typing
    the sequence.  Also, compose sequences are not an infinite resource AND
    take up space and time -- defining redundant ones is a waste.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit ea3cc474e1acfed47b9fb856ea151008fa6cfd30
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Wed Jul 6 16:36:48 2022 +0200

    nls: add compose sequences for the double-struck capitals ℕ ℤ ℚ ℝ ℂ
    
    This allows the user to type the symbols for the five number systems.
    
    This fixes the reasonable part of issue #159.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 95a03cde434c447fdb41d8cccbbdd41f20750f32
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Thu Jul 14 12:00:45 2022 +0200

    nls: delete some pointless and wrong compose sequences meant for Bépo
    
    Fourteen years ago, commit 7302984642 added some four hundred compose
    sequences for the benefit of the French Bépo layout.  But among these
    four hundred there are several that use symbols that are not available
    in the Bépo layout and are thus impossible to type.  Some of the used
    symbols, like Ahook, Ehook and Ohook, are not even present in *any*
    layout, making these sequences a dead weight in the Compose file.
    
    The Amacron and Omacron are available only in the Latvian, Hawaiian,
    and Maori layouts, and the Omacron also in the Silesian layout.  But
    the Latvian layouts and the Hawaiian do not contain any dead keys.
    Only in the Maori and Silesian layouts these sequences with Amacron
    and Omacron could be typed, but that was not why they were added.
    
    More importantly, as James Cloos noted in issue #54, sequences like
    `<dead_abovedot> <amacron>` for generating `ǡ` (that is: the macron
    above the dot) are questionable, as in compose sequences generally
    the first accent typed is the uppermost in the composed character.
    
    Reference:
      https://gitlab.freedesktop.org/xorg/lib/libx11/-/issues/54#note_17321
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 9702b836862da6838d725f555e7a1d83faf51740
Author: Matthieu Herrb <matthieu@herrb.eu>
Date:   Fri Jul 1 11:13:13 2022 +0200

    Mention that the predicate function is called with the display lock
    
    Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>

commit a5d00f889fadad3f5b11e53fd5c04cf5343fa8a2
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Fri Jun 24 16:20:52 2022 +0200

    docs: replace three placeholders with something that makes sense
    
    Also, uncapitalize two arguments, to match the style of all others.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 9ff8502040e94cb172426d59df722cefa752a401
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Fri Jun 24 16:07:22 2022 +0200

    docs: remove the unsightly dashes from the overviews of arguments
    
    Seventeen months ago, commits 78027fdb7a and 4f15cfc645 removed
    these dashes from two of the man pages.  Now, remove them all.
    They are unhelpful and just make one wonder why they are there
    (probably to function as improvised bullet points).
    
    Also remove four leading spaces and a trailing comma.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit a7968c47e35703446d67d070234fd9adf07f34b0
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Thu Jun 23 15:48:05 2022 +0200

    docs: hard-wrap some items so that Table 2 fits within 80 characters
    
    (Table 1 hard-wraps the first-column items in the same way.)
    
    Also, correct the formatting of the subsequent paragraph.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit c601c779ca8f46dc4335180ec2829851fb8bbc13
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Wed Jun 15 10:55:38 2022 +0200

    nls: delete compose sequences that mix top-row digits with numpad digits
    
    Compose sequences for circled numbers, like ⑫  or ㉑, are nice to have,
    but allowing them to be composed by typing one digit on the top row and
    the other on the numerical keypad (or the other way around) is over the
    top.  Remove these absurd sequences.  Keep only the sequences where both
    digits are either on the top row or on the numerical keypad.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

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

    libX11 1.7.5
    
    Signed-off-by: Matt Turner <mattst88@gmail.com>

commit 76d1cc3c1ce943c6ff81dc8c62a1d1b30fabf02e
Author: Simon McVittie <smcv@debian.org>
Date:   Sun Apr 3 14:23:36 2022 +0100

    Don't try to destroy NULL condition variables
    
    This avoids a segfault during error-unwinding if an invalid display name
    is passed to XOpenDisplay().
    
    Fixes: 8a368d80 "Fix two memory leaks in _XFreeX11XCBStructure()"
    Resolves: #155
    Signed-off-by: Simon McVittie <smcv@debian.org>

commit 80b30d12519ac54fc5b2b05500521d9c8269be9c
Author: Matt Turner <mattst88@gmail.com>
Date:   Wed Mar 30 13:54:13 2022 -0700

    libX11 1.7.4
    
    Signed-off-by: Matt Turner <mattst88@gmail.com>

commit 8a368d808fec166b5fb3dfe6312aab22c7ee20af
Author: Hodong <hodong@yozmos.com>
Date:   Thu Jan 20 00:57:41 2022 +0900

    Fix two memory leaks in _XFreeX11XCBStructure()
    
    Even when XCloseDisplay() was called, some memory was leaked.
    
    XCloseDisplay() calls _XFreeDisplayStructure(), which calls
    _XFreeX11XCBStructure().
    
    However, _XFreeX11XCBStructure() did not destroy the condition variables,
    resulting in the leaking of some 40 bytes.
    
    Signed-off-by: Hodong <hodong@yozmos.com>

commit da97120f2322882a17f14e5d7da00c1e772679e8
Author: Adam Jackson <ajax@redhat.com>
Date:   Tue Mar 22 14:32:49 2022 -0400

    xcb: Clarify the XInitThreads error message
    
    XInitThreads has been called if _Xglobal_lock != NULL, we may as well
    check that before printing a misleading error message.
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>

commit 257927c51b08242aa5bf239346717fc817b2b286
Author: Giovanni Mascellani <gmascellani@codeweavers.com>
Date:   Fri Feb 4 10:49:25 2022 +0100

    xcb_io: Allow jumps backwards when widening the request number.
    
    Request numbers are not always seen in the numeric order by widen(),
    for example due to Mesa directly calling _XError(). When this happens,
    widen() adds 2^32 to the reported widened number, triggering failed
    assertions and bad behavior.
    
    With this commit, wrapping of the lower dword is detected in a more
    robust way, by requiring that a skip of at least 2^31 is seen.
    
    This fixes issue #152.
    
    Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>

commit 918063298cb893bee98040c9dca45ccdb2864773
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Thu Mar 3 12:00:45 2022 +0100

    nls: add a compose sequence for the peace symbol
    
    As the thing in the circle looks a bit like an upside-down Y,
    use <O> <Y> as the sequence, similar to <O> <A> for anarchism.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 4f9eb32709dca705f02ca771bbd47d6c08aba5e0
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Fri Feb 25 12:45:06 2022 +0100

    nls: remove obsolete locale aliases with uppercase in the language code
    
    (These aliases may have been useful on some systems twenty years ago,
    but nowadays all should have settled on lowercase language code plus
    uppercase country code.)
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit ba0d3b437deb2212bc7fc7c6f1c603fa6ced443c
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Fri Feb 25 12:35:28 2022 +0100

    nls: map eo.UTF-8 directly to en_US.UTF-8 instead of using a relay alias
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit cfddb79981f23650feb0f9a0f4442c9cad584b33
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Fri Feb 25 12:12:05 2022 +0100

    nls: remove the mistaken eo_EO names -- EO is not a valid country code
    
    (Debian has had several of these lines commented out for years.)
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit eb5885245a1ba6955d058a03e31894c23b9f5490
Author: iyzana <iyzana@protonmail.com>
Date:   Mon Feb 21 13:20:23 2022 +0100

    nls: add locale alias from eo.UTF-8 to eo_XX.UTF-8
    
    There is no matching locale in the locale.dir and compose.dir files for
    the locale eo.UTF-8. Setting it as the locale resulted in compose files
    not being loaded.
    
    Signed-off-by: iyzana <iyzana@protonmail.com>

commit 24df23dff9d8c1cf5e918a5f040b852bdf2cfb84
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Thu Feb 3 17:19:05 2022 +0100

    nls: group the compose sequences for tilde, degree, and cedilla together
    
    Also, correct the comment for the double quote character ("), and move
    the soft hyphen and the interrobangs to a special punctuation group.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit c0191f020f94907770937bc8ae67ea8acd7d63be
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Thu Feb 3 16:33:05 2022 +0100

    nls: use shape-based compose sequences for hammer-and-sickle instead
    
    Using a misspelled abbreviation (CCCP) of an obsolete country's name
    to compose a fairly general communist symbol does not seem right.
    
        https://en.wikipedia.org/wiki/Hammer_and_sickle
    
    Many compose sequences instead combine characters that together look
    similar to the target character.  Do the same here: question mark (?)
    plus backslash (\) look a bit like ☭ .
    
    In the bargain, this fixes issue #63.
    
    Reported-by: Marc Mezzarobba
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 582dc6f89e1f9288710a55cb2b8fbf2af99d7616
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Feb 20 11:49:42 2022 -0800

    gitlab CI: enable Static Application Security Testing (SAST)
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 336e8f72559b489396c5cd503c4586ef800c2a8f
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Sun Feb 20 15:06:02 2022 +0100

    nls: add compose sequences for leftward, upward and downward double arrow
    
    These sequences follow the logic of: the arrow shaft (=) first, the
    arrow head (< or > or ^ or v) second.  This is so because the sequence
    <= is already taken for ≤, and there is no obvious ASCII character for
    a double vertical line, so we have to make do with a horizontal one.
    
    Since commit 6101b967b6 from eight years ago, there is a compose sequence
    for the rightward double arrow, but not for the other three directions.
    
    This fixes issue #138.
    
    Requested-by: Mélanie Chauvel
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 623b77d4f30b47258a40f89262e5aa5d25e95fa7
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Mon Feb 14 11:33:25 2022 +0100

    imDefLkup: verify that a pointer isn't NULL before using it
    
    It is possible for _XimICOfXICID() to return NULL, so it is necessary
    to check this isn't actually the case before dereferencing the pointer.
    All other callers of _XimICOfXICID() do this check too.
    
    (The check itself is ugly, but it follows the style of the code in the
    rest of the module.)
    
    Fixes issue #45.
    
    Reported-by: Bhavi Dhingra
    
    Original-patch-by: Bhavi Dhingra
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit b83938f7f97aa6210b00835002e6e7d614b2374a
Author: Christopher Chavez <chrischavez@gmx.us>
Date:   Mon Feb 14 01:00:45 2022 +0000

    Xlib.h: fix spelling in comment
    
    Signed-off-by: Christopher Chavez <chrischavez@gmx.us>

commit 4791055682552b4cc8e775479700fb06980d0b59
Author: Christopher Chavez <chrischavez@gmx.us>
Date:   Sun Feb 13 05:26:14 2022 +0000

    Xlib.h: spelling fix in comment

commit 9304e645bdcdd3a71ff449a1157c4815e6304d7a
Author: Denis Drakhnia <numas13@gmail.com>
Date:   Wed Feb 2 11:54:43 2022 +0200

    nls: Add ru_UA.utf8 locale alias.
    
    Signed-off-by: Denis Drakhnia <numas13@gmail.com>

commit 9ef2551f0c201f9163b66d17189a98076b5be07a
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Wed Feb 2 16:50:35 2022 +0100

    nls: do some manual adjustment of whitespace in the compose sequences
    
    This achieves a more consistent vertical alignment (per group) of the
    target character and the trailing comments.
    
    (Most blocks were aligned in some fashion, except the "Greek Extended"
    block, which has lines of greatly varying lengths.)
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 0dad289ead6eb3412027c9365192441cc539d747
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Wed Feb 2 14:08:22 2022 +0100

    nls: among the compose sequences, replace all runs of spaces with tabs
    
    It was done with this script:
    
        cat nls/en_US.UTF-8/Compose.pre |
        sed 's!\(^<.\{6,13\}>\)\s*:!\1\t\t\t\t:!' |
        sed 's!\(^<.\{14,21\}>\)\s*:!\1\t\t\t:!' |
        sed 's!\(^<.\{22,29\}>\)\s*:!\1\t\t:!' |
        sed 's!\(^<.\{30,37\}>\)\s*:!\1\t:!' |
        sed 's!\(: ".*"\)\s*!\1\t!' |
        sed 's!\(\s*# \)! # !' > trimmed &&
        mv  trimmed  nls/en_US.UTF-8/Compose.pre
    
    This saves 37 kilobytes of whitespace.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit fc79e39c236501357e1fdbe8964882864eeef5d3
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Wed Feb 2 14:06:29 2022 +0100

    docs: add missing word, wrap line, fix typo, and trim an excess space
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 93446455c46dfc019984ab822ffa662cf6e2949c
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Thu Jan 27 15:01:18 2022 +0100

    KeyBind: reshuffle two ifs into the general order of ascending codes
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 93f15f5f29378ec4cc1dd011b155104e9a52b058
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Thu Jan 27 14:27:41 2022 +0100

    KeyBind: slightly speed up some case conversions by adding missing returns
    
    This avoids pointlessly tumbling through several more ifs when the
    conversion has aleady been done.
    
    Also remove two redundant conditions (as lower codes have already
    been handled) and fold two other conditions together.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 317c7abbcc848011393d1336b9d020af8cabb000
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Thu Jan 27 13:54:29 2022 +0100

    KeyBind: update the Greek case-conversion tables to Unicode Data 14.0
    
    A few symbols, like Heta and Sampi and dotted lunate Sigma, have been
    assigned code points since Unicode Data 4.0, and need their entries.
    
    This fixes issue #132.
    
    Reported-by: Ray Vine
    
    Original-patch-by: Ray Vine
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 402b843fa72166d9ceefd887f5cea4728cbc6995
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Wed Jan 26 17:20:28 2022 +0100

    remove a commented-out code fragment, and remove a stray blank line
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit fbbc3cf8b8b03f74f778772d4703fc4fec242282
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Wed Jan 26 16:55:50 2022 +0100

    XKBCvt: remove an if that never gets triggered
    
    The 'if' at the beginning of _XkbHandleSpecialSym() allows only symbols
    from the numeric keypad and some control symbols to pass -- XK_hyphen
    is not among them, so the check for XK_hyphen in the later 'if' will
    always be false.
    
