# HG changeset patch # User Karl Heuer # Date 821229352 0 # Node ID 5449183b1e7bb97894ca6f3d862e3fffeab54482 # Parent 4302535a19eb3bb6e3cfd5d14f931e0a5548b588 (dired-standard-move-to-filename-regexp): New variable. (dired-insert-directory): Don't alter environment if would use the C locale anyway, or if dired-move-to-filename-regexp has been changed from the default value. When changing the environment, avoid need for setenv. diff -r 4302535a19eb -r 5449183b1e7b lisp/dired.el --- a/lisp/dired.el Tue Jan 09 23:14:47 1996 +0000 +++ b/lisp/dired.el Tue Jan 09 23:15:52 1996 +0000 @@ -566,7 +566,15 @@ end) ;; This makes sure that month names come out in English ;; so we can find the start of the file name. - (setenv "LC_ALL" "C") + ;; But if the user has customized the way of finding the file name, + ;; this is not necessary. + (if (and (equal dired-move-to-filename-regexp + dired-standard-move-to-filename-regexp) + ;; It also isn't necessary if we'd use the C locale anyway. + (not (equal (or (getenv "LC_ALL") (getenv "LC_TIME") + (getenv "LANGUAGE") "C") + "C"))) + (setq process-environment (cons "LC_ALL=C" process-environment))) (if (consp dir-or-list) ;; In this case, use the file names in the cdr ;; exactly as originally given to dired-noselect. @@ -1246,6 +1254,10 @@ "\\(Jan\\|Feb\\|Mar\\|Apr\\|May\\|Jun\\|Jul\\|Aug\\|Sep\\|Oct\\|Nov\\|Dec\\)[ ]+[0-9]+ [ 0-9][0-9][:0-9][0-9][ 0-9] " "Regular expression to match a month abbreviation followed by a number.") +(defconst dired-standard-move-to-filename-regexp + "\\(Jan\\|Feb\\|Mar\\|Apr\\|May\\|Jun\\|Jul\\|Aug\\|Sep\\|Oct\\|Nov\\|Dec\\)[ ]+[0-9]+ [ 0-9][0-9][:0-9][0-9][ 0-9] " + "Regular expression to match a month abbreviation followed by a number.") + ;; Move to first char of filename on this line. ;; Returns position (point) or nil if no filename on this line." (defun dired-move-to-filename (&optional raise-error eol)