I forgot to say that using the following method version instead, I get the result I expected:

buildPatchSequence
"This method is only implemented for backwards compatibility and testing."
^Array streamContents: [ :stream |
self�
patchSequenceDoIfMatch: [ :string |
stream nextPut: #match -> string copy ]
ifInsert: [ :string |�
stream nextPut: #insert -> string copy ]
ifRemove: [ :string |�
stream nextPut: #remove -> string copy ] ]

#Luc



2012/10/18 Luc Fabresse <luc.fabresse@gmail.com>
Hi All,

�I tried to do a text diff using DiffMorph.
�But if compared strings contain CR character, the display seems not be accurate.
�Example:

s1 := 'ab', String space, String cr, 'd', String space, String cr, 'ef'.
s2 := 'ab', String cr, 'd', String cr, 'ef'.�

(DiffMorph�
from: s1
to: s2)
openInWindow.

� In this example, d (on line 2) is highlighted while it should not IMHO.
� I track this until (a DiffMorph uses a TextDiffBuilder):

� TextDiffBuilder>>buildPatchSequence
^Array streamContents: [ :stream |
self�
patchSequenceDoIfMatch: [ :string |
stream nextPut: #match -> (string copyWithout: Character cr) ]
ifInsert: [ :string |�
stream nextPut: #insert -> (string copyWithout: Character cr) ]
ifRemove: [ :string |�
stream nextPut: #remove -> (string copyWithout: Character cr) ] ]


�My question: why ignoring�Character cr?
�Should we change it?

#Luc