Han-Wen Nienhuys <hanw...@gmail.com> writes: > The only real problem are boolean conversions because they are very wrong, > ie, > > SCM x = ... > if (x) { > .. > } > > for the rest, making lilypond SCM typing clean is just a lot of work > with no benefits at all.
All of the following would have been caught by this project (I hand-sifted through a git grep with a few patterns catching only a small subset of what the debug option would have). diff --git a/lily/axis-group-interface.cc b/lily/axis-group-interface.cc index 143534e..3c428bc 100644 --- a/lily/axis-group-interface.cc +++ b/lily/axis-group-interface.cc @@ -719,7 +719,7 @@ Axis_group_interface::skyline_spacing (Grob *me, vector<Grob *> elements) vector<Grob *> current_elts; current_elts.push_back (elements[i]); while (i + 1 < elements.size () - && scm_eq_p (elements[i + 1]->get_property ("outside-staff-priority"), priority)) + && scm_is_eq (elements[i + 1]->get_property ("outside-staff-priority"), priority)) { if (!to_boolean (elements[i + 1]->get_property ("cross-staff"))) current_elts.push_back (elements[i + 1]); diff --git a/lily/dispatcher.cc b/lily/dispatcher.cc index 0e3ad89..6a11654 100644 --- a/lily/dispatcher.cc +++ b/lily/dispatcher.cc @@ -77,7 +77,7 @@ Dispatcher::dispatch (SCM sev) { Stream_event *ev = unsmob_stream_event (sev); SCM class_symbol = ev->get_property ("class"); - if (!scm_symbol_p (class_symbol)) + if (!scm_is_symbol (class_symbol)) { warning (_ ("Event class should be a symbol")); return; diff --git a/lily/font-select.cc b/lily/font-select.cc index 3de5a2a..217ce61 100644 --- a/lily/font-select.cc +++ b/lily/font-select.cc @@ -123,7 +123,7 @@ select_encoded_font (Output_def *layout, SCM chain) return select_pango_font (layout, chain); else #endif - if (scm_instance_p (name)) + if (scm_is_true (scm_instance_p (name))) { SCM base_size = scm_slot_ref (name, ly_symbol2scm ("default-size")); SCM vec = scm_slot_ref (name, ly_symbol2scm ("size-vector")); diff --git a/lily/general-scheme.cc b/lily/general-scheme.cc index a630fd9..254b5ab 100644 --- a/lily/general-scheme.cc +++ b/lily/general-scheme.cc @@ -381,7 +381,7 @@ LY_DEFINE (ly_stderr_redirect, "ly:stderr-redirect", string m = "w"; string f = ly_scm2string (file_name); FILE *stderrfile; - if (mode != SCM_UNDEFINED && scm_string_p (mode)) + if (scm_is_string (mode)) m = ly_scm2string (mode); /* dup2 and (fileno (current-error-port)) do not work with mingw'c gcc -mwindows. */ diff --git a/lily/sequential-iterator.cc b/lily/sequential-iterator.cc index 2f0dd51..5ba7a59 100644 --- a/lily/sequential-iterator.cc +++ b/lily/sequential-iterator.cc @@ -55,7 +55,7 @@ Sequential_iterator::get_music_list () const { Music *m = get_music (); SCM proc = m->get_property ("elements-callback"); - if (scm_procedure_p (proc)) + if (ly_is_procedure (proc)) return scm_call_1 (proc, m->self_scm ()); else return SCM_EOL; diff --git a/lily/staff-spacing.cc b/lily/staff-spacing.cc index 2a216bd..58cfa41 100644 --- a/lily/staff-spacing.cc +++ b/lily/staff-spacing.cc @@ -151,7 +151,7 @@ Staff_spacing::get_spacing (Grob *me, Grob *right_col) } SCM alist = last_grob->get_property ("space-alist"); - if (!scm_list_p (alist)) + if (!ly_is_list (alist)) return Spring (); SCM space_def = scm_sloppy_assq (ly_symbol2scm ("first-note"), alist); -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel