unload-feature does not completely reverse the effects of defcustom. Consider this file:
,----[ a.el ] | (defcustom a-cus-var 'a-value | "The documentation of `a-cus-var'.") | (provide 'a) `---- and do: (require 'a) (unload-feature 'a) Now a-cus-var is not bound, but when I do M-x customize-option, I can still select (with completion) a-cus-var and that gives me this customization buffer: ,----[ *Customize Option: A Cus Var* ] | This is a customization buffer. | `Raised' buttons show active fields; type RET or click mouse-1 | on an active field to invoke its action. Editing an option value | changes only the text in the buffer. Invoke the State button to set or | save the option value. Saving an option normally edits your init file. | Invoke Custom file for information on how to save in a different file. | Invoke Help for general information. | | Operate on everything in this buffer: | Set for Current Session Save for Future Sessions | Reset Reset to Saved Erase Customization Finish | | A Cus Var: Hide Value "nil" | State: CHANGED outside Customize; operating on it here may be unreliable. | | The documentation of `a-cus-var'. | Parent groups: Nil `---- I think this is undesirable. Could this be easily fixed? (Maybe by letting customize ignore unbound vars.) Or is better to put this on the post-release todo list? Lute. _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel