rem: range->position = 0;
context: normalizeRange(TextField *tPtr, WMRange *range){    if (range->position < 0 && range->count < 0)    	range->count = 0;    if (range->count == 0) {    	range->position = 0;	return;    }        /* (1,-2) ~> (0,1) ; (1,-1) ~> (0,1) ; (2,-1) ~> (1,1) */    if (range->count < 0) { /* && range->position >= 0 */	if (range->position + range->count < 0) {	    range->count = range->position;	    range->position = 0;	} else {	    range->count = -range->count;    	    range->position -= range->count;	}    /* (-2,1) ~> (0,0) ; (-1,1) ~> (0,0) ; (-1,2) ~> (0,1) */    } else if (range->position < 0) { /* && range->count > 0 */    	if (range->position + range->count < 0) {	    range->position = range->count = 0;	} else {	    range->count += range->position;	    range->position = 0;	}    }        if (range->position + range->count > tPtr->textLen)    	range->count = tPtr->textLen - range->position;}