1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-01 11:14:55 +00:00

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
This commit is contained in:
Glenn Morris 2012-04-07 12:51:51 -07:00
parent e3fb2efb80
commit a1ed8b05ee
5 changed files with 57 additions and 1 deletions

View File

@ -1,6 +1,6 @@
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 bug-gnu-emacs@gnu.org.
@ -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

View File

@ -1,3 +1,9 @@
2012-04-07 Glenn Morris <rgm@gnu.org>
* 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 <eliz@gnu.org>
* international/uni-bidi.el:

View File

@ -259,6 +259,8 @@
(versions (mapcar (function (lambda (name)
(string-to-number (substring name (length base)))))
files)))
(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"

View File

@ -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.

View File

@ -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)
(with-temp-buffer
(insert-file-contents file)
(goto-char (point-max))
(if (looking-back "\n")
(delete-char -1))
(buffer-string)))))
;; 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))