returned to start/end index to track error list changes

now the start index is only set once (the first time) since a lower
value will never be set, but the end index is still set when a larger
index is changed with one modification - when the operation is to remove
an error from the list, the index is decreased by one before comparing
to the current end index

with this adjustment for a remove operation, the number of errors in the
list changed will be the end index minus the start index plus one; and
the additional errors inserted or deleted will be the change in the size
of the error list