unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: martin rudalics <rudalics@gmx.at>
Cc: rms@gnu.org, schwab@suse.de, emacs-devel@gnu.org, juri@jurta.org,
	miles@gnu.org, miles.bader@necel.com
Subject: Re: find-file-noselect needs save-match-data
Date: Thu, 14 Jun 2007 10:36:15 -0400	[thread overview]
Message-ID: <jwvd4zyvc9k.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <4670E6E4.3010906@gmx.at> (martin rudalics's message of "Thu\, 14 Jun 2007 08\:57\:40 +0200")

>> 2 - around code that needs to be run after string-match but before match-end

> I fail to understand this.

>> and of which we do not know that it leaves the match-data unaffected.
>> This may be unnecessary because the code may in fact preserve the
>> match-data even though you don't know it.
>> 
>> So although number 1 may be an unnecessary use of save-match-data, I find
>> it's usually useful/necessary.  Number 2 OTOH can often turn out to be
>> unnecessary.  Luckily number 2 is very rarely needed because in most cases
>> it's easier to restructure your code such that save-match-data is not needed
>> any more.

> Saving match-data is needed if the index for accessing match-data is
> known only after performing a second match operation like in

Yes, this is the number 2 I'm thinking of.

>> So I don't see current usage as problematic w.r.t efficiency.
> The info.el examples in my earlier mail seem to contradict this.

I'm not saying it can't be misused.  But using it right isn't that hard.
The info.el example should be fixed.

>> 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?

> We probably should remove bad uses of `save-match-data' from Emacs code
> in the first place.

Agreed.
As for removing most uses of save-match-data from files.el, I could agree.
I probably have argued against most of the ones I've seen added there, but
usually the other side wins because "well, it can't hurt to add it just
here".  So little by little it creeps in.


        Stefan

  reply	other threads:[~2007-06-14 14:36 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
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 [this message]
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=jwvd4zyvc9k.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    --cc=juri@jurta.org \
    --cc=miles.bader@necel.com \
    --cc=miles@gnu.org \
    --cc=rms@gnu.org \
    --cc=rudalics@gmx.at \
    --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).