rune if input implements UnreadRune; otherwise the lookahead
will lie.
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/
4548082
}
func (s *ss) UnreadRune() os.Error {
- // Don't use strings.Reader.UnreadRune for now - appears to cause a problem.
- // TODO(r, gri): Fix this and remove code between --- lines!
- // ---
- if _, ok := s.rr.(*strings.Reader); ok {
- s.peekRune = s.prevRune
- s.count--
- return nil
- }
- // ---
if u, ok := s.rr.(runeUnreader); ok {
u.UnreadRune()
} else {
s.peekRune = s.prevRune
}
+ s.prevRune = -1
s.count--
return nil
}