Lo que puedes hacer es no hacer de madre suya. No entiendo por qué te tiene que prometer, a ti, que no va a fumar ni beber. No eres su madre. Si te molesta no estés con él cuando fuma y beba. O déjalo. Pero si dejas de portarte con él como si fueras su madre y dejas de recriminarle sus comportamientos, ya está. Él no te pedirá permiso para hacer lo que quiera y tú lo puedes aguantar, o no, y si no lo aguantas te das media vuelta y te vas.