From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Sun, 5 Feb 2006 13:22:50 +0000 (+0000)
Subject: * stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j
X-Git-Tag: release/2.7.32~12
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=49cae4a7b28489a51e8c97dc33fc64cf83ea25e7;p=lilypond.git

* stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j
jobserver going.

* configure.in (std_vector): On by default.

* lily/include/font-metric.hh:
* lily/include/tfm-reader.hh:
* lily/include/spanner.hh: Use unsigned for indices and sizes.
Update users.

* Documentation/user/changing-defaults.itely: Fix link v2.5, out-www.
---

diff --git a/ChangeLog b/ChangeLog
index dde1a7d910..a627649398 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2006-02-05  Jan Nieuwenhuizen  <janneke@gnu.org>
 
+	* stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j
+	jobserver going.
+
+	* configure.in (std_vector): On by default.
+
+	* lily/include/font-metric.hh:
+	* lily/include/tfm-reader.hh: 
+	* lily/include/spanner.hh: Use unsigned for indices and sizes.
+	Update users.
+
 	* Documentation/user/changing-defaults.itely: Fix link v2.5, out-www.
 
 2006-02-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
diff --git a/GNUmakefile.in b/GNUmakefile.in
index e144e60bd2..163297823f 100644
--- a/GNUmakefile.in
+++ b/GNUmakefile.in
@@ -176,6 +176,9 @@ $(tree-share-prefix)/mf-link-tree link-mf-tree: $(tree-share-prefix)/lilypond-fo
 		ln -s ../../../../../../mf/$(outconfbase)/*.pfa .
 
 
+TAGS.make: dummy
+	etags -o $@ $(find $(srcdir) -name 'GNUmakefile*' -o -name '*.make')
+
 local-clean: build-dir-setup-clean
 build-dir-setup-clean:
 	cd $(top-build-dir) && rm -rf share
diff --git a/configure.in b/configure.in
index ee6816b52c..8dc846f9a9 100644
--- a/configure.in
+++ b/configure.in
@@ -43,9 +43,9 @@ if test "$std_string" = "yes"; then
     DEFINES="$DEFINES -DSTD_STRING=1"
 fi
 
-std_vector=no
+std_vector=yes
 AC_ARG_ENABLE(std-string,
-    [  --enable-std-vector     compile with experimental std::vector.  Default: off],
+    [  --enable-std-vector     compile with std::vector.  Default: on],
     [std_vector=$enableval])
 if test "$std_vector" = "yes"; then
     # Store in config.make rather than in config.hh and have every
diff --git a/flower/file-name.cc b/flower/file-name.cc
index 2302baa46b..d7129d43d1 100644
--- a/flower/file-name.cc
+++ b/flower/file-name.cc
@@ -52,7 +52,10 @@ dos_to_posix (std::string file_name)
 
 /** Use slash as directory separator.  On Windows, they can pretty
     much be exchanged.  */
-static std::string
+#if 0
+static /* avoid warning */
+#endif 
+std::string
 slashify (std::string file_name)
 {
   replace_all (file_name, '\\', '/');
diff --git a/lily/font-metric.cc b/lily/font-metric.cc
index 8f42c7ff77..843d387014 100644
--- a/lily/font-metric.cc
+++ b/lily/font-metric.cc
@@ -64,32 +64,32 @@ Font_metric::~Font_metric ()
 {
 }
 
-int
+vsize
 Font_metric::count () const
 {
   return 0;
 }
 
 Box
-Font_metric::get_ascii_char (int) const
+Font_metric::get_ascii_char (vsize) const
 {
   return Box (Interval (0, 0), Interval (0, 0));
 }
 
 Box
-Font_metric::get_indexed_char (int k) const
+Font_metric::get_indexed_char (vsize k) const
 {
   return get_ascii_char (k);
 }
 
-int
+vsize
 Font_metric::name_to_index (std::string) const
 {
-  return -1;
+  return VPOS;
 }
 
 Offset
-Font_metric::get_indexed_wxwy (int) const
+Font_metric::get_indexed_wxwy (vsize) const
 {
   return Offset (0, 0);
 }
@@ -136,32 +136,33 @@ Font_metric::font_name () const
   return s;
 }
 
