在emacs中使用mew接收mime的邮件,打开附件时,
mew-win32.el会指定打开程序默认程序fiber.exe
网上没有找到这个程序。
mew-win32.el
(defvar mew-w32-exec "fiber.exe")
改为
(defvar mew-w32-exec "explorer.exe")
然后把mew-mine.el:
函数mew-summary-execute-program
修改
(require 'dired) ;;增加引用文件
;;; external
(defun mew-summary-execute-program (program ct ctl cache begin end params fname options async)
(if (not (mew-which-exec program))
(message "%s does not exist" program)
(let ((file (mew-make-temp-name fname))
wcs)
(save-excursion
(set-buffer cache)
;; NEVER use call-process-region for privacy reasons
(cond
((not (mew-ct-linebasep ct))
(setq wcs mew-cs-binary))
((not (mew-ct-textp ct))
(setq wcs mew-cs-text-for-write))
(t
(cond
((or (string= mew-ct-htm ct) (string= mew-ct-xml ct))
(setq wcs (mew-text/html-detect-cs begin end))
(unless (mew-coding-system-p wcs)
(setq wcs (mew-charset-to-cs
(mew-syntax-get-param ctl "charset")))))
(t
(setq wcs (mew-charset-to-cs
(mew-syntax-get-param ctl "charset")))))
(unless (mew-coding-system-p wcs)
(setq wcs (if mew-decode-broken
(mew-charset-to-cs
(mew-charset-guess-region
begin end))
mew-cs-text-for-write)))))
(mew-frwlet mew-cs-dummy wcs
(write-region begin end file nil 'no-msg))
(if async
(mew-mime-start-process program options (dired-replace-in-string "/" "//" file) );yxf
(mew-mime-call-process program options (dired-replace-in-string "/" "//" file) ))))));把路径中/改为"/",以便explorer识别。