Yu *_*hen 5 lisp emacs buffer visibility
在emacs Lisp中的以下函数中,
(defun show-life ()
(interactive)
(switch-to-buffer "*Life-Window*") ; show how life goes on while living
(live)) ; it takes 70 years to finish and return!
Run Code Online (Sandbox Code Playgroud)
我想创建缓冲区" Life-Window ",并在实时继续显示由(live)生成的生活事件.
不幸的是,缓冲区仅在(实时)返回后变为可见(当它结束时!)
我也试过pop-to-buffer,行为是一样的.
Tre*_*son 13
在呼叫'sit-for
之前添加呼叫'live
,例如
(defun show-life ()
(interactive)
(switch-to-buffer "*Life-Window*") ; show how life goes on while living
(sit-for 0) ; perform redisplay
(live)) ; it takes 70 years to finish and return!
Run Code Online (Sandbox Code Playgroud)
而且,如果你想看到结果'live
,它也应该定期调用'sit-for
.
doc字符串'sit-for
是:
sit-for是`subr.el'中编译好的Lisp函数.(坐着几秒钟和可选的nodisp)
执行重新显示,然后等待几秒钟或直到输入可用.秒可以是浮点值.(在不支持等待几分之一秒的操作系统上,浮点值向下舍入到最接近的整数.)
如果是可选的arg nodisp是t,请不要重新显示,只需等待输入.如果输入在启动之前可用,则不会发生重新显示.
如果在没有输入到达的情况下等待全部时间,则值为t,否则为零.