rem: item = WMAddSortedListItem(panel->famLs, buffer);
add: item = WMAddListItem(panel->famLs, buffer);
context: listFamilies(WMScreen *scr, WMFontPanel *panel){    char **fontList;    int count;    int i;    WMHashTable *families = WMCreateHashTable(WMStringPointerHashCallbacks);    char fields[NUM_FIELDS][256];    WMHashEnumerator enumer;    WMBag *bag;        fontList = XListFonts(scr->display, ALL_FONTS_MASK, MAX_FONTS_TO_RETRIEVE,                           &count);    if (!fontList) {	WMRunAlertPanel(scr, panel->win, "Error", 			"Could not retrieve font list", "OK", NULL, NULL);	return;    }    for (i = 0; i < count; i++) {	int fname_len;	if (!isXLFD(fontList[i], &fname_len)) {	    *fontList[i] = '\0';	    continue;	}	if (fname_len > 255) {	    wwarning("font name %s is longer than 256, which is invalid.",		     fontList[i]);	    *fontList[i] = '\0';	    continue;	}	if (!parseFont(fontList[i], fields)) {	    *fontList[i] = '\0';	    continue;	}	addFontToFamily(families, fields);    }    enumer = WMEnumerateHashTable(families);        while ((bag = WMNextHashEnumeratorItem(&enumer))) {	int i;	Family *fam;	char buffer[256];	WMListItem *item;	for (i = 0; i < WMGetBagItemCount(bag); i++) {	    fam = WMGetFromBag(bag, i);	    	    strcpy(buffer, fam->name);	    if (fam->showFoundry) {		strcat(buffer, " ");		strcat(buffer, fam->foundry);		strcat(buffer, " ");	    }	    if (fam->showRegistry) {		strcat(buffer, " (");		strcat(buffer, fam->registry);		strcat(buffer, "-");		strcat(buffer, fam->encoding);		strcat(buffer, ")");	    }	    item = WMAddSortedListItem(panel->famLs, buffer);	    	    item->clientData = fam;	}	WMFreeBag(bag);    }        WMFreeHashTable(families);}