]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/grob.cc
Run `make grand-replace'.
[lilypond.git] / lily / grob.cc
index f5c9ebe4ddea19c0034a984744e9c076b5cc4261..56000a0c129608c8a29767ce05fde61bad0c7088 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #include "grob.hh"
@@ -578,40 +578,40 @@ Grob::programming_error (string s) const
 ADD_INTERFACE (Grob,
               "A grob represents a piece of music notation.\n"
               "\n"
-              "All grobs have an X and Y@tie{}position on the page.  These "
-              "X and Y@tie{}positions are stored in a relative format, thus "
-              "they can easily be combined by stacking them, hanging one "
-              "grob to the side of another, or coupling them into grouping "
-              "objects.\n"
+              "All grobs have an X and Y@tie{}position on the page.  These"
+              " X and Y@tie{}positions are stored in a relative format, thus"
+              " they can easily be combined by stacking them, hanging one"
+              " grob to the side of another, or coupling them into grouping"
+              " objects.\n"
               "\n"
-              "Each grob has a reference point (a.k.a.@: parent): The "
-              "position of a grob is stored relative to that reference "
-              "point.  For example, the X@tie{}reference point of a staccato "
-              "dot usually is the note head that it applies to.  When the "
-              "note head is moved, the staccato dot moves along "
-              "automatically.\n"
+              "Each grob has a reference point (a.k.a.@: parent): The"
+              " position of a grob is stored relative to that reference"
+              " point.  For example, the X@tie{}reference point of a staccato"
+              " dot usually is the note head that it applies to.  When the"
+              " note head is moved, the staccato dot moves along"
+              " automatically.\n"
               "\n"
-              "A grob is often associated with a symbol, but some grobs do "
-              "not print any symbols.  They take care of grouping objects. "
-              "For example, there is a separate grob that stacks staves "
-              "vertically.  The @ref{NoteCollision} object is also an "
-              "abstract grob: It only moves around chords, but doesn't print "
-              "anything.\n"
+              "A grob is often associated with a symbol, but some grobs do"
+              " not print any symbols.  They take care of grouping objects."
+              " For example, there is a separate grob that stacks staves"
+              " vertically.  The @ref{NoteCollision} object is also an"
+              " abstract grob: It only moves around chords, but doesn't print"
+              " anything.\n"
               "\n"
-              "Grobs have properties (Scheme variables) that can be read and "
-              "set.  Two types of them exist: immutable and mutable.  "
-              "Immutable variables define the default style and behavior.  "
-              "They are shared between many objects.  They can be changed "
-              "using @code{\\override} and @code{\\revert}.  Mutable "
-              "properties are variables that are specific to one grob.  "
-              "Typically, lists of other objects, or results from "
-              "computations are stored in mutable properties.  In "
-              "particular, every call to @code{set-grob-property} (or its "
-              "C++ equivalent) sets a mutable property.\n"
+              "Grobs have properties (Scheme variables) that can be read and"
+              " set.  Two types of them exist: immutable and mutable."
+              "  Immutable variables define the default style and behavior."
+              "  They are shared between many objects.  They can be changed"
+              " using @code{\\override} and @code{\\revert}.  Mutable"
+              " properties are variables that are specific to one grob."
+              "  Typically, lists of other objects, or results from"
+              " computations are stored in mutable properties.  In"
+              " particular, every call to @code{set-grob-property} (or its"
+              " C++ equivalent) sets a mutable property.\n"
               "\n"
-              "The properties @code{after-line-breaking} and "
-              "@code{before-line-breaking} are dummies that are not "
-              "user-serviceable.",
+              "The properties @code{after-line-breaking} and"
+              " @code{before-line-breaking} are dummies that are not"
+              " user-serviceable.",
 
               /* properties */
               "X-extent "
@@ -722,14 +722,11 @@ common_refpoint_of_list (SCM elist, Grob *common, Axis a)
 Grob *
 common_refpoint_of_array (vector<Grob*> const &arr, Grob *common, Axis a)
 {
-  for (vsize i = arr.size (); i--;)
-    if (Grob *s = arr[i])
-      {
-       if (common)
-         common = common->common_refpoint (s, a);
-       else
-         common = s;
-      }
+  for (vsize i = 0; i < arr.size (); i++)
+    if (common)
+      common = common->common_refpoint (arr[i], a);
+    else
+      common = arr[i];
 
   return common;
 }