Hi Urs, On Tue, May 22, 2012 at 9:07 AM, Urs Liska <li...@ursliska.de> wrote:
> Hi David N, > > Recently we experienced strange crashes in our Lilypond scores that could > only be avoided by randomly changing the order of some function calls. > > Now I sat down and pinned it down quite narrowly: > If I use your wonderful \shape function and afterwards override any > property of the same grob it causes Lilypond to crash while 'creating > systems'. > Attached you'll find a file with detailed observations. > My impression is that your function somehow messes up with the grob's > variable/pointer or whatever, making a copy and not telling Lilypond or > such kind of thing. > > Anyone an idea what could be wrong here? > > It doesn't make the function unusable (not at all), but it can cause very > dubious errors that might be very hard to track (depending on the > situation). > > The problem happens when the variable "function" attempts to look up the procedure for 'control-points. Each override you do is tacked onto the front of the alist and so the key we're looking for-- 'control-points -- is pushed further back. You can see what I mean by changing cdr in the assignment for function (line 20?) to cddr for one override, cdddr for two overrides... This will "fix" the problem--provided the overrides come after \shape ... (The reason why cdr is used in the first place is that the current override of 'control-points would be there at the head of the list, and you'd get "calculation-in-progress" instead of ly:slur::calc-control-points or whatever.) I'll think about how to fix this and get back to you. Thank you for noticing this!! -David > Best > Urs > -- > Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail > gesendet. > _______________________________________________ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user > >
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user