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

Reply via email to