+ Buffer const * buffer_;
+ /// The position of the definition in the buffer.
+ /// There is no guarantee it stays valid if the buffer
+ /// changes. But it (normally) exists only until the
+ /// next Buffer::updateMacros call where new MacroData
+ /// objects are created for each macro definition.
+ /// In the worst case, it is invalidated and the MacroData
+ /// returns its defaults values and the user sees unfolded
+ /// macros.
+ mutable DocIterator pos_;