-int
-Font_metric::index_to_ascii (int i) const
+vsize
+Font_metric::index_to_ascii (vsize i) const
 {
   return i;
 }
 
-unsigned
-Font_metric::index_to_charcode (int i) const
+vsize
+Font_metric::index_to_charcode (vsize i) const
 {
-  return (unsigned) index_to_ascii (i);
+  return index_to_ascii (i);
 }
 
 Stencil
-Font_metric::get_ascii_char_stencil (int code) const
+Font_metric::get_ascii_char_stencil (vsize code) const
 {
   SCM at = scm_list_3 (ly_symbol2scm ("char"), self_scm (),
-		       scm_from_int (code));
+		       scm_from_unsigned (code));
   Box b = get_ascii_char (code);
   return Stencil (b, at);
 }
 
 Stencil
-Font_metric::get_indexed_char_stencil (int code) const
+Font_metric::get_indexed_char_stencil (vsize code) const
 {
-  int idx = index_to_ascii (code);
-  SCM at = scm_list_3 (ly_symbol2scm ("char"), self_scm (), scm_from_int (idx));
+  vsize idx = index_to_ascii (code);
+  SCM at = scm_list_3 (ly_symbol2scm ("char"), self_scm (),
+		       scm_from_unsigned (idx));
   Box b = get_indexed_char (code);
   return Stencil (b, at);
 }
diff --git a/lily/horizontal-bracket-engraver.cc b/lily/horizontal-bracket-engraver.cc
index 52c828cffb..15a4b57565 100644
--- a/lily/horizontal-bracket-engraver.cc
+++ b/lily/horizontal-bracket-engraver.cc
@@ -21,8 +21,8 @@ public:
   TRANSLATOR_DECLARATIONS (Horizontal_bracket_engraver);
   Link_array__Spanner_ bracket_stack_;
   Link_array__Music_ events_;
-  int pop_count_;
-  int push_count_;
+  vsize pop_count_;
+  vsize push_count_;
 
   virtual bool try_music (Music *);
   void stop_translation_timestep ();
@@ -87,17 +87,13 @@ Horizontal_bracket_engraver::acknowledge_note_column (Grob_info gi)
 void
 Horizontal_bracket_engraver::process_music ()
 {
-  for (int k = 0; k < push_count_; k++)
+  for (vsize k = 0; k < push_count_; k++)
     {
       Spanner *sp = make_spanner ("HorizontalBracket", events_[k]->self_scm ());
 
       for (vsize i = 0; i < bracket_stack_.size (); i++)
-	{
-	  /*
-	    sp is the smallest, it should be added to the bigger brackets.
-	  */
-	  Side_position_interface::add_support (bracket_stack_[i], sp);
-	}
+	/* sp is the smallest, it should be added to the bigger brackets.  */
+	Side_position_interface::add_support (bracket_stack_[i], sp);
       bracket_stack_.push_back (sp);
     }
 }
diff --git a/lily/include/font-metric.hh b/lily/include/font-metric.hh
index d43403b378..3deebd03ca 100644
--- a/lily/include/font-metric.hh
+++ b/lily/include/font-metric.hh
@@ -25,18 +25,18 @@ public:
   virtual Stencil text_stencil (std::string) const;
   virtual Box text_dimension (std::string) const;
   virtual std::string font_name () const;
-  virtual int count () const;
+  virtual vsize count () const;
   virtual Offset attachment_point (std::string) const;
-  virtual Offset get_indexed_wxwy (int) const;
-  virtual Box get_indexed_char (int index) const;
-  virtual Box get_ascii_char (int ascii) const;
-  virtual int name_to_index (std::string) const;
-  virtual unsigned index_to_charcode (int) const;
-  virtual int index_to_ascii (int) const;
+  virtual Offset get_indexed_wxwy (vsize) const;
+  virtual Box get_indexed_char (vsize index) const;
+  virtual Box get_ascii_char (vsize ascii) const;
+  virtual vsize name_to_index (std::string) const;
+  virtual vsize index_to_charcode (vsize) const;
+  virtual vsize index_to_ascii (vsize) const;
   virtual Real design_size () const;
   virtual Stencil find_by_name (std::string) const;
