bookmark+ 中书签设置的问题 (emacs 24.5)
Trouble with bookmark-set in bookmark+ (emacs 24.5)
Emacs 在书签集上提高 "funcall: Symbol's value as variable is void: choices"。
禁用 bookmark+ 后,bookmark-set 开始正常工作。
有人知道如何解决这个问题吗?
我找不到在 Bookmark+ 代码中使用名为 choices
的变量。
您在 Bookmark+ source-file headers 中看到的最近 Last-Updated
日期是什么时候?
我建议你这样做,如果你还没有这样做的话:
检查bmkp-after-set-hook
中是否有东西。如果是这样,请尝试将其删除以查看是否可以消除错误。
下载最新的 Bookmark+ 源文件 (from Emacs Wiki or from MELPA)。
删除您可能拥有的任何 byte-compiled(即 *.elc
)版本的文件。
再试一次,看看是否出现同样的错误。如果是这样,请通过电子邮件向我报告:M-x bmkp-send-bug-report
.
如果不是(不再有这样的错误):
一个。加载源文件 bookmark+-mac.el
,它定义了其他文件使用的 Lisp 宏。
b。 Byte-compile bookmark+-mac.el
.
c。 Byte-compile 其他文件。 (一个简单的方法是在 Dired 中标记它们并使用 B
。)
d。重新启动 Emacs 并查看是否再次出现错误(这次您将使用 byte-compiled 文件)。如果是,M-x bmkp-send-bug-report
.
很抱歉给您带来麻烦。让我知道,我会修好它。如果您使用 M-x bmkp-send-bug-report
那么请尝试提供一个完整的方法来重现问题,最好从 emacs -Q
开始(没有初始化文件)。谢谢
Drew 找到了答案:
这是一个 ido-completing-read+.el
错误。你会想要报告
它给那个图书馆的维护者。这是的相关部分
源代码:
(when (and def (listp def))
(setq choices (append def (nreverse (cl-set-difference choices def)))
def (car def)))
(when (and def initial (stringp initial) (not (string= initial "")))
(setq choices (cons def (remove def choices))
def nil))
变量 CHOICES 没有用 (defvar choices)
声明,并且
该文件将局部变量 lexical-binding
设置为 t。这表示
CHOICES 被认为是词法绑定变量。但
永远不会被词汇束缚。
可能库维护者只需要添加 (defvar choices)。
或者绑定 choices
。或者删除 `lexical-binding' 的设置
到 t.
Emacs 在书签集上提高 "funcall: Symbol's value as variable is void: choices"。
禁用 bookmark+ 后,bookmark-set 开始正常工作。
有人知道如何解决这个问题吗?
我找不到在 Bookmark+ 代码中使用名为 choices
的变量。
您在 Bookmark+ source-file headers 中看到的最近 Last-Updated
日期是什么时候?
我建议你这样做,如果你还没有这样做的话:
检查
bmkp-after-set-hook
中是否有东西。如果是这样,请尝试将其删除以查看是否可以消除错误。下载最新的 Bookmark+ 源文件 (from Emacs Wiki or from MELPA)。
删除您可能拥有的任何 byte-compiled(即
*.elc
)版本的文件。再试一次,看看是否出现同样的错误。如果是这样,请通过电子邮件向我报告:
M-x bmkp-send-bug-report
.如果不是(不再有这样的错误):
一个。加载源文件
bookmark+-mac.el
,它定义了其他文件使用的 Lisp 宏。b。 Byte-compile
bookmark+-mac.el
.c。 Byte-compile 其他文件。 (一个简单的方法是在 Dired 中标记它们并使用
B
。)d。重新启动 Emacs 并查看是否再次出现错误(这次您将使用 byte-compiled 文件)。如果是,
M-x bmkp-send-bug-report
.
很抱歉给您带来麻烦。让我知道,我会修好它。如果您使用 M-x bmkp-send-bug-report
那么请尝试提供一个完整的方法来重现问题,最好从 emacs -Q
开始(没有初始化文件)。谢谢
Drew 找到了答案:
这是一个 ido-completing-read+.el
错误。你会想要报告
它给那个图书馆的维护者。这是的相关部分
源代码:
(when (and def (listp def))
(setq choices (append def (nreverse (cl-set-difference choices def)))
def (car def)))
(when (and def initial (stringp initial) (not (string= initial "")))
(setq choices (cons def (remove def choices))
def nil))
变量 CHOICES 没有用 (defvar choices)
声明,并且
该文件将局部变量 lexical-binding
设置为 t。这表示
CHOICES 被认为是词法绑定变量。但
永远不会被词汇束缚。
可能库维护者只需要添加 (defvar choices)。
或者绑定 choices
。或者删除 `lexical-binding' 的设置
到 t.