+
+SCM
+fontify_atom (Font_metric * met, SCM f)
+{
+ if (f == SCM_EOL)
+ return f;
+ else
+ return gh_list (ly_symbol2scm ("fontify"),
+ ly_quote_scm (met->description_), f, SCM_UNDEFINED);
+}
+
+SCM
+Molecule::get_expr () const
+{
+ return expr_;
+}
+
+
+
+Box
+Molecule::extent_box () const
+{
+ return dim_;
+}
+IMPLEMENT_SIMPLE_SMOBS (Molecule);
+
+
+int
+Molecule::print_smob (SCM s, SCM port, scm_print_state *)
+{
+ Molecule *r = (Molecule *) gh_cdr (s);
+
+ scm_puts ("#<Molecule ", port);
+ /* String str (r->str ());
+ scm_puts ((char *)str.ch_C (), port);*/
+ scm_puts (" >", port);
+
+ return 1;
+}
+
+
+SCM
+Molecule::mark_smob (SCM s)
+{
+ Molecule *r = (Molecule *) gh_cdr (s);
+
+ return r->expr_;
+}
+
+IMPLEMENT_TYPE_P (Molecule, "molecule?");
+IMPLEMENT_DEFAULT_EQUAL_P (Molecule);
+IMPLEMENT_UNSMOB (Molecule, molecule);