changeset 65668:bbff73cbd15c

(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.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 24 Sep 2005 10:40:13 +0000
parents adbf7c56937f
children cd937da92e58
files lisp/subr.el
diffstat 1 files changed, 13 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/subr.el	Sat Sep 24 10:27:46 2005 +0000
+++ b/lisp/subr.el	Sat Sep 24 10:40:13 2005 +0000
@@ -2862,9 +2862,11 @@
 
 
 (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 @@
 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 @@
    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 @@
       (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))