From: David Kastrup <dak@gnu.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: rms@gnu.org, miles.bader@necel.com, schwab@suse.de,
emacs-devel@gnu.org, juri@jurta.org, miles@gnu.org
Subject: Re: find-file-noselect needs save-match-data
Date: Wed, 13 Jun 2007 20:33:54 +0200 [thread overview]
Message-ID: <85tztbvh4d.fsf@lola.goethe.zz> (raw)
In-Reply-To: <jwv645r3gyc.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Wed\, 13 Jun 2007 13\:31\:49 -0400")
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> Anyway, such a function should likely _return_ the corresponding
>> match-data (rather than setting a global variable to it), and things
>> like match-beginning should optionally take an argument for this
>> particular match-data.
>
>> That is a good idea. If there is no match, it returns nil; if there
>> is a match, it returns the match data.
>
> Then what's the advantage compared to using save-match-data?
That it's reentrant... And that it does not touch the match data.
The idea was to have a function that does not touch global data, yet
delivers the full information.
Now one problem here is that we don't want the delivery of information
to be expensive, so consing together a list is probably not really the
hottest idea.
> This whole discussion started because people want to add
> save-match-data everywhere and I pointed out that it's very rarely
> necessary, and it can be costly (where the "it" is generating the
> Lisp-level match data). The suggestion to have a specialized
> string-match operation that preserves match-data was for performance
> reasons, AFAICT, like fast_c_string_match.
The main problem I currently see is that the current semantics and
usage would want to have save-match-data used in places where actually
nobody changes match-data.
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
next prev parent reply other threads:[~2007-06-13 18:33 UTC|newest]
Thread overview: 117+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-04 15:17 find-file-noselect needs save-match-data Herbert Euler
2007-06-04 16:05 ` martin rudalics
2007-06-05 3:10 ` Herbert Euler
2007-06-05 5:52 ` martin rudalics
2007-06-05 22:32 ` Richard Stallman
2007-06-06 1:13 ` Stefan Monnier
2007-06-06 1:44 ` Herbert Euler
2007-06-06 6:58 ` martin rudalics
2007-06-06 7:25 ` David Kastrup
2007-06-06 22:09 ` Richard Stallman
2007-06-06 12:14 ` Stefan Monnier
2007-06-06 22:09 ` Richard Stallman
2007-06-06 6:57 ` martin rudalics
2007-06-06 12:17 ` Stefan Monnier
2007-06-06 12:33 ` Lennart Borgman (gmail)
2007-06-06 12:49 ` martin rudalics
2007-06-06 22:10 ` Richard Stallman
2007-06-06 22:29 ` Stefan Monnier
2007-06-08 7:11 ` Richard Stallman
2007-06-08 8:31 ` Kim F. Storm
2007-06-08 9:42 ` martin rudalics
2007-06-08 10:31 ` Kim F. Storm
2007-06-09 9:45 ` Richard Stallman
2007-06-10 0:05 ` Herbert Euler
2007-06-10 0:11 ` Herbert Euler
2007-06-09 9:46 ` Richard Stallman
2007-06-09 21:32 ` Juri Linkov
2007-06-09 21:59 ` David House
2007-06-09 22:43 ` Juri Linkov
2007-06-09 22:53 ` Jason Rumney
2007-06-09 23:59 ` Miles Bader
2007-06-10 0:02 ` Drew Adams
2007-06-10 13:19 ` Richard Stallman
2007-06-12 3:05 ` Bob Rogers
2007-06-12 4:06 ` Miles Bader
2007-06-12 16:45 ` Juri Linkov
2007-06-12 17:46 ` Andreas Schwab
2007-06-12 21:55 ` David Kastrup
2007-06-12 22:10 ` Miles Bader
2007-06-12 22:37 ` David Kastrup
2007-06-13 16:22 ` Richard Stallman
2007-06-13 17:31 ` Stefan Monnier
2007-06-13 18:33 ` David Kastrup [this message]
2007-06-13 19:55 ` Stefan Monnier
2007-06-14 6:37 ` Herbert Euler
2007-06-15 8:48 ` Richard Stallman
2007-06-15 14:22 ` Stefan Monnier
2007-06-15 16:03 ` Herbert Euler
2007-06-14 6:57 ` martin rudalics
2007-06-14 14:36 ` Stefan Monnier
2007-06-14 16:05 ` Herbert Euler
2007-06-14 16:22 ` Stefan Monnier
2007-06-15 1:59 ` Herbert Euler
2007-06-15 8:49 ` Richard Stallman
2007-06-15 8:49 ` Richard Stallman
2007-06-14 6:57 ` martin rudalics
2007-06-15 8:48 ` Richard Stallman
2007-06-15 14:23 ` Stefan Monnier
2007-06-15 22:45 ` Richard Stallman
2007-06-17 19:54 ` Juri Linkov
2007-06-17 20:27 ` Lennart Borgman (gmail)
2007-06-14 16:19 ` Richard Stallman
2007-06-14 17:18 ` David Kastrup
2007-06-15 19:21 ` Richard Stallman
2007-06-15 19:52 ` Stefan Monnier
2007-06-13 23:39 ` Miles Bader
2007-06-14 0:52 ` Stefan Monnier
2007-06-14 6:58 ` martin rudalics
2007-06-14 16:20 ` Richard Stallman
2007-06-14 18:50 ` Stefan Monnier
2007-06-15 6:31 ` martin rudalics
2007-06-15 14:20 ` Stefan Monnier
2007-06-15 15:55 ` Herbert Euler
2007-06-15 19:22 ` Richard Stallman
2007-06-16 10:01 ` martin rudalics
2007-06-16 22:35 ` Richard Stallman
2007-06-15 19:21 ` Richard Stallman
2007-06-15 19:55 ` Stefan Monnier
2007-06-15 20:03 ` David Kastrup
2007-06-16 18:51 ` Richard Stallman
2007-06-16 19:10 ` David Kastrup
2007-06-17 21:49 ` Richard Stallman
2007-06-18 5:16 ` David Kastrup
2007-06-18 21:30 ` Richard Stallman
2007-06-18 21:42 ` David Kastrup
2007-06-19 22:26 ` Richard Stallman
2007-06-19 22:42 ` David Kastrup
2007-06-25 13:19 ` Richard Stallman
2007-06-16 3:50 ` Herbert Euler
2007-06-17 12:28 ` Stefan Monnier
2007-06-16 18:51 ` Richard Stallman
2007-06-16 21:39 ` Miles Bader
2007-06-17 8:55 ` Richard Stallman
2007-06-17 3:19 ` Herbert Euler
2007-06-17 3:26 ` Herbert Euler
2007-06-17 21:49 ` Richard Stallman
2007-06-17 12:50 ` Stefan Monnier
2007-06-18 7:25 ` Richard Stallman
2007-06-20 8:07 ` Herbert Euler
2007-06-20 14:12 ` Juri Linkov
2007-06-20 14:44 ` Herbert Euler
2007-06-21 1:07 ` Richard Stallman
2007-06-21 1:29 ` Herbert Euler
2007-06-21 6:31 ` David Kastrup
2007-06-28 14:06 ` Herbert Euler
2007-06-29 15:07 ` Herbert Euler
2007-07-06 17:05 ` byte-compiling an elisp-file fails in Emacs 22.1 (reproducable) klaus.berndl
2007-07-06 22:20 ` Jason Rumney
2007-07-07 13:06 ` Richard Stallman
2007-07-08 6:30 ` AW: " klaus.berndl
2007-06-22 1:51 ` find-file-noselect needs save-match-data Richard Stallman
2007-06-20 17:36 ` Richard Stallman
2007-06-13 16:21 ` Richard Stallman
2007-06-05 5:18 ` Richard Stallman
2007-06-06 1:10 ` Stefan Monnier
2007-06-14 16:19 ` Stefan Monnier
-- strict thread matches above, loose matches on Subject: below --
2007-06-06 0:25 Herbert Euler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=85tztbvh4d.fsf@lola.goethe.zz \
--to=dak@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=juri@jurta.org \
--cc=miles.bader@necel.com \
--cc=miles@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=rms@gnu.org \
--cc=schwab@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).