Aaron Hill <lilyp...@hillvisions.com> writes:

>>> => David K., do you know why the parser balks at such a top-level
>>> ly:book?
>
>> How can a book be distinguished from a bookpart?
>
> Are they both ly:book? behind the scenes?  If so, I can see the problem.
>
>
>> Without an answer to
>> that question, we cannot implement this.  But have you tried explicitly
>> using
>> \book { ... }
>> for getting a book?
>
> I suspect I am misunderstanding you.  Here is what else I have tried:
>
> %%%%
> \version "2.20"
>
> bookFunc = #(define-scheme-function () ()
>   #{ \book { \score { { b'4 } } } #})
>
> % \bookFunc % fails - bad expression type
> % \book { \bookFunc } % fails - bad expression type

Ok.  I think we probably should be able to make at least

\book \bookFunc

work.  But it is probably valid to write

\book { \bookpart { ... } }

so we have a problem there again.

> $#{ \bookFunc #} % works?!
> %%%%

Ugh.  $... will create a BOOK_IDENTIFIER (without being able to
distinguish a book from a bookpart, actually) and there is no such thing
as a BOOKPART_IDENTIFIER .

So this is really half-broken at the moment.

-- 
David Kastrup

Reply via email to