首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重新初始化swank?

如何重新初始化swank?
EN

Stack Overflow用户
提问于 2015-10-28 16:41:00
回答 3查看 641关注 0票数 3

如何使swank忘记所有以前评估过的定义?

我希望它取消定义所有通过计算(如,b评估缓冲区)定义的宏、函数和变量。并让它回到与我重新启动我的PC和刚启动swank服务器时相同的状态。

我试过:

  • 瘦身 Clear (,-)命令: 这似乎只清除屏幕(缓冲区)。
  • CL-USER> (swank:restart-server) (来自REPL缓冲区): 服务器重新启动,但它仍然记得我的旧defun和其他定义。
  • CL-USER> (slime-restart-inferior-lisp)和`(slimv-重新启动-下级-lisp) 两者都是未定义的。
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-01 11:52:10

这里是斯利夫的作者。我添加了一个新的命令‘退出REPL’到slimv。这将通过调用swank:quit-lisp关闭运行swank服务器的lisp进程,然后关闭REPL缓冲区。您可以使用这个命令,然后是另一个“Connect Server”命令来重新启动REPL。“退出REPL”的默认映射是<Leader>Q,因此可以通过<Leader>Q<Leader>c序列重新启动REPL。请参见在GitHub上提交GitHub或在BitBucket上提交a8abdbbc...

票数 6
EN

Stack Overflow用户

发布于 2015-10-30 11:30:57

M-x slime-restart-inferior-lisp将从头开始重新启动事物。

票数 1
EN

Stack Overflow用户

发布于 2015-10-30 17:49:13

这并不能直接解决您的问题,但是如果您需要在重新启动时丢失所有变量,也许在单独的包中工作应该适合您。

代码语言:javascript
复制
CL-USER> (defpackage :my-separate-package (:use :cl :cl-user :swank))
#<PACKAGE "MY-SEPARATE-PACKAGE">
CL-USER> (in-package :my-separate-package)
#<PACKAGE "MY-SEPARATE-PACKAGE">
MY-SEPARATE-PACKAGE> (defvar a "a")
A
MY-SEPARATE-PACKAGE> a
"a"
MY-SEPARATE-PACKAGE> (in-package :cl-user)
#<PACKAGE "COMMON-LISP-USER">
CL-USER> (in-package :my-separate-package)
#<PACKAGE "MY-SEPARATE-PACKAGE">
MY-SEPARATE-PACKAGE> a
"a"
MY-SEPARATE-PACKAGE> (in-package :cl-user)
#<PACKAGE "COMMON-LISP-USER">
CL-USER> (delete-package :my-separate-package)
T
CL-USER> (defpackage :my-separate-package (:use :cl :cl-user :swank))
#<PACKAGE "MY-SEPARATE-PACKAGE">
CL-USER> a
; Evaluation aborted on #<UNBOUND-VARIABLE A {1004AD9AF3}>.
CL-USER> (in-package :my-separate-package)
#<PACKAGE "MY-SEPARATE-PACKAGE">
MY-SEPARATE-PACKAGE> a
; Evaluation aborted on #<UNBOUND-VARIABLE A {10055C6063}>.

然后删除您的环境,并且您没有这个变量,每次您重新定义包时。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33396711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档