-  virtual Stencil get_indexed_char_stencil (int k) const;
-  virtual Stencil get_ascii_char_stencil (int k) const;
+  virtual Stencil get_indexed_char_stencil (vsize k) const;
+  virtual Stencil get_ascii_char_stencil (vsize k) const;
   virtual SCM sub_fonts () const;
   virtual SCM font_file_name () const;
   DECLARE_SMOBS (Font_metric,);
diff --git a/lily/include/midi-walker.hh b/lily/include/midi-walker.hh
index d98d209242..396b721daf 100644
--- a/lily/include/midi-walker.hh
+++ b/lily/include/midi-walker.hh
@@ -40,7 +40,7 @@ private:
 
   Midi_track *track_;
   Audio_staff *staff_;
-  int index_;
+  vsize index_;
   Link_array__Audio_item_ *items_;
   PQueue<Midi_note_event> stop_note_queue;
   Moment last_mom_;
diff --git a/lily/include/modified-font-metric.hh b/lily/include/modified-font-metric.hh
index d0f73f1066..823211ddf4 100644
--- a/lily/include/modified-font-metric.hh
+++ b/lily/include/modified-font-metric.hh
@@ -15,15 +15,15 @@
 struct Modified_font_metric : public Font_metric
 {
 public:
-  virtual Box text_dimension (std::string) const;
-  virtual Stencil text_stencil (std::string) const;
+  Box text_dimension (std::string) const;
+  Stencil text_stencil (std::string) const;
 
   static SCM make_scaled_font_metric (Font_metric *fm, Real magnification);
-  virtual int count () const;
-  virtual Offset get_indexed_wxwy (int) const;
-  virtual Offset attachment_point (std::string) const;
-  virtual int name_to_index (std::string) const;
-  virtual unsigned index_to_charcode (int) const;
+  vsize count () const;
+  Offset get_indexed_wxwy (vsize) const;
+  Offset attachment_point (std::string) const;
+  vsize name_to_index (std::string) const;
+  vsize index_to_charcode (vsize) const;
   Font_metric *original_font () const;
 
 protected:
@@ -31,13 +31,13 @@ protected:
   Real magnification_;
 
   Modified_font_metric (Font_metric *fm, Real magnification);
-  virtual SCM sub_fonts () const;
-  virtual std::string font_name () const;
-  virtual Real design_size () const;
-  virtual void derived_mark () const;
-  virtual Box get_indexed_char (int) const;
-  virtual int index_to_ascii (int) const;
-  virtual Box get_ascii_char (int) const;
+  SCM sub_fonts () const;
+  std::string font_name () const;
+  Real design_size () const;
+  void derived_mark () const;
+  Box get_indexed_char (vsize) const;
+  vsize index_to_ascii (vsize) const;
+  Box get_ascii_char (vsize) const;
   Box tex_kludge (std::string) const;
 };
 
diff --git a/lily/include/open-type-font.hh b/lily/include/open-type-font.hh
index 1a19ab3ccb..57518b2b57 100644
--- a/lily/include/open-type-font.hh
+++ b/lily/include/open-type-font.hh
@@ -40,17 +40,17 @@ public:
     
   std::string get_otf_table (std::string tag) const;
   static SCM make_otf (std::string);
-  virtual std::string font_name () const;
-  virtual ~Open_type_font ();
-  virtual Offset attachment_point (std::string) const;
-  virtual int count () const;
-  virtual Box get_indexed_char (int) const;
-  virtual int name_to_index (std::string) const;
-  //virtual unsigned glyph_name_to_charcode (std::string) const;
-  virtual unsigned index_to_charcode (int) const;
-  virtual void derived_mark () const;
-  virtual SCM sub_fonts () const;
-  virtual Real design_size () const;
+  std::string font_name () const;
+  ~Open_type_font ();
+  Offset attachment_point (std::string) const;
+  vsize count () const;
+  Box get_indexed_char (vsize) const;
+  vsize name_to_index (std::string) const;
+  //vsize glyph_name_to_charcode (std::string) const;
+  vsize index_to_charcode (vsize) const;
+  void derived_mark () const;
+  SCM sub_fonts () const;
+  Real design_size () const;
 };
 
 std::string get_otf_table (FT_Face face, std::string tag);
