[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

about ARGV(Emacs-Lisp => perl,ruby)



Morimotoです。お世話になります。

Eamcs-Lispからperlにパラメータを渡し、perlの処理結果をMeadowの
bufferに表示するときに、パラメータによって処理がうまくいきません。
下記のようなテストをすると、渡したはずのパラメータの最後に`"'が
加えられてしまいます。どうすれば良いのでしょうか。

サンプル(argtest.el)
-------------------------------------------- ここから
(defun my-arg-test ()
  (interactive)
  (setq my-arg-test-buffer
	(get-buffer-create "*my message*"))
  (let (window param )
    (switch-to-buffer my-arg-test-buffer)
    (setq window (selected-window))
    (setq param "書き能")   ; <==================== 色々変える
    (call-process "c:/home/myemacs/argtest.pl" nil 
		  "*my message*" t param))) ; 
---------------------------------------------- ここまで

サンプル(argtest.pl)
--------------------------------------------- ここから
#!/usr/local/bin/jperl
#
$ggg=@ARGV[0];
print ("パラメーター$ggg\n");
--------------------------------------------- ここまで

結果(*my message*の内容)は

`能書き' の場合は ==> パラメーター能書き
`書き能' の場合は、==> パラメーター書き能"
`書き能a'の場合は、==> パラメーター書き能a

になります。つまり、「能」が最後だと"が追加される。

同じことをruby(ver 1.6.1 (2000-09-27) [i586-mswin32])ですると、
`"'ではなくて、`\"になります。

Meadowはver 1.10(20.4.1 (i386-*-windows98.2222)
perlは5.005_03 built for MSWin32-x86-object
jperlでも同じ結果です(jperl5.005_03-990822)

                                   よろしくお願いします。

-- 
   ** nori2@xxxxxxxxxxxxx         **
   ** Norihiro Morimoto           **