Fix an infinite loop and a ';' parsing oddity.