- if (global_translator_dict_p->elem_b (s))
- {
- Translator* t = (*global_translator_dict_p)[s];
- return t;
- }
-
- error (_f ("unknown translator: `%s'", s));
- return 0;
+ SCM v = SCM_BOOL_F;
+ if (global_translator_dict)
+ global_translator_dict->try_retrieve (sym, &v);
+
+ if (v == SCM_BOOL_F)
+ error (_f ("unknown translator: `%s'", ly_symbol2string (sym).c_str ()));
+
+ return unsmob_translator (v);