[Mew-dist 05894] Cannot update .foler file.
Kyotaro HORIGUCHI
kyota at example.com
1998年 8月 12日 (水) 16:58:23 JST
堀口と申します. どのバージョンからかははっきりわかりませんが,
C-u Z での .folder の更新ができなくなっています.
原因は関数の呼び出しの階層が一つ深くなってinteractive-p が使え
なくなっているにもかかわらず, interactive-p で folder の強制更
新の判断をしているためのようです.
たとえば b42 では C-u Z で
mew-status-update(arg)
->mew-folder-make-list((interactive-p)) ;; (interactive-p) is t
のように呼び出されて, すでにある ,folder を無視して作り直します
が, b53 では
mew-status-update(arg)
->mew-folder-setup()
->mew-folder-make-list ((interactive-p)) ;; (interactive-p) is nil
というわけで .folder を更新しようとしてもしてくれません.
mew-folder-setup の中では mew-status-update がインタラクティブ
に使われたかどうかはわからないので, インタラクティブに使われた
ときに使われると思われる部分を mew-folder-force-update-list と
いう関数にしてみました.
他には interactive-p が使えないところで使われているという場所
はないようです.
--
ほりぐちきょうたろう.
-------------- next part --------------
*** mew.el.orig Wed Aug 12 16:42:47 1998
--- mew.el Wed Aug 12 16:49:43 1998
***************
*** 117,123 ****
\"~/Mail/.folders\"."
(interactive "P")
(message "Updating status ... ")
! (if arg (mew-folder-setup))
(mew-alias-setup)
(mew-petname-setup)
(mew-pgp-set-version)
--- 117,126 ----
\"~/Mail/.folders\"."
(interactive "P")
(message "Updating status ... ")
! (if arg
! (if (interactive-p)
! (mew-folder-force-update-list)
! (mew-folder-setup)))
(mew-alias-setup)
(mew-petname-setup)
(mew-pgp-set-version)
***************
*** 281,288 ****
(function mew-string<)))
(setq mew-folder-alist (mew-folder-make-alist mew-folder-list))))
(t
! (setq mew-folder-list (mew-folder-make-list (interactive-p)))
(setq mew-folder-alist (mew-folder-make-alist mew-folder-list)))))
(defun mew-folder-delete (folder)
(setq mew-folder-list (delete folder mew-folder-list))
--- 284,295 ----
(function mew-string<)))
(setq mew-folder-alist (mew-folder-make-alist mew-folder-list))))
(t
! (setq mew-folder-list (mew-folder-make-list nil))
(setq mew-folder-alist (mew-folder-make-alist mew-folder-list)))))
+
+ (defun mew-folder-force-update-list ()
+ (setq mew-folder-list (mew-folder-make-list t))
+ (setq mew-folder-alist (mew-folder-make-alist mew-folder-list)))
(defun mew-folder-delete (folder)
(setq mew-folder-list (delete folder mew-folder-list))
Mew-dist メーリングリストの案内