Subject: bug#10899: 24.0.93; c-forward-conditional should not move the mark

From: Dani Moncayo <[email-masked]>
Date: Mon, 27 Feb 2012 20:29:55 +0100

> Recipe from "emacs -Q":
> 1. Visit the attached file.
> 2. Type: C-SPC C-c C-n C-c C-n
>
> --> Expected result: the region covers the two "#ifdef" preprocessor
> conditionals.
> --> Observed result: it covers only the second one, because the mark
> has moved when I typed the second "C-c C-n".

I didn't read the docstring of the function, which says:

  Move forward across a preprocessor conditional, leaving mark behind.
  A prefix argument acts as a repeat count.  With a negative argument,
  move backward across a preprocessor conditional.

What does "leaving mark behind" mean exactly here?  It seem to mean
"setting the mark at point, and then moving the point".  At least it
is the behavior I observe.

But this behavior is undesirable (IMO - this is a movement command.
whats the point of setting the mark here?), and inconsistent with
analogous movement commands such as `forward-list'.

-- 
Dani Moncayo