This is the mail archive of the
mailing list for the Cygwin project.
configuring the backspace key, etc. (un-indenting doesn't work with vim)
- From: Jay <jayk123 at hotmail dot com>
- To: <cygwin at cygwin dot com>
- Date: Fri, 18 Jul 2008 09:21:16 +0000
- Subject: configuring the backspace key, etc. (un-indenting doesn't work with vim)
- References: <email@example.com>
While Andrew's tone is a bit strong/rude, I do agree.
The keyboard should just work.
PC keyboards have been for a very long time now.
One of the "obvious problems" though is that there is never
any instant switch over from "old days" to "modern times".
It is a continuum. It is gradual.
Looking backward from our "current distant future", many
things look stupid, but they only ever get there gradually.
The teletype surely died off gradually, not instantly.
So how/when do you phase out support for it? How do you
have new code interoperate with the old code that
is "sensitive" to teletypes? Code lives a very long time of course.
How do you know removing support for something won't break someone?
Do you actively collect "telemetry" data as to the usage of everthing?
How close to zero is close enough?
When do you go back and remove workarounds for bugs at other layers, that
eventually got fixed? Nobody is still using your code along with the other?
Check versions and exit rudely? For "old" stuff? For anything you haven't tested?
For anything you haven't tested recently?
There are pluses and minuses. Blinding running ignoring the surrounds
is bad. You can't test every combination. You must be willing to run on stuff
you haven't tested.
Now, you know, an ironic thing here, is that Windows is the one
with a teletype compatibility that Unix folks/code don't like.
As I understand... there was a control code for a typewriter
to move the head (the carriage) to the start of the line,
and another for advancing the paper one line. As well, moving the head
took some time, so advancing the paper elegantly fill the gap.
Therefore you get carriage return followed by line feed.
Once you have electronic terminals, this separation is less
useful, but not actually useless (I'll come back to this).
So Unix folks arbitrarily chose linefeed.
Apple arbitrariliy chose carriage return (Apple II, pre-Mac OS X Mac).
Windows via MS-DOS presumably via CP/M didn't change.
A byte is wasted for every line darn.
Now, really, carriage return without line feed can be useful.
It is a way to implement "spinners" and other "fancy" ui
involving overwriting text on the same line.
I think linefeed might also be useful on its own, to go down one without
moving left or right. Not sure. Like maybe it is an optimization using
"free form" text ui such as vi, over a slow serial line??
I could be wrong here on the cr/lf story. Check Wikipedia...
> That's the price of using stuff without understanding it.
Let he who has not sinned cast the first stone..
Everyone uses stuff they don't understand all the time.
I use my brain, lungs, cars, airplanes, compilers, linkers, kernels, interpreters, Cygwin, etc...
I imagine I understand a lot, but...
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html