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

(version-regexp-alist): Extend valid syntax for version strings:

allow any of the characters -,_,+ to separate the alpha/beta/rc part
from the version part.  Doc fix.
(version-to-list): Doc fix.  Bind case-fold-search to t, as advertised.
This commit is contained in:
Eli Zaretskii 2005-09-24 10:41:18 +00:00
parent f9ac21e7fb
commit d74a5c919c
2 changed files with 21 additions and 5 deletions

View File

@ -1,3 +1,11 @@
2005-09-24 Eli Zaretskii <eliz@gnu.org>
* subr.el (version-regexp-alist): Extend valid syntax for version
strings: allow any of the characters -,_,+ to separate the
alpha/beta/rc part from the version part. Doc fix.
(version-to-list): Doc fix. Bind case-fold-search to t, as
advertised.
2005-09-23 David Reitter <david.reitter@gmail.com>
* mail/mailclient.el: New file.

View File

@ -2862,9 +2862,11 @@ Usually the separator is \".\", but it can be any other string.")
(defvar version-regexp-alist
'(("^a\\(lpha\\)?$" . -3)
("^b\\(eta\\)?$" . -2)
("^\\(pre\\|rc\\)$" . -1))
'(("^[-_+]?a\\(lpha\\)?$" . -3)
("^[-_+]$" . -3) ; treat "1.2.3-20050920" and "1.2-3" as alpha releases
("^[-_+]cvs$" . -3) ; treat "1.2.3-CVS" as alpha release
("^[-_+]?b\\(eta\\)?$" . -2)
("^[-_+]?\\(pre\\|rc\\)$" . -1))
"*Specify association between non-numeric version part and a priority.
This association is used to handle version string like \"1.0pre2\",
@ -2887,6 +2889,9 @@ Each element has the following form:
Where:
REGEXP regexp used to match non-numeric part of a version string.
It should begin with a `^' anchor and end with a `$' to
prevent false hits. Letter-case is ignored while matching
REGEXP.
PRIORITY negative integer which indicate the non-numeric priority.")
@ -2903,9 +2908,12 @@ The version syntax is given by the following EBNF:
SEPARATOR ::= `version-separator' (which see)
| `version-regexp-alist' (which see).
The NUMBER part is optional if SEPARATOR is a match for an element
in `version-regexp-alist'.
As an example of valid version syntax:
1.0pre2 1.0.7.5 22.8beta3 0.9alpha1
1.0pre2 1.0.7.5 22.8beta3 0.9alpha1 6.9.30Beta
As an example of invalid version syntax:
@ -2928,7 +2936,7 @@ See documentation for `version-separator' and `version-regexp-alist'."
(error "Invalid version string: '%s'" ver))
(save-match-data
(let ((i 0)
case-fold-search ; ignore case in matching
(case-fold-search t) ; ignore case in matching
lst s al)
(while (and (setq s (string-match "[0-9]+" ver i))
(= s i))