[mew-dist 22139] Re: sorting folders by date
Kazu Yamamoto ( 山本和彦 )
kazu at example.com
2002年 10月 30日 (水) 18:14:36 JST
From: NINOMIYA Hideyuki <nin at example.com>
Subject: [mew-dist 22117] Re: sorting folders by date
> こんな感じでどうでしょうか
> おかしな値であっても厳密な sort key 生成はあきらめるけど
> add-hoc な key を作る
こんなのでどうでしょう?
1970 にぶつかる確率は低いので、valid ととして処理しています。
--かず
Index: mew-func.el
===================================================================
RCS file: /cvsroot/mew/mew/mew-func.el,v
retrieving revision 1.100
diff -c -r1.100 mew-func.el
*** mew-func.el 2002/10/29 02:12:14 1.100
--- mew-func.el 2002/10/30 09:14:15
***************
*** 1308,1313 ****
--- 1308,1316 ----
(let ((system-time-locale "C"))
(format-time-string "%Y%m%d%H%M%S" time)))
+ (defsubst mew-time-ctz-to-sortkey-invalid (sec min hour day mon year)
+ (format "%04d%02d%02d%02d%02d%02d" year mon day hour min sec))
+
;; "20000726121835"
(defsubst mew-time-rfc-to-sortkey (s)
(if (string-match mew-time-rfc-regex s)
***************
*** 1322,1332 ****
((< year 50)
(setq year (+ year 2000)))
((< year 100)
! (setq year (+ year 1900)))
! ((or (< year 1970) (>= year 2038)) ;; error data
! (setq year 2037)))
! (setq sec (- sec tmzn))
! (mew-time-ctz-to-sortkey (encode-time sec min hour day mon year)))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
--- 1325,1336 ----
((< year 50)
(setq year (+ year 2000)))
((< year 100)
! (setq year (+ year 1900))))
! (if (or (< year 1970) (>= year 2038))
! ;; invalid data
! (mew-time-ctz-to-sortkey-invalid sec min hour day mon year)
! (setq sec (- sec tmzn))
! (mew-time-ctz-to-sortkey (encode-time sec min hour day mon year))))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
Mew-dist メーリングリストの案内