this is a serious issue, see also debian bug
or sourceforge bug 836345.
When the disk is full any data written by xchat will
xchat needs a proper write error handling.
Attached is an example, (hopefully) catching write
errors for the server list. This is not the cleanest
code, i'd suggest using glib iostreams or so for it,
which use an GError object.