Rewrite EIEIO help functions and hook them into help system.
* help-fns.el (help-fns-describe-function-functions): New
variable to call functions for augmenting help buffers.
(describe-function-1): Remove explicit calls to
`help-fns--compiler-macro', `help-fns--parent-mode' and
`help-fns--obsolete'. Put them in above new variable instead, and
call them through `run-hook-with-args'.
* emacs-lisp/eieio-opt.el (eieio-help-class): Rename from
`eieio-describe-class'. Not meant for interactive use anymore,
but to augment existing help buffers. Remove optional second
argument. Create proper button for file location. Rewrite
function to use `insert' instead of `princ' and `prin1' where
possible.
(eieio-help-class-slots): Rename from `eieio-describe-class-slots'.
(eieio-method-def, eieio-class-def): Move further up.
(describe-method, describe-generic, eieio-describe-method): Remove
aliases.
(eieio-help-constructor, eieio-help-generic): Rename from
`eieio-describe-constructor' and `eieio-describe-generic', resp.
Rewrite to use `insert' in the current buffer and use proper help
buttons.
(eieio-help-find-method-definition)
(eieio-help-find-class-definition): Also accept symbols as
arguments.
(eieio-help-mode-augmentation-maybee): Remove.
(eieio-describe-class-sb): Use `describe-function'.
* emacs-lisp/eieio.el (help-fns-describe-function-functions): Add
`eieio-help-generic' and `eieio-help-constructor'.