diff --git a/lily/include/spanner.hh b/lily/include/spanner.hh
index 594220f2c1..6f87f8d585 100644
--- a/lily/include/spanner.hh
+++ b/lily/include/spanner.hh
@@ -29,7 +29,7 @@
 class Spanner : public Grob
 {
   Drul_array<Item *> spanned_drul_;
-  int break_index_;
+  vsize break_index_;
 
   DECLARE_CLASSNAME(Spanner);
 
@@ -38,7 +38,7 @@ public:
 
   Link_array__Spanner_ broken_intos_;
 
-  int get_break_index () const;
+  vsize get_break_index () const;
 
   // todo: move to somewhere else.
   Real get_broken_left_end_align () const;
diff --git a/lily/include/tfm-reader.hh b/lily/include/tfm-reader.hh
index d2ed007268..96979fbe47 100644
--- a/lily/include/tfm-reader.hh
+++ b/lily/include/tfm-reader.hh
@@ -37,7 +37,7 @@ public:
   Tfm_info info_;
   Tfm_header header_;
   std::vector<Tex_font_char_metric> char_metrics_;
-  std::vector<int> ascii_to_metric_idx_;
+  std::vector<vsize> ascii_to_metric_idx_;
 };
 
 #endif /* TFM_READER_HH */
diff --git a/lily/include/tfm.hh b/lily/include/tfm.hh
index a512080c1b..15a74268ec 100644
--- a/lily/include/tfm.hh
+++ b/lily/include/tfm.hh
@@ -143,15 +143,16 @@ struct Tex_font_char_metric
 class Tex_font_metric : public Simple_font_metric
 {
   DECLARE_CLASSNAME(Tex_font_metric);
+
 public:
   static SCM make_tfm (std::string file_name);
 
-  virtual int count () const;
-  virtual Box get_ascii_char (int) const;
-  virtual Real design_size () const;
-  virtual void derived_mark () const;
-  virtual int name_to_index (std::string) const;
-  virtual std::string font_name () const;
+  vsize count () const;
+  Box get_ascii_char (vsize) const;
+  Real design_size () const;
+  void derived_mark () const;
+  vsize name_to_index (std::string) const;
+  std::string font_name () const;
 
   Tfm_info const &info () const;
 
@@ -159,11 +160,12 @@ protected:
   Tfm_info info_;
   Tfm_header header_;
   std::vector<Tex_font_char_metric> char_metrics_;
-  std::vector<int> ascii_to_metric_idx_;
+  std::vector<vsize> ascii_to_metric_idx_;
   SCM encoding_table_;
   std::string font_name_;
+
 private:
-  Tex_font_char_metric const *find_ascii (int ascii, bool warn = true) const;
+  Tex_font_char_metric const *find_ascii (vsize ascii, bool warn = true) const;
   Tex_font_metric ();
 };
 
diff --git a/lily/modified-font-metric.cc b/lily/modified-font-metric.cc
index 771ec857e9..6d50d06d51 100644
--- a/lily/modified-font-metric.cc
+++ b/lily/modified-font-metric.cc
@@ -44,7 +44,7 @@ Modified_font_metric::design_size () const
 }
 
 Box
-Modified_font_metric::get_indexed_char (int i) const
+Modified_font_metric::get_indexed_char (vsize i) const
 {
   Box b = orig_->get_indexed_char (i);
   b.scale (magnification_);
@@ -52,14 +52,14 @@ Modified_font_metric::get_indexed_char (int i) const
 }
 
 Box
-Modified_font_metric::get_ascii_char (int i) const
+Modified_font_metric::get_ascii_char (vsize i) const
 {
   Box b = orig_->get_ascii_char (i);
   b.scale (magnification_);
   return b;
 }
 
-int
+vsize
 Modified_font_metric::count () const
 {
   return orig_->count ();
@@ -73,26 +73,26 @@ Modified_font_metric::attachment_point (std::string s) const
 }
 
 Offset
-Modified_font_metric::get_indexed_wxwy (int k) const
+Modified_font_metric::get_indexed_wxwy (vsize k) const
 {
   Offset o = orig_->get_indexed_wxwy (k);
   return o * magnification_;
 }
 
-int
+vsize
 Modified_font_metric::name_to_index (std::string s) const
 {
   return orig_->name_to_index (s);
 }
 
-unsigned
-Modified_font_metric::index_to_charcode (int i) const
+vsize
+Modified_font_metric::index_to_charcode (vsize i) const
 {
   return orig_->index_to_charcode (i);
 }
 
-int
-Modified_font_metric::index_to_ascii (int k) const
+vsize
+Modified_font_metric::index_to_ascii (vsize k) const
 {
   return orig_->index_to_ascii (k);
 }
diff --git a/lily/open-type-font.cc b/lily/open-type-font.cc
index 1a9623cdf0..6ad743b0a3 100644
--- a/lily/open-type-font.cc
+++ b/lily/open-type-font.cc
@@ -163,11 +163,12 @@ Open_type_font::attachment_point (std::string glyph_name) const
 }
 
 Box
-Open_type_font::get_indexed_char (int signed_idx) const
+Open_type_font::get_indexed_char (vsize signed_idx) const
 {
   if (SCM_HASHTABLE_P (lily_index_to_bbox_table_))
     {
-      SCM box = scm_hashq_ref (lily_index_to_bbox_table_, scm_from_int (signed_idx), SCM_BOOL_F);
+      SCM box = scm_hashq_ref (lily_index_to_bbox_table_,
+			       scm_from_unsigned (signed_idx), SCM_BOOL_F);
       Box *box_ptr = Box::unsmob (box);
       if (box_ptr)
 	return *box_ptr;
@@ -175,9 +176,9 @@ Open_type_font::get_indexed_char (int signed_idx) const
 
   if (SCM_HASHTABLE_P (lily_character_table_))
     {
-      const int len = 256;
+      const vsize len = 256;
       char name[len];
-      int code = FT_Get_Glyph_Name (face_, signed_idx, name, len);
+      vsize code = FT_Get_Glyph_Name (face_, signed_idx, name, len);
       if (code)
 	warning (_f ("FT_Get_Glyph_Name() returned error: %d", code));
 
@@ -201,7 +202,7 @@ Open_type_font::get_indexed_char (int signed_idx) const
 	  b.scale (point_constant);
 
 	  scm_hashq_set_x (lily_index_to_bbox_table_,
-			   scm_from_int (signed_idx),
+			   scm_from_unsigned (signed_idx),
 			   b.smobbed_copy ());
 	  return b;
 	}
@@ -222,22 +223,22 @@ Open_type_font::get_indexed_char (int signed_idx) const
   return b;
 }
 
-int
+vsize
 Open_type_font::name_to_index (std::string nm) const
 {
   char *nm_str = (char *) nm.c_str ();
-  if (int idx = FT_Get_Name_Index (face_, nm_str))
+  if (vsize idx = FT_Get_Name_Index (face_, nm_str))
     return idx;
-  return -1;
+  return VPOS;
 }
 
-unsigned
-Open_type_font::index_to_charcode (int i) const
+vsize
+Open_type_font::index_to_charcode (vsize i) const
 {
   return ((Open_type_font *) this)->index_to_charcode_map_[i];
 }
 
-int
+vsize
 Open_type_font::count () const
 {
   return ((Open_type_font *) this)->index_to_charcode_map_.size ();
@@ -255,7 +256,7 @@ Open_type_font::design_size () const
 			       which will trip errors more
 			       quickly. --hwn.
 			     */
-			     scm_from_int (1));
+			     scm_from_unsigned (1));
   return scm_to_double (entry) * Real (point_constant);
 }
 
