]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/engraver-group-engraver.cc
release: 1.5.19
[lilypond.git] / lily / engraver-group-engraver.cc
index 56fe566fcaec3bf68cf2073b387b4c54630d6ad1..c0cc4eb51d9592a2dd22b8664046f26efd9e0a30 100644 (file)
@@ -41,7 +41,7 @@ Engraver_group_engraver::acknowledge_grobs ()
   if (!announce_info_arr_.size ())
     return ;
   
-  SCM tab =get_property (ly_symbol2scm ("acknowledgeHashTable"));
+  SCM tab = get_property ("acknowledgeHashTable");
   SCM name_sym = ly_symbol2scm ("name");
   SCM meta_sym = ly_symbol2scm ("meta");  
 
@@ -50,13 +50,21 @@ Engraver_group_engraver::acknowledge_grobs ()
     {
       Grob_info info = announce_info_arr_[j];
       
-      SCM meta = info.grob_l_->get_grob_property (meta_sym);
+      SCM meta = info.grob_l_->internal_get_grob_property (meta_sym);
       SCM nm = scm_assoc (name_sym, meta);
       if (gh_pair_p (nm))
        nm = ly_cdr (nm);
       else
        {
-         assert (info.grob_l_->immutable_property_alist_ == SCM_EOL); 
+         /*
+           it's tempting to put an assert for
+           immutable_property_alist_ == '(), but in fact, some
+           engravers (clef-engraver) add some more information to the
+           immutable_property_alist_ (after it has been '()-ed).
+
+           We ignore the grob anyway. He who has no name, shall not
+           be helped.  */
+         
          continue;
        }
  
@@ -127,7 +135,7 @@ void
 Engraver_group_engraver::initialize ()
 {
   SCM tab = scm_make_vector (gh_int2scm (61), SCM_BOOL_F); // magic ->
-  set_property (ly_symbol2scm ("acknowledgeHashTable"), tab);
+  set_property ("acknowledgeHashTable", tab);
 
   Translator_group::initialize ();
 }