[Mew-dist 490] Re: archives

SAKAI Kiyotaka ksakai at example.com
1997年 2月 18日 (火) 12:14:59 JST


>> In article <742.855993717 at example.com>, Kazu Yamamoto 山本和彦  <kazu at example.com> writes:

> 私は現在 Mew の管理ができる状況にありません。4月には時間が作れると思い
> ますので、そのころ合宿体制で Mew を次のステップに進めようと思っていま
> す。

ということですので、mew-1.54 が出てから今までに出たパッチを取りまとめ
てみました。

変更点は次の通りです。なお、パッチは mew-1.54 オリジナルからの差分になっ
ています。
-- 
酒井 清隆 (E-mail: ksakai at example.com)

-------------- next part --------------
・Makefile の修正。
  ([Mew-dist 167] SAITO Tetsuya / 齊藤哲哉  <tetuya-s at example.com>)

・mew-analysis を nil にした状態で mew-summary-forward を実行するとエ
  ラーが発生する問題の修正。
  ([Mew-dist 190] YAMAMOTO Toru <jamamoto at example.com>)
  ([Mew-dist 227] YAMAMOTO Toru <jamamoto at example.com>)

・mail の body がまったくないメールの表示に失敗する問題の対応。
  ([Mew-dist 205] Maybe TABOO <y-koga at example.com>)

・mew-folder-map で M-p, M-n が使えるように修正。
  ([Mew-dist ???] ksakai at example.com)

・拡張子が .tgz のファイルも デフォルトで base64 の encoding をするよ
  うに変更。
  ([Mew-dist 299,300,301,302] 参照)

・draft 編集中にヘッダ部を誤って delete-region して、すぐに yank した
  場合、送信するときに CT: と CTE: がとんでもないところについてしまう
  問題の修正。
  ([Mew-dist 304] Maybe TABOO <y-koga at example.com>)

・call-process で ln, cp, rm を呼び出しているところは、Emacs の内部関
  数 make-symbolic-link, copy-file, delete-file を使うように修正
  ([Mew-dist 311] ksakai at example.com)

