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

[mhc:02155] mhc-minibuf.el patch



野口です。

mhc-ask-alarm = t を設定しておく、mhc-import() 中で "X-SC-Alarm: " の
エントリ値を問合せてくれますが、この際に「不正形式チェック」をするよう
に修正してみました。

(理由) 
   mhc -- (mhc2ol) --> Outlook 
で、mhc の登録スケジュールを Outlook へ Export しています。
"X-SC-Alarm: "を設定してしておくと、Outlook 側にも反映され、Alarm
Window が Popup してくれるので重宝しています。

が、とある(Alarm を登録していたはずの)スケジュールで Outlook の Alarm
通知が出ませんでした。確認してみると、そのスケジュールで
  X-SC-Alarm: 10 minite
と typo していました。

入力エラーを防ぐための処置は必要ではないでしょうか。
以上、ご検討いただければ幸いです
-- 
NOGUCHI Yusuke <nogunogu@xxxxxxxxxxxxxxxxx>
*** mhc-minibuf.el.org3	Fri Apr 15 20:34:24 2005
--- mhc-minibuf.el	Fri Sep 16 17:54:03 2005
***************
*** 521,533 ****
  	  nil
  	(mhc-misc-split in)))))
  
  (defvar mhc-alarm-hist nil)
  
  (defun mhc-input-alarm (&optional prompt default)
    (interactive)
!   (read-from-minibuffer  (or prompt "Alarm: ")
! 			 (or default mhc-default-alarm)
! 			 nil nil 'mhc-alarm-hist))
  
  (provide 'mhc-minibuf)
  
--- 521,549 ----
  	  nil
  	(mhc-misc-split in)))))
  
+ (defconst mhc-input-alarm-regex "^\\([0-9]+\\)[ ]\\(minute\\|hour\\|day\\)$")
+ 
  (defvar mhc-alarm-hist nil)
  
  (defun mhc-input-alarm (&optional prompt default)
    (interactive)
!   (let ((err t) str prom)
!     (while err
!       (setq prom (concat (or prompt "Alarm") " [# (minute|hour|day)]: "))
!       (setq str (mhc-minibuf-read prom
! 				  (or default mhc-default-alarm)
! 				  (current-buffer)
! 				  nil
! 				  0
! 				  nil
! 				  nil))
!       (if (string-match mhc-input-alarm-regex str)
! 	  (setq err nil)
! 	(beep)
! 	(message "illegal format")
! 	(sleep-for 1)))
!     str))
! 		 
  
  (provide 'mhc-minibuf)