我正在调试一个相当大的rails项目,我发现emacs的rdebug库是一个巨大的帮助。然而,一个烦恼就是源中的指针显示错误的一行。在下面的示例中,代码正在执行第277行(如左侧终端所示),但代码中的指针位于下一行(显示在右侧终端中)。
有没有人对如何追踪此错误有任何想法?我认为这是在ruby-debug-extras包中,但我没有对emacs进行任何黑客攻击,所以我甚至不知道正确的邮件列表来报告这个错误。
答案 0 :(得分:1)
我不能声称理解elisp或emacs功能特别好,但我遇到了同样的问题(以及其他一些问题),并在我的ruby-debug-的分支this commit中找到了一个hack额外。补丁只是将lineno
变量调整为一个:
--- a/emacs/rdebug-track.el
+++ b/emacs/rdebug-track.el
@@ -212,8 +212,8 @@ problem as best as we can determine."
"line number cue not found"
;;else
(let* ((filename (match-string rdebug-marker-regexp-file-group block-str))
- (lineno (string-to-number
- (match-string rdebug-marker-regexp-line-group block-str)))
+ (lineno (- (string-to-number
+ (match-string rdebug-marker-regexp-line-group block-str)) 1))