If you dont mind my asking....how old are you guys? I dont mean any disrespect by it, but that sort of behavior sounds like a 17 year old boy. And also, its not really fair to him to have to either stop or feel like he needs to lie about it. If you dont like it, then I suggest finding someone who doesnt do it, or just dont be around him when he does it.
My ex hated me smoking (cigarettes) and I did quit for him. Even though I hate dishonesty and hate lying and being lied to, I went back to smoking and hid it from him and resented him for making me quit. Stuff like smoking cigarettes, pot or drinking alcohol is not something you quit for another person. If he is going to quit it needs to be for himself. And, obviously he doesnt want to quit right now.
So I know its hard but I think you either need to just get over his smoking or break up. He must feel like he cant trust you either or else he wouldnt be so scared to tell you. Even though he is lying, you must not seem very open to hearing the truth. And he obviously wants to make you happy, but wants to be happy himself. Its not fair to you to have to be lied to and its not fair to him to feel like a horrible person for doing a recreational drug. It takes a while to figure it out but trying to "fix" people only hurts you in the long run. They need to change for themselves, you cant do anything about it. Ive watched my dad slowly kill himself from alcoholism and have been through abusive relationships with alcoholics and it only hurt myself. So I have learned to take people as they are, realize that their habits dont effect me, and that if its something I cant deal with, I leave.
|