lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Avoid some C++ comparisons of SCM values (issue 296010043 by address@hid


From: pkx166h
Subject: Avoid some C++ comparisons of SCM values (issue 296010043 by address@hidden)
Date: Thu, 21 Apr 2016 18:08:03 +0000

Reviewers: ,

Message:
I get a seg fault after applying the patch and doing make

Processing `/home/james/lilypond-git/ly/generate-documentation.ly'
Parsing...
[/home/james/lilypond-git/ly/init.ly
[<string>

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/declarations-init.ly

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/music-functions-init.ly]

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/toc-init.ly]
Using `nederlands' note names...

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/drumpitch-init.ly]

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/chord-modifiers-init.ly]

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/script-init.ly]

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/chord-repetition-init.ly]

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/scale-definitions-init.ly]

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/dynamic-scripts-init.ly]

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/spanners-init.ly]

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/predefined-fretboards-init.ly]

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/string-tunings-init.ly]

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/property-init.ly]

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/grace-init.ly]

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/midi-init.ly

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/performer-init.ly]]

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/paper-defaults-init.ly

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/titling-init.ly]

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/text-replacements.ly]]

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/context-mods-init.ly]

[/home/james/lilypond-git/build/out/share/lilypond/current/ly/engraver-init.ly]]]
Using `nederlands' note names...
 [/home/james/lilypond-git/ly/generate-documentation.ly
[/home/james/lilypond-git/build/out/share/lilypond/current/scm/documentation-lib.scm]
[/home/james/lilypond-git/build/out/share/lilypond/current/scm/lily-sort.scm]
[/home/james/lilypond-git/build/out/share/lilypond/current/scm/document-functions.scm]
[/home/james/lilypond-git/build/out/share/lilypond/current/scm/document-translation.scm]
[/home/james/lilypond-git/build/out/share/lilypond/current/scm/document-music.scm]
[/home/james/lilypond-git/build/out/share/lilypond/current/scm/document-type-predicates.scm]
[/home/james/lilypond-git/build/out/share/lilypond/current/scm/document-identifiers.scm]
[/home/james/lilypond-git/build/out/share/lilypond/current/scm/document-context-mods.scm]
[/home/james/lilypond-git/build/out/share/lilypond/current/scm/document-backend.scm]
[/home/james/lilypond-git/build/out/share/lilypond/current/scm/document-markup.scm]
warning: music function `allowVoltaHook' not documented.
Writing
"internals.texi".../home/james/lilypond-git/build/scripts/build/out/run-and-check:
line 6: 17185 Segmentation fault      (core dumped)
/home/james/lilypond-git/build/out/bin/lilypond --verbose
/home/james/lilypond-git/ly/generate-documentation




Description:
Avoid some C++ comparisons of SCM values

Please review this at https://codereview.appspot.com/296010043/

Affected files (+4, -4 lines):
  M lily/axis-group-interface.cc
  M lily/output-def-scheme.cc
  M lily/scheme-engraver.cc


Index: lily/axis-group-interface.cc
diff --git a/lily/axis-group-interface.cc b/lily/axis-group-interface.cc
index 52520280f2eba2cbe2cf0d9718991c1156df5f4f..38a193caf63dfc4659dc10a1245d2c9ab2785c69 100644
--- a/lily/axis-group-interface.cc
+++ b/lily/axis-group-interface.cc
@@ -81,7 +81,7 @@ Axis_group_interface::has_axis (Grob *me, Axis a)
 {
   SCM axes = me->get_property ("axes");

-  return (SCM_BOOL_F != scm_memq (scm_from_int (a), axes));
+  return scm_is_true (scm_memq (scm_from_int (a), axes));
 }

 Interval
Index: lily/output-def-scheme.cc
diff --git a/lily/output-def-scheme.cc b/lily/output-def-scheme.cc
index e78eff0673375d921eaeeb6cecf3cf0ffcb5f240..911d17a7e075508c439c0d4a99067f0a64f033d6 100644
--- a/lily/output-def-scheme.cc
+++ b/lily/output-def-scheme.cc
@@ -101,7 +101,7 @@ LY_DEFINE (ly_output_description, "ly:output-description",
     {
       Context_def *td = unsmob<Context_def> (scm_cdar (s));
       SCM key = scm_caar (s);
-      if (td && key == td->get_context_name ())
+      if (td && scm_is_eq (key, td->get_context_name ()));
        ell = scm_cons (scm_cons (key, td->to_alist ()), ell);
     }
   return ell;
@@ -195,7 +195,7 @@ LY_DEFINE (ly_paper_fonts, "ly:paper-fonts",
     }

   SCM alist2 = SCM_EOL;
-  if (scm_hash_table_p (tab2) == SCM_BOOL_T)
+  if (scm_is_true (scm_hash_table_p (tab2)))
     {
       // strip original-fonts/pango-font-descriptions
       alist2 = scm_append (ly_alist_vals (ly_hash2alist (tab2)));
Index: lily/scheme-engraver.cc
diff --git a/lily/scheme-engraver.cc b/lily/scheme-engraver.cc
index ec4197641bfcba78386ee3b11c9becd6e24cf762..6161a070b7e9cbd7900a70ef72c948e39b08455c 100644
--- a/lily/scheme-engraver.cc
+++ b/lily/scheme-engraver.cc
@@ -168,7 +168,7 @@ Scheme_engraver::get_listener_list () const
   void                                                  \
   Scheme_engraver::what ()                              \
   {                                                     \
-    if (what ## _function_ != SCM_BOOL_F)               \
+    if (scm_is_true (what ## _function_))               \
       scm_call_1 (what ## _function_, self_scm ());     \
   }






reply via email to

[Prev in Thread] Current Thread [Next in Thread]