・scan の処理を正しく処理できないことがある問題を修正
  非同期処理の直前に (let ((process-connection-type nil)) を入れること
  で対応。
  (fj.editor.mule <HIS.96Aug15145638 at example.com> を
   [Mew-dist 305] で SAKAI Kiyotaka <ksakai at example.com> が
   mew-1.54 用に修正)

・"^L" でページを改行した後に、mew-message-hook が実行されない問題の修
  正。この問題によって、改ページ後にハイライトされない等の問題が発生す
  る。

  ([Mew-dist 439],[Mew-dist 440] "A. SAGATA" <sagata at example.com>)
  ([Mew-dist 465] OKUNISHI Fujikazu <fuji0924 at example.com>)

・"From: foo at example.com", "To: myfoo at example.com" のような、To が From の
  substring になっているメールに reply すると、Cc から To に記述されて
  いた問題の修正。
  ([Mew-dist 460] Murata Shuuichirou <mrt at example.com>)
  ([Mew-dist 463] "Mikayama Shigemi" <mikayama at example.com>)

・From 中の括弧の中に
    hoge at example.com ("hogehoge poipoi")
  のように '"' が含まれていると、返信アドレスを正しく parse できない問
  題の修正
  ([Mew-dist 461] Murata Shuuichirou <mrt at example.com>)

・ange-ftp が動作したときに、非同期に ftp を実行するための修正。
  ([Mew-dist 468] Yoshinari NOMURA <nom at example.com>)
-------------- next part --------------
diff -Ncr mew-1.54.orig/00faq mew-1.54/00faq
*** mew-1.54.orig/00faq	Tue Nov 26 01:34:34 1996
--- mew-1.54/00faq	Wed Dec 18 19:04:00 1996
***************
*** 41,56 ****
  PGP 2.6ui is available as follows;
  
      ftp://ftp.demon.co.uk/pub/pgp/pgp26ui-src.tar.gz
!     ftp://ftp.aist-nara.ac.jp/pub/Security/tool/pgp/pgp26ui-src.tar.gz
  
  PGP 2.6.i is available as follows;
  
      ftp://ftp.dsi.unimi.it/pub/security/crypt/PGP/pgp26is.tar.gz
!     ftp://ftp.aist-nara.ac.jp/pub/Security/tool/pgp/pgp26is.tar.gz
  
! PGP 2.6.2i is available as follows; 
  
!     ftp://ftp.aist-nara.ac.jp/pub/Security/tool/pgp/pgp262is.tar.gz
  
  Mew uses 'Content-Type: application/pgp' for its tag to integrate PGP
  and MIME. For more information, see 00pgp-mime.
--- 41,56 ----
  PGP 2.6ui is available as follows;
  
      ftp://ftp.demon.co.uk/pub/pgp/pgp26ui-src.tar.gz
!     ftp://ftp.aist-nara.ac.jp/pub/Security/tool/pgp/unix/pgp26ui-src.tar.gz
  
  PGP 2.6.i is available as follows;
  
      ftp://ftp.dsi.unimi.it/pub/security/crypt/PGP/pgp26is.tar.gz
!     ftp://ftp.aist-nara.ac.jp/pub/Security/tool/pgp/unix/pgp26is.tar.gz
  
! PGP 2.6.3i is available as follows; 
  
!     ftp://ftp.aist-nara.ac.jp/pub/Security/tool/pgp/unix/pgp263is.tar.gz
  
  Mew uses 'Content-Type: application/pgp' for its tag to integrate PGP
  and MIME. For more information, see 00pgp-mime.
diff -Ncr mew-1.54.orig/Makefile mew-1.54/Makefile
*** mew-1.54.orig/Makefile	Tue Nov 26 01:34:44 1996
--- mew-1.54/Makefile	Tue Feb 18 12:08:32 1997
***************
*** 16,22 ****
  CC = gcc
  CFLAGS = -O
  BINDIR = /usr/local/bin
- MAKEFLAGS = CFLAGS="$(CFLAGS)" CC=$(CC)
  
  ##
  ## for byte-compile
--- 16,21 ----
***************
*** 46,52 ****
  	$(EMACS) -batch -l ./$(LDPATH) -l ./mew.el -f batch-byte-compile $<
  
  all: $(TARGETS) $(MEW)
! 	cd $(BIN); $(MAKE) $(MAKEFLAGS)
  
  $(TARGETS): $(LDPATH) mew.el
  
--- 45,51 ----
  	$(EMACS) -batch -l ./$(LDPATH) -l ./mew.el -f batch-byte-compile $<
  
  all: $(TARGETS) $(MEW)
! 	cd $(BIN); $(MAKE) CFLAGS="$(CFLAGS)" CC="$(CC)"
  
  $(TARGETS): $(LDPATH) mew.el
  
***************
*** 58,64 ****
  
  install: $(TARGETS) $(MEW)
  	cp $(MEW) $(TARGETS) $(ELISPDIR)
! 	cd $(BIN); $(MAKE) $(MAKEFLAGS)
  
  clean:
  	$(RM) $(MEW) $(TARGETS) $(LDPATH)
--- 57,63 ----
  
  install: $(TARGETS) $(MEW)
  	cp $(MEW) $(TARGETS) $(ELISPDIR)
! 	cd $(BIN); $(MAKE) CFLAGS="$(CFLAGS)" CC="$(CC)" BINDIR="$(BINDIR)" install
  
  clean:
  	$(RM) $(MEW) $(TARGETS) $(LDPATH)
diff -Ncr mew-1.54.orig/mew-attach.el mew-1.54/mew-attach.el
*** mew-1.54.orig/mew-attach.el	Tue Nov 26 01:34:15 1996
--- mew-1.54/mew-attach.el	Mon Feb 17 15:10:55 1997
***************
*** 362,376 ****
  	  (if (null (mew-y-or-n-p (message "File %s exists. Overwrite it? "
  					   efile)))
  	      (setq doit nil)
! 	    (call-process "rm" nil nil nil 
! 			  (expand-file-name efile mimedir))))
        (if (null doit)
  	  ()
  	(if mew-os2-p
! 	    (call-process "cp" nil nil nil fromfile 
! 			  (expand-file-name efile mimedir))
! 	  (call-process "ln" nil nil nil "-s" fromfile 
! 			(expand-file-name efile mimedir)))
  	(setq mew-encode-syntax
  	      (mew-syntax-insert-entry
  	       mew-encode-syntax 
--- 362,373 ----
  	  (if (null (mew-y-or-n-p (message "File %s exists. Overwrite it? "
  					   efile)))
  	      (setq doit nil)
! 	    (delete-file (expand-file-name efile mimedir))))
        (if (null doit)
  	  ()
  	(if mew-os2-p
! 	    (copy-file fromfile (expand-file-name efile mimedir))
! 	  (make-symbolic-link fromfile (expand-file-name efile mimedir)))
  	(setq mew-encode-syntax
  	      (mew-syntax-insert-entry
  	       mew-encode-syntax 
diff -Ncr mew-1.54.orig/mew-draft.el mew-1.54/mew-draft.el
*** mew-1.54.orig/mew-draft.el	Tue Nov 26 01:34:25 1996
--- mew-1.54/mew-draft.el	Tue Feb 18 11:10:17 1997
***************
*** 370,376 ****
    (` (or (catch (quote match)
  	   (car (mapcar
  		 (function (lambda (arg)
! 			     (and (string-match arg c)
  				  (throw (quote match) t))))
  		     del)))
  	 (string-match ":;" c))))
--- 370,376 ----
    (` (or (catch (quote match)
  	   (car (mapcar
  		 (function (lambda (arg)
! 			     (and (string= (downcase arg) (downcase c))
  				  (throw (quote match) t))))
  		     del)))
  	 (string-match ":;" c))))
***************
*** 380,387 ****
  ;; cc -- string or list
  ;; nl -- one empty line under "----", which is necessary if
  ;;      multipart region is prepared
!   (let ((del (cons (concat "^" (regexp-quote (user-login-name)) "$")
! 		   (cons (concat "^" mew-mail-address "$")
  			 mew-mail-address-list)))
  	;; deleting list for Cc:
  	(c nil)
--- 380,387 ----
  ;; cc -- string or list
  ;; nl -- one empty line under "----", which is necessary if
  ;;      multipart region is prepared
!   (let ((del (cons (user-login-name)
! 		   (cons mew-mail-address
  			 mew-mail-address-list)))
  	;; deleting list for Cc:
  	(c nil)
***************
*** 535,541 ****
  	 (mimedir (mew-expand-file-name mimefolder))
  	 (msg (file-name-nondirectory (buffer-file-name)))
  	 (fcc nil)
! 	 (delete nil))
      (set-buffer-modified-p t)		; Make sure buffer is written
      (let ((file-coding-system (if mew-mule-p mew-mule-charset-mime-trans)))
        (save-buffer)
--- 535,542 ----
  	 (mimedir (mew-expand-file-name mimefolder))
  	 (msg (file-name-nondirectory (buffer-file-name)))
  	 (fcc nil)
! 	 (delete nil)
! 	 (process-connection-type nil))
      (set-buffer-modified-p t)		; Make sure buffer is written
      (let ((file-coding-system (if mew-mule-p mew-mule-charset-mime-trans)))
        (save-buffer)
diff -Ncr mew-1.54.orig/mew-encode.el mew-1.54/mew-encode.el
*** mew-1.54.orig/mew-encode.el	Tue Nov 26 01:34:24 1996
--- mew-1.54/mew-encode.el	Mon Feb 17 15:23:27 1997
***************
*** 71,79 ****
      ))
  
  (defun mew-draft-make-single ()
!   (goto-char (marker-position mew-draft-buffer-header))
!   ;; the beginning of "----"
!   (let ((beg (point)))
      (forward-line 1)
      ;; cursor is just after "----\n"
      (delete-region beg (point))
--- 71,84 ----
      ))
  
  (defun mew-draft-make-single ()
!   (widen)
!   (goto-char (point-min))
!   (let ((case-fold-search t)
! 	(beg nil))
!     (re-search-forward "^-*$" nil t)
!     (beginning-of-line)
!     (setq beg (point))
!     ;; the beginning of "----"
      (forward-line 1)
      ;; cursor is just after "----\n"
      (delete-region beg (point))
***************
*** 287,293 ****
    ;; delete body
    ;;
    ;; delete delimiter
!   (goto-char (marker-position mew-draft-buffer-header))
    ;; the beginning of "----"
    (let ((beg (point))
  	(syntax mew-encode-syntax) 
--- 292,303 ----
    ;; delete body
    ;;
    ;; delete delimiter
!   (widen)
!   (goto-char (point-min))
!   (let ((case-fold-search t)
! 	(beg nil))
!     (re-search-forward "^-*$" nil t)
!     (beginning-of-line))
    ;; the beginning of "----"
    (let ((beg (point))
  	(syntax mew-encode-syntax) 
diff -Ncr mew-1.54.orig/mew-ext.el mew-1.54/mew-ext.el
*** mew-1.54.orig/mew-ext.el	Tue Nov 26 01:34:24 1996
--- mew-1.54/mew-ext.el	Tue Feb 18 12:10:24 1997
***************
*** 309,318 ****
  		    (format "The local file exists. Overwrite? ")))
  	      (message "The file wasn't retrieved")
  	    (delete-file localfile)
! 	    (copy-file remotefile localfile))
! 	(copy-file remotefile localfile))
        )))
!     
  (defun mew-ext-mail-server (begin end params)
    (let ((server (mew-syntax-get-member params "server"))
  	(subject (mew-syntax-get-member params "subject"))
--- 309,318 ----
  		    (format "The local file exists. Overwrite? ")))
  	      (message "The file wasn't retrieved")
  	    (delete-file localfile)
! 	    (ange-ftp-copy-file-internal remotefile localfile t nil nil nil t))
! 	(ange-ftp-copy-file-internal remotefile localfile t nil nil nil t))
        )))
! 
  (defun mew-ext-mail-server (begin end params)
    (let ((server (mew-syntax-get-member params "server"))
  	(subject (mew-syntax-get-member params "subject"))
***************
*** 356,362 ****
  (defun mew-ext-url (begin end params)
    (let ((url (mew-syntax-get-member params "url"))
  	(size (mew-syntax-get-member params "size"))
! 	(buffer-read-only nil))
      (erase-buffer)
      (insert "#     # ######  #\n"
              "#     # #     # #\n"
--- 356,363 ----
  (defun mew-ext-url (begin end params)
    (let ((url (mew-syntax-get-member params "url"))
  	(size (mew-syntax-get-member params "size"))
! 	(buffer-read-only nil)
! 	(process-connection-type nil))
      (erase-buffer)
      (insert "#     # ######  #\n"
              "#     # #     # #\n"
diff -Ncr mew-1.54.orig/mew-header.el mew-1.54/mew-header.el
*** mew-1.54.orig/mew-header.el	Tue Nov 26 01:34:23 1996
--- mew-1.54/mew-header.el	Mon Feb 17 15:25:58 1997
***************
*** 272,278 ****
  	      (mew-header-split
  	       (mew-header-concat-list
  		(mew-header-delete-ws2-list
! 		 (mew-header-separate-quote users)))
  	       ?,))))))
        (if func
  	  (mapcar func list)
--- 272,279 ----
  	      (mew-header-split
  	       (mew-header-concat-list
  		(mew-header-delete-ws2-list
! 		 (mew-header-separate-quote
! 		  (mew-header-delete-comment users))))
  	       ?,))))))
        (if func
  	  (mapcar func list)
***************
*** 305,311 ****
        (mew-header-split
         (mew-header-concat-list
  	(mew-header-delete-ws2-list
! 	 (mew-header-separate-quote users)))
         ?,)))
      ))
  
