From: Han-Wen Nienhuys <hanwen@xs4all.nl>
Date: Thu, 14 Dec 2006 13:25:56 +0000 (+0100)
Subject: don't take Input into account for Prob equality.
X-Git-Tag: release/2.11.3-1~26
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=587b54cb7cc798feb6b94e4e463aee3df6875bd6;p=lilypond.git

don't take Input into account for Prob equality.

This fixes #149, spurious "Junking Event" error messages.
---

diff --git a/lily/prob.cc b/lily/prob.cc
index b6df86590f..a45e089a08 100644
--- a/lily/prob.cc
+++ b/lily/prob.cc
@@ -9,6 +9,7 @@
 #include "prob.hh"
 #include "main.hh"
 #include "item.hh"
+#include "input.hh"
 
 #include "ly-smobs.icc"
 
@@ -41,12 +42,20 @@ Prob::equal_p (SCM sa, SCM sb)
   /* Compare mutable and immutable lists, element by element. */
   for (i = 0; i < 2; i++)
     {
-      SCM aprop = props[0][i], bprop = props[1][i];
+      SCM aprop = props[0][i];
+      SCM bprop = props[1][i];
 
-      for (; scm_is_pair (aprop) && scm_is_pair(bprop); aprop = scm_cdr (aprop), bprop = scm_cdr (bprop))
+      for (;
+	   scm_is_pair (aprop) && scm_is_pair(bprop);
+	   aprop = scm_cdr (aprop), bprop = scm_cdr (bprop))
 	{
+	  SCM aval = scm_cdar (aprop);
+	  SCM bval = scm_cdar (bprop);
 	  if (scm_caar (aprop) != scm_caar (bprop) ||
-	      !to_boolean (scm_equal_p (scm_cdar (aprop), scm_cdar (bprop))))
+	      (
+	       !(unsmob_input (aval) && unsmob_input (bval))
+	       &&		 
+	       !to_boolean (scm_equal_p (aval, bval))))
 	    return SCM_BOOL_F;
 	}