public inbox for kbd@lists.linux.dev
 help / color / mirror / Atom feed
From: Alexey Gladkov <legion@kernel.org>
To: Krdyan Areg <areg.krdian@gmail.com>
Cc: kbd@lists.linux.dev
Subject: Re: [PATCH 4/4] libkeymap: add NULL check in lk_dump_ctable diacritical loop
Date: Sun, 15 Feb 2026 00:08:15 +0100	[thread overview]
Message-ID: <aZEAX5DwskkefCbY@example.org> (raw)
In-Reply-To: <20260214172813.1075064-4-areg.krdian@gmail.com>

On Sat, Feb 14, 2026 at 08:27:33PM +0300, Krdyan Areg wrote:
> The lk_array_get_ptr() function may return NULL when accessing the
> accent table. Dereferences kddiac without checking,
> which can lead to a crash.
> 
> Add a NULL check and return an error if an invalid entry is found.
> 
> Signed-off-by: Krdyan Areg <areg.krdian@gmail.com>
> ---
>  po/cs.po             | 39 ++++++++++++++++++++++-----------------
>  po/da.po             | 38 +++++++++++++++++++++-----------------
>  po/de.po             | 41 ++++++++++++++++++++++++-----------------
>  po/el.po             | 39 ++++++++++++++++++++++-----------------
>  po/eo.po             | 39 ++++++++++++++++++++++-----------------
>  po/es.po             | 39 ++++++++++++++++++++++-----------------
>  po/hu.po             | 38 +++++++++++++++++++++-----------------
>  po/id.po             | 39 ++++++++++++++++++++++-----------------
>  po/it.po             | 38 +++++++++++++++++++++-----------------
>  po/ka.po             | 38 +++++++++++++++++++++-----------------
>  po/kbd.pot           | 38 +++++++++++++++++++++-----------------
>  po/nl.po             | 38 +++++++++++++++++++++-----------------
>  po/pl.po             | 39 ++++++++++++++++++++++-----------------
>  po/pt.po             | 39 ++++++++++++++++++++++-----------------
>  po/pt_BR.po          | 39 ++++++++++++++++++++++-----------------
>  po/ro.po             | 39 ++++++++++++++++++++++-----------------
>  po/ru.po             | 42 +++++++++++++++++++++++++-----------------
>  po/sq.po             | 39 ++++++++++++++++++++++-----------------
>  po/sr.po             | 39 ++++++++++++++++++++++-----------------
>  po/sv.po             | 39 ++++++++++++++++++++++-----------------
>  po/tr.po             | 38 +++++++++++++++++++++-----------------
>  po/uk.po             | 39 ++++++++++++++++++++++-----------------
>  po/vi.po             | 38 +++++++++++++++++++++-----------------
>  po/zh_CN.po          | 38 +++++++++++++++++++++-----------------
>  src/libkeymap/dump.c |  4 ++++
>  25 files changed, 528 insertions(+), 408 deletions(-)

Sorry, but your commit messages and your changes look like they were
generated by AI. I'm not against AI, but not everything you fix is a
real bug.

Thanks anyway. I'll take another look at the code myself and try to fix
any suspicious code.

