]> git.eshelyaron.com Git - emacs.git/commitdiff
(debug-on-entry-1): Fix handling of macros.
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 7 Mar 2005 14:12:27 +0000 (14:12 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 7 Mar 2005 14:12:27 +0000 (14:12 +0000)
lisp/ChangeLog
lisp/emacs-lisp/debug.el

index 2ee4f48fac27976c50292e07326969c1cbba632d..df930a970d7060aefc12d167b5ca6531d0dfa09c 100644 (file)
@@ -1,3 +1,7 @@
+2005-03-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * emacs-lisp/debug.el (debug-on-entry-1): Fix handling of macros.
+
 2005-03-07  Kim F. Storm  <storm@cua.dk>
 
        * simple.el (move-beginning-of-line): New command.
 
        * calendar/icalendar.el (icalendar-version): Increase to 0.11.
        (icalendar-export-file, icalendar-export-region)
-       (icalendar-import-file, icalendar-import-buffer): Add autoload
-       cookies.
+       (icalendar-import-file, icalendar-import-buffer): Add autoload cookies.
        (icalendar--convert-ical-to-diary): Fix problem with DURATION.
 
 2005-03-04  Lute Kamstra  <lute@gnu.org>
 
-       * emacs-lisp/debug.el (debugger-step-after-exit): Make it a
-       defvar.
+       * emacs-lisp/debug.el (debugger-step-after-exit): Make it a defvar.
        (debug-function-list): Ditto.
 
 2005-03-04  Robert J. Chassell  <bob@rattlesnake.com>
        is not appended by replacing a search for `@refill\\|@bye' with
        `@refill\\|^[ \t]*@'.  The intent is to solve both the `@end
        itemize@refill' bug and the unfilled long lines bug.
-       (texinfmt-version): update number and date.
+       (texinfmt-version): Update number and date.
 
 2005-03-04  Reiner Steib  <Reiner.Steib@gmx.de>
 
index ab197e8e119df8cc2ae695b4951038b326660b09..67836215da39bfe3add2fa87a0921e9b03deb4c2 100644 (file)
@@ -693,25 +693,24 @@ If argument is nil or an empty string, cancel for all functions."
          (fset function (cons 'lambda (cons (car contents) body)))))))
 
 (defun debug-on-entry-1 (function defn flag)
-  (if (subrp defn)
-      (error "%s is a built-in function" function)
-    (if (eq (car defn) 'macro)
-       (debug-on-entry-1 function (cdr defn) flag)
-      (or (eq (car defn) 'lambda)
-         (error "%s not user-defined Lisp function" function))
-      (let ((tail (cdr defn)))
-       ;; Skip the docstring.
-       (when (and (stringp (cadr tail)) (cddr tail))
-         (setq tail (cdr tail)))
-       ;; Skip the interactive form.
-       (when (eq 'interactive (car-safe (cadr tail)))
-         (setq tail (cdr tail)))
-       (unless (eq flag (equal (cadr tail) debug-entry-code))
-         ;; Add/remove debug statement as needed.
-         (if flag
-             (setcdr tail (cons debug-entry-code (cdr tail)))
-           (setcdr tail (cddr tail))))
-       defn))))
+  (let ((tail defn))
+    (if (subrp tail)
+       (error "%s is a built-in function" function)
+      (if (eq (car tail) 'macro) (setq tail (cdr tail)))
+      (if (eq (car tail) 'lambda) (setq tail (cdr tail))
+       (error "%s not user-defined Lisp function" function))
+      ;; Skip the docstring.
+      (when (and (stringp (cadr tail)) (cddr tail))
+       (setq tail (cdr tail)))
+      ;; Skip the interactive form.
+      (when (eq 'interactive (car-safe (cadr tail)))
+       (setq tail (cdr tail)))
+      (unless (eq flag (equal (cadr tail) debug-entry-code))
+       ;; Add/remove debug statement as needed.
+       (if flag
+           (setcdr tail (cons debug-entry-code (cdr tail)))
+         (setcdr tail (cddr tail))))
+      defn)))
 
 (defun debugger-list-functions ()
   "Display a list of all the functions now set to debug on entry."