On 2018-10-15 09:06:11 +1100, Chris Angelico wrote: > On Mon, Oct 15, 2018 at 8:56 AM Marko Rauhamaa <[email protected]> wrote: > > Chris Angelico <[email protected]>: > > > Tabs for indentation have semantic meaning. Top-level has zero tabs. > > > One indentation level is represented by one tab. Two indentation > > > levels? Two tabs. It's about as perfect a representation as you could > > > hope for. > > > > That *could* be the situation. However, it is trumped by an older > > convention whereby the indentation levels go as follows: > > > > 0: > > 1: SPC SPC > > 2: SPC SPC SPC SPC > > 3: SPC SPC SPC SPC SPC SPC > > 4: TAB > > 5: TAB SPC SPC > > 6: TAB SPC SPC SPC SPC > > 7: TAB SPC SPC SPC SPC SPC SPC > > 8: TAB TAB
That's not using tabs for indentation, that's using tabs for compressing
spaces (somebody already mentioned that in this thread).
> I've literally NEVER come across this as a convention. Not a single
> file that I have ever worked with has used it. Where is this
> convention from?
It's something vi does by default, and apparently emacs as well.
In the 1970's saving space by replacing sequences of 8 spaces
with tabs seemed lika a good idea.
There are workarounds in vi(m), but I'm not sure if you can get rid of
that behaviour completely. I'm sure it is possible in emacs.
> > Your scheme also is ad hoc in that it doesn't follow its logic to other
> > ASCII control characters. Why not use VT to separate methods? Why not
> > use US to separate operators from operands? Why not use RS to separate
> > the operands of optional arguments? Why not use GS to separate logical
> > blocks of code? After all, those schemes would allow people to
> > personalize the visual representation of more aspects of the source
> > code.
>
> You're most welcome to use VT between methods.
I sometimes use FF so separate sections of code in longer files. Had to
stop that in Django projects because it messes up the stack traces.
> Not sure what you mean by US, RS, and GS,
Unit separator, record separator, group separator (and FS is file
separator). I think they were intended for a CSV-like file format, but I
have never seen them in use (outside of my own projects).
hp
--
_ | Peter J. Holzer | we build much bigger, better disasters now
|_|_) | | because we have much more sophisticated
| | | [email protected] | management tools.
__/ | http://www.hjp.at/ | -- Ross Anderson <https://www.edge.org/>
signature.asc
Description: PGP signature
-- https://mail.python.org/mailman/listinfo/python-list
