1) M-x multi-occur-in-matching-buffers, select some buffers, select some matching text that occurs in more than 1 buffer
2) In the Occur buffer, press e for edit mode
3) move to one of the matches, press C-; to activate iedit
4) change the matches
result: only one of the buffers is actually updated, the rest are not.
I think it is because of this:
the modification hooks are disabled, and multi-occur depends on them to update the files.
I did a quick fix for this problem. Please check it out:
But please exclude the first occurrence in the occur buffer first.
I tried this (by saving the iedit.el and running eval-buffer on it).
When in Occur edit mode, i hit C-; to select a candidate, as soon as I start editing it, I get
let: Symbol's value as variable is void: beginning
I'm not quite sure how that happens, by looking at the code seems like it should work. But then again I'm an elisp newb.
It was a typo and was fixed in the later commit.
Try the branch header please:
That works! Thanks!
One minor issue I noticed. In the Occur buffer, I accidentally activated iedit while the buffer was still read-only (before i pressed e to start Occur edit mode). Then I switched to edit mode, and activated iedit again, and every character I inserted actually inserted two chars into both the Occur buffer and the original buffers.
I suspect the fix is probably for iedit to detect that the buffer is read-only and refuse to activate (printing a message to the status line, I suppose).
It is fixed now.
(add-hook 'change-major-mode-hook 'iedit-done nil t)