由于我使用Emacs 24,当我试图找到符号出现的位置时,我总是会收到错误semantic-symref-symbol.细节是:
semantic-symref-symbol当光标在我的源文件的某个符号上时,我按下一些键来调用,然后我得到一个列表,描述符号在*Symref缓冲区中的位置.在列表的一个条目上,我按SPACE或RETURN键,它跳转到正确的位置,但同时,Emacs弹出*Backtrace*缓冲区在其他窗口中.其内容如下:
Debugger entered--Lisp error: (void-variable last-command-char)
semantic-symref-rb-goto-match(#<overlay from 97 to 126 in *Symref stateStack>)
push-button(97)
call-interactively(push-button nil nil)
Run Code Online (Sandbox Code Playgroud)
然后我遵循semantic-symref-rb-goto-match在semantic-symref-list.el中定义的函数.elisp函数定义如下:
(defun semantic-symref-rb-goto-match (&optional button)
"Go to the file specified in the symref results buffer.
BUTTON is the button that was clicked."
(interactive)
(let* ((tag (button-get button 'tag))
(line (button-get button 'line))
(buff (semantic-tag-buffer tag))
(win (selected-window))
)
(switch-to-buffer-other-window buff)
(goto-line line)
(pulse-momentary-highlight-one-line (point)) …Run Code Online (Sandbox Code Playgroud)