Martin Vermeer <[EMAIL PROTECTED]> writes: > Sorry... I don't understand this. What do you mean? What > code does this require?
Something like that (untested) InsetLayout const & TextClass::insetlayout(docstring const & name) const { docstring n = name; while (!n.empty()) { if (insetlayoutlist_.count(n) > 0) return insetlayoutlist_[n]; docstring::size_type i = n.rfind(':'); if (i != string::npos) // delimiter was found n = n.substr(0, i); else break; } static const InsetLayout empty; return empty; } Assuming that you ask for "charstyle:author", which does not exist, the code will next try to find an entry for "charstyle" (by removing the last part), which could be set to InsetLayout charstyle LabelString "Error!" LatexType command LatexName "" LabelFont Color Red EndFont End This gives us for free the handling of unknown charstyles. Is it clearer now? JMarc