用的Emacs版本是28.0.50,系统是Ubuntu18.04.2。现在已经安装了elpy,自动补全似乎已经可以了,但是在操作过程冲minibuffer里经常会出现一个warning:
error in process filter: Symbol’s function definition is void: eldoc-docstring-format-sym-doc
这造成了操作过程中会有卡顿的现象。请问有没有高手遇到过这个情况?非常感谢!
下图是我elpy-config内容
用的Emacs版本是28.0.50,系统是Ubuntu18.04.2。现在已经安装了elpy,自动补全似乎已经可以了,但是在操作过程冲minibuffer里经常会出现一个warning:
error in process filter: Symbol’s function definition is void: eldoc-docstring-format-sym-doc
这造成了操作过程中会有卡顿的现象。请问有没有高手遇到过这个情况?非常感谢!
下图是我elpy-config内容
饿,刚才去查了一下,安装了一个eldoc-eval的插件。只是抱着试一试的态度,但是还是没有解决,哪位大神能帮一下忙?
这个和 elpy 没关系,是 emacs 28 里的 eldoc.el 的问题
(defun eldoc-docstring-format-sym-doc (prefix doc &optional face)
"Combine PREFIX and DOC, and shorten the result to fit in the echo area.
When PREFIX is a symbol, propertize its symbol name with FACE
before combining it with DOC. If FACE is not provided, just
apply the nil face.
See also: `eldoc-echo-area-use-multiline-p'."
(when (symbolp prefix)
(setq prefix (concat (propertize (symbol-name prefix) 'face face) ": ")))
(let* ((ea-multi eldoc-echo-area-use-multiline-p)
;; Subtract 1 from window width since emacs will not write
;; any chars to the last column, or in later versions, will
;; cause a wraparound and resize of the echo area.
(ea-width (1- (window-width (minibuffer-window))))
(strip (- (+ (length prefix) (length doc)) ea-width)))
(cond ((or (<= strip 0)
(eq ea-multi t)
(and ea-multi (> (length doc) ea-width)))
(concat prefix doc))
((> (length doc) ea-width)
(substring (format "%s" doc) 0 ea-width))
((>= strip (string-match-p ":? *\\'" prefix))
doc)
(t
;; Show the end of the partial symbol name, rather
;; than the beginning, since the former is more likely
;; to be unique given package namespace conventions.
(concat (substring prefix strip) doc)))))
加到配置里试试
多谢大神!!!!把配置粘贴进去好,似乎没有问题了!!我试一段时间后再看看。非常非常感谢!!!
请问这个具体是什么问题?