Yann Chachkoff wrote: > > Hi, > > It seems that in its current CVS form, the standard crossfire client became > completely unusable, due to some severe errors in both code and supplied data. > > Detected errors include - but may not be limited to: > > No question.sdl file (gx11.c, around line 680); The missing file is annoying, but unless standard procedure becomes to checkout out the CVS in another directory, is something hard to find. I did try to look over all the files listed as being unknown by the CVS repository when doing the checkin, but apparantly missed that. > last_start and last_end defined in the middle of a block in client.c; Thats pretty bad - I'll admit it. Even worse the gcc compiles it without even a warning when using the -Wall flag. I had moved the declarations but didn't look closely enough where I moved it. > > Such errors could easily be avoided by rereading of the code before putting it > into the CVS. > I understand CVS is the right place for unstable/unfinished code, but don't > you think it is a bit *too* unfinished ? Can't you at least try your code once > before committing ? I know saying that 'it compiled on my system' isn't a real great answer. This missing file one is a tough one to test out - its hard to know its really missing until a checkout is done from the server (or carefully look over all the files that CVS doesn't know about, but being there is about a dozen, not too hard to miss one. > I understand of course quite well that writing a bug-free code is not often > possible. But those are not bugs anymore - they are quite huge mistakes that > should never happen. It makes the others' work difficult just because the code > writer was too lazy to read what he wrote. I normally do a 'cvs diff' before committing the code, just to know all of what I changed. But in some cases, that won't catch anything. IT took my several seconds of looking to see what improper declaration of variables. I'm not sure that re-reading it would have caught it in any case. The biggest problem for this one was that I've been working on various parts of it for a pretty long time, and forgot about various parts, like the making of the question.sdl file.