spitfire (n.)
1610s, "a cannon," from spit (v.) + fire (n.); c.1600 as an adjective. Meaning "irascible, passionate person" is from 1670s. Replaced earlier shitfire (similar formation in Florentine cacafuoco).