[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mhc:02146] patch (mhc-guess.el)
野口です。
下記の様なメール(機械的に出力されたものらしい)で、日付情報のguessに対
応できなかったので添付の変更を加えました。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
1.実施要綱
期間:20050701〜20050801
:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
他の関数のつくり上との整合性を考慮するなら、本来は
mhc-guess/make-date-from-yyyymmdd2() という関数を新規に用意し、「来年」
や「今年」などの記述にも対応できるようにすべきかとは思います。
が、今回は「目先のものが guess できて満足」のことまでしかしていません。
以上、ご検討いただければ幸いです。
--
NOGUCHI Yusuke <nogunogu@xxxxxxxxxxxxxxxx>
*** mhc-guess.el.3 Wed Jun 22 14:21:39 2005
--- mhc-guess.el Wed Jul 13 17:58:49 2005
***************
*** 86,91 ****
--- 86,100 ----
"\\([0-90-9][0-90-9]\\)")
mhc-guess/make-date-from-yyyymmdd 1 2 3)
+ (,(concat "\\([0-90-9][0-90-9][0-90-9][0-90-9]\\)([-−//])?"
+ "\\([0-90-9][0-90-9]\\)([-−//])?"
+ "\\([0-90-9][0-90-9]\\)"
+ "\\([〜−,,、-]\\|から\\|より\\)[\n ]*"
+ "\\([0-90-9][0-90-9][0-90-9][0-90-9]\\)([-−//])?"
+ "\\([0-90-9][0-90-9]\\)([-−//])?"
+ "\\([0-90-9][0-90-9]\\)")
+ mhc-guess/make-date-from-yyyymmdd 1 3 5 7 9 11)
+
(,(concat "\\([来今本0-90-9]+年\\)?"
"\\([来今0-90-9]+\\)[\n ]*月[\n ]*の?[\n ]*"
"\\([0-90-9]+\\)日?"
***************
*** 366,379 ****
;;
! (defun mhc-guess/make-date-from-yyyymmdd (now yy-str mm-str dd-str)
! (let (date)
! (if (setq date (mhc-date-new
! (mhc-guess/string-to-int yy-str)
! (mhc-guess/string-to-int mm-str)
! (mhc-guess/string-to-int dd-str)
! t)) ; noerror is t.
! (cons date nil))))
(defun mhc-guess/make-date-from-mmdd
(now mm-str dd-str &optional mm-str2 dd-str2 relative)
--- 375,410 ----
;;
! ;; (defun mhc-guess/make-date-from-yyyymmdd (now yy-str mm-str dd-str)
! ;; (let (date)
! ;; (if (setq date (mhc-date-new
! ;; (mhc-guess/string-to-int yy-str)
! ;; (mhc-guess/string-to-int mm-str)
! ;; (mhc-guess/string-to-int dd-str)
! ;; t)) ; noerror is t.
! ;; (cons date nil))))
!
! (defun mhc-guess/make-date-from-yyyymmdd
! (now yy-str mm-str dd-str &optional yy-str2 mm-str2 dd-str2 relative)
! (let* ((start nil) (end nil))
! (setq start (mhc-date-new
! (mhc-guess/string-to-int yy-str)
! (mhc-guess/string-to-int mm-str)
! (mhc-guess/string-to-int dd-str)))
! (if (and start (and yy-str2 mm-str2 dd-str2))
! (setq end (mhc-date-new
! (mhc-guess/string-to-int yy-str2)
! (mhc-guess/string-to-int mm-str2)
! (mhc-guess/string-to-int dd-str2))))
! (cond
! ((null start)
! nil)
! ((null end)
! (cons start nil))
! (relative
! (cons start (mhc-date+ start end)))
! (t
! (cons start end)))))
(defun mhc-guess/make-date-from-mmdd
(now mm-str dd-str &optional mm-str2 dd-str2 relative)