From: Waldbaer <wal...@us...> - 2008-11-21 08:11:57
|
Alan Krueger schrieb: > Waldbaer wrote: >> I wondered why the columnNumbers for characters following a TAB >> character are so big. The TAB character seems to be treated like 8 >> characters. I found the following: >> >> com.steadystate.css.parser.ASCII_CharStream.UpdateLineColumn(char c), >> line 162: >> >> case '\t' : >> this.column--; >> this.column += (8 - (this.column & 07)); >> break; >> >> Why is this special treatment for TAB? >> > According to the SourceForge CVS browser, that looks like it was one of > your changes. :-) [...] > Changes since *1.2: +125 -125 lines* > Diff to previous 1.2 > <http://cssparser.cvs.sourceforge.net/viewvc/cssparser/cssparser/src/com/steadystate/css/parser/ASCII_CharStream.java?hideattic=0&r1=1.2&r2=1.3>cleanup > > http://cssparser.cvs.sourceforge.net/viewvc/cssparser/cssparser/src/com/steadystate/css/parser/ASCII_CharStream.java?hideattic=0&view=diff&r1=1.2&r2=1.3 <http://cssparser.cvs.sourceforge.net/viewvc/cssparser/cssparser/src/com/steadystate/css/parser/ASCII_CharStream.java?hideattic=0&view=diff&r1=1.2&r2=1.3> > > 162 > <http://cssparser.cvs.sourceforge.net/viewvc/cssparser/cssparser/src/com/steadystate/css/parser/ASCII_CharStream.java?annotate=1.3&hideattic=0#l162> > case '\t' : case '\t' : > 163 > <http://cssparser.cvs.sourceforge.net/viewvc/cssparser/cssparser/src/com/steadystate/css/parser/ASCII_CharStream.java?annotate=1.3&hideattic=0#l163> > column--; this.column--; > 164 > <http://cssparser.cvs.sourceforge.net/viewvc/cssparser/cssparser/src/com/steadystate/css/parser/ASCII_CharStream.java?annotate=1.3&hideattic=0#l164> > column += (8 - (column & 07)); this.column += > (8 - (this.column & 07)); > 165 > <http://cssparser.cvs.sourceforge.net/viewvc/cssparser/cssparser/src/com/steadystate/css/parser/ASCII_CharStream.java?annotate=1.3&hideattic=0#l165> > break; break; Well, I did some _changes_, but I did not write the original code. David? The problem that I see with this special treatment is that some viewing applications may treat a TAB char as 8, some as 4, some as 2 characters wide. In fact it's still only one character. I propose to remove the whole case block for '\t'. -- Waldbaer |