On Sat, Oct 14, 2023 at 07:07:57AM +0200, to...@tuxteam.de wrote: > On Fri, Oct 13, 2023 at 01:06:20PM -0700, Van Snyder wrote: > > I haven't figured out how to unlock the XTerm after accidentally giving > > it Alt-Shift-P.
I'm not seeing whatever it is you're seeing here. On Debian 12, if I launch an xterm (simply "xterm &") with bash running inside it, and press Alt-P I get this character: ð Shift-Alt-P gives me this character: Ð This is independent of whether bash is in emacs mode or vi mode. > > But I did work out how to prevent it. Put > > xterm*altIsNotMeta: truexterm*altSendsEscape: true > > in your .Xdefaults (or .Xresources, or link those files together), then > > xrdb -merge ~/.Xdefaults > > Interesting. If I do that I see a colon, which disappears if I > hit enter afterwards. Then things are "back to normal". > > If I run "od -C" on that term, I see the sequence "1b P", so I > guess the term is just passing "ESC P" to the shell, and the one > doing the magic is actually the shell running in there. > > The behaviour is the same if I do "ESC P". Does that "hang your > Xterm", too? Looks like your bash is in emacs (default) mode. Pressing Esc P in emacs mode triggers this guy: "\eP": do-lowercase-version whose description in readline(3readline) says do-lowercase-version (M-A, M-B, M-x, ...) If the metafied character x is uppercase, run the command that is bound to the corresponding metafied lowercase character. The behavior is undefined if x is already lowercase. So... apparently it's supposed to act the same as "metafied lowercase p", which I guess means it's running this guy: "\ep": non-incremental-reverse-search-history non-incremental-reverse-search-history (M-p) Search backward through the history starting at the current line using a non-incremental search for a string supplied by the user. I'm not 100% sure what that means, but maybe you can figure it out if you continue experimenting with it. I don't normally run bash in emacs mode myself, so many of these readline features are foreign to me. Anyway, all of that's an interesting tangent, but I still don't get a "freeze" in xterm from any of this. Van Snyder, can you try running this in your xterm: bind -p | grep P That should tell us whether you have any unusual readline bindings involving the letter P (capital) which might be at fault here. In my shell, I just have these: unicorn:~$ set -o vi unicorn:~$ bind -p | grep P "P": self-insert unicorn:~$ set -o emacs unicorn:~$ bind -p | grep P "\C-xP": do-lowercase-version "\eP": do-lowercase-version "P": self-insert If yours is different, then we have something to investigate.