Having this testing, I discovered the following bugs:

When I have this: ❝☚☛€☐☃✌❝☚☛€☐☃✌❝☚☛€☐☃✌❝☚☛€☐☃✌

And I edited to this: ❝☚☛€☐☃✌

I'm expect: ❝☚☛€☐☃✌<del>❝☚☛€☐☃✌❝☚☛€☐☃✌❝☚☛€☐☃✌</del>

But I get: <del>❝☚☛€☐☃✌❝☚☛€☐☃✌❝☚☛€☐☃✌❝☚☛€☐☃✌</del> ❝☚☛€☐☃✌

When I have this: !@#$%^&*()_+

And I edited to this: x❝☚☛€☐☃✌x

I'm expect: <green>x</green>❝☚☛€☐☃✌<green>x</green>

But I get: <del>❝☚☛€☐☃✌</del> <br> <green>x!@#$%^&*()_+x</green>


I'm guessing the diff works on "words", not characters. So in your example, since you have no spaces in there, it just treats it as if you changed one word with another.

I think that makes sense anyway since it would become hard to read if it tried to be too clever or do it by character. If you changed I heart unicorns to I hate unicorns, seeing:

I hearte unicorns

is much more confusing than:

I hearthate unicorns

I'm going out on a limb & saying: [status-bydesign]


Consider ❝☚☛€☐☃✌ block as a A, and when A A A A A is changed to A, it does not matter A A A AA or AA A A A, It just depends on diff's implementation.

Edit:Regarding edited part of the question, Alconja's answer make sense.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .