CVSROOT: /cvsroot/lilypond Module name: lilypond Branch: Changes by: Han-Wen Nienhuys <[EMAIL PROTECTED]> 05/04/30 22:42:54
Modified files: . : ChangeLog lily : parser.yy tweak-registration.cc scm : lily.scm Log message: (insert_tweak_from_file): dubious bugfix. Make sure that 0x0 isn't passed into scm_cons(). Fixes crash with tweak editor. CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?tr1=1.3519&tr2=1.3520&r1=text&r2=text http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/parser.yy.diff?tr1=1.466&tr2=1.467&r1=text&r2=text http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/tweak-registration.cc.diff?tr1=1.10&tr2=1.11&r1=text&r2=text http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/lily.scm.diff?tr1=1.329&tr2=1.330&r1=text&r2=text Patches: Index: lilypond/ChangeLog diff -u lilypond/ChangeLog:1.3519 lilypond/ChangeLog:1.3520 --- lilypond/ChangeLog:1.3519 Sat Apr 30 19:47:13 2005 +++ lilypond/ChangeLog Sat Apr 30 22:42:54 2005 @@ -1,3 +1,9 @@ +2005-05-01 Han-Wen Nienhuys <[EMAIL PROTECTED]> + + * lily/tweak-registration.cc (insert_tweak_from_file): dubious + bugfix. Make sure that 0x0 isn't passed into scm_cons(). Fixes + crash with tweak editor. + 2005-04-30 Han-Wen Nienhuys <[EMAIL PROTECTED]> * lily/part-combine-engraver.cc: add space to variable list. Index: lilypond/lily/parser.yy diff -u lilypond/lily/parser.yy:1.466 lilypond/lily/parser.yy:1.467 --- lilypond/lily/parser.yy:1.466 Mon Apr 18 13:35:13 2005 +++ lilypond/lily/parser.yy Sat Apr 30 22:42:54 2005 @@ -2573,7 +2573,7 @@ ; markup_braced_list_body: - /* empty */ { $$ = scm_list (SCM_EOL); } + /* empty */ { $$ = SCM_EOL; } | markup_braced_list_body markup { $$ = scm_cons ($2, $1); } @@ -2647,7 +2647,8 @@ markup: markup_head_1_list simple_markup { - $$ = scm_car (scm_call_2 (ly_lily_module_constant ("map-markup-command-list"), $1, scm_list_1 ($2))); + SCM mapper = ly_lily_module_constant ("map-markup-command-list"); + $$ = scm_car (scm_call_2 (mapper, $1, scm_list_1 ($2))); } | simple_markup { $$ = $1; Index: lilypond/lily/tweak-registration.cc diff -u lilypond/lily/tweak-registration.cc:1.10 lilypond/lily/tweak-registration.cc:1.11 --- lilypond/lily/tweak-registration.cc:1.10 Thu Mar 10 14:36:12 2005 +++ lilypond/lily/tweak-registration.cc Sat Apr 30 22:42:54 2005 @@ -42,10 +42,13 @@ && scm_car (skey) == ly_symbol2scm ("key")); Object_key const *key = undumper_->get_key (scm_to_int (scm_cadr (skey))); - if (tweaks_.find (key) == tweaks_.end ()) - tweaks_[key] = SCM_EOL; - tweaks_[key] = scm_cons (scm_cdr (tweak), tweaks_[key]); + SCM existing = SCM_EOL; + Tweak_map::const_iterator prev = tweaks_.find (key); + if (prev != tweaks_.end ()) + existing = (*prev).second; + + tweaks_[key] = scm_cons (scm_cdr (tweak), existing); } void Index: lilypond/scm/lily.scm diff -u lilypond/scm/lily.scm:1.329 lilypond/scm/lily.scm:1.330 --- lilypond/scm/lily.scm:1.329 Wed Apr 27 13:00:50 2005 +++ lilypond/scm/lily.scm Sat Apr 30 22:42:54 2005 @@ -9,7 +9,7 @@ (if (defined? 'set-debug-cell-accesses!) (set-debug-cell-accesses! #f)) -;;(set-debug-cell-accesses! 5000) +;(set-debug-cell-accesses! 1000) (use-modules (ice-9 regex) (ice-9 safe) _______________________________________________ Lilypond-cvs mailing list Lilypond-cvs@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-cvs