Am 04.07.2012 13:29, schrieb David Kastrup:
Marc Hohl <m...@hohlart.de> writes:
Hello list,
the topic is somewhat over my head, but perhaps someone with more
insight can answer this question?
I think that gcc likely can, don't know about g++, and we don't want to
rely on it anyhow.
Ok.
Well then, is there an alternative?
I want to get rid of bar-line.cc (issue 1320), and I have managed to get all
definitions but Bar_line::non_empty_barline into scheme.
In lily/note-spacing.cc, I have
Grob *bar = Pointer_group_interface::find_grob (right_col,
ly_symbol2scm
("elements"),
Bar_line::non_empty_barline);
The simple approach
bool non_empty_barline =
ly_scm2bool (scm_call_1 (ly_lily_module_constant
("bar-line::non-empty-barline"), right_col->self_scm ()));
with
(define-public (bar-line::non-empty-barline grob)
(and (grob::has-interface grob 'bar-line)
(pair? (ly:grob-extent grob grob X))))
doesn't work.
I see that in lily/pointer-group-interface.cc the function above is
defined as
Grob *
Pointer_group_interface::find_grob (Grob *me, SCM sym, bool (*pred)
(Grob *))
{
[snip]
}
What is bool (*pred) (Grob *)?
Is there a way to get a scheme function in this place, or do I have to put
the remaining definition of bar-line.cc into another file?
Regards,
Marc
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel