comparison 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
comparison
equal deleted inserted replaced
9586:6ef05911e376 9587:05a56bbe34a1
12134 { 12134 {
12135 int n = -1; 12135 int n = -1;
12136 12136
12137 switch (argvars[0].v_type) 12137 switch (argvars[0].v_type)
12138 { 12138 {
12139 case VAR_NUMBER: n = 0; break; 12139 case VAR_NUMBER: n = VAR_TYPE_NUMBER; break;
12140 case VAR_STRING: n = 1; break; 12140 case VAR_STRING: n = VAR_TYPE_STRING; break;
12141 case VAR_PARTIAL: 12141 case VAR_PARTIAL:
12142 case VAR_FUNC: n = 2; break; 12142 case VAR_FUNC: n = VAR_TYPE_FUNC; break;
12143 case VAR_LIST: n = 3; break; 12143 case VAR_LIST: n = VAR_TYPE_LIST; break;
12144 case VAR_DICT: n = 4; break; 12144 case VAR_DICT: n = VAR_TYPE_DICT; break;
12145 case VAR_FLOAT: n = 5; break; 12145 case VAR_FLOAT: n = VAR_TYPE_FLOAT; break;
12146 case VAR_SPECIAL: 12146 case VAR_SPECIAL:
12147 if (argvars[0].vval.v_number == VVAL_FALSE 12147 if (argvars[0].vval.v_number == VVAL_FALSE
12148 || argvars[0].vval.v_number == VVAL_TRUE) 12148 || argvars[0].vval.v_number == VVAL_TRUE)
12149 n = 6; 12149 n = VAR_TYPE_BOOL;
12150 else 12150 else
12151 n = 7; 12151 n = VAR_TYPE_NONE;
12152 break; 12152 break;
12153 case VAR_JOB: n = 8; break; 12153 case VAR_JOB: n = VAR_TYPE_JOB; break;
12154 case VAR_CHANNEL: n = 9; break; 12154 case VAR_CHANNEL: n = VAR_TYPE_CHANNEL; break;
12155 case VAR_UNKNOWN: 12155 case VAR_UNKNOWN:
12156 EMSG2(_(e_intern2), "f_type(UNKNOWN)"); 12156 EMSG2(_(e_intern2), "f_type(UNKNOWN)");
12157 n = -1; 12157 n = -1;
12158 break; 12158 break;
12159 } 12159 }