问题记录:CLISP 的 ext:shell 语句在终端启动的环境正常,在 slime 中异常

这样一段代码:

(defun dot->png (fname thunk)
  (with-open-file (*standard-output*
		   fname
		   :direction :output
		   :if-exists :supersede)
    (funcall thunk))
  #+ecl
  (si:system (concatenate 'string "dot -Tpng -O " fname))
  #+clisp
  (ext:shell (concatenate 'string "dot -Tpng -O " fname))
  #+ccl
  (ccl:run-program "/bin/sh" (concatenate 'string "dot -Tpng -O " fname) :input nil :output *standard-output*)
  #+sbcl
  (sb-ext:run-program (concatenate 'string "dot -Tpng -O " fname))
)



在 Emacs + slime 的环境中总是直接返回 127,然后就没下文了,文件无法生成。

但是在终端直接打开的 CLISP 环境中可以正常运行,能够生成两个文件,一个 dot文件,一个图形文件。

你可能感兴趣的:(问题记录:CLISP 的 ext:shell 语句在终端启动的环境正常,在 slime 中异常)