[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
cvs: ls-lisp-format-time
From: |
Peter Lee |
Subject: |
cvs: ls-lisp-format-time |
Date: |
Tue, 02 Sep 2003 11:38:05 -0500 |
User-agent: |
Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3.50 (windows-nt) |
Modifying:
(setq ls-lisp-format-time-list (quote ("%b %e %Y %H:%M" "%b %e %Y
%H:%M")))
was having no effect when I did 'C-x d'.
I looked at defun ls-lisp-format-time in ls-lisp.el and locale was
never nil so it was always using the hardcoded formats:
(defun ls-lisp-format-time (file-attr time-index now)
"Format time for file with attributes FILE-ATTR according to TIME-INDEX.
Use the same method as ls to decide whether to show time-of-day or year,
depending on distance between file date and NOW.
All ls time options, namely c, t and u, are handled."
(let* ((time (nth (or time-index 5) file-attr)) ; default is last modtime
(diff (- (ls-lisp-time-to-seconds time)
(ls-lisp-time-to-seconds now)))
;; Consider a time to be recent if it is within the past six
;; months. A Gregorian year has 365.2425 * 24 * 60 * 60 ==
;; 31556952 seconds on the average, and half of that is 15778476.
;; Write the constant explicitly to avoid roundoff error.
(past-cutoff -15778476)) ; half a Gregorian year
(condition-case nil
;; Use traditional time format in the C or POSIX locale,
;; ISO-style time format otherwise, so columns line up.
(let ((locale system-time-locale))
(if (not locale)
(let ((vars '("LC_ALL" "LC_TIME" "LANG")))
(while (and vars (not (setq locale (getenv (car vars)))))
(setq vars (cdr vars)))))
(if (member locale '("C" "POSIX"))
(setq locale nil))
(format-time-string
(if (and (<= past-cutoff diff) (<= diff 0))
(if locale "%m-%d %H:%M" (nth 0 ls-lisp-format-time-list))
(if locale "%Y-%m-%d " (nth 1 ls-lisp-format-time-list)))
time))
(error "Unk 0 0000"))))
system-local-time == nil
Changing
(if (member locale '("C" "POSIX"))
to
(if (member locale '("C" "POSIX" "ENU"))
solves the problem and it correctly picks up my format strings, but I
don't really understand why it's looking at those environment
variables to begin with, so I've got this in as a temporary hack.
Thanks.
In GNU Emacs 21.3.50.1 (i386-msvc-nt5.1.2600)
of 2003-08-29 on PONGMASTER
configured using `configure --with-msvc (12.00) --cflags -Ie:/gnuwin32/include
--ldflags /LIBPATH:e:/gnuwin32/lib'
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: ENU
locale-coding-system: iso-latin-1
default-enable-multibyte-characters: t
Recent input:
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n
C-n C-n C-n C-n C-n C-n C-n C-p C-p C-p C-p C-p C-c
C-b C-n C-p M-x e m a c s SPC r e p <backspace> <backspace>
<backspace> b u g <backspace> <backspace> <backspace>
<backspace> <backspace> <backspace> <backspace> <backspace>
<backspace> b u g <backspace> C-g M-x a p r o p o s
<return> b u g <return> C-x o C-s r e p o r t C-s C-s
C-s C-s C-s C-s C-a C-x o C-x 1 M-x r e p o r t <r
eturn>
Recent messages:
Loading cl-macs...done
Loading bytecomp...done
Compiling e:/cvs/emacs/lisp/ls-lisp.el...
Loading byte-opt...done
Compiling e:/cvs/emacs/lisp/ls-lisp.el...done
Wrote e:/cvs/emacs/lisp/ls-lisp.elc
Quit
Loading apropos...done
Mark saved where search started
Loading emacsbug...done
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- cvs: ls-lisp-format-time,
Peter Lee <=