emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/emacs-lisp/debug.el


From: Lute Kamstra
Subject: [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/debug.el
Date: Thu, 23 Jun 2005 04:20:33 -0400

Index: emacs/lisp/emacs-lisp/debug.el
diff -c emacs/lisp/emacs-lisp/debug.el:1.87 emacs/lisp/emacs-lisp/debug.el:1.88
*** emacs/lisp/emacs-lisp/debug.el:1.87 Tue Jun 14 12:00:50 2005
--- emacs/lisp/emacs-lisp/debug.el      Thu Jun 23 08:20:33 2005
***************
*** 653,658 ****
--- 653,664 ----
        nil
      (funcall debugger 'debug)))
  
+ (defun debugger-special-form-p (symbol)
+   "Return whether SYMBOL is a special form."
+   (and (fboundp symbol)
+        (subrp (symbol-function symbol))
+        (eq (cdr (subr-arity (symbol-function symbol))) 'unevalled)))
+ 
  ;;;###autoload
  (defun debug-on-entry (function)
    "Request FUNCTION to invoke debugger each time it is called.
***************
*** 668,676 ****
  
  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))
!            (eq (cdr (subr-arity (symbol-function function))) 'unevalled))
      (error "Function %s is a special form" function))
    (if (or (symbolp (symbol-function function))
          (subrp (symbol-function function)))
--- 674,694 ----
  
  Use \\[cancel-debug-on-entry] to cancel the effect of this command.
  Redefining FUNCTION also cancels it."
!   (interactive
!    (let ((fn (function-called-at-point)) val)
!      (when (debugger-special-form-p fn)
!        (setq fn nil))
!      (setq val (completing-read 
!               (if fn
!                   (format "Debug on entry to function (default %s): " fn)
!                 "Debug on entry to function: ")
!               obarray
!               #'(lambda (symbol)
!                   (and (fboundp symbol)
!                        (not (debugger-special-form-p symbol))))
!               t nil nil (symbol-name fn)))
!      (list (if (equal val "") fn (intern val)))))
!   (when (debugger-special-form-p function)
      (error "Function %s is a special form" function))
    (if (or (symbolp (symbol-function function))
          (subrp (symbol-function function)))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]