• Show log

    Commit

  • Hash : 44480f7c
    Author : Pierre Le Marre
    Date : 2025-04-01T08:28:02

    xkbcomp: Enable lists of keysyms and actions {} and {a}
    
    Motivations:
    - Follow the principle of least astonishment;
    - Ensure consistency;
    - Enhance the use of custom defaults;
    - Facilitate the tests.
    
    There is some ambiguity because we use `{}` to denote both an empty list of
    keysyms and an empty list of actions. But as soon as we get a keysym or an
    action, we know whether it is a `MultiKeySymList` or a `MultiActionList`.
    So we just count the `{}` at the *beginning* using `NoSymbolOrActionList`,
    then replace it by the relevant count of `NoSymbol` or `NoAction()` once the
    ambiguity is solved. If not, this is a list of empties of *some* type: we
    drop those empties and delegate the type resolution using `ExprEmptyList()`.
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/libxkbcommon.git
    Git SSH git@git.kmx.io:kc3-lang/libxkbcommon.git
    Public access ? public
    Description

    keymap handling library for toolkits and window systems

    Users
    thodg_m kc3_lang_org thodg_w www_kmx_io thodg thodg_l
    Tags

  • README.md

  • Fragments for the changelog

    This directory contains fragments for the future NEWS file.

    Introduction

    We use <code>towncrier</code> to produce useful, summarized news files.

    There are 3 sections types:

    • API: changes/api
    • Tools: changes/tools
    • Build System: changes/build

    There are 3 news fragments types:

    • Breaking changes: .breaking
    • New: .feature
    • Fixes: .bugfix

    Adding a fragment

    Add a short description of the change in a file changes/SECTION/ID.FRAGMENT.md, where:

    • SECTION and FRAGMENT values are described in the previous section.
    • ID is the corresponding issue identifier on Github, if relevant. If there is no such issue, then ID should start with + and some identifier that make the file unique in the directory.

    Examples:

    • A bug fix for the issue #463 is an API change, so the corresponding file should be named changes/api/463.bugfix.md.
    • A new feature for tools like #448 corresponds to e.g. changes/tools/+add-verbose-opt.feature.md.

    Guidelines for the fragment files:

    • Use the Markdown markup.
    • Use past tense, e.g. “Fixed a segfault”.
    • Look at the previous releases NEWS file for further examples.

    Build the changelog

    Install <code>towncrier</code> from Pypi:

    python3 -m pip install towncrier

    Then build the changelog:

    # Only check the result. Useful after adding a new fragment.
    towncrier build --draft --version 1.8.0
    # Write the changelog & delete the news fragments
    towncrier build --yes --version 1.8.0