commit e26102f28f08e5432b1ad44bbaef7f32aff199f6
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Feb 3 14:23:58 2024 -0800

    xkbcomp 1.4.7
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit ff32f542c94f1b30ba2ba58193adb3774a5c50e6
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Oct 7 11:09:44 2023 -0700

    GenerateListing: close outFile before returning
    
    Found by Oracle Parfait static analyzer:
    
    Error: File Leak
       File Leak [file-ptr-leak]:
          Leaked File outFile
            at line 497 of app/xkbcomp/listing.c in function 'GenerateListing'.
              outFile initialized at line 432 with fopen
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 1f1ea56ca22a85164c4362650b004e202f4007fd
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 6ce2c46869ced346839eb7e0c3f83170025495c6
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Fri Jan 27 09:02:26 2023 -0800

    xkbcomp.h: include config.h before any other headers
    
    Ensures flags set by AC_USE_SYSTEM_EXTENSIONS are correctly
    propogated when including system headers.
    
    Closes: #22 xkbcomp from git compile error
    Fixes: 81e46ca ("Use asprintf() if the platform supports it")
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 772470d0e4fef8e0a3d6eaf4c563fa7b1f6d6d19
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Dec 11 15:32:03 2022 -0800

    Replace calloc(strlen())+strcpy() pairs with strdup() calls
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 6db8fd556e2562e9a0a821c0d6fd4f7cdcf6266c
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Dec 11 15:18:26 2022 -0800

    Mark more pointers as const
    
    Some suggested by cppcheck, others by manual code inspection
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 299c9762b1dbe53f3297c54e5526aeae767d1a10
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Dec 11 10:24:13 2022 -0800

    Use unsigned ints when shifting to create bitmasks
    
    symbols.c:1057:28: portability: Shifting signed 32-bit value by 31 bits
      is implementation-defined behaviour. See condition at line 1049.
      [shiftTooManyBitsSigned]
            radio_groups |= (1 << (tmp.uval - 1));
                               ^
    symbols.c:1049:41: note: Assuming that condition 'tmp.uval>32' is not redundant
            if ((tmp.uval < 1) || (tmp.uval > XkbMaxRadioGroups))
                                            ^
    symbols.c:1057:28: note: Shift
            radio_groups |= (1 << (tmp.uval - 1));
                               ^
    symbols.c:1057:28: warning: Either the condition 'tmp.uval>32' is redundant
      or there is signed integer overflow for expression '1<<(tmp.uval-1)'.
      [integerOverflowCond]
            radio_groups |= (1 << (tmp.uval - 1));
                               ^
    symbols.c:1049:41: note: Assuming that condition 'tmp.uval>32' is not redundant
            if ((tmp.uval < 1) || (tmp.uval > XkbMaxRadioGroups))
                                            ^
    symbols.c:1057:28: note: Integer overflow
            radio_groups |= (1 << (tmp.uval - 1));
                               ^
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit e4cba31313b44e40efcc0c260a33c3ec83e4b772
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Dec 11 10:20:05 2022 -0800

    Stop building more unused functions
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 3e486c4578f3f6a81fc0f9afba6551dfa8c7b63b
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Dec 11 10:02:13 2022 -0800

    Only build debug infrastructure if DEBUG is defined
    
    It's only used when DEBUG is defined, so don't build it when
    we're not using it.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit a3bbf780252e55bb1dcab717289ef09e00d11223
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Dec 11 09:55:55 2022 -0800

    Remove unused "no indent" (NOI) debug functions
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 0493c7216dd39baeb420583be71af095576dbf74
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Dec 11 09:50:55 2022 -0800

    Mark more functions and variables static
    
    Stop exporting things that aren't used outside the file
    that defines them.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 4119707089b5c14f53bd5ff0b86ee7e575ac9316
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Dec 11 09:22:57 2022 -0800

    XkbAddDirectoryToPath: don't leak existing paths on realloc() failure
    
    Found by cppcheck:
    
    xkbpath.c:217:9: error: Common realloc mistake: 'includePath' nulled
      but not freed upon failure [memleakOnRealloc]
            includePath = (char **) realloc(includePath, szPath * sizeof(char *));
            ^
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 0d22aac7bb50ff1f7588f78ec25e9fb62a7b2e5e
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Dec 11 09:17:56 2022 -0800

    FindKeypadVMod: check xkb is not NULL before dereference, not after
    
    As found by cppcheck:
    
    vmod.c:232:26: warning: Either the condition 'xkb' is redundant or there
      is possible null pointer dereference: xkb. [nullPointerRedundantCheck]
        name = XkbInternAtom(xkb->dpy, "NumLock", False);
                             ^
    vmod.c:233:10: note: Assuming that condition 'xkb' is not redundant
        if ((xkb) && LookupVModIndex((XPointer) xkb, None, name, TypeInt, &rtrn))
             ^
    vmod.c:232:26: note: Null pointer dereference
        name = XkbInternAtom(xkb->dpy, "NumLock", False);
                             ^
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit c7a5d1468c75adb2139d2c2facc73854f13b5ba3
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Dec 11 08:57:56 2022 -0800

    Remove #ifdef sgi sections
    
    They just included an additional malloc.h header, but SGI Irix
    has been unsupported for a decade now.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit e6821a8a7b16e5a8e4c478c9544798fae59a21d1
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 16:20:58 2022 -0800

    Handle -Wstringop-truncation warning in HandleOverlayDef()
    
    In function ‘HandleOverlayDef’,
        inlined from ‘HandleSectionBody’ at geometry.c:2778:18,
        inlined from ‘HandleSectionDef’ at geometry.c:2818:10,
        inlined from ‘HandleGeometryFile’ at geometry.c:2864:18:
    geometry.c:2573:9: warning: ‘strncpy’ output may be truncated copying
     4 bytes from a string of length 4 [-Wstringop-truncation]
     2573 |         strncpy(key->over, keyDef->over, XkbKeyNameLength);
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    geometry.c:2574:9: warning: ‘strncpy’ output may be truncated copying
     4 bytes from a string of length 4 [-Wstringop-truncation]
     2574 |         strncpy(key->under, keyDef->under, XkbKeyNameLength);
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 81e46cab5f4bdd69fa0a644dba86f6902cece175
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 16:10:01 2022 -0800

    Use asprintf() if the platform supports it
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit a1551b78e9ac0e2075ca241c0e8ae361758f26b4
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 15:39:39 2022 -0800

    Replace && with & for bitwise comparison
    
    Clears up gcc warning:
    
    keytypes.c: In function ‘SetPreserve’:
    keytypes.c:757:26: warning: promoted ~unsigned is always non-zero
      [-Wsign-compare]
             || (new.preVMods && (~new.indexVMods)))
                              ^~
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit e4e821d5083072e796d6489ddcacf895a43c66f1
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 15:37:56 2022 -0800

    Fix 106 missing-field-initializers warnings in misc.c
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 1fb639c97fc28b8ed66b5553eafbbeed07e4cb09
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 15:33:17 2022 -0800

    Replace malloc()+bzero() pairs with calloc() calls
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 8e58b7949ab96180d60fb13f7820d6cc01c228ae
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 15:21:49 2022 -0800

    Remove unnecessary casts from bzero() calls
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit bdbfa354dd4d93657104ccd7c9e892ed45197dd8
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 15:16:05 2022 -0800

    Remove unnecessary casts from memcpy() calls
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit f1757a005f471044da3f8e946a091b067996d270
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 14:30:21 2022 -0800

    Replace Opaque with direct usage of void *
    
    Only one use was left after deleting the *alloc/free() wrappers
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 5655379ce89ab55f25a536972aaa310480de9432
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 14:23:11 2022 -0800

    Remove unnecessary checks for NULL pointers before calling free()
    
    Not needed in C89 and later
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 2ac6a7f029d8855fbb4e8024aab0511727ac3a67
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 14:10:32 2022 -0800

    Replace uFree() with direct free() calls
    
    All these wrappers did was mess with types and add a test for
    NULL pointers that isn't needed in C89 and later.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 8d85bd1e2f9473958b235caf7af9913b518f73dd
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 14:07:18 2022 -0800

    Replace uTypedRecalloc() with direct recallocarray() calls
    
    Retains uRecalloc() as a fallback for platforms without recallocarray()
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit e02e32f71f6c24fcc69bdaf58f6f9e973a017896
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 13:49:56 2022 -0800

    Replace uTypedRealloc() with direct reallocarray() calls
    
    Falls back to realloc() if platform doesn't offer reallocarray().
    Also removes uRealloc() since it had no other uses.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 75af06f5f8ffc41fabd100253aad222cb4ab8662
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 13:44:17 2022 -0800

    Replace uCalloc() and uTypedCalloc() with direct calloc() calls
    
    All these wrappers did was mess with types.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 265ea3a77418df2744575f1168f89a33f01e72d4
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 13:39:10 2022 -0800

    Replace uAlloc() and uTypedAlloc() with direct malloc() calls
    
    All these wrappers did was mess with types.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 81e51cf1ff494131827df487a0f538c3b07e0407
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 13:34:09 2022 -0800

    Delete unused uTmpAlloc/uTmpFree wrappers around alloca()
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 77b1efa1c83ad64d49d1e9c085d2a496580ce6f9
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 13:26:39 2022 -0800

    Use C99 struct initializers
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 64761ee9424f755b84ab0ce02d13eda32d215a14
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 11:38:04 2022 -0800

    Variable scope reductions
    
    Some found by cppcheck, some found by manual code inspection
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 9737af15196380a1687d18a17d297ee17b45a83f
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 11:03:40 2022 -0800

    Remove register keyword from variable declarations
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit b67c058e2ccc27472b238a6b5dc5e4cd20f6d2bd
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Dec 10 09:08:33 2022 -0800

    Eliminate 20 -Wimplicit-fallthrough warnings
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

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

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

