CLIM mail archive
Date: Tue, 18 Jan 1994 08:01 EST
From: Nichael Cramer <ncramer@BBN.COM>
I've spent a fair amount of time recently working in and around the Motif
gadgets in CLIM, particularly the menus/menu-bars. The wins here are
obvious: faster, better looking, consistency of interface, etc.
Actually, the home-grown menu bars I wrote for Genera are pretty darned
fast, at least as fast as the Motif ones. But they aren't nearly as
good looking, and they sure aren't "standard". But their existence
suggests a possible debugging strategy.
Unfortunately, these menus are not available in Franz's CLIM (you'll
have to nag them about that -- sorry about that, Colin!). If they were
available in Franz, here is the strategy I would use.
- Assume for purposes of debugging that the home-grown gadgets work
correctly (it is a sure bet that this is not 100% true!).
- Assume for purposes of debugging that the home-grown gadgets have
the same semantics as the Motif ones (this is also not 100% true,
but it's probably close enough).
- Use the home-grown gadgets to debug your code. Since they are
implemented completely in CLIM, it is much easier to debug things
when your own code breaks. You can use the home-grown ones by
creating classes with the explicit "concrete" class names.
- When you have debugged your code, go back to using the abstract
If you have any Genera machines around, you could use them.
If you decide to try this, and you find bugs in the home-grown gadgets,
please report the bugs so that I can fix them.
The primary lossage is equally obvious: i.e. if something breaks in the
middle of the motif calls --say a misspelled method name while deciding if
the item is active-- the motif-handler breaks.
At this point the console to my machine freezes and the only option I seem
to have is to go to another machine and kill my Lisp process (consequently,
all of my debugging info is gone, an enourmous amount of state can get
flushed, etc, etc...)
One other suggestion: is it not possible to simply se RESTART-PORT to
whack the port process on the side of the head? I should think that, if
that does not work, the folks at Franz (and the other CLIM vendors)
should try to make it work.
So the questions:
o Does anyone know any other way out of this?
o Is there some less catastrophic way of backing out of these errors?
o Is there some way to trap these errors (i.e. the ones that occur down
inside Motif) in a more meaningful/useful way?
As I said above the Motif-things are nice to use, but at the cost of
rebooting my machine six times a day during a tight development cycle,
their worth becomes less clear.
Main Index |