]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 5070: Use explicit typecasts for Scm_variable->SCM
authorDavid Kastrup <dak@gnu.org>
Tue, 14 Feb 2017 13:25:26 +0000 (14:25 +0100)
committerDavid Kastrup <dak@gnu.org>
Mon, 20 Feb 2017 14:35:24 +0000 (15:35 +0100)
This does not otherwise work with all SCM definitions.

lily/lexer.ll
lily/lily-modules.cc

index bfd2449e6b3e23ba2ec88b7a509791851fef2751..534823118034810f182efae2f71898f1f70d74cf 100644 (file)
@@ -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;
index 5d35018e72e734d498c237cb83e8c937f2ec6e58..ef3a11cc2c84648fa25be8f63cca186c9882cbc7 100644 (file)
@@ -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;