(elp-profilable-p): Rename from elp-not-profilable-p.
Invert result and take into account macros and autoloaded functions.
(elp-instrument-function): Update call.
(elp-instrument-package): Update call. Add completion.
(elp-pack-number): Use match-string.
(elp-results-jump-to-definition-by-mouse): Merge into
elp-results-jump-to-definition and then remove.
(elp-output-insert-symname): Make help echo text single-line.
(elp-results-jump-to-definition-by-mouse)
(elp-results-jump-to-definition, elp-output-insert-symname): New Functions.
(elp-output-result): Use elp-output-insert-symname.
(elp-instrument-package): Don't attempt to instrument autoload functions.
(elp-elapsed-time): New function to calculate the different between
two `current-time' lists. This no longer throws away the top 16 bits
of information.
(elp-wrapper): Use elp-elapsed-time instead of elp-get-time. Also,
call `current-time' as close to the function entrance and exit as
possible so more of the overhead is eliminated from the times.
(elp-get-time): Obsolete, deleted.
(elp-restore-function):
When restoring, do not check assq elp-wrapper
if the symbol-function is a compiled lisp function (i.e. byte coded).
If it is byte-coded, it could not have been instrumented.
Don't do the symbol-function restoration if
the symbol has no function definition.
(elp-instrument-function): Always `restore' the funsym before instrumenting.
Fail if function is an autoload symbol.
(elp-instrument-list): Remove unnecessary condition-case.
(elp-results):
Noninteractive as a function is non-portable, use the
variable instead. buffer-substring with 3 arguments is non-portable.
(elp-instrument-function, elp-instrument-list):
Handle function symbols that have already been instrumented. Do
not instrument them twice.
(elp-recycle-buffers-p): New variable.
(elp-report-limit, elp-sort-by-function): New default values.
(elp-use-standard-output): New variable.
(elp-results): Optionally dump results to standard-output.