commit 931c469b2b91603c5c196abf65a39c7dab8609d7
Author: Leandro Nini <drfiemost@email.it>
Date:   Sat Dec 10 07:49:56 2022 +0000

    Avoid possibly dereferencing null pointer
    
    This addresses issue #21
    
    Signed-off-by: Leandro Nini <drfiemost@email.it>

commit 7bac6a25bb44d39710f1b2b5fdad56d7f4c01c39
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Wed Dec 7 17:53:16 2022 -0800

    xkbcomp 1.4.6
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 7cdd50a7471ab67591ceb2e8734483220c5a9205
Author: Matt Turner <mattst88@gmail.com>
Date:   Tue Nov 29 12:00:20 2022 -0500

    configure: Use AC_SYS_LARGEFILE to enable large file support
    
    Signed-off-by: Matt Turner <mattst88@gmail.com>

commit 76eed4986b8c94008853c2215408a100b7e95ecb
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Mon Jul 11 09:16:55 2022 +0200

    suppress four more warnings when 'warningLevel' is zero
    
    This addresses issue #20 some more.
    
    Reported-by: Vincent Lefevre
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit c230cee968c7e7956a04e4d73bd6f23260f435db
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Sun Jul 10 17:31:52 2022 +0200

    suppress the "Could not resolve" warning when 'warningLevel' is zero
    
    Two years ago, commit c8cfca25ab changed an error to a warning
    but forgot to add a check for 'warningLevel'.
    
    This partially addresses issue #20.
    
    Reported-by: Vincent Lefevre
    
    Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>

