Status: Accepted
Owner: ----
Labels: Type-Defect Regression
New issue 4070 by [email protected]: Cyclic markup detection unable to deal with
non-linear code execution
http://code.google.com/p/lilypond/issues/detail?id=4070
The cyclic markup detection implemented as issue 380 is unable to account
for non-local exits and accumulates its problem markers over multiple
sessions of one LilyPond run. One example code directly causing an
overflow is
#@(make-list 100
#{ \markup \with-color #red \override-lines #'(baseline-skip . 0) { x }
#})
resulting in
error: Cyclic markup detected: line-markup
error: Cyclic markup detected: line-markup
error: Cyclic markup detected: line-markup
error: Cyclic markup detected: [...]
even though every single markup is just few levels deep. However, the
implementation of map-markup-commands (used internally from the parser in
order to allow the use of a markup command on the result of a markup list
command) uses throw/catch internally and consequently wrecks the
bookkeeping of interpret-markup.
While this functionality, implemented as issue 3270, is probably the worst
systematic trigger of the cyclic markup detection problems, it is by no
means extraordinary.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings