[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:12028] A bug in The GNU Emacs
ついでにもうひとつ。
Emacsのdiaryは案外知られていないようですが、実はものすごく便
利です。普通のスケジュールはもちろん、毎月第3水曜日の予定
&%%(diary-float t 3 3) 15:00 教室会議
とか、
&%%(diary-anniversary 11 23 1996) %d回目の結婚記念日
で、何回目の記念日なのかを教えてくれたり(間違えるとヒドい目
にあう:-)、はては任意のS式が使えてしまいます。Emacsで暮らし
ている人は、ぜひマニュアルとソースを精読して使ってみてくださ
い。
さて、ここからが本題なのですが、この便利なdiary-float関数に
バグがあります。1月の第1?曜日や、12月の最終?曜日を見逃してし
まうという、境界条件上のバグです。これも
bug-gnu-emacs@xxxxxxxにパッチとともに報告ずみで、
> To: kawamura@xxxxxxxxxxxxxxxxxxx (Takao KAWAMURA)
> Subject: Re: (diary-float): boundary condition problem
> Date: Tue, 05 Jan 1999 11:32:35 -0600
> From: Ed Reingold <reingold@xxxxxxxxxxx>
>
> Yes, that's a bug that has been reported before and is fixed for the next
> release. Your modifications are indeed correct. Thanks!
という返事を頂きました。本家Debianのbug tracking systemに、
emacs20でも直してくれというリクエストを出しましたが、いまの
ところ反応はありません。
送ったパッチは以下の通りです。この機能を使う人はあてた方がい
いでしょう。
*** diary-lib.el.orig Sat Jan 2 21:36:39 1999
--- diary-lib.el Sat Jan 2 21:39:01 1999
***************
*** 1285,1291 ****
(calendar-last-day-of-month m1 y1)))))
(and (<= d1 d) (<= d d2))))
;; only possible base dates straddle two months
! (and (< m1 m2)
(or
;; m1, d1 works is a base date
(and
--- 1285,1292 ----
(calendar-last-day-of-month m1 y1)))))
(and (<= d1 d) (<= d d2))))
;; only possible base dates straddle two months
! (and (or (< y1 y2)
! (and (= y1 y2) (< m1 m2)))
(or
;; m1, d1 works is a base date
(and
--
川村 尚生