bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#31584: 27.0.50; Document again what match re-search-backward finds


From: Eric Abrahamsen
Subject: bug#31584: 27.0.50; Document again what match re-search-backward finds
Date: Thu, 24 May 2018 14:42:44 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

Michael Heidegger <michael_heerdegen@web.de> writes:

> Hello,
>
> a user asked in emacs-help why
>
>    (re-search-backward "a*")
>
> at the end of a line consisting only "a"s didn't move point.  With
> today's documentation, that question can't be answered.
>
> Some time ago, we had this sentence in the docstring:
>
>    The match found is the one starting last in the buffer
>    and yet ending before the origin of the search.
>
> but it has been removed.  I think we need to say something like that,
> otherwise the semantics of backward re search is unclear.

I've been bitten by this before. I'm sure the sentence you cite is
correct, but I would suggest something more explicit about backwards
searches. The most useful thing I could have read when I was wondering
why this didn't work would be something like: "re-search-backward always
behaves "non-greedily", i.e., it will find the shortest match before
point".

That might not be technically correct, but those are the terms that
would have made sense to me: in particular, the "*" token is supposed to
be "greedy", so why isn't it greedy backwards? This doesn't explain why
it isn't, but it would have explicitly told me that it wouldn't be.

Eric






reply via email to

[Prev in Thread] Current Thread [Next in Thread]