A lot of the macports base files actually were written with 8-space
tabs, and then edited later with 4-space soft tabs (at least, that's
my assumption based on some tabbing assuming 8-space, and some soft
tabs at the end of other tabs that are 4-width long).
In any case, using 4-space tabs will not have a detrimental effect on
your editor, unless you're editing lines using soft tabs inside base/
when you have your editor set to hard tabs. And I don't see much
editing of base/ going on these days (aside from my recent changes),
so I think it's safe to say that won't happen ;)
In any case, I'm pretty sure there are existing programs to convert
tabs, but I can't recall any offhand. Even if there aren't, it should
be trivial to write one. And as for the 8-space vs 4-space issue,
anybody using an editor set to 4-width tabs already has a problem
with these (and I would venture to guess that's most people), so I
see no issue with simply converting them and letting people re-indent
if they edit a file that has a problem.
On Feb 13, 2007, at 12:43 AM, Ryan Schmidt wrote:
On Feb 11, 2007, at 22:56, Kevin Ballard wrote:
Are there any more thoughts on this matter?
For now, every line I modify is going to have its hard tabs
converted to 4-width soft tabs (and reindented if necessary).
Why will this occur? Is it because this is how your editor is
configured, and you do not want to change your editor
configuration? If so, then this is not a good reason; if we change
the spacing rules as you propose, then you will fix this problem
for yourself, but also cause the same problem for me and others
with editor settings like mine.
I'd really like to do a single pass and convert the entire source
base over to 4-width soft tabs, but it seems we have at least one
dissenter.
Can we come to an agreement on an overall policy for this?
If nobody else has any objections to converting to all spaces, I'll
learn to live with it too. But a question occurs to me: How will
you convert the entire source base over to 4-space-width soft tabs?
Is there already a program to do that? You can't of course just
replace all occurrences of ASCII 0x09 with 4 instances of ASCII
0x20; you'd need anywhere from 1 to 4 spaces depending on preceding
characters on the line.
If we agree to convert to all spaces, then I'd like there to be a
script that does the above available as part of the MacPorts
distribution, or as an installable port, so that I can use that
script over any files that I modify, since as I've said, my editor
does and will use tabs, and I'll need an easy automated way to
replace those with the right number of spaces before committing.
Also, I think the whole reason for this exercise is that not all
people have had 4-space-width tabs before, making things look weird
when the local editor setting doesn't match the port author's
editor setting. What about those portfiles that were written with 8-
space-width tabs? How will you identify such files to properly
replace the tab characters with between 1 and 8 spaces? Or will you
not attempt to identify these files, and just assume all tabs in
all files are 4-space-width tabs? Won't that make things even
uglier for those files, until all portfiles are manually examined
and corrected, which would likely be a random discovery process
that would take a long indeterminate amount of time if not done in
a coordinated manner? During which time indentation of random
portfiles would still be ugly, which is the very problem you're
trying to fix by changing the spacing?
Is it useful to consider the use of a tcl prettyprinter, rather
than just converting tabs to spaces? Is there such a tool? Would
there need to be a specialized MacPorts portfile prettyprinter,
rather than a generic tcl one?
--
Kevin Ballard
http://kevin.sb.org
[EMAIL PROTECTED]
http://www.tildesoft.com
_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo/macports-dev