bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Hara kiri another bug


From: Han-Wen Nienhuys
Subject: Hara kiri another bug
Date: Thu, 4 Oct 2001 00:27:13 +0200

address@hidden writes:
> When the lower staff hara kiris, the crossing bar line disappears. :-(
> Please help. Fix ONE of the two bugs so that I can typeset my piece of
> music.

try this:

--- span-bar.cc~        Sat Sep 22 02:43:07 2001
+++ span-bar.cc         Thu Oct  4 00:21:08 2001
@@ -177,17 +177,24 @@
 Span_bar::evaluate_glyph (Grob*me)
 {
   SCM elts = me->get_grob_property ("elements");
-  Grob * b = unsmob_grob (ly_car (elts));
-  SCM glsym =ly_symbol2scm ("glyph");
-  SCM gl =b ->get_grob_property (glsym);
+  SCM glyph_symbol = ly_symbol2scm ("glyph");
+  SCM gl = SCM_EOL;
+
+  while (gh_pair_p (elts))
+    {
+      gl =  unsmob_grob (gh_car (elts))->get_grob_property
(glyph_symbol);
+      if (gh_string_p (gl))
+      break;
+      elts =gh_cdr (elts);
+    }
+
   if (!gh_string_p (gl))
     {
       me->suicide ();
-      return ;
+      return;
     }
-
-  String type = ly_scm2string (gl);

+  String type = ly_scm2string (gl);
   if (type == "|:")
     {
       type = ".|";
@@ -202,8 +209,8 @@
     }

   gl = ly_str02scm (type.ch_C ());
-  if (scm_equal_p (me->get_grob_property (glsym), gl) != SCM_BOOL_T)
-    me->set_grob_property (glsym, gl);
+  if (scm_equal_p (me->get_grob_property (glyph_symbol), gl) !=
SCM_BOOL_T)
+    me->set_grob_property (glyph_symbol, gl);
 }

 Interval

-- 

Han-Wen Nienhuys   |   address@hidden    | http://www.cs.uu.nl/~hanwen/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]