aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel LaLiberte1994-04-08 21:39:52 +0000
committerDaniel LaLiberte1994-04-08 21:39:52 +0000
commita50d43268a91c7900ee0040b4d2c39ffa70f1b6a (patch)
tree5307698e75f07d477c945f7645b099e35a2a1b0e
parenta3a28eac44e31e59ef752a5fbd325f11b1203454 (diff)
downloademacs-a50d43268a91c7900ee0040b4d2c39ffa70f1b6a.tar.gz
emacs-a50d43268a91c7900ee0040b4d2c39ffa70f1b6a.zip
checked in with -k by liberte at 1994/04/09 20:57:56
-rw-r--r--lisp/emacs-lisp/edebug.el102
1 files changed, 51 insertions, 51 deletions
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index 58c4041d2cd..1b55e107c25 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -8,9 +8,7 @@
8;; LCD Archive Entry: 8;; LCD Archive Entry:
9;; edebug|Daniel LaLiberte|liberte@cs.uiuc.edu 9;; edebug|Daniel LaLiberte|liberte@cs.uiuc.edu
10;; |A source level debugger for Emacs Lisp. 10;; |A source level debugger for Emacs Lisp.
11;; |$Date: 1994/04/05 01:21:06 $|3.5|~/modes/edebug.el| 11;; |$Date: 1994/04/05 01:21:06 $|$Revision: 3.5 $|~/modes/edebug.el|
12
13;; Version 3.5 ($Revision: 1.19 $ from Emacs 19)
14 12
15;; This file is part of GNU Emacs. 13;; This file is part of GNU Emacs.
16 14
@@ -82,6 +80,8 @@
82;;; liberte@cs.uiuc.edu 80;;; liberte@cs.uiuc.edu
83 81
84;;; =============================== 82;;; ===============================
83;;; $Header: /import/kaplan/kaplan/liberte/Edebug/RCS/edebug.el,v 3.5 1994/04/08 21:39:52 liberte Exp liberte $
84;;; $Log: edebug.el,v $
85;;; Revision 3.5 1994/04/04 21:39:52 liberte 85;;; Revision 3.5 1994/04/04 21:39:52 liberte
86;;; * Change "-emacs-" to "-original-" throughout. 86;;; * Change "-emacs-" to "-original-" throughout.
87;;; * (edebug-last-sexp) Fix missing ";;" 87;;; * (edebug-last-sexp) Fix missing ";;"
@@ -107,7 +107,7 @@
107;;; For the rest of the revision history, see edebug-history. 107;;; For the rest of the revision history, see edebug-history.
108 108
109(defconst edebug-version 109(defconst edebug-version
110 (let ((raw-version "3.5")) 110 (let ((raw-version "$Revision: 3.5 $"))
111 (substring raw-version (string-match "[0-9.]*" raw-version) 111 (substring raw-version (string-match "[0-9.]*" raw-version)
112 (match-end 0)))) 112 (match-end 0))))
113 113
@@ -153,25 +153,24 @@
153 153
154(defvar edebug-setup-hook nil 154(defvar edebug-setup-hook nil
155 "*Functions to call before edebug is used. 155 "*Functions to call before edebug is used.
156Its value is reset to nil after being used, so each time it is set 156Each time it is set to a new value, Edebug will call those functions
157to a new function, that function will be called once and only once.") 157once and then `edebug-setup-hook' is reset to nil. You could use this
158to load up Edebug specifications associated with a package you are
159using but only when you also use Edebug.")
158 160
159(defvar edebug-all-defs nil 161(defvar edebug-all-defs nil
160 "*If non-nil, evaluation of any defining forms will use Edebug. 162 "*If non-nil, evaluation of any defining forms will instrument for Edebug.
161`eval-defun' without prefix arg and `eval-region' will use 163This applies to `eval-defun', `eval-region', `eval-buffer', and
162`edebug-eval-top-level-form'. 164`eval-current-buffer'. `eval-region' is also called by
163
164If nil, `eval-region' evaluates normally, but `eval-defun' with prefix arg
165uses `edebug-eval-top-level-form'. `eval-region' is called by `eval-defun',
166`eval-last-sexp', and `eval-print-last-sexp'. 165`eval-last-sexp', and `eval-print-last-sexp'.
167 166
168You can use the command `edebug-all-defs' to toggle the value of this 167You can use the command `edebug-all-defs' to toggle the value of this
169variable. You may wish to make this variable local to each 168variable. You may wish to make it local to each buffer with
170buffer with (make-local-variable 'edebug-all-defs) in your 169(make-local-variable 'edebug-all-defs) in your
171`emacs-lisp-mode-hook'.") 170`emacs-lisp-mode-hook'.")
172 171
173(defvar edebug-all-forms nil 172(defvar edebug-all-forms nil
174 "*Non-nil means edebug the evaluation of all forms. 173 "*Non-nil evaluation of all forms will instrument for Edebug.
175This doesn't apply to loading or evaluations in the minibuffer. 174This doesn't apply to loading or evaluations in the minibuffer.
176Use the command edebug-all-forms to toggle the value of this option.") 175Use the command edebug-all-forms to toggle the value of this option.")
177 176
@@ -186,15 +185,15 @@ and some not, you should specify an edebug-form-spec.
186This option is going away soon.") 185This option is going away soon.")
187 186
188(defvar edebug-stop-before-symbols nil 187(defvar edebug-stop-before-symbols nil
189 "*Non-nil causes edebug to stop before symbols as well as after. 188 "*Non-nil causes Edebug to stop before symbols as well as after.
190In any case, it is possible to stop before a symbol with a breakpoint or 189In any case, a breakpoint or interrupt may stop before a symbol.
191interrupt.") 190
191This option is going away soon.")
192 192
193(defvar edebug-save-windows t 193(defvar edebug-save-windows t
194 "*If non-nil, save and restore window configuration on edebug calls. 194 "*If non-nil, Edebug saves and restores the window configuration.
195It takes some time to save and restore, so if your program does not care 195That takes some time, so if your program does not care what happens to
196what happens to the window configurations, it is better to set this 196the window configurations, it is better to set this variable to nil.
197variable to nil.
198 197
199If the value is a list, only the listed windows are saved and 198If the value is a list, only the listed windows are saved and
200restored. 199restored.
@@ -202,49 +201,43 @@ restored.
202`edebug-toggle-save-windows' may be used to change this variable.") 201`edebug-toggle-save-windows' may be used to change this variable.")
203 202
204(defvar edebug-save-displayed-buffer-points nil 203(defvar edebug-save-displayed-buffer-points nil
205 "*If non-nil, save and restore the points of all displayed buffers. 204 "*If non-nil, save and restore point in all displayed buffers.
206 205
207Saving and restoring buffer points is necessary if you are debugging 206Saving and restoring point in other buffers is necessary if you are
208code that changes the point of a buffer which is displayed in a 207debugging code that changes the point of a buffer which is displayed
209non-selected window. If edebug or the user then selects the 208in a non-selected window. If Edebug or the user then selects the
210window, the buffer's point will be changed to the window's point. 209window, the buffer's point will be changed to the window's point.
211 210
212But this is an expensive operation since it visits each 211Saving and restoring point in all buffers is expensive, since it
213window and therefore each displayed buffer twice for each edebug call, 212requires selecting each window twice, so enable this only if you need
214so it is best to avoid it if you can.") 213it.")
215 214
216(defvar edebug-initial-mode 'step 215(defvar edebug-initial-mode 'step
217 "*Initial execution mode for Edebug, if non-nil. 216 "*Initial execution mode for Edebug, if non-nil. If this variable
218This is used when edebug is first entered for each recursive-edit 217is non-@code{nil}, it specifies the initial execution mode for Edebug
219level. Possible values are nil (which means leave 218when it is first activated. Possible values are step, next, go,
220edebug-execution-mode as is), step, (the default), next, go,
221Go-nonstop, trace, Trace-fast, continue, and Continue-fast.") 219Go-nonstop, trace, Trace-fast, continue, and Continue-fast.")
222 220
223(defvar edebug-trace nil 221(defvar edebug-trace nil
224 "*Non-nil if edebug should show a trace of function entry and exit. 222 "*Non-nil means display a trace of function entry and exit.
225Tracing output is displayed in a buffer named by the variable 223Tracing output is displayed in a buffer named `*edebug-trace*', one
226edebug-trace-buffer, one function entry or exit per line, indented by 224function entry or exit per line, indented by the recursion level.
227the stack depth. You can customize by replacing functions 225
228edebug-print-trace-before and edebug-print-trace-after.") 226You can customize by replacing functions `edebug-print-trace-before'
227and `edebug-print-trace-after'.")
229 228
230(defvar edebug-test-coverage nil 229(defvar edebug-test-coverage nil
231 "*If non-nil, Edebug tests coverage of all expressions debugged. 230 "*If non-nil, Edebug tests coverage of all expressions debugged.
232This is done by comparing the result of each expression 231This is done by comparing the result of each expression
233with the previous result. Coverage is considered OK if two different 232with the previous result. Coverage is considered OK if two different
234results are found. So to sufficiently test the coverage of your code, 233results are found.
235try to execute it under conditions that evaluate all expressions more
236than once, and produce different results for each expression.
237 234
238Use `edebug-display-freq-count' to display the frequency count and 235Use `edebug-display-freq-count' to display the frequency count and
239coverage information for a definition.") 236coverage information for a definition.")
240 237
241(defvar edebug-continue-kbd-macro nil 238(defvar edebug-continue-kbd-macro nil
242 "*If non-nil, continue executing any keyboard macro that is 239 "*If non-nil, continue defining or executing any keyboard macro.
243executing outside. Use this with caution since it is not debugged.") 240Use this with caution since it is not debugged.")
244
245(defvar edebug-global-break-condition nil
246 "*If non-nil, an expression to test for at every stop point.
247If the result is non-nil, then break. Errors are ignored.")
248 241
249 242
250(defvar edebug-print-length 50 243(defvar edebug-print-length 50
@@ -274,6 +267,11 @@ After execution is resumed, the error is signaled again.")
274(defvar edebug-on-quit t 267(defvar edebug-on-quit t
275 "*Value bound to `debug-on-quit' while Edebug is active.") 268 "*Value bound to `debug-on-quit' while Edebug is active.")
276 269
270(defvar edebug-global-break-condition nil
271 "*If non-nil, an expression to test for at every stop point.
272If the result is non-nil, then break. Errors are ignored.")
273
274
277;;;; Form spec utilities. 275;;;; Form spec utilities.
278;;; =============================== 276;;; ===============================
279 277
@@ -328,7 +326,8 @@ except when debugging needs suggest otherwise."
328 newsymbol)) 326 newsymbol))
329)) 327))
330 328
331(if (not (fboundp 'keywordp)) 329;; Only used by CL-like code.
330'(if (not (fboundp 'keywordp))
332 (defun keywordp (object) 331 (defun keywordp (object)
333 "Return t if OBJECT is a keyword. 332 "Return t if OBJECT is a keyword.
334A keyword is a symbol that starts with "":""." 333A keyword is a symbol that starts with "":""."
@@ -1432,7 +1431,7 @@ expressions; a `progn' form will be returned enclosing these forms."
1432 (cond 1431 (cond
1433 ;; Check for constant symbols that dont get wrapped. 1432 ;; Check for constant symbols that dont get wrapped.
1434 ((or (memq form '(t nil)) 1433 ((or (memq form '(t nil))
1435 (keywordp form)) 1434 (and (fboundp 'keywordp) (keywordp form)))
1436 form) 1435 form)
1437 1436
1438 ;; This option may go away. 1437 ;; This option may go away.
@@ -1997,7 +1996,7 @@ expressions; a `progn' form will be returned enclosing these forms."
1997 edebug-spec-list 1996 edebug-spec-list
1998 stringp 1997 stringp
1999 [lambda-list-keywordp &rest edebug-spec] 1998 [lambda-list-keywordp &rest edebug-spec]
2000 [keywordp gate edebug-spec] 1999 ;; [keywordp gate edebug-spec] ;; need keywordp for this.
2001 edebug-spec-p ;; Including all the special ones e.g. form. 2000 edebug-spec-p ;; Including all the special ones e.g. form.
2002 symbolp;; a predicate 2001 symbolp;; a predicate
2003 )) 2002 ))
@@ -4500,7 +4499,7 @@ Print result in minibuffer."
4500 4499
4501 (byte-compile-resolve-functions 4500 (byte-compile-resolve-functions
4502 '(reporter-submit-bug-report 4501 '(reporter-submit-bug-report
4503 gensym keywordp;; cl.el 4502 gensym ;; also in cl.el
4504 ;; Interfaces to standard functions. 4503 ;; Interfaces to standard functions.
4505 edebug-original-eval-defun 4504 edebug-original-eval-defun
4506 edebug-original-read 4505 edebug-original-read
@@ -4562,3 +4561,4 @@ Print result in minibuffer."
4562 4561
4563;;; edebug.el ends here 4562;;; edebug.el ends here
4564 4563
4564