标签: slime

SLIME和SWANK入门:Lisp连接意外关闭:远程对等连接断开连接

我试图使用slime-connect函数来访问使用sbcl的远程服务器.我按照Marco Baringer的slime.mov电影中的所有步骤进行操作,但是在为slime创建ssh连接时我遇到了困难.这是在已经启动远程计算机上的swank服务器之后.我是这样做的:

ssh -L 4005:127.0.0.1:4005 user@server.com

我在本地SLIME上遇到了这个错误:

Lisp连接意外关闭:远程对等连接断开连接

...并在远程服务器上:

通道3:打开失败:连接失败:连接被拒绝

什么可能是错的?

emacs sbcl common-lisp slime swank

8
推荐指数
1
解决办法
5341
查看次数

在emacs中更新font-lock关键字而无需重新加载主模式

我正在对SLIME进行小修改,这样我就可以从Lisp获取所有当前加载的符号,分析它们并使字体锁定为它们.

我设法完成了所有这些步骤,但是我遇到了一个小问题 - 当字体锁中的关键字列表发生更改时,缓冲区不会更新,除非您重新启动主要的lisp-mode.每次更新关键字时我都不想重新启动lisp-mode,因为我在lisp-mode上有几个挂钩,我想在第一次加载文件时运行它.

有没有其他方法来更新font-lock所以它会读取所有新关键字并相应地为缓冲区提供信息?关闭字体锁定和使用font-lock-fontify-buffer不起作用.

UPD:增加赏金 - 问题依然存在.我需要一种方法来重新加载font-lock关键字而无需重新加载主模式.

emacs elisp common-lisp slime font-lock

8
推荐指数
1
解决办法
1405
查看次数

粘液有什么好处?

正如我在这里问的那样,我无法让它运行Aquamacs/slime/clojure,但我可以使用Auqamacs/clojure和'Mx conjure-mode',然后是Cc Cz(运行clojure)和Cc Ce(运行表达式).

我没有SLIME的经验,但我觉得Cc Cz和Cc Ce对于lisp/conjure REPL或调试来说已经足够了.

SLIME的功能不仅仅是这些功能?人们使用SLIME的原因是什么?

lisp emacs clojure slime

8
推荐指数
1
解决办法
842
查看次数

emacs史莱姆:什么相当于贝壳中的向上箭头?

当我在dos/linux中键入错误并且它对我大喊大叫时,我可以按向上箭头然后修改我的行 - 也许它错过了' - '或者什么.我刚刚安装了lispbox,向上箭头将光标向上移动到REPL历史记录中.如何在我输入的最后一行输入当前行.

就像我打字一样

+ 3 2
Run Code Online (Sandbox Code Playgroud)

但显然我的意思是

(+ 3 2)
Run Code Online (Sandbox Code Playgroud)

如何让它说"+ 3 2"所以我可以按"Home","(","End",")"?

或者是否有一些更简单的Mx waaahFIXIT命令呢?

lisp slime

8
推荐指数
1
解决办法
1165
查看次数

我无法初始化swank和clojure-jack-in

我有一个问题.我用橘子酱安装了clojure,slime,slime-repl和elein.现在我打开我的项目并打电话给elein-swank.我明白了:

Starting swank..
error in process filter: slime-presentation-init-keymaps: Symbol's function definition is void: slime-define-both-key-bindings
error in process filter: Symbol's function definition is void: slime-define-both-key-bindings
Run Code Online (Sandbox Code Playgroud)

如果我尝试clojure-jack-in,我会得到

