Skip to content

Commit

Permalink
(rmail-unix-mail-delimiter):
Browse files Browse the repository at this point in the history
Accept more user names, since they can be
mangled badly by modern Unix mailers (e.g. Solaris 2.5 mail.local).
Be a little more picky about dates to compensate.
Match all the digits of a year, as per RFC 1123 section 5.2.14.
(rmail-nuke-pinhead-header): Adjust to regexp renumbering in
rmail-unix-mail-delimiter.
  • Loading branch information
Richard M. Stallman committed Jun 28, 1996
1 parent b0ef30a commit d0b3708
Showing 1 changed file with 21 additions and 12 deletions.
33 changes: 21 additions & 12 deletions lisp/mail/rmail.el
Expand Up @@ -221,25 +221,34 @@ Called with region narrowed to the message, including headers.")
(concat
"From "

;; Username, perhaps with a quoted section that can contain spaces.
"\\("
"[^ \n]*"
"\\(\\|\".*\"[^ \n]*\\)"
"\\|<[^<>\n]+>"
"\\) ?"
;; Many things can happen to an RFC 822 mailbox before it is put into
;; a `From' line. The leading phrase can be stripped, e.g.
;; `Joe <@w.x:joe@y.z>' -> `<@w.x:joe@y.z>'. The <> can be stripped, e.g.
;; `<@x.y:joe@y.z>' -> `@x.y:joe@y.z'. Everything starting with a CRLF
;; can be removed, e.g.
;; From: joe@y.z (Joe K
;; User)
;; can yield `From joe@y.z (Joe K Fri Mar 22 08:11:15 1996', and
;; From: Joe User
;; <joe@y.z>
;; can yield `From Joe User Fri Mar 22 08:11:15 1996'.
;; We want to match the results of any of these manglings.
;; The following regexp rejects names whose first characters are
;; obviously bogus, but after that anything goes.
"\\([^\0-\r \^?].*\\)? "

;; The time the message was sent.
"\\([^ \n]*\\) *" ; day of the week
"\\([^ \n]*\\) *" ; month
"\\([0-9]*\\) *" ; day of month
"\\([0-9:]*\\) *" ; time of day
"\\([^\0-\r \^?]+\\) +" ; day of the week
"\\([^\0-\r \^?]+\\) +" ; month
"\\([0-3]?[0-9]\\) +" ; day of month
"\\([0-2][0-9]:[0-5][0-9]\\(:[0-6][0-9]\\)?\\) *" ; time of day

;; Perhaps a time zone, specified by an abbreviation, or by a
;; numeric offset.
time-zone-regexp

;; The year.
" [0-9][0-9]\\([0-9]*\\) *"
" \\([0-9][0-9]+\\) *"

;; On some systems the time zone can appear after the year, too.
time-zone-regexp
Expand Down Expand Up @@ -1273,7 +1282,7 @@ Optional DEFAULT is password to start with."
(if has-date
""
(concat
"Date: \\3, \\5 \\4 \\9 \\6 "
"Date: \\2, \\4 \\3 \\9 \\5 "

;; The timezone could be matched by group 7 or group 10.
;; If neither of them matched, assume EST, since only
Expand Down

0 comments on commit d0b3708

Please sign in to comment.