[Top][All Lists]

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

bug#6388: Should not match data be set on misses?

From: Lennart Borgman
Subject: bug#6388: Should not match data be set on misses?
Date: Thu, 10 Jun 2010 15:35:17 +0200

On Thu, Jun 10, 2010 at 3:04 PM, Stefan Monnier
<address@hidden> wrote:
>> I'm closing this bug report because the ELisp manual explicitly
>> documents the current behavior:
>>       Every successful search sets the match data.  Therefore, you should
>>    query the match data immediately after searching, before calling any
>>    other function that might perform another search.  Alternatively, you
>>    may save and restore the match data (*note Saving Match Data::) around
>>    the call to functions that could perform another search.
>>       A search which fails may or may not alter the match data.  In the
>>    past, a failing search did not do this, but we may change it in the
>>    future.  So don't try to rely on the value of the match data after a
>>    failing search.
>> Patches welcome to "change this in the future" (unless Stefan or
>> Yidong object to such a change).
> Yes, there was a long discussion about this a few years ago.

Sorry, forgot.

> The main
> obstacle to such a change are:
> - it breaks some code.

Aka it makes some bugs (bad assumptions) surface. That is not always bad.

> - it is not tremendously useful.

But it is probably what a user/programmer normally expects.

> - it is difficult to detect code that relies on the current behavior
>  (so it's difficult to output a warning to help in the migration).
> The current behavior is not tremendously useful either, of course, but
> it has the advantage of being what we've used for many years.

Yes, that is true. However the current behavior probably wastes a lot
of time for those unaware of it.

reply via email to

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