fix: strip trailing CR in diff content to remove stray "CR" box#2536
Closed
gadfly3173 wants to merge 1 commit into
Closed
fix: strip trailing CR in diff content to remove stray "CR" box#2536gadfly3173 wants to merge 1 commit into
gadfly3173 wants to merge 1 commit into
Conversation
Git splits diff lines on '\n', so the '\r' from CRLF/CR files stays glued to the line content in TextDiffLine.Content. After the editor trims the trailing newline, the last line is left with an isolated '\r', which AvaloniaEdit renders as a boxed "CR" control character. Strip it at parse time. RawContent keeps the raw bytes unchanged, so patch generation and the \r\n/\n line-ending markers are unaffected.
Collaborator
|
What's the original |
Contributor
Author
Collaborator
|
I mean the original |
Contributor
Author
Collaborator
|
See #2517 |
Contributor
Author
|
I think my PR only removes the end CR of the line, would not affect CR in the middle of the line. |
Collaborator
Contributor
Author
实际上都是\r\n,从前面的diff截图可以看到,每一行结尾都是 |
Collaborator
我明白了。这个之前改 AvaloniaEdit 时改出的BUG。Diff 结果中由于最后一行没有 |
love-linger
added a commit
that referenced
this pull request
Jul 15, 2026
…2536) Signed-off-by: leo <longshuang@msn.cn>
Collaborator
|
我提交了自己的修复方案 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Git splits diff lines on
\n, so the\rfrom CRLF/CR files stays glued to the line content in TextDiffLine.Content. After the editor trims the trailing newline, the last line is left with an isolated\r, which AvaloniaEdit renders as a boxed "CR" control character.Strip it at parse time. RawContent keeps the raw bytes unchanged, so patch generation and the
\r\n/\nline-ending markers are unaffected.Introduced by commit 6a47cec
Original: