更新Emacs包后Org-lint报错求助:number-or-marker-p参数错误
org-lint报错:Wrong type argument: number-or-marker-p 的解决思路
报错信息
Error from syntax checker org-lint:
Wrong type argument: number-or-marker-p,
#("150" 0 3 (org-lint-marker #<marker at 6606 in myorgfile.org>))
解决步骤
- 定位错误位置:根据报错中的
marker at 6606 in myorgfile.org,直接跳转至文件对应行,检查该行及附近和150相关的Org元素(比如列表编号、表格数值、属性值等),排查格式不规范的内容。 - 临时排查兼容性:运行
M-x org-lint手动触发检查,确认是否能精准定位错误点;或者暂时注释掉org-lint的自动检查配置,验证是否是包更新后的兼容性问题。 - 回退可疑包版本:如果是更新包后立即出现的问题,回退org-mode或org-lint相关包的版本,通过包管理器选择旧版本重新安装。
- 严格检查Org语法:重点排查以下场景:
- 列表编号是否连续、格式合规(比如是否混用数字与非数字编号,或编号后缺少正确分隔符)
- 表格中的数值是否包含特殊字符、格式异常
- 自定义属性、抽屉内的数值是否符合Org语法规范
- 嵌入的代码块、特殊标记是否干扰了Org的正常解析
- 调试定位问题根源:若以上方法无效,运行
M-x toggle-debug-on-error开启调试模式,触发报错后查看调用栈,定位org-lint中具体出错的检查函数,针对性修复或提交bug报告。
内容的提问来源于stack exchange,提问作者Matt Nolan
相关产品推荐
相关产品推荐

