BUG #15705: psql autocompletion is not always correct with latest libedit

Started by PG Bug reporting formabout 7 years ago2 messagesbugs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following bug has been logged on the website:

Bug reference: 15705
Logged by: Alexander Pyhalov
Email address: apyhalov@gmail.com
PostgreSQL version: 11.2
Operating system: OpenIndiana
Description:

After updating libedit from 20170329-3.1 to 20181209-3.1 we see the
following issue in psql:
while typing "create user test encr<TAB>" I see:

create user test encrypted\ password

(note \ before space)
The issue seems to be in
https://github.com/NetBSD/src/commit/47081400d868e1d6dd5629bea97c599c48404839
- now libedit treats input as file names and escapes it accordingly.

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: PG Bug reporting form (#1)
Re: BUG #15705: psql autocompletion is not always correct with latest libedit

PG Bug reporting form <noreply@postgresql.org> writes:

After updating libedit from 20170329-3.1 to 20181209-3.1 we see the
following issue in psql:
while typing "create user test encr<TAB>" I see:

create user test encrypted\ password

(note \ before space)
The issue seems to be in
https://github.com/NetBSD/src/commit/47081400d868e1d6dd5629bea97c599c48404839
- now libedit treats input as file names and escapes it accordingly.

I think you need to complain to the libedit authors, not us.
While I can't find any API spec anywhere for libedit's completion
functionality, it seems to be meant to match GNU readline,
and the GNU docs are pretty clear that the results of
rl_attempted_completion_function should be taken literally.
I think they injected the extra quoting at the wrong level ...

regards, tom lane