[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#6388: Should not match data be set on misses?
From: |
Stefan Monnier |
Subject: |
bug#6388: Should not match data be set on misses? |
Date: |
Thu, 10 Jun 2010 09:04:08 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
> 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. The main
obstacle to such a change are:
- it breaks some code.
- it is not tremendously useful.
- 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.
Stefan