whitespace和newline分成两种状态是为了不把所有的换行都删掉？