diff src/evalfunc.c @ 9587:05a56bbe34a1 v7.4.2071

commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jul 19 17:25:25 2016 +0200 patch 7.4.2071 Problem: The return value of type() is difficult to use. Solution: Define v:t_ constants. (Ken Takata)
author Christian Brabandt <cb@256bit.org>
date Tue, 19 Jul 2016 17:30:06 +0200
parents 7ee1c83e3ddf
children bf204ab1ce7d
line wrap: on
line diff
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -12136,22 +12136,22 @@ f_type(typval_T *argvars, typval_T *rett
 
     switch (argvars[0].v_type)
     {
-	case VAR_NUMBER: n = 0; break;
-	case VAR_STRING: n = 1; break;
+	case VAR_NUMBER: n = VAR_TYPE_NUMBER; break;
+	case VAR_STRING: n = VAR_TYPE_STRING; break;
 	case VAR_PARTIAL:
-	case VAR_FUNC:   n = 2; break;
-	case VAR_LIST:   n = 3; break;
-	case VAR_DICT:   n = 4; break;
-	case VAR_FLOAT:  n = 5; break;
+	case VAR_FUNC:   n = VAR_TYPE_FUNC; break;
+	case VAR_LIST:   n = VAR_TYPE_LIST; break;
+	case VAR_DICT:   n = VAR_TYPE_DICT; break;
+	case VAR_FLOAT:  n = VAR_TYPE_FLOAT; break;
 	case VAR_SPECIAL:
 	     if (argvars[0].vval.v_number == VVAL_FALSE
 		     || argvars[0].vval.v_number == VVAL_TRUE)
-		 n = 6;
+		 n = VAR_TYPE_BOOL;
 	     else
-		 n = 7;
+		 n = VAR_TYPE_NONE;
 	     break;
-	case VAR_JOB:     n = 8; break;
-	case VAR_CHANNEL: n = 9; break;
+	case VAR_JOB:     n = VAR_TYPE_JOB; break;
+	case VAR_CHANNEL: n = VAR_TYPE_CHANNEL; break;
 	case VAR_UNKNOWN:
 	     EMSG2(_(e_intern2), "f_type(UNKNOWN)");
 	     n = -1;