Problem with readline (command line editing)

suvayu ali fatkasuvayu+linux at gmail.com
Thu Dec 1 09:39:28 UTC 2011


Hi Cameron,

On Thu, Dec 1, 2011 at 04:59, Cameron Simpson <cs at zip.com.au> wrote:
> Might your terminal emulator settings have changed?
>

I use Terminal (the XFCE terminal app) as my terminal emulator. I looked
at its settings file, and everything seemed to be the way I have set it
(I haven't touched this file in over a year). That said, I think
Terminal is to blame here. I tried bash on xterm, and everything worked
just the way it should.

> Possibilities:
>
>  Alt and Meta are actually distinct keys in the X11 keyboard model;
>  this association may have been changed.
>

How do I check this in my case?

>  Terminal emulators choose to associate Alt and Meta too. Maybe your
>  terminal emulator config has changed.
>

Some how Terminal is choosing to ignore the Alt key. When I try to quote
say Alt+1 with Ctrl+v, I only get 1.

>  Ctrl-S is "XOFF" - cease output - when flow control is on on a
>  terminal/serial device (and terminals _are_ serial devices:-).
>  Readline probably turns this off, but may not. If Ctrl-S doesn't
>  prevent other typing, you can probably ignore this idea.
>

Ctrl-s seems to do nothing in my case. But as I mentioned in response to
Ranjan, this particular binding probably has never worked for me.

> Check your newly created user - be sure there is no default .inputrc.
> And isn't there a system wide inputrc, maybe in /etc?
>

The new user doesn't have an ~/.inputrc. I checked the global
/etc/inputrc, there seemed no out of the ordinary settings.

> Check that you're using "emacs" command line editing; bash may only
> offer that, but zsh at least has a "vi" mode command line editing
> as well, which would break the mappings you expect.
>

The global inputrc has these lines:

...
set meta-flag on
set input-meta on
set convert-meta off
set output-meta on
...
$if mode=emacs
...
"\e[5C": forward-word
"\e[5D": backward-word
"\e[1;5C": forward-word
"\e[1;5D": backward-word
...
$endif

And using bind I see I am using emacs mode:

$ bind -v | grep emacs
set editing-mode emacs
set keymap emacs

> Do other readline capable programs also fail?
>

When run inside Terminal, they fail (e.g. python, zsh). But inside xterm
they work as expected.

I guess the problem is clear, Terminal has somehow changed. Maybe there
is some obscure settings somewhere which got changed somehow. I'll ask
on the fedora XFCE list.

> Cheers,

Thanks a lot for all the suggestions. They were very helpful.

-- 
Suvayu

Open source is the future. It sets us free.


More information about the users mailing list