Mercurial > emacs
changeset 76968:a188649f301c
(read-feature): Reimplement. New optional arg LOADED-P.
(unload-feature): Update interactive spec accordingly.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Fri, 06 Apr 2007 17:03:19 +0000 |
parents | 0d13000e85a0 |
children | 8237a66e9288 |
files | lisp/loadhist.el |
diffstat | 1 files changed, 15 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/loadhist.el Fri Apr 06 17:02:57 2007 +0000 +++ b/lisp/loadhist.el Fri Apr 06 17:03:19 2007 +0000 @@ -111,17 +111,18 @@ (setq dependents (cons (car x) dependents)))) dependents)) -(defun read-feature (prompt) - "Read a feature name \(string\) from the minibuffer. -Prompt with PROMPT and completing from `features', and -return the feature \(symbol\)." - (intern (completing-read prompt - (mapcar (lambda (feature) - (list (symbol-name feature))) - features) - ;; Complete only features loaded from a file - #'(lambda (f) (feature-file (intern (car f)))) - t))) +(defun read-feature (prompt &optional loaded-p) + "Read feature name from the minibuffer, prompting with string PROMPT. +If optional second arg LOADED-P is non-nil, the feature must be loaded +from a file." + (intern + (completing-read prompt + (cons nil features) + (and loaded-p + #'(lambda (f) + (and f ; ignore nil + (feature-file f)))) + loaded-p))) (defvaralias 'loadhist-hook-functions 'unload-feature-special-hooks) (defvar unload-feature-special-hooks @@ -162,7 +163,9 @@ variable `unload-hook-features-list' and could remove features from it in the event that the package has done something normally-ill-advised, such as redefining an Emacs function." - (interactive (list (read-feature "Feature: ") current-prefix-arg)) + (interactive + (list + (read-feature "Unload feature: " t) current-prefix-arg)) (unless (featurep feature) (error "%s is not a currently loaded feature" (symbol-name feature))) (unless force