Commit 74d6e31c authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

(rmail-unix-mail-delimiter):

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.
parent de0be7dd
......@@ -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
......@@ -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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment