[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
dired-move-to-filename-regexp and Chinese (was: dired-do-toggle)
From: |
Paul Eggert |
Subject: |
dired-move-to-filename-regexp and Chinese (was: dired-do-toggle) |
Date: |
Sun, 4 Nov 2001 21:27:26 -0800 (PST) |
> From: "Stefan Monnier" <monnier+gnu/address@hidden>
> Date: Sun, 04 Nov 2001 18:27:54 -0500
>
> The bug-report I replied to mentioned a Chinese output where the
> column-number supposedly isn't constant ;-(
Yes, come to think of it, large files will cause the file-size column
to grow anyway. Please forget my "ls -dl /////" suggestion.
It sounds like you're talking about Yong Lu's vague bug report
<http://mail.gnu.org/pipermail/bug-gnu-emacs/2001-November/008054.html>
I've written to him to ask for more details. Possibly this is
a problem that your idea wouldn't work with either, as Mingw could
be generating lines in nonstandard format.
This reminds me of the patch I sent to emacs-pretest-bug on April 5,
which wasn't acted on because I mistakenly proposed replacing [A-Za-z]
with [[:alpha:]]. However, that patch fixed some other bugs in this
area, notably the confusion between ASCII letters and non-ASCII
characters, and it's possible that the patch will fix Yong Lu's
problem as well.
Here is that patch again, this time without the controversial
[[:alpha:]] part, and updated for Emacs 21.1. Any objections to the
patch this time?
2001-11-04 Paul Eggert <address@hidden>
* dired.el (dired-move-to-filename-regexp):
Do not distinguish between ASCII letters and non-ASCII characters.
Don't allow comma between month name and day of month, and clean
up the code that checks for trailing period and comma.
Remove now-obsolete comments, and add more commentary about
Japanese dates.
Always gobble up trailing spaces, instead of doing it only sometimes.
*** dired.el Fri Sep 21 09:41:58 2001
--- /net/knick/home/eggert/junk/dired.el Sun Nov 4 21:18:42 2001
*************** DIR must be a directory name, not a file
*** 1505,1540 ****
(defvar dired-move-to-filename-regexp
(let* ((l "\\([A-Za-z]\\|[^\0-\177]\\)")
;; In some locales, month abbreviations are as short as 2 letters,
! ;; and they can be padded on the right with spaces.
! ;; weiand: changed: month ends potentially with . or , or .,
! ;;old (month (concat l l "+ *"))
! (month (concat l l "+[.]?,? *"))
! ;; Recognize any non-ASCII character.
! ;; The purpose is to match a Kanji character.
! (k "[^\0-\177]")
! ;; (k "[^\x00-\x7f\x80-\xff]")
(s " ")
(yyyy "[0-9][0-9][0-9][0-9]")
! (mm "[ 0-1]?[0-9]")
! ;;old (dd "[ 0-3][0-9]")
! (dd "[ 0-3][0-9][.]?")
(HH:MM "[ 0-2][0-9]:[0-5][0-9]")
(seconds "[0-6][0-9]\\([.,][0-9]+\\)?")
(zone "[-+][0-2][0-9][0-5][0-9]")
(iso-mm-dd "[01][0-9]-[0-3][0-9]")
(iso-time (concat HH:MM "\\(:" seconds "\\( ?" zone "\\)?\\)?"))
(iso (concat "\\(\\(" yyyy "-\\)?" iso-mm-dd "[ T]" iso-time
! "\\|" yyyy "-" iso-mm-dd " ?\\)"))
! (western (concat "\\(" month s dd "\\|" dd s month "\\)"
! ;; weiand: changed: year potentially unaligned
! ;;old s "\\(" HH:MM "\\|" s yyyy "\\|" yyyy s "\\)"))
! s "\\(" HH:MM
! "\\|" yyyy s s "?"
! "\\|" s "?" yyyy
! "\\)"))
(japanese
! (concat mm k "?" s dd k "?" s "+"
! "\\(" HH:MM "\\|" yyyy k "?" "\\)")))
;; The "[0-9]" below requires 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
--- 1505,1532 ----
(defvar dired-move-to-filename-regexp
(let* ((l "\\([A-Za-z]\\|[^\0-\177]\\)")
;; In some locales, month abbreviations are as short as 2 letters,
! ;; and they can be followed by "." and padded on the right by spaces.
! (month (concat l l "+\\.? *"))
(s " ")
(yyyy "[0-9][0-9][0-9][0-9]")
! (dd "[ 0-3][0-9]")
(HH:MM "[ 0-2][0-9]:[0-5][0-9]")
(seconds "[0-6][0-9]\\([.,][0-9]+\\)?")
(zone "[-+][0-2][0-9][0-5][0-9]")
(iso-mm-dd "[01][0-9]-[0-3][0-9]")
(iso-time (concat HH:MM "\\(:" seconds "\\( ?" zone "\\)?\\)?"))
(iso (concat "\\(\\(" yyyy "-\\)?" iso-mm-dd "[ T]" iso-time
! "\\|" yyyy "-" iso-mm-dd "\\)"))
! (western (concat
! "\\(" month " +" dd "\\|" dd "\\.? " month "\\)"
! ",? +"
! "\\(" HH:MM "\\|" yyyy "\\)"))
! ;; Japanese MS-Windows ls-lisp has one-digit months, and
! ;; omits the Kanji characters after month and day-of-month.
! (mm "[ 0-1]?[0-9]")
(japanese
! (concat mm l "?" s dd l "?" s "+"
! "\\(" HH:MM "\\|" yyyy l "?" "\\)")))
;; The "[0-9]" below requires 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
*************** DIR must be a directory name, not a file
*** 1543,1549 ****
;; This avoids recognizing `jservice 10 1024' as a date in the line:
;; drwxr-xr-x 3 jservice 10 1024 Jul 2 1997 esg-host
(concat ".*[0-9][kMGTPEZY]?"
! s "\\(" western "\\|" japanese "\\|" iso "\\)" 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.")
--- 1535,1541 ----
;; This avoids recognizing `jservice 10 1024' as a date in the line:
;; drwxr-xr-x 3 jservice 10 1024 Jul 2 1997 esg-host
(concat ".*[0-9][kMGTPEZY]?"
! s "\\(" western "\\|" japanese "\\|" iso "\\)" 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.")
- Re: dired-do-toggle, Stefan Monnier, 2001/11/04
- Re: dired-do-toggle, Paul Eggert, 2001/11/04
- Re: dired-do-toggle, Stefan Monnier, 2001/11/04
- Re: dired-move-to-filename-regexp and Chinese (was: dired-do-toggle), Andreas Schwab, 2001/11/05
- Re: dired-move-to-filename-regexp and Chinese (was: dired-do-toggle), Paul Eggert, 2001/11/05
- Re: dired-move-to-filename-regexp and Chinese (was: dired-do-toggle), Stefan Monnier, 2001/11/05
- Re: dired-move-to-filename-regexp and Chinese (was: dired-do-toggle), Richard Stallman, 2001/11/06
- Re: dired-move-to-filename-regexp and Chinese (was: dired-do-toggle), Stefan Monnier, 2001/11/05
- Re: dired-move-to-filename-regexp and Chinese (was: dired-do-toggle), Richard Stallman, 2001/11/05