Subject: Re: bug#3987: 23.1; Rmail summary missing dates when case-fold-search is nil
From: Eli Zaretskii <[email-masked]>
To: [email-masked], [email-masked]
Date: Sat, 01 Aug 2009 11:23:04 +0300

> Date: Thu, 30 Jul 2009 20:01:07 -0400
> From: Christopher Neufeld <[email-masked]>
> From: Christopher Neufeld <[email-masked]>
> Cc: 
> 
> Some time between 23.0.60 and 23.1, a minor annoyance was introduced into
> rmail.  When case-fold-search is nil, the dates in the rmail summary are
> all rendered as "??????".

Fixed with this change:

  2009-08-01  Eli Zaretskii  <[email-masked]>

	  * mail/rmailsum.el (rmail-header-summary): Ignore letter-case of
	  month names.  (Bug#3987)

  Index: lisp/mail/rmailsum.el
  ===================================================================
  RCS file: /cvsroot/emacs/emacs/lisp/mail/rmailsum.el,v
  retrieving revision 1.179
  diff -u -r1.179 rmailsum.el
  --- lisp/mail/rmailsum.el	4 Apr 2009 14:21:49 -0000	1.179
  +++ lisp/mail/rmailsum.el	1 Aug 2009 08:19:26 -0000
  @@ -518,16 +518,19 @@
      (concat (save-excursion
	       (if (not (re-search-forward "^Date:" nil t))
		   "      "
  -	       (cond ((re-search-forward "\\([^0-9:]\\)\\([0-3]?[0-9]\\)\\([- \t_]+\\)\\([adfjmnos][aceopu][bcglnprtvy]\\)"
  -		       (line-end-position) t)
  +	       ;; Match month names case-insensitively
  +	       (cond ((let ((case-fold-search t))
  +			(re-search-forward "\\([^0-9:]\\)\\([0-3]?[0-9]\\)\\([- \t_]+\\)\\([adfjmnos][aceopu][bcglnprtvy]\\)"
  +					   (line-end-position) t))
			(format "%2d-%3s"
				(string-to-number (buffer-substring
						   (match-beginning 2)
						   (match-end 2)))
				(buffer-substring
				 (match-beginning 4) (match-end 4))))
  -		     ((re-search-forward "\\([^a-z]\\)\\([adfjmnos][acepou][bcglnprtvy]\\)\\([-a-z \t_]*\\)\\([0-9][0-9]?\\)"
  -		       (line-end-position) t)
  +		     ((let ((case-fold-search t))
  +			(re-search-forward "\\([^a-z]\\)\\([adfjmnos][acepou][bcglnprtvy]\\)\\([-a-z \t_]*\\)\\([0-9][0-9]?\\)"
  +					   (line-end-position) t))
			(format "%2d-%3s"
				(string-to-number (buffer-substring
						   (match-beginning 4)