void cache_save (string buffer) { if (cache_changed->contains (buffer)) { url cache_file= texmacs_home_path * url ("system/cache/" * buffer); string cached; iterator<tree> it= iterate (cache_data); if (buffer == "file_cache" || buffer == "doc_cache") { while (it->busy ()) { tree ckey= it->next (); if (ckey[0] == buffer) { cached << ckey[1]->label << "\n"; cached << cache_data [ckey]->label << "\n"; cached << "%-%-tm-cache-%-%\n"; } } } else { cached << "(tuple\n"; while (it->busy ()) { tree ckey= it->next (); if (ckey[0] == buffer) { cached << tree_to_scheme (ckey[1]) << " "; cached << tree_to_scheme (cache_data [ckey]) << "\n"; } } cached << ")"; } (void) save_string (cache_file, cached); cache_changed->remove (buffer); } }
pipe_link_rep::~pipe_link_rep () { stop (); pipe_link_set->remove ((pointer) this); }
socket_link_rep::~socket_link_rep () { stop (); socket_link_set->remove ((pointer) this); }