This is the mail archive of the
mailing list for the Cygwin project.
Re: Suggestion for terminal package maintainers
On 6/2/2009 8:48 AM, Corinna Vinschen wrote:
On Jun 1 17:03, Ken Brown wrote:
The Cygwin console, after some changes made this past weekend, now uses
^? as the default erase character, and this is what is sent by the
backspace key instead of ^H
(http://cygwin.com/ml/cygwin/2009-05/msg00818.html). These changes are
in effect as of the 2009-05-31 snapshot. In order to minimize confusion
among users, I suggest that maintainers of the various terminal packages
(xterm, mintty, rxvt-*) think about making similar changes to the
default behavior of their packages the next time they update.
Corresponding changes would have to be made to the terminfo database
(and, in some cases, to /etc/termcap). For example, the change to the
Cygwin console requires the following patch:
--- origsrc/terminfo-5.7_20090228/terminfo.src 2009-03-01
+++ src/terminfo-5.7_20090228/terminfo.src 2009-05-30 17:33:13.063590500
@@ -5221,7 +5221,7 @@ cygwin|ansi emulation for Cygwin,
dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, fsl=^G, home=\E[H,
hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, ich1=\E[@,
il=\E[%p1%dL, il1=\E[L, ind=^J, invis=\E[8m, kb2=\E[G,
- kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+ kbs=^?, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, kf10=\E[21~,
kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
P.S. The change to the Cygwin console arose from a discussion of a
problem I was having with emacs. I'm grateful to Andy Koppe for sorting
this out and to cgf for quickly making the required change.
What makes me a bit concerned about this change is that, while we can
change Cygwin's terminfo and termcap files, we can't do that for
existing non-Cygwin installations. Is it really safe to change the BS
key to ^? now that the "cygwin" terminal type is known to return ^H for
so many years?
Applications like emacs that use ncurses should have no problem. Are
there applications that rely on the historical behavior of the cygwin
terminal type rather than querying terminfo? Apart from cygwin, such
applications would have problems with any terminal type that decides to
change its behavior.