使用命令行参数调用subprocess with region

时间:2018-04-19 07:00:28

标签: emacs process

我希望将区域发送到stdin上的python子进程,使用command作为python -c [command]的参数。此外,如果我使用前缀参数调用该函数,我想将结果插入当前缓冲区。

以下是我尝试的内容:

(defun abcdef/python-region (prefix command &optional b e)
  "Call python with `command' and send region on stdin. 
  Insert result if prefix present."
  (interactive "Psr")
  (call-process-region b e "python" prefix t "-c" command))

当我尝试使用M-x abcdef/python-region以交互方式调用它时,我得到Wrong type argument: stringp, t

相关问题here

1 个答案:

答案 0 :(得分:1)

我不太清楚你是如何得到这个特定错误的,但你的interactive表格并没有提供你需要的论据。

看起来应该是这样的:

(interactive "P\nsCommand: \nr")
  

通常,'interactive'的参数是包含代码的字符串   字母后跟可选的提示。 (有些代码字母没有   使用I / O获取参数,不要使用提示。)传递几个   命令的参数,连接各个字符串,   用换行符分隔它们。

- C-h f interactive