John Darrington <[EMAIL PROTECTED]> writes: > On Sat, Feb 04, 2006 at 07:40:17PM -0800, Ben Pfaff wrote: > > I wonder whether it'd be better to do something, as a compromise > measure, that is less disruptive. For example, msg() could > append messages to a global list and provide an interface to read > messages off the queue. Errors would propagate upward through > existing means until a function was prepared to report them to the > user through the user interface, or to discard them. > > I'd have to think about the implications of that. If we use a queue, > then it needs to be a priority queue, so that error more serious > messages get priority over the trivial ones. I've worked on systems > in the past, where if a small fault develops, 250 warning dialog > boxes popup. I think with this kind of system, we'd run the risk of > somthing similar happening.
I'm not sure that I explained properly, based on your reaction. A priority queue wouldn't be the right thing to do in general, in my opinion, because it would cause the messages to be reordered. If I have a warning on line 10, then an error on line 11, I want to see the warning first, not the error. I expect that in "normal" operation, messages would queue up for the entire execution of a command, then back in the main command loop we'd print them out in order. In the text UI, I expect that would be in main() as the code is currently organized. In the graphical UI, we'd be able to avoid the problem of an enormous number of dialogs easily because we'd have the whole list of messages at once. Instead of putting up 250 dialogs, we could just display a single dialog with a scrolling list of all the messages for a command; or just display the first message; or only display the messages with priority higher than "warning"; or just the most severe, as you say. On another note, some IDEs use a scrolling pane to display error messages. I don't know if that's appropriate for PSPP. -- Ben Pfaff email: [EMAIL PROTECTED] web: http://benpfaff.org _______________________________________________ pspp-dev mailing list pspp-dev@gnu.org http://lists.gnu.org/mailman/listinfo/pspp-dev