rem: if (!lPtr->flags.allowMultipleSelection)
add: if (!lPtr->flags.allowMultipleSelection) {
context: WMSelectListItem(WMList *lPtr, int row){    WMListItem *itemPtr;    int i;    if (row >= lPtr->itemCount)	return;        if (!lPtr->flags.allowMultipleSelection) {	/* unselect previous selected item */	if (lPtr->selectedItem >= 0) {	    itemPtr = lPtr->items;	    for (i=0; i<lPtr->selectedItem; i++)		itemPtr = itemPtr->nextPtr;	    	    if (itemPtr->selected) {		itemPtr->selected = 0;		if (lPtr->view->flags.mapped && i>=lPtr->topItem 		    && i<=lPtr->topItem+lPtr->fullFitLines)		    paintItem(lPtr, i);	    }	}    }        if (row < 0) {	if (!lPtr->flags.allowMultipleSelection)	    lPtr->selectedItem = -1;	return;    }    /* select item */    itemPtr = lPtr->items;    for (i=0; i<row; i++)	itemPtr = itemPtr->nextPtr;    if (lPtr->flags.allowMultipleSelection)	itemPtr->selected = !itemPtr->selected;    else	itemPtr->selected = 1;    if (lPtr->view->flags.mapped) {	paintItem(lPtr, row);	if ((row-lPtr->topItem+lPtr->fullFitLines)*lPtr->itemHeight	    > lPtr->view->size.height-2)	    W_DrawRelief(lPtr->view->screen, lPtr->view->window, 0, 0,			 lPtr->view->size.width, lPtr->view->size.height,			 WRSunken);    }    lPtr->selectedItem = row;}