问题标签 [swank]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
85 浏览

lisp - 如何获取在 Common Lisp 中定义函数的文件名?

我想获取上次编写特定函数或宏定义的文件的名称,用于各种文档和测试目的?

在 PJB 在#CommonLisp (IRC.LIBERA.CHAT) 上的帮助下,我发布了一个对我来说效果很好的答案,但会接受任何提供不依赖 SWANK 的便携式解决方案的答案或提供有关如何在 LispWorks、ACL 等其他 IDE 中实现相同的功能。

0 投票
2 回答
82 浏览

emacs - 使用 slime/swank 导航到 `defun` 和 `defmacro` 的定义

Emacs 版本:26.3
史莱姆版本:2.26.1


我启动 Emacs。

我打开一个简单的.lisp文件。

我将光标放在符号上defun并发出键盘命令M-.( slime-edit-definition)。

这应该让我想到defun.

但事实并非如此。

它把我带到这里:

在此处输入图像描述

我将光标放在符号上defmacro并发出键盘命令M-.( slime-edit-definition)。

这应该让我想到defmacro.

但事实并非如此。

它把我带到这里:

在此处输入图像描述

为什么会这样以及如何解决这个问题

0 投票
1 回答
95 浏览

vim - g:slimv_swank_cmd 在 Windows 10 上运行 SLIMV for SBCL 应该是什么?

我正在尝试将 Steel Bank Common Lisp 与 GVim 一起使用。

我将Steel Bank Common Lisp (AMD64) 安装到“C:\Program Files\Steel Bank Common Lisp”中。我将 SLIMV 解压缩到 'C:\vimfiles' 我安装了Python3并将它放在 Windows PATH 中。我安装了 Python 2.7 并将其放在 Windows PATH 中。我安装了 64 位 GVim,终于让 Python 被识别了。我在 Vim 中运行 ':helptags C:/vimfiles/doc' 为 SLIMV 生成帮助标签

我在 Vim 窗口顶部有一个“Slimv”菜单,但没有 Repl 菜单。g:slimv_lisp = sbcl g:slimv_impl = sbcl g:slimv_preferred 未设置 g:slimv_lisp 未设置 g:slimv_swank_cmd 未设置

根据网页和手册,我把它放在我的 vimrc 文件中

我不知道这是否应该是“设置”而不是“让”。(start_swank) 在 SBCL 内不做任何事情。

我假设 '!start' 是一个 Vim 命令,传递的第一件事是 SBCL 在我的计算机上的位置,不知道 '-l' 是做什么的,第三个参数是 SLIMV 放置 'start-swank.lisp 的位置'。

此时,Vim 命令 ',c' 将打开一个运行 SBCL 的命令窗口并等待。在 SBCL 中键入 '(exit)' 将带我回到 Vim 并显示一条红色错误消息,说 'SWANK 服务器未运行,请按 ENTER 继续。

我能找到的任何其他文档都适用于 SLIME,而不是 SLIMV。我怎样才能让 SLIMV 运行,以便我可以将 Vim 用于 SBCL?

编辑:

感谢您对我要做什么的帮助,罗马尼。感谢 slimv 的帮助,塔马斯。

我已经删除了 .vimrc 中的 g:slimv_swank_cmd 条目,因为我相信如果我有正确的命令,它本身会做同样的事情。

现在,我想我又回到了我试图用那个命令解决的问题,那可能是 SBCL 不适合我(?)。如果没有 .vimrc 中的 g:slimv_swank_cmd 设置,Vim 会启动 SBCL,然后失败,因为 COMPILE-FILE 在评估 start-swank.lisp 的第 16 行时返回 NIL。当 SBCL 处于调试屏幕询问是否重试、继续、中止、、、或退出时,Vim 将报告“SWANK 服务器未运行”。

会不会是 slimv 运行良好但 SBCL 无法运行?我仍在尝试在 Vim 中编译程序(* 3.0 4.0),评估行,或者只是连接服务器',C'。

编辑2:

尝试从 GitHub 安装更新版本的 slimv,恐怕我们已经达到了我的能力的尽头。自述文件说要安装 zip,阅读整个内容说查看内部文档了解更多信息,内部文档说解压缩 vimfiles 目录中的 zip 文件。Github 上有很多文件,但我没有看到 zip。

编辑3:

将 github 中的 slimv-master.zip 提取到 .vimfiles 中,在评估 ./slime/start-swank.lisp 的第 16 行时,我得到了与“COMPILE-FILE 返回 NIL”相同的错误。

编辑4:

显然,自 22 年 1 月 26 日以来,SBCL 下载从 v2.2.0 到 V2.2.1。我在 64 位 Windows 10 机器上,单击此处的 Windows-AMD64后,我的 SBCL 下载是从SourceForge自动下载的。我有同样的问题,./slime/swank/sbcl.lisp 从第 16 行返回 NIL,其中 COMPILE-FILE 返回 NIL。它现在正在启动 SBCL v2.2.1。

编辑5:

我的两个 slimv 版本都被提取到./vimfiles/. 我./vimfiles/slime/slime.el的是 2.19 版。较新的 slimv 版本在解压到时不会覆盖文件./vimfiles/吗?当我们只是将 zip 解压缩到 时,是否有卸载./vimfiles/

编辑6:

我在评论旁边没有复选标记来标记 Tamas Kovacs 的最后一个回复作为答案(就像他通过评论提供的其他帮助一样)。我现在在 Vim 中有一个 REPL 窗口,Tamas 解决了我的问题。