[gnu.emacs.bug] Time Zone Bug in rmail.el

andys@ulysses.att.com (05/31/89)

Earlier in May I reported a bug in handling numeric time zones in
rmail.el and submitted a fix.  I have since noted that my fix, like
the original bug, did not have sufficient flexibility.  I have
observed numeric time zones led by a) a blank followed by the digits,
b) a blank followed by the sign followed by the digits, and c) no
blank followed by the sign followed by the digits.  My original fix
only allowed for b.  The diffs appended to this message handle all
three cases.
---
Andy Sherman/AT&T Bell Laboratories/Murray Hill, NJ           *NEW ADDRESS*
AUDIBLE:  (201) 582-5928                                      *NEW PHONE*
READABLE: andys@ulysses.ATT.COM  or att!ulysses!andys         *NEW EMAIL*
The views and opinions are my own.  Who else would want them? *OLD DISCLAIMER*
-------------------context diff for rmail.el-------------------------------
*** rmail.el.orig	Wed May 17 17:02:23 1989
--- rmail.el	Wed May 31 08:46:16 1989
***************
*** 550,556 ****
  	       (if (re-search-forward
  		    (concat "^[\^_]?\\("
  			    "From [^ \n]*\\(\\|\".*\"[^ \n]*\\)  ?[^ \n]* [^ \n]* *"
! 			    "[0-9]* [0-9:]* \\([A-Z]?[A-Z][A-Z]T \\|[-+][0-9][0-9][0-9][0-9] \\|\\)" ; EDT, -0500
  			    "19[0-9]* *$\\|"
  			    mmdf-delim1 "\\|"
  			    "^Babyl Options:\\|"
--- 550,556 ----
  	       (if (re-search-forward
  		    (concat "^[\^_]?\\("
  			    "From [^ \n]*\\(\\|\".*\"[^ \n]*\\)  ?[^ \n]* [^ \n]* *"
! 			    "[0-9]* [0-9:]*\\( \\([A-Z]\\)?[A-Z][A-Z]T \\| ?[-+]?[0-9][0-9][0-9][0-9] \\|\\)" ; EDT, -0500
  			    "19[0-9]* *$\\|"
  			    mmdf-delim1 "\\|"
  			    "^Babyl Options:\\|"
***************
*** 594,600 ****
  	  (goto-char start))
  	(let ((case-fold-search nil))
  	  (if (re-search-forward
! 	       "^From \\([^ ]*\\(\\|\".*\"[^ ]*\\)\\)  ?\\([^ ]*\\) \\([^ ]*\\) *\\([0-9]*\\) \\([0-9:]*\\)\\( [A-Z]?[A-Z][A-Z]T\\|[-+][0-9][0-9][0-9][0-9]\\|\\) 19\\([0-9]*\\) *\n" nil t)
  	      (replace-match
  		(concat
  		  ;; Keep and reformat the date if we don't
--- 594,600 ----
  	  (goto-char start))
  	(let ((case-fold-search nil))
  	  (if (re-search-forward
! 	       "^From \\([^ ]*\\(\\|\".*\"[^ ]*\\)\\)  ?\\([^ ]*\\) \\([^ ]*\\) *\\([0-9]*\\) \\([0-9:]*\\)\\( \\([A-Z]\\)?[A-Z][A-Z]T\\| ?[-+]?[0-9][0-9][0-9][0-9]\\|\\) 19\\([0-9]*\\) *\n" nil t)
  	      (replace-match
  		(concat
  		  ;; Keep and reformat the date if we don't