Just some tips if you're going to help with HexChat code (patches etc): * Use tabs, not spaces, to indent code. * Use a tab size of 3 (most editors will let you choose this). Type :set ts=3 in vim/gvim. * Try to stick to the same consistant coding style: void routine (void) { if (function (a, b, c)) { x = a + 1; } } (vertically aligned braces, a space after if, while, functions etc). * Don't use "//" C++ style comments, some compilers don't like them. * When opening a file with unix level functions (open, read/write, close) as opposed to the C-level functions (fopen, fwrite/fread, fclose), use the OFLAGS macro. This makes sure it'll work on Win32 aswell as unix e.g: fh = open ("file", OFLAGS | O_RDONLY); * Use closesocket() for sockets, and close() for normal files. * Don't read() from sockets, instead use recv(). * Please provide unified format diffs (run diff -u). * Call your patch something more meaningfull than hexchat.diff (I get a million of these files!). * To make a really nice and clean patch, do something like this: Have two directories, unpacked from the original archive: hexchat-2.0.0/ hexchat-2.0.0p1/ Then edit/compile the hexchat-2.0.0p1 directory. When you're done, make a patch with: cd hexchat-2.0.0p1 make distclean cd .. diff -urN hexchat-2.0.0 hexchat-2.0.0p1 > hexchat-something.diff If using nmake (Windows) replace "make distclean" with "nmake -f makefile.msc clean"