diff --git a/Foundation/CPAttributedString.j b/Foundation/CPAttributedString.j index 1dc9122b8..aac2cd0b7 100755 --- a/Foundation/CPAttributedString.j +++ b/Foundation/CPAttributedString.j @@ -526,16 +526,18 @@ if (!aString) aString = @""; - var lastValidIndex= MAX(_rangeEntries.length-1, 0); - var startingIndex = [self _indexOfEntryWithIndex: aRange.location]; + var lastValidIndex = MAX(_rangeEntries.length - 1, 0), + startingIndex = [self _indexOfEntryWithIndex: aRange.location]; - if (startingIndex < 0) startingIndex = lastValidIndex; + if (startingIndex < 0) + startingIndex = lastValidIndex; var endingIndex = [self _indexOfEntryWithIndex: CPMaxRange(aRange)]; - if (endingIndex < 0) endingIndex = lastValidIndex; + if (endingIndex < 0) + endingIndex = lastValidIndex; - var additionalLength = aString.length - aRange.length; - var patchPosition = startingIndex; + var additionalLength = aString.length - aRange.length, + patchPosition = startingIndex; _string = _string.substring(0, aRange.location) + aString + _string.substring(CPMaxRange(aRange)); var originalLength= _rangeEntries[patchPosition].range.length; @@ -551,16 +553,16 @@ if (endingIndex > startingIndex) { - var originalOffset= _rangeEntries[startingIndex].range.location; - var offsetFromSplicing = CPMaxRange(_rangeEntries[endingIndex].range)-originalOffset + var originalOffset= _rangeEntries[startingIndex].range.location, + offsetFromSplicing = CPMaxRange(_rangeEntries[endingIndex].range)-originalOffset; _rangeEntries.splice(startingIndex, endingIndex - startingIndex); - _rangeEntries[startingIndex].range=CPMakeRange(originalOffset, offsetFromSplicing); + _rangeEntries[startingIndex].range = CPMakeRange(originalOffset, offsetFromSplicing); } - if (patchPosition !== startingIndex) - { var lhsOffset=aString.length -CPIntersectionRange(_rangeEntries[patchPosition].range, aRange).length; - _rangeEntries[patchPosition].range.length = originalLength+lhsOffset; - var rhsOffset=aString.length -CPIntersectionRange(_rangeEntries[startingIndex].range, aRange).length; + if (patchPosition !== startingIndex) + { var lhsOffset = aString.length -CPIntersectionRange(_rangeEntries[patchPosition].range, aRange).length; + _rangeEntries[patchPosition].range.length = originalLength + lhsOffset; + var rhsOffset = aString.length -CPIntersectionRange(_rangeEntries[startingIndex].range, aRange).length; _rangeEntries[startingIndex].range.location += lhsOffset; _rangeEntries[startingIndex].range.length += rhsOffset; patchPosition= startingIndex; @@ -601,7 +603,8 @@ endingEntryIndex = [self _indexOfRangeEntryForIndex:CPMaxRange(aRange) splitOnMaxIndex:YES], current = startingEntryIndex; - if (current < 0) current = MAX(_rangeEntries.length-1, 0); + if (current < 0) + current = MAX(_rangeEntries.length - 1, 0); if (endingEntryIndex === CPNotFound) endingEntryIndex = _rangeEntries.length;