From 6a5c00da3f62d9e8ec23a8dded5a47fd2a8bb9c8 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Thu, 11 Dec 1997 06:58:17 +0000 Subject: [PATCH] (dired-move-to-filename-regexp): Fix the problem with misparsing `-r--r--r-- 1 may 1997' by requiring a digit before the date. (dired-move-to-filename-regexp): Allow any month name of 2 letters or more. --- lisp/dired.el | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/lisp/dired.el b/lisp/dired.el index c8d97f1dd01..b69bd24f517 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -1352,10 +1352,10 @@ DIR must be a directory name, not a file name." (defvar dired-move-to-filename-regexp (let* ((l "[A-Za-z\xa0-\xff]") - ;; Letter or space. - (ls "[ A-Za-z\xa0-\xff]") - (month (concat l l "\\(" ls "\\|" l l "\\)")) - ;; Recognize any non-ASCII character. + ;; In some locales, month abbreviations are as short as 2 letters, + ;; and they can be padded on the right with spaces. + (month (concat l l "+ *")) + ;; Recognize any non-ISO-8859 character. ;; The purpose is to match a Kanji character. (k "[^\x00-\xff]") (s " ") @@ -1365,9 +1365,12 @@ DIR must be a directory name, not a file name." (HH:MM "[ 0-2][0-9]:[0-5][0-9]") (western (concat "\\(" month s dd "\\|" dd s month "\\)" s "\\(" HH:MM "\\|" s yyyy "\\)")) - (japanese (concat mm k " " dd k s "\\(" s HH:MM "\\|" yyyy k "\\)"))) - (concat s "\\(" western "\\|" japanese "\\)" s)) - "Regular expression to match a date and time in a directory listing. + (japanese (concat mm k s dd k s "\\(" s HH:MM "\\|" yyyy k "\\)"))) + ;; Require the previous column to end in a digit. + ;; This avoids recognizing `1 may 1997' as a date in the line: + ;; -r--r--r-- 1 may 1997 1168 Oct 19 16:49 README + (concat "[0-9]" s "\\(" western "\\|" japanese "\\)" s)) + "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.") -- 2.39.2