X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fspaceable-grob.cc;h=c6ed9120396c3e9550edc8b4088f7bc081606aa3;hb=90e4d7057f3857da049dfda3d130017d4719bd6b;hp=4dd224ce7fb11f90cd7c83993c0e01f66327c5ff;hpb=bc95f4434f760d41191341ab4508b2064eb19025;p=lilypond.git diff --git a/lily/spaceable-grob.cc b/lily/spaceable-grob.cc index 4dd224ce7f..c6ed912039 100644 --- a/lily/spaceable-grob.cc +++ b/lily/spaceable-grob.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2010 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -51,12 +51,12 @@ Spaceable_grob::add_rod (Grob *me, Grob *p, Real d) for (SCM s = mins; scm_is_pair (s); s = scm_cdr (s)) { SCM dist = scm_car (s); - if (scm_car (dist) == p->self_scm ()) - { - scm_set_cdr_x (dist, scm_max (scm_cdr (dist), - newdist)); - return; - } + if (scm_is_eq (scm_car (dist), p->self_scm ())) + { + scm_set_cdr_x (dist, scm_max (scm_cdr (dist), + newdist)); + return; + } } if (Paper_column::get_rank (p) < Paper_column::get_rank (me)) @@ -85,31 +85,29 @@ Spaceable_grob::get_spring (Grob *this_col, Grob *next_col) s = scm_cdr (s)) { if (scm_is_pair (scm_car (s)) - && unsmob_grob (scm_cdar (s)) == next_col - && unsmob_spring (scm_caar (s))) - spring = unsmob_spring (scm_caar (s)); + && unsmob (scm_cdar (s)) == next_col + && unsmob (scm_caar (s))) + spring = unsmob (scm_caar (s)); } if (!spring) - programming_error (_f ("No spring between column %d and next one", - Paper_column::get_rank (this_col))); + programming_error (to_string ("No spring between column %d and next one", + Paper_column::get_rank (this_col))); return spring ? *spring : Spring (); } - - ADD_INTERFACE (Spaceable_grob, - "A layout object that takes part in the spacing problem.", - - /* properties */ - "allow-loose-spacing " - "ideal-distances " - "keep-inside-line " - "left-neighbor " - "measure-length " - "minimum-distances " - "right-neighbor " - "spacing-wishes " - ); + "A layout object that takes part in the spacing problem.", + + /* properties */ + "allow-loose-spacing " + "ideal-distances " + "keep-inside-line " + "left-neighbor " + "measure-length " + "minimum-distances " + "right-neighbor " + "spacing-wishes " + );