I just read Emacs :TODO indicator at left side, and tried it out. It seems intriguing. The little indicator triangles appear, but I’m getting a weird side effect: the text itself is being altered. Characters are being deleted.
Before:
After:
The mode-line does indicate that the buffer has been altered after running annotate-todo.
What explains this?
(I’m using emacs 22.2.1 on Windows)


Ahhh… I see the error of my ways earlier. Here’s a new version.
The first solution used a the
'displaytext property, which changes how the specified text is displayed, in this case it was replaced by the triangle in the left fringe. What I needed to do was to use a'before-stringoverlay instead. Which doesn’t change the string being displayed.Another advantage, the cut/paste of the code annotated by this does not carry the markup.
I’ve updated the code in the original question to reflect this change as well.