jim said:
>  
In practice what one normally sees is some weird mixture of
>   the two possible situations, and it isn't clear to me
>   which display technique is best, so so far I have
>   chosen the easiest approach to implement

in view of the frank admission, let me make some suggestions.

i believe these would make your tool's output more workable
for the end-user who has to resolve the diffs, no matter _what_
method they use, including the reg-ex editor you use yourself.

***

let me pull out the last 2 of the 55 anomalies i posted for you...

***

here's the first:

>   drew their stores of { <i>krasnia |
>   Jcrasnia ruiba</i> |
>   ruiba } (the red

some people might prefer the version as it was in your file:

>   stores of { <i>krasnia |  Jcrasnia ruiba</i> |  ruiba } (the red

rather than showing this as a single diff, i'd present it as two...

the first would be:
>   { <i>krasnia |  Jcrasnia }.

the second would be
>   { ruiba</i> |  ruiba }

***

here's the second example:

>   the trough of the watering place of { the |
>   the" "Jamestown," |
>   Jamestown,"} came to the beach. This place may be

or, more in keeping with how it's displayed in your output:

>   place of { the | the" "Jamestown," | Jamestown,"} came to

again, i would present this as two diffs...

the first would be:
>   { the | the" }

the second would be:
>   { "Jamestown," | Jamestown,"}

***

in both of these examples, i think combining the 2 diffs into
one bracket-bound item confuses the item unnecessarily, and
confuses the end-user in the process, making the resolution
much more difficult than it needs to be...

in many of these "multiple diff" brackets, i could have my tool
pull apart the various diffs, and display them appropriately...

so, you know, if you think the output you are showing now is
done the way you _want_ to have it done, that's your decision.

but i think it will be more clear if you did it slightly differently.

***

another confusion i had with your output was that there were
several bracketed items that contained some separator-lines...

since all of those separator-lines were standaridized by you
before you ran your pgdiff, it seems to me that none of them
should've been included in any of the brackets.  should they?

if you start bringing non-diff material into the edit process,
you're asking for problems, it would seem to me, so i would
rework that code to try to avoid such problems if i were you.

anyway, just a few suggestions, hopefully helpful ones...     :+)

-bowerbird