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

Re: Lost Alt+Backspace



mas@mylug.org wrote:
> After recent upgrades (I am not certain when), I have lost the ability to
> delete words by using Alt+BkSp in either gnome-terminal or terminator. How
> to get that behaviour back?

This isn't directly relevant to your terminal but it is related
general information.

I use XTerms and I have this XTerm resource set for this purpose:

  XTerm*metaSendsEscape:true

If I don't that that set then Meta (aka Alt) sends characters with the
high bit set.  I converted to using the escape sequence compatibility
mode which sends escape sequence equivalents.  I have had it this way
for a long time now and forget when the breakage originally occurred.
Probably when terminals started to support UTF-8 unicode encodings.

Basically M-DEL (0xFF, DEL is 0x7F and setting the high bit makes it
0xFF) is the character you should get with Meta-Backspace (aka
Alt-Backspace with Alt as the Meta key).  But that can be simulated by
ESC, DEL as two characters.  The libreadline default is emacs editor
mode.  M-DEL is an emacs derived behavior.  M-DEL (and also ESC, DEL)
deletes one word backward.  I wrote this paragraph but am not using
the high bit set meta mode (might not be true now) since I am setting
XTerm*metaSendsEscape:true to send the escape sequence instead.

I imagine that having the high bit set is interfering with Unicode
characters.  Perhaps someone versed in the variable length character
encoding of UTF-8 can jump in and explain this conflict in detail.  I
should avoid it now to try to avoid inserting incorrect information
but off the top of my head IIRC the high bit set means that it is a
multi-byte character and continues in the next character.  I think
there is an intrinsic conflict between the two different paradigms and
you simply have to pick one or the other.  I have forgotten.

Note that the tty driver has a werase character ^W which also deletes
one word backward too.  The tty driver is below the libreadline
behavior.  (Actually libreadline supersedes it but is programmed to
respect the tty driver settings to keep things consistent between
them.)

Bob

Attachment: signature.asc
Description: Digital signature


Reply to: