Error in nnmail-group-pathname with TRAMP

TSUCHIYA Masatoshi <[email protected]> Fri, 15 Oct 2010 21:34:44 +0900
Newsgroups gmane.emacs.gnus.semi.japanese
Message-ID <[email protected]>
お久しぶりです,土屋です.

GNU Emacs 23.1 + No Gnus v0.11 という環境で,gnus-namazu を使おうとする
と,末尾に添付したようなエラーに遭遇しました.

本質的には (nnmail-group-pathname "nndraft:drafts" "/") というような呼び
方をすると,(file-directory-p "/nndraft:drafts") という呼び出しが発生し
て,TRAMP のファイル名ハンドラをキックしてしまうがエラーで失敗する,とい
う現象と思われます.

まず,最新の Gnus のソースコードを何処からダウンロードできるかから調査を
始めないといけない浦島太郎状態なのですが,最近の Gnus の状況を簡単に教え
て頂けないでしょうか? また,このエラーは TRAMP と Gnus の組合わせで簡単に
発生しそうな気がするのですが,最新のコードだと直っている現象なのでしょう
か?

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )

Debugger entered--Lisp error: (file-error "Process died")
  signal(file-error ("Process died"))
  tramp-error(["sshx" nil "nndraft" "drafts"] file-error "Process died")
  (中略)
  tramp-completion-run-real-handler(expand-file-name ("/nndraft:drafts" "/home/tsuchiya/"))
  tramp-completion-file-name-handler(expand-file-name "/nndraft:drafts" "/home/tsuchiya/")
  file-directory-p("/nndraft:drafts")
  (or nnmail-use-long-file-names (file-directory-p (concat dir group)))
  (if (or nnmail-use-long-file-names (file-directory-p ...)) (expand-file-name group dir) (expand-file-name (nnheader-replace-chars-in-string group 46 47) dir))
  (file-name-as-directory (if (or nnmail-use-long-file-names ...) (expand-file-name group dir) (expand-file-name ... dir)))
  (let ((dir ...)) (setq group (nnheader-replace-duplicate-chars-in-string ... 46 95)) (setq group (nnheader-translate-file-chars group)) (file-name-as-directory (if ... ... ...)))
  (concat (let (...) (setq group ...) (setq group ...) (file-name-as-directory ...)) (or file ""))
  nnmail-group-pathname("nndraft:drafts" "/")
  (setq dir (nnmail-group-pathname dir "/"))
  (progn (setq dir (nnmail-group-pathname dir "/")) (push (cons ... group) alist))
  (if (setq dir (or ... ...)) (progn (setq dir ...) (push ... alist)))
  (when (setq dir (or ... ...)) (setq dir (nnmail-group-pathname dir "/")) (push (cons ... group) alist))
  (while --cl-dolist-temp-- (setq pair (car --cl-dolist-temp--)) (when (setq dir ...) (setq dir ...) (push ... alist)) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--)))
  (let ((--cl-dolist-temp-- gnus-namazu-remote-groups) pair) (while --cl-dolist-temp-- (setq pair ...) (when ... ... ...) (setq --cl-dolist-temp-- ...)) nil)
  (catch (quote --cl-block-nil--) (let (... pair) (while --cl-dolist-temp-- ... ... ...) nil))
  (cl-block-wrapper (catch (quote --cl-block-nil--) (let ... ... nil)))
  (block nil (let (... pair) (while --cl-dolist-temp-- ... ... ...) nil))
  (dolist (pair gnus-namazu-remote-groups) (when (setq dir ...) (setq dir ...) (push ... alist)))
  (if (gnus-ephemeral-group-p (setq group ...)) nil (when (file-directory-p ...) (push ... cache)) (when (file-directory-p ...) (push ... agent)) (when (memq ... ...) (when ... ...)) (dolist (pair gnus-namazu-remote-groups) (when ... ... ...)))
  (unless (gnus-ephemeral-group-p (setq group ...)) (when (file-directory-p ...) (push ... cache)) (when (file-directory-p ...) (push ... agent)) (when (memq ... ...) (when ... ...)) (dolist (pair gnus-namazu-remote-groups) (when ... ... ...)))
  (lambda (group) (unless (gnus-ephemeral-group-p ...) (when ... ...) (when ... ...) (when ... ...) (dolist ... ...)))(nndraft:drafts)
  mapatoms((lambda (group) (unless (gnus-ephemeral-group-p ...) (when ... ...) (when ... ...) (when ... ...) (dolist ... ...))) [0 0 comp\.emacs\.lookup 0 admin\.moderator 0 0 0 0 0 0 0 0 spam mail\.work\.keihanna comp\.misc\.ndtpd 0 comp\.emacs\.tamago mail\.private 0 0 0 comp\.emacs\.emcws 0 0 0 0 0 0 comp\.emacs\.mime-ja 0 0 0 0 0 admin\.namazu rec\.motoko 0 0 0 0 0 0 0 0 0 0 0 0 0 ...])
  (let ((table ...) cache agent alist dir method) (mapatoms (lambda ... ...) gnus-newsrc-hashtb) (dolist (pair ...) (set ... ...)) (setq gnus-namazu/directory-table (cons gnus-namazu-case-sensitive-filesystem table)))
  (if (and (not force) gnus-namazu/directory-table (eq gnus-namazu-case-sensitive-filesystem ...)) nil (let (... cache agent alist dir method) (mapatoms ... gnus-newsrc-hashtb) (dolist ... ...) (setq gnus-namazu/directory-table ...)))
  (unless (and (not force) gnus-namazu/directory-table (eq gnus-namazu-case-sensitive-filesystem ...)) (let (... cache agent alist dir method) (mapatoms ... gnus-newsrc-hashtb) (dolist ... ...) (setq gnus-namazu/directory-table ...)))
  gnus-namazu/make-directory-table()
  gnus-namazu/search(nil "\x78ba\x7d04")
  gnus-namazu-search(nil "\x78ba\x7d04")
  call-interactively(gnus-namazu-search nil nil)