commit 695e90ad26f632feb0f58ad94882fb3a263bf114
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Thu Jun 15 09:14:48 2023 -0700

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

commit 304a654a0d57bf0f00d8998185f0360332cfa36c
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Jun 10 16:30:07 2023 -0700

    InitExt.c: Add bounds checks for extension request, event, & error codes
    
    Fixes CVE-2023-3138: X servers could return values from XQueryExtension
    that would cause Xlib to write entries out-of-bounds of the arrays to
    store them, though this would only overwrite other parts of the Display
    struct, not outside the bounds allocated for that structure.
    
    Reported-by: Gregory James DUCK <gjduck@gmail.com>
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 71b08b8af20474bb704a11affaa8ea39b06d5ddf
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Wed May 31 17:45:40 2023 -0700

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

commit 03ba0140940cc76524d83096a47309f5c398541f
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Mon May 22 12:02:06 2023 +0200

    nls: use a slash instead of a combining solidus in compose sequences
    
    First: combining diacritics like the combining long solidus (`U+0338`)
    are not meant to be used in compose sequences.  Second: there is just
    one layout in xkeyboard-config that contains the `U0338` character:
    the deprecated/obsolete German T3 layout.  So, practically speaking,
    these compose sequences with `U0338` were untypable.  So, use a slash
    instead, that almost all layouts have.  This does require that the
    sequence `<Compose> <less> <slash>` changes its meaning from backslash
    to not-less-than (`≮`).  This seems like an acceptable sacrifice, as
    the sequence `<Compose> <slash> <slash>` is a faster/easier sequence
    for the backslash and most layouts contain a backslash already anyway.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 616701317e25b2c0f509f4d93af5dee6de09012d
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Mon May 22 11:19:32 2023 +0200

    nls: delete six compose sequences that cannot be typed
    
    None of the layouts in xkeyboard-config contain `Ohook` or `Uhook`
    or `U+01D3` (U with caron) nor their lowercase forms, so these six
    sequences cannot be typed on any known keyboard.
    
    (Also, the target characters of the sequences with hook and horn
    seem to occur only in Vietnamese, where the horn is part of the
    vowel and the hook is a tonal mark.  All Vietnamese layouts in
    xkeyboard-config contain `Ohorn` and `Uhorn`, and then the five
    tonal marks as dead keys, `dead_hook` among them.  It does not
    make sense to want to apply a horn to a vowel that already has
    a tonal mark, nor is it possible with the Vietnamese layouts.)
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 35d9621d78cb196b4ccd3ee1baa1ce2a21e4674b
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Sun May 21 16:17:32 2023 +0200

    nls: sort three sequences alphabetically in their group, like all others
    
    Also, consistently form uppercase+lowercase pairs, like for most others.

commit 208d550954c7266fa8093b02a2a97047e1478c00
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Thu Apr 13 17:25:35 2023 +0200

    nls: make the Amharic compose sequences use the dead-vowel symbols
    
    Last year, commit 488b156fe2 changed mistaken ASCII characters to the
    code points that were actually used in the Ethiopian keyboard layout.
    
    But those code points were mistaken too: the intention was not to use
    the code point U+FE68 in the layout but the raw symbol code 0xfe68 --
    and so on for the other codes.  The symbols that these raw codes were
    intended to refer to were `dead_a` and friends.  But these dead vowels
    were added under different codes: 0xfe80 to 0xfe8b.
    
    So, correct the Amharic compose sequences to make use of the dead-vowel
    symbols that were specifically added for them fifteen years ago.
    
    (As soon as this is merged, xkeyboard-config wil be changed too to use
    the dead vowels in the Ethiopian layout.)
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 96cbac89a02220eb21e13ca5fa7c8c5adf77028a
Author: jmcwilliams403 <jmcwilliams403@gmail.com>
Date:   Fri Mar 31 09:47:03 2023 -0400

    nls: add compose sequence for capital schwa, and delete a deviant one
    
    This sequence has already been defined in the iso8859-9e compose
    file meant for the Azerbaijani locale, yet for the longest time, only
    the lowercase form has existed in the en_US.UTF-8 master compose
    file. This patch adds one sequence for Latin Capital Letter Schwa for
    the Azerbaijani language.
    
    Additionally, the sequence in the pt_BR.UTF-8 locale for capital
    schwa has been removed as it uses two lowercase e's as part of its
    sequence, which in practice would make typing both `Multi_key e e`
    and `Multi_key E E` output capital schwa.

