[EMAIL PROTECTED] writes:
> >> + if (ly_c_equal_p (scm_car (s), scm_primitive_eval (ly_symbol2scm
> >> ("markup?"))))
> >> + str += "markup";
> >> + else
> >> + str += "scm";
> >> + }
> >
> > just add another
> >
> > else if
> >
> > before
> >
> > else if (ly_c_procedure_p (. .))
>
> Do you mean:
>
> if (scm_car (s) == Music_type_p_proc)
> str += "music";
> else if (Text_interface::markup_p (scm_car (s)))
> str += "markup";
> else if (ly_c_procedure_p (scm_car (s)))
> str += "scm";
>
> As `s' is just a list of predicates, eg '(markup? ly:music?),
> Text_interface::markup_p (markup?) will always be false, no?
No, you're right, I mean something like
else if (scm_car (s) == ly_scheme_function ("ly:markup?"))
str += "markup"
--
Han-Wen Nienhuys | [EMAIL PROTECTED] | http://www.xs4all.nl/~hanwen
_______________________________________________
lilypond-devel mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-devel