home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!olivea!apple!cambridge.apple.com!cfry@MIT.EDU
- From: cfry@MIT.EDU (Christopher Fry)
- Newsgroups: comp.lang.lisp.mcl
- Subject: print-db & *error-output*
- Message-ID: <9301120018.AA12912@MIT.EDU>
- Date: 12 Jan 93 00:04:07 GMT
- Sender: info-mcl-request@cambridge.apple.com
- Lines: 23
- Approved: comp.lang.lisp.mcl@Cambridge.Apple.C0M
-
- Print-db prints to *error-output* which automatically causes the
- listener to become the front window before it prints into it.
-
- Especially when debugging window system code using print-db you want the
- current front window to remain the front window throughout the
- print-db call. Semanitically I think of print-db more
- like a user-injected trace, rather than a program error.
- Trace-output does not pop the listener to the front.
-
- One way around these problems is to define your own macro:
-
- (defmacro print-db-fry (&rest args)
- `(let ((*error-output* *trace-output*))
- (print-db ,@args)))
-
- but I propose the MCL print-db be changed to use *trace-output* in place
- of *error-output*. The most flexibile would be to have it use
- *print-db-output* stream and let the hacker set it to what they want.
- I'd vote for the default being *trace-output*, though this extra hair
- is unnecessary for most uses I can think of at the moment.
-
- I'm guilty of introducing this function to CCL so, if it hasn't been changed
- since then, I guess I'm to blame for the current behavior.
-