commit a6528d92b3865adb4f9951df91a714f55f56d59e
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Tue Apr 4 11:35:44 2023 +0200

    XSetScreenSaver.man: restore the part that was accidentally snipped
    
    Four years ago, while removing private macros, commit fe46eb2871
    unintentionally truncated the XSetScreenSaver manpage.  Restore
    the snipped part (minus trailing spaces and a mistaken singular).
    
    This fixes issue #187.
    
    Reported-by: Sergio Gelato
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit eb166af8f9f4184108fe8e0611a09af03d12059e
Author: jmcwilliams403 <jmcwilliams403@gmail.com>
Date:   Fri Mar 24 08:37:32 2023 -0400

    NLS: Remove strange dead_cedilla cedi sign sequences
    
    These sequences appear to be a leftover artifact of auto-generating
    dead_currency sequences for cent and the cedi sign, where chaining
    with ascii "c" vs "ccedilla" would output cent vs the cedi sign
    respectively, but somehow this ended up creating strange sequences
    with dead_cedilla followed by cent or the colon sign to output the
    cedi sign, the latter sequence of which was already removed recently.
    Additionally, sequences beginninng with dead_cedilla followed by
    currency have been removed as they also appear to be related to these
    artifacts. The two remaining sequences beginning with dead_currency
    followed by dead_cedilla are maintained and moved to the stretch of
    dead_currency sequences next to ccedilla, and sorted in order of
    unicode decompositional complexity.

commit 6e889f34679bb96f4d61ef069259c042cb4a9a59
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Fri Mar 24 09:41:48 2023 +0100

    nls: remove twenty two untypable Greek compose sequences
    
    None of the keyboard layouts in xkeyboard-config contains accented
    Greek characters like `Greek_alphaaccent` or `Greek_iotadieresis`
    (nor in their Unicode hexadecimal forms, like U03AC or 0x10003CA),
    so none of these sequences could be typed on an existing layout.
    
    Also, the two sequences that started with `Greek_accentdieresis`
    were plain wrong: making a spacing character into a dead key.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 98be4cb23a5eadc98f81f05c4696f687119152c8
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Fri Mar 24 09:00:48 2023 +0100

    nls: remove four hundred and sixty untypable Greek compose sequences
    
    None of the keyboard layouts in xkeyboard-config contains code points
    in the range U+1F00..U+1FFF (the Greek Extended block), so none of the
    removed sequences could be typed on an existing layout.
    
    (Of course it is possible that some people have their own private layout
    that contains some of the Greek Extended characters, but if they do,
    then they can also define private compose sequences, when needed.)
    
    Modern Greek does not use these characters with polytonic diacritics
    anyway -- they are useful only for typing traditional Greek.
    
    The useless sequences were removed with this command:
    
      sed -i '/<U1F..>/d' nls/en_US.UTF-8/Compose.pre
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit ff8706a5eae25b8bafce300527079f68a201d27f
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Wed Jun 15 11:54:54 2022 +0200

    nls: delete compose sequences that pointlessly mix upper and lower case
    
    It's nice to have compose sequences for things like © and ®, but allowing
    them to be composed also with letters of different case is unneeded.  It
    is good enough to have sequences of only lowercase and only uppercase.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit ca99e338a9b8aad300933b1336f9e3c091392213
Author: jmcwilliams403 <jmcwilliams403@gmail.com>
Date:   Sun Mar 12 15:13:27 2023 +0000

    NLS: move dead-caron subscript compositions to the relevant Unicode block

commit dac2985b347cebc0f631e43e41eaeddb68de1676
Author: jmcwilliams403 <jmcwilliams403@gmail.com>
Date:   Sun Mar 12 14:49:47 2023 +0000

    NLS: implement the expansion of the six Breton N-graph keysyms
    
    These one-keysym-to-multiple-characters sequences will allow fully defining
    the Breton keyboard layout, without needing custom compose sequences.

commit e45ca7b41dcd3ace7681d6897505f85d374640f2
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Tue Mar 14 10:22:48 2023 -0700

    gitlab CI: add workflow rules
    
    Needed due to the gitlab config changes described in:
     https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/438
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 72eeeb6dedc39f68608312eb0001f77fffccd499
Author: jmcwilliams403 <jmcwilliams403@gmail.com>
Date:   Sun Mar 5 13:33:38 2023 +0000

    NLS: move long S compositions to respective blocks

