summaryrefslogtreecommitdiff
path: root/lisp/files.el
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2005-10-23 12:17:28 +0000
committerMichael Albinus <michael.albinus@gmx.de>2005-10-23 12:17:28 +0000
commit9bc260cfb76b5bbe39a3edf1b3933e4be11de759 (patch)
tree9a401462217efe6afa01833aa18141d59a59e2ba /lisp/files.el
parent9f40e1d51e7d555119d5e6de61c27bf7c9e4706e (diff)
downloademacs-9bc260cfb76b5bbe39a3edf1b3933e4be11de759.tar.gz
* files.el (directory-listing-before-filename-regexp): New
defvar. Replaces `dired-move-to-filename-regexp' from dired.el. * dired.el (dired-move-to-filename-regexp): Removed. All occurences replaced by `directory-listing-before-filename-regexp'. * dired-x.el, locate.el, vc.el: Replace `dired-move-to-filename-regexp' by `directory-listing-before-filename-regexp'. In vc.el it is overwritten locally; maybe this can be handled in files.el too. * net/ange-ftp.el (ange-ftp-date-regexp): Removed. All occurences replaced by `directory-listing-before-filename-regexp'. * faq.texi (Bugs and problems): Replace `dired-move-to-filename-regexp' by `directory-listing-before-filename-regexp'.
Diffstat (limited to 'lisp/files.el')
-rw-r--r--lisp/files.el51
1 files changed, 51 insertions, 0 deletions
diff --git a/lisp/files.el b/lisp/files.el
index 89ff4da76a6..4373738080a 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -4475,6 +4475,57 @@ program specified by `directory-free-space-program' if that is non-nil."
(forward-word -1)
(buffer-substring (point) end)))))))))
+;; The following expression replaces `dired-move-to-filename-regexp'.
+(defvar directory-listing-before-filename-regexp
+ (let* ((l "\\([A-Za-z]\\|[^\0-\177]\\)")
+ (l-or-quote "\\([A-Za-z']\\|[^\0-\177]\\)")
+ ;; In some locales, month abbreviations are as short as 2 letters,
+ ;; and they can be followed by ".".
+ ;; In Breton, a month name can include a quote character.
+ (month (concat l-or-quote l-or-quote "+\\.?"))
+ (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 s "+" dd "\\|" dd "\\.?" s month "\\)"
+ s "+"
+ "\\(" HH:MM "\\|" yyyy "\\)"))
+ (western-comma (concat month s "+" dd "," s "+" yyyy))
+ ;; Japanese MS-Windows ls-lisp has one-digit months, and
+ ;; omits the Kanji characters after month and day-of-month.
+ ;; On Mac OS X 10.3, the date format in East Asian locales is
+ ;; day-of-month digits followed by month digits.
+ (mm "[ 0-1]?[0-9]")
+ (east-asian
+ (concat "\\(" mm l "?" s dd l "?" s "+"
+ "\\|" dd s mm 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
+
+ ;; 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:
+ ;; drwxr-xr-x 3 jservice 10 1024 Jul 2 1997 esg-host
+
+ ;; vc dired listings provide the state or blanks between file
+ ;; permissions and date. The state is always surrounded by
+ ;; parantheses:
+ ;; -rw-r--r-- (modified) 2005-10-22 21:25 files.el
+ ;; This is not supported yet.
+ (concat ".*[0-9][BkKMGTPEZY]?" s
+ "\\(" western "\\|" western-comma "\\|" east-asian "\\|" 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.")
(defvar insert-directory-ls-version 'unknown)