* bug#10507: 24.0.92; Doc of `search-forward' (and backward)
@ 2012-01-14 22:37 Drew Adams
2012-01-16 14:10 ` Stefan Monnier
0 siblings, 1 reply; 5+ messages in thread
From: Drew Adams @ 2012-01-14 22:37 UTC (permalink / raw)
To: 10507
Both the doc in the Elisp manual and the doc string seem to be
incorrect, and this has apparently been the case for a very long time
(at least as far back as Emacs 20).
(search-forward "e" nil nil -1) searches BACKWARD for "e".
But the doc says that it searches FORWARD.
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'.
In GNU Emacs 24.0.92.1 (i386-mingw-nt5.1.2600) of 2012-01-05 on MARVIN
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.6) --no-opt --cflags
-ID:/devel/emacs/libs/libXpm-3.5.8/include
-ID:/devel/emacs/libs/libXpm-3.5.8/src
-ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
-ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
-ID:/devel/emacs/libs/giflib-4.1.4-1/include
-ID:/devel/emacs/libs/jpeg-6b-4/include
-ID:/devel/emacs/libs/tiff-3.8.2-1/include
-ID:/devel/emacs/libs/gnutls-3.0.9/include --ldflags
-LD:/devel/emacs/libs/gnutls-3.0.9/lib'
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#10507: 24.0.92; Doc of `search-forward' (and backward)
2012-01-14 22:37 bug#10507: 24.0.92; Doc of `search-forward' (and backward) Drew Adams
@ 2012-01-16 14:10 ` Stefan Monnier
2012-01-16 14:51 ` Drew Adams
0 siblings, 1 reply; 5+ messages in thread
From: Stefan Monnier @ 2012-01-16 14:10 UTC (permalink / raw)
To: Drew Adams; +Cc: 10507
> 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.
So I see no bug here. If you want a change, please say which and why.
Stefan
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#10507: 24.0.92; Doc of `search-forward' (and backward)
2012-01-16 14:10 ` Stefan Monnier
@ 2012-01-16 14:51 ` Drew Adams
2012-01-16 15:21 ` Stefan Monnier
2012-01-26 15:48 ` Chong Yidong
0 siblings, 2 replies; 5+ messages in thread
From: Drew Adams @ 2012-01-16 14:51 UTC (permalink / raw)
To: 'Stefan Monnier'; +Cc: 10507
> > 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.
"Should" is typically used when something is recommended but not prohibited or
enforced. And if you say nothing at all about positive/non-positive then, as
you are wont to say, "all bets are off" - no statement about support, the user
knows nothing.
I think that most readers would expect in this case ("must") that an error is
raised if the arg is not positive - or at least that the function becomes a
no-op.
Compare the doc for `/': "The arguments must be numbers or markers."
> 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.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#10507: 24.0.92; Doc of `search-forward' (and backward)
2012-01-16 14:51 ` Drew Adams
@ 2012-01-16 15:21 ` Stefan Monnier
2012-01-26 15:48 ` Chong Yidong
1 sibling, 0 replies; 5+ messages in thread
From: Stefan Monnier @ 2012-01-16 15:21 UTC (permalink / raw)
To: Drew Adams; +Cc: 10507
>> > 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
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#10507: 24.0.92; Doc of `search-forward' (and backward)
2012-01-16 14:51 ` Drew Adams
2012-01-16 15:21 ` Stefan Monnier
@ 2012-01-26 15:48 ` Chong Yidong
1 sibling, 0 replies; 5+ messages in thread
From: Chong Yidong @ 2012-01-26 15:48 UTC (permalink / raw)
To: Drew Adams; +Cc: 10507
"Drew Adams" <drew.adams@oracle.com> writes:
> 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.
Fixed, thanks.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-01-26 15:48 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-14 22:37 bug#10507: 24.0.92; Doc of `search-forward' (and backward) Drew Adams
2012-01-16 14:10 ` Stefan Monnier
2012-01-16 14:51 ` Drew Adams
2012-01-16 15:21 ` Stefan Monnier
2012-01-26 15:48 ` Chong Yidong
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.