Hi MBR:

To me, the search and replace syntax you're using is incorrect.  Or perhaps \& 
is an undocumented feature -- you did mention that it sometimes works.

I would search for "\([A-Z]\)" and replace with "SPC\1".

HTH

- Ray

-----Original Message-----

Date: Thu, 24 May 2012 19:15:40 -0400
From: MBR <m...@arlsoft.com>
To: help-gnu-em...@gnu.org, help-emacs-windows@gnu.org
Subject: [h-e-w] Why do replace commands sometimes not work?

-snip-
The purpose of this part of the macro is to turn CamelCase into space-separated 
words.

        M-<                    ;; Go to beginning of narrowed buffer
        M-x replace-regexp RET
        [A-Z] RET              ;; Find any capital letter
        C-q SPC \& RET         ;; Replace it with a space followed by itself
        M-<                    ;; Go to beginning of narrowed buffer
        C-d                    ;; Delete the unwanted space before the
        first letter

So, if the narrowed portion of the buffer contains:

        "JohnJacobJingleheimerschmidt"

after running this portion of the macro, it should contain:

        "John Jacob Jingleheimerschmidt"

Instead, when run in Emacs 23, the result is:

        "ohnJacobJingleheimerschmidt"

which is exactly what you'd expect if the M-x replace-regexp failed to do the 
replacement that it should have.  -snip-


Reply via email to