> diff --git a/po/cs.po b/po/cs.po
> index cf38c98..e589761 100644
> --- a/po/cs.po
> +++ b/po/cs.po
> @@ -11,7 +11,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd 2.7-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2024-12-03 21:09+01:00\n"
>  "Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
>  "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
> @@ -63,7 +63,7 @@ msgstr "Málo argumentů."
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -494,7 +494,12 @@ msgstr "navázat klávesu %d na hodnotu %d nelze, protože je příliš velká"
>  msgid "Error writing map to file"
>  msgstr "Chyba při zápisu mapy do souboru"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Z tabulky diakritiky nelze odstranit položku"
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "nemožné: není meta?\n"
> @@ -577,12 +582,12 @@ msgstr "symbol nelze získat podle chybného typu: %d"
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr "symbol typu %d nelze získat podle chybného indexu: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr "předpokládá se %s %s"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "neznámý symbol klávesy „%s“"
> @@ -699,12 +704,12 @@ msgstr "loadkeys: není známo, jak skládat pro %s"
>  msgid "'%s' is not a function key symbol"
>  msgstr "„%s“ není symbol funkční klávesy"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "příliš mnoho (%ld) záznamů na jednom řádku"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr "Zavádí se %s"
> @@ -778,11 +783,11 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr "Konzola není v textovém režimu"
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  msgid "tall font not supported"
>  msgstr "vysoká font není podporován"
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr "S touto verzí jádra nelze takový font zavést"
>  
> @@ -850,7 +855,7 @@ msgstr[1] "# %d položky"
>  msgstr[2] "# %d položek"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1258,25 +1263,25 @@ msgstr ""
>  msgid "vt %d is in use; command aborted; use `%s -f' to force."
>  msgstr "VT %d se používá; příkaz přerušen; použijte „%s -f“ pro vynucení."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Příkaz nelze nalézt."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Nelze nastavit novou relaci"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "Použije se VT %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "%s nelze otevřít pro čtení i zápis"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "Nebylo možné dealokovat konzolu %d"
> @@ -1481,11 +1486,11 @@ msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr ""
>  "Obnoví písmo a velikost písma a mapu Unicode na výchozí po startu systému."
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr "Příliš mnoho vstupních souborů."
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr "Nelze zároveň obnovovat z ROM znaků a ze souboru. Písmo nezměněno."
>  
> diff --git a/po/da.po b/po/da.po
> index 47a1489..cc8a3ec 100644
> --- a/po/da.po
> +++ b/po/da.po
> @@ -7,7 +7,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd-1.15.3-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2011-06-03 22:01+0200\n"
>  "Last-Translator: Keld Simonsen <keld@keldix.com>\n"
>  "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
> @@ -61,7 +61,7 @@ msgstr "Fejl: Ikke nok argumenter.\n"
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -497,7 +497,11 @@ msgstr "kunne ikke binde tast %d til v
>  msgid "Error writing map to file"
>  msgstr "Fejl ved skrivning af tabel til fil\n"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "umuligt: ikke meta?\n"
> @@ -581,12 +585,12 @@ msgstr ""
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr ""
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, fuzzy, c-format
>  msgid "assuming %s %s"
>  msgstr "antager iso-8859-1 %s\n"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, fuzzy, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "ukendt tegnsymbol \"%s\"\n"
> @@ -698,12 +702,12 @@ msgstr "loadkeys: v
>  msgid "'%s' is not a function key symbol"
>  msgstr "'%s' er ikke et symbol for en funktionstast"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, fuzzy, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "For mange (%d) indgange p? ?n linje"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, fuzzy, c-format
>  msgid "Loading %s"
>  msgstr "Indl?ser %s\n"
> @@ -777,11 +781,11 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  msgid "tall font not supported"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr ""
>  
> @@ -850,7 +854,7 @@ msgstr[0] "post"
>  msgstr[1] "post"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, fuzzy, c-format
> @@ -1285,25 +1289,25 @@ msgstr "Kan ikke unders
>  msgid "vt %d is in use; command aborted; use `%s -f' to force."
>  msgstr "vt %d er i brug, kommandoen afbrudt, brug '%s -f' at gennemtvinge."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Kunne ikke finde kommando"
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Kan ikke s?tte ny session"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "Bruger VT %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "Kan ikke ?bne %s for l?sning/skrivning"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "Kunne ikke deallokere konsol %d"
> @@ -1506,12 +1510,12 @@ msgstr ""
>  msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr ""
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  #, fuzzy
>  msgid "Too many input files."
>  msgstr "setfont: for mange inddatafiler\n"
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  #, fuzzy
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
> diff --git a/po/de.po b/po/de.po
> index 9099d1b..5523880 100644
> --- a/po/de.po
> +++ b/po/de.po
> @@ -17,7 +17,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd-2.6-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2023-05-08 18:33+0200\n"
>  "Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
>  "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
> @@ -70,7 +70,7 @@ msgstr "Nicht genügend Argumente."
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -515,7 +515,14 @@ msgstr ""
>  msgid "Error writing map to file"
>  msgstr "Fehler beim Schreiben der Tabelle in die Datei."
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +"Eintrag konnte nicht aus der Tabelle der diakritischen Zeichen entfernt "
> +"werden."
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "unmöglich: Keine Meta?\n"
> @@ -599,12 +606,12 @@ msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr ""
>  "Symbol des Typs %d konnte durch falschen Index nicht erhalten werden: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr "%s %s wird angenommen"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "Unbekanntes Tastensymbol „%s“"
> @@ -719,12 +726,12 @@ msgstr "loadkeys: Weiß nicht, wie Compose für %s funktionieren soll."
>  msgid "'%s' is not a function key symbol"
>  msgstr "'%s' ist kein Funktionstastensymbol."
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "Zu viele (%ld) Einträge in einer Zeile."
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr "%s wird geladen"
> @@ -798,12 +805,12 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  #, fuzzy
>  msgid "tall font not supported"
>  msgstr "Nicht unterstützt\n"
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr ""
>  
> @@ -870,7 +877,7 @@ msgstr[0] "# %d Eintrag"
>  msgstr[1] "# %d Einträge"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1289,25 +1296,25 @@ msgstr ""
>  msgid "vt %d is in use; command aborted; use `%s -f' to force."
>  msgstr "VT %d wird bereits benutzt, Abbruch; „%s -f“ erzwingt dies."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Befehl konnte nicht gefunden werden."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Neue Sitzung kann nicht erzeugt werden."
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "VT %s wird benutzt"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "%s kann nicht zum Schreiben und Lesen geöffnet werden"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "Konsole %d konnte nicht freigegeben werden"
> @@ -1502,11 +1509,11 @@ msgstr "Unicode-Tabelle angehängt."
>  msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr ""
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr "Zu viele Eingabedateien."
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
>  "Font kann nicht zugleich von ROM und Datei wiederhergestellt werden. Vorgang "
> diff --git a/po/el.po b/po/el.po
> index 0623bcf..47357f5 100644
> --- a/po/el.po
> +++ b/po/el.po
> @@ -7,7 +7,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd-2.6-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2023-05-09 19:15+0300\n"
>  "Last-Translator: Lefteris Dimitroulakis <ledimitro@gmail.com>\n"
>  "Language-Team: Greek <team@lists.gnome.gr>\n"
> @@ -60,7 +60,7 @@ msgstr "Όχι αρκετά ορίσματα."
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -499,7 +499,12 @@ msgstr "αποτυχία απόδωσης στο πλήκτρο %d της τιμ
>  msgid "Error writing map to file"
>  msgstr "Σφάλμα εγγραφής του πίνακα απεικόνισης στο αρχείο"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Αδυναμία αφαίρεσης στοιχείου από πίνακα διακριτικών"
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "αδύνατον: δεν είναι meta;\n"
> @@ -582,12 +587,12 @@ msgstr "unable to get symbol by wrong type: %d"
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr "unable to get symbol of %d type by wrong index: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr "υποθέτοντας %s %s"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "άγνωστο keysym «%s»"
> @@ -698,12 +703,12 @@ msgstr "loadkeys: δεν ξέρω πώς να συνθέσω %s"
>  msgid "'%s' is not a function key symbol"
>  msgstr "«%s» δεν είναι σύμβολο πλήκτρου λειτουργίας"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "πάρα πολλες (%ld) σε μια γραμμή"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr "Φόρτωση %s"
> @@ -778,12 +783,12 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  #, fuzzy
>  msgid "tall font not supported"
>  msgstr "Δεν υποστηρίζεται\n"
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr ""
>  
> @@ -850,7 +855,7 @@ msgstr[0] "# %d είσοδος"
>  msgstr[1] "# %d είσοδοι"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1267,25 +1272,25 @@ msgid "vt %d is in use; command aborted; use `%s -f' to force."
>  msgstr ""
>  "vt %d εν χρήσει, εκτέλεση εντολής ματαιώθηκε, δώσε «%s -f» για εκτέλεση."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Αδυναμία εύρεσης εντολής."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Αδύνατον το άνοιγμα νέας συνόδου"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "Χρησιμοποίηση VT %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "Δεν μπορώ ν' ανοίξω το %s σε ανάγνωση/εγγραφή"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "Αδυναμία αποδέσμευσης της κονσόλας %d"
> @@ -1476,11 +1481,11 @@ msgstr "Προστέθηκε πίνακας Unicode"
>  msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr ""
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr "Πάρα πολλά αρχεία εισόδου."
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
>  "Αδυναμία επιδιόρθωσης των χαρακτήρων από τη ROM και από το "
> diff --git a/po/eo.po b/po/eo.po
> index 79f9de6..fb73990 100644
> --- a/po/eo.po
> +++ b/po/eo.po
> @@ -8,7 +8,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd 2.5-rc2\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2023-01-08 15:14-0300\n"
>  "Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
>  "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
> @@ -61,7 +61,7 @@ msgstr "Ne sufiĉe da argumentoj."
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -493,7 +493,12 @@ msgstr "ne eblas ligi klavon %d al valoro %d ĉar ĝi tro larĝas"
>  msgid "Error writing map to file"
>  msgstr "Eraro dum skribo de mapo al dosiero"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Ne eblas forigi eron el la diakrita tabelo"
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "neeble: ne estas meta?\n"
> @@ -576,12 +581,12 @@ msgstr "ne eblas preni simbolon per malkorekta tipo: %d"
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr "ne eblas preni simbolon de tipo %d per malkorekta indico: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr "ni konsideras %s %s"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "nekonata klavsimbolo '%s'"
> @@ -691,12 +696,12 @@ msgstr "loadkeys: ne scias kiel komponi por %s"
>  msgid "'%s' is not a function key symbol"
>  msgstr "'%s' ne estas simbolo de funkcia klavo"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "tro da (%ld) enigoj en unu linio"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr "Ŝargado je %s"
> @@ -770,12 +775,12 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  #, fuzzy
>  msgid "tall font not supported"
>  msgstr "Ne subtenata\n"
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr ""
>  
> @@ -841,7 +846,7 @@ msgstr[0] "# %d enigo"
>  msgstr[1] "# %d enigoj"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1248,25 +1253,25 @@ msgstr "Ne eblas kontroli ĉu vt %d estas libera; uzu '%s - f' por perforti."
>  msgid "vt %d is in use; command aborted; use `%s -f' to force."
>  msgstr "vt %d estas uzata; komando ĉesigita; uzu '%s -f' por perforti."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Ne eblas trovi la komandon."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Ne eblas ekigi novan seancon"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "Ni uzadas VT %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "Ne eblas malfermi %s lege/skribe"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "Ne eblis liberigi la konzolon %d"
> @@ -1458,11 +1463,11 @@ msgstr "Postmetita Unikoda mapo"
>  msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr ""
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr "Tro da enig-dosieroj."
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
>  "Ne eblas restarigi kaj el signeca ROM kaj el dosiero. Tiparo neŝanĝita."
> diff --git a/po/es.po b/po/es.po
> index 006262b..7b01e77 100644
> --- a/po/es.po
> +++ b/po/es.po
> @@ -8,7 +8,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd-2.7-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2025-05-14 14:05-0600\n"
>  "Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n"
>  "Language-Team: Spanish <es@tp.org.es>\n"
> @@ -60,7 +60,7 @@ msgstr "No hay argumentos suficientes."
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -502,7 +502,12 @@ msgstr "no se pudo asignar la tecla %d al valor %d porque es demasiado grande"
>  msgid "Error writing map to file"
>  msgstr "Error al escribir el mapa al fichero"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "No se puede borrar el elemento de la tabla de diacríticos"
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "imposible: ¿no será una tecla Meta?\n"
> @@ -585,12 +590,12 @@ msgstr "no se pudo obtener el símbolo por el tipo erróneo: %d"
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr "no se pudo obtener el símbolo de tipo %d por el índice erróneo: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr "conjeturando %s %s"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "keysym '%s' desconocida"
> @@ -702,12 +707,12 @@ msgstr "loadkeys: no se cómo componer para %s"
>  msgid "'%s' is not a function key symbol"
>  msgstr "'%s' no es un símbolo de tecla de función"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "demasiadas entradas (%ld) en una línea"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr "Cargando %s"
> @@ -781,11 +786,11 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr "La consola no está en modo texto"
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  msgid "tall font not supported"
>  msgstr "no se admiten tipos de letra altos"
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr "No se puede cargar ese tipo de letra con esa versión de kernel"
>  
> @@ -853,7 +858,7 @@ msgstr[0] "# %d entrada"
>  msgstr[1] "# %d entradas"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1269,25 +1274,25 @@ msgstr ""
>  "La term. virt. %d está siendo utilizada; orden abortada; use `%s -f' para "
>  "forzar."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "No se pudo encontrar la orden."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "No se pudo establecer nueva sesión"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "Usando la terminal virtual %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "No se puede abrir %s para lectura/escritura"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "No se pudo liberar la consola %d"
> @@ -1505,11 +1510,11 @@ msgstr ""
>  "reinicia el tipo de letra de pantalla, tamaño y mapa unicode a los valores "
>  "por defecto al arranque."
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr "Demasiados ficheros de entrada."
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
>  "No se puede recuperar a la vez de la ROM de caracteres y de archivo. No se "
> diff --git a/po/hu.po b/po/hu.po
> index 913ade0..c8e1366 100644
> --- a/po/hu.po
> +++ b/po/hu.po
> @@ -7,7 +7,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd 2.0.4-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2017-05-05 20:38+0200\n"
>  "Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
>  "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
> @@ -61,7 +61,7 @@ msgstr "Hiba: nincs elég argumentum.\n"
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -507,7 +507,11 @@ msgstr "nem sikerült a(z) %d billentyű kötése a(z) %d értékhez"
>  msgid "Error writing map to file"
>  msgstr "Hiba a térkép fájlba írásakor"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "lehetetlen: nem meta?\n"
> @@ -591,12 +595,12 @@ msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr ""
>  "nem sikerült lekérni a(z) %d típus szimbólumát a rossz index alapján: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, fuzzy, c-format
>  msgid "assuming %s %s"
>  msgstr "iso-8859-1 %s feltételezve"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, fuzzy, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "ismeretlen billentyűszimbólum: „%s”\n"
> @@ -707,12 +711,12 @@ msgstr ""
>  msgid "'%s' is not a function key symbol"
>  msgstr ""
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, fuzzy, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "Túl sok egyesítendő fájl\n"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, fuzzy, c-format
>  msgid "Loading %s"
>  msgstr "Hiba a(z) „%s” olvasásakor"
> @@ -786,11 +790,11 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  msgid "tall font not supported"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr ""
>  
> @@ -859,7 +863,7 @@ msgstr[0] "bejegyzés"
>  msgstr[1] "bejegyzés"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, fuzzy, c-format
> @@ -1302,25 +1306,25 @@ msgstr ""
>  "A %d. vt használatban van. A parancs megszakítva. Használja a „%s -f” "
>  "parancsot a kényszerítéshez."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Nem található parancs."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Nem állítható be új munkamenet"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "%s VT használata"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "Nem sikerült a(z) %s megnyitása olvasásra/írásra"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "Nem sikerült a(z) %d. konzol felszabadítása"
> @@ -1522,12 +1526,12 @@ msgstr ""
>  msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr ""
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  #, fuzzy
>  msgid "Too many input files."
>  msgstr "setfont: túl sok bemeneti fájl\n"
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  #, fuzzy
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
> diff --git a/po/id.po b/po/id.po
> index 6b8a101..a705a18 100644
> --- a/po/id.po
> +++ b/po/id.po
> @@ -8,7 +8,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd 2.7-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2024-11-14 20:53+0700\n"
>  "Last-Translator: Andika Triwidada <andika@gmail.com>\n"
>  "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
> @@ -61,7 +61,7 @@ msgstr "Tidak cukup argumen."
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -498,7 +498,12 @@ msgstr "gagal mengikat tombol %d ke nilai %d karena itu terlalu besar"
>  msgid "Error writing map to file"
>  msgstr "Galat saat menulis peta ke berkas"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Tidak bisa menghapus butir dari tabel diakritikal"
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "tidak mungkin: bukan meta?\n"
> @@ -582,12 +587,12 @@ msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr ""
>  "tidak bisa mendapatkan simbol dari tipe %d berdasarkan indeks salah: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr "mengasumsikan %s %s"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "keysym '%s' tidak dikenal"
> @@ -693,12 +698,12 @@ msgstr "loadkeys: tak tahu bagaimana meng-compose untuk %s"
>  msgid "'%s' is not a function key symbol"
>  msgstr "'%s' bukan suatu simbol tombol fungsi"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "terlalu banyak (%ld) entri dalam satu baris"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr "Memuat %s"
> @@ -772,11 +777,11 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr "Konsol dalam mode teks"
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  msgid "tall font not supported"
>  msgstr "fonta tinggi tidak didukung"
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr "Tidak bisa memuat fonta seperti itu dengan versi kernel ini"
>  
> @@ -842,7 +847,7 @@ msgid_plural "# %d entries"
>  msgstr[0] "# %d entri"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1258,25 +1263,25 @@ msgid "vt %d is in use; command aborted; use `%s -f' to force."
>  msgstr ""
>  "vt %d sedang digunakan; perintah digugurkan; pakai '%s -f' untuk memaksa."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Tidak bisa menemukan perintah."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Tidak bisa menata sesi baru"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "Menggunakan VT %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "Tidak bisa membuka %s baca/tulis"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "Tidak bisa mendealokasi konsol %d"
> @@ -1483,11 +1488,11 @@ msgstr "paksakan muat peta unicode."
>  msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr "reset fonta, ukuran, dan peta unicode layar ke baku boot."
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr "Terlalu banyak berkas masukan."
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
>  "Tidak bisa sekaligus memulihkan dari karakter ROM dan dari berkas. Fonta "
> diff --git a/po/it.po b/po/it.po
> index f99f68d..8d9e8c7 100644
> --- a/po/it.po
> +++ b/po/it.po
> @@ -7,7 +7,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd-1.15.3-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2011-06-13 00:36+0200\n"
>  "Last-Translator: Sergio Zanchetta <primes2h@ubuntu.com>\n"
>  "Language-Team: Italian <tp@lists.linux.it>\n"
> @@ -60,7 +60,7 @@ msgstr "Errore: argomenti non sufficienti.\n"
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -501,7 +501,11 @@ msgstr "associazione del tasto %d al valore %d non riuscita\n"
>  msgid "Error writing map to file"
>  msgstr "Errore nella scrittura della mappa sul file\n"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "impossibile: forse non è meta\n"
> @@ -585,12 +589,12 @@ msgstr ""
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr ""
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, fuzzy, c-format
>  msgid "assuming %s %s"
>  msgstr "si assume iso-8859-1 %s\n"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, fuzzy, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "simbolo di tasto \"%s\" sconosciuto\n"
> @@ -702,12 +706,12 @@ msgstr "loadkeys: non si sa come gestire la composizione per %s\n"
>  msgid "'%s' is not a function key symbol"
>  msgstr "\"%s\" non è un simbolo di tasto funzione"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, fuzzy, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "troppe (%d) voci su una riga"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, fuzzy, c-format
>  msgid "Loading %s"
>  msgstr "Caricamento di %s\n"
> @@ -781,11 +785,11 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  msgid "tall font not supported"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr ""
>  
> @@ -855,7 +859,7 @@ msgstr[0] "voce"
>  msgstr[1] "voce"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, fuzzy, c-format
> @@ -1300,25 +1304,25 @@ msgstr ""
>  "Il terminale virtuale %d è in uso, comando interrotto; usare \"%s -f\" per "
>  "forzarlo."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Impossibile trovare il comando."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Impossibile impostare una nuova sessione"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "Viene usato il terminale virtuale %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "Impossibile aprire %s in lettura/scrittura"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "Impossibile deallocare la console %d"
> @@ -1521,12 +1525,12 @@ msgstr ""
>  msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr ""
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  #, fuzzy
>  msgid "Too many input files."
>  msgstr "setfont: troppi file di input\n"
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  #, fuzzy
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
> diff --git a/po/ka.po b/po/ka.po
> index a3e2156..208d288 100644
> --- a/po/ka.po
> +++ b/po/ka.po
> @@ -7,7 +7,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd 2.7-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2025-03-02 06:05+0100\n"
>  "Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
>  "Language-Team: Georgian <(nothing)>\n"
> @@ -60,7 +60,7 @@ msgstr "არასაკმარისი არგუმენტები."
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -478,7 +478,11 @@ msgstr ""
>  msgid "Error writing map to file"
>  msgstr "რუკის ფაილში ჩაწერის შეცდომა"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "შეუძლებელია: მეტა არაა?\n"
> @@ -561,12 +565,12 @@ msgstr ""
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr ""
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr "ივარაუდება %s %s"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "უცნობი keysym '%s'"
> @@ -676,12 +680,12 @@ msgstr ""
>  msgid "'%s' is not a function key symbol"
>  msgstr ""
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr ""
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr "%s-ის ჩატვირთვა"
> @@ -750,11 +754,11 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr "კონსოლი ტექსტურ რეჟიმში არაა"
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  msgid "tall font not supported"
>  msgstr "მაღალი ფონტი მხარდაჭერილი არაა"
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr ""
>  
> @@ -815,7 +819,7 @@ msgstr[0] "# %d ჩანაწერი"
>  msgstr[1] "# %d ჩანაწერი"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1214,25 +1218,25 @@ msgstr ""
>  msgid "vt %d is in use; command aborted; use `%s -f' to force."
>  msgstr ""
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "ბრძანება ვერ ვიპოვე."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "ახალი სესიის დაყენების შეცდომა"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "გამოიყენება VT %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "%s-ის წერაკითხვისთვის გახსნის შეცდომა"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "კონსოლის (%d) გამოყოფის გაუქმების შეცდომა)"
> @@ -1416,11 +1420,11 @@ msgstr ""
>  msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr ""
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr "მეტისმეტად ბევრი შეყვანის ფაილი."
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
>  
> diff --git a/po/kbd.pot b/po/kbd.pot
> index 73d8d44..0eb0254 100644
> --- a/po/kbd.pot
> +++ b/po/kbd.pot
> @@ -8,7 +8,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd 2.9.0\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
>  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
>  "Language-Team: LANGUAGE <LL@li.org>\n"
> @@ -59,7 +59,7 @@ msgstr ""
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -470,7 +470,11 @@ msgstr ""
>  msgid "Error writing map to file"
>  msgstr ""
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr ""
> @@ -553,12 +557,12 @@ msgstr ""
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr ""
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr ""
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr ""
> @@ -664,12 +668,12 @@ msgstr ""
>  msgid "'%s' is not a function key symbol"
>  msgstr ""
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr ""
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr ""
> @@ -738,11 +742,11 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  msgid "tall font not supported"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr ""
>  
> @@ -803,7 +807,7 @@ msgstr[0] ""
>  msgstr[1] ""
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1202,25 +1206,25 @@ msgstr ""
>  msgid "vt %d is in use; command aborted; use `%s -f' to force."
>  msgstr ""
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr ""
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr ""
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr ""
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr ""
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr ""
> @@ -1404,11 +1408,11 @@ msgstr ""
>  msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr ""
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr ""
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
>  
> diff --git a/po/nl.po b/po/nl.po
> index 1e88b6a..3728a57 100644
> --- a/po/nl.po
> +++ b/po/nl.po
> @@ -10,7 +10,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd-2.0.4-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2017-01-07 15:02+0100\n"
>  "Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
>  "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
> @@ -64,7 +64,7 @@ msgstr "Fout: te weinig argumenten.\n"
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -509,7 +509,11 @@ msgstr "verbinden van toets %d met waarde %d is mislukt"
>  msgid "Error writing map to file"
>  msgstr "Fout tijdens schrijven van toetsenkaart naar bestand"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "onmogelijk: niet meta?\n"
> @@ -592,12 +596,12 @@ msgstr "kan symbool niet verkrijgen wegens onjuist type: %d"
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr "kan symbool van type %d niet verkrijgen wegens onjuiste index: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, fuzzy, c-format
>  msgid "assuming %s %s"
>  msgstr "iso-8859-1 '%s' wordt aangenomen"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, fuzzy, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "onbekende toetsnaam '%s'\n"
> @@ -708,12 +712,12 @@ msgstr "loadkeys: weet niet hoe %s samen te stellen\n"
>  msgid "'%s' is not a function key symbol"
>  msgstr "'%s' is geen functietoetssymbool"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, fuzzy, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "Te veel items (%d) op één regel"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, fuzzy, c-format
>  msgid "Loading %s"
>  msgstr "Laden van %s\n"
> @@ -788,11 +792,11 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  msgid "tall font not supported"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr ""
>  
> @@ -861,7 +865,7 @@ msgstr[0] "item"
>  msgstr[1] "item"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, fuzzy, c-format
> @@ -1308,25 +1312,25 @@ msgstr ""
>  "VT-%d is in gebruik; opdracht is afgebroken; gebruik '%s -f' om gebruik af "
>  "te dwingen"
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Kan gegeven opdracht niet vinden."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Kan geen nieuwe sessie instellen"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "VT-%s wordt gebruikt"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "Kan %s niet openen voor lezen-en-schrijven"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "Kan console %d niet vrijgeven"
> @@ -1523,12 +1527,12 @@ msgstr ""
>  msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr ""
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  #, fuzzy
>  msgid "Too many input files."
>  msgstr "setfont: te veel invoerbestanden\n"
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  #, fuzzy
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
> diff --git a/po/pl.po b/po/pl.po
> index 0b8294c..6c83769 100644
> --- a/po/pl.po
> +++ b/po/pl.po
> @@ -6,7 +6,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd 2.7-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2024-10-30 19:07+0100\n"
>  "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
>  "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
> @@ -59,7 +59,7 @@ msgstr "Za mało argumentów."
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -493,7 +493,12 @@ msgstr "nie można dowiązać klawisza %d do wartości %d, ponieważ jest zbyt d
>  msgid "Error writing map to file"
>  msgstr "Błąd podczas zapisu mapy do pliku"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Nie udało się usunąć elementu z tablicy diakrytyków"
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "niemożliwe: nie meta?\n"
> @@ -576,12 +581,12 @@ msgstr "nie udało się pobrać symbolu poprzez niewłaściwy typ: %d"
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr "nie udało się pobrać symbolu typu %d poprzez niewłaściwy indeks: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr "przyjęto %s %s"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "nieznany symbol '%s'"
> @@ -698,12 +703,12 @@ msgstr "loadkeys: nie wiem, jak wykonać compose dla %s"
>  msgid "'%s' is not a function key symbol"
>  msgstr "'%s' nie jest symbolem klawisza funkcyjnego"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "zbyt dużo (%ld) wpisów w jednym wierszu"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr "Ładowanie %s"
> @@ -777,11 +782,11 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr "Konsola nie jest w trybie tekstowym"
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  msgid "tall font not supported"
>  msgstr "font wysoki nie jest obsługiwany"
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr "Nie można załadować takiego fontu pod tą wersją jądra"
>  
> @@ -849,7 +854,7 @@ msgstr[1] "# %d wpisy"
>  msgstr[2] "# %d wpisów"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1261,25 +1266,25 @@ msgstr ""
>  "vt %d jest używany, polecenie przerwano; można użyć `%s -f' w celu "
>  "wymuszenia."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Nie udało się odnaleźć polecenia."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Nie można ustanowić nowej sesji"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "Użycie VT %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "Nie można otworzyć %s do odczytu i zapisu"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "Nie udało się zwolnić konsoli %d"
> @@ -1483,11 +1488,11 @@ msgstr ""
>  "przywrócenie fontu ekranowego, rozmiaru i mapy unikodowej do ustawień "
>  "rozruchowych."
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr "Za dużo plików wejściowych."
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
>  "Nie można jednocześnie odtworzyć z ROM-u i z pliku. Font nie zmieniony."
> diff --git a/po/pt.po b/po/pt.po
> index 3786723..49af0ab 100644
> --- a/po/pt.po
> +++ b/po/pt.po
> @@ -7,7 +7,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd 2.7-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2025-03-23 11:27+0000\n"
>  "Last-Translator: Pedro Albuquerque <pmra@protonmail.com>\n"
>  "Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
> @@ -60,7 +60,7 @@ msgstr "Argumentos insuficientes."
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -493,7 +493,12 @@ msgstr "impossível associar tecla %d a valor %d porque é demasiado grande"
>  msgid "Error writing map to file"
>  msgstr "Erro ao escrever mapa no ficheiro"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Impossível remover item da tabela diacrítica"
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "impossível: não meta?\n"
> @@ -576,12 +581,12 @@ msgstr "impossível obter símbolo por tipo errado: %d"
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr "impossível obter símbolo de tipo %d por índice errado: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr "a assumir %s %s"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "símbolo de tecla \"%s\" desconhecido"
> @@ -692,12 +697,12 @@ msgstr "loadkeys: não sei como compor para %s"
>  msgid "'%s' is not a function key symbol"
>  msgstr "\"%s\" não é um símbolo de tecla de função"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "demasiadas entradas (%ld) numa linha"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr "A carregar %s"
> @@ -772,11 +777,11 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr "A consola não está em modo de texto"
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  msgid "tall font not supported"
>  msgstr "letra alta não é suportado"
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr "Impossível carregar essa letra com esta versão do kernel"
>  
> @@ -843,7 +848,7 @@ msgstr[0] "entrada # %d"
>  msgstr[1] "entradas # %d"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1250,25 +1255,25 @@ msgstr "Impossível verificar se o TV %d está livre; use \"%s -f\" para forçar
>  msgid "vt %d is in use; command aborted; use `%s -f' to force."
>  msgstr "tv %d em uso; comando abortado; use \"%s -f\" para forçar."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Impossível localizar o comando."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Impossível definir nova sessão"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "A usar o TV %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "Impossível abrir %s leitura/escrita"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "Impossível desalocar a consola %d"
> @@ -1479,11 +1484,11 @@ msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr ""
>  "repor a letra do ecrã e o mapa unicode para as pré-definições de arranque."
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr "Demasiados ficheiros de entrada."
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
>  "Impossível restaurar de ROM de carácter e de ficheiro. Letra inalterada."
> diff --git a/po/pt_BR.po b/po/pt_BR.po
> index f05f9c5..0c85677 100644
> --- a/po/pt_BR.po
> +++ b/po/pt_BR.po
> @@ -6,7 +6,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd 2.2.90\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2020-06-03 07:52-0300\n"
>  "Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
>  "Language-Team: Brazilian Portuguese <ldpbr-"
> @@ -60,7 +60,7 @@ msgstr "Argumentos insuficientes."
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -501,7 +501,12 @@ msgstr "não é possível associar a tecla %d ao valor %d porque é grande demai
>  msgid "Error writing map to file"
>  msgstr "Erro ao escrever mapa para arquivo"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Não foi possível remover o item da tabela de diacríticos"
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "impossível: não é meta?\n"
> @@ -584,12 +589,12 @@ msgstr "não foi possível obter símbolo por tipo incorreto: %d"
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr "não foi possível obter símbolo do tipo %d por índice incorreto: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr "presumindo %s %s"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "símbolo de tecla (keysym) desconhecido \"%s\""
> @@ -701,12 +706,12 @@ msgstr "loadkeys: não sei como compor para %s"
>  msgid "'%s' is not a function key symbol"
>  msgstr "\"%s\" não é um símbolo de tecla de função"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "número excessivo (%ld) de entradas em uma linha"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr "Carregando %s"
> @@ -780,12 +785,12 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  #, fuzzy
>  msgid "tall font not supported"
>  msgstr "Sem suporte\n"
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr ""
>  
> @@ -852,7 +857,7 @@ msgstr[0] "# %d entrada"
>  msgstr[1] "# %d entradas"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1265,25 +1270,25 @@ msgstr ""
>  msgid "vt %d is in use; command aborted; use `%s -f' to force."
>  msgstr "vt %d está em uso; comando abortado; use \"%s -f\" para forçar."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Não foi possível localizar comando."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Não foi possível definir uma nova sessão"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "Usando o VT %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "Não foi possível abrir %s para leitura/escrita"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "Não foi possível desalocar o console %d"
> @@ -1477,11 +1482,11 @@ msgstr "Mapa Unicode anexado"
>  msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr ""
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr "Número excessivo de arquivos de entrada."
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
>  "Não é possível restaurar a partir de ROM de caractere e de arquivo. Fonte "
> diff --git a/po/ro.po b/po/ro.po
> index e5f2e19..02b20e2 100644
> --- a/po/ro.po
> +++ b/po/ro.po
> @@ -25,7 +25,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd 2.7-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2024-10-29 14:30+0100\n"
>  "Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
>  "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
> @@ -79,7 +79,7 @@ msgstr "Nu sunt suficiente argumente."
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -575,7 +575,12 @@ msgstr ""
>  msgid "Error writing map to file"
>  msgstr "Eroare la scrierea schemei în fișier"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Nu se poate elimina elementul din tabla de diacritice"
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "imposibil: non meta?\n"
> @@ -662,12 +667,12 @@ msgstr "nu se poate obține simbolul după tipul eronat: %d"
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr "nu se poate obține simbolul de tip %d după indexul greșit: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr "presupunând %s %s"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "simbol_tastă(keysym) „%s” necunoscut"
> @@ -792,12 +797,12 @@ msgstr "loadkeys: nu știu cum să compun pentru %s"
>  msgid "'%s' is not a function key symbol"
>  msgstr "„%s” nu este un simbol al unei taste funcționale"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "prea multe (%ld) intrări într-o singură linie"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr "Se încarcă %s"
> @@ -874,11 +879,11 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr "Consola nu este în modul text"
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  msgid "tall font not supported"
>  msgstr "fontul înalt nu este acceptat"
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr "Nu se poate încărca un astfel de font cu această versiune de nucleu"
>  
> @@ -951,7 +956,7 @@ msgstr[2] "# %d intrări"
>  msgstr[3] "# %d de intrări"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1375,25 +1380,25 @@ msgstr ""
>  "terminalul virtual(vt) %d este în uz; comanda a fost anulată; utilizați «%s "
>  "-f» pentru a forța."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Nu se poate găsi comanda."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Nu se poate configura o nouă sesiune"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "Se utilizează terminalul virtual(VT) %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "Nu se poate deschide %s pentru citire/scriere"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "Nu s-a putut elibera consola %d"
> @@ -1616,11 +1621,11 @@ msgstr ""
>  "restabilește fontul ecranului, dimensiunea și harta unicode la valorile "
>  "implicite de la pornire."
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr "Prea multe fișiere de intrare."
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
>  "Nu se poate restaura în același timp din ROM-ul de caractere, cât și din "
> diff --git a/po/ru.po b/po/ru.po
> index f707ecd..7ebf5a2 100644
> --- a/po/ru.po
> +++ b/po/ru.po
> @@ -8,7 +8,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd 2.6-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2023-05-20 11:36+0300\n"
>  "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
>  "Language-Team: Russian <gnu@d07.ru>\n"
> @@ -62,7 +62,7 @@ msgstr "Недостаточно аргументов."
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -498,7 +498,12 @@ msgstr ""
>  msgid "Error writing map to file"
>  msgstr "Ошибка записи карты в файл"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Невозможно: не удалось получить элемент из диакритической таблицы"
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "невозможно: не мета?\n"
> @@ -582,12 +587,12 @@ msgstr "невозможно получить символ по некоррек
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr "невозможно получить символ с типом %d по некорректному индексу: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr "предполагается %s %s"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "неизвестный keysym «%s»"
> @@ -703,12 +708,12 @@ msgstr "loadkeys: непонятно как выполнить составле
>  msgid "'%s' is not a function key symbol"
>  msgstr "«%s» не является символом функциональной клавиши"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "слишком много (%ld) элементов в одной строке"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr "Загружается %s"
> @@ -783,12 +788,12 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  #, fuzzy
>  msgid "tall font not supported"
>  msgstr "Не поддерживается\n"
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr ""
>  
> @@ -856,7 +861,7 @@ msgstr[1] "# %d элемент"
>  msgstr[2] "# %d элементов"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1272,25 +1277,25 @@ msgstr ""
>  "vt %d используется; команда прервана; используйте «%s -f» для "
>  "принудительного запуска."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Не удалось найти команду."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Не удалось установить новый сеанс"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "Используется VT %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "Не удалось открыть %s на чтение/запись"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "Не удалось освободить консоль %d"
> @@ -1486,11 +1491,11 @@ msgstr "Юникодная карта добавлена"
>  msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr ""
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr "Слишком много входных файлов."
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
>  "Не удалось восстановить сразу из символьного ПЗУ и из файла. Шрифт не "
> @@ -1962,6 +1967,9 @@ msgstr "Данное устройство tty (%s) не является вир
>  msgid "The entire console display cannot be locked.\n"
>  msgstr "Экран консоли не может быть быть заблокирован целиком.\n"
>  
> +#~ msgid "impossible: не удалось получить диакритический символ"
> +#~ msgstr "невозможно: "
> +
>  #~ msgid "octal number too big"
>  #~ msgstr "слишком большое восьмеричное число"
>  
> diff --git a/po/sq.po b/po/sq.po
> index b1cdf27..a4fcd5e 100644
> --- a/po/sq.po
> +++ b/po/sq.po
> @@ -7,7 +7,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd 2.6-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2024-10-26 18:56+0300\n"
>  "Last-Translator: Besnik Bleta <besnik@programeshqip.org>\n"
>  "Language-Team: Albanian <translation-team-sq@lists.sourceforge.net>\n"
> @@ -60,7 +60,7 @@ msgstr "S’ka argumente të mjaftueshëm."
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -480,7 +480,12 @@ msgstr ""
>  msgid "Error writing map to file"
>  msgstr "Gabim në shkrimin tabele te kartela"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "S’arrihet të hiqet objekt nga tabelë diakritikësh"
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr ""
> @@ -563,12 +568,12 @@ msgstr ""
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr ""
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr ""
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr ""
> @@ -678,12 +683,12 @@ msgstr ""
>  msgid "'%s' is not a function key symbol"
>  msgstr "'%s' s’është simbol tasti funksioni"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "shumë zëra (%ld) në një rresht"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr "Po ngarkohet %s"
> @@ -756,12 +761,12 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  #, fuzzy
>  msgid "tall font not supported"
>  msgstr "Nuk mbulohet\n"
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr ""
>  
> @@ -822,7 +827,7 @@ msgstr[0] "# %d zë"
>  msgstr[1] "# %d zëra"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1235,25 +1240,25 @@ msgstr ""
>  msgid "vt %d is in use; command aborted; use `%s -f' to force."
>  msgstr ""
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "S’arrihet të gjendet urdhër."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "S’arrihet të ujdiset sesion i ri"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "Po përdoret TV %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "S’hapet dot %s lexim/shkrim"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr ""
> @@ -1438,11 +1443,11 @@ msgstr ""
>  msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr ""
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr "Shumë kartela dhënie."
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
>  
> diff --git a/po/sr.po b/po/sr.po
> index 3012092..517414f 100644
> --- a/po/sr.po
> +++ b/po/sr.po
> @@ -7,7 +7,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd-2.7-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2024-12-18 21:56+0100\n"
>  "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
>  "Language-Team: Serbian <(nothing)>\n"
> @@ -61,7 +61,7 @@ msgstr "Нема довољно аргумената."
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -494,7 +494,12 @@ msgstr "не могу да свежем тастер %d на вредност %d
>  msgid "Error writing map to file"
>  msgstr "Грешка писања мапе у датотеку"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Не могу да уклоним ставку из дијакритичке табеле"
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "немогуће: није мета?\n"
> @@ -577,12 +582,12 @@ msgstr "не могу да добавим симбол погршном врст
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr "не могу да добавим симбол %d врсте погршним индексом: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr "подразумевам „%s %s“"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "непозната сума тастера „%s“"
> @@ -697,12 +702,12 @@ msgstr "loadkeys: не знам како да саставим за „%s“"
>  msgid "'%s' is not a function key symbol"
>  msgstr "„%s“ није симбол тастера функције"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "превише (%ld) уноса у једном реду"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr "Учитавам „%s“"
> @@ -776,11 +781,11 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr "Конзола није у текстуалном режиму"
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  msgid "tall font not supported"
>  msgstr "високи словни ликови нису подржани"
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr "Не могу да учитам такав словни лик са таквим издањем кернела"
>  
> @@ -848,7 +853,7 @@ msgstr[1] "# %d уноса"
>  msgstr[2] "# %d уноса"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1264,25 +1269,25 @@ msgid "vt %d is in use; command aborted; use `%s -f' to force."
>  msgstr ""
>  "вт %d је у употреби; наредба је прекинута; користите „%s -f“ за приморавање."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Не могу да нађем наредбу."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Не могу да подесим нову сесију"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "Користим ВТ %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "Не могу да отворим „%s“ ради писања/уписа"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "Не могу да разместим конзолу %d"
> @@ -1493,11 +1498,11 @@ msgstr ""
>  "поново поставља словни лик, величину и јуникод мапу екрана на подизне "
>  "основности."
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr "Превише улазних датотека."
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
>  "Не могу да вратим и из РОМ-а знака и из датотеке. Словни лик није измењен."
> diff --git a/po/sv.po b/po/sv.po
> index 3acf482..2f2ee31 100644
> --- a/po/sv.po
> +++ b/po/sv.po
> @@ -11,7 +11,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd 2.7-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2024-10-30 22:24+0100\n"
>  "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
>  "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
> @@ -63,7 +63,7 @@ msgstr "Inte tillräckligt med argument."
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -502,7 +502,12 @@ msgstr ""
>  msgid "Error writing map to file"
>  msgstr "Fel vid skrivning av avbildningen till en fil"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Kan inte ta bort ett element från tabellen över diakritiska tecken"
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "omöjligt: inte meta?\n"
> @@ -585,12 +590,12 @@ msgstr "kan inte hämta symbol enligt fel typ: %d"
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr "kan inte hämta symbol av typ %d enligt fel index: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr "antar %s %s"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "okänd teckensymbol ”%s”"
> @@ -701,12 +706,12 @@ msgstr "loadkeys: vet inte hur man komponerar för %s"
>  msgid "'%s' is not a function key symbol"
>  msgstr "”%s” är inte en funktionstangentsymbol"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "för många (%ld) poster på en rad"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr "Laddar %s"
> @@ -780,11 +785,11 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr "Konsolen är inte i textläge"
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  msgid "tall font not supported"
>  msgstr "höga typsnitt stödjs ej"
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr "Kan inte ladda ett sådant typsnitt med en sådan kärnversion"
>  
> @@ -851,7 +856,7 @@ msgstr[0] "# %d post"
>  msgstr[1] "# %d poster"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1263,25 +1268,25 @@ msgstr ""
>  msgid "vt %d is in use; command aborted; use `%s -f' to force."
>  msgstr "vt %d används, kommandot avbrutet; använd ”%s -f” för att framtvinga."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Kunde inte hitta kommandot."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Kan inte sätta ny session"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "Använder VT %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "Kan inte öppna %s för läsning/skrivning"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "Kunde inte avallokera konsol %d"
> @@ -1492,11 +1497,11 @@ msgstr ""
>  "återställ skärmtypsnittet, storleken och unicode-avbildningen till "
>  "startvärdena."
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr "För många indatafiler."
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
>  "Kan inte både återställa från tecken-ROM och från fil.  Typsnittet "
> diff --git a/po/tr.po b/po/tr.po
> index 3383695..90c6531 100644
> --- a/po/tr.po
> +++ b/po/tr.po
> @@ -5,7 +5,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd 1.10\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2004-01-21 06:15+0300\n"
>  "Last-Translator: Nilgün Belma Bugüner <nilgun@superonline.com>\n"
>  "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
> @@ -57,7 +57,7 @@ msgstr ""
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -491,7 +491,11 @@ msgstr ""
>  msgid "Error writing map to file"
>  msgstr "E$lem dosyaya yazilirken hata\n"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "imkansiz: meta degil?\n"
> @@ -574,12 +578,12 @@ msgstr ""
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr ""
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, fuzzy, c-format
>  msgid "assuming %s %s"
>  msgstr "iso-8859-1'deki  %s oldugu varsayildi\n"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, fuzzy, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "'%s' sembolu bilinmiyor\n"
> @@ -687,12 +691,12 @@ msgstr ""
>  msgid "'%s' is not a function key symbol"
>  msgstr ""
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, fuzzy, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "Birle$tirilecek dosya sayisi cok fazla\n"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, fuzzy, c-format
>  msgid "Loading %s"
>  msgstr "%s okunurken hata\n"
> @@ -766,11 +770,11 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  msgid "tall font not supported"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr ""
>  
> @@ -837,7 +841,7 @@ msgstr[0] "girdi"
>  msgstr[1] "girdi"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, fuzzy, c-format
> @@ -1271,26 +1275,26 @@ msgstr "openvt: sanal terminal (vt) %d serbest mi denetlenemiyor\n"
>  msgid "vt %d is in use; command aborted; use `%s -f' to force."
>  msgstr "openvt: sanal terminal (vt) %d kullanimda; komut iptal edildi\n"
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr ""
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  #, fuzzy
>  msgid "Unable to set new session"
>  msgstr "openvt: yeni oturum (%s) ayarlanamiyor\n"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, fuzzy, c-format
>  msgid "Using VT %s"
>  msgstr "openvt: VT %s kullanarak\n"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, fuzzy, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "openvt: %s oku/yaz kipinde acilamiyor (%s)\n"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, fuzzy, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "%s: %d konsolu kaldirilamadi\n"
> @@ -1497,12 +1501,12 @@ msgstr ""
>  msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr ""
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  #, fuzzy
>  msgid "Too many input files."
>  msgstr "setfont: cok fazla girdi dosyasi\n"
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  #, fuzzy
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
> diff --git a/po/uk.po b/po/uk.po
> index b05955c..7174ede 100644
> --- a/po/uk.po
> +++ b/po/uk.po
> @@ -7,7 +7,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd 2.7-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2024-10-29 18:02+0200\n"
>  "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
>  "Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
> @@ -63,7 +63,7 @@ msgstr "Недостатньо аргументів."
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -500,7 +500,12 @@ msgstr ""
>  msgid "Error writing map to file"
>  msgstr "Помилка запису у файл"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +#, fuzzy
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr "Не вдалося вилучити запис із таблиці діакритичних символів"
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "неможливо: не `meta'?\n"
> @@ -583,12 +588,12 @@ msgstr "не вдалося отримати символ за помилков
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr "не вдалося отримати символ типу %d за помилковим індексом: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr "припускаємо %s %s"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "невідомий символ клавіші «%s»"
> @@ -711,12 +716,12 @@ msgstr "loadkeys: невідомий спосіб створення сполу
>  msgid "'%s' is not a function key symbol"
>  msgstr "«%s» не є символом функціональної клавіші"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "занадто багато записів (%ld) в одному рядку"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr "Завантажується «%s»"
> @@ -790,11 +795,11 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr "Консоль не перебуває у текстовому режимі"
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  msgid "tall font not supported"
>  msgstr "підтримки високих шрифтів не передбачено"
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr "Не вдалося завантажити такий шрифт із такою версією ядра"
>  
> @@ -863,7 +868,7 @@ msgstr[2] "# %d записів"
>  msgstr[3] "# %d запис"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1278,25 +1283,25 @@ msgstr ""
>  "vt %d вже використовується; виконання команди перервано; скористайтеся "
>  "командою «%s -f» для встановлення у примусовому режимі."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Не вдалося знайти команду."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Не вдалося встановити новий сеанс"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "Використовується ВТ %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "Не вдалося відкрити %s для читання або запису"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "не вдалося звільнити консоль %d"
> @@ -1509,11 +1514,11 @@ msgstr ""
>  "відновити типові значення під час завантаження для шрифту екрана, розміру та "
>  "схеми unicode."
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr "Надто багато вхідних файлів."
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr "Не вдалося ставити шрифт одразу з ПЗУ, та з файла. Шрифт не змінено."
>  
> diff --git a/po/vi.po b/po/vi.po
> index a4df83e..d149c02 100644
> --- a/po/vi.po
> +++ b/po/vi.po
> @@ -10,7 +10,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd 2.0.4-rc1\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2016-12-28 13:46+0700\n"
>  "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
>  "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
> @@ -65,7 +65,7 @@ msgstr "Lỗi: không có đủ đối số.\n"
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -510,7 +510,11 @@ msgstr "gặp lỗi khi tổ hợp phím %d với giá trị %d"
>  msgid "Error writing map to file"
>  msgstr "Lỗi ghi nhớ ánh xạ vào tập tin"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "không thể: không phải meta?\n"
> @@ -593,12 +597,12 @@ msgstr "không thể lấy ký hiệu bằng kiểu sai: %d"
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr "không thể lấy ký hiệu của kiểu %d bằng chỉ số sai: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, fuzzy, c-format
>  msgid "assuming %s %s"
>  msgstr "coi là iso-8859-1 %s"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, fuzzy, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "không rõ ký tự phím (keysym) “%s”\n"
> @@ -703,12 +707,12 @@ msgstr "loadkeys: không biết cách cấu tạo cho %s\n"
>  msgid "'%s' is not a function key symbol"
>  msgstr "“%s” không phải là một ký hiệu phím chức năng"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, fuzzy, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "quá nhiều (%d) mục nhập trên cùng một dòng"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, fuzzy, c-format
>  msgid "Loading %s"
>  msgstr "Đang nạp %s\n"
> @@ -782,11 +786,11 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  msgid "tall font not supported"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr ""
>  
> @@ -854,7 +858,7 @@ msgid_plural "# %d entries"
>  msgstr[0] "mục"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, fuzzy, c-format
> @@ -1297,25 +1301,25 @@ msgstr ""
>  "vt %d đang được sử dụng; lệnh bị bãi bỏ; sử dụng “%s -f” để ép buộc thực "
>  "hiện."
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "Không thể tìm thấy lệnh."
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "Không thể đặt phiên làm việc mới"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "Đang dùng VT %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "không thể mở %s để đọc/ghi"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "Không thể cấp phát lại console (thiết bị điều khiển) %d"
> @@ -1517,12 +1521,12 @@ msgstr ""
>  msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr ""
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  #, fuzzy
>  msgid "Too many input files."
>  msgstr "setfont: quá nhiều tập tin đầu vào\n"
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  #, fuzzy
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr ""
> diff --git a/po/zh_CN.po b/po/zh_CN.po
> index 03127ad..bc1cfc9 100644
> --- a/po/zh_CN.po
> +++ b/po/zh_CN.po
> @@ -10,7 +10,7 @@ msgid ""
>  msgstr ""
>  "Project-Id-Version: kbd 2.5-rc2\n"
>  "Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
> -"POT-Creation-Date: 2025-09-04 11:19+0200\n"
> +"POT-Creation-Date: 2026-02-14 20:09+0300\n"
>  "PO-Revision-Date: 2022-06-30 11:35-0400\n"
>  "Last-Translator: Boyuan Yang <073plan@gmail.com>\n"
>  "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
> @@ -63,7 +63,7 @@ msgstr "参数不足。"
>  #: src/fgconsole.c:74 src/getkeycodes.c:67 src/getunimap.c:94 src/kbdinfo.c:100
>  #: src/kbd_mode.c:153 src/libcommon/getfd.c:88 src/loadkeys.c:200
>  #: src/loadunimap.c:88 src/mapscrn.c:90 src/openvt.c:328 src/resizecons.c:168
> -#: src/setfont.c:313 src/setkeycodes.c:117 src/setlogcons.c:96
> +#: src/setfont.c:317 src/setkeycodes.c:117 src/setlogcons.c:96
>  #: src/setmetamode.c:116 src/setpalette.c:80 src/setvesablank.c:31
>  #: src/setvtrgb.c:202 src/showconsolefont.c:173 src/showkey.c:198
>  #: src/totextmode.c:31
> @@ -492,7 +492,11 @@ msgstr "将键 %d 绑定到值 %d 失败"
>  msgid "Error writing map to file"
>  msgstr "将映射写入文件失败"
>  
> -#: src/libkeymap/dump.c:546
> +#: src/libkeymap/dump.c:227
> +msgid "impossible: unable to get item from the diacritical table"
> +msgstr ""
> +
> +#: src/libkeymap/dump.c:550
>  #, c-format
>  msgid "impossible: not meta?\n"
>  msgstr "不可能:不是 meta 键?\n"
> @@ -575,12 +579,12 @@ msgstr "无法以错误的类型获取符号: %d"
>  msgid "unable to get symbol of %d type by wrong index: %d"
>  msgstr "无法以错误的索引获取 %d 类型的符号: %d"
>  
> -#: src/libkeymap/ksyms.c:392
> +#: src/libkeymap/ksyms.c:393
>  #, c-format
>  msgid "assuming %s %s"
>  msgstr "假定 %s %s"
>  
> -#: src/libkeymap/ksyms.c:399
> +#: src/libkeymap/ksyms.c:400
>  #, c-format
>  msgid "unknown keysym '%s'"
>  msgstr "未知的 keysym '%s'"
> @@ -685,12 +689,12 @@ msgstr "loadkeys: 不知道如何为 %s 进行组合\n"
>  msgid "'%s' is not a function key symbol"
>  msgstr "'%s' 不是一个功能键标志"
>  
> -#: src/libkeymap/parser.y:333
> +#: src/libkeymap/parser.y:336
>  #, fuzzy, c-format
>  msgid "too many (%ld) entries on one line"
>  msgstr "一行上存在太多的 ( %d 个) 条目"
>  
> -#: src/libkeymap/parser.y:399
> +#: src/libkeymap/parser.y:402
>  #, c-format
>  msgid "Loading %s"
>  msgstr "正在加载 %s"
> @@ -764,12 +768,12 @@ msgstr ""
>  msgid "Console is not in text mode"
>  msgstr ""
>  
> -#: src/libkfont/kdfontop.c:196
> +#: src/libkfont/kdfontop.c:197
>  #, fuzzy
>  msgid "tall font not supported"
>  msgstr "不支持\n"
>  
> -#: src/libkfont/kdfontop.c:212
> +#: src/libkfont/kdfontop.c:213
>  msgid "Unable to load such font with such kernel version"
>  msgstr ""
>  
> @@ -836,7 +840,7 @@ msgid_plural "# %d entries"
>  msgstr[0] "个条目"
>  
>  #: src/libkfont/loadunimap.c:316 src/libkfont/mapscrn.c:100
> -#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:413
> +#: src/libkfont/mapscrn.c:230 src/loadkeys.c:273 src/openvt.c:411
>  #: src/psfxtable.c:120 src/psfxtable.c:127 src/psfxtable.c:136
>  #: src/psfxtable.c:143
>  #, c-format
> @@ -1248,25 +1252,25 @@ msgstr "无法检查 VT %d 是否空闲;使用“%s -f”强制执行。"
>  msgid "vt %d is in use; command aborted; use `%s -f' to force."
>  msgstr "vt %d 正在使用中;命令已中止;使用“%s -f”强制执行。"
>  
> -#: src/openvt.c:353
> +#: src/openvt.c:354
>  msgid "Unable to find command."
>  msgstr "无法找到命令。"
>  
> -#: src/openvt.c:388
> +#: src/openvt.c:386
>  msgid "Unable to set new session"
>  msgstr "无法设置新的会话"
>  
> -#: src/openvt.c:417
> +#: src/openvt.c:415
>  #, c-format
>  msgid "Using VT %s"
>  msgstr "正在使用 VT %s"
>  
> -#: src/openvt.c:423
> +#: src/openvt.c:421
>  #, c-format
>  msgid "Cannot open %s read/write"
>  msgstr "无法打开 %s 以供读写"
>  
> -#: src/openvt.c:470
> +#: src/openvt.c:468
>  #, c-format
>  msgid "Couldn't deallocate console %d"
>  msgstr "无法回收控制台 %d"
> @@ -1459,11 +1463,11 @@ msgstr "Unicode 映射已附加\n"
>  msgid "reset the screen font, size, and unicode map to the bootup defaults."
>  msgstr ""
>  
> -#: src/setfont.c:296 src/setfont.c:304
> +#: src/setfont.c:296 src/setfont.c:308
>  msgid "Too many input files."
>  msgstr "太多的输入文件。"
>  
> -#: src/setfont.c:309
> +#: src/setfont.c:313
>  #, fuzzy
>  msgid "Cannot both restore from character ROM and from file. Font unchanged."
>  msgstr "setfont: 无法既从字符 ROM 进行恢复又从文件进行恢复。字体不变。\n"
> diff --git a/src/libkeymap/dump.c b/src/libkeymap/dump.c
> index 47df091..1a1050e 100644
> --- a/src/libkeymap/dump.c
> +++ b/src/libkeymap/dump.c
> @@ -223,6 +223,10 @@ int lk_dump_ctable(struct lk_ctx *ctx, FILE *fd)
>  			unicode ? "uc" : "");
>  	for (i = 0; i < ctx->accent_table->count; i++) {
>  		kddiac = lk_array_get_ptr(ctx->accent_table, i);
> +		if (!kddiac) {
> +			ERR(ctx, _("impossible: unable to get item from the diacritical table"));
> +			return -1;
> +		}
>  
>  		fprintf(fd, "\t{");
>  		outchar(fd, kddiac->diacr, 1);
> -- 
> 2.52.0
> 

-- 
Rgrds, legion


  reply	other threads:[~2026-02-14 23:08 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-14 17:27 [PATCH 1/4] libkeymap: prevent NULL dereference in parser Krdyan Areg
2026-02-14 17:27 ` [PATCH 2/4] kbdfile: remove redundant NULL check in findfile_by_fullname Krdyan Areg
2026-02-14 17:27 ` [PATCH 3/4] libkeymap: add NULL check in kt_latin symbol lookup Krdyan Areg
2026-02-14 17:27 ` [PATCH 4/4] libkeymap: add NULL check in lk_dump_ctable diacritical loop Krdyan Areg
2026-02-14 23:08   ` Alexey Gladkov [this message]
2026-02-15  8:04     ` Areg Krdyan
2026-02-15 17:49       ` Alexey Gladkov
2026-02-15 17:34 ` [PATCH 1/4] libkeymap: prevent NULL dereference in parser Alexey Gladkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aZEAX5DwskkefCbY@example.org \
    --to=legion@kernel.org \
    --cc=areg.krdian@gmail.com \
    --cc=kbd@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox