[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r101035: Use version-list-* functions
From: |
Chong Yidong |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r101035: Use version-list-* functions in package.el. |
Date: |
Mon, 09 Aug 2010 14:05:56 -0400 |
User-agent: |
Bazaar (2.0.3) |
------------------------------------------------------------
revno: 101035
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Mon 2010-08-09 14:05:56 -0400
message:
Use version-list-* functions in package.el.
* emacs-lisp/package-x.el (package-upload-buffer-internal): Use
version-to-list.
(package-upload-buffer-internal): Use version-list-<=.
* emacs-lisp/package.el (package-version-split)
(package--version-first-nonzero, package-version-compare):
Functions removed.
(package-directory-list, package-load-all-descriptors)
(package--built-in, package-activate, define-package)
(package-installed-p, package-compute-transaction)
(package-read-all-archive-contents)
(package--add-to-archive-contents, package-buffer-info)
(package-tar-file-info, package-list-packages-internal): Use
version-to-list and version-list-*.
modified:
lisp/ChangeLog
lisp/emacs-lisp/package-x.el
lisp/emacs-lisp/package.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2010-08-09 11:07:11 +0000
+++ b/lisp/ChangeLog 2010-08-09 18:05:56 +0000
@@ -1,3 +1,20 @@
+2010-08-09 Chong Yidong <address@hidden>
+
+ * emacs-lisp/package.el (package-version-split)
+ (package--version-first-nonzero, package-version-compare):
+ Functions removed.
+ (package-directory-list, package-load-all-descriptors)
+ (package--built-in, package-activate, define-package)
+ (package-installed-p, package-compute-transaction)
+ (package-read-all-archive-contents)
+ (package--add-to-archive-contents, package-buffer-info)
+ (package-tar-file-info, package-list-packages-internal): Use
+ version-to-list and version-list-*.
+
+ * emacs-lisp/package-x.el (package-upload-buffer-internal): Use
+ version-to-list.
+ (package-upload-buffer-internal): Use version-list-<=.
+
2010-08-09 Kenichi Handa <address@hidden>
* language/hebrew.el: Exclude U+05BD (Hebrew MAQAF) from the
=== modified file 'lisp/emacs-lisp/package-x.el'
--- a/lisp/emacs-lisp/package-x.el 2010-07-29 16:01:14 +0000
+++ b/lisp/emacs-lisp/package-x.el 2010-08-09 18:05:56 +0000
@@ -129,7 +129,7 @@
(aref pkg-info 2)))
(pkg-version (aref pkg-info 3))
(commentary (aref pkg-info 4))
- (split-version (package-version-split pkg-version))
+ (split-version (version-to-list pkg-version))
(pkg-buffer (current-buffer))
;; Download latest archive-contents.
@@ -150,9 +150,8 @@
(error "Unrecognized archive version %d" (car contents)))
(let ((elt (assq pkg-name (cdr contents))))
(if elt
- (if (package-version-compare split-version
- (package-desc-vers (cdr elt))
- '<=)
+ (if (version-list-<= split-version
+ (package-desc-vers (cdr elt)))
(error "New package has smaller version: %s" pkg-version)
(setcdr elt new-desc))
(setq contents (cons (car contents)
=== modified file 'lisp/emacs-lisp/package.el'
--- a/lisp/emacs-lisp/package.el 2010-08-01 00:38:19 +0000
+++ b/lisp/emacs-lisp/package.el 2010-08-09 18:05:56 +0000
@@ -272,16 +272,12 @@
:group 'package
:version "24.1")
-(defun package-version-split (string)
- "Split a package string into a version list."
- (mapcar 'string-to-int (split-string string "[.]")))
-
(defconst package--builtins-base
;; We use package-version split here to make sure to pick up the
;; minor version.
- `((emacs . [,(package-version-split emacs-version) nil
+ `((emacs . [,(version-to-list emacs-version) nil
"GNU Emacs"])
- (package . [,(package-version-split package-el-version)
+ (package . [,(version-to-list package-el-version)
nil "Simple package system for GNU Emacs"]))
"Packages which are always built-in.")
@@ -335,29 +331,6 @@
"Turn a list of version numbers into a version string."
(mapconcat 'int-to-string l "."))
-(defun package--version-first-nonzero (l)
- (while (and l (= (car l) 0))
- (setq l (cdr l)))
- (if l (car l) 0))
-
-(defun package-version-compare (v1 v2 fun)
- "Compare two version lists according to FUN.
-FUN can be <, <=, =, >, >=, or /=."
- (while (and v1 v2 (= (car v1) (car v2)))
- (setq v1 (cdr v1)
- v2 (cdr v2)))
- (if v1
- (if v2
- ;; Both not null; we know the cars are not =.
- (funcall fun (car v1) (car v2))
- ;; V1 not null, V2 null.
- (funcall fun (package--version-first-nonzero v1) 0))
- (if v2
- ;; V1 null, V2 not null.
- (funcall fun 0 (package--version-first-nonzero v2))
- ;; Both null.
- (funcall fun 0 0))))
-
(defun package-strip-version (dirname)
"Strip the version from a combined package name and version.
E.g., if given \"quux-23.0\", will return \"quux\""
@@ -401,9 +374,8 @@
((eq force t)
t)
((stringp force) ; held
- (package-version-compare (package-version-split version)
- (package-version-split force)
- '=))
+ (version-list-= (version-to-list version)
+ (version-to-list force)))
(t
(error "Invalid element in `package-load-list'")))
(package-load-descriptor dir subdir))))))))
@@ -460,8 +432,7 @@
(defun package--built-in (package version)
"Return true if the package is built-in to Emacs."
(let ((elt (assq package package--builtins)))
- (and elt
- (package-version-compare (package-desc-vers (cdr elt)) version '=))))
+ (and elt (version-list-= (package-desc-vers (cdr elt)) version))))
;; FIXME: return a reason instead?
(defun package-activate (package version)
@@ -479,7 +450,7 @@
(req-list (package-desc-reqs (cdr pkg-desc)))
;; If the package was never activated, do it now.
(keep-going (or (not (memq package package-activated-list))
- (package-version-compare this-version version '>))))
+ (version-list-< version this-version))))
(while (and req-list keep-going)
(let* ((req (car req-list))
(req-name (car req))
@@ -493,7 +464,7 @@
;; can also get here if the requested package was already
;; activated. Return non-nil in the latter case.
(and (memq package package-activated-list)
- (package-version-compare this-version version '>=))))))
+ (version-list-<= version this-version))))))
(defun package-mark-obsolete (package pkg-vec)
"Put package on the obsolete list, if not already there."
@@ -523,21 +494,20 @@
Each requirement is of the form (OTHER-PACKAGE \"VERSION\")."
(let* ((name (intern name-str))
(pkg-desc (assq name package-alist))
- (new-version (package-version-split version-string))
+ (new-version (version-to-list version-string))
(new-pkg-desc
(cons name
(vector new-version
(mapcar
(lambda (elt)
(list (car elt)
- (package-version-split (car (cdr elt)))))
+ (version-to-list (car (cdr elt)))))
requirements)
docstring))))
;; Only redefine a package if the redefinition is newer.
(if (or (not pkg-desc)
- (package-version-compare new-version
- (package-desc-vers (cdr pkg-desc))
- '>))
+ (version-list-< (package-desc-vers (cdr pkg-desc))
+ new-version))
(progn
(when pkg-desc
;; Remove old package and declare it obsolete.
@@ -548,9 +518,8 @@
;; You can have two packages with the same version, for instance
;; one in the system package directory and one in your private
;; directory. We just let the first one win.
- (unless (package-version-compare new-version
- (package-desc-vers (cdr pkg-desc))
- '=)
+ (unless (version-list-= new-version
+ (package-desc-vers (cdr pkg-desc)))
;; The package is born obsolete.
(package-mark-obsolete (car new-pkg-desc) (cdr new-pkg-desc))))))
@@ -700,9 +669,8 @@
(defun package-installed-p (package &optional min-version)
(let ((pkg-desc (assq package package-alist)))
(and pkg-desc
- (package-version-compare min-version
- (package-desc-vers (cdr pkg-desc))
- '<=))))
+ (version-list-<= min-version
+ (package-desc-vers (cdr pkg-desc))))))
(defun package-compute-transaction (result requirements)
(dolist (elt requirements)
@@ -720,9 +688,7 @@
(symbol-name next-pkg)))
((null (stringp hold))
(error "Invalid element in `package-load-list'"))
- ((package-version-compare next-version
- (package-version-split hold)
- '>)
+ ((version-list-< (version-to-list hold) next-version)
(error "Package '%s' held at version %s, \
but version %s required"
(symbol-name next-pkg) hold
@@ -730,9 +696,8 @@
(unless pkg-desc
(error "Package '%s' is not available for installation"
(symbol-name next-pkg)))
- (unless (package-version-compare (package-desc-vers (cdr pkg-desc))
- next-version
- '>=)
+ (unless (version-list-<= next-version
+ (package-desc-vers (cdr pkg-desc)))
(error
"Need package '%s' with version %s, but only %s is available"
(symbol-name next-pkg) (package-version-join next-version)
@@ -788,11 +753,11 @@
;; Version 1 of 'builtin-packages' is a list where the car is
;; a split emacs version and the cdr is an alist suitable for
;; package--builtins.
- (let ((our-version (package-version-split emacs-version))
+ (let ((our-version (version-to-list emacs-version))
(result package--builtins-base))
(setq package--builtins
(dolist (elt builtins result)
- (if (package-version-compare our-version (car elt) '>=)
+ (if (version-list-<= (car elt) our-version)
(setq result (append (cdr elt) result)))))))))
(defun package-read-archive-contents (archive)
@@ -818,8 +783,7 @@
(vconcat (cdr package) (vector archive))))
(existing-package (cdr (assq name package-archive-contents))))
(when (or (not existing-package)
- (package-version-compare version
- (aref existing-package 0) '>))
+ (version-list-< (aref existing-package 0) version))
(add-to-list 'package-archive-contents entry))))
(defun package-download-transaction (transaction)
@@ -915,7 +879,7 @@
(mapcar
(lambda (elt)
(list (car elt)
- (package-version-split (car (cdr elt)))))
+ (version-to-list (car (cdr elt)))))
requires))
(set-text-properties 0 (length file-name) nil file-name)
(set-text-properties 0 (length pkg-version) nil pkg-version)
@@ -964,7 +928,7 @@
(mapcar
(lambda (elt)
(list (car elt)
- (package-version-split (car (cdr elt)))))
+ (version-to-list (car (cdr elt)))))
requires))
(vector pkg-name requires docstring version-string readme))))
@@ -1471,10 +1435,9 @@
(cond ((stringp (cadr hold))
"held")
((and (setq builtin (assq name package--builtins))
- (package-version-compare
+ (version-list-=
(package-desc-vers (cdr builtin))
- (package-desc-vers desc)
- '=))
+ (package-desc-vers desc)))
"built-in")
(t "installed"))
(package-desc-doc desc)
@@ -1486,7 +1449,7 @@
hold (assq name package-load-list))
(unless (and hold (stringp (cadr hold))
(package-installed-p
- name (package-version-split (cadr hold))))
+ name (version-to-list (cadr hold))))
(setq info-list
(package-list-maybe-add name
(package-desc-vers desc)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r101035: Use version-list-* functions in package.el.,
Chong Yidong <=