From: hanwen <hanwen>
Date: Wed, 11 Feb 2004 01:22:21 +0000 (+0000)
Subject: cleanup. Separate into internal
X-Git-Tag: start~10
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=81d85252ec1e92ce8fd29a7e0458d6d2fcd0e8b4;p=lilypond.git

cleanup. Separate into internal
and user properties.
---

diff --git a/ChangeLog b/ChangeLog
index 3b951a4dcc..104a33af2c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2004-02-11  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
+	* lily/*: rename brew_molecule -> print , molecule-callback -> print-function
+
 	* scm/define-grob-properties.scm: cleanup. Separate into internal
 	and user properties.
 
diff --git a/input/ascii-art/as-email.ly b/input/ascii-art/as-email.ly
index cc6cb7d451..8996897962 100644
--- a/input/ascii-art/as-email.ly
+++ b/input/ascii-art/as-email.ly
@@ -1,5 +1,5 @@
 #(ly:set-option 'old-relative)
-\version "2.1.11"
+\version "2.1.21"
 % ASCII Art output
 %
 % Process as:
@@ -21,7 +21,7 @@
     raggedright = ##t
     \translator {
       \StaffContext
-      StaffSymbol \override #'molecule-callback = #(lambda (x) '())
+      StaffSymbol \override #'print-function = #(lambda (x) '())
     }
   }
 }
diff --git a/input/mutopia/J.S.Bach/baerenreiter-sarabande.ly b/input/mutopia/J.S.Bach/baerenreiter-sarabande.ly
index 658588d7ea..a32f548f74 100644
--- a/input/mutopia/J.S.Bach/baerenreiter-sarabande.ly
+++ b/input/mutopia/J.S.Bach/baerenreiter-sarabande.ly
@@ -1,4 +1,4 @@
-\version "2.1.19"
+\version "2.1.21"
 
 % #(ly:set-point-and-click 'line-column)
 
@@ -168,7 +168,7 @@ baerPaper = \paper {
     interscoreline=4.0\mm
     \translator {
 	     \ScoreContext
-%	     System \override #'molecule-callback = #box-grob-molecule
+%	     System \override #'print-function = #box-grob-molecule
     }
 }
 
diff --git a/input/mutopia/R.Schumann/romanze-op28-2.ly b/input/mutopia/R.Schumann/romanze-op28-2.ly
index 41f1651b75..2d32473ee1 100644
--- a/input/mutopia/R.Schumann/romanze-op28-2.ly
+++ b/input/mutopia/R.Schumann/romanze-op28-2.ly
@@ -4,7 +4,7 @@
 \include "deutsch.ly"
 
 #(set-global-staff-size 16)
-\version "2.1.13"
+\version "2.1.21"
 
 \header {
   title = "Romanzen"
@@ -241,7 +241,7 @@ leftb = \notes \transpose c cis {
     \pianoCautionaries
     \property PianoStaff.NoteCollision \override #'merge-differently-dotted = ##t
     \property PianoStaff.connectArpeggios = ##t
-    \property PianoStaff.Arpeggio \override #'molecule-callback = \arpeggioBracket
+    \property PianoStaff.Arpeggio \override #'print-function = \arpeggioBracket
 
     \property PianoStaff.InstrumentName \set #'font-size = #6
     \property PianoStaff.InstrumentName \set #'font-shape   = #'italic
diff --git a/input/regression/apply-output.ly b/input/regression/apply-output.ly
index f2dd8f2627..f2458f2c13 100644
--- a/input/regression/apply-output.ly
+++ b/input/regression/apply-output.ly
@@ -1,5 +1,5 @@
 
-\version "2.1.7" 
+\version "2.1.21" 
 \header {
 
 texidoc = "The @code{\applyoutput} expression is the most flexible way to
@@ -20,7 +20,7 @@ position.
   (if (and (memq 'note-head-interface ifs)
 	   (memq sp '(-2 -3 -5)))
       (begin
-	(ly:set-grob-property! gr 'molecule-callback brew-new-markup-molecule)
+	(ly:set-grob-property! gr 'print-function brew-new-markup-molecule)
 	(ly:set-grob-property! gr 'font-family 'roman)
 	(ly:set-grob-property!
 	 gr 'text
diff --git a/input/regression/arpeggio-bracket.ly b/input/regression/arpeggio-bracket.ly
index b13faa8d3f..d5fcc2624f 100644
--- a/input/regression/arpeggio-bracket.ly
+++ b/input/regression/arpeggio-bracket.ly
@@ -1,6 +1,6 @@
 
 
-\version "2.1.7"
+\version "2.1.21"
 \header{
 texidoc="
 A square bracket on the left indicates that the player should not
@@ -10,7 +10,7 @@ arpeggiate the chord.
 
 \score{
      \notes\relative c''{
-	 \property Staff.Arpeggio \override #'molecule-callback = \arpeggioBracket
+	 \property Staff.Arpeggio \override #'print-function = \arpeggioBracket
 	 
 	 <fis,  d a >\arpeggio
 	 }
diff --git a/input/regression/balloon.ly b/input/regression/balloon.ly
index a3222a92b5..6cf4acc561 100644
--- a/input/regression/balloon.ly
+++ b/input/regression/balloon.ly
@@ -3,7 +3,7 @@
     texidoc = "With balloon texts, objects in the output can be marked,
 with lines and explanatory text added."
     }
-\version "2.1.11"
+\version "2.1.21"
 
 \score  {
  \notes {
@@ -11,7 +11,7 @@ with lines and explanatory text added."
    \relative c'  {
 
        %% by hand:
-       \once\property Voice.Stem \set #'molecule-callback = #Balloon_interface::brew_molecule
+       \once\property Voice.Stem \set #'print-function = #Balloon_interface::brew_molecule
        \once\property Voice.Stem \set #'balloon-original-callback = #Stem::brew_molecule
        \once\property Voice.Stem \set #'balloon-text = #"I'm a stem"
        \once\property Voice.Stem \set #'balloon-text-offset = #'(3 . 4)
diff --git a/input/regression/molecule-hacking.ly b/input/regression/molecule-hacking.ly
index 21d3077b5d..6b865e24ca 100644
--- a/input/regression/molecule-hacking.ly
+++ b/input/regression/molecule-hacking.ly
@@ -1,5 +1,5 @@
 
-\version "2.1.7"
+\version "2.1.21"
 
 \header { texidoc=" You can write molecule callbacks in Scheme, thus
 providing custom glyphs for notation elements.  A simple example is
@@ -16,7 +16,7 @@ parens are also not seen by accidentals.
    "Construct a function that will do CALLBACK and add parentheses.
 Example usage:
 
-  \\property Voice.NoteHead \\override #'molecule-callback
+  \\property Voice.NoteHead \\override #'print-function
 		      =
 		      #(parenthesize-callback Note_head::brew_molecule)
 		    
@@ -59,12 +59,12 @@ GROB.  The dimensions of the molecule is not affected.
 \score {
 	\notes \relative c' { c4 e
 
-		    \property Voice.NoteHead \override #'molecule-callback
+		    \property Voice.NoteHead \override #'print-function
 		      =
 		      #(parenthesize-callback Note_head::brew_molecule)
 		    g bes
-		    \property Voice.NoteHead \revert #'molecule-callback
-		    \property Voice.Beam \override #'molecule-callback
+		    \property Voice.NoteHead \revert #'print-function
+		    \property Voice.Beam \override #'print-function
 		      =
 		      #(parenthesize-callback Beam::brew_molecule)
 
diff --git a/input/regression/spacing-folded-clef2.ly b/input/regression/spacing-folded-clef2.ly
index 83695aed4d..2c7c1a5e60 100644
--- a/input/regression/spacing-folded-clef2.ly
+++ b/input/regression/spacing-folded-clef2.ly
@@ -1,4 +1,4 @@
-\version "2.1.7"
+\version "2.1.21"
 \header {
 
 texidoc = "A clef can be folded below notes in a different staff, if
@@ -14,8 +14,8 @@ show where columns are in the score."
 	\paper { raggedright = ##t
 
 	\translator { \ScoreContext
-	  NonMusicalPaperColumn \override #'molecule-callback = #Paper_column::brew_molecule
-	  PaperColumn \override #'molecule-callback = #Paper_column::brew_molecule	  
+	  NonMusicalPaperColumn \override #'print-function = #Paper_column::brew_molecule
+	  PaperColumn \override #'print-function = #Paper_column::brew_molecule	  
 	  NonMusicalPaperColumn \override #'font-family = #'roman
 	  PaperColumn \override #'font-family = #'roman	  
 
diff --git a/input/regression/system-extents.ly b/input/regression/system-extents.ly
index 86ef3e34c5..dc72137612 100644
--- a/input/regression/system-extents.ly
+++ b/input/regression/system-extents.ly
@@ -1,4 +1,4 @@
-\version "2.1.7"
+\version "2.1.21"
 \header {
 
     texidoc = "LilyPond correctly determines the size of every
@@ -16,7 +16,7 @@
     \paper { 
 	 \translator {
 	     \ScoreContext
-	     System \override #'molecule-callback = #box-grob-molecule
+	     System \override #'print-function = #box-grob-molecule
 	     }
     }
 }
diff --git a/input/test/bar-number-regular-interval.ly b/input/test/bar-number-regular-interval.ly
index 17fd7ef0ce..61b7da3e7b 100644
--- a/input/test/bar-number-regular-interval.ly
+++ b/input/test/bar-number-regular-interval.ly
@@ -5,13 +5,13 @@ Bar numbers can also be printed at regular intervals.
 
 " }
 
-\version "2.1.7"
+\version "2.1.21"
 
 \score {
     \context Staff \notes \transpose  c c' {
 	\property Score.BarNumber \override #'break-visibility = #end-of-line-invisible
 	\property Score.barNumberVisibility = #(every-nth-bar-number-visible 4)
-	\property Score.BarNumber \override #'molecule-callback =
+	\property Score.BarNumber \override #'print-function =
 	#(make-molecule-boxer 0.1 0.25 0.25 Text_item::brew_molecule)
 	\property Score.BarNumber \override #'font-size = #2
 	
diff --git a/input/test/boxed-molecule.ly b/input/test/boxed-molecule.ly
index 9f63ab607d..bfafd7746a 100644
--- a/input/test/boxed-molecule.ly
+++ b/input/test/boxed-molecule.ly
@@ -1,5 +1,5 @@
 
-\version "2.1.7"
+\version "2.1.21"
 \header {
 texidoc = "@cindex Boxed Molecule
 You can override the molecule callback to draw a box around
@@ -8,18 +8,18 @@ arbitrary grobs. " }
 
  \score { \notes \relative c''  {
 
- \property Voice.TextScript \override #'molecule-callback =
+ \property Voice.TextScript \override #'print-function =
    #(make-molecule-boxer 0.1 0.3 0.2 brew-new-markup-molecule)
 
    c'4^"foo"
 
-\property Voice.Stem \override #'molecule-callback =
+\property Voice.Stem \override #'print-function =
    #(make-molecule-boxer 0.05 0.25 0.25 Stem::brew_molecule)
 
-\property Score.RehearsalMark \override #'molecule-callback =
+\property Score.RehearsalMark \override #'print-function =
    #(make-molecule-boxer 0.15 0.3 0.3 brew-new-markup-molecule)
       c8
-\property Voice.Stem \revert #'molecule-callback
+\property Voice.Stem \revert #'print-function
 
       c4. c4 \mark "F" c1 
    }
diff --git a/input/test/embedded-postscript.ly b/input/test/embedded-postscript.ly
index b64c887993..8739109531 100644
--- a/input/test/embedded-postscript.ly
+++ b/input/test/embedded-postscript.ly
@@ -1,5 +1,5 @@
 
-\version "2.1.7"
+\version "2.1.21"
 \header {
   texidoc = "@cindex Embedded Postscript
 By inserting the @TeX{} command \embeddedps, you can
@@ -10,7 +10,7 @@ insert postscript directly into the output.
 
 
 %
-%TODO: make molecule-callback to do this. 
+%TODO: make print-function to do this. 
 % 
 
 \score {
diff --git a/input/test/time-signature-double.ly b/input/test/time-signature-double.ly
index 715669be18..65beee7e9d 100644
--- a/input/test/time-signature-double.ly
+++ b/input/test/time-signature-double.ly
@@ -1,5 +1,5 @@
 
-\version "2.1.7"
+\version "2.1.21"
 
 \header { texidoc= "
 
@@ -23,7 +23,7 @@ tsMarkup =
 
 \score  { \notes \relative c'
 	  {
-	   \property Staff.TimeSignature \override #'molecule-callback = #Text_item::brew_molecule
+	   \property Staff.TimeSignature \override #'print-function = #Text_item::brew_molecule
 	   \property Staff.TimeSignature \override #'text = #tsMarkup
 	   
 	   
diff --git a/lily/accidental.cc b/lily/accidental.cc
index 7a89832cbf..dd5634d5d9 100644
--- a/lily/accidental.cc
+++ b/lily/accidental.cc
@@ -158,9 +158,9 @@ Accidental_interface::get_fontcharname (String style, int alteration)
   return style + to_string (alteration);
 }
 
-MAKE_SCHEME_CALLBACK (Accidental_interface,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Accidental_interface,print,1);
 SCM
-Accidental_interface::brew_molecule (SCM smob)
+Accidental_interface::print (SCM smob)
 {
   Grob *me = unsmob_grob (smob);
   bool smaller = false;
diff --git a/lily/ambitus.cc b/lily/ambitus.cc
index 8fe9770d1c..9a9e3c6649 100644
--- a/lily/ambitus.cc
+++ b/lily/ambitus.cc
@@ -125,9 +125,9 @@ add_accidentals (Item *me, Molecule *head, int num_acc,
     }
 }
 
-MAKE_SCHEME_CALLBACK (Ambitus,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Ambitus,print,1);
 SCM
-Ambitus::brew_molecule (SCM smob)
+Ambitus::print (SCM smob)
 {
   Item *me = (Item *)unsmob_grob (smob);
   Molecule molecule = Molecule ();
diff --git a/lily/arpeggio.cc b/lily/arpeggio.cc
index 57373bbe22..ee0c7ceab9 100644
--- a/lily/arpeggio.cc
+++ b/lily/arpeggio.cc
@@ -18,9 +18,9 @@
 #include "lookup.hh"
 
 
-MAKE_SCHEME_CALLBACK (Arpeggio, brew_molecule, 1);
+MAKE_SCHEME_CALLBACK (Arpeggio, print, 1);
 SCM 
-Arpeggio::brew_molecule (SCM smob) 
+Arpeggio::print (SCM smob) 
 {
   Grob *me = unsmob_grob (smob);
   
@@ -135,7 +135,7 @@ Arpeggio::brew_chord_bracket (SCM smob)
 
 
 /*
-  We have to do a callback, because brew_molecule () triggers a
+  We have to do a callback, because print () triggers a
   vertical alignment if it is cross-staff.
   This callback also adds padding.
 */
