X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fscm-hash.cc;h=0b1e0b4e2532a7cc481ba4a794270aa3caa44799;hb=5d84bfad4626892bcffd05adcced53c8a2329047;hp=dd8f9257b933a93d9bfb92b7593180aa3cb16f7d;hpb=cfc908430e67711a28a33097aaea491f7c127a72;p=lilypond.git diff --git a/lily/scm-hash.cc b/lily/scm-hash.cc index dd8f9257b9..0b1e0b4e25 100644 --- a/lily/scm-hash.cc +++ b/lily/scm-hash.cc @@ -67,9 +67,13 @@ Scheme_hash_table::set (SCM k, SCM v) SCM Scheme_hash_table::get (SCM k) const { - /* SCM_UNSPECIFIED will stick out like a sore thumb, hopefully. + /* SCM_UNDEFINED is the default for unset elements, but + scm_hashq_ref cannot return it, so we do it a bit more awkwardly. */ - return scm_hashq_ref (hash_tab (), k, SCM_UNSPECIFIED); + SCM handle = scm_hashq_get_handle (hash_tab (), k); + if (scm_is_pair (handle)) + return scm_cdr (handle); + return SCM_UNDEFINED; } void