[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 22b2207: Remove the build number from emacs-version
From: |
Glenn Morris |
Subject: |
[Emacs-diffs] master 22b2207: Remove the build number from emacs-version variable |
Date: |
Fri, 17 Feb 2017 20:21:31 -0500 (EST) |
branch: master
commit 22b2207471807bda86534b4faf1a29b3a6447536
Author: Glenn Morris <address@hidden>
Commit: Glenn Morris <address@hidden>
Remove the build number from emacs-version variable
It's a largely internal detail that can confuse users. (Bug#25590)
* lisp/version.el (emacs-build-number): New constant.
(emacs-version): Use emacs-build-number.
* lisp/loadup.el (top-level): When dumping, increment
emacs-build-number rather than emacs-version.
* src/emacs.c (emacs-version): Doc fix.
* doc/lispref/intro.texi (Version Info): Update emacs-version details.
Mention emacs-build-number.
* lisp/gnus/gnus-util.el (gnus-emacs-version):
* lisp/mail/emacsbug.el (report-emacs-bug):
* admin/admin.el (set-version): Update for emacs-version change.
; * etc/NEWS: Mention this.
---
admin/admin.el | 4 +---
doc/lispref/intro.texi | 20 +++++++++++++-------
etc/NEWS | 3 +++
lisp/gnus/gnus-util.el | 2 +-
lisp/loadup.el | 11 +++++------
lisp/mail/emacsbug.el | 5 +----
lisp/version.el | 9 ++++++++-
src/emacs.c | 7 ++++++-
8 files changed, 38 insertions(+), 23 deletions(-)
diff --git a/admin/admin.el b/admin/admin.el
index 4892045..a6ef19c 100644
--- a/admin/admin.el
+++ b/admin/admin.el
@@ -93,9 +93,7 @@ Optional argument DATE is the release date, default today."
Root must be the root of an Emacs source tree."
(interactive (list
(read-directory-name "Emacs root directory: " source-directory)
- (read-string "Version number: "
- (replace-regexp-in-string "\\.[0-9]+\\'" ""
- emacs-version))))
+ (read-string "Version number: " emacs-version)))
(unless (file-exists-p (expand-file-name "src/emacs.c" root))
(user-error "%s doesn't seem to be the root of an Emacs source tree" root))
(message "Setting version numbers...")
diff --git a/doc/lispref/intro.texi b/doc/lispref/intro.texi
index d871d3a..61ef308 100644
--- a/doc/lispref/intro.texi
+++ b/doc/lispref/intro.texi
@@ -480,8 +480,8 @@ running. It is useful to include this string in bug
reports.
@smallexample
@group
(emacs-version)
- @result{} "GNU Emacs 24.5.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.16)
- of 2015-06-01"
+ @result{} "GNU Emacs 26.1 (build 1, x86_64-unknown-linux-gnu,
+ GTK+ Version 3.16) of 2017-06-01"
@end group
@end smallexample
@@ -507,11 +507,11 @@ emacs-build-time
@defvar emacs-version
The value of this variable is the version of Emacs being run. It is a
-string such as @code{"23.1.1"}. The last number in this string is not
-really part of the Emacs release version number; it is incremented
-each time Emacs is built in any given directory. A value with four
-numeric components, such as @code{"22.0.91.1"}, indicates an
-unreleased test version.
+string such as @code{"26.1"}. A value with three numeric components,
+such as @code{"26.0.91"}, indicates an unreleased test version.
+(Prior to Emacs 26.1, the string includes an extra final component
+with the integer that is now stored in @code{emacs-build-number};
+e.g., @code{"25.1.1"}.)
@end defvar
@defvar emacs-major-version
@@ -524,6 +524,12 @@ The minor version number of Emacs, as an integer. For
Emacs version
23.1, the value is 1.
@end defvar
address@hidden emacs-build-number
+An integer that increments each time Emacs is built in the same
+directory (without cleaning). This is only of relevance when
+developing Emacs.
address@hidden defvar
+
@node Acknowledgments
@section Acknowledgments
diff --git a/etc/NEWS b/etc/NEWS
index 0ceb878..73085f6 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -80,6 +80,9 @@ for '--daemon'.
* Changes in Emacs 26.1
+** The variable 'emacs-version' no longer includes the build number.
+This is now stored separately in a new variable, 'emacs-build-number'.
+
+++
** The new function 'mapbacktrace' applies a function to all frames of
the current stack trace.
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el
index ff5c295..20eceb5 100644
--- a/lisp/gnus/gnus-util.el
+++ b/lisp/gnus/gnus-util.el
@@ -1618,7 +1618,7 @@ sequence, this is like `mapcar'. With several, it is
like the Common Lisp
((not (memq 'emacs lst))
nil)
((string-match "^\\(\\([.0-9]+\\)*\\)\\.[0-9]+$" emacs-version)
- (concat "Emacs/" (match-string 1 emacs-version)
+ (concat "Emacs/" emacs-version
(if system-v
(concat " (" system-v ")")
"")))
diff --git a/lisp/loadup.el b/lisp/loadup.el
index ecb7284..5b19b05 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -350,7 +350,7 @@ lost after dumping")))
(multibyte-string-p default-directory))
(error "default-directory must be unibyte when dumping Emacs!"))
-;; Determine which last version number to use
+;; Determine which build number to use
;; based on the executables that now exist.
(if (and (equal (last command-line-args) '("dump"))
(not (eq system-type 'ms-dos)))
@@ -364,10 +364,9 @@ lost after dumping")))
files)))
(setq emacs-repository-version (condition-case nil
(emacs-repository-get-version)
(error nil)))
- ;; `emacs-version' is a constant, so we shouldn't change it with `setq'.
- (defconst emacs-version
- (format "%s.%d"
- emacs-version (if versions (1+ (apply 'max versions)) 1)))))
+ ;; A constant, so we shouldn't change it with `setq'.
+ (defconst emacs-build-number
+ (if versions (1+ (apply 'max versions)) 1))))
(message "Finding pointers to doc strings...")
@@ -463,7 +462,7 @@ lost after dumping")))
;; Don't bother adding another name if we're just
;; building bootstrap-emacs.
(equal (last command-line-args) '("bootstrap"))))
- (let ((name (concat "emacs-" emacs-version))
+ (let ((name (format "emacs-%s.%d" emacs-version emacs-build-number))
(exe (if (eq system-type 'windows-nt) ".exe" "")))
(while (string-match "[^-+_.a-zA-Z0-9]+" name)
(setq name (concat (downcase (substring name 0 (match-beginning
0)))
diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el
index c8214c3..ecb7db6 100644
--- a/lisp/mail/emacsbug.el
+++ b/lisp/mail/emacsbug.el
@@ -151,10 +151,7 @@ Prompts for bug subject. Leaves you in a mail buffer."
(interactive "sBug Subject: ")
;; The syntax `version;' is preferred to `[version]' because the
;; latter could be mistakenly stripped by mailing software.
- (if (eq system-type 'ms-dos)
- (setq topic (concat emacs-version "; " topic))
- (when (string-match "^\\(\\([.0-9]+\\)*\\)\\.[0-9]+$" emacs-version)
- (setq topic (concat (match-string 1 emacs-version) "; " topic))))
+ (setq topic (concat emacs-version "; " topic))
(let ((from-buffer (current-buffer))
(can-insert-mail (or (report-emacs-bug-can-use-xdg-email)
(report-emacs-bug-can-use-osx-open)))
diff --git a/lisp/version.el b/lisp/version.el
index 99ab351..ea6f1b4 100644
--- a/lisp/version.el
+++ b/lisp/version.el
@@ -44,6 +44,12 @@ This variable first existed in version 19.23.")
(defconst emacs-build-time (if emacs-build-system (current-time))
"Time at which Emacs was dumped out, or nil if not available.")
+(defconst emacs-build-number 1 ; loadup.el may increment this
+ "The build number of this version of Emacs.
+This is an integer that increments each time Emacs is built in a given
+directory (without cleaning). This is likely to only be relevant when
+developing Emacs.")
+
(defvar motif-version-string)
(defvar gtk-version-string)
(defvar ns-version-string)
@@ -56,8 +62,9 @@ Don't use this function in programs to choose actions
according
to the system configuration; look at `system-configuration' instead."
(interactive "P")
(let ((version-string
- (format "GNU Emacs %s (%s%s%s%s)%s"
+ (format "GNU Emacs %s (build %s, %s%s%s%s)%s"
emacs-version
+ emacs-build-number
system-configuration
(cond ((featurep 'motif)
(concat ", " (substring motif-version-string 4)))
diff --git a/src/emacs.c b/src/emacs.c
index 3083d0d..e5305e2 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -2607,7 +2607,12 @@ This is nil during initialization. */);
Vemacs_copyright = build_string (emacs_copyright);
DEFVAR_LISP ("emacs-version", Vemacs_version,
- doc: /* Version numbers of this version of Emacs. */);
+ doc: /* Version numbers of this version of Emacs.
+This has the form: MAJOR.MINOR[.MICRO], where MAJOR/MINOR/MICRO are integers.
+MICRO is only present in unreleased development versions,
+and is not especially meaningful. Prior to Emacs 26.1, an extra final
+component .BUILD is present. This is now stored separately in
+`emacs-build-number'. */);
Vemacs_version = build_string (emacs_version);
DEFVAR_LISP ("report-emacs-bug-address", Vreport_emacs_bug_address,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 22b2207: Remove the build number from emacs-version variable,
Glenn Morris <=