emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#41201: closed (26.1; tar-mode-show-date prints middle-endian dates d


From: GNU bug Tracking System
Subject: bug#41201: closed (26.1; tar-mode-show-date prints middle-endian dates despite TIME_STYLE=long-iso)
Date: Tue, 01 Sep 2020 14:51:02 +0000

Your message dated Tue, 1 Sep 2020 07:50:31 -0700
with message-id 
<CADwFkmnYn8dZZ6asSOU3oi41BQJAEObSXsL+HfJtcnmMPmWVyw@mail.gmail.com>
and subject line Re: bug#41201: 26.1; tar-mode-show-date prints middle-endian 
dates despite TIME_STYLE=long-iso
has caused the debbugs.gnu.org bug report #41201,
regarding 26.1; tar-mode-show-date prints middle-endian dates despite 
TIME_STYLE=long-iso
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
41201: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=41201
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: 26.1; tar-mode-show-date prints middle-endian dates despite TIME_STYLE=long-iso Date: Tue, 12 May 2020 14:40:02 +1000
This is a minor issue.

Middle-endian ("US style") dates confuse me.
I set TIME_STYLE=long-iso so I won't have to deal with them.
This works for GNU ls and GNU tar:

    bash5$ touch x; ls -l x; tar cf x.tar x; tar tvf x.tar
    -rw-r--r-- 1 twb twb 0 2020-05-12 14:32 x
    -rw-r--r-- twb/twb           0 2020-05-12 14:32 x

This doesn't work for tar-mode, because
it processes tarballs using native elisp:

    bash5$ emacs -Q -eval '(setq-default tar-mode-show-date t)' x.tar
     -rw-r--r--     twb/twb           0 May 12 14:33 2020 x

The responsible code appears to be tar-clip-time-string which appears to
munge the output of CURRENT-TIME-STRING:

    (defun tar-clip-time-string (time)
      (let ((str (current-time-string time)))
        (concat " " (substring str 4 16) (format-time-string " %Y" time))))

Where CURRENT-TIME-STRING appears to be hard-coded to a format.
That format matches neither
GNU "date --rfc-email" (little-endian) nor
GNU "date --rfc-3339=seconds" (big-endian).

Surely emacs already supports locale-appropriate timestamps somewhere?
Please hook up tar-mode to use that code.

PS: see also "locale -k date_fmt", which these days seems to be the same
for me (en_AU.UTF-8) and the default (C.UTF-8), hence why I use TIME_STYLE.



--- End Message ---
--- Begin Message --- Subject: Re: bug#41201: 26.1; tar-mode-show-date prints middle-endian dates despite TIME_STYLE=long-iso Date: Tue, 1 Sep 2020 07:50:31 -0700 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
Eli Zaretskii <eliz@gnu.org> writes:

>> From: trentbuck@gmail.com (Trent W. Buck)
>> Date: Tue, 12 May 2020 14:40:02 +1000
>>
>> Middle-endian ("US style") dates confuse me.
>> I set TIME_STYLE=long-iso so I won't have to deal with them.
>> This works for GNU ls and GNU tar:
>>
>>     bash5$ touch x; ls -l x; tar cf x.tar x; tar tvf x.tar
>>     -rw-r--r-- 1 twb twb 0 2020-05-12 14:32 x
>>     -rw-r--r-- twb/twb           0 2020-05-12 14:32 x
>>
>> This doesn't work for tar-mode, because
>> it processes tarballs using native elisp:
>>
>>     bash5$ emacs -Q -eval '(setq-default tar-mode-show-date t)' x.tar
>>      -rw-r--r--     twb/twb           0 May 12 14:33 2020 x
>
> This is already fixed in what will become Emacs 27.1: there we display
> the date in the yy-mm-dd format.  You can find the latest pretest of
> Emacs 27.1 on alpha.gnu.org.

Since this is already fixed, I'm closing this bug report now.

Please reopen the bug or open a new one if you can still reproduce this
on Emacs 27.1 or later.


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]