Debugger entered--Lisp error: (error "Could not start swank server: That's not a task. Use \"lein help\" to list all tasks.
signal(error ("Could not start swank server: That's not a task. Use \"lein help\" to list all tasks.\n"))
error("Could not start swank server: %s" "That's not a task. Use \"lein help\" to list all tasks.\n")
  clojure-jack-in-sentinel(#<process …
Run Code Online (Sandbox Code Playgroud)

emacs clojure slime swank swank-clojure

8
推荐指数
1
解决办法
2486
查看次数

Clisp + Emacs编译并加载文件

开始学习常见的lisp.安装在我的debian 5.03 clisp,emacs-23.1和slime中.

用.emacs写:

(setq inferior-lisp-program "/usr/bin/clisp") ; your Lisp system
     (add-to-list 'load-path "/home/slime/")  ; your SLIME directory
     (require 'slime)
     (slime-setup '(slime-scratch slime-editing-commands slime-repl))

(global-font-lock-mode t) 
(show-paren-mode 1) 
(add-hook 'lisp-mode-hook '(lambda () 
      (local-set-key (kbd "RET") 'newline-and-indent))) 
Run Code Online (Sandbox Code Playgroud)

然后在emacs中创建新的lisp文件:test.lisp写简单的lisp表达式:

(defun square(x)
  (* x x))
Run Code Online (Sandbox Code Playgroud)

然后尝试编译此代码C-c C-k并在迷你缓冲区中查看:未连接

ps现在我尝试在emacs主菜单中单击eval defun:并在迷你缓冲区中看到:进程lisp不存在

怎么了?

谢谢.

emacs common-lisp slime

7
推荐指数
1
解决办法
1709
查看次数

学习Windows/C++程序员的常见Lisp技巧

我是一位经验丰富的C++/.NET/Java Windows/Web程序员,正在尝试学习(Common)Lisp.我正在阅读Practical Common Lisp并使用SLIME.

我很容易获得Lisp语言,但是我很难理解开发的机制.我的一个问题是处理Emacs.我没有经验,发现它一般令人困惑,很难找到/弄清楚命令.

具体问题:

  • 我得到了REPL,但我不知道如何有效地使用它.当我需要更改一个函数时,我必须重新键入defun并进行更改(繁琐且容易出错).我怎么能做得更好?
  • 如何从REPL中输入代码到实际拥有程序?我已经习惯了C模型,你可以在那里查看,编辑和重新编译代码文件.我知道Lisp有类似的东西(通过加载函数),但是如何获得我刚刚定义并测试到要保存的文件的函数?我希望有一种比我目前的选择+复制+粘贴更好的方法.
  • 你如何调试错误?是否有能力像其他语言一样进入代码?
  • 只要S表达式有效,输入时我就不会出现任何错误(defun ...).直到我尝试使用它,我发现它无效.有没有办法尽快得到错误(即编译代码)?
  • 是否有一些IDE对我更熟悉或允许我更容易使用该语言?
  • 我应该改用学习计划吗?

任何提示将非常感谢!

lisp emacs slime

7
推荐指数
1
解决办法
620
查看次数

无法向SLIME发送有趣的字符

虽然我在任何地方都设置了UTF-8(在我的lein项目中,slime-lisp组自定义,Emacs缓冲区本身......),我在尝试运行代码时不断收到此错误(def beta "?"):

Coding system iso-latin-1-unix not suitable [...]
Run Code Online (Sandbox Code Playgroud)

例如,仅在Emacs中发生,而不是在lein repl从命令行运行时发生.

可能是什么原因造成的?我正在使用Ubuntu,如果这有任何区别.

unicode emacs clojure slime swank-clojure

7
推荐指数
1
解决办法
279
查看次数

我可以使用swank-js在js2-mode中完成node.js API吗?

我在emacs中使用js2-mode中的swank-js.我可以用它来完成的node.js内置的或第三方API,如fs.readFile,fs.writeFile,express.use,async.forEach等在JS2模式?如果是的话,最好的设置是什么?

任何帮助表示赞赏:)

emacs elisp slime swank node.js

7
推荐指数
1
解决办法
1264
查看次数

从Emacs多线程保存SBCL图像错误

我一直在玩保存运行Common Lisp映像以节省重启时间,使开发更有效率.但是,当我在Emacs/SLIME中运行以下命令时,我遇到了一些问题:

(sb-ext:save-lisp-and-die "rest-api-image" :purify t)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误.显然,它抱怨看到多个线程.据我所知,这些不是我以编程方式创建的线程.相反,这些是Lisp-和Emacs创建的.这里有解决方法吗?图像是否仍然可以保存?

Cannot save core with multiple threads running.

Interactive thread (of current session):
  #<THREAD "main thread" RUNNING {1000550853}>

Other threads:
  #<THREAD "Swank Sentinel" #1=waiting on:
       #<WAITQUEUE  {1004AB8003}>
     {1004AB4753}>,
  #<THREAD "control-thread" #1#
       #<WAITQUEUE  {1005BC54D3}>
     {1004D87F03}>,
  #<THREAD "reader-thread" RUNNING {1004D88063}>,
  #<THREAD "swank-indentation-cache-thread" #1#
       #<WAITQUEUE  {1004D980E3}>
     {1004D88183}>,
  #<THREAD "auto-flush-thread" RUNNING {10022FFDA3}>,
  #<THREAD "repl-thread" RUNNING {1002300003}>
   [Condition of type SB-IMPL::SAVE-WITH-MULTIPLE-THREADS-ERROR]
See also:
  SBCL Manual, Saving a Core Image [:node]
Run Code Online (Sandbox Code Playgroud)

memory-dump sbcl common-lisp slime

7
推荐指数
2
解决办法
292
查看次数