commit c745719e23af44a4b40ab4508447637b35d91a1e
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Tue Oct 3 09:00:01 2023 -0700

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

commit 7916869d16bdd115ac5be30a67c3749907aea6a0
Author: Yair Mizrahi <yairm@jfrog.com>
Date:   Thu Sep 7 16:15:32 2023 -0700

    CVE-2023-43787: Integer overflow in XCreateImage() leading to a heap overflow
    
    When the format is `Pixmap` it calculates the size of the image data as:
        ROUNDUP((bits_per_pixel * width), image->bitmap_pad);
    There is no validation on the `width` of the image, and so this
    calculation exceeds the capacity of a 4-byte integer, causing an overflow.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit b4031fc023816aca07fbd592ed97010b9b48784b
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Thu Sep 7 16:12:27 2023 -0700

    XCreatePixmap: trigger BadValue error for out-of-range dimensions
    
    The CreatePixmap request specifies height & width of the image as CARD16
    (unsigned 16-bit integer), so if either is larger than that, set it to 0
    so the X server returns a BadValue error as the protocol requires.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 73a37d5f2fcadd6540159b432a70d80f442ddf4a
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Thu Sep 7 15:55:04 2023 -0700

    XPutImage: clip images to maximum height & width allowed by protocol
    
    The PutImage request specifies height & width of the image as CARD16
    (unsigned 16-bit integer), same as the maximum dimensions of an X11
    Drawable, which the image is being copied to.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 204c3393c4c90a29ed6bef64e43849536e863a86
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Thu Sep 7 15:54:30 2023 -0700

    CVE-2023-43786: stack exhaustion from infinite recursion in PutSubImage()
    
    When splitting a single line of pixels into chunks to send to the
    X server, be sure to take into account the number of bits per pixel,
    so we don't just loop forever trying to send more pixels than fit in
    the given request size and not breaking them down into a small enough
    chunk to fix.
    
    Fixes: "almost complete rewrite" (Dec. 12, 1987) from X11R2
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 6858d468d9ca55fb4c5fd70b223dbc78a3358a7f
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Sep 17 14:19:40 2023 -0700

    CVE-2023-43785: out-of-bounds memory access in _XkbReadKeySyms()
    
    Make sure we allocate enough memory in the first place, and
    also handle error returns from _XkbReadBufferCopyKeySyms() when
    it detects out-of-bounds issues.
    
    Reported-by: Gregory James DUCK <gjduck@gmail.com>
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 78b37accff1abbe713349d59fdefd963ffa04bbc
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Sep 17 10:11:02 2023 -0700

    XOpenDisplay: ensure each screen has a valid root_visual pointer
    
    Other code assumes this pointer cannot be NULL, so fail the connection
    if a bug has caused the X server to give a non-existent visual ID for
    the default visual of any screen.
    
    Reported-by: Gregory James DUCK <gjduck@gmail.com>
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 3962080b7846d79fd3cf10b16eddacf68eb321b7
Author: Antti Savolainen <antti.savo@gmail.com>
Date:   Tue Aug 8 11:37:03 2023 +0000

    Add two compose sequences for dagger/obelisk symbols
    
    The dagger symbol has several modern uses such as marking someone as
    dead or something as extinct. Historically it has been used to indicate
    a footnote.

commit 15bbc81cf6b7c76b8a59cab6d77c9aba88b8562d
Author: Christopher Chavez <chrischavez@gmx.us>
Date:   Sat Jul 29 16:58:05 2023 +0000

    Xutil.h: use Bool for XEmptyRegion(), XEqualRegion()

commit 5433cb93513c31e9cba2a447cf48d4b9aeb53285
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Mon Jul 17 08:02:09 2023 +0200

    nls: add two compose sequences for currency symbol `฿` (the Thai baht)
    
    The compose sequences are obvious: the capital B plus the vertical bar.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 2ff401a472c5f210844cc358d5a27bd340546796
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Mon Jul 17 07:56:14 2023 +0200

    nls: reshuffle the compose sequences for currencies into ascending order
    
    That is: sort them according to code point.

