This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: un-indenting doesn't work with vim


Mark J. Reed wrote:
It is only in Unix that often the backspace key does not perform the function > of moving backward a space and deleting the previously character. I have never, I repeat never had backspace not do a back space except under Unix - have you?
I've had such issues on many systems. VMS. MVS. NOS and NOS/VE. Not to mention several BBSes...
So then you agree with me...
You're forgetting that UNIX predates PC's.
No I'm saying it doesn't matter! If the key is labeled "backspace" it should perform a backspace function (or whatever program is receiving the signal that this key was pressed it should do the backspace function). Otherwise label the damn key something else!
When not in a GUI,
Who said GUI? Not I!
or when focus is in a terminal window, pressing the backspace key doesn't "perform" any "function" except to transmit a character to the input stream, just as if you were using a serial terminal.
Yeah right. And the "a" key doesn't perform the "a" function but strangely enough when pretty the "a" key an "a" appears!
ASCII control characters were developed for printing teletypes, on which ASCII BS (chr(8)) would back the carriage up a character position (without deleting anything) while ASCII DEL (chr(127) a.k.a.
RUBOUT) would delete (white out or X out) the character under the cursor without moving the carriage.
Who cares what it did in the "old days"! We aren't in the "old days"! We're 8 years into the 21st century for crying out loud! Who the hells uses a teletype anymore?!?
Just as with CR/LF, CRT terminal behavior didn't match either of the definitions exactly, and different terminal manufacturers chose different ways of indicating to the host system that the terminal user had pressed the "undo that last keystroke" key. Most sent either BS or DEL, but some sent multibyte sequences ("escape sequences", even if they didn't involve the ASCII ESC code) or other values (the Commodore PET character set used CTRL-T for this; the Atari used a high-bit value [155, IIRC]).
This is a driver issue. After 30 some odd years of existence surely Unix can get it right finally and do the right thing! Other OSes do!
So UNIX software grew up in an environment of variable terminals. It is designed to be flexible about such things for that reason, and doesn't assume (the way other PC software does) that you're on the
console of a PC with a local keyboard. Which means it is entirely possible to set things up so that it doesn't work as you expect. This is not UNIX's fault.
Sure it is! I submit to you that the backspace key should perform the backspace function much like the "a" key performs the "produce the character 'a'" function 99.999% of the time. The above is all excuses. I'm saying it should do the labeled function most of the time and only in very rare situations should backspace map to something else. Yet there are many, many areas where it just breaks down and you even admitted that you've experienced that phenomena too!
The default configuration on Cygwin works as expected; you seem to have blindly imported a configuration file from some other UNIX environment, and poof, things broke. That's the price of using stuff without understanding it.
That's the price of using stuff that's not well documented. And that's the price of using stuff that's been broken for years and has all kinds of workarounds over the years. It's a sign that it's broken - otherwise there wouldn't be so many fixes. Only Unix suffers this affliction yet even you will not admit it's a flaw - which is exactly why it remains...
--
Andrew DeFaria <http://defaria.com>
Very funny Scotty - now beam down my clothes.



-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]