Module Name: xsrc
Committed By: mrg
Date: Sun Nov 17 21:24:38 UTC 2024
Modified Files:
xsrc/external/mit/libX11/dist: ChangeLog README.md aclocal.m4 configure
configure.ac
xsrc/external/mit/libX11/dist/modules/im/ximcp: imRmAttr.c
xsrc/external/mit/libX11/dist/nls/en_US.UTF-8: Compose.pre
xsrc/external/mit/libX11/dist/src/xcms: cmsTrig.c
xsrc/external/mit/libX11/dist/src/xkb: XKBMAlloc.c
Log Message:
merge libX11 1.8.10
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 xsrc/external/mit/libX11/dist/ChangeLog \
xsrc/external/mit/libX11/dist/configure \
xsrc/external/mit/libX11/dist/configure.ac
cvs rdiff -u -r1.6 -r1.7 xsrc/external/mit/libX11/dist/README.md \
xsrc/external/mit/libX11/dist/aclocal.m4
cvs rdiff -u -r1.3 -r1.4 \
xsrc/external/mit/libX11/dist/modules/im/ximcp/imRmAttr.c
cvs rdiff -u -r1.13 -r1.14 \
xsrc/external/mit/libX11/dist/nls/en_US.UTF-8/Compose.pre
cvs rdiff -u -r1.6 -r1.7 xsrc/external/mit/libX11/dist/src/xcms/cmsTrig.c
cvs rdiff -u -r1.5 -r1.6 xsrc/external/mit/libX11/dist/src/xkb/XKBMAlloc.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: xsrc/external/mit/libX11/dist/ChangeLog
diff -u xsrc/external/mit/libX11/dist/ChangeLog:1.7 xsrc/external/mit/libX11/dist/ChangeLog:1.8
--- xsrc/external/mit/libX11/dist/ChangeLog:1.7 Tue Jul 2 07:29:20 2024
+++ xsrc/external/mit/libX11/dist/ChangeLog Sun Nov 17 21:24:37 2024
@@ -1,3 +1,562 @@
+commit ed9fb5535efe1e5278654b6b3994a34337b4bf1a
+Author: Alan Coopersmith <[email protected]>
+Date: Sun Jul 28 10:37:55 2024 -0700
+
+ libX11 1.8.10
+
+ Signed-off-by: Alan Coopersmith <[email protected]>
+
+commit 92014b39634e0b0aa52d4bff955a7aac3ed0a915
+Author: Kelly Roadkill <[email protected]>
+Date: Tue Jul 23 08:12:01 2024 +0500
+
+ Revert "nls: add compose seq's for symbols absent from Cyrillic layouts to ru_RU"
+
+ Testing by multilingual typists revealed that the
+ proposed sequences are too complex for everyday
+ use. It seems that the inherent problems with
+ JCUKEN can only be fixed with better kbd layouts.
+
+ This reverts commit 174df0b8b6ada7e1c741373c7d686e00f42d8bd5.
+
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/261>
+
+commit be137dffa6f0b7640ce80b4266539009544bb045
+Author: Kelly Roadkill <[email protected]>
+Date: Fri Jul 19 16:47:40 2024 +0500
+
+ nls: add compose sequences for hryvnia currency
+
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/259>
+
+commit 39d57cbeda627115f7e8bd305b6cbd9df1daa007
+Author: Alan Coopersmith <[email protected]>
+Date: Sat Jul 13 10:14:02 2024 -0700
+
+ xlibi18n/lcFile.c: avoid use of possibly-NULL pointer with strcpy
+
+ Fixes gcc warnings:
+ lcFile.c: In function ‘_XlcLocaleLibDirName’:
+ lcFile.c:708:5: warning: use of possibly-NULL ‘last_dir_name’ where
+ non-null expected [CWE-690] [-Wanalyzer-possible-null-argument]
+ 708 | strcpy (last_dir_name, dir_name);
+ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Signed-off-by: Alan Coopersmith <[email protected]>
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/258>
+
+commit 8abcaba1a7ee363a35ad8d869715095096995c76
+Author: Alan Coopersmith <[email protected]>
+Date: Sat Jul 6 09:37:50 2024 -0700
+
+ Revert "unifdef __vax__"
+
+ This reverts commit 4ce3962b701c502acc96b6eaf104a5ffc317c5d7.
+ Requested by NetBSD which still has a supported VAX port.
+
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/257>
+
+commit 751fbc59c30604980fdd19cb4b333d3cf2eccb24
+Author: Olivier Fourdan <[email protected]>
+Date: Fri Jun 21 14:37:24 2024 +0200
+
+ Fix deadlock in XRebindKeysym()
+
+ Xlib is now built with threading support enabled from the constructor
+ by default.
+
+ XRebindKeysym() acquires the display lock, then calls:
+
+ | XRebindKeysym()
+ | LockDisplay()
+ | ComputeMaskFromKeytrans()
+ | -> XkbKeysymToModifiers()
+ | -> _XkbLoadDpy()
+ | -> XkbGetMap()
+ | -> XkbGetUpdatedMap()
+ | LockDisplay()
+
+ And the dead lock:
+
+ | Xlib ERROR: XKBGetMap.c line 575 thread 1fc6e580: locking display already
+ | locked at KeyBind.c line 937
+
+ To avoid the issue, call ComputeMaskFromKeytrans() from outside the display
+ lock.
+
+ Signed-off-by: Olivier Fourdan <[email protected]>
+ Closes: https://gitlab.freedesktop.org/xorg/lib/libx11/-/issues/216
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/256>
+
+commit bc8c908ae8007d0bfe9b58c7752dd00fd282d999
+Author: Kelly Roadkill <[email protected]>
+Date: Tue Jun 18 14:49:50 2024 +0500
+
+ nls: delete compose sequence with anomalous post-fixed cedilla
+
+ The only sequence with post-fixed cedilla in the
+ whole en_US.UTF-8 was introduced in cf040016 with
+ the merge of GTK+ compose sequences 12 years ago.
+ It goes against the established patterns.
+
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/255>
+
+commit 1472048b7a02d1b7fc25cfeda761db23fba21eac
+Author: Olivier Fourdan <[email protected]>
+Date: Fri Jun 7 09:05:55 2024 +0200
+
+ Make colormap private interfaces thread safe.
+
+ Protect access to the dpy structure by a display lock, so that these can
+ be called outside of a global display lock.
+
+ That allows the XCMS colormap functions to be thread safe without having
+ the whole functions within a display lock, to avoid deadlocks.
+
+ Signed-off-by: Olivier Fourdan <[email protected]>
+ See-also: https://gitlab.freedesktop.org/xorg/lib/libx11/-/issues/215
+ See-also: https://gitlab.freedesktop.org/xorg/lib/libx11/-/issues/94
+ Reviewed-by: Adam Jackson <[email protected]>
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/254>
+
+commit 739fce4c12c7aa39112353d80c8a3bf25bdd5274
+Author: Olivier Fourdan <[email protected]>
+Date: Fri Jun 7 09:07:39 2024 +0200
+
+ Revert "Protect colormap add/removal with display lock"
+
+ That commit 99a2cf1aa was moving the calls to the _Xcms*CmapRec*()
+ family of functions within a display lock to make the XCMS colormap
+ functions thread safe.
+
+ Unfortunately, that causes a deadlock in XCopyColormapAndFree(), because
+ _XcmsCopyCmapRecAndFree() calls CmapRecForColormap() which calls
+ XGetVisualInfo() which also tries to acquire the display lock.
+
+ So, instead of moving the entire functions within the display lock,
+ let's try to make the functions themselves thread safe in the following
+ commit, and revert this change which causes a deadlock.
+
+ This reverts commit 99a2cf1aa0b58391078d5d3edf0a7dab18c7745d.
+
+ Fixes: https://gitlab.freedesktop.org/xorg/lib/libx11/-/issues/215
+ See-also: https://gitlab.freedesktop.org/xorg/lib/libx11/-/issues/94
+ Reviewed-by: Adam Jackson <[email protected]>
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/254>
+
+commit 5dfedaf4aa1a032ea6cb4e871abd2e065f798129
+Author: Olivier Fourdan <[email protected]>
+Date: Thu Jun 6 16:25:26 2024 +0200
+
+ Revert "Fix XTS regression in XCopyColormapAndFree"
+
+ This change was to fix the next change that we are to revert as well.
+
+ This reverts commit 68c72a7341b114277ab232f2499ee3bd035af8a0.
+
+ Reviewed-by: Adam Jackson <[email protected]>
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/254>
+
+commit c099d0105f7a4f969cf922f333cb54c177aceacb
+Author: Alan Coopersmith <[email protected]>
+Date: Sat May 18 11:41:36 2024 -0700
+
+ Avoid buffer overflow in _XimLookupMBText & _XimLookupUTF8Text
+
+ Reported-by: u32i <[email protected]>
+ Signed-off-by: Alan Coopersmith <[email protected]>
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/251>
+
+commit 0af3328dc330cbd8e097e2971b336b44466b1ab0
+Author: jmcwilliams403 <[email protected]>
+Date: Sun Jul 16 11:31:22 2023 -0400
+
+ NLS: Add 6 Multi_key sequences for Ezh
+
+ Ezh is a Latin-Script letter belonging to several Uralic, Caucasian,
+ and West-African languages. It is present on some Finnish keyboards,
+ but users of many other layouts cannot presently type it. This commit
+ adds Multi_key sequences for both Capital and lowercase Ezh, as well
+ as Multi_key + dead_caron sequences for Ezh with a caron, which is
+ used in Laz and Skolt Sámi.
+
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/221>
+
+commit 174df0b8b6ada7e1c741373c7d686e00f42d8bd5
+Author: Kelly Roadkill <[email protected]>
+Date: Sun Dec 3 00:53:55 2023 +0500
+
+ nls: add compose seq's for symbols absent from Cyrillic layouts to ru_RU
+
+ JCUKEN (ЙЦУКЕН) - the default and de-facto standard layout for most Cyrillic scripts - lacks a number of ASCII symbols from QWERTY counterpart, forcing users to switch back-and-forth between layouts to type them.
+ This adds sequences for them to the ru_RU compose map in an intuitive and consistent manner.
+
+ Fixes #200 for ru_RU (but other Cyrillic layouts might benefit too)
+
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/238>
+
+commit 763f3f938c24993e9ceb1d6960d939b022fa8dfe
+Author: Mohamed Akram <[email protected]>
+Date: Fri May 24 18:18:43 2024 +0400
+
+ nls: add Arabic hamza compose sequences
+
+ These sequences are intended for use in the ara(mac-phonetic) and
+ my(phonetic) layouts. They are based on the following layouts listed in
+ the CLDR:
+
+ - https://github.com/unicode-org/cldr/blob/release-43/keyboards/osx/ar-t-k0-osx-qwerty.xml
+ - https://github.com/unicode-org/cldr/blob/release-43/keyboards/osx/ms-t-k0-osx.xml
+
+ The sequences are listed in the `<transforms>` section, and are
+ reproduced below:
+
+ ```
+ <transforms type="simple">
+ <transform from="ء\u{64E}" to="آ"/> <!-- ءَ → آ -->
+ <transform from="ء\u{650}" to="إ"/> <!-- ءِ → إ -->
+ <transform from="ء " to="ء"/>
+ <transform from="ء\u{A0}" to="ء"/>
+ <transform from="ء!" to="إ"/>
+ <transform from="ء١" to="إ"/>
+ <transform from="ءا" to="أ"/>
+ <transform from="ءس" to="ئ"/>
+ <transform from="ءو" to="ؤ"/>
+ <transform from="ءي" to="ئ"/>
+ <transform from="ءى" to="ئ"/>
+ </transforms>
+ ```
+
+ We limit ourselves to the sequences that strictly combine a character
+ and a hamza, and generate that character with a hamza on it, following
+ the behavior in sequences of other dead keys. Additional sequences,
+ potentially for other layouts as well, could be added later on as
+ necessary.
+
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/218>
+
+commit 97fb5bda3d0777380cd4b964f48771a82ef3f2a7
+Author: José Expósito <[email protected]>
+Date: Tue Apr 30 18:21:08 2024 +0200
+
+ Fix buffer overrun in parse_omit_name
+
+ When `num_fields == 12`, if the last character of the pattern is '-',
+ the `buf` array is overrun.
+
+ This error has been found by a static analysis tool. This is the report:
+
+ Error: OVERRUN (CWE-119):
+ libX11-1.8.7/modules/om/generic/omGeneric.c:691: cond_at_most:
+ Checking "length > 255" implies that "length" may be up to 255 on
+ the false branch.
+ libX11-1.8.7/modules/om/generic/omGeneric.c:695: alias:
+ Assigning: "last" = "buf + length - 1". "last" may now point to as
+ high as byte 254 of "buf" (which consists of 256 bytes).
+ libX11-1.8.7/modules/om/generic/omGeneric.c:718: ptr_incr:
+ Incrementing "last". "last" may now point to as high as byte 255
+ of "buf" (which consists of 256 bytes).
+ libX11-1.8.7/modules/om/generic/omGeneric.c:720: ptr_incr:
+ Incrementing "last". "last" may now point to as high as byte 256
+ of "buf" (which consists of 256 bytes).
+ libX11-1.8.7/modules/om/generic/omGeneric.c:720: overrun-local:
+ Overrunning array of 256 bytes at byte offset 256 by
+ dereferencing pointer "++last".
+ # 718| *++last = '*';
+ # 719|
+ # 720|-> *++last = '-';
+ # 721| break;
+ # 722| case 13:
+
+ Signed-off-by: José Expósito <[email protected]>
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/250>
+
+commit f67a87dad40141f50f4da35b28a92a974bfdf7e1
+Author: José Expósito <[email protected]>
+Date: Tue Apr 30 18:04:35 2024 +0200
+
+ Fix memory leak in _XimProtoSetIMValues
+
+ This error has been found by a static analysis tool. This is the report:
+
+ Error: RESOURCE_LEAK (CWE-772):
+ libX11-1.8.7/modules/im/ximcp/imDefIm.c:1316: alloc_fn:
+ Storage is returned from allocation function "calloc".
+ libX11-1.8.7/modules/im/ximcp/imDefIm.c:1316: var_assign:
+ Assigning: "tmp" = storage returned from
+ "calloc((size_t)((buf_size + data_len == 0) ? 1 : (buf_size + data_len)), 1UL)".
+ libX11-1.8.7/modules/im/ximcp/imDefIm.c:1319: noescape:
+ Resource "tmp" is not freed or pointed-to in "memcpy".
+ libX11-1.8.7/modules/im/ximcp/imDefIm.c:1320: var_assign:
+ Assigning: "buf" = "tmp".
+ libX11-1.8.7/modules/im/ximcp/imDefIm.c:1302: var_assign:
+ Assigning: "data" = "buf".
+ libX11-1.8.7/modules/im/ximcp/imDefIm.c:1303: noescape:
+ Resource "data" is not freed or pointed-to in
+ "_XimEncodeIMATTRIBUTE".
+ libX11-1.8.7/modules/im/ximcp/imDefIm.c:1333: leaked_storage:
+ Variable "data" going out of scope leaks the storage it points to.
+ libX11-1.8.7/modules/im/ximcp/imDefIm.c:1333: leaked_storage:
+ Variable "buf" going out of scope leaks the storage it points to.
+ libX11-1.8.7/modules/im/ximcp/imDefIm.c:1333: leaked_storage:
+ Variable "tmp" going out of scope leaks the storage it points to.
+ # 1331|
+ # 1332| if (!total)
+ # 1333|-> return (char *)NULL;
+ # 1334|
+ # 1335| buf_s = (CARD16 *)&buf[XIM_HEADER_SIZE];
+
+ Signed-off-by: José Expósito <[email protected]>
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/250>
+
+commit af1312d2873d2ce49b18708a5029895aed477392
+Author: José Expósito <[email protected]>
+Date: Tue Apr 30 17:37:39 2024 +0200
+
+ XKBMAlloc: Check that needed is >= 0 in XkbResizeKeyActions
+
+ Passing a negative value in `needed` to the `XkbResizeKeyActions()`
+ function can create a `newActs` array of an unespected size.
+ Check the value and return if it is invalid.
+
+ This error has been found by a static analysis tool. This is the report:
+
+ Error: OVERRUN (CWE-119):
+ libX11-1.8.7/src/xkb/XKBMAlloc.c:811: cond_const:
+ Checking "xkb->server->size_acts == 0" implies that
+ "xkb->server->size_acts" is 0 on the true branch.
+ libX11-1.8.7/src/xkb/XKBMAlloc.c:811: buffer_alloc:
+ "calloc" allocates 8 bytes dictated by parameters
+ "(size_t)((xkb->server->size_acts == 0) ? 1 : xkb->server->size_acts)"
+ and "8UL".
+ libX11-1.8.7/src/xkb/XKBMAlloc.c:811: var_assign:
+ Assigning: "newActs" = "calloc((size_t)((xkb->server->size_acts == 0) ? 1 : xkb->server->size_acts), 8UL)".
+ libX11-1.8.7/src/xkb/XKBMAlloc.c:815: assignment:
+ Assigning: "nActs" = "1".
+ libX11-1.8.7/src/xkb/XKBMAlloc.c:829: cond_at_least:
+ Checking "nCopy > 0" implies that "nCopy" is at least 1 on the
+ true branch.
+ libX11-1.8.7/src/xkb/XKBMAlloc.c:830: overrun-buffer-arg:
+ Overrunning buffer pointed to by "&newActs[nActs]" of 8 bytes by
+ passing it to a function which accesses it at byte offset 15
+ using argument "nCopy * 8UL" (which evaluates to 8).
+ # 828|
+ # 829| if (nCopy > 0)
+ # 830|-> memcpy(&newActs[nActs], XkbKeyActionsPtr(xkb, i),
+ # 831| nCopy * sizeof(XkbAction));
+ # 832| if (nCopy < nKeyActs)
+
+ Signed-off-by: José Expósito <[email protected]>
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/250>
+
+commit 836a8f2cf5e930c8a56b512273fdf9890282ba04
+Author: José Expósito <[email protected]>
+Date: Tue Apr 30 16:49:26 2024 +0200
+
+ Fix use of uninitialized variable in _XimEncodeICATTRIBUTE
+
+ In the `res->resource_size == XimType_NEST` code path, if
+ `res->xrm_name != pre_quark` and `res->xrm_name != sts_quark`, `len` can
+ be used uninitialized.
+
+ This error has been found by a static analysis tool. This is the report:
+
+ Error: UNINIT (CWE-457):
+ libX11-1.8.7/modules/im/ximcp/imRmAttr.c:1106: var_decl:
+ Declaring variable "len" without initializer.
+ libX11-1.8.7/modules/im/ximcp/imRmAttr.c:1179: uninit_use:
+ Using uninitialized value "len".
+ # 1177| }
+ # 1178|
+ # 1179|-> if (len == 0) {
+ # 1180| continue;
+ # 1181| } else if (len < 0) {
+
+ Signed-off-by: José Expósito <[email protected]>
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/250>
+
+commit eaad761e24722b1743d3edee3383294bfb4947d6
+Author: José Expósito <[email protected]>
+Date: Tue Apr 30 16:41:40 2024 +0200
+
+ Fix use of uninitialized variable in _XimExtension
+
+ `_XimRead()` is being called with `reply` as target buffer instead of
+ using `preply`, accessing uninitialized memory a few lines later.
+
+ This error has been found by a static analysis tool. This is the report:
+
+ Error: UNINIT (CWE-457):
+ libX11-1.8.7/modules/im/ximcp/imExten.c:468: alloc_fn:
+ Calling "malloc" which returns uninitialized memory.
+ libX11-1.8.7/modules/im/ximcp/imExten.c:468: assign:
+ Assigning: "preply" = "malloc((size_t)((buf_size == 0) ? 1 : buf_size))",
+ which points to uninitialized data.
+ libX11-1.8.7/modules/im/ximcp/imExten.c:479: uninit_use:
+ Using uninitialized value "*((CARD8 *)preply)".
+ # 477| return False;
+ # 478| buf_s = (CARD16 *)((char *)preply + XIM_HEADER_SIZE);
+ # 479|-> if (*((CARD8 *)preply) == XIM_ERROR) {
+ # 480| _XimProcError(im, 0, (XPointer)&buf_s[3]);
+ # 481| if(reply != preply)
+
+ Signed-off-by: José Expósito <[email protected]>
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/250>
+
+commit 4f5541193dd5a004ed5ea44c12fc25e227113c9b
+Author: José Expósito <[email protected]>
+Date: Tue Apr 30 16:37:21 2024 +0200
+
+ Fix use of uninitialized variable in _XimTriggerNotify
+
+ `_XimRead()` is being called with `reply` as target buffer instead of
+ using `preply`, accessing uninitialized memory a few lines later.
+
+ This error has been found by a static analysis tool. This is the report:
+
+ Error: UNINIT (CWE-457):
+ libX11-1.8.7/modules/im/ximcp/imDefLkup.c:561: alloc_fn:
+ Calling "malloc" which returns uninitialized memory.
+ libX11-1.8.7/modules/im/ximcp/imDefLkup.c:561: assign:
+ Assigning: "preply" = "malloc((size_t)((len == 0) ? 1 : len))",
+ which points to uninitialized data.
+ libX11-1.8.7/modules/im/ximcp/imDefLkup.c:573: uninit_use:
+ Using uninitialized value "*((CARD8 *)preply)".
+ # 571| }
+ # 572| buf_s = (CARD16 *)((char *)preply + XIM_HEADER_SIZE);
+ # 573|-> if (*((CARD8 *)preply) == XIM_ERROR) {
+ # 574| _XimProcError(im, 0, (XPointer)&buf_s[3]);
+ # 575| if(reply != preply)
+
+ Signed-off-by: José Expósito <[email protected]>
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/250>
+
+commit 90b8fc65da1e773b0091a50be46b23609591e8b7
+Author: Takao Fujiwara <[email protected]>
+Date: Fri Apr 26 01:29:39 2024 +0900
+
+ imDefIm: Add LIBX11_ENABLE_FABRICATED_ORDER env
+
+ If an XIM application does not return the XKeyEvent from XNextEvent()
+ to XFilterEvent(), a timeout is reached and the behavior is fallen
+ back to the previous one with a warning messsage and we can ask
+ the application to send the XKeyEvent to XFilterEvent() but also
+ libX11 provides LIBX11_ENABLE_FABRICATED_ORDER environment variable.
+ If the application runs with LIBX11_ENABLE_FABRICATED_ORDER=0, the
+ previous behavior is available until the application is fixed.
+
+ Closes: !246
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/246>
+
+commit 898746f9b1fb384d6d24ed827c836ec8a0b3da3b
+Author: Takao Fujiwara <[email protected]>
+Date: Fri Apr 26 01:29:34 2024 +0900
+
+ ximcp: Unmark fabricated with serial 0 and Xic commit_info
+
+ GTK2 XIM resets the XKeyEvent serial to 0 even if _XimCommitRecv()
+ sets the serial so now checks if the events are sent with
+ Xic->private.proto.commit_info.
+
+ Closes: !246
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/246>
+
+commit 5a1e62d77b65ba148b1c6d1d22a81dc2b07e7d9e
+Author: Takao Fujiwara <[email protected]>
+Date: Fri Apr 26 01:29:26 2024 +0900
+
+ Accept anon windows in XFilterEvent to update XIM state
+
+ When input focuses are switched quickly with shortcut keys in a Java
+ window, the focus is sometimes lost and the Window=0 is assigned in
+ XFilterEvent() but the XKeyEvent was forwarded by a XIM serer(IBus)
+ with XIM_FORWARD_EVENT -> XNextEvent() -> XFilterEvent() and the event
+ needs to be forwarded to the XIM XKeyEvent press and release filters
+ to update the XIM state with Window=0 likes _XimPendingFilter() and
+ _XimUnfabricateSerial().
+
+ Closes: #205, #206
+ Fixes: 024d229f ("ximcp: Unmark to fabricate key events with XKeyEvent serial")
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/246>
+
+commit 5a14178c7cc408f425fe298aeade3dee749b1ca1
+Author: Takao Fujiwara <[email protected]>
+Date: Fri Apr 26 00:49:14 2024 +0900
+
+ ximcp: Add fabricated_time in XimProtoPrivate for timeout
+
+ When users type keys quickly, some applications using Steam or Java
+ do not call XNextEvent() for a key event but _XimFilterKeypress()
+ and _XimFilterKeyrelease() expect to receive the key events
+ forwarded by input methods.
+
+ Now fabricated_time Time value is added to XimProtoPrivate to check
+ the timeout value.
+
+ Closes: #205
+ Fixes: 024d229f ("ximcp: Unmark to fabricate key events with XKeyEvent serial")
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/246>
+
+commit 1181abd6ffede3ac5663a3a3d4ee66aef1fa553b
+Author: Takao Fujiwara <[email protected]>
+Date: Fri Apr 12 10:50:33 2024 +0900
+
+ imDefLkup: Mark and unmark fabricated with serial 0
+
+ GTK2 applications with GTK_IM_MODULE=xim sets the serial number 0
+ to the XKeyEvent and the previous _XimFabricateSerial() logic did
+ not work for the applications.
+ Now the API marks to fabricate with the serial 0.
+
+ Closes: #205
+ Fixes: 024d229f ("ximcp: Unmark to fabricate key events with XKeyEvent serial")
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/246>
+
+commit c7790072657f9fdbe8cda031776617088c5f11db
+Author: Takao Fujiwara <[email protected]>
+Date: Fri Apr 12 10:21:43 2024 +0900
+
+ imDefLkup: Commit first info in XimCommitInfo
+
+ Xic.private.proto.commit_info can receive multiple XimCommitInfo
+ when typing keys very quickly like an bar code scanner (or evemu-play)
+ and the first info in XimCommitInfo should be committed to keep
+ the typing key order.
+
+ This and 041b5291 are same patches but the regression issues will be
+ fixed by the later patches.
+
+ Closes: #198
+ Fixes: 041b5291 ("imDefLkup: Commit first info in XimCommitInfo")
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/246>
+
+commit 13e9ac4d458069c81d795f6b4842814d30431b4b
+Author: Takao Fujiwara <[email protected]>
+Date: Fri Apr 12 10:21:41 2024 +0900
+
+ ximcp: Unmark to fabricate key events with XKeyEvent serial
+
+ _XimProtoKeypressFilter() and _XimProtoKeyreleaseFilter() can
+ receive XKeyEvent from both the typing on the keyboard and the
+ callback of XIM_FORWARD_EVENT.
+
+ If the filter functions unmark to fabricate XKeyEvent from the typing
+ on the keyboard during receiving XKeyEvent from the callback of
+ XIM_FORWARD_EVENT with typing keys very quickly likes an bar code
+ scanner (or evemu-play), XIM server cannot receive some key events and
+ it causes the key typing order to get scrambled.
+
+ Now XIM client saves the serial in XKeyEvent and the filter functions
+ unmark to fabricate XKeyEvent from the callback of XIM_FORWARD_EVENT
+ only.
+
+ This and 024d229f are same patches but the regression issues will be
+ fixed by the later patches.
+
+ Closes: #198
+ Fixes: 024d229f ("ximcp: Unmark to fabricate key events with XKeyEvent serial")
+ Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/246>
+
commit a465588218c1643eedc35b3c24409cb775454eee
Author: Alan Coopersmith <[email protected]>
Date: Fri Apr 5 15:50:06 2024 -0700
Index: xsrc/external/mit/libX11/dist/configure
diff -u xsrc/external/mit/libX11/dist/configure:1.7 xsrc/external/mit/libX11/dist/configure:1.8
--- xsrc/external/mit/libX11/dist/configure:1.7 Tue Jul 2 07:29:20 2024
+++ xsrc/external/mit/libX11/dist/configure Sun Nov 17 21:24:37 2024
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.72 for libX11 1.8.9.
+# Generated by GNU Autoconf 2.72 for libX11 1.8.10.
#
# Report bugs to <https://gitlab.freedesktop.org/xorg/lib/libx11/-/issues>.
#
@@ -675,8 +675,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='libX11'
PACKAGE_TARNAME='libX11'
-PACKAGE_VERSION='1.8.9'
-PACKAGE_STRING='libX11 1.8.9'
+PACKAGE_VERSION='1.8.10'
+PACKAGE_STRING='libX11 1.8.10'
PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/lib/libx11/-/issues'
PACKAGE_URL=''
@@ -838,6 +838,8 @@ EGREP
GREP
SED
LIBTOOL
+am__xargs_n
+am__rm_f_notfound
AM_BACKSLASH
AM_DEFAULT_VERBOSITY
AM_DEFAULT_V
@@ -1546,7 +1548,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-'configure' configures libX11 1.8.9 to adapt to many kinds of systems.
+'configure' configures libX11 1.8.10 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1617,7 +1619,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libX11 1.8.9:";;
+ short | recursive ) echo "Configuration of libX11 1.8.10:";;
esac
cat <<\_ACEOF
@@ -1790,7 +1792,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libX11 configure 1.8.9
+libX11 configure 1.8.10
generated by GNU Autoconf 2.72
Copyright (C) 2023 Free Software Foundation, Inc.
@@ -2273,7 +2275,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libX11 $as_me 1.8.9, which was
+It was created by libX11 $as_me 1.8.10, which was
generated by GNU Autoconf 2.72. Invocation command line was
$ $0$ac_configure_args_raw
@@ -4406,7 +4408,7 @@ fi
# Initialize Automake
-am__api_version='1.16'
+am__api_version='1.17'
# Find a good install program. We prefer a C program (faster),
@@ -4508,6 +4510,165 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCR
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether sleep supports fractional seconds" >&5
+printf %s "checking whether sleep supports fractional seconds... " >&6; }
+if test ${am_cv_sleep_fractional_seconds+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if sleep 0.001 2>/dev/null
+then :
+ am_cv_sleep_fractional_seconds=yes
+else case e in #(
+ e) am_cv_sleep_fractional_seconds=no ;;
+esac
+fi
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_sleep_fractional_seconds" >&5
+printf "%s\n" "$am_cv_sleep_fractional_seconds" >&6; }
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking filesystem timestamp resolution" >&5
+printf %s "checking filesystem timestamp resolution... " >&6; }
+if test ${am_cv_filesystem_timestamp_resolution+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) # Default to the worst case.
+am_cv_filesystem_timestamp_resolution=2
+
+# Only try to go finer than 1 sec if sleep can do it.
+# Don't try 1 sec, because if 0.01 sec and 0.1 sec don't work,
+# - 1 sec is not much of a win compared to 2 sec, and
+# - it takes 2 seconds to perform the test whether 1 sec works.
+#
+# Instead, just use the default 2s on platforms that have 1s resolution,
+# accept the extra 1s delay when using $sleep in the Automake tests, in
+# exchange for not incurring the 2s delay for running the test for all
+# packages.
+#
+am_try_resolutions=
+if test "$am_cv_sleep_fractional_seconds" = yes; then
+ # Even a millisecond often causes a bunch of false positives,
+ # so just try a hundredth of a second. The time saved between .001 and
+ # .01 is not terribly consequential.
+ am_try_resolutions="0.01 0.1 $am_try_resolutions"
+fi
+
+# In order to catch current-generation FAT out, we must *modify* files
+# that already exist; the *creation* timestamp is finer. Use names
+# that make ls -t sort them differently when they have equal
+# timestamps than when they have distinct timestamps, keeping
+# in mind that ls -t prints the *newest* file first.
+rm -f conftest.ts?
+: > conftest.ts1
+: > conftest.ts2
+: > conftest.ts3
+
+# Make sure ls -t actually works. Do 'set' in a subshell so we don't
+# clobber the current shell's arguments. (Outer-level square brackets
+# are removed by m4; they're present so that m4 does not expand
+# <dollar><star>; be careful, easy to get confused.)
+if (
+ set X `ls -t conftest.ts[12]` &&
+ {
+ test "$*" != "X conftest.ts1 conftest.ts2" ||
+ test "$*" != "X conftest.ts2 conftest.ts1";
+ }
+); then :; else
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ printf "%s\n" ""Bad output from ls -t: \"`ls -t conftest.ts[12]`\""" >&5
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
+as_fn_error $? "ls -t produces unexpected output.
+Make sure there is not a broken ls alias in your environment.
+See 'config.log' for more details" "$LINENO" 5; }
+fi
+
+for am_try_res in $am_try_resolutions; do
+ # Any one fine-grained sleep might happen to cross the boundary
+ # between two values of a coarser actual resolution, but if we do
+ # two fine-grained sleeps in a row, at least one of them will fall
+ # entirely within a coarse interval.
+ echo alpha > conftest.ts1
+ sleep $am_try_res
+ echo beta > conftest.ts2
+ sleep $am_try_res
+ echo gamma > conftest.ts3
+
+ # We assume that 'ls -t' will make use of high-resolution
+ # timestamps if the operating system supports them at all.
+ if (set X `ls -t conftest.ts?` &&
+ test "$2" = conftest.ts3 &&
+ test "$3" = conftest.ts2 &&
+ test "$4" = conftest.ts1); then
+ #
+ # Ok, ls -t worked. If we're at a resolution of 1 second, we're done,
+ # because we don't need to test make.
+ make_ok=true
+ if test $am_try_res != 1; then
+ # But if we've succeeded so far with a subsecond resolution, we
+ # have one more thing to check: make. It can happen that
+ # everything else supports the subsecond mtimes, but make doesn't;
+ # notably on macOS, which ships make 3.81 from 2006 (the last one
+ # released under GPLv2). https://bugs.gnu.org/68808
+ #
+ # We test $MAKE if it is defined in the environment, else "make".
+ # It might get overridden later, but our hope is that in practice
+ # it does not matter: it is the system "make" which is (by far)
+ # the most likely to be broken, whereas if the user overrides it,
+ # probably they did so with a better, or at least not worse, make.
+ # https://lists.gnu.org/archive/html/automake/2024-06/msg00051.html
+ #
+ # Create a Makefile (real tab character here):
+ rm -f conftest.mk
+ echo 'conftest.ts1: conftest.ts2' >conftest.mk
+ echo ' touch conftest.ts2' >>conftest.mk
+ #
+ # Now, running
+ # touch conftest.ts1; touch conftest.ts2; make
+ # should touch ts1 because ts2 is newer. This could happen by luck,
+ # but most often, it will fail if make's support is insufficient. So
+ # test for several consecutive successes.
+ #
+ # (We reuse conftest.ts[12] because we still want to modify existing
+ # files, not create new ones, per above.)
+ n=0
+ make=${MAKE-make}
+ until test $n -eq 3; do
+ echo one > conftest.ts1
+ sleep $am_try_res
+ echo two > conftest.ts2 # ts2 should now be newer than ts1
+ if $make -f conftest.mk | grep 'up to date' >/dev/null; then
+ make_ok=false
+ break # out of $n loop
+ fi
+ n=`expr $n + 1`
+ done
+ fi
+ #
+ if $make_ok; then
+ # Everything we know to check worked out, so call this resolution good.
+ am_cv_filesystem_timestamp_resolution=$am_try_res
+ break # out of $am_try_res loop
+ fi
+ # Otherwise, we'll go on to check the next resolution.
+ fi
+done
+rm -f conftest.ts?
+# (end _am_filesystem_timestamp_resolution)
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_filesystem_timestamp_resolution" >&5
+printf "%s\n" "$am_cv_filesystem_timestamp_resolution" >&6; }
+
+# This check should not be cached, as it may vary across builds of
+# different projects.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
printf %s "checking whether build environment is sane... " >&6; }
# Reject unsafe characters in $srcdir or the absolute working directory
@@ -4528,49 +4689,45 @@ esac
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
-if (
- am_has_slept=no
- for am_try in 1 2; do
- echo "timestamp, slept: $am_has_slept" > conftest.file
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
+am_build_env_is_sane=no
+am_has_slept=no
+rm -f conftest.file
+for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ if (
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ test "$2" = conftest.file
+ ); then
+ am_build_env_is_sane=yes
+ break
+ fi
+ # Just in case.
+ sleep "$am_cv_filesystem_timestamp_resolution"
+ am_has_slept=yes
+done
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
- alias in your environment" "$LINENO" 5
- fi
- if test "$2" = conftest.file || test $am_try -eq 2; then
- break
- fi
- # Just in case.
- sleep 1
- am_has_slept=yes
- done
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_build_env_is_sane" >&5
+printf "%s\n" "$am_build_env_is_sane" >&6; }
+if test "$am_build_env_is_sane" = no; then
+ as_fn_error $? "newly created file is older than distributed files!
Check your system clock" "$LINENO" 5
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
+
# If we didn't sleep, we still need to ensure time stamps of config.status and
# generated files are strictly newer.
am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
- ( sleep 1 ) &
+if test -e conftest.file || grep 'slept: no' conftest.file >/dev/null 2>&1
+then :
+
+else case e in #(
+ e) ( sleep "$am_cv_filesystem_timestamp_resolution" ) &
am_sleep_pid=$!
+ ;;
+esac
fi
rm -f conftest.file
@@ -4920,17 +5077,13 @@ else
fi
+AM_DEFAULT_VERBOSITY=1
# Check whether --enable-silent-rules was given.
if test ${enable_silent_rules+y}
then :
enableval=$enable_silent_rules;
fi
-case $enable_silent_rules in # (((
- yes) AM_DEFAULT_VERBOSITY=0;;
- no) AM_DEFAULT_VERBOSITY=1;;
- *) AM_DEFAULT_VERBOSITY=1;;
-esac
am_make=${MAKE-make}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
printf %s "checking whether $am_make supports nested variables... " >&6; }
@@ -4953,15 +5106,45 @@ esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
printf "%s\n" "$am_cv_make_support_nested_variables" >&6; }
-if test $am_cv_make_support_nested_variables = yes; then
- AM_V='$(V)'
- AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
- AM_V=$AM_DEFAULT_VERBOSITY
- AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
AM_BACKSLASH='\'
+am__rm_f_notfound=
+if (rm -f && rm -fr && rm -rf) 2>/dev/null
+then :
+
+else case e in #(
+ e) am__rm_f_notfound='""' ;;
+esac
+fi
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking xargs -n works" >&5
+printf %s "checking xargs -n works... " >&6; }
+if test ${am_cv_xargs_n_works+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test "`echo 1 2 3 | xargs -n2 echo`" = "1 2
+3"
+then :
+ am_cv_xargs_n_works=yes
+else case e in #(
+ e) am_cv_xargs_n_works=no ;;
+esac
+fi ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_xargs_n_works" >&5
+printf "%s\n" "$am_cv_xargs_n_works" >&6; }
+if test "$am_cv_xargs_n_works" = yes
+then :
+ am__xargs_n='xargs -n'
+else case e in #(
+ e) am__xargs_n='am__xargs_n () { shift; sed "s/ /\\n/g" | while read am__xargs_n_arg; do "" "$am__xargs_n_arg"; done; }'
+ ;;
+esac
+fi
+
if test "`cd $srcdir && pwd`" != "`pwd`"; then
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
# is not polluted with repeated "-I."
@@ -4984,7 +5167,7 @@ fi
# Define the identity of the package.
PACKAGE='libX11'
- VERSION='1.8.9'
+ VERSION='1.8.10'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -5125,7 +5308,7 @@ else case e in #(
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
# that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # When given -MP, icc 7.0 and 7.1 complain thus:
# icc: Command line warning: ignoring option '-M'; no argument required
# The diagnosis changed in icc 8.0:
# icc: Command line remark: option '-MP' not supported
@@ -5175,47 +5358,9 @@ fi
-# POSIX will say in a future version that running "rm -f" with no argument
-# is OK; and we want to be able to make that assumption in our Makefile
-# recipes. So use an aggressive probe to check that the usage we want is
-# actually supported "in the wild" to an acceptable degree.
-# See automake bug#10828.
-# To make any issue more visible, cause the running configure to be aborted
-# by default if the 'rm' program in use doesn't match our expectations; the
-# user can still override this though.
-if rm -f && rm -fr && rm -rf; then : OK; else
- cat >&2 <<'END'
-Oops!
-
-Your 'rm' program seems unable to run without file operands specified
-on the command line, even when the '-f' option is present. This is contrary
-to the behaviour of most rm programs out there, and not conforming with
-the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
-
-Please tell [email protected] about your system, including the value
-of your $PATH and any error possibly output before this message. This
-can help us improve future automake versions.
-END
- if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
- echo 'Configuration will proceed anyway, since you have set the' >&2
- echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
- echo >&2
- else
- cat >&2 <<'END'
-Aborting the configuration process, to ensure you take notice of the issue.
-
-You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <https://www.gnu.org/software/coreutils/>.
-If you want to complete the configuration process using your problematic
-'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
-to "yes", and re-run configure.
-END
- as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
- fi
-fi
# Initialize libtool
@@ -20398,48 +20543,8 @@ MAN_SUBSTS="\
-# Check whether --enable-silent-rules was given.
-if test ${enable_silent_rules+y}
-then :
- enableval=$enable_silent_rules;
-fi
-
-case $enable_silent_rules in # (((
- yes) AM_DEFAULT_VERBOSITY=0;;
- no) AM_DEFAULT_VERBOSITY=1;;
- *) AM_DEFAULT_VERBOSITY=0;;
-esac
-am_make=${MAKE-make}
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
-printf %s "checking whether $am_make supports nested variables... " >&6; }
-if test ${am_cv_make_support_nested_variables+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) if printf "%s\n" 'TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
- @$(TRUE)
-.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
- am_cv_make_support_nested_variables=yes
-else
- am_cv_make_support_nested_variables=no
-fi ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
-printf "%s\n" "$am_cv_make_support_nested_variables" >&6; }
-if test $am_cv_make_support_nested_variables = yes; then
- AM_V='$(V)'
- AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
- AM_V=$AM_DEFAULT_VERBOSITY
- AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AM_BACKSLASH='\'
+AM_DEFAULT_VERBOSITY=0
@@ -23720,6 +23825,18 @@ if test -z "${am__fastdepCC_TRUE}" && te
as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+case $enable_silent_rules in # (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+esac
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+
if test -n "$EXEEXT"; then
am__EXEEXT_TRUE=
am__EXEEXT_FALSE='#'
@@ -24183,7 +24300,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libX11 $as_me 1.8.9, which was
+This file was extended by libX11 $as_me 1.8.10, which was
generated by GNU Autoconf 2.72. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -24251,7 +24368,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-libX11 config.status 1.8.9
+libX11 config.status 1.8.10
configured by $0, generated by GNU Autoconf 2.72,
with options \\"\$ac_cs_config\\"
Index: xsrc/external/mit/libX11/dist/configure.ac
diff -u xsrc/external/mit/libX11/dist/configure.ac:1.7 xsrc/external/mit/libX11/dist/configure.ac:1.8
--- xsrc/external/mit/libX11/dist/configure.ac:1.7 Tue Jul 2 07:29:21 2024
+++ xsrc/external/mit/libX11/dist/configure.ac Sun Nov 17 21:24:37 2024
@@ -1,7 +1,7 @@
# Initialize Autoconf
AC_PREREQ([2.70])
-AC_INIT([libX11], [1.8.9],
+AC_INIT([libX11], [1.8.10],
[https://gitlab.freedesktop.org/xorg/lib/libx11/-/issues], [libX11])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([src/config.h include/X11/XlibConf.h])
Index: xsrc/external/mit/libX11/dist/README.md
diff -u xsrc/external/mit/libX11/dist/README.md:1.6 xsrc/external/mit/libX11/dist/README.md:1.7
--- xsrc/external/mit/libX11/dist/README.md:1.6 Tue Jul 2 07:29:20 2024
+++ xsrc/external/mit/libX11/dist/README.md Sun Nov 17 21:24:37 2024
@@ -31,6 +31,17 @@ For patch submission instructions, see:
https://www.x.org/wiki/Development/Documentation/SubmittingPatches
+## Release 1.8.10
+
+ * Re-fix XIM input sometimes jumbled (#205, #206, #207, #208, !246)
+ * Fix various static analysis errors (!250)
+ * Add compose sequences for Arabic hamza (!218), Ezh (!221), and
+ hryvnia currency (!259)
+ * Make colormap private interfaces thread safe (#215, !254)
+ * Fix deadlock in XRebindKeysym() (!256)
+ * Assorted memory handling cleanups (!251, !258)
+ * Restore VAX support still in use by NetBSD (!257)
+
## Release 1.8.9
* Fix regressions introduced in 1.8.8 (!245, !248) - this includes reverting
Index: xsrc/external/mit/libX11/dist/aclocal.m4
diff -u xsrc/external/mit/libX11/dist/aclocal.m4:1.6 xsrc/external/mit/libX11/dist/aclocal.m4:1.7
--- xsrc/external/mit/libX11/dist/aclocal.m4:1.6 Tue Jul 2 07:29:20 2024
+++ xsrc/external/mit/libX11/dist/aclocal.m4 Sun Nov 17 21:24:37 2024
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
+# generated automatically by aclocal 1.17 -*- Autoconf -*-
-# Copyright (C) 1996-2021 Free Software Foundation, Inc.
+# Copyright (C) 1996-2024 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@ You have another version of autoconf. I
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# Copyright (C) 2002-2021 Free Software Foundation, Inc.
+# Copyright (C) 2002-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -32,10 +32,10 @@ To do so, use the procedure documented b
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.16'
+[am__api_version='1.17'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.16.5], [],
+m4_if([$1], [1.17], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.5])dnl
+[AM_AUTOMAKE_VERSION([1.17])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
+# Copyright (C) 2001-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -110,7 +110,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2021 Free Software Foundation, Inc.
+# Copyright (C) 1997-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -141,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999-2021 Free Software Foundation, Inc.
+# Copyright (C) 1999-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -273,7 +273,7 @@ AC_CACHE_CHECK([dependency style of $dep
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
# that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # When given -MP, icc 7.0 and 7.1 complain thus:
# icc: Command line warning: ignoring option '-M'; no argument required
# The diagnosis changed in icc 8.0:
# icc: Command line remark: option '-MP' not supported
@@ -332,7 +332,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999-2021 Free Software Foundation, Inc.
+# Copyright (C) 1999-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -400,7 +400,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS]
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2021 Free Software Foundation, Inc.
+# Copyright (C) 1996-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -534,7 +534,7 @@ if test -z "$CSCOPE"; then
fi
AC_SUBST([CSCOPE])
-AC_REQUIRE([AM_SILENT_RULES])dnl
+AC_REQUIRE([_AM_SILENT_RULES])dnl
dnl The testsuite driver may need to know about EXEEXT, so add the
dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
@@ -542,47 +542,9 @@ AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-# POSIX will say in a future version that running "rm -f" with no argument
-# is OK; and we want to be able to make that assumption in our Makefile
-# recipes. So use an aggressive probe to check that the usage we want is
-# actually supported "in the wild" to an acceptable degree.
-# See automake bug#10828.
-# To make any issue more visible, cause the running configure to be aborted
-# by default if the 'rm' program in use doesn't match our expectations; the
-# user can still override this though.
-if rm -f && rm -fr && rm -rf; then : OK; else
- cat >&2 <<'END'
-Oops!
-
-Your 'rm' program seems unable to run without file operands specified
-on the command line, even when the '-f' option is present. This is contrary
-to the behaviour of most rm programs out there, and not conforming with
-the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
-
-Please tell [email protected] about your system, including the value
-of your $PATH and any error possibly output before this message. This
-can help us improve future automake versions.
+AC_REQUIRE([_AM_PROG_RM_F])
+AC_REQUIRE([_AM_PROG_XARGS_N])
-END
- if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
- echo 'Configuration will proceed anyway, since you have set the' >&2
- echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
- echo >&2
- else
- cat >&2 <<'END'
-Aborting the configuration process, to ensure you take notice of the issue.
-
-You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <https://www.gnu.org/software/coreutils/>.
-
-If you want to complete the configuration process using your problematic
-'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
-to "yes", and re-run configure.
-
-END
- AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
- fi
-fi
dnl The trailing newline in this macro's definition is deliberate, for
dnl backward compatibility and to allow trailing 'dnl'-style comments
dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
@@ -615,7 +577,7 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
+# Copyright (C) 2001-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -636,7 +598,7 @@ if test x"${install_sh+set}" != xset; th
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2021 Free Software Foundation, Inc.
+# Copyright (C) 2003-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -657,7 +619,7 @@ AC_SUBST([am__leading_dot])])
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
+# Copyright (C) 2001-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -700,7 +662,7 @@ AC_SUBST([am__quote])])
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2021 Free Software Foundation, Inc.
+# Copyright (C) 1997-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -734,7 +696,7 @@ fi
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
+# Copyright (C) 2001-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -763,7 +725,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 1999-2021 Free Software Foundation, Inc.
+# Copyright (C) 1999-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -810,7 +772,23 @@ AC_LANG_POP([C])])
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
+# Copyright (C) 2022-2024 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_RM_F
+# ---------------
+# Check whether 'rm -f' without any arguments works.
+# https://bugs.gnu.org/10828
+AC_DEFUN([_AM_PROG_RM_F],
+[am__rm_f_notfound=
+AS_IF([(rm -f && rm -fr && rm -rf) 2>/dev/null], [], [am__rm_f_notfound='""'])
+AC_SUBST(am__rm_f_notfound)
+])
+
+# Copyright (C) 2001-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -829,16 +807,169 @@ AC_DEFUN([AM_RUN_LOG],
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2021 Free Software Foundation, Inc.
+# Copyright (C) 1996-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# _AM_SLEEP_FRACTIONAL_SECONDS
+# ----------------------------
+AC_DEFUN([_AM_SLEEP_FRACTIONAL_SECONDS], [dnl
+AC_CACHE_CHECK([whether sleep supports fractional seconds],
+ am_cv_sleep_fractional_seconds, [dnl
+AS_IF([sleep 0.001 2>/dev/null], [am_cv_sleep_fractional_seconds=yes],
+ [am_cv_sleep_fractional_seconds=no])
+])])
+
+# _AM_FILESYSTEM_TIMESTAMP_RESOLUTION
+# -----------------------------------
+# Determine the filesystem's resolution for file modification
+# timestamps. The coarsest we know of is FAT, with a resolution
+# of only two seconds, even with the most recent "exFAT" extensions.
+# The finest (e.g. ext4 with large inodes, XFS, ZFS) is one
+# nanosecond, matching clock_gettime. However, it is probably not
+# possible to delay execution of a shell script for less than one
+# millisecond, due to process creation overhead and scheduling
+# granularity, so we don't check for anything finer than that. (See below.)
+AC_DEFUN([_AM_FILESYSTEM_TIMESTAMP_RESOLUTION], [dnl
+AC_REQUIRE([_AM_SLEEP_FRACTIONAL_SECONDS])
+AC_CACHE_CHECK([filesystem timestamp resolution],
+ am_cv_filesystem_timestamp_resolution, [dnl
+# Default to the worst case.
+am_cv_filesystem_timestamp_resolution=2
+
+# Only try to go finer than 1 sec if sleep can do it.
+# Don't try 1 sec, because if 0.01 sec and 0.1 sec don't work,
+# - 1 sec is not much of a win compared to 2 sec, and
+# - it takes 2 seconds to perform the test whether 1 sec works.
+#
+# Instead, just use the default 2s on platforms that have 1s resolution,
+# accept the extra 1s delay when using $sleep in the Automake tests, in
+# exchange for not incurring the 2s delay for running the test for all
+# packages.
+#
+am_try_resolutions=
+if test "$am_cv_sleep_fractional_seconds" = yes; then
+ # Even a millisecond often causes a bunch of false positives,
+ # so just try a hundredth of a second. The time saved between .001 and
+ # .01 is not terribly consequential.
+ am_try_resolutions="0.01 0.1 $am_try_resolutions"
+fi
+
+# In order to catch current-generation FAT out, we must *modify* files
+# that already exist; the *creation* timestamp is finer. Use names
+# that make ls -t sort them differently when they have equal
+# timestamps than when they have distinct timestamps, keeping
+# in mind that ls -t prints the *newest* file first.
+rm -f conftest.ts?
+: > conftest.ts1
+: > conftest.ts2
+: > conftest.ts3
+
+# Make sure ls -t actually works. Do 'set' in a subshell so we don't
+# clobber the current shell's arguments. (Outer-level square brackets
+# are removed by m4; they're present so that m4 does not expand
+# <dollar><star>; be careful, easy to get confused.)
+if (
+ set X `[ls -t conftest.ts[12]]` &&
+ {
+ test "$[]*" != "X conftest.ts1 conftest.ts2" ||
+ test "$[]*" != "X conftest.ts2 conftest.ts1";
+ }
+); then :; else
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ _AS_ECHO_UNQUOTED(
+ ["Bad output from ls -t: \"`[ls -t conftest.ts[12]]`\""],
+ [AS_MESSAGE_LOG_FD])
+ AC_MSG_FAILURE([ls -t produces unexpected output.
+Make sure there is not a broken ls alias in your environment.])
+fi
+
+for am_try_res in $am_try_resolutions; do
+ # Any one fine-grained sleep might happen to cross the boundary
+ # between two values of a coarser actual resolution, but if we do
+ # two fine-grained sleeps in a row, at least one of them will fall
+ # entirely within a coarse interval.
+ echo alpha > conftest.ts1
+ sleep $am_try_res
+ echo beta > conftest.ts2
+ sleep $am_try_res
+ echo gamma > conftest.ts3
+
+ # We assume that 'ls -t' will make use of high-resolution
+ # timestamps if the operating system supports them at all.
+ if (set X `ls -t conftest.ts?` &&
+ test "$[]2" = conftest.ts3 &&
+ test "$[]3" = conftest.ts2 &&
+ test "$[]4" = conftest.ts1); then
+ #
+ # Ok, ls -t worked. If we're at a resolution of 1 second, we're done,
+ # because we don't need to test make.
+ make_ok=true
+ if test $am_try_res != 1; then
+ # But if we've succeeded so far with a subsecond resolution, we
+ # have one more thing to check: make. It can happen that
+ # everything else supports the subsecond mtimes, but make doesn't;
+ # notably on macOS, which ships make 3.81 from 2006 (the last one
+ # released under GPLv2). https://bugs.gnu.org/68808
+ #
+ # We test $MAKE if it is defined in the environment, else "make".
+ # It might get overridden later, but our hope is that in practice
+ # it does not matter: it is the system "make" which is (by far)
+ # the most likely to be broken, whereas if the user overrides it,
+ # probably they did so with a better, or at least not worse, make.
+ # https://lists.gnu.org/archive/html/automake/2024-06/msg00051.html
+ #
+ # Create a Makefile (real tab character here):
+ rm -f conftest.mk
+ echo 'conftest.ts1: conftest.ts2' >conftest.mk
+ echo ' touch conftest.ts2' >>conftest.mk
+ #
+ # Now, running
+ # touch conftest.ts1; touch conftest.ts2; make
+ # should touch ts1 because ts2 is newer. This could happen by luck,
+ # but most often, it will fail if make's support is insufficient. So
+ # test for several consecutive successes.
+ #
+ # (We reuse conftest.ts[12] because we still want to modify existing
+ # files, not create new ones, per above.)
+ n=0
+ make=${MAKE-make}
+ until test $n -eq 3; do
+ echo one > conftest.ts1
+ sleep $am_try_res
+ echo two > conftest.ts2 # ts2 should now be newer than ts1
+ if $make -f conftest.mk | grep 'up to date' >/dev/null; then
+ make_ok=false
+ break # out of $n loop
+ fi
+ n=`expr $n + 1`
+ done
+ fi
+ #
+ if $make_ok; then
+ # Everything we know to check worked out, so call this resolution good.
+ am_cv_filesystem_timestamp_resolution=$am_try_res
+ break # out of $am_try_res loop
+ fi
+ # Otherwise, we'll go on to check the next resolution.
+ fi
+done
+rm -f conftest.ts?
+# (end _am_filesystem_timestamp_resolution)
+])])
+
# AM_SANITY_CHECK
# ---------------
AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
+[AC_REQUIRE([_AM_FILESYSTEM_TIMESTAMP_RESOLUTION])
+# This check should not be cached, as it may vary across builds of
+# different projects.
+AC_MSG_CHECKING([whether build environment is sane])
# Reject unsafe characters in $srcdir or the absolute working directory
# name. Accept space and tab only in the latter.
am_lf='
@@ -857,49 +988,40 @@ esac
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
-if (
- am_has_slept=no
- for am_try in 1 2; do
- echo "timestamp, slept: $am_has_slept" > conftest.file
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
- alias in your environment])
- fi
- if test "$[2]" = conftest.file || test $am_try -eq 2; then
- break
- fi
- # Just in case.
- sleep 1
- am_has_slept=yes
- done
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
+am_build_env_is_sane=no
+am_has_slept=no
+rm -f conftest.file
+for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ if (
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$[]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ test "$[]2" = conftest.file
+ ); then
+ am_build_env_is_sane=yes
+ break
+ fi
+ # Just in case.
+ sleep "$am_cv_filesystem_timestamp_resolution"
+ am_has_slept=yes
+done
+
+AC_MSG_RESULT([$am_build_env_is_sane])
+if test "$am_build_env_is_sane" = no; then
+ AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
-AC_MSG_RESULT([yes])
+
# If we didn't sleep, we still need to ensure time stamps of config.status and
# generated files are strictly newer.
am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
- ( sleep 1 ) &
+AS_IF([test -e conftest.file || grep 'slept: no' conftest.file >/dev/null 2>&1],, [dnl
+ ( sleep "$am_cv_filesystem_timestamp_resolution" ) &
am_sleep_pid=$!
-fi
+])
AC_CONFIG_COMMANDS_PRE(
[AC_MSG_CHECKING([that generated files are newer than configure])
if test -n "$am_sleep_pid"; then
@@ -910,18 +1032,18 @@ AC_CONFIG_COMMANDS_PRE(
rm -f conftest.file
])
-# Copyright (C) 2009-2021 Free Software Foundation, Inc.
+# Copyright (C) 2009-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# AM_SILENT_RULES([DEFAULT])
-# --------------------------
-# Enable less verbose build rules; with the default set to DEFAULT
-# ("yes" being less verbose, "no" or empty being verbose).
-AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules], [dnl
+# _AM_SILENT_RULES
+# ----------------
+# Enable less verbose build rules support.
+AC_DEFUN([_AM_SILENT_RULES],
+[AM_DEFAULT_VERBOSITY=1
+AC_ARG_ENABLE([silent-rules], [dnl
AS_HELP_STRING(
[--enable-silent-rules],
[less verbose build output (undo: "make V=1")])
@@ -929,11 +1051,6 @@ AS_HELP_STRING(
[--disable-silent-rules],
[verbose build output (undo: "make V=0")])dnl
])
-case $enable_silent_rules in @%:@ (((
- yes) AM_DEFAULT_VERBOSITY=0;;
- no) AM_DEFAULT_VERBOSITY=1;;
- *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
-esac
dnl
dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
dnl do not support nested variable expansions.
@@ -952,14 +1069,6 @@ am__doit:
else
am_cv_make_support_nested_variables=no
fi])
-if test $am_cv_make_support_nested_variables = yes; then
- dnl Using '$V' instead of '$(V)' breaks IRIX make.
- AM_V='$(V)'
- AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
- AM_V=$AM_DEFAULT_VERBOSITY
- AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
AC_SUBST([AM_V])dnl
AM_SUBST_NOTMAKE([AM_V])dnl
AC_SUBST([AM_DEFAULT_V])dnl
@@ -968,9 +1077,33 @@ AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
AM_BACKSLASH='\'
AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+dnl Delay evaluation of AM_DEFAULT_VERBOSITY to the end to allow multiple calls
+dnl to AM_SILENT_RULES to change the default value.
+AC_CONFIG_COMMANDS_PRE([dnl
+case $enable_silent_rules in @%:@ (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+esac
+if test $am_cv_make_support_nested_variables = yes; then
+ dnl Using '$V' instead of '$(V)' breaks IRIX make.
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+])dnl
])
-# Copyright (C) 2001-2021 Free Software Foundation, Inc.
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Set the default verbosity level to DEFAULT ("yes" being less verbose, "no" or
+# empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_REQUIRE([_AM_SILENT_RULES])
+AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])])
+
+# Copyright (C) 2001-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -998,7 +1131,7 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2021 Free Software Foundation, Inc.
+# Copyright (C) 2006-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1017,7 +1150,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2021 Free Software Foundation, Inc.
+# Copyright (C) 2004-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1063,15 +1196,19 @@ m4_if([$1], [v7],
am_uid=`id -u || echo unknown`
am_gid=`id -g || echo unknown`
AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
- if test $am_uid -le $am_max_uid; then
- AC_MSG_RESULT([yes])
+ if test x$am_uid = xunknown; then
+ AC_MSG_WARN([ancient id detected; assuming current UID is ok, but dist-ustar might not work])
+ elif test $am_uid -le $am_max_uid; then
+ AC_MSG_RESULT([yes])
else
- AC_MSG_RESULT([no])
- _am_tools=none
+ AC_MSG_RESULT([no])
+ _am_tools=none
fi
AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
- if test $am_gid -le $am_max_gid; then
- AC_MSG_RESULT([yes])
+ if test x$gm_gid = xunknown; then
+ AC_MSG_WARN([ancient id detected; assuming current GID is ok, but dist-ustar might not work])
+ elif test $am_gid -le $am_max_gid; then
+ AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
_am_tools=none
@@ -1148,6 +1285,26 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
+# Copyright (C) 2022-2024 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_XARGS_N
+# ----------------
+# Check whether 'xargs -n' works. It should work everywhere, so the fallback
+# is not optimized at all as we never expect to use it.
+AC_DEFUN([_AM_PROG_XARGS_N],
+[AC_CACHE_CHECK([xargs -n works], am_cv_xargs_n_works, [dnl
+AS_IF([test "`echo 1 2 3 | xargs -n2 echo`" = "1 2
+3"], [am_cv_xargs_n_works=yes], [am_cv_xargs_n_works=no])])
+AS_IF([test "$am_cv_xargs_n_works" = yes], [am__xargs_n='xargs -n'], [dnl
+ am__xargs_n='am__xargs_n () { shift; sed "s/ /\\n/g" | while read am__xargs_n_arg; do "$@" "$am__xargs_n_arg"; done; }'
+])dnl
+AC_SUBST(am__xargs_n)
+])
+
dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
dnl serial 11 (pkg-config-0.29)
dnl
@@ -1463,7 +1620,7 @@ dnl DEALINGS IN THE SOFTWARE.
# See the "minimum version" comment for each macro you use to see what
# version you require.
m4_defun([XORG_MACROS_VERSION],[
-m4_define([vers_have], [1.20.0])
+m4_define([vers_have], [1.20.1])
m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
m4_if(m4_cmp(maj_have, maj_needed), 0,,
Index: xsrc/external/mit/libX11/dist/modules/im/ximcp/imRmAttr.c
diff -u xsrc/external/mit/libX11/dist/modules/im/ximcp/imRmAttr.c:1.3 xsrc/external/mit/libX11/dist/modules/im/ximcp/imRmAttr.c:1.4
--- xsrc/external/mit/libX11/dist/modules/im/ximcp/imRmAttr.c:1.3 Sun Aug 30 04:53:28 2020
+++ xsrc/external/mit/libX11/dist/modules/im/ximcp/imRmAttr.c Sun Nov 17 21:24:38 2024
@@ -1115,6 +1115,7 @@ _XimEncodeICATTRIBUTE(
*ret_len = 0;
for (p = arg; p && p->name; p++) {
+ len = 0;
buf_s = (CARD16 *)buf;
if (!(res = _XimGetResourceListRec(res_list, res_num, p->name))) {
if (_XimSetInnerICAttributes(ic, top, p, mode))
Index: xsrc/external/mit/libX11/dist/nls/en_US.UTF-8/Compose.pre
diff -u xsrc/external/mit/libX11/dist/nls/en_US.UTF-8/Compose.pre:1.13 xsrc/external/mit/libX11/dist/nls/en_US.UTF-8/Compose.pre:1.14
--- xsrc/external/mit/libX11/dist/nls/en_US.UTF-8/Compose.pre:1.13 Tue Oct 3 19:17:42 2023
+++ xsrc/external/mit/libX11/dist/nls/en_US.UTF-8/Compose.pre Sun Nov 17 21:24:38 2024
@@ -204,7 +204,14 @@ XCOMM "₪" U20aa NEW SHEQEL SIGN
XCOMM "₱" U20b1 PESO SIGN
<Multi_key> <G> <bar> : "₲" U20b2 # GUARANI SIGN
<Multi_key> <bar> <G> : "₲" U20b2 # GUARANI SIGN
-XCOMM "₴" U20b4 HRYVNIA SIGN
+<Multi_key> <H> <equal> : "₴" U20b4 # HRYVNIA SIGN
+<Multi_key> <equal> <H> : "₴" U20b4 # HRYVNIA SIGN
+<Multi_key> <h> <equal> : "₴" U20b4 # HRYVNIA SIGN
+<Multi_key> <equal> <h> : "₴" U20b4 # HRYVNIA SIGN
+<Multi_key> <Cyrillic_GHE> <equal> : "₴" U20b4 # HRYVNIA SIGN
+<Multi_key> <equal> <Cyrillic_GHE> : "₴" U20b4 # HRYVNIA SIGN
+<Multi_key> <Cyrillic_ghe> <equal> : "₴" U20b4 # HRYVNIA SIGN
+<Multi_key> <equal> <Cyrillic_ghe> : "₴" U20b4 # HRYVNIA SIGN
<Multi_key> <C> <bar> : "₵" U20b5 # CEDI SIGN
<Multi_key> <bar> <C> : "₵" U20b5 # CEDI SIGN
<Multi_key> <R> <equal> : "₹" U20b9 # INDIAN RUPEE SIGN
@@ -912,7 +919,6 @@ XCOMM Latin Extended-A
<Multi_key> <comma> <s> : "ş" U015F # LATIN SMALL LETTER S WITH CEDILLA
<Multi_key> <s> <comma> : "ş" U015F # LATIN SMALL LETTER S WITH CEDILLA
<Multi_key> <cedilla> <s> : "ş" U015F # LATIN SMALL LETTER S WITH CEDILLA
-<Multi_key> <s> <cedilla> : "ş" U015F # LATIN SMALL LETTER S WITH CEDILLA
<dead_caron> <S> : "Š" U0160 # LATIN CAPITAL LETTER S WITH CARON
<Multi_key> <c> <S> : "Š" U0160 # LATIN CAPITAL LETTER S WITH CARON
<Multi_key> <v> <S> : "Š" U0160 # LATIN CAPITAL LETTER S WITH CARON
@@ -1065,6 +1071,7 @@ XCOMM Latin Extended-B
<dead_stroke> <z> : "ƶ" U01B6 # LATIN SMALL LETTER Z WITH STROKE
<Multi_key> <slash> <z> : "ƶ" U01B6 # LATIN SMALL LETTER Z WITH STROKE
<Multi_key> <KP_Divide> <z> : "ƶ" U01B6 # LATIN SMALL LETTER Z WITH STROKE
+<Multi_key> <Z> <H> : "Ʒ" U01B7 # LATIN CAPITAL LETTER EZH
<dead_caron> <A> : "Ǎ" U01CD # LATIN CAPITAL LETTER A WITH CARON
<Multi_key> <c> <A> : "Ǎ" U01CD # LATIN CAPITAL LETTER A WITH CARON
<Multi_key> <v> <A> : "Ǎ" U01CD # LATIN CAPITAL LETTER A WITH CARON
@@ -1234,9 +1241,15 @@ XCOMM Latin Extended-B
<dead_caron> <EZH> : "Ǯ" U01EE # LATIN CAPITAL LETTER EZH WITH CARON
<Multi_key> <c> <EZH> : "Ǯ" U01EE # LATIN CAPITAL LETTER EZH WITH CARON
<Multi_key> <v> <EZH> : "Ǯ" U01EE # LATIN CAPITAL LETTER EZH WITH CARON
+<dead_caron> <Multi_key> <Z> <H> : "Ǯ" U01EE # LATIN CAPITAL LETTER EZH WITH CARON
+<Multi_key> <c> <space> <Z> <H> : "Ǯ" U01EE # LATIN CAPITAL LETTER EZH WITH CARON
+<Multi_key> <v> <space> <Z> <H> : "Ǯ" U01EE # LATIN CAPITAL LETTER EZH WITH CARON
<dead_caron> <ezh> : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON
<Multi_key> <c> <ezh> : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON
<Multi_key> <v> <ezh> : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON
+<dead_caron> <Multi_key> <z> <h> : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON
+<Multi_key> <c> <space> <z> <h> : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON
+<Multi_key> <v> <space> <z> <h> : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON
<dead_caron> <j> : "ǰ" U01F0 # LATIN SMALL LETTER J WITH CARON
<Multi_key> <c> <j> : "ǰ" U01F0 # LATIN SMALL LETTER J WITH CARON
<Multi_key> <v> <j> : "ǰ" U01F0 # LATIN SMALL LETTER J WITH CARON
@@ -1416,6 +1429,7 @@ XCOMM IPA Extensions
<dead_stroke> <i> : "ɨ" U0268 # LATIN SMALL LETTER I WITH STROKE
<Multi_key> <slash> <i> : "ɨ" U0268 # LATIN SMALL LETTER I WITH STROKE
<Multi_key> <KP_Divide> <i> : "ɨ" U0268 # LATIN SMALL LETTER I WITH STROKE
+<Multi_key> <z> <h> : "ʒ" U0292 # LATIN SMALL LETTER EZH
XCOMM Spacing Modifier Letters
<Multi_key> <slash> <U0294> : "ʡ" U02A1 # LATIN LETTER GLOTTAL STOP WITH STROKE
@@ -1678,7 +1692,12 @@ XCOMM Cyrillic
<dead_diaeresis> <Cyrillic_yeru> : "ӹ" U04F9 # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
<Multi_key> <quotedbl> <Cyrillic_yeru> : "ӹ" U04F9 # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-XCOMM Several other scripts
+XCOMM Arabic
+<dead_hamza> <space> : "ء" Arabic_hamza # ARABIC LETTER HAMZA
+<dead_hamza> <dead_hamza> : "ء" Arabic_hamza # ARABIC LETTER HAMZA
+<dead_hamza> <Arabic_alef> : "أ" Arabic_hamzaonalef # ARABIC LETTER ALEF WITH HAMZA ABOVE
+<dead_hamza> <Arabic_waw> : "ؤ" Arabic_hamzaonwaw # ARABIC LETTER WAW WITH HAMZA ABOVE
+<dead_hamza> <Arabic_yeh> : "ئ" Arabic_hamzaonyeh # ARABIC LETTER YEH WITH HAMZA ABOVE
<Multi_key> <U0653> <Arabic_alef> : "آ" U0622 # ARABIC LETTER ALEF WITH MADDA ABOVE
<Multi_key> <U0654> <Arabic_alef> : "أ" U0623 # ARABIC LETTER ALEF WITH HAMZA ABOVE
<Multi_key> <U0654> <Arabic_waw> : "ؤ" U0624 # ARABIC LETTER WAW WITH HAMZA ABOVE
@@ -1687,6 +1706,8 @@ XCOMM Several other scripts
<Multi_key> <U0654> <U06D5> : "ۀ" U06C0 # ARABIC LETTER HEH WITH YEH ABOVE
<Multi_key> <U0654> <U06C1> : "ۂ" U06C2 # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
<Multi_key> <U0654> <U06D2> : "ۓ" U06D3 # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+
+XCOMM Several other scripts
<Multi_key> <U093C> <U0928> : "ऩ" U0929 # DEVANAGARI LETTER NNNA
<Multi_key> <U093C> <U0930> : "ऱ" U0931 # DEVANAGARI LETTER RRA
<Multi_key> <U093C> <U0933> : "ऴ" U0934 # DEVANAGARI LETTER LLLA
Index: xsrc/external/mit/libX11/dist/src/xcms/cmsTrig.c
diff -u xsrc/external/mit/libX11/dist/src/xcms/cmsTrig.c:1.6 xsrc/external/mit/libX11/dist/src/xcms/cmsTrig.c:1.7
--- xsrc/external/mit/libX11/dist/src/xcms/cmsTrig.c:1.6 Tue Jul 2 07:31:12 2024
+++ xsrc/external/mit/libX11/dist/src/xcms/cmsTrig.c Sun Nov 17 21:24:38 2024
@@ -72,7 +72,7 @@ _XcmsModuloF(
#define XCMS_RADIANS(d) ((d) * XCMS_PI / 180.0)
#define XCMS_DEGREES(r) ((r) * 180.0 / XCMS_PI)
#ifdef __vax__
-#define XCMS_X6_UNDERFLOWS (3.784659e-07) /* X**6 almost underflows*/
+#define XCMS_X6_UNDERFLOWS (3.784659e-07) /* X**6 almost underflows*/
#else
#define XCMS_X6_UNDERFLOWS (4.209340e-52) /* X**6 almost underflows */
#endif
Index: xsrc/external/mit/libX11/dist/src/xkb/XKBMAlloc.c
diff -u xsrc/external/mit/libX11/dist/src/xkb/XKBMAlloc.c:1.5 xsrc/external/mit/libX11/dist/src/xkb/XKBMAlloc.c:1.6
--- xsrc/external/mit/libX11/dist/src/xkb/XKBMAlloc.c:1.5 Wed Jul 13 19:57:49 2022
+++ xsrc/external/mit/libX11/dist/src/xkb/XKBMAlloc.c Sun Nov 17 21:24:38 2024
@@ -795,7 +795,7 @@ XkbResizeKeyActions(XkbDescPtr xkb, int
register int i, nActs;
XkbAction *newActs;
- if (needed == 0) {
+ if (needed <= 0) {
xkb->server->key_acts[key] = 0;
return NULL;
}