evil-define-key's docs say it "create[s] a STATE binding from KEY to DEF for KEYMAP."
What is a "state"? What is a "state binding"? Emacs doesn't have "states" as far as I know?
My current understanding is that every keypress in Emacs does a lookup in the global key map, which is a literal mapping (like a dictionary in Python, or a "hash" in Ruby) from keys to either functions or another keymap. I know Evil has many different keymaps, one for each state. Isn't an Evil state just a keymap? If so, the description of
evil-define-key almost makes sense; it creates a mapping from key to "DEF" in the relevant state keymap, but that only explains 3 out of the 4 parameters, so I must still be missing something. If my train of thought here is correct, then
evil-define-key takes 2 keymaps: a state keymap and some other keymap. Why?