Commit 8e71c318 authored by Luc Teirlinck's avatar Luc Teirlinck
Browse files

(debug-on-entry, cancel-debug-on-entry): Doc fixes.

parent 9edbd007
......@@ -614,7 +614,7 @@ Applies to the frame whose line point is on in the backtrace."
(terpri))
(with-current-buffer (get-buffer debugger-record-buffer)
(message "%s"
(message "%s"
(buffer-substring (line-beginning-position 0)
(line-end-position 0)))))
......@@ -656,22 +656,23 @@ functions to break on entry."
;;;###autoload
(defun debug-on-entry (function)
"Request FUNCTION to invoke debugger each time it is called.
When called interactively, prompt for FUNCTION in the minibuffer.
If you tell the debugger to continue, FUNCTION's execution proceeds.
This works by modifying the definition of FUNCTION,
which must be written in Lisp, not predefined.
Use \\[cancel-debug-on-entry] to cancel the effect of this command.
Redefining FUNCTION also cancels it."
(interactive "aDebug on entry (to function): ")
(when (and (subrp (symbol-function function))
(when (and (subrp (symbol-function function))
(eq (cdr (subr-arity (symbol-function function))) 'unevalled))
(error "Function %s is a special form" function))
(if (or (symbolp (symbol-function function))
(if (or (symbolp (symbol-function function))
(subrp (symbol-function function)))
;; The function is built-in or aliased to another function.
;; Create a wrapper in which we can add the debug call.
(fset function `(lambda (&rest debug-on-entry-args)
,(interactive-form (symbol-function function))
(apply ',(symbol-function function)
(apply ',(symbol-function function)
debug-on-entry-args)))
(when (eq (car-safe (symbol-function function)) 'autoload)
;; The function is autoloaded. Load its real definition.
......@@ -692,7 +693,9 @@ Redefining FUNCTION also cancels it."
;;;###autoload
(defun cancel-debug-on-entry (&optional function)
"Undo effect of \\[debug-on-entry] on FUNCTION.
If argument is nil or an empty string, cancel for all functions."
If argument is nil or an empty string, cancel for all functions.
When called interactively, prompt for FUNCTION in the minibuffer.
To specify a nil argument interactively, exit with an empty minibuffer."
(interactive
(list (let ((name
(completing-read "Cancel debug on entry (to function): "
......@@ -739,7 +742,7 @@ If argument is nil or an empty string, cancel for all functions."
(defun debug-on-entry-1 (function flag)
(let* ((defn (symbol-function function))
(tail defn))
(when (eq (car-safe tail) 'macro)
(when (eq (car-safe tail) 'macro)
(setq tail (cdr tail)))
(if (not (eq (car-safe tail) 'lambda))
;; Only signal an error when we try to set debug-on-entry.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment