Suggestion for terminal package maintainers

Ken Brown kbrown@cornell.edu
Tue Jun 2 13:28:00 GMT 2009


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  
>> 00:32:20.000000000 -0500
>> +++ src/terminfo-5.7_20090228/terminfo.src	2009-05-30 17:33:13.063590500  
>> -0400
>> @@ -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~,
>>
>> Ken
>>
>> 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.

Ken



More information about the Cygwin-apps mailing list