X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Sun, 11 Apr 2010 11:33:05 +0200 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: 1.7.3: Backspace key not working in GNU screen. Message-ID: <20100411093305.GN28908@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20100410140811 DOT GA8593 AT ednor DOT casa DOT cgf DOT cx> <20100410161626 DOT GA1904 AT ednor DOT casa DOT cgf DOT cx> <20100410173607 DOT GA3986 AT ednor DOT casa DOT cgf DOT cx> <20100410181700 DOT GA7321 AT ednor DOT casa DOT cgf DOT cx> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Apr 10 22:09, Andy Koppe wrote: > Christopher Faylor wrote: > > I'm not 100% sure that this is the right fix but the new snapshot at > > least works around the problem. > > Thanks. > > > The problem is that screen explicitly sets VERASE to 0.  I believe that > > it does that to mean "there is really no erase character since I'm > > handling that". > > You're right. Zero is the value of the _POSIX_VDISABLE constant for > disabling special characters. Therefore, using c_cc[VERASE] as the > backspace keycode was a bad idea all along. Sorry for suggesting it in > the first place. > > > That should not cause Cygwin to send a null character. > > I think it should probably just send the default \177 character. > > Makes sense given the botched design, but of course it does mean that > the user's backspace keycode setting is ignored. Also, 'screen' would > be expecting what was set in c_cc[VERASE] as the backspace keycode. That would be surprising. If you set VEARSE to 0 on Linux, a following tcgetattr returns 0 as the VERASE value. stty prints "". The same holds true for other settings like VKILL, VINTR, etc. So, if the process sets VERASE to 0, and is then puzzled to get a 0 VERASE value from the OS, it's the application's fault. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple