comparison src/eval.c @ 19047:a3fce2763e83 v8.2.0084

patch 8.2.0084: complete item "user_data" can only be a string Commit: https://github.com/vim/vim/commit/0892832bb6c7e322fcae8560eaad5a8140ee4a06 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jan 4 14:32:48 2020 +0100 patch 8.2.0084: complete item "user_data" can only be a string Problem: Complete item "user_data" can only be a string. Solution: Accept any type of variable. (closes https://github.com/vim/vim/issues/5412)
author Bram Moolenaar <Bram@vim.org>
date Sat, 04 Jan 2020 14:45:04 +0100
parents d9ea4f0bfd34
children 3b1f83fdaabc
comparison
equal deleted inserted replaced
19046:69e878ae5d4b 19047:a3fce2763e83
2654 * Dictionary: #{key: val, key: val} 2654 * Dictionary: #{key: val, key: val}
2655 */ 2655 */
2656 case '#': if ((*arg)[1] == '{') 2656 case '#': if ((*arg)[1] == '{')
2657 { 2657 {
2658 ++*arg; 2658 ++*arg;
2659 ret = dict_get_tv(arg, rettv, evaluate, TRUE); 2659 ret = eval_dict(arg, rettv, evaluate, TRUE);
2660 } 2660 }
2661 else 2661 else
2662 ret = NOTDONE; 2662 ret = NOTDONE;
2663 break; 2663 break;
2664 2664
2666 * Lambda: {arg, arg -> expr} 2666 * Lambda: {arg, arg -> expr}
2667 * Dictionary: {'key': val, 'key': val} 2667 * Dictionary: {'key': val, 'key': val}
2668 */ 2668 */
2669 case '{': ret = get_lambda_tv(arg, rettv, evaluate); 2669 case '{': ret = get_lambda_tv(arg, rettv, evaluate);
2670 if (ret == NOTDONE) 2670 if (ret == NOTDONE)
2671 ret = dict_get_tv(arg, rettv, evaluate, FALSE); 2671 ret = eval_dict(arg, rettv, evaluate, FALSE);
2672 break; 2672 break;
2673 2673
2674 /* 2674 /*
2675 * Option value: &name 2675 * Option value: &name
2676 */ 2676 */