X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fprotected-scm.cc;h=3a16254187a05b0b7880a53ec9250c47071e8aee;hb=3b53bdd3752fdc0e82ffab896d42490a606c5d89;hp=75091e19015ce3d78e87dd208be3fae1cf2b9f73;hpb=ef9512388b15e1e5e2b3592299ffe489ac43abb4;p=lilypond.git diff --git a/lily/protected-scm.cc b/lily/protected-scm.cc index 75091e1901..3a16254187 100644 --- a/lily/protected-scm.cc +++ b/lily/protected-scm.cc @@ -72,7 +72,9 @@ Protected_scm::operator = (Protected_scm const &s) Protected_scm::operator SCM const & () const { - return SCM_CONSP (object_) ? *SCM_CARLOC (object_) : object_; + if (SCM_CONSP (object_)) + return *SCM_CARLOC (object_); + return object_; } Protected_scm::operator SCM & () @@ -84,3 +86,11 @@ Protected_scm::operator SCM & () return *SCM_CARLOC (object_); } + +bool +Protected_scm::is_bound () const +{ + if (SCM_CONSP (object_)) + return !SCM_UNBNDP (SCM_CAR (object_)); + return !SCM_UNBNDP (object_); +}