[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: neverBreakIf
From: |
Kieren MacMillan |
Subject: |
Re: neverBreakIf |
Date: |
Sun, 19 Oct 2014 13:08:55 -0400 |
Hi Paul,
>> Just for the record, here you've basically done this:
>> x = y z
>> but that only results in x = y, with z being "run" rather than being part of
>> the definition of x. (See what gets logged with the snippet below.)
>
> Thanks! When I get a chance to run this, I will — and I’m sure it will be
> informative.
Ran it, and saw the output. Thanks for the hint!
This fix seems to solve the main problem highlighted by your
counterexample-snippet:
pageBreaksOff = \override Score.NonMusicalPaperColumn.page-break-permission =
##f
pageBreaksOn = \revert Score.NonMusicalPaperColumn.page-break-permission
lineBreaksOff = \override Score.NonMusicalPaperColumn.line-break-permission =
##f
lineBreaksOn = \revert Score.NonMusicalPaperColumn.line-break-permission
breaksOff = { \lineBreaksOff \pageBreaksOff }
breaksOn = { \lineBreaksOn \pageBreaksOn }
I’m surprised the definitions in my [now-previous] layout.ly include file
didn’t have those braces included, as most of my multi-line shortcuts have
them. By way of possible explanation, I haven’t included that particular file
in any project in quite a long time — Jan-Peter’s amazing \editionEngraver
affords me much more surgical control over layout than these old functions
did/do — or I might have discovered this problem myself, and sooner.
I have made numerous edits to all my include files over the past few years. One
big one I remember was changing names like *BreaksForbid and *BreaksAllow to
names like *BreaksOff and *BreaksOn (same with all my *Pedal functions, etc.),
to more closely match the [new] naming conventions for other functions in the
standard Lilypond codebase. Perhaps during that edit, I erroneously omitted the
braces. If I had heeded Urs and Janek’s advice a long time ago, and implemented
a full git system for my files, I’d be able to tell you exactly what happened!
Best case scenario, of course, I’d have regression tests for all my additional
functions and shortcuts… but “ain’t nobody got time for that!” ;)
In any case, I’ll certainly check all of my definitions very closely now, to
make sure a similar error hasn’t crept in to any others!
Apologies again to the OP and the list for posting non-functional code as a
solution to the OP’s question.
_______
All of that being said… When I run your snippet with the new (braced)
definitions, I get
programming error: system with empty extent
continuing, cross fingers
programming error: system with empty extent
continuing, cross fingers
so I’m guessing the addition of the braces is insufficient to solve whatever
problem David K was alluding to.
I can’t say for sure, though.
David will have to answer that himself.
Thanks,
Kieren.
- Re: neverBreakIf, (continued)
- Re: neverBreakIf, Kieren MacMillan, 2014/10/18
- Re: neverBreakIf, Alicuota618, 2014/10/18
- Re: neverBreakIf, David Kastrup, 2014/10/19
- Re: neverBreakIf, Kieren MacMillan, 2014/10/19
- Re: neverBreakIf, David Kastrup, 2014/10/19
- Re: neverBreakIf, Kieren MacMillan, 2014/10/19
- Re: neverBreakIf, David Kastrup, 2014/10/19
- Re: neverBreakIf, Kieren MacMillan, 2014/10/19
- Re: neverBreakIf, Paul Morris, 2014/10/19
- Re: neverBreakIf, Kieren MacMillan, 2014/10/19
- Re: neverBreakIf,
Kieren MacMillan <=
- Re: neverBreakIf, Trevor Daniels, 2014/10/19
- Re: neverBreakIf, Kieren MacMillan, 2014/10/19
- Re: neverBreakIf, Trevor Daniels, 2014/10/19
- Re: neverBreakIf, Kieren MacMillan, 2014/10/19
- Re: neverBreakIf, Trevor Daniels, 2014/10/19
- Re: neverBreakIf, Kieren MacMillan, 2014/10/19