@@ -298,9 +299,9 @@ Open_type_font::glyph_list () const
   
   for (int i = 0; i < face_->num_glyphs; i++)
     {
-      const int len = 256;
+      const vsize len = 256;
       char name[len];
-      int code = FT_Get_Glyph_Name (face_, i, name, len);
+      vsize code = FT_Get_Glyph_Name (face_, i, name, len);
       if (code)
 	warning (_f ("FT_Get_Glyph_Name() returned error: %d", code));
 
diff --git a/lily/rest-collision-engraver.cc b/lily/rest-collision-engraver.cc
index 1ee16363ae..2fa66dbe54 100644
--- a/lily/rest-collision-engraver.cc
+++ b/lily/rest-collision-engraver.cc
@@ -14,7 +14,7 @@
 class Rest_collision_engraver : public Engraver
 {
   Item *rest_collision_;
-  int rest_count_;
+  vsize rest_count_;
   Link_array__Grob_ note_columns_;
 protected:
   DECLARE_ACKNOWLEDGER (note_column);
diff --git a/lily/slur-scoring.cc b/lily/slur-scoring.cc
index 71a6470b0c..2980d3c5b8 100644
--- a/lily/slur-scoring.cc
+++ b/lily/slur-scoring.cc
@@ -127,7 +127,7 @@ broken_trend_y (Slur_score_state const &state, Direction hdir)
   Real by = 0.0;
   if (Spanner *mother = dynamic_cast<Spanner *> (state.slur_->original ()))
     {
-      int k = broken_spanner_index (state.slur_);
+      vsize k = broken_spanner_index (state.slur_);
       int j = k + hdir;
       if (j < 0 || j >= mother->broken_intos_.size ())
 	return by;
@@ -163,7 +163,7 @@ Slur_score_state::set_next_direction ()
 
   if (Spanner *mother = dynamic_cast<Spanner *> (slur_->original ()))
     {
-      int k = broken_spanner_index (slur_);
+      vsize k = broken_spanner_index (slur_);
       int j = k + 1;
       if (j < 0 || j >= mother->broken_intos_.size ())
 	return;
diff --git a/lily/spanner.cc b/lily/spanner.cc
index 1a8ae94ed9..c7836160b0 100644
--- a/lily/spanner.cc
+++ b/lily/spanner.cc
@@ -125,11 +125,11 @@ Spanner::do_break_processing ()
 	}
     }
   vector_sort (broken_intos_, Spanner::compare);
-  for (vsize i = broken_intos_.size ();i--;)
+  for (vsize i = broken_intos_.size (); i--;)
     broken_intos_[i]->break_index_ = i;
 }
 
-int
+vsize
 Spanner::get_break_index () const
 {
   return break_index_;
diff --git a/lily/system-start-delimiter.cc b/lily/system-start-delimiter.cc
index 9ad6760580..e7b1269e92 100644
--- a/lily/system-start-delimiter.cc
+++ b/lily/system-start-delimiter.cc
@@ -8,18 +8,16 @@
 
 #include "system-start-delimiter.hh"
 
-
-#include "spanner.hh"
+#include "all-font-metrics.hh"
 #include "axis-group-interface.hh"
-#include "output-def.hh"
 #include "font-interface.hh"
-#include "all-font-metrics.hh"
-#include "staff-symbol-referencer.hh"
-#include "lookup.hh"
 #include "item.hh"
 #include "line-interface.hh"
-
+#include "lookup.hh"
+#include "output-def.hh"
 #include "pointer-group-interface.hh"
+#include "spanner.hh"
+#include "staff-symbol-referencer.hh"
 
 Stencil
 System_start_delimiter::staff_bracket (Grob *me, Real height)
@@ -151,8 +149,9 @@ System_start_delimiter::staff_brace (Grob *me, Real y)
   SCM alist = scm_list_n (fam, SCM_UNDEFINED);
   fm = select_font (me->layout (), scm_list_n (alist, SCM_UNDEFINED));
 
-  int lo = 0;
-  int hi = max (fm->count () - 1, 2);
+  int
+    lo = 0;
+  int hi = max ((int) fm->count () - 1, 2);
 
   /* do a binary search for each Y, not very efficient, but passable?  */
   Box b;
diff --git a/lily/tab-note-heads-engraver.cc b/lily/tab-note-heads-engraver.cc
index 7f777c8374..2a1c24b943 100644
--- a/lily/tab-note-heads-engraver.cc
+++ b/lily/tab-note-heads-engraver.cc
@@ -91,7 +91,7 @@ Tab_note_heads_engraver::process_music ()
       if (!tabstring_event && j < tabstring_events_.size ())
 	{
 	  tabstring_event = tabstring_events_[j];
-	  if (j +1 < tabstring_events_.size ())
+	  if (j + 1 < tabstring_events_.size ())
 	    j++;
 	}
 
diff --git a/lily/tfm-reader.cc b/lily/tfm-reader.cc
index 10f88a13ae..cdd55d5783 100644
--- a/lily/tfm-reader.cc
+++ b/lily/tfm-reader.cc
@@ -24,8 +24,8 @@ Tex_font_metric_reader::Tex_font_metric_reader (std::string name)
   : input_ (name)
 {
 
-  for (int i = 0; i < TFM_SIZE; i++)
-    ascii_to_metric_idx_.push_back (-1);
+  for (vsize i = 0; i < TFM_SIZE; i++)
+    ascii_to_metric_idx_.push_back (VPOS);
 
   read_header ();
   read_params ();
diff --git a/lily/tfm.cc b/lily/tfm.cc
index 136a59aa73..fa9007a218 100644
--- a/lily/tfm.cc
+++ b/lily/tfm.cc
@@ -63,10 +63,10 @@ Tex_font_metric::derived_mark () const
 }
 
 Tex_font_char_metric const *
-Tex_font_metric::find_ascii (int ascii, bool warn) const
+Tex_font_metric::find_ascii (vsize ascii, bool warn) const
 {
-  if (ascii >= 0 && ascii < ascii_to_metric_idx_.size ()
-      && ascii_to_metric_idx_[ascii] >= 0)
+  if (ascii != VPOS && ascii < ascii_to_metric_idx_.size ()
+      && ascii_to_metric_idx_[ascii] != VPOS)
     return &char_metrics_[ascii_to_metric_idx_ [ascii]];
   else if (warn)
     warning (_f ("can't find ascii character: %d", ascii));
@@ -74,17 +74,17 @@ Tex_font_metric::find_ascii (int ascii, bool warn) const
 }
 
 /* UGH: glyphs need not be consecutive in TFM. */
-int
+vsize
 Tex_font_metric::count () const
 {
   for (vsize i = ascii_to_metric_idx_.size (); i--;)
-    if (ascii_to_metric_idx_[i] != -1)
+    if (ascii_to_metric_idx_[i] != VPOS)
       return i + 1;
   return 0;
 }
 
 Box
-Tex_font_metric::get_ascii_char (int a) const
+Tex_font_metric::get_ascii_char (vsize a) const
 {
   Box b = find_ascii (a)->dimensions ();
   return b;
@@ -124,7 +124,7 @@ Tex_font_metric::font_name () const
   return font_name_;
 }
 
-int
+vsize
 Tex_font_metric::name_to_index (std::string) const
 {
   assert (false);
diff --git a/lily/tuplet-bracket.cc b/lily/tuplet-bracket.cc
index 2ca32323d8..7d532f9291 100644
--- a/lily/tuplet-bracket.cc
+++ b/lily/tuplet-bracket.cc
@@ -128,7 +128,7 @@ Tuplet_bracket::calc_connect_to_neighbors (SCM smob)
       
       Spanner *orig_spanner = dynamic_cast<Spanner*> (me->original ());
 
-      vsize neighbor_idx = me->get_break_index () - break_dir;
+      int neighbor_idx = me->get_break_index () - break_dir;
       if (break_dir
 	  && d == RIGHT
 	  && neighbor_idx < orig_spanner->broken_intos_.size ())
@@ -435,11 +435,11 @@ void
 Tuplet_bracket::get_bounds (Grob *me, Grob **left, Grob **right)
 {
   extract_grob_set (me, "note-columns", columns);
-  vsize l = 0;
+  int l = 0;
   while (l < columns.size () && Note_column::has_rests (columns[l]))
     l++;
 
-  int r = columns.size ()- 1;
+  int r = columns.size () - 1;
   while (r >= l && Note_column::has_rests (columns[r]))
     r--;
 
diff --git a/stepmake/stepmake/generic-vars.make b/stepmake/stepmake/generic-vars.make
index 6766ee9166..2d36dd8435 100644
--- a/stepmake/stepmake/generic-vars.make
+++ b/stepmake/stepmake/generic-vars.make
@@ -83,7 +83,7 @@ STRIPDEBUG=true
 STRIP=strip --strip-debug
 DO_STRIP=true
 
-LOOP=$(foreach i,  $(SUBDIRS), $(MAKE) PACKAGE=$(PACKAGE) package=$(package) -C $(i) $@ &&) true
+LOOP=+$(foreach i, $(SUBDIRS), $(MAKE) PACKAGE=$(PACKAGE) package=$(package) -C $(i) $@ &&) true
 
 ETAGS_FLAGS =
 CTAGS_FLAGS =