On Apr 9, 7:51 am, Steven D'Aprano <steve +comp.lang.pyt...@pearwood.info> wrote: > On Mon, 08 Apr 2013 19:43:51 +0100, Nobody wrote: > > On Sun, 07 Apr 2013 01:30:45 +0000, Steven D'Aprano wrote: > > >> Am I the only one here who has used a typewriter? > > >> Tab stops were set manually, to a physical distance into the page, > >> using a mechanical stop. This long predates the "rule" that tab stops > >> are every 8 characters. > > > And your point is? > > > Typewriters don't have a tab "character". The information regarding tab > > stops is conveyed out-of-band from the typist to the typewriter, and > > doesn't need to persist beyond the time taken to type the document. > > Both text editors and typewriters encode information about tab settings > out of band. Editors encode that information in some combination of > program configuration, command-line switches, environment variables, and > embedded mode lines in the document itself. Typewriters encode that > information in the typists' memory, or failing that, in the actual > physical space left on the page. That's a difference that makes no > difference. > > My point is that there were well-established semantics for what a tab > should do, and the "8 character tab" is not that. Pressing the tab key on > a keyboard while entering text ought to instruct the editor to advance to > a specified tab stop capable of being set anywhere on the page. Word > processors use that model: the word processor stores the positions of the > tab stops out of band, usually in the "paragraph formatting" or "style > sheet", but in principle they could keep the position of the tab stops > global to the document or even global to the application.
Dunno what you mean by 'out-of-band' If I set tabstops for a para to say 4-13-25-36 in a wordprocessor, save the file and look inside, I will find the tuple (4,13,25,36) in some encoded form. For a typewritten page, if the margin seems to be at 11th col, the reader cannot know from the page alone whether the typist 1. set the tab at 11 2. set the tab at 8 and pressed TAB followed by 3 SPC 3. Started with 2 and switched to 1 -- http://mail.python.org/mailman/listinfo/python-list