[debian-mysql] Bug#975911: mariadb-client: appears to ignore ~/.editrc keybind settings
The Wanderer
wanderer at fastmail.fm
Thu Nov 26 14:43:18 GMT 2020
Package: mariadb-client
Version: 1:10.5.8-3
Severity: normal
Dear Maintainer,
I have just upgraded mariadb-client (and -server) from version 10.3.x to
version 10.5.8-3. As far as I can tell, no versions between those made
it into testing. If I'm not mistaken, the last version I was running
pre-upgrade was 10.3.24-2.
Prior to the upgrade, in an interactive session within the 'mysql'
terminal-based client, Ctrl+W would kill everything to the left of the
cursor up to the first word boundary (which in practice appeared to mean
"whitespace"), but nothing to the left of that point.
This is apparently not the default, but I have it configured in
~/.editrc. The contents of that file are as follows:
---8<---
bind "^U" vi-kill-line-prev
bind "^W" ed-delete-prev-word
---8<---
Following the upgrade and a restart of the client, in such an
interactive session, Ctrl+W now kills everything to the left of the
cursor, all the way to the beginning of the line. This appears to be the
default behavior, used when no alternate configuration has been applied.
It thus appears as if the settings I have in place in ~/.editrc are
simply being ignored. The environment variable EDITRC is not set.
Launching with it explicitly set does not appear to change anything.
I've found this behavior mentioned in a few places online. Nearly all of
them seem to advise resolving it by adding that Ctrl+W bind in
~/.editrc. The only one I've found thus far which indicates that doing
so does not change the behavior is
https://bugs.mysql.com/bug.php?id=95287
in which the solution found is to build with the internal libedit rather
than the system copy, which is obviously not suitable for Debian.
The only mentions of 'edit' in the relevant changelogs that I've found
are in those for mariadb-client-core-10.5. Version 1:10.4.12-1~exp2 has
an entry for "Link with libedit instead of readline5", and version
1:10.5.5-2 has one for "Add native dependencies on gnutls, libedit and
ncurses" (in relation to cross-compiling). I'd guess that the former is
the more relevant of the two, but I don't know for sure.
The installed version of libedit2 is 3.1-20191231-1. Based on the date,
I doubt that it was recently upgraded from an earlier version, but I
cannot testify to that for certain.
The only mention of ~/.editrc being ignored that I've managed to find
yet is a question on superuser.com from 2010, regarding ghci, which got
no answer.
I'm not sure whether the bug here is in mariadb-client or in libedit, or
even somewhere else, but this is clearly a behavior regression.
If the existing configuration through this file is supposed to continue
to be respected after the upgrade, please make appropriate adjustments
so that that happens.
If it is not, please explain and document what the correct method is for
applying such configuration.
If there is anything I can do to help track this down and get it
working, please let me know. I've tried strace, but failed to find
anything relevant thus far in the result; in particular, I find no
mention of the string 'editrc', although libedit.so.2 is apparently
read.
-- System Information:
Debian Release: bullseye/sid
APT prefers testing
APT policy: (900, 'testing'), (800, 'stable'), (500, 'testing-debug')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 5.9.0-2-amd64 (SMP w/12 CPU threads)
Kernel taint flags: TAINT_WARN
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE
not set
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
LSM: AppArmor: enabled
Versions of packages mariadb-client depends on:
ii mariadb-client-10.5 1:10.5.8-3
mariadb-client recommends no packages.
mariadb-client suggests no packages.
-- no debconf information
More information about the pkg-mysql-maint
mailing list