commit 97311ebd18e0dbc545d18d1a4b8b94b59c1fbd08
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Apr 2 11:58:18 2022 -0700

    man page: remove out-of-date COPYRIGHT section
    
    The information previously listed here didn't match what is present in
    the source code or the COPYING file, and the X(7) man page doesn't list
    any license information as this had claimed.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit f3f71746ebee5404ccb736b53cddca557cc62060
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Mon Dec 6 14:54:08 2021 -0800

    gitlab CI: update to new templates
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 3aa424c245090ac594b85ce0ba0a438c921101d6
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Mon Dec 6 14:44:55 2021 -0800

    Build xz tarballs instead of bzip2
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 97390d9e15c0c7ac8c69de42e1be1028ae846aad
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Nov 28 11:35:20 2021 -0800

    Fix "upercase" typo
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit f8b240e897ed68b90c116ce4c2f8814e71e5aa97
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 17 15:39:53 2021 +1000

    xkbcomp 1.4.5
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit da810f10d732a312ccee88652141c1d165efc114
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 21 13:24:00 2021 +1000

    keycodes: compress the high keycode warning
    
    No point spending 3 lines on this, especially given that this warning is
    always triggered.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 80398db098b2a2214c5bef28d09cefd58beac43d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 21 13:20:40 2021 +1000

    keycodes: downgrade the >255 keycode warning to an info
    
    This warning will be triggered all the time now that xkeyboard-config has
    started adding keycodes > 255. Downgrade to an info, there's nothing the user
    can do about this warning anyway.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1955a2645670eeea83d6d163653749249cd839f2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 21 13:16:53 2021 +1000

    Downgrade the warning for missing symbols to info
    
    In the interest of maintainability, it's easier to include as many keycodes as
    possible and then have the symbols mapping specific to the layout. This is
    particularly true for evdev where the kernel takes care of device-specifics
    and every keyboard has the same set of keycodes anyway.
    
    So let's downgrade this from a warning to a mere info, virtually every
    keyboard right now triggers this warning for a number of keys.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9510dedad875099c32993246188050ea73ab1a9f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 21 13:08:25 2021 +1000

    Replace WARN[1-9], ERROR[1-9], etc. with their unnumbered version
    
    Those macros date back to when varargs weren't a thing but they've
    been #defined to the same value for 17 years now.
    
    Patch generated with:
            for action in WARN INFO ERROR ACTION FATAL WSGO; do
            sed -i "s/${action}[1-9]/${action}/g" `git ls-files`
            done
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ff6a19ed8898ee8c79b2b2a2f87806353d89f5d4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 21 13:46:01 2021 +1000

    gitlab CI: add basic build test
    
    Copied from xorgproto
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3b3d25dd32ba48fd6d15ca98baf7109af21e1d97
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 21 13:24:51 2021 +1000

    Remove trailing whitespaces
    
    Let's clean this up so I don't have to fight vim and git in removing them.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 790b998647ec171133bf196a3d84c5153cd64840
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 5 14:24:24 2020 +1000

    xkbcomp 1.4.4
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a0a4f112c5858ac2b932247dba2d85061bb59145
Author: Miroslav Koškár <mk@mkoskar.com>
Date:   Mon Jul 6 07:48:48 2020 +0200

    Fix lockdevbtn to be XkbSA_LockDeviceBtn action

commit 101d5f2bce9ee13521fe9cb47b7cfd00d01f5914
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Thu Jul 23 10:25:08 2020 -0700

    Fix spelling/wording issues
    
    Found by using:
      codespell --builtin clear,rare,usage,informal,code,names
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit c8cfca25ab2ed65013448f7502bae933c66390ae
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jun 5 14:23:09 2020 +1000

    Don't pretend unresolved symbols are an error
    
    Whenever xkeyboard-config is newer than xorgproto, or libX11 just hasn't yet
    been rebuilt against the protocol we end up with some unresolved symbols.
    That's not an error, it just happens. Let's downgrade this to a warning
    instead.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit dcaa947c488b4cb458946ab9c19579f7c866cbd4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jul 17 15:07:14 2019 +1000

    For -R and after chdir, add the current directory to the path
    
    This restores the behavior pre 1aecdffaa0db7bbf85bc0aae9043e9437b25c30d, at
    least when -R is given. For a normal invocation without -R we don't add the
    current directory, because 1aecdff isn't totally wrong about whether that's a
    good idea.
    
    Fixes https://gitlab.freedesktop.org/xorg/app/xkbcomp/issues/3

commit d373c9b434c603bf6a5eb442b6427992d23ef874
Author: Matt Turner <mattst88@gmail.com>
Date:   Thu Feb 20 09:47:30 2020 -0800

    xkbcomp 1.4.3
    
    Signed-off-by: Matt Turner <mattst88@gmail.com>

commit e200d0d41ef3158ea717206c1490e499a0c07f1b
Author: Dimitry Andric <dimitry@andric.com>
Date:   Wed Feb 19 21:24:59 2020 +0100

    Don't compare with string literals
    
    xkbcomp.c:228:37: error: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Werror,-Wstring-compare]
            if ((argv[i][0] != '-') || (uStringEqual(argv[i], "-")))
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
    ./utils.h:195:30: note: expanded from macro 'uStringEqual'
                                     ^~~~~~~~~~~~~~~~~~~~~
    ./utils.h:198:38: note: expanded from macro 'uStringCompare'
                                     (s1)!=(s2):strcmp(s1,s2))
                                         ^ ~~~~
    
    Don't attempt to do this macro trickery, and simply use strcmp instead,
    where it applies.
    
    Bug: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244235

commit 29fda8e50e4a4a127348e63fcf9f47600beab93c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 13 12:29:19 2019 +1000

    Error out if we have no default path
    
    The path is set through configure.ac/Makefile.am and always defined anyway.
    Let's not re-define it here with a different value than our default.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ff0e59084d6b9f2e7085fc88ba68916150085afb
Author: Andreas Wettstein <wettstein509@solnet.ch>
Date:   Sat Feb 15 17:34:41 2014 +0100

    xkbcomp Fix missing support for "affect" and incorrect modifier handling for ISOLock
    
    Add missing support for "affect" flag to selectively affect locking or
    unlocking for for modifier locking, control locking, and ISOLock.
    Fix some incorrect masking and modifier handling for ISOLock.
    
    Signed-off-by: Andreas Wettstein <wettstein509@solnet.ch>
    Reviewed-By: Ran Benita <ran234@gmail.com>
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 9edd61b91a02bda31fc6edd2c32c553e872b6ea2
Author: Miroslav Koškár <mk@mkoskar.com>
Date:   Fri Jan 18 20:01:01 2019 +0100

    Fix invalid error report on F_Accel field
    
    F_Accel is valid MovePtr field yet following error is reported:
    
        > Error:            Field accel is not defined for an action of type MovePtr
        >                   Action definition ignored
    
    Signed-off-by: Miroslav Koškár <mk@mkoskar.com>

commit 7ffec6583ae92fe81402870eb89dea21ca34e933
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Mon Feb 11 21:44:51 2019 +0100

    configure: Remove unused AC_SUBST([REQUIRED_MODULES])
    
    v2: Add square brackets back.
    
    Signed-off-by: Andreas Boll <andreas.boll.dev@gmail.com>

commit 4683410b6b072bd55dbdc661c76a5ba30bae608e
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Mon Feb 11 21:31:19 2019 +0100

    pkgconfig: Remove unneeded Requires.private
    
    Fixes "pkg-config --exists xkbcomp" without installed pkg-config files
    for x11, xkbfile, and xproto >= 7.0.17.
    
    xkbcomp works fine without those pkg-config files.
    
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913359
    
    Signed-off-by: Andreas Boll <andreas.boll.dev@gmail.com>

commit 1fdbacbe34742328b2a95742982b6017f60a1342
Author: Adam Jackson <ajax@redhat.com>
Date:   Wed Oct 17 11:44:37 2018 -0400

    Suppress high-keycode warnings at the default warning level
    
    We expect evdev to have keycodes above 255, there's no reason to warn
    about this.
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>

commit 32d8d53fc1b622d97b3b8eb7b8b5e8354eda60a5
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Wed Nov 21 17:11:16 2018 -0800

    Update configure.ac bug URL for gitlab migration
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 2abe23d23d3755335c10ff573e4e1f93b682e9d9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jun 8 09:10:03 2018 +1000

    xkbcomp 1.4.2
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5bc2849273a224a2df593b7e8df31f0bde666482
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 7 11:25:01 2018 +1000

    Ignore xkb_keycodes.maximum of > 255
    
    Continuation from 7fdfabd75 "keycodes: Ignore high keycodes"
    
    A keymap with a key > 255 will have a xkb_keycodes.maximum of that keycode.
    Let's not throw a fatal error on that, just crop it back to the maximum of
    255. This doesn't set the "high_keycode_warned" on purpose so we get this for
    the first key that actually matters.
    
    Reproducible with xkeyboard-config 2.24 which has a maximum of 374.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1587998
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Daniel Stone <daniel@fooishbar.org>

commit 34842845b191082fd1cfff3b7038332cdcadb825
Author: Adam Jackson <ajax@redhat.com>
Date:   Thu Mar 1 11:15:18 2018 -0500

    xkbcomp 1.4.1
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>

commit 993d4916a92b56b5043cf0b90f550568c817ad2b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 13 13:48:46 2018 +1000

    pkgconfig: add the exec_prefix substitution
    
    bindir gets replaced with:
        bindir=${exec_prefix}/bin
    but exec_prefix isn't set so we end up with an invalid bindir.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Jon Turney <jon.turney@dronecode.org.uk>

commit 3e2a6ad4edfbf21c3f76f8319f0039b7f589944f
Author: Adam Jackson <ajax@redhat.com>
Date:   Mon Nov 6 12:54:41 2017 -0500

    pkgconfig: Add our bindir to xkbcomp.pc
    
    Reviewed-by: Daniel Stone <daniels@collabora.com>
    Signed-off-by: Adam Jackson <ajax@redhat.com>

commit 3fcd5f4490adee266eb4c0110d058c7f4e515e36
Author: Daniel Stone <daniels@collabora.com>
Date:   Mon May 1 15:59:28 2017 +0100

    xkbcomp 1.4.0
    
    Signed-off-by: Daniel Stone <daniels@collabora.com>

commit 7fdfabd753a39dbdcfcfa65ec33d0192448119d8
Author: Daniel Stone <daniels@collabora.com>
Date:   Thu Apr 6 15:52:10 2017 +0100

    keycodes: Ignore high keycodes
    
    Rather than throwing a fatal error when a keycode definition exceeds the
    declared maximum (i.e. 255), just ignore the definition and continue.
    
    This allows xkeyboard-config to start shipping datasets including high
    keycodes, which will work in xkbcommon as it ignores explicit range
    declarations.
    
    Signed-off-by: Daniel Stone <daniels@collabora.com>
    Reviewed-by: Ran Benita <ran234@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reported-by: Christian Kellner <gicmo@gnome.org>

commit 9f1e3e8c8914b349b9b52501bb4acadedb31081d
Author: Mihail Konev <k.mvc@ya.ru>
Date:   Thu Jan 26 14:00:21 2017 +1000

    autogen: add default patch prefix
    
    Signed-off-by: Mihail Konev <k.mvc@ya.ru>

commit 6f16a2e38667bea33e0cb566734a87c2b92c9391
Author: Emil Velikov <emil.l.velikov@gmail.com>
Date:   Mon Mar 9 12:00:52 2015 +0000

    autogen.sh: use quoted string variables
    
    Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent
    fall-outs, when they contain space.
    
    Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bbc55549ee44830747eccfadd61df3ed38a99202
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 24 10:32:07 2017 +1000

    autogen.sh: use exec instead of waiting for configure to finish
    
    Syncs the invocation of configure with the one from the server.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Emil Velikov <emil.velikov@collabora.com>

