Commit a1ed8b05 authored by Glenn Morris's avatar Glenn Morris
Browse files

Add emacs-bzr-version

* lisp/version.el (emacs-bzr-get-version): New function.
* lisp/loadup.el (emacs-bzr-version): Set it. 
* lisp/mail/emacsbug.el (report-emacs-bug): Include bzr version.

* etc/NEWS: Mention this, though it is not really relevant to releases.
Insert template for 24.2 release.

Fixes: debbugs:8054
parent e3fb2efb
GNU Emacs NEWS -- history of user-visible changes.
Copyright (C) 2010-2012 Free Software Foundation, Inc.
Copyright (C) 2010-2012 Free Software Foundation, Inc.
See the end of the file for license conditions.
Please send Emacs bug reports to
......@@ -14,6 +14,32 @@ and NEWS.1-17 for changes in older Emacs versions.
You can narrow news to a specific version by calling `view-emacs-news'
with a prefix argument or by typing C-u C-h C-n.
Temporary note:
+++ indicates that the appropriate manual has already been updated.
--- means no change in the manuals is called for.
When you add a new item, please add it without either +++ or ---
so we will look at it and add it to the manual.
* Installation Changes in Emacs 24.2
* Startup Changes in Emacs 24.2
* Changes in Emacs 24.2
** If your Emacs was built from a bzr checkout, the new variable
`emacs-bzr-version' contains information about which bzr revision was used.
* Editing Changes in Emacs 24.2
* Changes in Specialized Modes and Packages in Emacs 24.2
* New Modes and Packages in Emacs 24.2
* Incompatible Lisp Changes in Emacs 24.2
* Lisp changes in Emacs 24.2
* Changes in Emacs 24.2 on non-free operating systems
2012-04-07 Glenn Morris <>
* version.el (emacs-bzr-get-version): New function.
* loadup.el (emacs-bzr-version): Set it. (Bug#8054)
* mail/emacsbug.el (report-emacs-bug): Include bzr version.
2012-04-07 Eli Zaretskii <>
* international/uni-bidi.el:
......@@ -259,6 +259,8 @@
(versions (mapcar (function (lambda (name)
(string-to-number (substring name (length base)))))
(setq emacs-bzr-version (condition-case nil (emacs-bzr-get-version)
(error nil)))
;; `emacs-version' is a constant, so we shouldn't change it with `setq'.
(defconst emacs-version
(format "%s.%d"
......@@ -239,6 +239,8 @@ usually do not have translators for other languages.\n\n")))
(add-text-properties (1+ user-point) (point) prompt-properties)
(insert "\n\nIn " (emacs-version) "\n")
(if (stringp emacs-bzr-version)
(insert "Bzr revision: " emacs-bzr-version "\n"))
(if (fboundp 'x-server-vendor)
(condition-case nil
;; This is used not only for X11 but also W32 and others.
......@@ -79,6 +79,26 @@ to the system configuration; look at `system-configuration' instead."
;; We hope that this alias is easier for people to find.
(defalias 'version 'emacs-version)
;; Set during dumping, this is a defvar so that it can be setq'd.
(defvar emacs-bzr-version nil "\
String giving the bzr revision number from which this Emacs was built.
This is nil if Emacs was not built from a bzr checkout, or if we could
not determine the revision.")
(defun emacs-bzr-get-version () "\
Try to return as a string the bzr revision number of the Emacs sources.
Returns nil if the sources do not seem to be under bzr, or if we could
not determine the revision. Note that this reports on the current state
of the sources, which may not correspond to the running Emacs."
(let ((file (expand-file-name ".bzr/branch/last-revision" source-directory)))
(if (file-readable-p file)
(insert-file-contents file)
(goto-char (point-max))
(if (looking-back "\n")
(delete-char -1))
;; We put version info into the executable in the form that `ident' uses.
(or (eq system-type 'windows-nt)
(purecopy (concat "\n$Id: " (subst-char-in-string ?\n ?\s (emacs-version))
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment