首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >属性列表( elisp )

属性列表( elisp )
EN

Stack Overflow用户
提问于 2010-08-30 21:31:39
回答 2查看 1.3K关注 0票数 4

我对elisp不太了解,我正在试图找出如何调用一个函数,该函数将属性列表作为其参数之一。特定的函数是来自rudel-join-session包的鲁德尔;我正在尝试设置它,这样Rudel将在Emacs启动时自动加入会话。我不确定属性列表是如何工作的,所以我尝试这样做:

代码语言:javascript
复制
(rudel-join-session (list :backend 'obby
                          :host "foo"
                          :port 6522
                          :username "username"
                          :color "blue"
                          :global-password ""
                          :user-password ""
                          ))

我得到了错误:

错误类型参数: listp,obby

我想是因为使用了错误的财产列表。知道正确的语法是什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-30 22:17:19

不,那是正确的财产清单。我注意到rudel.el中的这个片段:

代码语言:javascript
复制
(let* ((backend    (cdr (plist-get info :backend)))

这意味着:backend参数应该是一个反单元格。我所能找到的所有文档都假定rudel-join-session是交互式调用的,在这种情况下,后端参数是以编程方式生成的,我无法从对代码的随意细读中看出它应该是什么。但我要做的第一件事是

代码语言:javascript
复制
(rudel-join-session (list :backend '(dummy . obby) ...))

这样,表达式(cdr (plist-get info :backend))将计算为符号obby,这可能是代码的其余部分所期望的。

票数 6
EN

Stack Overflow用户

发布于 2010-09-26 17:04:52

此外,您可能需要查看rudel-session-initiation.el的内容。

该文件包含变量rudel-configured-sessions,其文档字符串将更详细地解释“会话信息属性列表”。

在同一个文件中,有rudel-session-initiation-adjust-info,它通过用实际的后端对象替换后端引用来解析plist中的后端引用。这个函数的作用是用表单('obby . #<backend object>)的反单元格替换后端名称,比如'obby‘或"obby“。在内部,正如您所怀疑的那样,它使用rudel-backend-get

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

https://stackoverflow.com/questions/3604383

复制
相关文章

相似问题

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