commit c0e2d42d411be3245498ffe6484b35421f096c02
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Mon Jul 17 07:27:14 2023 +0200

    nls: add compose sequences for `₲` (guaraní), `₭` (kip), and `₮` (tugrik)
    
    When Ghana, Nigeria, Costa Rica and El Salvador have compose sequences
    for their currency symbols (cedi: `₵`, naira: `₦`, colón: `₡`), then
    Paraguay, Laos, and Mongolia deserve to have such sequences as well.
    
    The sequences should be obvious: the relevant capital letter of the
    name of the currency (G, K, T) plus a vertical bar, a minus sign,
    and an equals sign, respectively.
    
    Also add two sequences for `$` (the dollar sign), for consistency.
    
    Drop the tentative comments for drachma, penny, and austral, as those
    currencies have been obsolete for more than twenty years.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit d9fe5dc735c75398e36998c226d2418137229673
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Mon Jul 17 07:06:51 2023 +0200

    nls: change result of sequence `<C> <bar>` from `¢` (CENT) to `₵` (CEDI)
    
    As a cent is a small coin, it makes no sense to use an uppercase letter
    to compose the `¢` symbol -- having four sequences with a lowercase `c`
    plus a `bar` or a `slash` available for composing `¢` should be enough.
    
    Use the sequence `<C> <bar` (with the uppercase `C`) for composing `₵`
    (the CEDI SIGN) instead.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 031e63060ed11eb8a876aac7515bc5a67371ed6b
Author: Antti Savolainen <antti.savo@gmail.com>
Date:   Thu Aug 17 18:25:20 2023 +0300

    nls: add a compose sequence with double dead_tilde for ≈ (almost equal to)
    
    Some keyboards lack direct asciitilde and instead have only dead tilde.
    This compose sequence allows those keyboards to type the almost equal
    to sign.

commit df2a18c4643bb4a50f2f795a75a905a1032a004a
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Mon Jul 17 17:03:16 2023 +0200

    nls: delete twenty seven untypable Greek compose sequences
    
    Only a few keyboard layouts contain the `dead_iota` keysym, and none
    of those layouts contains the `acute` keysym, so compose sequences
    that combine the two symbols cannot be typed and are thus useless.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 44f908d9283710ffc75b22d2ae7a8948119b3e61
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Aug 20 15:11:04 2023 -0700

    docs: fix names for XkbKeyKeyType & XkbKeyKeyTypeIndex
    
    Implementation had "Key" twice in these macro names,
    but the docs had only listed it once.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 7b16c55063ba4eb258bf91c170e378c1e2d398bd
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Aug 20 15:01:09 2023 -0700

    docs: remove XkbKeySymsOffset
    
    This function was documented but never implemented.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 41a157dfeefe943f5a79948e4f9ef93473144fd8
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Aug 20 14:52:18 2023 -0700

    docs: remove XkbGetNameChanges
    
    This function was documented but never implemented.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 3442a8cee25dc0254ee69bcf83a89d287a86c97a
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Aug 20 14:44:18 2023 -0700

    docs: remove XkbChangeIndicators and Xkb{Get,Note}IndicatorChanges
    
    These functions were documented but never implemented.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit b7a15d6c6efd0bfddc81cf8443073c4bc1c9772d
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Aug 20 14:31:20 2023 -0700

    docs: XkbSAActionSetCtrls is really named XkbActionSetCtrls
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit a1d8dd726757e00e3a774b92456f5c742492475b
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Aug 20 14:18:32 2023 -0700

    docs: remove XkbGetStickyKeysOptions & XkbSetStickyKeysOptions
    
    These functions were documented but never implemented.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit bf13f197406fe745c5ff46a4748a41b6646aebf6
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Aug 20 14:09:35 2023 -0700

    docs: remove XkbGetSlowKeysDelay & XkbSetSlowKeysDelay
    
    These functions were documented but never implemented.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit caab7321d2ec14ee776ec329ed2facf0816a3136
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Aug 20 14:04:15 2023 -0700

    docs: remove XkbGetAccessXTimeout & XkbSetAccessXTimeout
    
    These functions were documented but never implemented.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 843e89bd2467a58cb454705a09d095726b96d93f
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Aug 20 12:58:47 2023 -0700

    docs: remove XkbAllocDeviceLedInfo
    
    This function was documented but never implemented.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 2686dd7a9d6e8e02ce2868e446cdec11617ffab4
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Aug 20 12:41:42 2023 -0700

    docs: finish removing XkbGetBounceKeysDelay & XkbSetBounceKeysDelay
    
    These functions were documented but never implemented.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 188991fe7e41bbf2f384d0875ab2e25c936b0b41
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
Date:   Sat Jul 29 10:10:00 2023 -0700

    configure script reports stray, confusing "yes"
    
    Closes issue #194
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 70f44d76fd8fad96f33ba5c80a394d68b77dda03
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Sun Jul 16 17:08:52 2023 +0200

    nls: add, correct, and normalize some comments of compose sequences
    
    Add comments for the Khmer digraphs, correct the comments for the
    Arabic lam-alef decompositions, and normalize the comments for the
    Breton digraphs and trigraphs.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 2a57c32e14779cf1c0c1d2da98a9cac21c00c095
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Sun Jun 25 10:01:05 2023 +0200

    nls: harmonize the comments for compose sequences with combining accents
    
    Replace the "WITH" with "plus" and lowercase the "AND" in the comments
    for sequences with combining accents, to make it slightly clearer that
    the resulting string consists of multiple code points.  Also, use the
    word "COMBINING" in the names of the accents, so that these sequences
    can be easily grepped, and drop the redundant word "ACCENT".
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 757ab5ddd86f6cdce24b8ae2c43206b7beb7ab44
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Mon Aug 14 08:33:28 2023 -0700

    Remove XkbSetBounceKeysDelay.man from list of man pages to build
    
    Fixes: f90e6bfa ("rm XkbSetBounceKeysDelay.man")
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit f90e6bface92fd192b26f03b7ae745661d9c2690
Author: Walter Harms <wharms@bfs.de>
Date:   Sun Aug 13 22:42:50 2023 +0200

    rm XkbSetBounceKeysDelay.man
    
    there is no function XkbSetBounceKeysDelay().
    It is listed in the specs but never implemented if someone
    does it, feel free to get the file back.
    
    closes issue #105

