[UI] Compiler messages
tim Rowledge
tim at rowledge.org
Tue Nov 13 18:03:34 UTC 2007
On 13-Nov-07, at 9:18 AM, Bill Schwab wrote:
> Colin,
>
> First, not meaning to be dense, I load the code and the compiler
> continues to nag me over both selectors and variables. Do I need to
> set
> the mode, or does you fix work only with specific browsers?
Take a look at the code Bill; Colin made changes to abstract the
notifications by raising specific signals instead of explicitly using
menus. If you want to handle the exceptions you can. The defaultAction
is to open a menu as before, a very logical and reasonable choice.
> I would probably opt to simply patch it enough to stop the nonsense,
> at
> least to start.
That's exactly what Colin's code does. It stops the nonsense and
provides a way for clients to do what they need as well as leaving the
system fully functional when there is no specific handling of errors.
The next part of the job would be to find all the relevant places
where the Parser is used (ie start with all senders of the public
access protocols in the Parser class) and to decide whether to handle
the exceptions or not. Without digging into it too far I'd suggest
that a subclass of Compiler (called perhaps InteractiveCompiler) be
built that handled all the exceptions with menus or preferably better
dialogues. Then the various browsers would be altered to use
InteractiveCompiler instead of the plain old Compiler. This could even
allow nicer behaviour such as showing where a shadowed varname is
'originally' used, stuff integrated into the actual browser.
Eventually you could change the defaultAction for the exceptions to
just open a debugger since they'd now be more of a system error. For
any batch loading system - like a changeset loader or whatever - you
would add another subclass of Compiler (say ChangeSetLoaderCompiler)
that handles the exceptions appropriately. If you look at
PositionableStream>fileInAnnouncing: you'll see how some of that is
curently handled, more as a bad example than anything. Also look at
all references to InMidstOfFileinNotification. Err, yuck.
tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Strange OpCodes: BOZO: Use Multics operating system
More information about the UI
mailing list