On 2003-09-04 at 00:11 -0700, Kelson Vibber wrote:
Where do we draw the line... and why? Compatibility? Ideology?
Suggestion: the point where conditional code compilation is being scattered throughout the code. That way lies a maintenance nightmare. The OpenSSH people have to do this, because every OS is a bit different in how the login process is managed, and even there the main development is done in a "clean" branch, for OpenSSH, and the Portable stuff is maintained separately. For a more historical example, look at wu-ftpd. If differences can be cleanly abstracted, so that people don't need to worry about the differences, then it's probably fine. But if someone's devoting their own personal time to a project, finding one OS which forces #ifdefs everywhere, in every file, just to compile suggests that it's not clean and not sufficiently in line. A grep for "ifdef" in the Dillo .c files shows remarkably little in that regard (most of the ones I see are the frames+tab patch's careful segregation. The most common ifdef is for VERBOSE and after that EXTENDED_COLOR, and those tend to be confined to small spaces. For an example of abstraction of OS differences done right, I like Exim (the Mail Transport Agent). Jorge: I've been at a conference and now am on a different desktop, so am not easily able to test the alternate fix for FreeBSD and the IO errors -- since Andreas reports that things work fine for him now, I'll take it on faith that the problem has been resolved -- thanks for the prompt response! (I got forced onto a new box and made a policy decision to go GTK2 only; I had a brief look at porting to GTK2 and got more stuff compiling, but part way through realised that I'd messed up badly so dumped that. I won't have time to look at this again for a while -- sorry) -- 2001: Blogging invented. Promises to change the way people bore strangers with banal anecdotes about their pets. <http://www.thelemon.net/issues/timeline.php>