On Mon, Jan 17, 2011 at 1:08 AM, Paul Madden <Paul.A.Madden@noaa.gov> wrote:
(defun rs ()
 (interactive)
 (let (deactivate-mark)
   (save-excursion (call interactively 'replace-string)))
 (exchange-point-and-mark)
 (exchange-point-and-mark))


You don't need the exchange-point-and-mark calls.  As a part of the Emacs commandloop, deactivate-mark is checked after executing your command, `rs'.  As long as you prevent your buffer modification code from setting `deactivate-mark' to not-nil, the region should be active.

--
Le