[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#7756: 24.0.50; enhancements to package.el
From: |
Stefan Monnier |
Subject: |
bug#7756: 24.0.50; enhancements to package.el |
Date: |
Thu, 30 Dec 2010 10:32:27 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
> @@ -338,9 +338,14 @@
> (pkg-file (expand-file-name
> (concat (package-strip-version package) "-pkg")
> pkg-dir)))
> - (when (and (file-directory-p pkg-dir)
> - (file-exists-p (concat pkg-file ".el")))
> - (load pkg-file nil t))))
> + ;; When one is creating a package and testing it out, it is easy
> + ;; to forget to add the -pkg.el file. When that happens, it would
> + ;; be useful to provide feedback to the user rather than silently
> + ;; failing. That is what (error ...) below is for.
> + (when (file-directory-p pkg-dir)
> + (if (file-exists-p (concat pkg-file ".el"))
> + (load pkg-file nil t)
> + (error "'%s' file is missing!")))))
I agree with the intention, but I wonder: why do we pass the `noerror'
parameter to `load' in the first place?
> @@ -569,8 +574,16 @@
> (defun package-unpack (name version)
> (let ((pkg-dir (expand-file-name (concat (symbol-name name) "-" version)
> package-user-dir)))
> + ;; Delete the package directory if it exists already. This may
> + ;; not be useful to the end users. However this is extremely
> + ;; important for package developers as they experiment with which
> + ;; files to include in a package. If a file is removed from one
> + ;; iteration to the next, then the presence of the unwanted elisp
> + ;; file could cause problems by polluting the generated autoload
> + ;; file.
> + (if (file-directory-p pkg-dir)
> + (delete-directory pkg-dir 'recursive))
Here, I also agree with the intention, but I'm a little uneasy blindly
removing a whole subdirectory without warning: I'd add a confirmation prompt.
Stefan