emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r101203: Let version-to-list handle v


From: Chong Yidong
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r101203: Let version-to-list handle versions like "10.3d".
Date: Sat, 28 Aug 2010 21:31:45 -0400
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 101203
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Sat 2010-08-28 21:31:45 -0400
message:
  Let version-to-list handle versions like "10.3d".
  
  * lisp/subr.el (version-regexp-alist): Don't use "a" and "b" for
  "alpha" and "beta".
  (version-to-list): Handle versions like "10.3d".
modified:
  lisp/ChangeLog
  lisp/subr.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2010-08-28 18:52:36 +0000
+++ b/lisp/ChangeLog    2010-08-29 01:31:45 +0000
@@ -1,3 +1,9 @@
+2010-08-29  Chong Yidong  <address@hidden>
+
+       * subr.el (version-regexp-alist): Don't use "a" and "b" for
+       "alpha" and "beta".
+       (version-to-list): Handle versions like "10.3d".
+
 2010-08-28  Stefan Monnier  <address@hidden>
 
        * emacs-lisp/macroexp.el (macroexpand-all-1): Use pcase.

=== modified file 'lisp/subr.el'
--- a/lisp/subr.el      2010-08-22 20:02:16 +0000
+++ b/lisp/subr.el      2010-08-29 01:31:45 +0000
@@ -3584,11 +3584,11 @@
 
 
 (defconst version-regexp-alist
-  '(("^[-_+ ]?a\\(lpha\\)?$"   . -3)
+  '(("^[-_+ ]?alpha$"   . -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))
+    ("^[-_+ ]?beta$"    . -2)
+    ("^[-_+ ]?\\(pre\\|rcc\\)$" . -1))
   "*Specify association between non-numeric version and its priority.
 
 This association is used to handle version string like \"1.0pre2\",
@@ -3681,8 +3681,13 @@
            (setq al version-regexp-alist)
            (while (and al (not (string-match (caar al) s)))
              (setq al (cdr al)))
-           (or al (error "Invalid version syntax: '%s'" ver))
-           (setq lst (cons (cdar al) lst)))))
+           (cond (al
+                  (push (cdar al) lst))
+                 ;; Convert 22.3a to 22.3.1.
+                 ((string-match "^[-_+ ]?\\([a-zA-Z]\\)$" s)
+                  (push (- (aref (downcase (match-string 1 s)) 0) ?a -1)
+                        lst))
+                 (t (error "Invalid version syntax: '%s'" ver))))))
       (if (null lst)
          (error "Invalid version syntax: '%s'" ver)
        (nreverse lst)))))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]