Subject: Email address matching is too restrictive

From: Brad Knotwell <[email-masked]>
Date: Sun, 18 Apr 2021 21:30:52 -0700

I use:  Editor:      GNU Emacs 27.2 (build 1, x86_64-apple-darwin17.7.0, Carbon Version 158 AppKit 1561.6)

        Hyperbole:   7.1.3
        Sys Type:    x86_64-apple-darwin17.7.0
        OS Type:     darwin
        Window Sys:  mac
        News Reader: Gnus v5.13

If you want to email to a text message, you'll have an email address
like the following:  [email-masked]

Hyperbole's implicit buttons won't recognize this as a valid email
address (use case:  looking a contact up in HyRolo and hitting the
Action Key to send them a text;  workaround:  copying the address by
hand and hitting {C-x m}.  I've attached the relevant section from
RFC5322 below:

Section 3.2.3 of email is copied below:
   atext           =   ALPHA / DIGIT /    ; Printable US-ASCII
                       "!" / "#" /        ;  characters not including
                       "$" / "%" /        ;  specials.  Used for atoms.
                       "&" / "'" /
                       "*" / "+" /
                       "-" / "/" /
                       "=" / "?" /
                       "^" / "_" /
                       "`" / "{" /
                       "|" / "}" /
                       "~"

   atom            =   [CFWS] 1*atext [CFWS]

   dot-atom-text   =   1*atext *("." 1*atext)

   dot-atom        =   [CFWS] dot-atom-text [CFWS]

   specials        =   "(" / ")" /        ; Special characters that do
                       "<" / ">" /        ;  not appear in atext
                       "[" / "]" /
                       ":" / ";" /
                       "@" / "\" /
                       "," / "." /
                       DQUOTE

Section 3.4.1
   addr-spec       =   local-part "@" domain

   local-part      =   dot-atom / quoted-string / obs-local-part

   domain          =   dot-atom / domain-literal / obs-domain

   domain-literal  =   [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS]

   dtext           =   %d33-90 /          ; Printable US-ASCII
                       %d94-126 /         ;  characters not including
                       obs-dtext          ;  "[", "]", or "\"