Function: gnus-continuum-version

gnus-continuum-version is a byte-compiled function defined in gnus.el.gz.

Signature

(gnus-continuum-version &optional VERSION)

Documentation

Return VERSION as a floating point number.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus.el.gz
(defun gnus-continuum-version (&optional version)
  "Return VERSION as a floating point number."
  (unless version
    (setq version gnus-version))
  (when (or (string-match "^\\([^ ]+\\)? ?Gnus v?\\([0-9.]+\\)$" version)
	    (string-match "^\\(.?\\)gnus-\\([0-9.]+\\)$" version))
    (let ((alpha (and (match-beginning 1) (match-string 1 version)))
	  (number (match-string 2 version))
	  major minor least)
      (unless (string-match
	       "\\([0-9]\\)\\.\\([0-9]+\\)\\.?\\([0-9]+\\)?" number)
	(error "Invalid version string: %s" version))
      (setq major (string-to-number (match-string 1 number))
	    minor (string-to-number (match-string 2 number))
	    least (if (match-beginning 3)
		      (string-to-number (match-string 3 number))
		    0))
      (string-to-number
       (if (zerop major)
	     (format "%1.2f00%02d%02d"
		     (if (member alpha '("(ding)" "d"))
			 4.99
		       (+ 5 (* 0.02
			       (abs
				(- (aref (downcase alpha) 0) ?t)))
			  -0.01))
		     minor least)
	 (format "%d.%02d%02d" major minor least))))))