I think you are trying explain "git log --short A B ^C" as if it
takes "--short" (which is an option), "A", "B", and "^C" (all of
which are revisions). And I am saying that is wrong.
It is "--short" (which is an option) and "A B ^C" (which is a
revision range).