-
- if (current)
- if (last)
- {
- Context *dest = 0;
- Context *where = get_outlet ();
- while (!dest && where)
- {
- dest = find_context_below (where, to_type, to_id);
- where = where->get_parent_context ();
- }
-
- if (dest)
- {
- current->remove_context (last);
- dest->add_context (last);
- }
- else
- /* FIXME: constant error message. */
- get_music ()->origin ()->warning (_ ("can't find context to switch to"));
- }
- else
- {
- /* We could change the current translator's id, but that would make
- errors hard to catch.
-
- last->translator_id_string () = get_change
- ()->change_to_id_string (); */
- error (_f ("not changing to same context type: %s", to_type));
- }