changeset 107208:8554c569b8fd

* files.el (directory-listing-before-filename-regexp): Use stricter matching for iso-style dates, to avoid false matches with date-like filenames (Bug#5597).
author Chong Yidong <cyd@stupidchicken.com>
date Sun, 21 Feb 2010 16:12:46 -0500
parents f9121af0ebc9
children 4a0ca858272e 366dab1d1b3e
files lisp/ChangeLog lisp/files.el
diffstat 2 files changed, 12 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sun Feb 21 16:05:13 2010 -0500
+++ b/lisp/ChangeLog	Sun Feb 21 16:12:46 2010 -0500
@@ -1,5 +1,9 @@
 2010-02-21  Chong Yidong  <cyd@stupidchicken.com>
 
+	* files.el (directory-listing-before-filename-regexp): Use
+	stricter matching for iso-style dates, to avoid false matches with
+	date-like filenames (Bug#5597).
+
 	* htmlfontify.el (htmlfontify): Doc fix.
 
 	* eshell/eshell.el (eshell): Doc fix.
--- a/lisp/files.el	Sun Feb 21 16:05:13 2010 -0500
+++ b/lisp/files.el	Sun Feb 21 16:12:46 2010 -0500
@@ -5592,8 +5592,10 @@
 	 ;; -r--r--r--   1 may      1997        1168 Oct 19 16:49 README
 
 	 ;; The "[BkKMGTPEZY]?" below supports "ls -alh" output.
-	 ;; The ".*" below finds the last match if there are multiple matches.
-	 ;; This avoids recognizing `jservice  10  1024' as a date in the line:
+
+	 ;; For non-iso date formats, we add the ".*" in order to find
+	 ;; the last possible match.  This avoids recognizing
+	 ;; `jservice 10 1024' as a date in the line:
 	 ;; drwxr-xr-x  3 jservice  10  1024 Jul  2  1997 esg-host
 
          ;; vc dired listings provide the state or blanks between file
@@ -5601,9 +5603,10 @@
          ;; parantheses:
          ;; -rw-r--r-- (modified) 2005-10-22 21:25 files.el
          ;; This is not supported yet.
-    (purecopy (concat ".*[0-9][BkKMGTPEZY]?" s
-	    "\\(" western "\\|" western-comma "\\|" east-asian "\\|" iso "\\)"
-	    s "+")))
+    (purecopy (concat "\\([0-9][BkKMGTPEZY]? " iso
+		      "\\|.*[0-9][BkKMGTPEZY]? "
+		      "\\(" western "\\|" western-comma "\\|" east-asian "\\)"
+		      "\\) +")))
   "Regular expression to match up to the file name in a directory listing.
 The default value is designed to recognize dates and times
 regardless of the language.")