To: vim_dev@googlegroups.com Subject: Patch 9.0.1460 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 9.0.1460 Problem: Insufficient testing for getcmdcompltype(). Solution: Add a few more test cases. (closes #12268) Files: src/ex_getln.c, src/testdir/test_cmdline.vim *** ../vim-9.0.1459/src/ex_getln.c 2023-04-12 16:21:11.033023805 +0100 --- src/ex_getln.c 2023-04-17 15:49:52.889542429 +0100 *************** *** 4152,4162 **** if (p == NULL || p->xpc == NULL) return NULL; - char_u *cmd_compl; - set_expand_context(p->xpc); ! cmd_compl = cmdcomplete_type_to_str(p->xpc->xp_context); if (cmd_compl != NULL) return vim_strsave(cmd_compl); --- 4152,4162 ---- if (p == NULL || p->xpc == NULL) return NULL; set_expand_context(p->xpc); + if (p->xpc->xp_context == EXPAND_UNSUCCESSFUL) + return NULL; ! char_u *cmd_compl = cmdcomplete_type_to_str(p->xpc->xp_context); if (cmd_compl != NULL) return vim_strsave(cmd_compl); *** ../vim-9.0.1459/src/testdir/test_cmdline.vim 2023-04-12 16:21:11.033023805 +0100 --- src/testdir/test_cmdline.vim 2023-04-17 15:49:52.889542429 +0100 *************** *** 3337,3352 **** call assert_equal('"!vim test_cmdline.vim', @:) endfunc ! func Check_completion() ! call assert_equal('let a', getcmdline()) ! call assert_equal(6, getcmdpos()) ! call assert_equal(7, getcmdscreenpos()) ! call assert_equal('var', getcmdcompltype()) ! return '' endfunc func Test_screenpos_and_completion() ! call feedkeys(":let a\=Check_completion()\\", "xt") endfunc func Test_recursive_register() --- 3337,3359 ---- call assert_equal('"!vim test_cmdline.vim', @:) endfunc ! func Call_cmd_funcs() ! return string([getcmdpos(), getcmdscreenpos(), getcmdcompltype()]) endfunc func Test_screenpos_and_completion() ! call assert_equal(0, getcmdpos()) ! call assert_equal(0, getcmdscreenpos()) ! call assert_equal('', getcmdcompltype()) ! ! cnoremap string([getcmdpos(), getcmdscreenpos(), getcmdcompltype()]) ! call feedkeys(":let a\\\"\", "xt") ! call assert_equal("\"let a[6, 7, 'var']", @:) ! call feedkeys(":quit \\\"\", "xt") ! call assert_equal("\"quit [6, 7, '']", @:) ! call feedkeys(":nosuchcommand \\\"\", "xt") ! call assert_equal("\"nosuchcommand [15, 16, '']", @:) ! cunmap endfunc func Test_recursive_register() *** ../vim-9.0.1459/src/version.c 2023-04-16 20:53:50.189171575 +0100 --- src/version.c 2023-04-17 15:50:54.821635529 +0100 *************** *** 697,698 **** --- 697,700 ---- { /* Add new patch number below this line */ + /**/ + 1460, /**/ -- The Law, in its majestic equality, forbids the rich, as well as the poor, to sleep under the bridges, to beg in the streets, and to steal bread. -- Anatole France /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///