I don't think we help ourselves when we refer to those who disagree with us as stupid, idiotic, or addled, and/or assume that they think we are evil. Many of the people who disagree with us are highly intelligent; they either are working with incomplete information, or they have the same information but draw different conclusions than we do. Maybe their minds can be changed, maybe not. However, treating them with disdain, either overtly or through tone of voice or body language, is guaranteed to destroy any chance of having a meaningful dialogue with them.
Stop and think about the logic at work here. To me this is very telling of the anti-gun crowd and how they think. You see a man carrying a deadly weapon and there is a question in your mind as to whether or not he is doing so legally and is "ok". This is where the logic train jumps the tracks. Your response is to confront said gentleman? Really? This is the same line of thinking that brings up "gun free zones". The mere fact that something is illegal will make it absolutely impossible to happen. How else can you describe such thinking other than "stupid, idiotic or addled"? If anything I give the OP credit for patience in the face of such idiocy.