Change Bounding Logic

The idea is to compare to versions highlighting the region that has changed between the prefix and suffix that hasn't. Recoding this in 2022 I encountered difficult questions such as when a new word is added does the space after it count as new or the space before? I don't remember these challenges.

I figured out what was different when I wrote the change bounding logic in 1988. It was in Smalltalk and the workflow I was supporting was highly interactive, much more so than what we have in this process. Here is how it worked:

Any given method in our application was small. But after four years of work there were many bits of history that we found need to review. We had a tool that would list all of the versions by date. Click on one and you would see that version. Commonly we would march through a sequence of dates clicking each working forward or backward.

My improvement set the highlight to bound the chance with each new version. If you were clicking forward in time you would see new code highlighted. Clicking backwards you saw a sequence of removals. We never saw removals and replacements at the same time.

We also were moving through the history of a specific thing, always valued at the time, free of spelling or syntax errors because this was a list of "keepers". The selection was pointing to something more interesting and we were on the hunt looking for big game.