X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fprotected-scm.cc;h=3a16254187a05b0b7880a53ec9250c47071e8aee;hb=5d84bfad4626892bcffd05adcced53c8a2329047;hp=75091e19015ce3d78e87dd208be3fae1cf2b9f73;hpb=720bdb29cfac44d9469a54d44bb002e1ccab15f9;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_); +}