Drop trailing tabs from comments instead of writing them out - #73
Merged
Merged
Conversation
A line comment that ended in tabs, "// comment\t\t\t", kept them in the output, so the formatted file had trailing whitespace where the same comment ending in spaces had none. JavaOutput collected pending spaces in a counter and wrote them only in front of the next non-blank character, which is what drops trailing spaces; a tab fell through to the default case and was written straight away. This ports google/google-java-format#423 by Alexander Eckert (upstream commit 05f57ec9, fixing google/google-java-format#422): pending whitespace is kept as text, tabs included, and written out only when something follows it on the line, so a tab inside a comment stays and a tab at the end of one goes. The removeTrailingTabsInComments test comes from upstream, in this project's style. The 15,747 files of the JDK 21 sources format exactly as before.
abashev
added a commit
to openjavaformat/docs
that referenced
this pull request
Sep 25, 2026
…ange 2.98.0.4 carries two more fixes that change code palantir-java-format 2.98.0 has already formatted: a one-letter class name such as Android's R no longer counts as a constant in a dotted name (openjavaformat/open-java-format#70), and tabs at the end of a line in a comment are dropped (openjavaformat/open-java-format#73). Neither shows on the JDK 21 sources, which have no such dotted name and no comment ending in a tab, and the corpus paragraph now says so. The other fixes of 2.98.0.4 leave code that palantir-java-format has already formatted as it is, so they stay off the list. Every item now links the pull request behind it. The string fix went to main without one, so it links the issue it closed, openjavaformat/open-java-format#32. The GitHub Action page gives 2.98.0.4 as the default of the version input, as the action's main branch now does (openjavaformat/open-java-format-action@83d0df8).
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.
Brings over google/google-java-format#423 by Alexander Eckert, which fixes google/google-java-format#422 (google-java-format 1.8).
The bug
A line comment that ended in tabs,
// comment\t\t\t, kept them in the output, so the formatted file had trailing whitespace where the same comment ending in spaces had none.JavaOutputcollected pending spaces in a counter and wrote them only in front of the next non-blank character, which is what drops trailing spaces; a tab fell through to the default case and was written straight away.From upstream, with the author kept
/* block\t */, stays; a tab at the end of one goes. TheremoveTrailingTabsInCommentstest comes with it, in this project's style.Checked
./gradlew :open-java-format:teston JDK 21: 1498 tests, all green.