> This is caused by commit 63588775fcb, so Cc-ing Stefan. > > But probably this commit just exposed the problem > that existed before?
I think you're on to something. > => (error "Match data clobbered by buffer modification hooks") This comes from if (search_regs.num_regs != num_regs) error ("Match data clobbered by buffer modification hooks"); But this test is not doing what it is intended to do: it doesn't check whether the match data has changed. It just checks whether the size of the arrays we have allocated to hold the match data has changed. I got to that conclusion after narrowing down the origin of the error and finding out that the problem is that `search_regs.num_regs` is set to 13 before the first call to `wdired--restore-properties` but to 23 afterwards. We should probably use something like ptrdiff_t search_regs_last_reg (void) { ptrdiff_t i = search_regs.num_regs - 1; while (i >= 0 && search_regs.start[i] < 0) i--; return i; } instead of `search_regs.num_regs`. Stefan