mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-24 10:38:38 +00:00
(unload-feature): Don't care if FILE is a dependency of itself.
This commit is contained in:
parent
7112bf0f2a
commit
e01ac82c3e
@ -71,7 +71,8 @@ a buffer with no associated file, or an eval-region, return nil."
|
|||||||
))
|
))
|
||||||
|
|
||||||
(defun file-dependents (file)
|
(defun file-dependents (file)
|
||||||
;; Return the list of loaded libraries that depend on FILE.
|
"Return the list of loaded libraries that depend on FILE.
|
||||||
|
This can include FILE itself."
|
||||||
(let ((provides (file-provides file)) (dependents nil))
|
(let ((provides (file-provides file)) (dependents nil))
|
||||||
(mapcar
|
(mapcar
|
||||||
(function (lambda (x)
|
(function (lambda (x)
|
||||||
@ -90,7 +91,8 @@ is nil, raise an error."
|
|||||||
(if (not (featurep feature))
|
(if (not (featurep feature))
|
||||||
(error "%s is not a currently loaded feature." (symbol-name feature)))
|
(error "%s is not a currently loaded feature." (symbol-name feature)))
|
||||||
(if (not force)
|
(if (not force)
|
||||||
(let* ((file (feature-file feature)) (dependents (file-dependents file)))
|
(let* ((file (feature-file feature))
|
||||||
|
(dependents (delete file (copy-sequence (file-dependents file)))))
|
||||||
(if dependents
|
(if dependents
|
||||||
(error "Loaded libraries %s depend on %s."
|
(error "Loaded libraries %s depend on %s."
|
||||||
(prin1-to-string dependents) file)
|
(prin1-to-string dependents) file)
|
||||||
|
Loading…
Reference in New Issue
Block a user