假设我通过 swank/slime 连接到远程 Lisp。我在本地磁盘上有一个数据文件,或者可能是在 Emacs 缓冲区中。我想使用远程 Lisp 处理这个文件。
显然,我可以退出到 shell 并将文件通过 scp 上传到服务器,加载文件,处理文件,关闭文件,然后删除文件,以免在服务器上留下垃圾。
我也可以将文件粘贴到 repl 中:
> (defparameter *my-file* "[paste file here]")
但如果文本中有引号或文件是二进制的,则这样做很麻烦。
这两个选项都很繁琐。
有没有一种好的方式可以使本地emacs将文件隧道传输到远程Lisp,以便远程Lisp可以将其作为流打开?
我想象中的情景是:
> (swank:with-open-client-file (s #p"/path/to/local/file") ... )
编辑:这个例子感觉会在我的本地文件系统中开放一些漏洞。能否在不造成严重安全问题的情况下完成它?