commit 8bbbed75a20556e41658103265974decee974645
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Mar 4 10:44:45 2023 -0800

    configure: Use LT_INIT from libtool 2 instead of deprecated AC_PROG_LIBTOOL
    
    AC_PROG_LIBTOOL was replaced by LT_INIT in libtool 2 in 2008,
    so it's time to rely on it.
    
    Clears autoconf warnings:
    
    configure.ac:20: warning: The macro `AC_PROG_LIBTOOL' is obsolete.
    configure.ac:20: You should run autoupdate.
    m4/libtool.m4:100: AC_PROG_LIBTOOL is expanded from...
    configure.ac:20: the top level
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 53bf8584e8d7d5d4a4a8114bff26a6f631c7fac1
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Mon Feb 6 14:09:45 2023 -0800

    configure: replace deprecated AC_HELP_STRING with AS_HELP_STRING
    
    This silences an autoconf warning.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 31a9451111fb1e3ae1199d44f94cd0b134ca455d
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Mon Feb 6 13:13:21 2023 -0800

    configure: raise minimum autoconf requirement to 2.70
    
    Needed for builds on NetBSD to work correctly, since it depends on
    AC_USE_SYSTEM_EXTENSIONS defining _OPENBSD_SOURCE to expose the
    prototype for reallocarray() in the system headers.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 1ba02f878f83e3b42389547e01b24371f0a50e60
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Mon Feb 6 13:32:02 2023 -0800

    gitlab CI: Add libtool to required packages
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit fc5ec8edda1efdf5d66db4e76796e3c407527b3b
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Feb 4 12:02:29 2023 -0800

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

commit ba548ed1688d4d5a83913218155d0ddf616ff176
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Jan 15 11:39:20 2023 -0800

    configure: options summary should say "libX11", not just "X11"
    
    We're not configuring the entire window system here, just one library
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit eb1c272ab5230d548077b9f59aca4b3457c3a8f8
Author: GaryOderNichts <garyodernichts@gmail.com>
Date:   Sat Dec 17 16:28:40 2022 +0100

    Fix a9e845 and 797755 Allow X*IfEvent() to reenter libX11

commit 0c7c4ce875ea65160705180ebb68a2c88afb678e
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Thu Nov 3 17:25:29 2022 +0100

    nls: add two compose sequences for capital B with stroke, for consistency
    
    Two compose sequences (with plain ASCII characters) existed for
    the lowercase b with stroke (ƀ) but not for the capital one (Ƀ).
    
    This addresses part of issue #166.
    
    Reported-by: J. McWilliams
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit a80ef097e713aba0330b9cf9f3c1e309084b926f
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Thu Nov 3 16:48:03 2022 +0100

    nls: delete twelve compose sequences that cannot be typed
    
    There is not any keyboard layout (in xkeyboard-config) that contains
    `obelowdot` or `ubelowdot`, so having compose sequences that use these
    symbols is pointless.
    
    There are some layouts that contain `otilde` (and one that contains
    `utilde`), but those layouts then do not contain `dead_horn`, so
    the compose sequences that combine the two symbols are pointless.
    
    There are a few layouts that contain U+0256, U+025C, U+025F or U+0279,
    but those layouts do not contain `dead_hook`, so the compose sequences
    that combine the latter with one of the former are pointless.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 078cc39f05ddfd6166762f3166129258ddd07dd3
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Thu Nov 3 16:31:04 2022 +0100

    nls: delete 88 compose sequences that have the accents in the wrong order
    
    The various compose sequences with the accents in their proper order
    (the highest placed accent first) continue to exist.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit aa5ef0ba80558f946871f574d38a15673e66221e
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Thu Nov 3 16:27:51 2022 +0100

    nls: move the compose sequences for Ș and Ț to the fitting Unicode block
    
    This addresses a side note of issue #166.
    
    Reported-by: J. McWilliams
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 82c25879b72f1ba7e9abe00e7bad55add33135cf
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Wed Jan 4 11:25:48 2023 -0800

    xlibi18n: Update Imake instructions to autoconf equivalent in comments
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 88399e01be679bfcc9a5e8922ffe2c47f0e56dee
Author: Yuxuan Shui <yshuiv7@gmail.com>
Date:   Tue Jan 3 15:09:28 2023 +0000

    Revert "Update XPutBackEvent() to support clients that put back unpadded events"
    
    This reverts commit d6d6cba90215d323567fef13d6565756c9956f60.
    
    The reverted commit intended to fix the problem where an unpadded X
    event struct is passed into XPutBackEvent, by creating a padded struct
    with _XEventToWire and _XWireToEvent. However, _XWireToEvent updates the
    last sequence number in Display, which may cause xlib to complain about
    lost sequence numbers.
    
    IMO, the problem that commit tried to solve is a bug in the client
    library, and workaround it inside Xlib is bad practice, especially given
    the problem it caused. Plus, the offender cited in the original commit
    message, freeglut, has already fixed this problem.
    
    Fixes: #176 #174
    
    Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>

commit 48487c4b9028e9eec5371742f51e1d64c2e17296
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Thu Dec 15 14:52:20 2022 -0800

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

commit d6d6cba90215d323567fef13d6565756c9956f60
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Dec 11 10:32:26 2022 -0800

    Update XPutBackEvent() to support clients that put back unpadded events
    
    It seems to be common practice of some X11 clients to pass specific event
    types into APIs that take XEvent*.  For example, freeglut does:
    
       XConfigureEvent fakeEvent = {0};
       ...
       XPutBackEvent(fgDisplay.Display, (XEvent*)&fakeEvent);
    
    This can result in reads overflowing the input event when libX11 does:
    
       XEvent store = *event;
    
    =================================================================
    ==75304==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x00016ee4a8e8 at pc 0x000101c54d14 bp 0x00016ee4a0d0 sp 0x00016ee49888
    READ of size 192 at 0x00016ee4a8e8 thread T0
        #0 0x101c54d10 in __asan_memcpy+0x1a4 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x3cd10)
        #1 0x102848a18 in _XPutBackEvent PutBEvent.c:41
        #2 0x1028490a4 in XPutBackEvent PutBEvent.c:84
        #3 0x1013295c8 in fgOpenWindow freeglut_window.c:1178
        #4 0x101321984 in fgCreateWindow freeglut_structure.c:108
        #5 0x10132b138 in glutCreateWindow freeglut_window.c:1551
        #6 0x100fb7d94 in main+0x78 (checkeredTriangles:arm64+0x100003d94)
        #7 0x197de3e4c  (<unknown module>)
    
    Address 0x00016ee4a8e8 is located in stack of thread T0 at offset 840 in frame
        #0 0x1013282f8 in fgOpenWindow freeglut_window.c:1063
    
      This frame has 8 object(s):
        [32, 40) 'title.addr'
        [64, 176) 'winAttr' (line 1066)
        [208, 240) 'textProperty' (line 1067)
        [272, 352) 'sizeHints' (line 1068)
        [384, 440) 'wmHints' (line 1069)
        [480, 672) 'eventReturnBuffer' (line 1070)
        [736, 740) 'num_FBConfigs' (line 1072)
        [752, 840) 'fakeEvent' (line 1074) <== Memory access at offset 840 overflows this variable
    
    This change allows XPutBackEvent() to support such clients without
    risk of memory read overflow.
    
    Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
    Tested-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>

commit 496d9bfeedda89a2211ec665f9214c2693c022f4
Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Date:   Sat Dec 3 16:26:47 2022 -0800

    ximcp: Address warning found by UBSan when growing an empty tree
    
    imLcPrs.c:681:52: runtime error: applying zero offset to null pointer
    
    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>

commit 7f7bcd7b6f569e9f70e3ddd134924f178e2596b1
Author: Takao Fujiwara <tfujiwar@redhat.com>
Date:   Tue Dec 6 16:59:56 2022 +0000

    nls: consecutive cs number in en_US.UTF-8/XLC_LOCALE

commit ba095967349dff583bd0989d0ba78aa334e9bedf
Author: Ulrich Sibiller <uli42@gmx.de>
Date:   Wed Nov 30 23:47:29 2022 +0100

    ChkIfEv.c: fix wrong handling of dpy->in_ifevent
    
    Is no longer a bool but a counter.
    
    Signed-off-by: Ulrich Sibiller <uli42@gmx.de>

commit 70eaf1174e2809d1a6c43868d53f8cd844ef636a
Author: Ulrich Sibiller <uli42@gmx.de>
Date:   Wed Nov 30 23:42:02 2022 +0100

    Indentation fixes around recent dpy->in_ifevent changes
    
    Use the same indentation as the surrounding code.
    
    Signed-off-by: Ulrich Sibiller <uli42@gmx.de>
    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit a9e845809bcaae22496bc8aa3ca252b410d5f39b
Author: Matthieu Herrb <matthieu@herrb.eu>
Date:   Fri Nov 11 18:55:23 2022 +0100

    Fix 797755 Allow X*IfEvent() to reenter libX11
    
    - the activation logic is reversed
    - there is also _XInternalLockDisplay() that needs protection
    - I've found cases (in fvwm2) where the callback calls XCheckIfEvent()
      recursively. So the flag needs to be a counter.
    
    Reviewed-by: Adam Jackson <ajax@redhat.com>

commit bccd787a565d3a88673bfc06574c1939f98d8d72
Author: Nia Alarie <nia@NetBSD.org>
Date:   Thu Nov 10 22:31:47 2022 +0100

    Don't use pragma inside a function, it breaks compiling with older GCCs.
    
    XKBBind.c:230: error: #pragma GCC diagnostic not allowed inside functions
    
    Signed-off-by: Thomas Klausner <wiz@gatalith.at>

commit 696d19d5db7bcb1c1f582c2b1846520e7e0870cb
Author: Oliver <halting@riseup.net>
Date:   Fri Nov 11 17:04:00 2022 +0000

    Add XFreeThreads function.

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
