Calculate gnus-version correctly on Cygwin
authorKatsumi Yamaoka <yamaoka@jpl.org>
Tue, 23 Jul 2013 05:21:35 +0000 (05:21 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Tue, 23 Jul 2013 05:21:35 +0000 (05:21 +0000)
* gnus.el (gnus-continuum-version): Do main calculations in integers.
  (gnus-continuum-version-1): New function, return a string.
* gnus-msg.el (gnus-extended-version, gnus-bug):
  Use gnus-continuum-version-1 instead of gnus-continuum-version.

lisp/ChangeLog
lisp/gnus-msg.el
lisp/gnus.el

index 413f9bd..7bdcf06 100644 (file)
@@ -1,3 +1,13 @@
+2013-07-23  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       Calculate gnus-version correctly on Cygwin.
+
+       * gnus.el (gnus-continuum-version): Do main calculations in integers.
+       (gnus-continuum-version-1): New function, return a string.
+
+       * gnus-msg.el (gnus-extended-version, gnus-bug):
+       Use gnus-continuum-version-1 instead of gnus-continuum-version.
+
 2013-07-19  Geoff Kuenning  <geoff@cs.hmc.edu>  (tiny change)
 
        * gnus-art.el (gnus-treat-predicate): Allow functions as predicates
index e3f1866..761156b 100644 (file)
@@ -1132,7 +1132,7 @@ See the variable `gnus-user-agent'."
           (gnus-v
            (when (memq 'gnus gnus-user-agent)
              (concat "Gnus/"
-                     (prin1-to-string (gnus-continuum-version gnus-version) t)
+                     (gnus-continuum-version-1 gnus-version)
                      " (" gnus-version ")")))
           (emacs-v (gnus-emacs-version)))
       (concat gnus-v (when (and gnus-v emacs-v) " ")
@@ -1534,7 +1534,7 @@ If YANK is non-nil, include the original article."
                        (X-Debbugs-Package
                         . ,(format "%s" gnus-bug-package))
                        (X-Debbugs-Version
-                        . ,(format "%s" (gnus-continuum-version))))))
+                        . ,(gnus-continuum-version-1)))))
     (when gnus-bug-create-help-buffer
       (push `(gnus-bug-kill-buffer) message-send-actions))
     (goto-char (point-min))
index ebc6fe9..358cbf9 100644 (file)
@@ -3229,6 +3229,10 @@ If ARG, insert string at point."
 
 (defun gnus-continuum-version (&optional version)
   "Return VERSION as a floating point number."
+  (string-to-number (gnus-continuum-version-1 (or version gnus-version))))
+
+(defun gnus-continuum-version-1 (&optional version)
+  "Return VERSION as a string."
   (unless version
     (setq version gnus-version))
   (when (or (string-match "^\\([^ ]+\\)? ?Gnus v?\\([0-9.]+\\)$" version)
@@ -3244,18 +3248,21 @@ If ARG, insert string at point."
            least (if (match-beginning 3)
                      (string-to-number (match-string 3 number))
                    0))
-      (string-to-number
+      (gnus-replace-in-string
        (if (zerop major)
-            (format "%s00%02d%02d"
-                    (if (member alpha '("(ding)" "d"))
-                        "4.99"
-                      (+ 5 (* 0.02
+          (progn
+            (setq major
+                  (if (member alpha '("(ding)" "d"))
+                      499
+                    (+ 500 (* 2
                               (abs
                                (- (mm-char-int (aref (downcase alpha) 0))
                                   (mm-char-int ?t))))
-                         -0.01))
-                    minor least)
-        (format "%d.%02d%02d" major minor least))))))
+                       -1)))
+            (format "%s.%s00%02d%02d"
+                    (/ major 100) (% major 100) minor least))
+        (format "%d.%02d%02d" major minor least))
+       "0+\\'" ""))))
 
 (defun gnus-info-find-node (&optional nodename)
   "Find Info documentation of Gnus."