comparison src/vim9execute.c @ 19912:d4fa9db88d16 v8.2.0512

patch 8.2.0512: Vim9: no optional arguments in func type Commit: https://github.com/vim/vim/commit/5deeb3f1f9db4eabd36e99cbf857fe376eb37e10 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Apr 5 17:08:17 2020 +0200 patch 8.2.0512: Vim9: no optional arguments in func type Problem: Vim9: no optional arguments in func type. Solution: Check for question mark after type. Find function reference without function().
author Bram Moolenaar <Bram@vim.org>
date Sun, 05 Apr 2020 17:15:25 +0200
parents f92435f0f449
children 1f42c49c3d29
comparison
equal deleted inserted replaced
19911:70edfdef3b83 19912:d4fa9db88d16
375 store_var(char_u *name, typval_T *tv) 375 store_var(char_u *name, typval_T *tv)
376 { 376 {
377 funccal_entry_T entry; 377 funccal_entry_T entry;
378 378
379 save_funccal(&entry); 379 save_funccal(&entry);
380 set_var_const(name, NULL, tv, FALSE, 0); 380 set_var_const(name, NULL, tv, FALSE, LET_NO_COMMAND);
381 restore_funccal(); 381 restore_funccal();
382 } 382 }
383 383
384 /* 384 /*
385 * Execute a function by "name". 385 * Execute a function by "name".
737 char_u *name = iptr->isn_arg.loadstore.ls_name; 737 char_u *name = iptr->isn_arg.loadstore.ls_name;
738 dictitem_T *di = find_var_in_ht(ht, 0, name + 2, TRUE); 738 dictitem_T *di = find_var_in_ht(ht, 0, name + 2, TRUE);
739 739
740 --ectx.ec_stack.ga_len; 740 --ectx.ec_stack.ga_len;
741 if (di == NULL) 741 if (di == NULL)
742 store_var(iptr->isn_arg.string, STACK_TV_BOT(0)); 742 store_var(name, STACK_TV_BOT(0));
743 else 743 else
744 { 744 {
745 clear_tv(&di->di_tv); 745 clear_tv(&di->di_tv);
746 di->di_tv = *STACK_TV_BOT(0); 746 di->di_tv = *STACK_TV_BOT(0);
747 } 747 }
1826 { 1826 {
1827 scriptitem_T *si = SCRIPT_ITEM( 1827 scriptitem_T *si = SCRIPT_ITEM(
1828 iptr->isn_arg.loadstore.ls_sid); 1828 iptr->isn_arg.loadstore.ls_sid);
1829 1829
1830 smsg("%4d LOADS s:%s from %s", current, 1830 smsg("%4d LOADS s:%s from %s", current,
1831 iptr->isn_arg.string, si->sn_name); 1831 iptr->isn_arg.loadstore.ls_name, si->sn_name);
1832 } 1832 }
1833 break; 1833 break;
1834 case ISN_LOADG: 1834 case ISN_LOADG:
1835 smsg("%4d LOADG g:%s", current, iptr->isn_arg.string); 1835 smsg("%4d LOADG g:%s", current, iptr->isn_arg.string);
1836 break; 1836 break;
1863 { 1863 {
1864 scriptitem_T *si = SCRIPT_ITEM( 1864 scriptitem_T *si = SCRIPT_ITEM(
1865 iptr->isn_arg.loadstore.ls_sid); 1865 iptr->isn_arg.loadstore.ls_sid);
1866 1866
1867 smsg("%4d STORES %s in %s", current, 1867 smsg("%4d STORES %s in %s", current,
1868 iptr->isn_arg.string, si->sn_name); 1868 iptr->isn_arg.loadstore.ls_name, si->sn_name);
1869 } 1869 }
1870 break; 1870 break;
1871 case ISN_STORESCRIPT: 1871 case ISN_STORESCRIPT:
1872 { 1872 {
1873 scriptitem_T *si = 1873 scriptitem_T *si =