Sybren Stuvel wrote: >> An editor should be capable of letting you create or modify files >> containing control characters without gratuitously corrupting them, >> but the keys should perform the expected operations > > I agree with that. > >> not insert the characters. > > But not with that, since it is contradicting. "Inserting the > characters" could very well be the same as "performing the expected > operations".
It could be, and for some keys (q, w, e, r, t, y, etc. spring to mind) that is quite a reasonable implementation. For others 'tab', 'backspace', 'enter', 'delete', etc. it is less reasonable, but it is a quality of implementation issue. If I had an editor which entered a control character for each of these I would simply move to a better editor. Some keys will of course do both (e.g. space bar in some editors does completion and inserts a space), but I prefer editors which keep things simple. The tab key is particularly prone to excessively complicated actions, for example the editor I use has the following (not simple at all, and in fact not even an accurate description of what it does) binding for the tab key: > indent-previous command > > Indent based on the previous line. > > This command makes the current line start at the same column as the > previous non-blank line. Specifically, if you invoke this command > with point in or adjacent to a line's indentation, indent-previous > replaces that indentation with the indentation of the previous > non-blank line. If point's indentation exceeds that of the previous > non-blank line, or if you invoke this command with point outside of > the line's indentation, this command simply inserts a tab character. > > If a region is highlighted, Epsilon indents all lines in the region by > one tab stop. With a numeric prefix argument, Epsilon indents by that > amount. > (and it is even more complex when you are editing something like Python where it takes continuation lines into account working out the indentation). The problem is that behaviour like this is useful, and mostly even intuitive, but it's a long way from the definition of a tab or even the little metal clips you used to stick on the back of a manual typewriter. -- http://mail.python.org/mailman/listinfo/python-list