Matt Wozniski wrote: > function! ReturnArgs(...) > return a:000 > endfunction > > " Seems to work fine? > echo ReturnArgs(1, 2, 3) > > " SEGV > echo string(ReturnArgs(1, 2, 3)) > > function! MakeArgsDict(...) > return { 'args': a:000 } > endfunction > > " E685 Internal Error > echo MakeArgsDict(1, 2, 3) > > " SEGV > echo string(MakeArgsDict(1, 2, 3)) > > ~Matt
I can reproduce that with vim-7.2.69 on Linux. Following patch seems to fix it, but I'm not sure whether that's the correct fix or whether it's only a workaround: $ cvs diff -c eval.c Index: eval.c =================================================================== RCS file: /cvsroot/vim/vim7/src/eval.c,v retrieving revision 1.277 diff -c -r1.277 eval.c *** eval.c 9 Dec 2008 09:57:49 -0000 1.277 --- eval.c 15 Dec 2008 19:39:37 -0000 *************** *** 21111,21117 **** char_u *save_sourcing_name; linenr_T save_sourcing_lnum; scid_T save_current_SID; ! funccall_T fc; int save_did_emsg; static int depth = 0; dictitem_T *v; --- 21111,21117 ---- char_u *save_sourcing_name; linenr_T save_sourcing_lnum; scid_T save_current_SID; ! static funccall_T fc; int save_did_emsg; static int depth = 0; dictitem_T *v; -- Dominique --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_dev" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~---