this is because of vims fucking stupid functionality where ignorecase changes the way == behaves. It was causing bugs when the user had ignorecase set.