This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Why doesn't ~/inputrc work


On 28 April 2011 13:40, Eliot Moss wrote:
> I took a while to play around. One thing you may need to
> do is set the TERM environment variable to a proper, more
> capable, terminal (such as "cygwin").
>
> Beyond that, I found that I needed to:
>
> set convert-meta on

That's not a solution for everyone, because it makes it impossible to
enter characters beyond 7-bit ASCII. The setting means that input
bytes with the eighth bit set have that bit cleared and are prefixed
by an escape character instead.

> in my .inputrc and also to write the escape sequences as
> (for example):
>
> "\M-b": "echo meta b"

To make this work without enabling convert-meta, try using "\eb"
instead of "\M-B". Here's why: back in the olden days, character codes
were 7 bits wide, so there was one bit to spare in your usual 8-bit
byte, and the Meta modifier key could be used to set that. Then those
pesky foreign types came along and claimed the eigth bit for their
ÃmlÃÃts and other funny characters, which obviously collided with the
Meta bit. Therefore, a different scheme became necessary to encode the
Alt (nÃe Meta) modifier: instead of setting the eighth bit, most
terminal emulators these days send an escape character prefix.
Inevitably, there's confusion on whether "Meta" should only refer to
ye olde eighth-bit scheme, or to the escape prefix scheme too.

In bash/readline's .inputrc without convert-meta on, the "\M-" refers
to the eighth-bit scheme only, so an Alt+b keypress sending Escape
followed by 'b' doesn't match "\M-b". In fact, with Cygwin's default
UTF-8 locale, a byte representing 'b' with the eighth bit set (i.e.
0xE2) actually constitutes an incomplete character sequence, hence
readline simply ignores such a key binding.

Ãndy

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]