Subject: bug#14967: 24.3.50; package-delete deletes by trashing?

From: Sebastian Wiesner <[email-masked]>
Date: Sat, 27 Jul 2013 12:30:15 +0200

Currently "package-delete" from package.el is implemented as follows:

(defun package-delete (pkg-desc)
  (let ((dir (package-desc-dir pkg-desc)))
    (if (not (string-prefix-p (file-name-as-directory
                               (expand-file-name package-user-dir))
                              (expand-file-name dir)))
        ;; Don't delete "system" packages.
	(error "Package `%s' is a system package, not deleting"
               (package-desc-full-name pkg-desc))
      (delete-directory dir t t)
      ;; Update package-alist.
      (let* ((name (package-desc-name pkg-desc)))
        (delete pkg-desc (assq name package-alist)))
      (message "Package `%s' deleted." (package-desc-full-name
  pkg-desc)))))

Note that the call to "delete-directory" gives t as the 3rd argument,
thus allowing for deletion by moving to trash depending on
"delete-by-moving-to-trash".

Is that intended behavior?  If so, what is the rationale behind it?