[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/