From 9390065d4c71bf417ef7b5bcbce21821f8668202 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Tue, 14 Feb 2017 14:25:26 +0100 Subject: [PATCH] Issue 5070: Use explicit typecasts for Scm_variable->SCM This does not otherwise work with all SCM definitions. --- lily/lexer.ll | 8 ++++---- lily/lily-modules.cc | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lily/lexer.ll b/lily/lexer.ll index bfd2449e6b..5348231180 100644 --- a/lily/lexer.ll +++ b/lily/lexer.ll @@ -689,9 +689,9 @@ BOM_UTF8 \357\273\277 for (; scm_is_pair(s); s = scm_cdr(s)) { SCM predicate = scm_car(s); - if (predicate == Lily::markup_list_p) + if (scm_is_eq (predicate, SCM (Lily::markup_list_p))) push_extra_token (here_input (), EXPECT_MARKUP_LIST); - else if (predicate == Lily::markup_p) + else if (scm_is_eq (predicate, SCM (Lily::markup_p))) push_extra_token (here_input (), EXPECT_MARKUP); else push_extra_token (here_input (), EXPECT_SCM, predicate); @@ -967,9 +967,9 @@ Lily_lexer::scan_scm_id (SCM sid) cs = SCM_CAR (cs); } - if (scm_is_eq (cs, Lily::ly_music_p)) + if (scm_is_eq (cs, SCM (Lily::ly_music_p))) funtype = MUSIC_FUNCTION; - else if (scm_is_eq (cs, Lily::ly_event_p)) + else if (scm_is_eq (cs, SCM (Lily::ly_event_p))) funtype = EVENT_FUNCTION; else if (ly_is_procedure (cs)) funtype = SCM_FUNCTION; diff --git a/lily/lily-modules.cc b/lily/lily-modules.cc index 5d35018e72..ef3a11cc2c 100644 --- a/lily/lily-modules.cc +++ b/lily/lily-modules.cc @@ -77,7 +77,7 @@ Scm_module::boot (void (*init) ()) for (Variable_record *p = variables_; p; ) { Variable_record *next = p->next_; - if (SCM_UNBNDP (*p->var_)) + if (SCM_UNBNDP (SCM (*p->var_))) error (_f ("Uninitialized variable `%s' in module (%s)", p->name_, name_)); delete p; p = next; -- 2.39.2