It seems that cvs slime is interfering with "query-replace" (also checked "replace-string"). (Using cmucl18e)
As a simple example (putting file contents in triple-double-quotes):
I start with:
""" bug """
Then after doing a query-replace to replace "bug" with "buggy" I get:
""" buggyug """
This only happens when slime is running. (It works fine both before slime starts up, and after quitting.)
I have also noticed strange capitilisation of file contents in a way not at all related to the replace query on more complicated examples, but I couldn't.
""" strange BUG """
Then doing query-replace "bug" with "buggy":
""" sTRANGE BUGGYUG """
As a final twist, everything seems to work fine when the buffer has been modified since last being saved. This leads me to suspect that the problem is caused by the cache stuff, somehow...
Iain
Iain Little iain.little@gmail.com writes:
It seems that cvs slime is interfering with "query-replace" (also checked "replace-string"). (Using cmucl18e)
Ouch, nice catch! Fixed now.
The trouble was that our first-change-hook could do a text search which has the side-effect of changing the global "match data." This is fixed by wrapping it in a `save-match-data'.
As a final twist, everything seems to work fine when the buffer has been modified since last being saved. This leads me to suspect that the problem is caused by the cache stuff, somehow...
Indeed. Strike two against that feature. :-)