diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 1fdf448e..e1cb2553 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -50,6 +50,7 @@
Migrate CSVFormat#print(File, Charset) to NIO #445.
Fix documentation for CSVFormat private constructor #466.
CSVFormat does not support explicit " as escape char.
+ CSVFormat does not support explicit " as escape char.
Bump commons-codec:commons-codec from 1.16.1 to 1.17.1 #422, #449.
Bump org.apache.commons:commons-parent from 69 to 74 #435, #452, #465, #468.
diff --git a/src/main/java/org/apache/commons/csv/Lexer.java b/src/main/java/org/apache/commons/csv/Lexer.java
index e2aec718..489166f7 100644
--- a/src/main/java/org/apache/commons/csv/Lexer.java
+++ b/src/main/java/org/apache/commons/csv/Lexer.java
@@ -32,19 +32,12 @@ final class Lexer implements Closeable {
private static final String CR_STRING = Character.toString(Constants.CR);
private static final String LF_STRING = Character.toString(Constants.LF);
- /**
- * Constant char to use for disabling comments, escapes, and encapsulation. The value -2 is used because it
- * won't be confused with an EOF signal (-1), and because the Unicode value {@code FFFE} would be encoded as two
- * chars (using surrogates) and thus there should never be a collision with a real text char.
- */
- private static final char DISABLED = '\ufffe';
-
private final char[] delimiter;
private final char[] delimiterBuf;
private final char[] escapeDelimiterBuf;
- private final char escape;
- private final char quoteChar;
- private final char commentStart;
+ private final int escape;
+ private final int quoteChar;
+ private final int commentStart;
private final boolean ignoreSurroundingSpaces;
private final boolean ignoreEmptyLines;
private final boolean lenientEof;
@@ -197,8 +190,8 @@ final class Lexer implements Closeable {
return ch == Constants.LF || ch == Constants.CR || ch == Constants.UNDEFINED;
}
- private char mapNullToDisabled(final Character c) {
- return c == null ? DISABLED : c.charValue(); // N.B. Explicit (un)boxing is intentional
+ private int mapNullToDisabled(final Character c) {
+ return c == null ? -1 : c.charValue(); // Explicit unboxing is intentional
}
/**
@@ -512,4 +505,5 @@ final class Lexer implements Closeable {
buffer.setLength(length);
}
}
+
}
diff --git a/src/test/java/org/apache/commons/csv/issues/JiraCsv150Test.java b/src/test/java/org/apache/commons/csv/issues/JiraCsv150Test.java
index 415fe296..1ede9f23 100644
--- a/src/test/java/org/apache/commons/csv/issues/JiraCsv150Test.java
+++ b/src/test/java/org/apache/commons/csv/issues/JiraCsv150Test.java
@@ -23,10 +23,8 @@ import java.io.StringReader;
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVParser;
-import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
-@Disabled
public class JiraCsv150Test {
private void testDisable(final CSVFormat csvFormat, final StringReader stringReader) throws IOException {