The reason for the confusing results is the imperfect undo implementation (in wish8.6), for a detailed explanation see Issues With Undo.
But edit modified gives odd results even when undo/redo is not involved. Look at this example:
This script outputs "no", this means that edit modified cannot see any modification. Now we add some more expressions to last script:
This script gives the ouput "text 12 1.0". Because of the fact that the expression [.t tag add elide 1.0] seems not to have any effect (edit modified returns "no"), we remove this expression:
But the text content in this case is "text 2 1.0", this is different from last result. So the expression [.t tag add elide 1.0] has an effect on the text content, this means that the result "no" in first script (above) is confusing. This shows that the concept with edit modified does not work well if elision is used. Do we have a textual change, or not?
Note that the problem is not the implementation, everything works correct due to the documentation, but the design of this flag is not useful in any case. Also note that this flag is *not* designed to reflect the state of the undo stack, thus the meaning of this flag is low. It's even not possible to decide with this flag whether the modifications are done by the GUI (via keyboard) or done by the program – the revised version offers the very useful command watch for this purpose.
Because of these facts I've introduced another state edit altered (see New State "edit altered"). This state will reflect all changes affecting the (representation of the) text content.