commit 8995ac58e15595de9158c2d8df9e02b0c925e8f4
Author: Ran Benita <ran234@gmail.com>
Date:   Wed Jan 6 21:32:52 2016 +0100

    When a file contains several maps, look for a default map
    
    Rather than always taking the first one in the file. This is exactly the
    intended use of the 'default' flag.
    
    Note that pretty much the same code is duplicated in xkbcomp.c when
    compiling a single file from the command line, but there it is
    implemented correctly (look for XkbLC_Default).
    
    https://bugs.freedesktop.org/show_bug.cgi?id=69950
    
    Signed-off-by: Ran Benita <ran234@gmail.com>
    Tested-by: Benno Schulenberg <bensberg@justemail.net>
    Acked-by: Sergey Udaltsov <sergey.udaltsov@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bf4d7d059daf5c6f81d70f8d3e5e2a87265381b7
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Thu Sep 11 22:04:21 2014 +0200

    When overriding a key, adjust also its number of levels (#57242).
    
    Specifying an explicit key type when overriding a key should adjust
    the number of levels to that of the specified type. This gets rid of
    the age-old warning of the right Alt key being ONE_LEVEL but having
    two symbols assigned.
    
    Fixes bug #57242 <http://bugs.freedesktop.org/show_bug.cgi?id=57242>.
    
    Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
    Reviewed-by: Ran Benita <ran234@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f909259b1da70bc145f19e5ce595c8e945a2a808
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 5 12:19:22 2015 +1000

    xkbcomp 1.3.1
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 26d1c57a938ce5c0d4fd9d645ace25308e6a7070
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 3 09:01:19 2015 +1000

    symbols: increase the warning level for shortening a key type
    
    Any use of the german keyboard layout or anything else using
    level3(ralt_switch) produces the warning
        Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
        Ignoring extra symbols
    This warning is meaningless, the default definition for RALT comes from
    pc(pc105) including altwin(meta_alt) which defines it as TWO_LEVEL
    and { Alt_R, Meta_R }. Including level3(ralt_switch) correctly sets it as
    ONE_LEVEL but now we get the warning. That makes users file bug reports and we
    can't be having that, can we?
    
    Up the warning level for this case to one past the default. The warning is
    only useful when you're testing a new keyboard layout or trying to fix an
    actual bug with missing symbols. And then you can run xkbcomp with -w10.
    No need to spam the log on every server startup.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>

commit 511adde23a0518db0379b444580b63edcb9138a8
Author: Matthew Green <mrg@NetBSD.org>
Date:   Tue Jul 28 17:53:48 2015 +0200

    Adjust a NUL-string assignment to avoid const issues.
    
    Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1ae525b3d236b59e6437b2b5433d460e18370973
Author: Jon TURNEY <jon.turney@dronecode.org.uk>
Date:   Tue Mar 17 15:19:10 2015 +0000

    Define WIN32_LEAN_AND_MEAN when building on Win32
    
    w32api/rpcnndr.h (included by windows.h) uses TypeString as the name of a structure member.
    
    xkbcomp.h defines it as a macro for a constant.
    
    Define WIN32_LEAN_AND_MEAN to avoid this clash.
    
    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
    Reviewed-by: David Macek <david.macek.0@gmail.com>

commit fc3e6ddb2c8e922ea80f2dc5cbc1df2102e30d99
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Tue Mar 3 16:24:50 2015 -0800

    Stop including <X11/Xalloca.h> in parseutils.c
    
    I can not find any point in our git history at which alloca() or the
    Xalloca.h macros ALLOCATE_LOCAL() & DEALLOCATE_LOCAL() were actually
    used in this source file.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 1e8ee9d0aad072f04186df84752f5636340574e0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 21 08:18:41 2014 +1000

    xkbcomp 1.3.0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 978998a1fe0a78829452f5432efe1b74c5049de4
Author: Vincent Lefevre <vincent@vinc17.net>
Date:   Mon Oct 27 10:50:30 2014 +0100

    xkbcomp: Improved -w option parsing
    
    This patch improves -w option parsing even further, for cases like
    "xkbcomp -w6 4.xkb out.xkb" (which were not handled by the fix of
    the warning level is still optional (set to 0 if not present), and
    errors like "xkbcomp -wfoo in out" are detected and reported.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=66344
    
    Signed-off-by: Vincent Lefevre <vincent@vinc17.net>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d4e02a09258063c6d024c3ccd42d6b22212e6e18
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Mar 8 19:04:24 2014 -0800

    Initialize nMatch even if WIN32 is defined
    
    Flagged by cppcheck 1.64:
    Checking app/xkbcomp/listing.c: WIN32...
    [app/xkbcomp/listing.c:335]: (error) Uninitialized variable: nMatch
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Daniel Stone <daniel@fooishbar.org>

commit 7606a46b922dfdb0627f1af6ab1432ae88c79d66
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Mar 8 19:01:12 2014 -0800

    Remove useless assignment to 'outline' variable
    
    Flagged by cppcheck 1.64:
    [app/xkbcomp/geometry.c:2426] -> [app/xkbcomp/geometry.c:2427]:
     (performance) Variable 'outline' is reassigned a value before
                   the old one has been used.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Daniel Stone <daniel@fooishbar.org>

commit 6c2d3b0891f7be6ef4895be75188aa1c6f530bfc
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Mar 8 18:50:22 2014 -0800

    Don't dereference the pointer whose allocation failed
    
    Flagged by cppcheck 1.64:
    [app/xkbcomp/keycodes.c:264] -> [app/xkbcomp/keycodes.c:262]:
