From 1fed494ad0f758f92656bd980f34c16af491521a Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Sun, 8 Sep 2002 23:23:28 +0000 Subject: [PATCH] * lily/musical-request.cc: do ADD_MUSIC for String_number_req. * lily/include/lily-guile.hh (scm_remember_upto_here_1): add glue * lily/sequential-iterator.cc (get_pending_events): don't delete music-iterator. --- ChangeLog | 12 ++++++++++++ THANKS | 3 +++ lily/auto-change-iterator.cc | 2 ++ lily/include/auto-change-iterator.hh | 4 ---- lily/include/lily-guile.hh | 2 +- lily/music-iterator.cc | 3 --- lily/musical-request.cc | 3 +-- lily/part-combine-music-iterator.cc | 11 +++++++---- lily/sequential-iterator.cc | 4 ++-- scm/lily.scm | 11 +++++------ 10 files changed, 33 insertions(+), 22 deletions(-) diff --git a/ChangeLog b/ChangeLog index 86ae95e0f0..4ab59b873a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2002-09-09 Han-Wen Nienhuys + + * lily/musical-request.cc: do ADD_MUSIC for String_number_req. + + * lily/include/lily-guile.hh (scm_remember_upto_here_1): add glue + + * lily/sequential-iterator.cc (get_pending_events): don't delete + music-iterator. + 2002-09-08 Rune Zedeler * scm/music-property-description.scm: describe string-number (whoops) @@ -6,6 +15,9 @@ 2002-09-08 Han-Wen Nienhuys + * lily/lyric-combine-music-iterator.cc + (Lyric_combine_music_iterator): small bugfix + * lily/include/simultaneous-music-iterator.hh (class Simultaneous_music_iterator): use SCM list for list of iterators. diff --git a/THANKS b/THANKS index 6ef18f9bb0..171a166b43 100644 --- a/THANKS +++ b/THANKS @@ -2,6 +2,9 @@ CONTRIBUTORS Graham Percival +Rune Zedeler +Jeremie Lumbroso +Juergen Reuter BUG HUNTERS diff --git a/lily/auto-change-iterator.cc b/lily/auto-change-iterator.cc index 46f8f57c32..74d345ee14 100644 --- a/lily/auto-change-iterator.cc +++ b/lily/auto-change-iterator.cc @@ -101,6 +101,8 @@ Auto_change_iterator::pending_pitch (Moment m) const m = iter->pending_moment (); } + scm_gc_unprotect_object (iter->self_scm()); + return ps; } diff --git a/lily/include/auto-change-iterator.hh b/lily/include/auto-change-iterator.hh index 18a25aa406..4dad325f28 100644 --- a/lily/include/auto-change-iterator.hh +++ b/lily/include/auto-change-iterator.hh @@ -23,12 +23,8 @@ public: protected: virtual void process (Moment); - - Array pending_pitch (Moment)const; private: - - Direction where_dir_; void change_to (Music_iterator* , String, String); }; diff --git a/lily/include/lily-guile.hh b/lily/include/lily-guile.hh index 4a5e1d2ad5..e447afb5b1 100644 --- a/lily/include/lily-guile.hh +++ b/lily/include/lily-guile.hh @@ -58,7 +58,7 @@ inline SCM scm_c_make_vector (int k, SCM val) { } #define scm_c_define_gsubr scm_make_gsubr #define scm_c_eval_string(str) gh_eval_str ((char*)str) - +#define scm_remember_upto_here_1(s) scm_remember (&s) #define scm_gc_protect_object scm_protect_object #define scm_gc_unprotect_object scm_unprotect_object #define scm_list_n scm_listify diff --git a/lily/music-iterator.cc b/lily/music-iterator.cc index c2b4bd2cdc..a1ee052f06 100644 --- a/lily/music-iterator.cc +++ b/lily/music-iterator.cc @@ -37,9 +37,6 @@ Music_iterator::~Music_iterator () { } - - - Translator_group* Music_iterator::report_to () const { diff --git a/lily/musical-request.cc b/lily/musical-request.cc index 8c66bd9396..c4a58d0ed2 100644 --- a/lily/musical-request.cc +++ b/lily/musical-request.cc @@ -104,5 +104,4 @@ Articulation_req::do_equal_b (Request const* r) const && get_direction () == a->get_direction (); } - - +ADD_MUSIC(String_number_req); diff --git a/lily/part-combine-music-iterator.cc b/lily/part-combine-music-iterator.cc index 4d5682d06e..09f019e990 100644 --- a/lily/part-combine-music-iterator.cc +++ b/lily/part-combine-music-iterator.cc @@ -31,11 +31,12 @@ Part_combine_music_iterator::derived_mark () const scm_gc_mark(second_iter_->self_scm()); } + Part_combine_music_iterator::Part_combine_music_iterator (Part_combine_music_iterator const &src) : Music_iterator (src) { - second_iter_ = src.second_iter_ ? src.second_iter_->clone () : 0; first_iter_ = src.first_iter_ ? src.first_iter_->clone () : 0; + second_iter_ = src.second_iter_ ? src.second_iter_->clone () : 0; first_until_ = src.first_until_; second_until_ = src.second_until_; @@ -184,10 +185,11 @@ Part_combine_music_iterator::get_state (Moment) Moment second_mom = second_until_; Moment diff_until = diff_mom + now; + bool first = true; Music_iterator *first_iter = first_iter_->clone (); Music_iterator *second_iter = second_iter_->clone (); - + Moment last_pending (-1); Moment pending = now; while (now < diff_until @@ -319,9 +321,10 @@ Part_combine_music_iterator::get_state (Moment) second_iter->skip (pending); now = pending; } - scm_gc_unprotect_object ( first_iter->self_scm()); - scm_gc_unprotect_object( second_iter->self_scm()); + scm_gc_unprotect_object (first_iter->self_scm ()); + scm_gc_unprotect_object (second_iter->self_scm ()); } + return state; } diff --git a/lily/sequential-iterator.cc b/lily/sequential-iterator.cc index b49ff0748e..242f8af15d 100644 --- a/lily/sequential-iterator.cc +++ b/lily/sequential-iterator.cc @@ -252,8 +252,8 @@ Sequential_iterator::get_pending_events (Moment until)const else me->next_element (false); } - delete me; - + + scm_gc_unprotect_object (me->self_scm()); return s; } diff --git a/scm/lily.scm b/scm/lily.scm index 9b03a36349..eb081496e1 100644 --- a/scm/lily.scm +++ b/scm/lily.scm @@ -11,16 +11,15 @@ ;;(write standalone (current-error-port)) -; (set-debug-cell-accesses! #t) ;;; General settings - - ;; debugging evaluator is slower. -(debug-enable 'debug) -(debug-enable 'backtrace) -(read-enable 'positions) +;(debug-enable 'debug) +;(debug-enable 'backtrace) +;(read-enable 'positions) +;(set-debug-cell-accesses! #f) + (define point-and-click #f) -- 2.39.2