Index: cpp_macromap.hpp =================================================================== --- cpp_macromap.hpp (revision 44022) +++ cpp_macromap.hpp (working copy) @@ -426,7 +426,7 @@ IteratorT it = begin; string_type name ((*it).get_value()); -typename defined_macros_type::iterator cit(current_macros -> find(name)); +typename defined_macros_type::iterator cit; if (++it != end) { // there should be only one token as the inspected name @@ -434,7 +434,7 @@ impl::get_full_name(begin, end).c_str(), main_pos); return false; } - return cit != current_macros -> end(); + return is_defined(name, cit, 0); } /////////////////////////////////////////////////////////////////////////////// @@ -445,9 +445,9 @@ macromap::is_defined(StringT const &str) const { string_type name (str.c_str()); -typename defined_macros_type::iterator cit(current_macros -> find(name)); +typename defined_macros_type::iterator cit; - return cit != current_macros -> end(); + return is_defined(name, cit, 0); } ///////////////////////////////////////////////////////////////////////////////