(debug-on-entry-1): Fix handling of macros.
This commit is contained in:
parent
83daa9dcec
commit
a29cf45057
2 changed files with 25 additions and 24 deletions
|
@ -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.
|
||||
|
@ -100,14 +104,12 @@
|
|||
|
||||
* 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>
|
||||
|
@ -117,7 +119,7 @@
|
|||
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>
|
||||
|
||||
|
|
|
@ -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."
|
||||
|
|
Loading…
Add table
Reference in a new issue