--- 306,313 ----
        (mew-header-split
         (mew-header-concat-list
  	(mew-header-delete-ws2-list
! 	 (mew-header-separate-quote
! 	  (mew-header-delete-comment users))))
         ?,)))
      ))
  
***************
*** 384,389 ****
--- 386,406 ----
      (substring string 0 (string-match ":;" string))
      ))
  
+ (defun mew-header-delete-comment (string)
+   (while (string-match "(" string)
+     (setq string (concat (substring string 0 (match-beginning 0))
+ 			 (mew-header-delete-comment-sub
+ 			  (substring string (match-end 0)) ))))
+   string)
+ 
+ (defun mew-header-delete-comment-sub (string)
+   (if (string-match "(" string)
+       (setq string (concat (substring string 0 (match-beginning 0))
+ 			   (mew-header-delete-comment-sub
+ 			    (substring string (match-end 0)) ))))
+   (string-match ")" string)
+   (substring string (match-end 0)) )
+ 
  ;;
  ;; e-mail address canonical form 
  ;;
***************
*** 651,654 ****
      qpstr
      ))
  
! (provide 'mew-header)
\ No newline at end of file
--- 668,671 ----
      qpstr
      ))
  
! (provide 'mew-header)
diff -Ncr mew-1.54.orig/mew-message.el mew-1.54/mew-message.el
*** mew-1.54.orig/mew-message.el	Tue Nov 26 01:34:22 1996
--- mew-1.54/mew-message.el	Tue Feb 18 10:55:23 1997
***************
*** 106,111 ****
--- 106,112 ----
  ;;	  (progn (message "End of message") t) ;Nothing more.
  	  t
  	(mew-message-narrow-to-page 1)		;Go to next page.
+ 	(run-hooks 'mew-message-hook)
  	nil
  	)
      ;; More in this page.
diff -Ncr mew-1.54.orig/mew-scan.el mew-1.54/mew-scan.el
*** mew-1.54.orig/mew-scan.el	Tue Nov 26 01:34:20 1996
--- mew-1.54/mew-scan.el	Mon Feb 17 15:06:20 1997
***************
*** 46,52 ****
    (if (null (mew-summary-exclusive-p))
        ()
      (condition-case err
! 	(progn
  	  (message "Incing ...")
  	  (goto-char (point-max))
  	  (setq mew-summary-inc-start (point))
--- 46,52 ----
    (if (null (mew-summary-exclusive-p))
        ()
      (condition-case err
! 	(let ((process-connection-type nil))
  	  (message "Incing ...")
  	  (goto-char (point-max))
  	  (setq mew-summary-inc-start (point))
***************
*** 179,185 ****
      (if (null (mew-summary-exclusive-p))
  	()
        (condition-case err
! 	  (progn
  	    (message "Scanning %s ..." folder)
  	    (let ((buffer-read-only nil))
  	      (if (equal erase 'erase)
--- 179,185 ----
      (if (null (mew-summary-exclusive-p))
  	()
        (condition-case err
! 	  (let ((process-connection-type nil))
  	    (message "Scanning %s ..." folder)
  	    (let ((buffer-read-only nil))
  	      (if (equal erase 'erase)
diff -Ncr mew-1.54.orig/mew-summary.el mew-1.54/mew-summary.el
*** mew-1.54.orig/mew-summary.el	Tue Nov 26 01:34:19 1996
--- mew-1.54/mew-summary.el	Tue Feb 18 11:31:05 1997
***************
*** 1536,1542 ****
  	    (setq cbuf (current-buffer)) ;; draft
  	    (pop-to-buffer buf)
  	    ;;
! 	    (set-buffer (mew-summary-display)) ;; force to display
  	    ;; now cache buffer
  	    (setq subject (concat "Forward: "
  				  (mew-header-get-value "Subject:")))
--- 1536,1543 ----
  	    (setq cbuf (current-buffer)) ;; draft
  	    (pop-to-buffer buf)
  	    ;;
! 	    (let ((mew-analysis t))
! 	      (set-buffer (mew-summary-display))) ;; force to display
  	    ;; now cache buffer
  	    (setq subject (concat "Forward: "
  				  (mew-header-get-value "Subject:")))
***************
*** 1645,1660 ****
  	    )))
      (while fld-msg-list
        (if mew-os2-p
! 	  (call-process "cp" nil nil nil
! 			(mew-expand-file-name
! 			 (cdr (car fld-msg-list)) ;; message
! 			 (car (car fld-msg-list))) ;; folder
! 			(mew-draft-get-new mimefolder))
! 	(call-process "ln" nil nil nil "-s"
! 		      (mew-expand-file-name
! 		       (cdr (car fld-msg-list)) ;; message
! 		       (car (car fld-msg-list))) ;; folder
! 		      (mew-draft-get-new mimefolder))
  	)
        (setq fld-msg-list (cdr fld-msg-list)))
      ))
--- 1646,1659 ----
  	    )))
      (while fld-msg-list
        (if mew-os2-p
! 	  (copy-file (mew-expand-file-name
! 		      (cdr (car fld-msg-list)) ;; message
! 		      (car (car fld-msg-list))) ;; folder
! 		     (mew-draft-get-new mimefolder))
! 	(make-symbolic-link (mew-expand-file-name
! 			     (cdr (car fld-msg-list)) ;; message
! 			     (car (car fld-msg-list))) ;; folder
! 			    (mew-draft-get-new mimefolder))
  	)
        (setq fld-msg-list (cdr fld-msg-list)))
      ))
diff -Ncr mew-1.54.orig/mew-virtual.el mew-1.54/mew-virtual.el
*** mew-1.54.orig/mew-virtual.el	Tue Nov 26 01:34:16 1996
--- mew-1.54/mew-virtual.el	Mon Feb 17 15:06:53 1997
***************
*** 188,194 ****
    (if (null (mew-summary-exclusive-p))
        ()
      (condition-case err
! 	(progn
  	  (message "Scanning %s ..." vfolder)
  	  (let ((buffer-read-only nil))
  	    (erase-buffer))
--- 188,194 ----
    (if (null (mew-summary-exclusive-p))
        ()
      (condition-case err
! 	(let ((process-connection-type nil))
  	  (message "Scanning %s ..." vfolder)
  	  (let ((buffer-read-only nil))
  	    (erase-buffer))
diff -Ncr mew-1.54.orig/mew.el mew-1.54/mew.el
*** mew-1.54.orig/mew.el	Tue Nov 26 01:34:30 1996
--- mew-1.54/mew.el	Tue Feb 18 11:59:31 1997
***************
*** 433,438 ****
--- 433,440 ----
     ("application/octet-stream"
      "\\.tar\\.?g?z?$" "base64"	(mew-mime-application/octet-stream () nil))
     ("application/octet-stream"
+     "\\.tgz$" "base64"	        (mew-mime-application/octet-stream () nil))
+    ("application/octet-stream"
      "\\.gz$" "base64"           (mew-mime-application/octet-stream () nil))
     ("application/octet-stream"
      "\\.Z$" "base64"	        (mew-mime-application/octet-stream () nil))
***************
*** 741,746 ****
--- 743,750 ----
    (define-key mew-folder-map "\r"   'exit-minibuffer)
    (define-key mew-folder-map "\n"   'exit-minibuffer)
    (define-key mew-folder-map "\C-g" 'abort-recursive-edit)
+   (define-key mew-folder-map "\M-p" 'previous-history-element)
+   (define-key mew-folder-map "\M-n" 'next-history-element)
    )
  
  ;;;
***************
*** 1267,1273 ****
      (setq folders
  	  (read-from-minibuffer (format "Folder name (%s): " default)
  				(or string "+")
! 				mew-folder-map))
      (if (or (string= folders "") (string= folders "+"))
  	(setq folders default))
      (mapcar (function directory-file-name) 
--- 1271,1279 ----
      (setq folders
  	  (read-from-minibuffer (format "Folder name (%s): " default)
  				(or string "+")
! 				mew-folder-map
! 				nil
! 				"+"))
      (if (or (string= folders "") (string= folders "+"))
  	(setq folders default))
      (mapcar (function directory-file-name) 
***************
*** 1439,1444 ****
--- 1445,1451 ----
        (if (mew-y-or-n-p (format "Start %s? " program))
  	  (let ((mc-flag nil)
  		(file-coding-system (if mew-mule-p *noconv*))
+ 		(process-connection-type nil)
  		pro file)
  	    (if (not (file-exists-p mew-temp-dir))
  		(mew-make-directory mew-temp-dir)) ;; just in case
***************
*** 1716,1721 ****
--- 1723,1729 ----
  
  (defun mew-header-insert-from-cache (cache begin end)
    (insert-buffer-substring cache begin end)
+   (insert "\n")
    (mew-header-arrange)
    ;; Some nice features for XEmacs.
    (if mew-xemacs-p (highlight-headers (point-min) (point-max) nil))


Mew-dist メーリングリストの案内