2

我们想使用 sbcl 和 asdf 从 Lisp 中调用 Windows shell 命令uiop:run-program

我们在 Windows 10 上使用 sbcl 1.3.6 在 emacs/slime 下所做的事情。64 位和 asdf 3.1.5。是:

CL-USER>(require 'asdf)
(shadowing-import 'asdf::run-program)

然后,正常工作(如在 Unix 上)是这样的:

CL-USER>(run-program "echo test" :output :string)
"test
"
NIL
0
CL-USER>

但是根本不起作用并且出错的是对文件的任何操作:

(run-program "dir")

(run-program "copy foo.txt tmp")

(run-program "xcopy *.texi tmp")

有或没有:output :string作为论据。我们不确定我们是否做错了什么,或者是否存在与 sbcl 或 asdf 相关的错误,或者 asdf 和 sbcl for windows 10 是否仍然支持此功能。类似的 shell 命令似乎在 Unix 上运行良好。

任何帮助将不胜感激。

4

1 回答 1

2

在过去的几个月里,对 Windows 上 sbcl 上运行程序的支持得到了显着改善,这要归功于 Elias Pipping 的努力,以及 Robert Goldman 和我的大量测试和错误修复。

获取最新的 SBCL 1.3.15 和最新的 ASDF 3.2.0(甚至“测试”分支中的 3.2.0.2),它应该会更好。

于 2017-03-03T15:45:30.693 回答