Perhaps the "replace" family of commands ought to ignore the region if it's empty? Or at least notify the user?