我正在调试一个相当大的 rails 项目,我发现 emacs 的 rdebug 库有很大的帮助。然而,一个烦恼是源代码中的指针显示了错误的行。在下面的示例中,代码正在执行第 #277 行(如左侧终端所示),但代码中的指针位于下一行(如右侧终端所示)。
有人对如何追踪此错误有任何想法吗?我认为这是在 ruby-debug-extras 包中,但我没有对 emacs 进行任何黑客攻击,所以我什至不知道向其报告此错误的正确邮件列表。
我不能声称自己特别了解 elisp 或 emacs 功能,但我遇到了同样的问题(以及其他一些问题),并且在我的 ruby-debug-extra 分支的这次提交中解决了一个问题。补丁只是将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))