I found this today:

  13280      tehom     /** This is effectively calling Segment::erase on
  13280      tehom         copyMoving it.  Segment::erase did the
  13280      tehom
  13280      tehom         1. base::erase
  13280      tehom       2. Delete the event
  13280      tehom       3. Kept m_startTime up to date
  13280      tehom       4. Kept m_endTime up to date
  13280      tehom       5. updateRefreshStatuses
  13280      tehom         6. Thru notifyRemove, notify observers
  13280      tehom         7. Thru notifyRemove, remove clefs and keys
  13280      tehom          m_clefKeyList

Why is the formatting messed up?  Some of the lines use all spaces, some 
of them use a mixture of tabs and spaces.  Tabs in this example were 
supposed to expand to 8 spaces, but they're expanding to something 
different here.  Whether it's my shell or svn to blame, I don't know, 
but I do know this is the same feeling I get when I open a cabinet and 
find mouse shit.

While I was writing this, Ted committed this (as displayed on SourceForge):

+    //if (baseSegmentItr == m_originalSegment.end()) {
+    //    RG_DEBUG << "EventSelection::addRemoveEvent(): "
+    //             << "Sent event that can not be found in original 
segment.";
+        // Note: This is perfectly ok.  The rest of the code checks
+        //       baseSegmentIter to make sure it is valid before using
+        //       it.
+    //}

Ted's editor is set to use 4 spaces for tabs, but SourceForge's diff 
printer expanded them to 8.  Tom's and Ted's editors have different tab 
settings.  And that is how chaos gets its insidious dark claws into 
everything.

To quote Rosegarden Coding Style:

(http://rosegardenmusic.com/wiki/dev:coding_style)

   Indentation is by four spaces at a time. There should be no tab
   characters anywhere in Rosegarden source code. The indentation should
   look the same regardless of whether you read it in an IDE, in a
   terminal window with “cat” or “vi”, in Emacs, or quoted in an email.
   It must not depend on having the right settings for tab-to-space
   conversion in your IDE when you read it. (Emacs and vim users will
   note that we already start every source file with a meta-comment that
   sets up the right indentation mode in these editors.)


The examples cited above are why that rule exists!  Our compliance 
sucks, and it turns out I forgot to update an editor setting myself, and 
I've been introducing tabs too.  Chris Cannam introduced some tabs years 
ago.  Julie Swango.  Everybody is tabbing, but nobody uses the same tab 
width!

We have around 187 files that are affected, using at least three 
different tab expansions, so this is quite the mess to sort out.

I'll get it all fixed somehow, though I haven't worked out a solution in 
two hours I wasted that could have been better spent doing something else.

In the meantime, let's all figure out how to put an end to this nonsense 
once and for all, shall we?  Tabs need to die.  It's the only way to 
make every file work everywhere for everyone always.
-- 
D. Michael McIntyre

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk
_______________________________________________
Rosegarden-devel mailing list
Rosegarden-devel@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to