[Mew-Win32 00707] Re: fiber 1.1.1.
Kyotaro HORIGUCHI
kyota at example.com
1998年 6月 25日 (木) 11:52:59 JST
堀口@早いもの ともうします.
At Thu, 25 Jun 1998 10:29:57 +0900, : Kazumi HARA <hara at example.com> wrote in <19980625102832F.hara at example.com>
> > さぁ、Mew-dist にパッチを投げるのは、早い者勝ちです(^^;
>
> 私はきびしいですねぇ (^^;;
> 自分用の「汚い&とりつくろった」その場しのぎしか出来ませんから ^^;;
というわけで, 私が Meadow1.01改(^^;) & mew-1.93b40 で自分用に汚
く取り繕ったやつを提供します. なにしているかというと,
1. mew-encode.el で call-process を行うときにファイル名の漢字
コードを file-name-coding-system に変換している.
2. mew-decode.el で Content-desposotionヘッダの中のBエンコー
ド文字列のデコードと文字コードの変換を行っている.
3. mew-mime.el で, テンポラリファイルを消さないようにしている.
(Word 起動前に消えてしまうもので^^:.. でも mew終了時には消
えるようです. 新しい fiber とまじめに連携取れば解決は出来
そうですね.)
4. mew-summary.el で, 作成するテンポラリファイルに元ファイル
と同じ拡張子をつける. (おかげでテンポラリファイルが2倍でき
てしまいますが, 気にしなければおっけです.)
これで, Outlook とか Eudora なんかのメイラで添付された
Word/Excel ファイルも C-c C-e で起動します. もちろん
\HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Fiber\ExecuteUnknownExtは1にす
る必要があります.
> # 他に困っている人がきれいにしてくれるかしら??
これは他の人にお任せします^^:
--
ほりぐちきょうたろう.
-------------- next part --------------
*** mew-encode.el.orig Tue Jun 23 11:07:55 1998
--- mew-encode.el Wed Jun 24 20:47:55 1998
***************
*** 257,263 ****
;; Encoded file is always in us-ascii domain. So just insert it.
(mew-piolet mew-cs-autoconv mew-cs-noconv
(apply (function call-process) mew-prog-mime-encode
! file t nil encopts)
)
(if file ;; not buffered
;; Probably 7bit text based object like phantom body of
--- 257,266 ----
;; Encoded file is always in us-ascii domain. So just insert it.
(mew-piolet mew-cs-autoconv mew-cs-noconv
(apply (function call-process) mew-prog-mime-encode
! (if (not (eq nil file-name-coding-system))
! (encode-coding-string file file-name-coding-system)
! file)
! t nil encopts)
)
(if file ;; not buffered
;; Probably 7bit text based object like phantom body of
*** mew-decode.el.orig Mon Jun 08 20:46:31 1998
--- mew-decode.el Wed Jun 24 20:47:55 1998
***************
*** 129,135 ****
()
(setq n (nth 0 attr))
(setq act (nth 2 attr))
! (setq value (buffer-substring med (1- (point))))
(cond
((equal act 'analyze)
(setq value (mew-header-syntax-list value))) ;; list
--- 129,157 ----
()
(setq n (nth 0 attr))
(setq act (nth 2 attr))
!
! ;; To deal 'Content-desposition' header containing kanji-string correctly(?),
! ;; decode header lines previously analyzing. It may cause some trouble.
! (setq value
! (decode-coding-string (buffer-substring med (1- (point)))
! mew-cs-autoconv))
! ;; ###############################################3
! ;; some mailer encodes kanji-filename by B-encoding.
! ;; this change may cause trouble :-p
! (if (not (eq value nil))
! (let ((start 0) (tail))
! (while (setq start
! (string-match mew-header-decode-regex
! value start))
! (setq tail (+ 2 (match-end 3))
! value
! (concat (substring value 0 start )
! (mew-header-decode (match-string 1 value)
! (match-string 2 value)
! (match-string 3 value))
! (substring value tail))))))
! ;; ###############################################3
!
(cond
((equal act 'analyze)
(setq value (mew-header-syntax-list value))) ;; list
*** mew-mime.el.orig Tue Jun 23 11:07:59 1998
--- mew-mime.el Wed Jun 24 20:47:55 1998
***************
*** 68,74 ****
(defun mew-mime-start-process-sentinel (process event)
(let ((al (assoc process mew-process-file-alist)))
! (if (cdr al) (delete-file (cdr al)))
(setq mew-process-file-alist (delete al mew-process-file-alist))
))
--- 68,74 ----
(defun mew-mime-start-process-sentinel (process event)
(let ((al (assoc process mew-process-file-alist)))
! ;; (if (cdr al) (delete-file (cdr al)))
(setq mew-process-file-alist (delete al mew-process-file-alist))
))
*** mew-summary.el.orig Tue Jun 23 11:08:05 1998
--- mew-summary.el Wed Jun 24 20:47:55 1998
***************
*** 850,855 ****
--- 850,864 ----
(if (not (mew-which program exec-path))
(message "Program %s is not found" program)
(setq file (mew-make-temp-name))
+ (if (and (or (not (null fname)) (not (null cd)))
+ (string-match "..*\\(\\.[^.][^.]*$\\)$"
+ (if (null cd) fname cd)))
+ (progn
+ (if (not (file-exists-p file))
+ (write-region 1 1 file))
+ (setq file (concat file
+ (match-string 1 (if (null cd)
+ fname cd))))))
(set-buffer (mew-current-get 'cache))
;; NEVER use call-process-region for privacy reasons
(if (mew-member-case-equal ct mew-mime-content-type-text-list)
Mew-win32 メーリングリストの案内