Function: inversion-reverse-test

inversion-reverse-test is a byte-compiled function defined in inversion.el.gz.

Signature

(inversion-reverse-test PACKAGE OLDVERSION &rest RESERVED)

Documentation

Test that PACKAGE at OLDVERSION is still compatible.

If something like a save file is loaded at OLDVERSION, this test will identify if OLDVERSION is compatible with the current version of PACKAGE. PACKAGE is a symbol, similar to what is passed to require. OLDVERSION is of similar format to return entries of inversion-decode-version, or a classic version string. RESERVED arguments are kept for a later user. This depends on the symbols PACKAGE-version and optionally PACKAGE-incompatible-version being defined in PACKAGE. Return nil if everything is ok. Return an error string otherwise.

Source Code

;; Defined in /usr/src/emacs/lisp/obsolete/inversion.el.gz
(defun inversion-reverse-test (package oldversion &rest reserved)
  "Test that PACKAGE at OLDVERSION is still compatible.
If something like a save file is loaded at OLDVERSION, this
test will identify if OLDVERSION is compatible with the current version
of PACKAGE.
PACKAGE is a symbol, similar to what is passed to `require'.
OLDVERSION is of similar format to return entries of
`inversion-decode-version', or a classic version string.
RESERVED arguments are kept for a later user.
This depends on the symbols `PACKAGE-version' and optionally
`PACKAGE-incompatible-version' being defined in PACKAGE.
Return nil if everything is ok.  Return an error string otherwise."
  (let ((check (inversion-check-version
		(inversion-package-version package)
		(inversion-package-incompatibility-version package)
		oldversion reserved)))
    (cond
     ((null check)
      ;; Same version.. Yay!
      nil)
     ((eq check 'outdated)
      ;; Version is too old!
      (format "Package %s version %s is not compatible with current version"
	      package oldversion))
     ((eq check 'incompatible)
      ;; Newer is installed but the requested version is = or < than
      ;; what the package maintainer says is incompatible, then throw
      ;; that error.
      (format "Package %s version is not backward compatible with %s"
	      package oldversion))
     ;; Check failed
     (t "Inversion version check failed."))))