diff lisp/dired.el @ 14107:5449183b1e7b

(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.
author Karl Heuer <kwzh@gnu.org>
date Tue, 09 Jan 1996 23:15:52 +0000
parents 490fe0437271
children 36471d582fb2
line wrap: on
line diff
--- 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)