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

[mhc:00577] mhc-calendar.el



白井です。

GW の工作の時間に『横型 3ヵ月 calendar』を作ってみました。もともと、

●『来週の金曜日』とかいう感じで日付が書いてあるものだと、
 mhc-input-day() で日付を指定するときに、なにかしらの calendar
 を見て、"2000/05/12" と書かなければならないのがめんどくさかった。
 (片手で計算出来る範囲じゃないと暗算できないので ^^;)

● X-SC-Day: や X-SC-Duration: に "20000512" や
 "20000512-20000526" を書くけど、良く失敗していた。^^;;;
  
というときの日付入力支援ツールを作ったのですが、それを発展させた
ものです。


使い方は(寄生虫モードで作りました)、

0. [mhc:00576] ddate-dec bug. の patch をあてる。

1. ~/.emacs に (eval-after-load "mhc" '(require 'mhc-calendar))

2. M-x mhc-calendar で "3ヵ月 calendar" が出る。key-bind は '?'
 して見て下さい。これだけなら、普通(?)の "3ヵ月 calendar"。

3. mhc-import で mhc-input-day() で聞かれているときに、'C-?' す
 ると "3ヵ月 calendar" がでる。もし、途中まで日付が入力してあっ
 たら、それを消して、その日付の場所に飛ぶ。

4. SPC や RET で現在の point の日付を mini-buffer に insert する。

5. mhc-draft で X-SC-Day: や -Duration: の後ろで 'C-?' すると、
 3. と一緒。(別に 'C-?' する場所はどこでもいいんですけど)

6. 4. と同様に mhc-draft に insert する。このとき、region を設定
 してあって、C-u 付きで SPC, RET だと Duration を設定する。


問題点は、

1. あいかわらず、力づく。

2. あいかわらず、英語が英語になっていない。(Key-bind の説明がな
 んだかわからないぞ)

3. SPC や RET したとき、呼び出した buffer に日付を insert するけ
 ど、元の buffer の取得方法でもっと素敵な方法はないのか?
 
4. mini-buffer から 'C-?' したときの insert 処理はこれでいいのか?
 Emacs で mini-buffer の表示をすぐ更新するにはどうするのか?
 (info には 数秒 or 入力があったとき とあったけど...)

5. やっぱり、calendar を作り直すのが遅い。
 mhc-cal-make-rectangle() の結果を cache するだけでもいいのでは
 ないかと思う。time-stamp の判定で cache を捨てる、cache は 12ヵ
 月分ぐらい保存しておくとか。
 
といったところです。

P.S.
 mhc-sync のおかげで、連休中に NotePC に打ち込んだ schedule が母
 艦に簡単に sync できました。乃村さん/土屋さんに感謝、感謝。

-- 
白井秀行 (mailto:shirai@xxxxxxxxxxxxxxxxxxx)
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