Function: version-list-=
version-list-= is a byte-compiled function defined in subr.el.gz.
Signature
(version-list-= L1 L2)
Documentation
Return t if L1, a list specification of a version, is equal to L2.
Note that a version specified by the list (1) is equal to (1 0),
(1 0 0), (1 0 0 0), etc. That is, the trailing zeros are insignificant.
Also, a version given by the list (1) is higher than (1 -1), which in
turn is higher than (1 -2), which is higher than (1 -3).
Source Code
;; Defined in /usr/src/emacs/lisp/subr.el.gz
(defun version-list-= (l1 l2)
"Return t if L1, a list specification of a version, is equal to L2.
Note that a version specified by the list (1) is equal to (1 0),
\(1 0 0), (1 0 0 0), etc. That is, the trailing zeros are insignificant.
Also, a version given by the list (1) is higher than (1 -1), which in
turn is higher than (1 -2), which is higher than (1 -3)."
(while (and l1 l2 (= (car l1) (car l2)))
(setq l1 (cdr l1)
l2 (cdr l2)))
(cond
;; l1 not null and l2 not null
((and l1 l2) nil)
;; l1 null and l2 null ==> l1 length = l2 length
((and (null l1) (null l2)))
;; l1 not null and l2 null ==> l1 length > l2 length
(l1 (zerop (version-list-not-zero l1)))
;; l1 null and l2 not null ==> l2 length > l1 length
(t (zerop (version-list-not-zero l2)))))