我想使用rlwrap和自定义的erlang repl.
如果我将它作为"rlwrap -a myrepl"运行它,它的工作原理非常好.
问题是myrepl有内置选项卡完成,它被rlwrap踩踏.
我想让rlwrap释放TAB键
主循环内的一些示例,直接的 gtk2
我目前正在尝试在按键事件中添加代码
如果我在 Guy 代码中犯了一个错误,gui 线程将挂在 repl 中,我仍然可以取回 repl,但我没有找到一种方法来继续 gui 开发,而无需重新启动 sbcl 并重新加载所有包
(defun run ()
(within-main-loop
; match the controls that matter to vars
(let ((window (builder-get-object builder "window"))
;....
; on window close keep the gtk running. helps with debugging
(g-signal-connect search-field "key-press-event" (lambda (w) (declare (ignore w)) (format "~a" "danut")))
(g-signal-connect window "destroy" (lambda (w) (declare (ignore w)) (leave-gtk-main)))
(widget-show window)))))
Run Code Online (Sandbox Code Playgroud)
当我运行这个函数时得到的错误是:
通过足够的工作,我可以修复错误,但是每次我在 gui 中出现问题时,我都无法使后端线程从挂起的位置继续。我尝试了各种线程函数。列出所有踏板将显示:
(#<SB-THREAD:THREAD "cl-gtk2 main thread" RUNNING {CF48EF1}> …Run Code Online (Sandbox Code Playgroud)