[mew-win32 4537] Re: NTEmacs で start-process, call-process が無限再帰する

Hayashi Masahiro ( 林 雅博 ) mhayashi1120 at example.com
2009年 2月 16日 (月) 19:23:39 JST


林です。

Cygwin でコンパイルして shell スクリプトや batch ファイルを
call-process, start-process できることは確認しました。ついでに
mew-prog-mewl に mewl をラップしたシェルスクリプトを設定して scan all
してみたりもしました。ちゃんと動いてくれるみたいです。

前のパッチを送ってから気づいて気になっていたのですが、警告の修正をする
ならホントはこんな感じでしょうか。



Index: mew-win32.el
===================================================================
RCS file: /cvsmew/mew/mew-win32.el,v
retrieving revision 1.68
diff -u -r1.68 mew-win32.el
--- mew-win32.el	16 Feb 2009 03:48:02 -0000	1.68
+++ mew-win32.el	16 Feb 2009 10:13:32 -0000
@@ -10,7 +10,7 @@
   (mew-no-waring-defun mw32script-init)
   (mew-no-waring-defun mw32script-make-pathext-regexp)
   (mew-no-waring-defun mw32script-openp)
-  (mew-no-waring-defun mw32script-resolve-script)
+  (mew-no-waring-defun mw32script-argument-editing-function)
   (mew-no-waring-defun dos-to-unix-filename))
 
 ;;; for NTEmacs User
@@ -64,17 +64,16 @@
 	(load "mw32misc"))
     (file-error nil)) ;; NTEmacs
   (mw32script-make-pathext-regexp)
-  (with-no-warnings
-    (defun mew-w32-argument-editing-function (program args)
-      (let ((default-process-argument-editing-function 'identity)
-	    (process-argument-editing-alist nil)
-	    prog sargs)
-	(setq prog (mw32script-openp program))
-	(if (and (null prog)
-		 (setq prog (mew-which-exec program))
-		 (setq sargs (mw32script-argument-editing-function (list prog))))
-	    (cons (car sargs) (cons prog args))
-	  (cons program args)))))
+  (defun mew-w32-argument-editing-function (program args)
+    (let ((default-process-argument-editing-function 'identity)
+	  (process-argument-editing-alist nil)
+	  prog sargs)
+      (setq prog (mw32script-openp program))
+      (if (and (null prog)
+	       (setq prog (mew-which-exec program))
+	       (setq sargs (mw32script-argument-editing-function (list prog))))
+	  (cons (car sargs) (cons prog args))
+	(cons program args))))
   (defadvice call-process 
     (before mew-w32-call-process 
 	    (program &optional infile buffer display &rest args)



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