All of lore.kernel.org
 help / color / mirror / Atom feed
From: Francis Galiegue <fg@one2team.net>
To: git@vger.kernel.org
Subject: Re: [PATCH 2/3] git send-email: do not ask questions when  --compose is used.
Date: Sat, 1 Nov 2008 20:56:37 +0100	[thread overview]
Message-ID: <200811012056.37220.fg@one2team.net> (raw)
In-Reply-To: <20081101174352.GG26229@artemis.corp>

[-- Attachment #1: Type: text/plain, Size: 1416 bytes --]

Le Saturday 01 November 2008 18:43:52 Pierre Habouzit, vous avez écrit :
[...]

> Your regex fails to parse:
>
> "Someone with a comma, and an escape double quote \" in its name"

Easy fix: replace "[^"]+" with "[^"]+(?:\\"[^"]*)*".

>   <regex.cant.be.used.for.serious.parsing@i.told.you.so>

Oh yes. Regexes _are_ the way to do serious parsing. All MIME packages you 
will find floating around use regexes to parse mail headers correctly.

Granted, adhering to the RFC822 to the letter is rather hard. But I have a 
sample program here that can not only parse the escaped double quote, but 
also take account for the multiple line stuff and multiple headers of the 
same type where email addresse are valid (To:, Cc:, Bcc:). See attachment. 
Feel free to use the code.

----

fg@erwin ~ $ cat t.txt
To: John Doe <some.address@some.tld>, Random Joe <random.joe@abc.def>, 
Superman <batman@nyc.us>, "Someone with a comma, inside its tag name" 
<a@b.com>
To: bbr@one2team.com,
 u1@whatever.org,
  u2@wherever.ru,
   u3@blah.com
fg@erwin ~ $ perl t.pl <t.txt
Found mail: John Doe <some.address@some.tld>
Found mail: Random Joe <random.joe@abc.def>
Found mail: Superman <batman@nyc.us>
Found mail: "Someone with a comma, inside its tag name" <a@b.com>
Found mail: bbr@one2team.com
Found mail: u1@whatever.org
Found mail: u2@wherever.ru
Found mail: u3@blah.com
----


-- 
fge

[-- Attachment #2: t.pl --]
[-- Type: application/x-perl, Size: 1101 bytes --]

  reply	other threads:[~2008-11-01 19:58 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-31 10:57 git send-email improvements Pierre Habouzit
2008-10-31 10:57 ` [PATCH 1/3] git send-email: avoid leaking directory file descriptors Pierre Habouzit
2008-10-31 10:57   ` [PATCH 2/3] git send-email: interpret unknown files as revision lists Pierre Habouzit
2008-10-31 10:57     ` [PATCH 3/3] git send-email: add --annotate option Pierre Habouzit
2008-10-31 21:34       ` Ian Hilt
2008-11-02  6:23       ` Junio C Hamano
2008-11-02  9:51         ` Pierre Habouzit
2008-11-03 12:18           ` Matthieu Moy
2008-10-31 16:52     ` [PATCH] git send-email: allow any rev-list option as an argument Pierre Habouzit
2008-11-02  4:35       ` Jeff King
2008-11-02  9:39         ` Pierre Habouzit
2008-11-02 18:02           ` Jeff King
2008-11-03  9:15             ` Pierre Habouzit
2008-11-04  1:04               ` Junio C Hamano
2008-11-04  8:19                 ` Pierre Habouzit
2008-11-02  4:31   ` [PATCH 1/3] git send-email: avoid leaking directory file descriptors Jeff King
2008-10-31 12:36 ` Further enhancement proposal for git-send-email Pierre Habouzit
2008-10-31 12:36   ` [PATCH 1/3] git send-email: make the message file name more specific Pierre Habouzit
2008-10-31 12:36     ` [PATCH 2/3] git send-email: do not ask questions when --compose is used Pierre Habouzit
2008-10-31 12:36       ` [PATCH 3/3] git send-email: turn --compose on when more than one patch Pierre Habouzit
2008-10-31 21:33       ` [PATCH 2/3] git send-email: do not ask questions when --compose is used Ian Hilt
2008-10-31 21:38         ` Pierre Habouzit
2008-10-31 22:01           ` Ian Hilt
2008-11-01  2:26           ` Ian Hilt
2008-11-01 11:04             ` Pierre Habouzit
2008-11-01 13:00               ` Ian Hilt
2008-11-01 17:08                 ` Pierre Habouzit
2008-11-01 17:34                   ` Francis Galiegue
2008-11-01 17:43                     ` Pierre Habouzit
2008-11-01 19:56                       ` Francis Galiegue [this message]
2008-11-01 17:54                   ` Ian Hilt
2008-11-02  6:18     ` [PATCH 1/3] git send-email: make the message file name more specific Junio C Hamano
2008-11-02  9:35       ` Pierre Habouzit
2008-11-02 21:34         ` Ian Hilt
2008-11-03  8:53           ` Pierre Habouzit
2008-11-04 16:24 ` [take 2] git send-email updates Pierre Habouzit
2008-11-04 16:24   ` [PATCH 1/5] git send-email: make the message file name more specific Pierre Habouzit
2008-11-04 16:24     ` [PATCH 2/5] git send-email: interpret unknown files as revision lists Pierre Habouzit
2008-11-04 16:24       ` [PATCH 3/5] git send-email: add --annotate option Pierre Habouzit
2008-11-04 16:24         ` [PATCH 4/5] git send-email: ask less questions when --compose is used Pierre Habouzit
2008-11-04 16:24           ` [PATCH 5/5] git send-email: turn --compose on when more than one patch Pierre Habouzit
2008-11-04 23:54             ` Junio C Hamano
2008-11-05  3:31               ` Jeff King
2008-11-05  7:03                 ` Junio C Hamano
2008-11-04 20:09           ` [PATCH 4/5] git send-email: ask less questions when --compose is used Francis Galiegue
2008-11-04 23:54           ` Junio C Hamano
2008-11-04 23:54       ` [PATCH 2/5] git send-email: interpret unknown files as revision lists Junio C Hamano
2008-11-05 10:40         ` Pierre Habouzit
2008-11-05 15:17           ` Junio C Hamano
2008-11-09 18:56           ` Junio C Hamano
2008-11-10 23:53 ` [take 2] git send-email updates Pierre Habouzit
2008-11-10 23:53   ` [PATCH 1/4] git send-email: make the message file name more specific Pierre Habouzit
2008-11-10 23:54     ` [PATCH 2/4] git send-email: interpret unknown files as revision lists Pierre Habouzit
2008-11-10 23:54       ` [PATCH 3/4] git send-email: add --annotate option Pierre Habouzit
2008-11-10 23:54         ` [PATCH 4/4] git send-email: ask less questions when --compose is used Pierre Habouzit
2008-11-12  5:48       ` [PATCH 2/4] git send-email: interpret unknown files as revision lists Junio C Hamano
2008-11-11 20:30   ` [take 2] git send-email updates Junio C Hamano
2008-11-11 22:13     ` Pierre Habouzit
2008-11-12  0:14       ` Junio C Hamano
2008-11-13  0:01         ` Re* " Junio C Hamano
2008-11-15 22:07           ` Pierre Habouzit
2008-11-15 22:05         ` Pierre Habouzit

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200811012056.37220.fg@one2team.net \
    --to=fg@one2team.net \
    --cc=git@vger.kernel.org \
    /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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.