A person who uses marijuana regularly, or historically, someone whose job was throwing stones in battle or construction.
Modern slang from 1950s drug culture, combining 'stone' (a state of being intoxicated) with '-er' (person who does something). The older meaning referred to workers who handled stones in various professions.
The word 'stoner' perfectly shows how slang replaces older meanings—nobody thinks of medieval stone-throwers anymore, but the word got recycled for a completely different meaning in the 1960s!
Complete word intelligence in one call. Free tier — 50 lookups/day.