X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fobject-key-dumper.cc;h=c1ba935b44db9eb145687ceb5afe0e3e0b169dfd;hb=9e5c624e4e431f47126a3806a2c0aea579e7a8ac;hp=36e8f02cbe01d9f937b4bbde0a331ef4bcb1d3a7;hpb=e24df7c27635dc996c466295eacf2981bddccaf7;p=lilypond.git diff --git a/lily/object-key-dumper.cc b/lily/object-key-dumper.cc index 36e8f02cbe..c1ba935b44 100644 --- a/lily/object-key-dumper.cc +++ b/lily/object-key-dumper.cc @@ -1,10 +1,9 @@ /* - object-key-dumper.cc -- implement Object_key_dumper + object-key-dumper.cc -- implement Object_key_dumper source file of the GNU LilyPond music typesetter (c) 2004--2005 Han-Wen Nienhuys - */ #include "object-key-dumper.hh" @@ -14,16 +13,14 @@ #include "ly-smobs.icc" SCM -Object_key_dumper::mark_smob (SCM smob ) +Object_key_dumper::mark_smob (SCM smob) { - Object_key_dumper * dumper = (Object_key_dumper*) SCM_CELL_WORD_1 (smob); - + Object_key_dumper *dumper = (Object_key_dumper *) SCM_CELL_WORD_1 (smob); + for (Key_to_key_map::const_iterator i (dumper->serialized_keys_.begin ()); - i != dumper->serialized_keys_.end(); + i != dumper->serialized_keys_.end (); i++) - { - scm_gc_mark ((*i).first->self_scm()); - } + scm_gc_mark ((*i).first->self_scm ()); return SCM_EOL; } @@ -34,8 +31,8 @@ Object_key_dumper::print_smob (SCM, SCM port, scm_print_state*) return 1; } -IMPLEMENT_DEFAULT_EQUAL_P(Object_key_dumper); -IMPLEMENT_SMOBS(Object_key_dumper); +IMPLEMENT_DEFAULT_EQUAL_P (Object_key_dumper); +IMPLEMENT_SMOBS (Object_key_dumper); Object_key_dumper::Object_key_dumper () { @@ -54,22 +51,20 @@ Object_key_dumper::key_serial (int k) SCM Object_key_dumper::serialize_key (Object_key const *key) { - SCM skey = key->dump(); - for (SCM s = skey ; scm_is_pair (s) ; s = scm_cdr (s)) + SCM skey = key->dump (); + for (SCM s = skey; scm_is_pair (s); s = scm_cdr (s)) { - if (Object_key const * sub_key = unsmob_key (scm_car (s))) - { - scm_set_car_x (s, dump_key (sub_key)); - } + if (Object_key const *sub_key = unsmob_key (scm_car (s))) + scm_set_car_x (s, dump_key (sub_key)); else if (Moment *mom = unsmob_moment (scm_car (s))) { scm_set_car_x (s, scm_list_2 (ly_symbol2scm ("unquote"), - mom->as_scheme())); + mom->as_scheme ())); } } - file_contents_ = scm_cons (scm_list_3 (ly_symbol2scm("define-key"), + file_contents_ = scm_cons (scm_list_3 (ly_symbol2scm ("define-key"), scm_from_int (next_available_), skey), file_contents_); @@ -77,7 +72,7 @@ Object_key_dumper::serialize_key (Object_key const *key) serialized_keys_[key] = key; key_serial_numbers_[key] = next_available_; SCM retval = key_serial (next_available_); - next_available_ ++; + next_available_++; return retval; } @@ -86,14 +81,10 @@ SCM Object_key_dumper::dump_key (Object_key const *key) { if (key_serial_numbers_.find (key) != key_serial_numbers_.end ()) - { - return key_serial (key_serial_numbers_[key]); - } + return key_serial (key_serial_numbers_[key]); else if (Object_key const *serialized = serialized_keys_[key]) - { - return key_serial (key_serial_numbers_[ serialized_keys_ [serialized] ]); - } - + return key_serial (key_serial_numbers_[ serialized_keys_ [serialized] ]); + return serialize_key (key); } @@ -103,6 +94,6 @@ Object_key_dumper::get_file_contents () const return scm_reverse (file_contents_); } -Object_key_dumper::~Object_key_dumper() +Object_key_dumper::~Object_key_dumper () { }