理系学生日記

おまえはいつまで学生気分なのか

package.el にパッケージを install されているかの述語があるのか

ないないと思ってたらあった。

(defun package-installed-p (package &optional min-version)
  "Return true if PACKAGE, of MIN-VERSION or newer, is installed.
MIN-VERSION should be a version list."
  (unless package--initialized (error "package.el is not yet initialized!"))
  (let ((pkg-desc (assq package package-alist)))
    (if pkg-desc
	(version-list-<= min-version
			 (package-desc-vers (cdr pkg-desc)))
      ;; Also check built-in packages.
      (package-built-in-p package min-version))))

今まで、初期インストールの場合はパッケージ毎に list-package からインストールしないとダメなのかしらと思っていたのは何だったのか。