EMACS-DOCUMENT

=============>集思广益

获取Emacs版本信息的正确方式

当向 Emacs devs 报告bug时, 你需要告之当前使用Emacs的版本好. 通常我们使用 M-x emacs-version 在minibuffer中显示版本信息(或者给它带上一个prefix argument让它在当前位置插入版本信息). 然而,如果你的Emacs是直接从源代码便以过来的开发版,这个版本信息基本没啥用 - 它并不能告诉我们你用的emacs源代码来自于那一次的提交. 我把这个问题在邮件列表中咨询了一下,结果被告之其实有个 emacs-repository-get-version 函数能够返回当前版本库的提交信息(也就是Git的commit hash了).

由于我是不是都要报告一下Emacs bug,所以我在 init.el 中定义了这个函数:

(defun insert-debug-version-info ()
  "Insert version of Emacs and 7 characters of the commit hash."
  (interactive)
  (insert
   (format "GNU Emacs %s (commit %s)"
           emacs-version
           (substring (emacs-repository-get-version) 0 7))))