CLIM mail archive


Motif Breakage

    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
   class names.

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 | Thread Index