patch 8.0.0074
Problem:    Cannot make Vim fail on an internal error.
Solution:   Add IEMSG() and IEMSG2(). (Domenique Pelle)  Avoid reporting an
            internal error without mentioning where.
diff --git a/src/eval.c b/src/eval.c
index 18eb879..e92a97f 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -839,7 +839,7 @@
     {
 	hi = hash_find(&vimvarht, vimvars[idx].vv_di.di_key);
 	if (HASHITEM_EMPTY(hi))
-	    EMSG2(_(e_intern2), "restore_vimvar()");
+	    internal_error("restore_vimvar()");
 	else
 	    hash_remove(&vimvarht, hi);
     }
@@ -1308,7 +1308,7 @@
 	}
 	else if (*arg != ',' && *arg != ']')
 	{
-	    EMSG2(_(e_intern2), "ex_let_vars()");
+	    internal_error("ex_let_vars()");
 	    return FAIL;
 	}
     }
@@ -2830,7 +2830,7 @@
 	    }
 	    if (d == NULL)
 	    {
-		EMSG2(_(e_intern2), "do_unlet()");
+		internal_error("do_unlet()");
 		return FAIL;
 	    }
 	}
@@ -5678,7 +5678,7 @@
 	case VVAL_NONE:  return "v:none";
 	case VVAL_NULL:  return "v:null";
     }
-    EMSG2(_(e_intern2), "get_var_special_name()");
+    internal_error("get_var_special_name()");
     return "42";
 }
 
@@ -7152,7 +7152,7 @@
 	    break;
 #endif
 	case VAR_UNKNOWN:
-	    EMSG2(_(e_intern2), "get_tv_number(UNKNOWN)");
+	    internal_error("get_tv_number(UNKNOWN)");
 	    break;
     }
     if (denote == NULL)		/* useful for values that must be unsigned */
@@ -7199,7 +7199,7 @@
 	    break;
 # endif
 	case VAR_UNKNOWN:
-	    EMSG2(_(e_intern2), "get_tv_float(UNKNOWN)");
+	    internal_error("get_tv_float(UNKNOWN)");
 	    break;
     }
     return 0;
@@ -7733,7 +7733,7 @@
 		return;
 	    }
 	    else if (v->di_tv.v_type != tv->v_type)
-		EMSG2(_(e_intern2), "set_var()");
+		internal_error("set_var()");
 	}
 
 	clear_tv(&v->di_tv);
@@ -7962,7 +7962,7 @@
 	    }
 	    break;
 	case VAR_UNKNOWN:
-	    EMSG2(_(e_intern2), "copy_tv(UNKNOWN)");
+	    internal_error("copy_tv(UNKNOWN)");
 	    break;
     }
 }
@@ -8036,7 +8036,7 @@
 		ret = FAIL;
 	    break;
 	case VAR_UNKNOWN:
-	    EMSG2(_(e_intern2), "item_copy(UNKNOWN)");
+	    internal_error("item_copy(UNKNOWN)");
 	    ret = FAIL;
     }
     --recurse;