A related question is whether everybody always wants to search in symlink targets when isearching file names in dired... I don't. Would it be worth to add an option for that? Currently the properties are just hardcoded. Then, in the above patch we could make the `font-lock-ensure' call depend on the value of that option. > Also noticed that doing the first replacement always raises an error: > > Debugger entered--Lisp error: (error "Match data clobbered by buffer > modification hooks") > replace-match("!" nil nil) > replace-match-maybe-edit("!" nil nil nil (672 673 #) nil) > perform-replace("7" "!" t t nil nil nil nil nil nil nil) > query-replace-regexp("7" "!" nil nil nil nil nil) > funcall-interactively(query-replace-regexp "7" "!" nil nil nil nil nil) > command-execute(query-replace-regexp) Do I interpret the code in replace_match correctly: this error doesn't even mean the match data has been clobbered - only that modification hooks called searching functions? I don't know what the referenced search_regs.num_regs exactly contains. But we already seem to ensure not to clobber match data. Michael.