@code{load}, and from the minibuffer with @code{eval-expression}
(@kbd{M-:}).
+@findex edebug-remove-instrumentation
+ If you want to remove Edebug instrumentation from all functions, you
+can use the @code{edebug-remove-instrumentation} command.
+
@xref{Edebug Eval}, for other evaluation functions available
inside of Edebug.
** Edebug
++++
+*** New command 'edebug-remove-instrumentation.
+This command removes Edebug instrumentation from all functions that
+have been instrumented.
+
+++
*** The runtime behavior of Edebug's instrumentation can be changed
using the new variables 'edebug-behavior-alist',
;; Continue standard unloading.
nil)
+(defun edebug-remove-instrumentation ()
+ "Remove Edebug instrumentation from all functions."
+ (interactive)
+ (let ((functions nil))
+ (mapatoms
+ (lambda (symbol)
+ (when (and (functionp symbol)
+ (get symbol 'edebug))
+ (let ((unwrapped (edebug-unwrap* (symbol-function symbol))))
+ (unless (equal unwrapped (symbol-function symbol))
+ (push symbol functions)
+ (setf (symbol-function symbol) unwrapped)))))
+ obarray)
+ (if (not functions)
+ (message "Found no functions to remove instrumentation from")
+ (message "Remove edebug instrumentation from %s"
+ (mapconcat #'symbol-name functions ", ")))))
+
(provide 'edebug)
;;; edebug.el ends here