Hi David,

sorry I’m having trouble replying in a concise and readable manner.

On 08/08/2026 13:50, David Kastrup wrote:
One thing to note is people_hate_ having to write

xxx = \book { ... }
yyy = #(define-scheme-function () () #{ \book { ... } #})
\book { \xxx }
\book { \yyy }

instead of

xxx = \book { ... }
yyy = #(define-scheme-function () () #{ \book { ... } #})
\xxx
\yyy

Yes, it’s unexpected behaviour without deep knowledge of the internals that almost noone has. It would be great to be able to do the former, and if that requires to disallow nesting \book then I think we should do that.

but LilyPond does need to know whether to create two separate files or
not.  And currently the Scheme structures created by \book and \bookpart
cannot really be told apart.  The results of

xxx = \book { ... }

and

xxx = \bookpart { ... }

cannot reliably be told apart.  And I am trying to figure out whether to
change that, and how hardboiled the difference should be.

IMO: yes, the difference should be entirely hardboiled.

Best, Simon

Reply via email to