I told him recently that I felt he was choosing her friendship over our relationship and that I needed more than that. Well, it started off very rough, but he looked me in the eyes and said (roughly. This is as close to word-for-word as I can get) "You're the one I want to marry. The only reason I hang out with her is because we share common interests, is available when you aren't, and she lives close. I could never be in a relationship with someone so selfish and idiotic. She's just friend material. I won't stop seeing my friends, but I will try to be better and give you more of my time and affection. I love you and I want you to be the one I wake up to every day- no one else."
So... I think ti's fair to give him a chance to show me he really means this. If he fails again, he's gone... no matter how much it might hurt to leave.