commit b2c3fb7b4dd4c4c7b9d28c7af7776cccc8e0a98b
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Sat Jul 8 08:11:39 2023 +0200

    nls: use the shorter and more consistent name for the dead capital schwa
    
    The `dead_SCHWA` name is available since xorgproto-2023.1, which was
    released last month.

commit e45dff5c2a51ad0392061208a8ad33211d952385
Author: jmcwilliams403 <jmcwilliams403@gmail.com>
Date:   Fri Jun 16 11:37:20 2023 -0400

    NLS: Drop two math sequences, slightly clean up APL sequences.
    
    * Two compose sequences containing `leftshoe` and `rightshoe` are
    dropped as no keyboard layout uses these keysyms.
    * The compose sequences for `therefore` and `because` in the APL
    block are moved to ascending Unicode order.
    * The comments for the compose sequences for `U2299` are corrected to
    more accurately reflect its sequence nodes and its real name in
    Unicode.

commit af2b6dfab1616dc85be9c9b196e4c56d00447851
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Sun Jun 25 09:09:21 2023 +0200

    nls: delete twenty eight compose sequences that cannot be typed
    
    The letters `Ǫ` (U+01EA, O with ogonek), `Ȩ` (U+0228, E with cedilla),
    `Ȯ` (U+022E, O with dot above), `Ạ` (U+1EA0, A with dot below), and
    their lowercase forms do not occur in any layout of xkeyboard-config,
    meaning that the compose sequences that contained these letters could
    not be typed.  Delete their dead weight.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit ab0442d3fa835ce16559b29532ac7f674f8557f4
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Sat Jun 24 09:46:07 2023 +0200

    nls: remove four unobvious and redundant compose sequences for ¥ (yen)
    
    Composing ¥ with Y and a minus sign seems to have been added in analogy
    to composing £ with L and a minus sign.  But ¥ clearly has a double line
    through it, so using the equals sign for this is far more logical (and
    those compose sequences of course exist).  Also, L plus an equals sign
    produces ₤ (lira), not £ (sterling).  So... make these sequences more
    consistent and allow composing ¥ only with Y/y plus an equals sign.
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 933912480c08495428d45988eebb48fcbe62f14b
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Sat Jun 24 10:02:45 2023 +0200

    nls: order a few compose sequences left first, and in mirroring pairs

commit 178c4fefd3b0b4be5e69274108b86a51f08ec3a6
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Fri Jun 16 09:33:03 2023 +0200

    nls: remove three duplicated combining acute accents
    
    For the Cyrillic YU with combining acute accent, the string between
    the quotes contained two U+0301 code points, whereas one is enough,
    like for all the neighboring strings.
    
    (This duplication was found by accident with `nano --mini --cons`.)

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