diff --git a/lily/balloon.cc b/lily/balloon.cc
index 30eb59e7c0..9bb11b2017 100644
--- a/lily/balloon.cc
+++ b/lily/balloon.cc
@@ -16,13 +16,13 @@ struct Balloon_interface
 {
   
 public:
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
+  DECLARE_SCHEME_CALLBACK (print, (SCM));
   static bool has_interface (Grob*);
 };
 
-MAKE_SCHEME_CALLBACK (Balloon_interface, brew_molecule, 1);
+MAKE_SCHEME_CALLBACK (Balloon_interface, print, 1);
 SCM
-Balloon_interface::brew_molecule (SCM smob) 
+Balloon_interface::print (SCM smob) 
 {
   Grob *me= unsmob_grob (smob);
 
diff --git a/lily/bar-line.cc b/lily/bar-line.cc
index cd42feb778..6bf140efec 100644
--- a/lily/bar-line.cc
+++ b/lily/bar-line.cc
@@ -21,10 +21,10 @@
 #include "item.hh"
 #include "staff-symbol-referencer.hh"
 
-MAKE_SCHEME_CALLBACK (Bar_line,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Bar_line,print,1);
 
 SCM 
-Bar_line::brew_molecule (SCM smob) 
+Bar_line::print (SCM smob) 
 {
   Grob * me = unsmob_grob (smob);
 
@@ -165,7 +165,7 @@ Bar_line::before_line_breaking (SCM smob)
   
   if (!gh_string_p (g))
     {
-      me->set_grob_property ("molecule-callback", SCM_EOL);
+      me->set_grob_property ("print-function", SCM_EOL);
       me->set_extent (SCM_EOL, X_AXIS);
       // leave y_extent for spanbar? 
     }
diff --git a/lily/beam.cc b/lily/beam.cc
index 775e8f536b..0e2553fc80 100644
--- a/lily/beam.cc
+++ b/lily/beam.cc
@@ -302,9 +302,9 @@ Beam::connect_beams (Grob *me)
 /*
   TODO: should not make beams per stem, but per Y-level.
  */
-MAKE_SCHEME_CALLBACK (Beam, brew_molecule, 1);
+MAKE_SCHEME_CALLBACK (Beam, print, 1);
 SCM
-Beam::brew_molecule (SCM grob)
+Beam::print (SCM grob)
 {
   Grob *me = unsmob_grob (grob);
   position_beam (me);
diff --git a/lily/clef.cc b/lily/clef.cc
index d598486a03..9a493ddeef 100644
--- a/lily/clef.cc
+++ b/lily/clef.cc
@@ -47,9 +47,9 @@ Clef::before_line_breaking (SCM smob)
 
 
 
-MAKE_SCHEME_CALLBACK (Clef,brew_molecule,1)
+MAKE_SCHEME_CALLBACK (Clef,print,1)
 SCM
-Clef::brew_molecule (SCM smob) 
+Clef::print (SCM smob) 
 {
   Grob *me = unsmob_grob (smob);
   SCM glyph_scm = me->get_grob_property ("glyph-name");
diff --git a/lily/cluster.cc b/lily/cluster.cc
index 8a1c1062bf..dda873e6c1 100644
--- a/lily/cluster.cc
+++ b/lily/cluster.cc
@@ -125,16 +125,16 @@ brew_cluster_piece (Grob *me, Array<Offset> bottom_points, Array<Offset> top_poi
   return out;
 }
 
-MAKE_SCHEME_CALLBACK (Cluster,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Cluster,print,1);
 SCM
-Cluster::brew_molecule (SCM smob)
+Cluster::print (SCM smob)
 {
   Grob *me = unsmob_grob (smob);
 
   Spanner *spanner = dynamic_cast<Spanner*> (me);
   if (!spanner)
     {
-      me->programming_error ("Cluster::brew_molecule(): not a spanner");
+      me->programming_error ("Cluster::print(): not a spanner");
       return SCM_EOL;
     }
 
diff --git a/lily/coherent-ligature-engraver.cc b/lily/coherent-ligature-engraver.cc
index a7e8247d67..df911f947e 100644
--- a/lily/coherent-ligature-engraver.cc
+++ b/lily/coherent-ligature-engraver.cc
@@ -60,7 +60,7 @@
  * of the ligature (to preemptively avoid collision with adjacent
  * notes); or maybe just additionally create a
  * mensural/vaticana/whatever-ligature grob (e.g. via
- * Mensural_ligature::brew_molecule(SCM)) that just consists of a
+ * Mensural_ligature::print(SCM)) that just consists of a
  * bounding box around all primitives of the ligature.
  *
  * TODO: Maybe move functions fold_up_primitives() and
diff --git a/lily/custos.cc b/lily/custos.cc
index 01bade5aef..8024fa9465 100644
--- a/lily/custos.cc
+++ b/lily/custos.cc
@@ -26,9 +26,9 @@
 #include "font-interface.hh"
 #include "math.h" // rint
 
-MAKE_SCHEME_CALLBACK (Custos,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Custos,print,1);
 SCM
-Custos::brew_molecule (SCM smob)
+Custos::print (SCM smob)
 {
   Item *me = (Item *)unsmob_grob (smob);
 
diff --git a/lily/dots.cc b/lily/dots.cc
index 42c6b56922..2bb9dfdf7a 100644
--- a/lily/dots.cc
+++ b/lily/dots.cc
@@ -15,9 +15,9 @@
 #include "staff-symbol-referencer.hh"
 #include "directional-element-interface.hh"
 
-MAKE_SCHEME_CALLBACK (Dots,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Dots,print,1);
 SCM  
-Dots::brew_molecule (SCM d)
+Dots::print (SCM d)
 {
   Grob *sc = unsmob_grob (d);
   Molecule mol;
diff --git a/lily/grob.cc b/lily/grob.cc
index ff54ff5476..59c4c4c997 100644
--- a/lily/grob.cc
+++ b/lily/grob.cc
@@ -109,7 +109,7 @@ Grob::Grob (SCM basicprops)
       */
       if (cb != SCM_BOOL_F
 	  && !gh_procedure_p (cb) && !gh_pair_p (cb)
-	  && gh_procedure_p (get_grob_property ("molecule-callback"))
+	  && gh_procedure_p (get_grob_property ("print-function"))
 	  )
 	cb = molecule_extent_proc;
     
@@ -243,7 +243,7 @@ Grob::get_molecule ()  const
 SCM
 Grob::get_uncached_molecule ()const
 {
-  SCM proc = get_grob_property ("molecule-callback");
+  SCM proc = get_grob_property ("print-function");
 
   SCM  mol = SCM_EOL;
   if (gh_procedure_p (proc)) 
@@ -848,7 +848,7 @@ ADD_INTERFACE (Grob, "grob-interface",
 "anything.\n"
 ,
   "X-offset-callbacks Y-offset-callbacks X-extent-callback molecule cause "
-"Y-extent-callback molecule-callback extra-offset spacing-procedure "
+"Y-extent-callback print-function extra-offset spacing-procedure "
 "staff-symbol interfaces dependencies X-extent Y-extent extra-X-extent "
 "meta layer before-line-breaking-callback "
 "after-line-breaking-callback extra-Y-extent minimum-X-extent "
diff --git a/lily/hairpin.cc b/lily/hairpin.cc
index 00d315f409..5e96a3854f 100644
--- a/lily/hairpin.cc
+++ b/lily/hairpin.cc
@@ -18,10 +18,10 @@
 #include "paper-column.hh"
 #include "lookup.hh"
 
-MAKE_SCHEME_CALLBACK (Hairpin, brew_molecule, 1);
+MAKE_SCHEME_CALLBACK (Hairpin, print, 1);
 
 SCM
-Hairpin::brew_molecule (SCM smob) 
+Hairpin::print (SCM smob) 
 {
   Grob *me= unsmob_grob (smob);
   Spanner *spanner = dynamic_cast<Spanner*> (me);
@@ -36,7 +36,7 @@ Hairpin::brew_molecule (SCM smob)
   Direction grow_dir = to_dir (s);
 
 
-  /* Ugh, must be same as Text_spanner::brew_molecule.  */
+  /* Ugh, must be same as Text_spanner::print.  */
 
   /*
     Ugh. property name is not general.
diff --git a/lily/horizontal-bracket.cc b/lily/horizontal-bracket.cc
index b2f5942d2f..5c5039a5d1 100644
--- a/lily/horizontal-bracket.cc
+++ b/lily/horizontal-bracket.cc
@@ -16,7 +16,7 @@
 
 struct Horizontal_bracket
 {
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
+  DECLARE_SCHEME_CALLBACK (print, (SCM));
   static bool has_interface (Grob*);
 };
 
@@ -30,10 +30,10 @@ struct Horizontal_bracket
 
 */
 
-MAKE_SCHEME_CALLBACK(Horizontal_bracket, brew_molecule, 1);
+MAKE_SCHEME_CALLBACK(Horizontal_bracket, print, 1);
 
 SCM
-Horizontal_bracket::brew_molecule (SCM smob)
+Horizontal_bracket::print (SCM smob)
 {
   Grob * me = unsmob_grob (smob);
   Spanner *sp = dynamic_cast<Spanner*> (me);
diff --git a/lily/include/accidental-interface.hh b/lily/include/accidental-interface.hh
index ebf32be255..b0cb49b5a5 100644
--- a/lily/include/accidental-interface.hh
+++ b/lily/include/accidental-interface.hh
@@ -15,7 +15,7 @@ source file of the GNU LilyPond music typesetter
 class Accidental_interface
 {
 public:
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
+  DECLARE_SCHEME_CALLBACK (print, (SCM));
   DECLARE_SCHEME_CALLBACK (after_line_breaking, (SCM));  
   static bool has_interface (Grob*);
   
diff --git a/lily/include/ambitus.hh b/lily/include/ambitus.hh
index fe203b2f49..2ebd67173d 100644
--- a/lily/include/ambitus.hh
+++ b/lily/include/ambitus.hh
@@ -13,7 +13,7 @@
 
 struct Ambitus
 {
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM smob));
+  DECLARE_SCHEME_CALLBACK (print, (SCM smob));
   static bool has_interface (Grob*);
 };
 
diff --git a/lily/include/arpeggio.hh b/lily/include/arpeggio.hh
index 6c0cea0321..f2a65a7725 100644
--- a/lily/include/arpeggio.hh
+++ b/lily/include/arpeggio.hh
@@ -15,7 +15,7 @@
 class Arpeggio
 {
 public:
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
+  DECLARE_SCHEME_CALLBACK (print, (SCM));
   DECLARE_SCHEME_CALLBACK (brew_chord_bracket, (SCM));
   DECLARE_SCHEME_CALLBACK (width_callback, (SCM,SCM));
   static bool has_interface (Grob*);
diff --git a/lily/include/bar-line.hh b/lily/include/bar-line.hh
index 3c2dc1d479..60dcb51cd0 100644
--- a/lily/include/bar-line.hh
+++ b/lily/include/bar-line.hh
@@ -21,7 +21,7 @@ public:
   static Molecule compound_barline (Grob*, String, Real height) ;
   static Molecule simple_barline (Grob*, Real wid, Real height) ;      
   DECLARE_SCHEME_CALLBACK (get_staff_bar_size, (SCM ));
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   DECLARE_SCHEME_CALLBACK (before_line_breaking, (SCM ));
 };
 #endif // BAR_HH
diff --git a/lily/include/bar.hh b/lily/include/bar.hh
index 204ef7e5d6..641ae51d1b 100644
--- a/lily/include/bar.hh
+++ b/lily/include/bar.hh
@@ -21,7 +21,7 @@ public:
   static Molecule compound_barline (Grob*, String, Real height) ;
   static Molecule simple_barline (Grob*, Real wid, Real height) ;      
   DECLARE_SCHEME_CALLBACK (get_staff_bar_size, (SCM ));
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   DECLARE_SCHEME_CALLBACK (before_line_breaking, (SCM ));
 };
 #endif // BAR_HH
diff --git a/lily/include/beam.hh b/lily/include/beam.hh
index 64c967dd51..297fd9c1be 100644
--- a/lily/include/beam.hh
+++ b/lily/include/beam.hh
@@ -35,7 +35,7 @@ public:
 
   static void connect_beams (Grob*me);
   DECLARE_SCHEME_CALLBACK (space_function, (SCM, SCM));
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
+  DECLARE_SCHEME_CALLBACK (print, (SCM));
   DECLARE_SCHEME_CALLBACK (before_line_breaking, (SCM));
   DECLARE_SCHEME_CALLBACK (after_line_breaking, (SCM));
   
diff --git a/lily/include/breathing-sign.hh b/lily/include/breathing-sign.hh
index 1cf077c608..75a035437b 100644
--- a/lily/include/breathing-sign.hh
+++ b/lily/include/breathing-sign.hh
@@ -19,7 +19,7 @@
 class Breathing_sign
 {
 public:
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   DECLARE_SCHEME_CALLBACK (railtracks, (SCM ));
   DECLARE_SCHEME_CALLBACK (divisio_minima, (SCM ));
   DECLARE_SCHEME_CALLBACK (divisio_maior, (SCM ));
diff --git a/lily/include/clef.hh b/lily/include/clef.hh
index 387284374b..b2c621c075 100644
--- a/lily/include/clef.hh
+++ b/lily/include/clef.hh
@@ -15,7 +15,7 @@
 struct Clef 
 {
   DECLARE_SCHEME_CALLBACK (before_line_breaking, (SCM ));
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   static bool has_interface (Grob*);
 };
 
diff --git a/lily/include/cluster.hh b/lily/include/cluster.hh
index 704a379d63..dd3639e95b 100644
--- a/lily/include/cluster.hh
+++ b/lily/include/cluster.hh
@@ -15,7 +15,7 @@
 class Cluster
 {
 public:
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   //  DECLARE_SCHEME_CALLBACK (after_line_breaking, (SCM));
   static bool has_interface (Grob *);
   // DECLARE_SCHEME_CALLBACK (set_spacing_rods, (SCM ));
diff --git a/lily/include/custos.hh b/lily/include/custos.hh
index 1698839b76..fb5e52e86b 100644
--- a/lily/include/custos.hh
+++ b/lily/include/custos.hh
@@ -13,7 +13,7 @@
 
 struct Custos
 {
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   static bool has_interface (Grob*);
 
 private:
diff --git a/lily/include/dots.hh b/lily/include/dots.hh
index d58e068a8c..0e123550f0 100644
--- a/lily/include/dots.hh
+++ b/lily/include/dots.hh
@@ -18,7 +18,7 @@
 class Dots
 {
 public:
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   bool has_interface (Grob*);
 };
 
diff --git a/lily/include/hairpin.hh b/lily/include/hairpin.hh
index b601af11f8..0daacc5fe5 100644
--- a/lily/include/hairpin.hh
+++ b/lily/include/hairpin.hh
@@ -18,7 +18,7 @@
 struct Hairpin
 {
 public:
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
+  DECLARE_SCHEME_CALLBACK (print, (SCM));
   static bool has_interface (Grob*);
 };
 
diff --git a/lily/include/line-spanner.hh b/lily/include/line-spanner.hh
index 9569e02aab..4dda796de4 100644
--- a/lily/include/line-spanner.hh
+++ b/lily/include/line-spanner.hh
@@ -15,7 +15,7 @@
 class Line_spanner
 {
 public:
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
+  DECLARE_SCHEME_CALLBACK (print, (SCM));
   DECLARE_SCHEME_CALLBACK(after_line_breaking, (SCM));  
   static Molecule line_molecule (Grob* me, Offset f, Offset t);
   static bool has_interface (Grob*);
diff --git a/lily/include/lyric-extender.hh b/lily/include/lyric-extender.hh
index 135bc3b9c7..eb8f60732a 100644
--- a/lily/include/lyric-extender.hh
+++ b/lily/include/lyric-extender.hh
@@ -30,7 +30,7 @@ class Lyric_extender
 public:
   static bool is_visible (Grob*);
   static bool has_interface (Grob*);
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
 };
 
 #endif // EXTENDER_SPANNER_HH
diff --git a/lily/include/lyric-hyphen.hh b/lily/include/lyric-hyphen.hh
index ce04811c91..0d247783dc 100644
--- a/lily/include/lyric-hyphen.hh
+++ b/lily/include/lyric-hyphen.hh
@@ -14,7 +14,7 @@ struct Hyphen_spanner
 public:
   DECLARE_SCHEME_CALLBACK(set_spacing_rods, (SCM));
   bool has_interface (Grob*);
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
 };
 
 #endif // HYPHEN_SPANNER_HH
diff --git a/lily/include/measure-grouping-spanner.hh b/lily/include/measure-grouping-spanner.hh
index b2b9030c26..77d32288c3 100644
--- a/lily/include/measure-grouping-spanner.hh
+++ b/lily/include/measure-grouping-spanner.hh
@@ -15,7 +15,7 @@ source file of the GNU LilyPond music typesetter
 class Measure_grouping
 {
 public:
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
  
   static bool has_interface (Grob*);
 };
diff --git a/lily/include/mensural-ligature.hh b/lily/include/mensural-ligature.hh
index 245845cf00..e38f6651e6 100644
--- a/lily/include/mensural-ligature.hh
+++ b/lily/include/mensural-ligature.hh
@@ -33,7 +33,7 @@
 struct Mensural_ligature
 {
   DECLARE_SCHEME_CALLBACK (brew_ligature_primitive, (SCM ));
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   static bool has_interface (Grob*);
 };
 
diff --git a/lily/include/molecule.hh b/lily/include/molecule.hh
index ddb3190f0a..78aace7bd3 100644
--- a/lily/include/molecule.hh
+++ b/lily/include/molecule.hh
@@ -83,7 +83,7 @@ public:
 DECLARE_UNSMOB(Molecule,molecule);
 SCM fontify_atom (Font_metric const*, SCM atom);
 
-Molecule create_molecule (SCM brew_molecule);
+Molecule create_molecule (SCM print);
 
 
 
diff --git a/lily/include/multi-measure-rest.hh b/lily/include/multi-measure-rest.hh
index 7aeb7681e2..c3f6c75142 100644
--- a/lily/include/multi-measure-rest.hh
+++ b/lily/include/multi-measure-rest.hh
@@ -18,7 +18,7 @@ class Multi_measure_rest
 {
 public:
   static bool has_interface (Grob*);
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   DECLARE_SCHEME_CALLBACK (percent, (SCM));
   static  void add_column (Grob*,Item*);
   DECLARE_SCHEME_CALLBACK (set_spacing_rods, (SCM ));
diff --git a/lily/include/note-head.hh b/lily/include/note-head.hh
index aa55ca4967..7c41206e52 100644
--- a/lily/include/note-head.hh
+++ b/lily/include/note-head.hh
@@ -20,7 +20,7 @@
 class Note_head 
 {
 public:
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   static Interval head_extent (Grob*, Axis);
   static Molecule brew_ledger_lines (Grob *me, int pos, int interspaces,
 				     Interval x_extent, Real, bool);
diff --git a/lily/include/paper-column.hh b/lily/include/paper-column.hh
index 43be74ba7e..7275af9fd9 100644
--- a/lily/include/paper-column.hh
+++ b/lily/include/paper-column.hh
@@ -30,7 +30,7 @@ public:
 
   static int get_rank (Grob*);
 
-  DECLARE_SCHEME_CALLBACK(brew_molecule, (SCM));
+  DECLARE_SCHEME_CALLBACK(print, (SCM));
   DECLARE_SCHEME_CALLBACK(before_line_breaking, (SCM));
   
   Paper_column (SCM);
diff --git a/lily/include/rest.hh b/lily/include/rest.hh
index 602aabcae6..3df7a120bd 100644
--- a/lily/include/rest.hh
+++ b/lily/include/rest.hh
@@ -20,6 +20,6 @@ public:
   static String glyph_name (Grob*, int, String); 
   static SCM brew_internal_molecule (SCM);
   DECLARE_SCHEME_CALLBACK (extent_callback, (SCM,SCM));
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
 };
 #endif // REST_HH
diff --git a/lily/include/script.hh b/lily/include/script.hh
index 8fc238a6a9..494e897788 100644
--- a/lily/include/script.hh
+++ b/lily/include/script.hh
@@ -24,7 +24,7 @@ public:
   static Molecule get_molecule (Grob*,Direction d);
   
   static bool  has_interface (Grob*);
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   DECLARE_SCHEME_CALLBACK (before_line_breaking, (SCM ));
 };
 
diff --git a/lily/include/slur.hh b/lily/include/slur.hh
index 97abc42e18..476b960b92 100644
--- a/lily/include/slur.hh
+++ b/lily/include/slur.hh
@@ -15,7 +15,7 @@ class Slur
 {
 public:
   static void add_column (Grob *me, Grob *col);
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
+  DECLARE_SCHEME_CALLBACK (print, (SCM));
   static void set_interface (Grob*);
   static bool  has_interface (Grob*);
   static Array<Offset> get_encompass_offsets (Grob *me);
diff --git a/lily/include/span-bar.hh b/lily/include/span-bar.hh
index bd9b1cdd30..08316b5f33 100644
--- a/lily/include/span-bar.hh
+++ b/lily/include/span-bar.hh
@@ -29,7 +29,7 @@ public:
   static void evaluate_empty (Grob*);
   DECLARE_SCHEME_CALLBACK (width_callback, (SCM smob, SCM axis));
   DECLARE_SCHEME_CALLBACK (get_bar_size, (SCM ));
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   DECLARE_SCHEME_CALLBACK (before_line_breaking, (SCM ));
   DECLARE_SCHEME_CALLBACK (center_on_spanned_callback, (SCM element, SCM axis));
 };
diff --git a/lily/include/staff-symbol.hh b/lily/include/staff-symbol.hh
index dbcf63f5cb..875127f823 100644
--- a/lily/include/staff-symbol.hh
+++ b/lily/include/staff-symbol.hh
@@ -25,7 +25,7 @@ public:
     
   static int get_steps (Grob*) ;
   static int line_count (Grob*);
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   static bool has_interface (Grob*);
   
 };
diff --git a/lily/include/stem-tremolo.hh b/lily/include/stem-tremolo.hh
index a32adc257a..a0aa600f50 100644
--- a/lily/include/stem-tremolo.hh
+++ b/lily/include/stem-tremolo.hh
@@ -19,7 +19,7 @@ public:
   
   static bool has_interface (Grob*);
   DECLARE_SCHEME_CALLBACK (dim_callback, (SCM smob, SCM axis));
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   DECLARE_SCHEME_CALLBACK (height, (SCM,SCM));
   static void set_stem (Grob*me, Grob *st);
   static Molecule raw_molecule (Grob*);
diff --git a/lily/include/stem.hh b/lily/include/stem.hh
index 4518b2a848..02466710d8 100644
--- a/lily/include/stem.hh
+++ b/lily/include/stem.hh
@@ -41,7 +41,7 @@ public:
   static bool has_interface (Grob *);
   static void set_spacing_hints (Grob *);
   
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
+  DECLARE_SCHEME_CALLBACK (print, (SCM));
   DECLARE_SCHEME_CALLBACK (off_callback, (SCM element, SCM axis));
   DECLARE_SCHEME_CALLBACK (before_line_breaking, (SCM));
   DECLARE_SCHEME_CALLBACK (dim_callback, (SCM smob, SCM axis));
diff --git a/lily/include/system-start-delimiter.hh b/lily/include/system-start-delimiter.hh
index f8a9df268c..59e87f29e3 100644
--- a/lily/include/system-start-delimiter.hh
+++ b/lily/include/system-start-delimiter.hh
@@ -19,7 +19,7 @@
 class System_start_delimiter
 {
 public:
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   
   
   static bool has_interface (Grob*);
diff --git a/lily/include/text-item.hh b/lily/include/text-item.hh
index bfdfb00991..e272303e4b 100644
--- a/lily/include/text-item.hh
+++ b/lily/include/text-item.hh
@@ -18,7 +18,7 @@
 class Text_item
 {
 public:
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
+  DECLARE_SCHEME_CALLBACK (print, (SCM));
   DECLARE_SCHEME_CALLBACK (interpret_markup, (SCM, SCM, SCM));
   static bool has_interface (Grob*);
   static bool markup_p (SCM) ;
diff --git a/lily/include/text-spanner.hh b/lily/include/text-spanner.hh
index 40c81d38a0..d355f68b98 100644
--- a/lily/include/text-spanner.hh
+++ b/lily/include/text-spanner.hh
@@ -15,7 +15,7 @@
 class Text_spanner
 {
 public:
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
+  DECLARE_SCHEME_CALLBACK (print, (SCM));
   static bool has_interface (Grob*);
 private:
   static void setup_pedal_bracket(Spanner *s);
diff --git a/lily/include/tie.hh b/lily/include/tie.hh
index 1fe8b121da..1f00f89efa 100644
--- a/lily/include/tie.hh
+++ b/lily/include/tie.hh
@@ -23,7 +23,7 @@ public:
   static void set_direction (Grob*);
   static Grob * head (Grob*,Direction) ;
   static Real get_position (Grob*) ;
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   static Direction get_default_dir (Grob*) ;
   static SCM get_control_points (SCM);
   DECLARE_SCHEME_CALLBACK (set_spacing_rods, (SCM ));
diff --git a/lily/include/time-signature.hh b/lily/include/time-signature.hh
index 13791563af..2488c75660 100644
--- a/lily/include/time-signature.hh
+++ b/lily/include/time-signature.hh
@@ -22,7 +22,7 @@ struct Time_signature
   static bool has_interface (Grob*);
   static Molecule special_time_signature (Grob*,SCM,int,int) ;
   static Molecule numbered_time_signature (Grob*,int, int);
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
 };
 #endif // METER_HH
 
diff --git a/lily/include/tuplet-bracket.hh b/lily/include/tuplet-bracket.hh
index dc2b186527..0b37235201 100644
--- a/lily/include/tuplet-bracket.hh
+++ b/lily/include/tuplet-bracket.hh
@@ -20,7 +20,7 @@
 class Tuplet_bracket
 {
 public:
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   static bool has_interface (Grob*);
 
   static void add_column (Grob*me,Item*);
diff --git a/lily/include/vaticana-ligature.hh b/lily/include/vaticana-ligature.hh
index 72f78fe18d..333a64992e 100644
--- a/lily/include/vaticana-ligature.hh
+++ b/lily/include/vaticana-ligature.hh
@@ -15,7 +15,7 @@
 struct Vaticana_ligature
 {
   DECLARE_SCHEME_CALLBACK (brew_ligature_primitive, (SCM ));
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   static bool has_interface (Grob *);
 };
 
diff --git a/lily/include/volta-bracket.hh b/lily/include/volta-bracket.hh
index 97b1a9a611..edf08b7def 100644
--- a/lily/include/volta-bracket.hh
+++ b/lily/include/volta-bracket.hh
@@ -1,4 +1,3 @@
-
 /*
   volta-spanner.hh -- part of GNU LilyPond
 
@@ -15,7 +14,7 @@ class Volta_bracket_interface
 {
 public:
   static bool has_interface (Grob*);
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
   static void add_column (Grob*, Grob*col);
   static void add_bar (Grob*me, Item*bar);
 };
diff --git a/lily/item.cc b/lily/item.cc
index 44964dc108..057155b52b 100644
--- a/lily/item.cc
+++ b/lily/item.cc
@@ -168,7 +168,7 @@ Item::handle_prebroken_dependencies ()
 	  set_extent (SCM_EOL, Y_AXIS);
 	}
       else if (trans)
-	set_grob_property ("molecule-callback", SCM_EOL);
+	set_grob_property ("print-function", SCM_EOL);
     }
 }
 
diff --git a/lily/key-signature-interface.cc b/lily/key-signature-interface.cc
index 762b25e05b..123a6da6c5 100644
--- a/lily/key-signature-interface.cc
+++ b/lily/key-signature-interface.cc
@@ -21,7 +21,7 @@
 
 struct Key_signature_interface
 {
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
 
   static bool has_interface (Grob*);
 };
@@ -94,9 +94,9 @@ alteration_pos  (SCM what, int alter, int c0p)
   TODO
   - space the `natural' signs wider
  */
-MAKE_SCHEME_CALLBACK (Key_signature_interface,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Key_signature_interface,print,1);
 SCM
-Key_signature_interface::brew_molecule (SCM smob)
+Key_signature_interface::print (SCM smob)
 {
   Grob*me =unsmob_grob (smob);
 
diff --git a/lily/ligature-engraver.cc b/lily/ligature-engraver.cc
index 5d6d1a2a37..d2b2885ed4 100644
--- a/lily/ligature-engraver.cc
+++ b/lily/ligature-engraver.cc
@@ -99,12 +99,12 @@ Ligature_engraver::create_ligature_spanner ()
  * This method should do something that comes close to the following
  * .ly snippet:
  *
- * \property Voice.NoteHead \override #'molecule-callback =
+ * \property Voice.NoteHead \override #'print-function =
  *     < value of #'ligature-primitive-callback of Voice.NoteHead >
  *
  * TODO: What we are doing here on the c++ level, should actually be
  * performed on the SCM level.  However, I do not know how to teach
- * lilypond to apply an \override and \revert on #'molecule-callback,
+ * lilypond to apply an \override and \revert on #'print-function,
  * whenever lily encounters a \[ and \] in an .ly file, respectively.
  * Also encounter, that lily should not crash if a user erronously
  * nests \[ and \].
@@ -112,7 +112,7 @@ Ligature_engraver::create_ligature_spanner ()
 void
 Ligature_engraver::override_molecule_callback ()
 {
-  SCM target_callback = ly_symbol2scm ("molecule-callback");
+  SCM target_callback = ly_symbol2scm ("print-function");
   SCM source_callback = ly_symbol2scm ("ligature-primitive-callback");
   SCM noteHeadProperties = updated_grob_properties (daddy_trans_, ly_symbol2scm ("NoteHead"));
   SCM value = ly_cdr (scm_sloppy_assq (source_callback, noteHeadProperties));
@@ -124,11 +124,11 @@ Ligature_engraver::override_molecule_callback ()
  * This method should do something that comes close to the following
  * .ly snippet:
  *
- * \property Voice.NoteHead \revert #'molecule-callback
+ * \property Voice.NoteHead \revert #'print-function
  *
  * TODO: What we are doing here on the c++ level, should actually be
  * performed on the SCM level.  However, I do not know how to teach
- * lilypond to apply an \override and \revert on #'molecule-callback,
+ * lilypond to apply an \override and \revert on #'print-function,
  * whenever lily encounters a \[ and \] in an .ly file, respectively.
  * Also encounter, that lily should not crash if a user erronously
  * nests \[ and \].
@@ -137,7 +137,7 @@ void
 Ligature_engraver::revert_molecule_callback ()
 {
   SCM symbol = ly_symbol2scm ("NoteHead");
-  SCM key = ly_symbol2scm ("molecule-callback");
+  SCM key = ly_symbol2scm ("print-function");
   execute_pushpop_property (daddy_trans_, symbol, key, SCM_UNDEFINED);
 }
 
@@ -270,7 +270,7 @@ Ligature_engraver::acknowledge_grob (Grob_info info)
       if (Note_head::has_interface (info.grob_))
 	{
 	  primitives_.push (info);
-	  info.grob_->set_grob_property ("molecule-callback",
+	  info.grob_->set_grob_property ("print-function",
 					 brew_ligature_primitive_proc);
 	}
       if (Rest::has_interface (info.grob_))
diff --git a/lily/line-spanner.cc b/lily/line-spanner.cc
index c73fd28948..e7e59d5259 100644
--- a/lily/line-spanner.cc
+++ b/lily/line-spanner.cc
@@ -84,7 +84,7 @@ Line_spanner::after_line_breaking (SCM  g)
       /*
 	Can't do suicide, since this mucks up finding the trend.
        */
-      me->set_grob_property ("molecule-callback", SCM_EOL);
+      me->set_grob_property ("print-function", SCM_EOL);
       
     }
   return SCM_EOL;
@@ -172,9 +172,9 @@ line_spanner_common_parent (Grob *me)
 */
 
 
-MAKE_SCHEME_CALLBACK (Line_spanner, brew_molecule, 1);
+MAKE_SCHEME_CALLBACK (Line_spanner, print, 1);
 SCM
-Line_spanner::brew_molecule (SCM smob) 
+Line_spanner::print (SCM smob) 
 {
   Spanner *me = dynamic_cast<Spanner*> (unsmob_grob (smob));
 
diff --git a/lily/lyric-extender.cc b/lily/lyric-extender.cc
index c2f33dbc36..40ee4b391c 100644
--- a/lily/lyric-extender.cc
+++ b/lily/lyric-extender.cc
@@ -31,9 +31,9 @@ Lyric_extender::is_visible (Grob *gr)
   return true;
 }
 
-MAKE_SCHEME_CALLBACK (Lyric_extender,brew_molecule,1)
+MAKE_SCHEME_CALLBACK (Lyric_extender,print,1)
 SCM 
-Lyric_extender::brew_molecule (SCM smob) 
+Lyric_extender::print (SCM smob) 
 {
   Spanner *me = unsmob_spanner (smob);
   Item *l = me->get_bound (LEFT);
diff --git a/lily/lyric-hyphen.cc b/lily/lyric-hyphen.cc
index 6fdd1e4b62..f608ddc77f 100644
--- a/lily/lyric-hyphen.cc
+++ b/lily/lyric-hyphen.cc
@@ -18,9 +18,9 @@
 #include "lyric-hyphen.hh"
 #include "moment.hh"
 
-MAKE_SCHEME_CALLBACK (Hyphen_spanner,brew_molecule,1)
+MAKE_SCHEME_CALLBACK (Hyphen_spanner,print,1)
 SCM 
-Hyphen_spanner::brew_molecule (SCM smob)
+Hyphen_spanner::print (SCM smob)
 {
   Spanner * me = unsmob_spanner (smob);
   Drul_array<Item*> bounds (me->get_bound (LEFT),
diff --git a/lily/measure-grouping-spanner.cc b/lily/measure-grouping-spanner.cc
index c4a98dde1b..780e77547b 100644
--- a/lily/measure-grouping-spanner.cc
+++ b/lily/measure-grouping-spanner.cc
@@ -14,9 +14,9 @@
 #include "item.hh"
 #include "staff-symbol-referencer.hh"
 
-MAKE_SCHEME_CALLBACK (Measure_grouping, brew_molecule, 1);
+MAKE_SCHEME_CALLBACK (Measure_grouping, print, 1);
 SCM 
-Measure_grouping::brew_molecule (SCM grob)
+Measure_grouping::print (SCM grob)
 {
   Spanner * me = dynamic_cast<Spanner*> (unsmob_grob (grob));
 
diff --git a/lily/mensural-ligature.cc b/lily/mensural-ligature.cc
index 8eac3a5395..9d09027e14 100644
--- a/lily/mensural-ligature.cc
+++ b/lily/mensural-ligature.cc
@@ -221,9 +221,9 @@ Mensural_ligature::brew_ligature_primitive (SCM smob)
   return internal_brew_primitive (me, false).smobbed_copy ();
 }
 
-MAKE_SCHEME_CALLBACK (Mensural_ligature, brew_molecule, 1);
+MAKE_SCHEME_CALLBACK (Mensural_ligature, print, 1);
 SCM
-Mensural_ligature::brew_molecule (SCM)
+Mensural_ligature::print (SCM)
 {
   return SCM_EOL;
 }
diff --git a/lily/multi-measure-rest.cc b/lily/multi-measure-rest.cc
index 345123297f..36dbd24241 100644
--- a/lily/multi-measure-rest.cc
+++ b/lily/multi-measure-rest.cc
@@ -64,9 +64,9 @@ Multi_measure_rest::percent (SCM smob)
   return r.smobbed_copy ();
 }
 
-MAKE_SCHEME_CALLBACK (Multi_measure_rest,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Multi_measure_rest,print,1);
 SCM
-Multi_measure_rest::brew_molecule (SCM smob) 
+Multi_measure_rest::print (SCM smob) 
 {
   Grob *me = unsmob_grob (smob);
   Spanner * sp = dynamic_cast<Spanner*> (me);
diff --git a/lily/note-head.cc b/lily/note-head.cc
index 9fc3257848..e620fdf7a4 100644
--- a/lily/note-head.cc
+++ b/lily/note-head.cc
@@ -119,7 +119,7 @@ Note_head::brew_ledger_lines (Grob *me,
 }
 
 Molecule
-internal_brew_molecule (Grob *me, bool with_ledgers)
+internal_print (Grob *me, bool with_ledgers)
 {
   SCM style  = me->get_grob_property ("style");
   if (!gh_symbol_p (style))
@@ -179,16 +179,16 @@ internal_brew_molecule (Grob *me, bool with_ledgers)
 }
 
 
-MAKE_SCHEME_CALLBACK (Note_head,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Note_head,print,1);
 SCM
-Note_head::brew_molecule (SCM smob)  
+Note_head::print (SCM smob)  
 {
   Grob *me = unsmob_grob (smob);
 
   /*
     ledgers don't take space. See top of file.
    */
-  return internal_brew_molecule (me, true).smobbed_copy ();
+  return internal_print (me, true).smobbed_copy ();
 }
 
 /*
@@ -200,10 +200,10 @@ Note_head::brew_molecule (SCM smob)
 Interval
 Note_head::head_extent (Grob *me, Axis a)
 {
-  SCM brewer = me->get_grob_property ("molecule-callback");
-  if (brewer == Note_head::brew_molecule_proc)
+  SCM brewer = me->get_grob_property ("print-function");
+  if (brewer == Note_head::print_proc)
     {
-      Molecule mol = internal_brew_molecule (me, false);
+      Molecule mol = internal_print (me, false);
   
       if (!mol.is_empty ())
 	return mol.extent (a);
@@ -276,10 +276,10 @@ Note_head::brew_ez_molecule (SCM smob)
 Real
 Note_head::stem_attachment_coordinate (Grob *me, Axis a)
 {
-  SCM brewer = me->get_grob_property ("molecule-callback");
+  SCM brewer = me->get_grob_property ("print-function");
   Font_metric * fm  = Font_interface::get_default_font (me);
   
-  if (brewer == Note_head::brew_molecule_proc)
+  if (brewer == Note_head::print_proc)
     {
       SCM style  = me->get_grob_property ("style");
       if (!gh_symbol_p (style))
diff --git a/lily/ottava-bracket.cc b/lily/ottava-bracket.cc
index d5b3dd56c0..9adaded43c 100644
--- a/lily/ottava-bracket.cc
+++ b/lily/ottava-bracket.cc
@@ -24,7 +24,7 @@
 
 struct Ottava_bracket
 {
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
+  DECLARE_SCHEME_CALLBACK (print, (SCM));
   static bool has_interface (Grob*);
 };
 
@@ -39,9 +39,9 @@ struct Ottava_bracket
 
 */
 
-MAKE_SCHEME_CALLBACK (Ottava_bracket, brew_molecule, 1);
+MAKE_SCHEME_CALLBACK (Ottava_bracket, print, 1);
 SCM
-Ottava_bracket::brew_molecule (SCM smob)
+Ottava_bracket::print (SCM smob)
 {
   Spanner*me  = dynamic_cast<Spanner*> (unsmob_grob (smob));
   
diff --git a/lily/paper-column.cc b/lily/paper-column.cc
index 64991915cc..f6f081f54b 100644
--- a/lily/paper-column.cc
+++ b/lily/paper-column.cc
@@ -110,9 +110,9 @@ Paper_column::is_used (Grob*me)
   Print a vertical line and  the rank number, to aid debugging.  
  */
 
-MAKE_SCHEME_CALLBACK(Paper_column,brew_molecule,1);
+MAKE_SCHEME_CALLBACK(Paper_column,print,1);
 SCM
-Paper_column::brew_molecule (SCM p)
+Paper_column::print (SCM p)
 {
   Grob *me = unsmob_grob (p);
 
diff --git a/lily/piano-pedal-bracket.cc b/lily/piano-pedal-bracket.cc
index 4cf832191c..957a795274 100644
--- a/lily/piano-pedal-bracket.cc
+++ b/lily/piano-pedal-bracket.cc
@@ -14,14 +14,14 @@ source file of the GNU LilyPond music typesetter
 
 struct Piano_pedal_bracket
 {
-  DECLARE_SCHEME_CALLBACK(brew_molecule,(SCM));
+  DECLARE_SCHEME_CALLBACK(print,(SCM));
   static bool has_interface (Grob*);
 };
 
 
-MAKE_SCHEME_CALLBACK(Piano_pedal_bracket,brew_molecule,1);
+MAKE_SCHEME_CALLBACK(Piano_pedal_bracket,print,1);
 SCM
-Piano_pedal_bracket::brew_molecule (SCM smob)
+Piano_pedal_bracket::print (SCM smob)
 {
   Spanner *me = dynamic_cast<Spanner*> (unsmob_grob (smob));
   
diff --git a/lily/rest.cc b/lily/rest.cc
index ea369d6a64..210e756814 100644
--- a/lily/rest.cc
+++ b/lily/rest.cc
@@ -111,7 +111,7 @@ Rest::glyph_name (Grob *me, int balltype, String style)
 }
 
 
-MAKE_SCHEME_CALLBACK (Rest,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Rest,print,1);
 
 SCM
 Rest::brew_internal_molecule (SCM smob)
@@ -143,7 +143,7 @@ Rest::brew_internal_molecule (SCM smob)
 }
 
 SCM 
-Rest::brew_molecule (SCM smob) 
+Rest::print (SCM smob) 
 {
   return brew_internal_molecule (smob);
 }
diff --git a/lily/script.cc b/lily/script.cc
index 93fad876c6..3e8a8148b7 100644
--- a/lily/script.cc
+++ b/lily/script.cc
@@ -76,10 +76,10 @@ Script_interface::before_line_breaking (SCM smob)
 }
 
 
-MAKE_SCHEME_CALLBACK (Script_interface,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Script_interface,print,1);
 
 SCM
-Script_interface::brew_molecule (SCM smob)
+Script_interface::print (SCM smob)
 {
   Grob *me= unsmob_grob (smob);
 
diff --git a/lily/slur.cc b/lily/slur.cc
index 349f52cc45..5777cdcf20 100644
--- a/lily/slur.cc
+++ b/lily/slur.cc
@@ -538,9 +538,9 @@ Slur::height (SCM smob, SCM ax)
 /*
   Ugh should have dash-length + dash-period
  */
-MAKE_SCHEME_CALLBACK (Slur, brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Slur, print,1);
 SCM
-Slur::brew_molecule (SCM smob)
+Slur::print (SCM smob)
 {
   Grob * me = unsmob_grob (smob);
   if (!scm_ilength (me->get_grob_property ("note-columns")))
diff --git a/lily/span-arpeggio-engraver.cc b/lily/span-arpeggio-engraver.cc
index c192d0a456..9b33ae95f3 100644
--- a/lily/span-arpeggio-engraver.cc
+++ b/lily/span-arpeggio-engraver.cc
@@ -92,7 +92,7 @@ Span_arpeggio_engraver::stop_translation_timestep ()
 	    we can't kill the children, since we don't want to the
 	    previous note to bump into the span arpeggio; so we make
 	    it transparent.  */
-	  arpeggios_[i]->set_grob_property ("molecule-callback", SCM_EOL);
+	  arpeggios_[i]->set_grob_property ("print-function", SCM_EOL);
 	}
       
       typeset_grob (span_arpeggio_);
diff --git a/lily/span-bar.cc b/lily/span-bar.cc
index 1c3c640851..46c39c6798 100644
--- a/lily/span-bar.cc
+++ b/lily/span-bar.cc
@@ -25,7 +25,7 @@ Span_bar::add_bar (Grob*me, Grob*b)
   me->add_dependency (b);
 }
 
-MAKE_SCHEME_CALLBACK (Span_bar,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Span_bar,print,1);
 
 /* Limitations/Bugs:
 
@@ -46,7 +46,7 @@ MAKE_SCHEME_CALLBACK (Span_bar,brew_molecule,1);
 /* This routine was originally by Juergen Reuter, but it was a on the
    bulky side. Rewritten by Han-Wen. */
 SCM
-Span_bar::brew_molecule (SCM smobbed_me) 
+Span_bar::print (SCM smobbed_me) 
 {
   Grob *me = unsmob_grob (smobbed_me);
   SCM first_elt = me->get_grob_property ("elements");
@@ -149,7 +149,7 @@ Span_bar::center_on_spanned_callback (SCM element_smob, SCM axis)
   assert (a == Y_AXIS);
   Interval i (get_spanned_interval (me));
 
-  /* Bar_line::brew_molecule delivers a barline of y-extent (-h/2,h/2), so
+  /* Bar_line::print delivers a barline of y-extent (-h/2,h/2), so
      we have to translate ourselves to be in the center of the 
      interval that we span. */
   if (i.is_empty ())
diff --git a/lily/staff-symbol.cc b/lily/staff-symbol.cc
index 8f613cb00a..a8ef6c0d1b 100644
--- a/lily/staff-symbol.cc
+++ b/lily/staff-symbol.cc
@@ -18,10 +18,10 @@
 
 
 
-MAKE_SCHEME_CALLBACK (Staff_symbol,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Staff_symbol,print,1);
 
 SCM
-Staff_symbol::brew_molecule (SCM smob)
+Staff_symbol::print (SCM smob)
 {
   Grob *me = unsmob_grob (smob);
   Spanner* sp = dynamic_cast<Spanner*> (me);
diff --git a/lily/stem-tremolo.cc b/lily/stem-tremolo.cc
index d7a9d84746..c3a8b54c52 100644
--- a/lily/stem-tremolo.cc
+++ b/lily/stem-tremolo.cc
@@ -121,9 +121,9 @@ Stem_tremolo::raw_molecule (Grob *me)
 }
 
 
-MAKE_SCHEME_CALLBACK (Stem_tremolo,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Stem_tremolo,print,1);
 SCM
-Stem_tremolo::brew_molecule (SCM grob) 
+Stem_tremolo::print (SCM grob) 
 {
   Grob *me = unsmob_grob (grob);
   Grob *stem = unsmob_grob (me->get_grob_property ("stem"));
diff --git a/lily/stem.cc b/lily/stem.cc
index 6a2656ed2a..a5d0c00e73 100644
--- a/lily/stem.cc
+++ b/lily/stem.cc
@@ -540,7 +540,7 @@ Stem::before_line_breaking (SCM smob)
     }
   else
     {
-      me->set_grob_property ("molecule-callback", SCM_EOL);
+      me->set_grob_property ("print-function", SCM_EOL);
     }
   
   return SCM_UNSPECIFIED;
@@ -701,10 +701,10 @@ Stem::thickness (Grob* me)
     * Staff_symbol_referencer::line_thickness (me);
 }
 
-MAKE_SCHEME_CALLBACK (Stem,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Stem,print,1);
 
 SCM
-Stem::brew_molecule (SCM smob) 
+Stem::print (SCM smob) 
 {
   Grob*me = unsmob_grob (smob);
   Molecule mol;
diff --git a/lily/sustain-pedal.cc b/lily/sustain-pedal.cc
index 13b6aaa8ce..30658d7bf3 100644
--- a/lily/sustain-pedal.cc
+++ b/lily/sustain-pedal.cc
@@ -23,20 +23,20 @@
 
   Properties:
 
-  glyph -- text string (TODO: make one large glyph of the Ped symbol, removes need for member_brew_molecule ())
+  glyph -- text string (TODO: make one large glyph of the Ped symbol, removes need for member_print ())
 
 */
 
 struct Sustain_pedal
 {
 public:
-  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
+  DECLARE_SCHEME_CALLBACK (print, (SCM));
 };
 
 
-MAKE_SCHEME_CALLBACK (Sustain_pedal,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Sustain_pedal,print,1);
 SCM
-Sustain_pedal::brew_molecule (SCM smob) 
+Sustain_pedal::print (SCM smob) 
 {
   Grob * e = unsmob_grob (smob);
   
diff --git a/lily/system-start-delimiter.cc b/lily/system-start-delimiter.cc
index b28aad5cf7..d4784aa3c1 100644
--- a/lily/system-start-delimiter.cc
+++ b/lily/system-start-delimiter.cc
@@ -102,9 +102,9 @@ System_start_delimiter::after_line_breaking (SCM smob)
 }
 
 
-MAKE_SCHEME_CALLBACK (System_start_delimiter,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (System_start_delimiter,print,1);
 SCM
-System_start_delimiter::brew_molecule (SCM smob)
+System_start_delimiter::print (SCM smob)
 {
   Grob * me = unsmob_grob (smob);
 
diff --git a/lily/text-item.cc b/lily/text-item.cc
index 1c4e596bf1..c70ab7c74b 100644
--- a/lily/text-item.cc
+++ b/lily/text-item.cc
@@ -54,9 +54,9 @@ Text_item::interpret_markup (SCM paper, SCM props, SCM markup)
     }
 }
 
-MAKE_SCHEME_CALLBACK(Text_item,brew_molecule,1);
+MAKE_SCHEME_CALLBACK(Text_item,print,1);
 SCM
-Text_item::brew_molecule (SCM grob)
+Text_item::print (SCM grob)
 {
   Grob * me = unsmob_grob (grob);
   
diff --git a/lily/text-spanner.cc b/lily/text-spanner.cc
index 86387458f9..f88df10985 100644
--- a/lily/text-spanner.cc
+++ b/lily/text-spanner.cc
@@ -28,18 +28,18 @@
   - more texts/positions
 */
 
-MAKE_SCHEME_CALLBACK (Text_spanner, brew_molecule, 1);
+MAKE_SCHEME_CALLBACK (Text_spanner, print, 1);
 
 /*
   TODO: this function is too long
 */
 SCM
-Text_spanner::brew_molecule (SCM smob) 
+Text_spanner::print (SCM smob) 
 {
   Grob *me= unsmob_grob (smob);
   Spanner *spanner = dynamic_cast<Spanner*> (me);
   
-  /* Ugh, must be same as Hairpin::brew_molecule.  */
+  /* Ugh, must be same as Hairpin::print.  */
 
   Grob *common = spanner->get_bound (LEFT)->common_refpoint (spanner->get_bound (RIGHT), X_AXIS);
   Paper_def * paper = me->get_paper();
diff --git a/lily/tie.cc b/lily/tie.cc
index 177094443e..3440fd9aeb 100644
--- a/lily/tie.cc
+++ b/lily/tie.cc
@@ -319,9 +319,9 @@ Tie::get_control_points (SCM smob)
 }
 
 
-MAKE_SCHEME_CALLBACK (Tie,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Tie,print,1);
 SCM
-Tie::brew_molecule (SCM smob) 
+Tie::print (SCM smob) 
 {
   Grob*me = unsmob_grob (smob);
 
diff --git a/lily/time-signature.cc b/lily/time-signature.cc
index 0c6292dfa2..2a4d380db3 100644
--- a/lily/time-signature.cc
+++ b/lily/time-signature.cc
@@ -25,9 +25,9 @@
   
  */
 
-MAKE_SCHEME_CALLBACK (Time_signature, brew_molecule, 1);
+MAKE_SCHEME_CALLBACK (Time_signature, print, 1);
 SCM
-Time_signature::brew_molecule (SCM smob) 
+Time_signature::print (SCM smob) 
 {
   Grob * me = unsmob_grob (smob);
   SCM st = me->get_grob_property ("style");
diff --git a/lily/tuplet-bracket.cc b/lily/tuplet-bracket.cc
index 81feea3240..5bc83b5e12 100644
--- a/lily/tuplet-bracket.cc
+++ b/lily/tuplet-bracket.cc
@@ -96,9 +96,9 @@ Tuplet_bracket::parallel_beam (Grob *me, Link_array<Grob> const &cols, bool *equ
   follow beam precisely for determining tuplet number location.
   
  */
-MAKE_SCHEME_CALLBACK (Tuplet_bracket,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Tuplet_bracket,print,1);
 SCM
-Tuplet_bracket::brew_molecule (SCM smob) 
+Tuplet_bracket::print (SCM smob) 
 {
   Grob *me= unsmob_grob (smob);
   Molecule  mol;
diff --git a/lily/vaticana-ligature.cc b/lily/vaticana-ligature.cc
index 18f9bebec8..ba3626d90f 100644
--- a/lily/vaticana-ligature.cc
+++ b/lily/vaticana-ligature.cc
@@ -322,9 +322,9 @@ Vaticana_ligature::brew_ligature_primitive (SCM smob)
   return primitive;
 }
 
-MAKE_SCHEME_CALLBACK (Vaticana_ligature, brew_molecule, 1);
+MAKE_SCHEME_CALLBACK (Vaticana_ligature, print, 1);
 SCM
-Vaticana_ligature::brew_molecule (SCM)
+Vaticana_ligature::print (SCM)
 {
   return SCM_EOL;
 }
diff --git a/lily/volta-bracket.cc b/lily/volta-bracket.cc
index 01fb504dbc..813bc1162f 100644
--- a/lily/volta-bracket.cc
+++ b/lily/volta-bracket.cc
@@ -32,9 +32,9 @@
   
 */
 
-MAKE_SCHEME_CALLBACK (Volta_bracket_interface,brew_molecule,1);
+MAKE_SCHEME_CALLBACK (Volta_bracket_interface,print,1);
 SCM
-Volta_bracket_interface::brew_molecule (SCM smob) 
+Volta_bracket_interface::print (SCM smob) 
 {
   Grob *me = unsmob_grob (smob);
   Link_array<Item> bars
diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly
index 6c7f843499..5fae4568eb 100644
--- a/ly/engraver-init.ly
+++ b/ly/engraver-init.ly
@@ -1,4 +1,4 @@
-\version "2.1.19"
+\version "2.1.21"
 
 
 %
@@ -578,7 +578,7 @@ OrchestralScoreContext = \translator {
 
 EasyNotation = \translator {
 	\ScoreContext
-	NoteHead \override #'molecule-callback = #Note_head::brew_ez_molecule
+	NoteHead \override #'print-function = #Note_head::brew_ez_molecule
 	NoteHead \override #'Y-extent-callback = #'()
 	NoteHead \override #'X-extent-callback = #'()
 }
@@ -618,7 +618,7 @@ EasyNotation = \translator {
 
       \description "Context for drawing notes in a Tab staff. "
       Slur \override #'font-family       = #'roman
-      Slur \override #'molecule-callback = #hammer-molecule-callback
+      Slur \override #'print-function = #hammer-print-function
       Slur \override #'direction    = #-1
 
       % Draws all stems/beams out of the staff (and not in the middle of the staff !)
diff --git a/ly/gregorian-init.ly b/ly/gregorian-init.ly
index 76c943b1f7..850392a80f 100644
--- a/ly/gregorian-init.ly
+++ b/ly/gregorian-init.ly
@@ -1,4 +1,4 @@
-\version "2.1.1"
+\version "2.1.21"
 
 %%%%%%%%
 %%%%%%%% shortcuts common for all styles of gregorian chant notation
@@ -56,7 +56,7 @@ caesura = {
   \breathe
 }
 divisioMinima = {
-  \once \property Voice.BreathingSign \override #'molecule-callback = #Breathing_sign::divisio_minima
+  \once \property Voice.BreathingSign \override #'print-function = #Breathing_sign::divisio_minima
 
   % Workaround: add padding.  Correct fix would be spacing engine handle this.
   \once \property Voice.BreathingSign \override #'extra-X-extent = #'(-1.0 . 0)
@@ -64,7 +64,7 @@ divisioMinima = {
   \breathe
 }
 divisioMaior = {
-  \once \property Voice.BreathingSign \override #'molecule-callback = #Breathing_sign::divisio_maior
+  \once \property Voice.BreathingSign \override #'print-function = #Breathing_sign::divisio_maior
   \once \property Voice.BreathingSign \override #'Y-offset-callbacks = #'()
 
   % Workaround: add padding.  Correct fix would be spacing engine handle this.
@@ -73,7 +73,7 @@ divisioMaior = {
   \breathe
 }
 divisioMaxima = {
-  \once \property Voice.BreathingSign \override #'molecule-callback = #Breathing_sign::divisio_maxima
+  \once \property Voice.BreathingSign \override #'print-function = #Breathing_sign::divisio_maxima
   \once \property Voice.BreathingSign \override #'Y-offset-callbacks = #'()
 
   % Workaround: add padding.  Correct fix would be spacing engine handle this.
@@ -82,7 +82,7 @@ divisioMaxima = {
   \breathe
 }
 finalis = {
-  \once \property Voice.BreathingSign \override #'molecule-callback = #Breathing_sign::finalis
+  \once \property Voice.BreathingSign \override #'print-function = #Breathing_sign::finalis
   \once \property Voice.BreathingSign \override #'Y-offset-callbacks = #'()
 
   % Workaround: add padding.  Correct fix would be spacing engine handle this.
diff --git a/ly/property-init.ly b/ly/property-init.ly
index c784a0ba52..51fbb8bc44 100644
--- a/ly/property-init.ly
+++ b/ly/property-init.ly
@@ -1,6 +1,6 @@
 % property-init.ly
 
-\version "1.9.8"
+\version "2.1.21"
 
 stemUp = \property Voice.Stem \set #'direction = #1
 stemDown = \property Voice.Stem \set #'direction = #-1 
@@ -222,7 +222,7 @@ forgetAccidentals = {
 turnOff = #(cons '() '())
 
 % For drawing vertical chord brackets with \arpeggio
-% This is a shorthand for the value of the molecule-callback property 
+% This is a shorthand for the value of the print-function property 
 % of either Staff.Arpeggio or PianoStaff.Arpeggio, depending whether 
 % cross-staff brackets are desired. 
 
diff --git a/scm/define-grob-properties.scm b/scm/define-grob-properties.scm
index 14b7881e91..87fcc21f98 100644
--- a/scm/define-grob-properties.scm
+++ b/scm/define-grob-properties.scm
@@ -319,10 +319,10 @@ Grob at least this long.
 
 Also works as a scaling parameter for the length of hyphen. .")
      (minimum-space ,ly:dimension? "minimum distance that the victim should move (after padding).")
-     (molecule-callback ,procedure? "Function taking grob as argument,
+     (print-function ,procedure? "Function taking grob as argument,
 returning a Molecule object.")
 
-     (molecule ,ly:molecule? "Cached output of the molecule-callback.")
+     (molecule ,ly:molecule? "Cached output of the print-function.")
 
      (new-accidentals ,list? "list of (pitch, accidental) pairs.")
      (no-spacing-rods ,boolean? "read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM).")
@@ -434,7 +434,7 @@ notation manual for more information.")
 
      (threshold ,number-pair? "(cons MIN MAX), where MIN and MAX are dimensions in staffspace.")
      (transparent ,boolean? "This is almost the
-same as setting molecule-callback to #f, but this retains the
+same as setting print-function to #f, but this retains the
 dimensions of this grob, which means that you can erase grobs
 individually. .")
      (bracket-visibility ,boolean-or-symbol? " This controls the
@@ -503,7 +503,6 @@ duration of a measure is a breve or longer.")
 (define all-internal-grob-properties
   (map
    (lambda (x)
-     (display x)
      (apply define-internal-grob-property x))
    
    `(
@@ -512,15 +511,16 @@ duration of a measure is a breve or longer.")
      (all-elements ,grob-list? "list of all grobs in this line. Needed for protecting grobs from GC.")
      (arpeggio ,ly:grob? "pointer to arpeggio object.") 
      (beam ,ly:grob? "pointer to the beam, if applicable.")
-     (center-element ,ly:grob? "grob which will
-be at the center of the group after aligning (when using
-Align_interface::center_on_element). .")
-     (direction-source ,ly:grob? "in case side-relative-direction is set, which grob  to get the direction from .")
+     (center-element ,ly:grob? "grob which will be at the center of
+the group after aligning (when using
+Align_interface::center_on_element).")
+     (direction-source ,ly:grob? "in case side-relative-direction is
+set, which grob to get the direction from .")
      (dot ,ly:grob? "reference to Dots object.")
      (pedal-text ,ly:grob? "Pointer to the text of a mixed-style piano pedal.")
      (stem ,ly:grob? "pointer to Stem object.")
      (tremolo-flag ,ly:grob? "The tremolo object on a stem.")
-     (tie ,ly:grob? "") 
+     (tie ,ly:grob? "")
      (staff-symbol ,ly:grob? "the staff symbol grob that we're in.")
      (rest ,ly:grob? "the staff symbol grob that we're in.")
      (rest-collision ,ly:grob? "rest collision that a rest is in.")
diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm
index 89dc980d67..a072d4f0d9 100644
--- a/scm/define-grobs.scm
+++ b/scm/define-grobs.scm
@@ -16,7 +16,7 @@
   `(
     (Accidental
      . (
-	(molecule-callback . ,Accidental_interface::brew_molecule)
+	(print-function . ,Accidental_interface::print)
 	(font-family . music)
 	(cautionary-style . parentheses)
 	(after-line-breaking-callback . ,Accidental_interface::after_line_breaking)		(meta . ((interfaces . (item-interface accidental-interface font-interface))))
@@ -37,7 +37,7 @@
      . (
        (breakable . #t)
        (break-align-symbol . ambitus)
-       (molecule-callback . ,Ambitus::brew_molecule)
+       (print-function . ,Ambitus::print)
        (font-family . music)
        (note-head-style . "noteheads-2")
        (visibility-lambda . ,begin-of-line-visible)
@@ -56,7 +56,7 @@
      . (
 	(X-extent-callback . ,Arpeggio::width_callback)
 	(Y-extent-callback . #f)	       
-	(molecule-callback . ,Arpeggio::brew_molecule)
+	(print-function . ,Arpeggio::print)
 	(Y-offset-callbacks . (,Staff_symbol_referencer::callback))
 	(X-offset-callbacks . (,Side_position_interface::aligned_side))
 	(direction . -1)
@@ -70,7 +70,7 @@
 	(glyph . "|")
 	(break-glyph-function . ,default-break-barline)
 	(bar-size-procedure . ,Bar_line::get_staff_bar_size)
-	(molecule-callback . ,Bar_line::brew_molecule)	   
+	(print-function . ,Bar_line::print)	   
 	(break-visibility . ,all-visible)
 	(breakable . #t)
 	(before-line-breaking-callback . ,Bar_line::before_line_breaking)
@@ -97,7 +97,7 @@
     
     (BarNumber
      . (
-	(molecule-callback . ,Text_item::brew_molecule)
+	(print-function . ,Text_item::print)
 	(breakable . #t)
 	(break-visibility . ,begin-of-line-visible)
 	(padding . 1.0)
@@ -118,7 +118,7 @@
 
     (BassFigure
      . (
-	(molecule-callback . ,Text_item::brew_molecule)
+	(print-function . ,Text_item::print)
 	(Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
 	(direction . 1)
 	(font-family . number)
@@ -136,7 +136,7 @@
      . (
 	;; todo: clean this up a bit: the list is getting
 	;; rather long.
-	(molecule-callback . ,Beam::brew_molecule)
+	(print-function . ,Beam::print)
 	(concaveness-gap . 2.0)
 	(concaveness-threshold . 0.08)
 	(gap . 0.8)
@@ -214,7 +214,7 @@
 			(first-note . (fixed-space . 1.0)) ;huh? 
 			(right-edge . (extra-space . 0.1))
 			))
-	(molecule-callback . ,Text_item::brew_molecule)
+	(print-function . ,Text_item::print)
 	(text . ,(make-musicglyph-markup "scripts-rcomma"))
 	(Y-offset-callbacks . (,Breathing_sign::offset_callback))
 	(break-visibility . ,begin-of-line-invisible)
@@ -223,7 +223,7 @@
 
     (Clef
      . (
-	(molecule-callback . ,Clef::brew_molecule)
+	(print-function . ,Clef::print)
 	(before-line-breaking-callback . ,Clef::before_line_breaking)
 	(breakable . #t)
 	(font-family . music)	   
@@ -243,13 +243,13 @@
     
     (ClusterSpannerBeacon
      . (
-	(molecule-callback . #f)
+	(print-function . #f)
 	(meta . ((interfaces . (cluster-beacon-interface item-interface))))
 	))
     
     (ClusterSpanner
      . (
-	(molecule-callback . ,Cluster::brew_molecule)
+	(print-function . ,Cluster::print)
 	(spacing-procedure . ,Spanner::set_spacing_rods)		
 	(minimum-length . 0.0)
 	(padding . 0.25)
@@ -259,7 +259,7 @@
 
     (ChordName
      . (
-	(molecule-callback . ,Text_item::brew_molecule)
+	(print-function . ,Text_item::print)
 	(after-line-breaking-callback . ,Chord_name::after_line_breaking)
 	(word-space . 0.0)
 	(font-family . sans)
@@ -272,7 +272,7 @@
      . (
 	(break-align-symbol . custos)
 	(breakable . #t)
-	(molecule-callback . ,Custos::brew_molecule)
+	(print-function . ,Custos::print)
 	(break-visibility . ,end-of-line-visible)
 	(style . vaticana)
 	(neutral-position . 0)
@@ -301,14 +301,14 @@
 
     (Dots
      . (
-	(molecule-callback . ,Dots::brew_molecule)
+	(print-function . ,Dots::print)
 	(dot-count . 1)
 	(meta . ((interfaces . (font-interface staff-symbol-referencer-interface dots-interface item-interface ))))
 	))
 
     (DoublePercentRepeat .
 			 (
-			  (molecule-callback . ,Percent_repeat_item_interface::double_percent)
+			  (print-function . ,Percent_repeat_item_interface::double_percent)
 			  (breakable . #t)
 			  (slope . 1.0)
 			  (font-family . music)
@@ -324,7 +324,7 @@
     (DynamicText
      . (
 	(Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
-	(molecule-callback . ,Text_item::brew_molecule)
+	(print-function . ,Text_item::print)
 	(X-offset-callbacks . (,Self_alignment_interface::aligned_on_self
 			       ,Self_alignment_interface::centered_on_parent))
 	(self-alignment-X . 0)
@@ -370,7 +370,7 @@
 
     (Fingering
      . (
-	(molecule-callback . ,Text_item::brew_molecule)
+	(print-function . ,Text_item::print)
 	(padding . 0.6)
 	(staff-padding . 0.6)
 	(self-alignment-X . 0)
@@ -394,7 +394,7 @@
 
     (Hairpin
      . (
-	(molecule-callback . ,Hairpin::brew_molecule)
+	(print-function . ,Hairpin::print)
 	(thickness . 1.0)
 	(height . 0.6666)
 	(spacing-procedure . ,Spanner::set_spacing_rods)
@@ -409,7 +409,7 @@
     (HorizontalBracket
      . (
 	(thickness . 1.0)
-	(molecule-callback . ,Horizontal_bracket::brew_molecule)
+	(print-function . ,Horizontal_bracket::print)
 	(Y-offset-callbacks . (,Side_position_interface::aligned_side))
 	(padding . 0.2)
 	(direction . -1)
@@ -428,7 +428,7 @@
 			))
 
 	(self-alignment-Y . 0)
-	(molecule-callback . ,Text_item::brew_molecule)		
+	(print-function . ,Text_item::print)		
 	(break-align-symbol . instrument-name)
 	(break-visibility . ,begin-of-line-visible)
 	(baseline-skip . 2)
@@ -443,7 +443,7 @@
 	(direction . 0)
 	(space-alist . ((left-edge . (extra-space . 1.0))
 			))
-	(molecule-callback . ,Text_item::brew_molecule)		
+	(print-function . ,Text_item::print)		
 	(break-align-symbol . clef)
 	(break-visibility . ,begin-of-line-visible)
 	(baseline-skip . 2)
@@ -456,7 +456,7 @@
 
     (KeySignature
      . (
-	(molecule-callback . ,Key_signature_interface::brew_molecule)
+	(print-function . ,Key_signature_interface::print)
 	(space-alist . (
 			(time-signature . (extra-space . 1.25))
 			(staff-bar .  (extra-space . 1.1))
@@ -472,7 +472,7 @@
 
     (LigatureBracket
      . (
-	(ligature-primitive-callback . ,Note_head::brew_molecule)
+	(ligature-primitive-callback . ,Note_head::print)
 	(direction . 1)
 	(gap . 0.0)
 	(padding . 2.0)
@@ -481,7 +481,7 @@
 	(shorten-pair . (-0.2 . -0.2))
 	(before-line-breaking-callback . ,Tuplet_bracket::before_line_breaking)
 	(after-line-breaking-callback . ,Tuplet_bracket::after_line_breaking)
-	(molecule-callback . ,Tuplet_bracket::brew_molecule)
+	(print-function . ,Tuplet_bracket::print)
 	(meta .  ((interfaces . (tuplet-bracket-interface spanner-interface))))
 	))
 
@@ -492,7 +492,7 @@
 	(dash-period . 10.0)
 	(length . 0.66)
 	(spacing-procedure . ,Hyphen_spanner::set_spacing_rods)
-	(molecule-callback . ,Hyphen_spanner::brew_molecule)
+	(print-function . ,Hyphen_spanner::print)
 	(Y-extent-callback . ,Grob::point_dimension_callback)
 	(meta . ((interfaces . (lyric-interface lyric-hyphen-interface
 						spanner-interface))))
@@ -500,7 +500,7 @@
 
     (LyricExtender
      . (
-	(molecule-callback . ,Lyric_extender::brew_molecule)
+	(print-function . ,Lyric_extender::print)
 	(thickness . 0.8) ; linethickness
 	(minimum-length . 1.5)
 	(Y-extent-callback . ,Grob::point_dimension_callback)
@@ -509,7 +509,7 @@
 	))
 
     (LyricText
-     . ((molecule-callback . ,Text_item::brew_molecule)
+     . ((print-function . ,Text_item::print)
 	(X-offset-callbacks . (,Self_alignment_interface::aligned_on_parent))
 	(self-alignment-X . 0)
 	(word-space . 0.6)
@@ -525,13 +525,13 @@
 	(thickness . 1.4)
 	(flexa-width . 2.0)
 	(ligature-primitive-callback . ,Mensural_ligature::brew_ligature_primitive)
-	(molecule-callback . ,Mensural_ligature::brew_molecule)
+	(print-function . ,Mensural_ligature::print)
 	(meta . ((interfaces . (mensural-ligature-interface font-interface))))
 	))
 
     (RehearsalMark
      . (
-	(molecule-callback . ,Text_item::brew_molecule)
+	(print-function . ,Text_item::print)
 	(X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
 	(Y-offset-callbacks . (,Side_position_interface::aligned_side))
 	(after-line-breaking-callback . ,shift-right-at-line-begin)
@@ -547,7 +547,7 @@
 	))
      (MetronomeMark
      . (
-	(molecule-callback . ,Text_item::brew_molecule)
+	(print-function . ,Text_item::print)
 	(Y-offset-callbacks . (,Side_position_interface::aligned_side))	
 	(direction . 1)
 	(breakable . #t)
@@ -559,7 +559,7 @@
     (MeasureGrouping
      . (
 	(Y-offset-callbacks . (,Side_position_interface::aligned_side))
-	(molecule-callback . ,Measure_grouping::brew_molecule)
+	(print-function . ,Measure_grouping::print)
 	(padding . 2)
 	(direction . 1)
 	(thickness . 1)
@@ -570,7 +570,7 @@
     (MultiMeasureRest
      . (
 	(spacing-procedure . ,Multi_measure_rest::set_spacing_rods)
-	(molecule-callback . ,Multi_measure_rest::brew_molecule)
+	(print-function . ,Multi_measure_rest::print)
 	(Y-offset-callbacks . (,Staff_symbol_referencer::callback))
 	(staff-position . 0)
 	(expand-limit . 10)
@@ -582,7 +582,7 @@
     
     (MultiMeasureRestNumber
      . (
-	(molecule-callback . ,Text_item::brew_molecule)
+	(print-function . ,Text_item::print)
 	(X-offset-callbacks . (,Self_alignment_interface::aligned_on_self
 			       ,Self_alignment_interface::centered_on_other_axis_parent))
 	(Y-offset-callbacks . (,Side_position_interface::aligned_side))
@@ -595,7 +595,7 @@
 	))
     (MultiMeasureRestText
      . (
-	(molecule-callback . ,Text_item::brew_molecule)
+	(print-function . ,Text_item::print)
 	(X-offset-callbacks . (,Self_alignment_interface::aligned_on_self
 			       ,Self_alignment_interface::centered_on_other_axis_parent))
 	(Y-offset-callbacks . (,Side_position_interface::aligned_side))
@@ -627,8 +627,8 @@
     (NoteHead
      . (
 	(style . default)
-	(molecule-callback . ,Note_head::brew_molecule)
-	(ligature-primitive-callback . ,Note_head::brew_molecule)
+	(print-function . ,Note_head::print)
+	(ligature-primitive-callback . ,Note_head::print)
 	(glyph-name-procedure . ,find-notehead-symbol)
 	(X-extent-callback . ,Note_head::extent)
 	(Y-extent-callback . ,Note_head::extent)
@@ -646,7 +646,7 @@
 	(X-extent-callback . #f)
 	(Y-extent-callback . #f)			 
 	(after-line-breaking-callback . ,Line_spanner::after_line_breaking)
-	(molecule-callback . ,Line_spanner::brew_molecule)
+	(print-function . ,Line_spanner::print)
 	(meta . ((interfaces . (line-spanner-interface spanner-interface))))
 	))
 
@@ -657,14 +657,14 @@
 	(breakable . #t)
 	(X-extent-callback . #f)
 	(Y-extent-callback . #f)			 
-	(molecule-callback . ,Line_spanner::brew_molecule)
+	(print-function . ,Line_spanner::print)
 	(after-line-breaking-callback . ,Line_spanner::after_line_breaking)
 	(meta . ((interfaces . (line-spanner-interface spanner-interface))))
 	))
 
     (NoteName
      . (
-	(molecule-callback . ,Text_item::brew_molecule)
+	(print-function . ,Text_item::print)
 	(font-family . roman)
 	(meta . ((interfaces . (note-name-interface text-interface font-interface item-interface ))))
 	))
@@ -675,7 +675,7 @@
 	(break-visibility . ,begin-of-line-visible)
 	(X-offset-callbacks . (,Self_alignment_interface::centered_on_parent ,Self_alignment_interface::aligned_on_self))
 	(Y-offset-callbacks . (,Side_position_interface::aligned_side))
-	(molecule-callback . ,Text_item::brew_molecule)
+	(print-function . ,Text_item::print)
 	(font-shape . italic)
 	(padding . 0.4)
 	(staff-padding . 0.2)
@@ -690,13 +690,13 @@
 	(before-line-breaking-callback . ,Paper_column::before_line_breaking)
 	(X-extent-callback . ,Axis_group_interface::group_extent_callback)
 
-;	        (molecule-callback . ,Paper_column::brew_molecule) (font-name . "cmr8") (Y-extent-callback . #f)
+;	        (print-function . ,Paper_column::print) (font-name . "cmr8") (Y-extent-callback . #f)
 	(meta . ((interfaces . (paper-column-interface axis-group-interface spaceable-grob-interface item-interface ))))
 	))
 
     (PhrasingSlur
      . (
-	(molecule-callback . ,Slur::brew_molecule)
+	(print-function . ,Slur::print)
 	(thickness . 1.2)		
 	(spacing-procedure . ,Spanner::set_spacing_rods)		
 	(minimum-length . 1.5)
@@ -725,7 +725,7 @@
 	(X-extent-callback . ,Axis_group_interface::group_extent_callback)
 	(before-line-breaking-callback . ,Paper_column::before_line_breaking)
 	;; debugging stuff: print column number.
-;	(molecule-callback . ,Paper_column::brew_molecule) (font-name . "cmr8")	(Y-extent-callback . #f)
+;	(print-function . ,Paper_column::print) (font-name . "cmr8")	(Y-extent-callback . #f)
 
 
 	(meta .  ((interfaces . (paper-column-interface axis-group-interface spaceable-grob-interface item-interface ))))
@@ -734,7 +734,7 @@
     (PercentRepeat
      . (
 	(spacing-procedure . ,Multi_measure_rest::set_spacing_rods)
-	(molecule-callback . ,Multi_measure_rest::percent)
+	(print-function . ,Multi_measure_rest::percent)
 	(slope . 1.0)
 	(thickness . 0.48)
 	(minimum-width . 12.5) ; staffspace
@@ -744,7 +744,7 @@
 
     (PianoPedalBracket   ;; an example of a text spanner
      . (
-	(molecule-callback . ,Piano_pedal_bracket::brew_molecule)
+	(print-function . ,Piano_pedal_bracket::print)
 	(font-family . roman)
 	(style . line)
 	(if-text-padding . 1.0)
@@ -758,7 +758,7 @@
 
     (RepeatSlash
      . (
-	(molecule-callback . ,Percent_repeat_item_interface::beat_slash)
+	(print-function . ,Percent_repeat_item_interface::beat_slash)
 	(thickness . 0.48)
 	(slope . 1.7)
 	(meta . ((interfaces . (percent-repeat-interface item-interface ))))
@@ -768,7 +768,7 @@
 	(after-line-breaking-callback . ,Rest::after_line_breaking)
 	(X-extent-callback . ,Rest::extent_callback)
 	(Y-extent-callback . ,Rest::extent_callback)		
-	(molecule-callback . ,Rest::brew_molecule)
+	(print-function . ,Rest::print)
 	(Y-offset-callbacks . (,Staff_symbol_referencer::callback)) 
 	(minimum-distance . 0.25)
 	(meta . (
@@ -789,7 +789,7 @@
     (Script
      . (
 	;; don't set direction here: it breaks staccato.
-	(molecule-callback . ,Script_interface::brew_molecule)
+	(print-function . ,Script_interface::print)
 
 	;; This value is sensitive: if too large, staccato dots will move a
 	;; space a away.
@@ -810,7 +810,7 @@
 
     (Slur
      . (
-	(molecule-callback . ,Slur::brew_molecule)
+	(print-function . ,Slur::print)
 	(thickness . 1.2)		
 	(spacing-procedure . ,Spanner::set_spacing_rods)		
 	(minimum-length . 1.5)
@@ -847,7 +847,7 @@
      . (
 	(break-align-symbol . staff-bar)
 	(bar-size-procedure . ,Span_bar::get_bar_size) 
-	(molecule-callback . ,Span_bar::brew_molecule)
+	(print-function . ,Span_bar::print)
 	(break-visibility . ,begin-of-line-invisible)
 	(X-extent-callback . ,Span_bar::width_callback)
 	(Y-extent-callback . ())
@@ -868,7 +868,7 @@
 	))
 
     (StanzaNumber
-     . ((molecule-callback . ,Text_item::brew_molecule)		
+     . ((print-function . ,Text_item::print)		
 	(font-family . roman)
 	(font-series . bold)
 	(padding . 1.0)
@@ -897,7 +897,7 @@
 
     (StaffSymbol
      . (
-	(molecule-callback . ,Staff_symbol::brew_molecule)
+	(print-function . ,Staff_symbol::print)
 	(line-count . 5)
 	(ledger-line-thickness  . (1.0 . 0.1))
 	(layer . 0)
@@ -906,7 +906,7 @@
 
     (SostenutoPedal
      . (
-	(molecule-callback . ,Text_item::brew_molecule)
+	(print-function . ,Text_item::print)
 	(direction . 1)
 	(X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
 	(no-spacing-rods . #t)
@@ -935,7 +935,7 @@
 
 	;; this list is rather long. Trim --hwn
 	(before-line-breaking-callback . ,Stem::before_line_breaking)
-	(molecule-callback . ,Stem::brew_molecule)
+	(print-function . ,Stem::print)
 	(thickness . 1.3)
 
 	;; 3.5 (or 3 measured from note head) is standar length
@@ -982,7 +982,7 @@
 
     (StemTremolo
      . (
-	(molecule-callback . ,Stem_tremolo::brew_molecule)
+	(print-function . ,Stem_tremolo::print)
 	(Y-extent-callback . ,Stem_tremolo::height)
 	(X-extent-callback . #f)
 
@@ -1007,7 +1007,7 @@
     (SustainPedal
      . (
 	(no-spacing-rods . #t)
-	(molecule-callback . ,Sustain_pedal::brew_molecule)
+	(print-function . ,Sustain_pedal::print)
 	(self-alignment-X . 0)
 	(direction . 1)
 	(padding . 0.0)  ;; padding relative to SustainPedalLineSpanner
@@ -1039,7 +1039,7 @@
     (SystemStartBrace
      . (
 	(glyph . "brace")
-	(molecule-callback . ,System_start_delimiter::brew_molecule)
+	(print-function . ,System_start_delimiter::print)
 	(collapse-height . 5.0)
 	(font-family . braces)
 	(Y-extent-callback . #f)
@@ -1049,7 +1049,7 @@
     (SystemStartBracket
      . (
 	(Y-extent-callback . #f)
-	(molecule-callback . ,System_start_delimiter::brew_molecule)
+	(print-function . ,System_start_delimiter::print)
 	(glyph . "bracket")
 	(arch-height . 1.5)
 	(arch-angle . 50.0)
@@ -1063,7 +1063,7 @@
     (SystemStartBar
      . (
 	(Y-extent-callback . #f)
-	(molecule-callback . ,System_start_delimiter::brew_molecule)
+	(print-function . ,System_start_delimiter::print)
 	(glyph . "bar-line")
 	(thickness . 1.6)
 	(after-line-breaking-callback . ,System_start_delimiter::after_line_breaking)
@@ -1072,7 +1072,7 @@
 
     (TextScript
      . (
-	(molecule-callback . ,Text_item::brew_molecule)
+	(print-function . ,Text_item::print)
 	(no-spacing-rods . #t)
 	(X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
 	(direction . -1)
@@ -1086,7 +1086,7 @@
 	))
     (CombineTextScript
      . (
-	(molecule-callback . ,Text_item::brew_molecule)
+	(print-function . ,Text_item::print)
 	(no-spacing-rods . #t)
 	(Y-offset-callbacks . (,Side_position_interface::aligned_side))
 	(X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
@@ -1103,7 +1103,7 @@
 	))
     (TextSpanner
      . (
-	(molecule-callback . ,Text_spanner::brew_molecule)
+	(print-function . ,Text_spanner::print)
 	(font-family . roman)
 	(style . dashed-line)
 	(staff-padding . 0.1)
@@ -1119,7 +1119,7 @@
     (OttavaBracket
      . (
 	(Y-offset-callbacks . (,Side_position_interface::aligned_side))
-	(molecule-callback . ,Ottava_bracket::brew_molecule)
+	(print-function . ,Ottava_bracket::print)
 	(font-shape . italic)
 	(font-family . roman)
 	(text-repeat-if-broken . #t)
@@ -1139,7 +1139,7 @@
      . (
 	(font-family . roman)
 	(style . default)
-	(molecule-callback . ,Text_item::brew_molecule)
+	(print-function . ,Text_item::print)
 	(Y-offset-callbacks  . (,Staff_symbol_referencer::callback))
 	(extra-offset . (0 . -0.65)) ;; UGH! TODO: Clean this up!
 	(stem-attachment-function . ,tablature-stem-attachment-function)
@@ -1153,7 +1153,7 @@
 
     (Tie
      . (
-	(molecule-callback . ,Tie::brew_molecule)
+	(print-function . ,Tie::print)
 	(spacing-procedure . ,Spanner::set_spacing_rods)
 	(staffline-clearance . 0.35)
 	(details . ((ratio . 0.333) (height-limit . 1.0)))
@@ -1174,8 +1174,8 @@
 
     (TimeSignature
      . (
-	(molecule-callback . ,Time_signature::brew_molecule)
-;	(molecule-callback . ,Text_item::brew_molecule)	
+	(print-function . ,Time_signature::print)
+;	(print-function . ,Text_item::print)	
 	(break-align-symbol . time-signature)
 	(break-visibility . ,all-visible)
 	(space-alist . (
@@ -1199,7 +1199,7 @@
 	(shorten-pair . (-0.2 . -0.2))
 	(before-line-breaking-callback . ,Tuplet_bracket::before_line_breaking)
 	(after-line-breaking-callback . ,Tuplet_bracket::after_line_breaking)
-	(molecule-callback . ,Tuplet_bracket::brew_molecule)
+	(print-function . ,Tuplet_bracket::print)
 	(font-family . roman)
 	(font-shape . italic)
 	(font-series . bold)
@@ -1210,7 +1210,7 @@
 
     (UnaCordaPedal
      . (
-	(molecule-callback . ,Text_item::brew_molecule)
+	(print-function . ,Text_item::print)
 	(font-family . roman)
 	(font-shape . italic)
 	(no-spacing-rods . #t)
@@ -1238,13 +1238,13 @@
 	(thickness . 0.6)
 	(flexa-width . 2.0)
 	(ligature-primitive-callback . ,Vaticana_ligature::brew_ligature_primitive)
-	(molecule-callback . ,Vaticana_ligature::brew_molecule)
+	(print-function . ,Vaticana_ligature::print)
 	(meta . ((interfaces . (vaticana-ligature-interface font-interface))))
 	))
 
     (VoltaBracket
      . (
-	(molecule-callback . ,Volta_bracket_interface::brew_molecule)
+	(print-function . ,Volta_bracket_interface::print)
 	(direction . 1)
 	(padding . 1)
 	(font-family . number)
diff --git a/scm/music-functions.scm b/scm/music-functions.scm
index 7693d1b774..7bf9198c25 100644
--- a/scm/music-functions.scm
+++ b/scm/music-functions.scm
@@ -773,11 +773,11 @@ Rest can contain a list of beat groupings
   (let*
    ((meta (ly:get-grob-property grob 'meta))
     (nm (if (pair? meta) (cdr (assoc 'name meta)) "nonexistant"))
-    (cb (ly:get-grob-property grob 'molecule-callback)))
+    (cb (ly:get-grob-property grob 'print-function)))
     
    (if (equal? nm object-name)
     (begin
-     (ly:set-grob-property! grob 'molecule-callback Balloon_interface::brew_molecule)
+     (ly:set-grob-property! grob 'print-function Balloon_interface::brew_molecule)
      (ly:set-grob-property! grob 'balloon-original-callback cb)
      (ly:set-grob-property! grob 'balloon-text text)
      (ly:set-grob-property! grob 'balloon-text-offset off)
diff --git a/scm/output-lib.scm b/scm/output-lib.scm
index ef38cc2dc4..38f10b8b58 100644
--- a/scm/output-lib.scm
+++ b/scm/output-lib.scm
@@ -13,7 +13,7 @@
 
 ; The TabNoteHead molecule callback.
 ; Create a text molecule
-(define-public (tablature-molecule-callback grob)
+(define-public (tablature-print-function grob)
   (let ((molecule (fontify-text
                    (ly:get-default-font grob)
                    (ly:get-grob-property grob 'text)
@@ -31,7 +31,7 @@
                 )
       ) ) ) 
 
-(define-public (hammer-molecule-callback grob)
+(define-public (hammer-print-function grob)
   (let* ((note-collums (ly:get-grob-property grob 'note-columns))
          (note-column1 (cadr note-collums))
          (note-column2 (car  note-collums))
diff --git a/scripts/convert-ly.py b/scripts/convert-ly.py
index 47b8b60cd1..802e4e82a8 100644
--- a/scripts/convert-ly.py
+++ b/scripts/convert-ly.py
@@ -1821,6 +1821,15 @@ def conv (str):
 
 conversions.append (((2,1,20), conv, """nonevent-skip -> skip-music""" ))
 
+def conv (str):
+	str = re.sub (r'molecule-callback', 'print-function', str)
+	str = re.sub (r'brew_molecule', 'print', str)
+	return str
+
+conversions.append (((2,1,21), conv, """molecule-callback -> print-function,
+brew_molecule -> print
+""" ))
+