bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bash.1 anomalously documents some readline variables


From: Chet Ramey
Subject: Re: bash.1 anomalously documents some readline variables
Date: Sun, 28 Feb 2016 17:06:52 -0500
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.6.0

On 2/28/16 7:04 AM, Branden Robinson wrote:

> Bash Version: 4.3
> Patch Level: 42
> Release Status: release
> 
> Description:
>         Bash man page has anomalous documentation of readline variables

Thanks for the report.  I'll take a look.


>         2. The "byte-oriented" variable is not documented.  A grep of the 
> source
>         code suggests that the feature is defunct and the variable can be
>         removed from lib/readline/bind.c:boolean_varlist.

It's deprecated but may still appear in user configuration files.


>         4. The "completion-map-case" variable is not documented here.  It's
>         documented in lib/readline/doc/rluser.texi, though.
> 
>         N.B.: I find this variable to be confusingly named.  I don't think of
>         the "-" and "_" characters as having case.  I don't think the Unicode
>         standard does either; I'm willing to research the topic if you like.

This went in back in 2010 as a user-requested feature; many people find it
convenient.

> 
>         5. The "convert-meta" variable is documented as defaulting "on", but
>         that appears to be out of date per 
> lib/readline/bind.c:boolean_varlist.
> 
>         The example .inputrc in lib/readline/doc/rluser.texi should perhaps be
>         updated to document reasons for turning convert-meta on rather than 
> off.
>         If so, question G1 in the FAQ may also benefit from an update.  You 
> know
>         better than I whether most Bash users are living in 8-bit friendly
>         terminals.

The default can alter depending on the locale.

> 
>         7. The "history-size" variable documents a default of "0", which 
> appears
>         to be incorrect.  bashhist.c:load_history() sets it to 500 if the user
>         hasn't already set it.

This is a case where the readline and bash defaults differ.  I'll fix the
bash documentation.


>         8. The "input-meta" variable is documented as defaulting "off", and 
> that
>         agrees with lib/readline/bind.c:boolean_varlist, but when I launch 
> bash
>         with --noprofile --norc, it appears to default on instead.  Perhaps 
> the
>         default is determined by querying the terminal?

The default can be altered depending on the locale.

> 
>         Also, I'm having trouble understanding this option's description as
>         anything but strictly the logical inverse of "convert-meta". 

They are not.  convert-meta says what to do if you read a character with
its eighth bit set.  input-meta says whether to permit characters with the
eighth bit at all.


>         If it's a matter of one flag ignoring/stripping the eighth bit*, and 
> the
>         other interpeting an unstripped 8-bit character as a printable
>         character** or a meta-key sequence, then could that please be 
> clarified
>         in the man page?

That's pretty much exactly what the descriptions say.  The convert-meta
description says:

readline will convert characters with the
eighth bit set to an ASCII key sequence
by stripping the eighth bit and prefixing an
escape character

The input-meta description says:

readline will enable eight-bit input (that is,
it will not strip the eighth bit from the characters it reads)

>         * Which I would have thought to be the terminal driver's 
> responsibility,
>         but I realize Bash has to work on some incredibly brain-damaged 
> systems.

On most modern systems, you can set the terminal modes to do this.

>         9. The "isearch-terminators" variable is documented in the man page,
>         but, if left at its default value, not reported by "bind -v" or "bind
>         -V".

It has no value by default.  I suppose I could change the description to
read `unset' instead.


>         11. The "output-meta" variable is documented as defaulting "off", and
>         that agrees with lib/readline/bind.c:boolean_varlist, but when I 
> launch
>         bash with --noprofile --norc, it appears to default on instead.  
> Perhaps
>         the default is determined by querying the terminal?

The default can be altered depending on the locale.

> 
>         12. The "prefer-visible-bell" variable is not documented here.  It's 
> not
>         documented in lib/readline/doc/rluser.texi, either.  It appears that
>         readline defaults to an audible bell at lib/readline/readline.c:227, 
> but
>         lib/readline/bind.c:91 overrides this with a visible default.

prefer-visible-bell was never documented and superseded by bell-style in
bash-1.14.


-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU    chet@case.edu    http://cnswww.cns.cwru.edu/~chet/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]