A `Combine` node with a complex subtree of nodes does not react properly to surrounding whitespace. Specifically, consider the following example:
{{{
from pyparsing import Literal, Combine
pair0 = (Literal('left') + Literal(':') +
(Combine(
(Literal('ri') + Literal('ght')) |
Literal('other'))))
pair1 = (Literal('left') + Literal(':') +
(Combine(
(Literal('ri') + Literal('ght'))) |
Combine(Literal('other'))))
print pair1.parseString('left :right')
print pair0.parseString('left :right')
print pair1.parseString('left : right')
print pair0.parseString('left : right')
}}}
The first three parse attempts work fine, but the last throws an exception; apparently the `Combine` node, when used in this type of situation, causes the parser to no longer skip whitespace between the colon and the following token.
Fixed in 1.5.3