On 07/14/2010 05:57 PM, Henri Verbeet wrote:
On 14 July 2010 22:57, Max TenEyck Woodburymax@mtew.isa-geek.net wrote:
- No, I am not replacing all 'FIXME's with 'FIXME_ONCE's. I'm working
on things labeled 'stub' or equivalent. Also 'FIXME's that do not have any additional information. I went over the files that bug 15435 said were too noisy. There are almost certainly many other places 'FIXME_ONCE' can be used.
Actually, since this seems to come up from time to time, let me go and explicitly say it. I think bug 15435 is mildly offensive at best. There are basically two claims at the basis of that bug report: "debug output confuses users" and "debug output makes log analysis hard". For the first claim, I'd like to think most of our users aren't complete idiots, so I find this hard to believe. Regardless, debug output isn't meant for users, so if you don't want to see debug output run with WINEDEBUG=-all, or don't run from the terminal in the first place. The second claim actively offends me though, because it basically comes down to "I think developers are idiots". If, as a developer who actually does analyze those logs, I really thought those FIXMEs made my life so much harder I would've changed them myself. I like to think I'm capable enough of deciding for myself which debug output I like to see, and I imagine other actual developers are as well.
That's not to say there aren't FIXMEs that would be better of only being printed once, but please leave those kinds of decisions to qualified developers familiar with the code in question.
I did read the bug report and I think I understand the issue. Dan Kegel suggested that that bug report was a good place to start working on wine. I did think about what was happening. If a report contains variable information that should be printed on each entry, that report should us 'TRACE', not 'FIXME'. 'FIXME's that contain no variable information are completely redundant after their first report. After the first reminder, the additional reports are just noise. They add no additional information in terms of action required. If this is not true in a particular situation, again, 'TRACE' should be used. Similarly, 'WARN' without variable information are usually redundant after they are first issued.
I may be new to Wine, but I have a substantial amount of experience designing, writing and fixing code. I learned programming by fixing my fathers code. I more than understand and accept your desire to decide that '_ONCE' is appropriate in special situations but there are many situations where the need for '_ONCE' is obvious. The changes I have made are of that type, at least in my opinion.