Subject: bug#10507: 24.0.92; Doc of `search-forward' (and backward)

From: Stefan Monnier <[email-masked]>
Date: Mon, 16 Jan 2012 10:21:30 -0500

>> > Furthermore, the doc says explicitly that the 4th arg MUST 
>> > BE POSITIVE.  That is no only NOT the case, it is even the
>> > case that the Emacs lisp code uses a negative value as the
>> > 4th arg.  See, e.g., `zap-to-char'.
>> 
>> "MUST BE POSITIVE" doesn't mean that a negative argument will
>> be rejected.  So the doc is perfectly allowed to say "MUST BE 
>> POSITIVE" even if the code handles negative values (it just
>> means that negative values are "NOT SUPPORTED").  And if some
>> core code uses negative values, that's a naughty breach of
>> abstraction, but that's about it.

> Words, even words like "must", can always be somewhat ambiguous.  But "must"
> generally implies some sort of enforcement or negative consequences if not
> respected.

"MUST" here means it's prohibited to send a negative value.
That doesn't mean that if you do you'll get caught, nor how you'll get caught.

>> So I see no bug here.  If you want a change, please say which and why.
> A negative arg is supported by the code; it is used by Emacs source
> code; and it is useful.  Knowing about it will mean simpler code by
> users.  Please document (and support) it.  Thx.

That is a much better bug-report, thank you.

        Stefan