[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 メーリングリストの案内