[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: find-file-noselect needs save-match-data
From: |
Herbert Euler |
Subject: |
Re: find-file-noselect needs save-match-data |
Date: |
Thu, 14 Jun 2007 14:37:42 +0800 |
So I don't see current usage as problematic w.r.t efficiency.
The only real problem with it is that people tend to not know/understand it
and are thus tempted to complain that most functions need to be wrapped in
save-match-data, which then leads to long discussions such as this one.
Maybe we should make the convention more prominent by adding it to the
docstring of save-match-data?
This is probably true. I found this strange behavior when I studied
the previous SKIP_SYNTAX_BACKWARD patch. I grep'ed to get all the
places that invoke SKIP_SYNTAX_BACKWARD, and looked at them one by
one. Several are in regex.c. I wrote many expressions in the
*scratch* buffer and evaluated them with C-x C-e sequentially to make
sure all the places in regex.c get called. When I evaluated the three
expressions in the beginning of this thread, I got wrong results and
started not to understand it. Starting Emacs with -Q, I found the
result is correct. So I knew it's something wrong with my
configuration. Finally, I knew it's in type-break, and then I knew
the problem is caused by `find-file-noselect' which is put on
`post-command-hook' and changes the match data.
I missed something, at least the efficiency. And the operations above
is truely rare: I don't think people would do that often too. If in
most cases such a wrong result will not happen, it is then not a
problem for common usage. Unless some mode makes the wrong cases
common, it is safe to ignore it.
However, this is surely a shortcoming of Emacs.
Regards,
Guanpeng Xu
_________________________________________________________________
Don't just search. Find. Check out the new MSN Search!
http://search.msn.click-url.com/go/onm00200636ave/direct/01/
- Re: find-file-noselect needs save-match-data, (continued)
- Re: find-file-noselect needs save-match-data, Miles Bader, 2007/06/12
- Re: find-file-noselect needs save-match-data, Juri Linkov, 2007/06/12
- Re: find-file-noselect needs save-match-data, Andreas Schwab, 2007/06/12
- Re: find-file-noselect needs save-match-data, David Kastrup, 2007/06/12
- Re: find-file-noselect needs save-match-data, Miles Bader, 2007/06/12
- Re: find-file-noselect needs save-match-data, David Kastrup, 2007/06/12
- Re: find-file-noselect needs save-match-data, Richard Stallman, 2007/06/13
- Re: find-file-noselect needs save-match-data, Stefan Monnier, 2007/06/13
- Re: find-file-noselect needs save-match-data, David Kastrup, 2007/06/13
- Re: find-file-noselect needs save-match-data, Stefan Monnier, 2007/06/13
- Re: find-file-noselect needs save-match-data,
Herbert Euler <=
- Re: find-file-noselect needs save-match-data, Richard Stallman, 2007/06/15
- Re: find-file-noselect needs save-match-data, Stefan Monnier, 2007/06/15
- Re: find-file-noselect needs save-match-data, Herbert Euler, 2007/06/15
- Re: find-file-noselect needs save-match-data, martin rudalics, 2007/06/14
- Re: find-file-noselect needs save-match-data, Stefan Monnier, 2007/06/14
- Re: find-file-noselect needs save-match-data, Herbert Euler, 2007/06/14
- Re: find-file-noselect needs save-match-data, Stefan Monnier, 2007/06/14
- Re: find-file-noselect needs save-match-data, Herbert Euler, 2007/06/14
- Re: find-file-noselect needs save-match-data, Richard Stallman, 2007/06/15
- Re: find-file-noselect needs save-match-data, Richard Stallman, 2007/06/15