home *** CD-ROM | disk | FTP | other *** search
- (define-module (lang elisp internals trace)
- #:export (trc trc-syms trc-all trc-none))
-
- (define *syms* #f)
-
- (define (trc-syms . syms)
- (set! *syms* syms))
-
- (define (trc-all)
- (set! *syms* #f))
-
- (define (trc-none)
- (set! *syms* '()))
-
- (define (trc . args)
- (let ((sym (car args))
- (args (cdr args)))
- (if (or (and *syms*
- (memq sym *syms*))
- (not *syms*))
- (begin
- (write sym)
- (display ": ")
- (write args)
- (newline)))))
-
- ;; Default to no tracing.
- (trc-none)
-