summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.1123
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.1123')
-rw-r--r--data/vim/patches/8.1.1123354
1 files changed, 0 insertions, 354 deletions
diff --git a/data/vim/patches/8.1.1123 b/data/vim/patches/8.1.1123
deleted file mode 100644
index ad96b1932..000000000
--- a/data/vim/patches/8.1.1123
+++ /dev/null
@@ -1,354 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.1123
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 8.1.1123
-Problem: No way to avoid filtering for autocomplete function, causing
- flickering of the popup menu.
-Solution: Add the "equal" field to complete items. (closes #3887)
-Files: runtime/doc/insert.txt, src/insexpand.c,
- src/testdir/test_popup.vim
-
-
-*** ../vim-8.1.1122/runtime/doc/insert.txt 2019-03-29 12:19:34.949348952 +0100
---- runtime/doc/insert.txt 2019-04-06 13:28:26.273579773 +0200
-***************
-*** 1104,1109 ****
---- 1105,1113 ----
- icase when non-zero case is to be ignored when comparing
- items to be equal; when omitted zero is used, thus
- items that only differ in case are added
-+ equal when non-zero, always treat this item to be equal when
-+ comparing. Which means, "equal=1" disables filtering
-+ of this item.
- dup when non-zero this match will be added even when an
- item with the same word is already present.
- empty when non-zero this match will be added even when it is
-***************
-*** 1111,1120 ****
- user_data custom data which is associated with the item and
- available in |v:completed_item|
-
-! All of these except "icase", "dup" and "empty" must be a string. If an item
-! does not meet these requirements then an error message is given and further
-! items in the list are not used. You can mix string and Dictionary items in
-! the returned list.
-
- The "menu" item is used in the popup menu and may be truncated, thus it should
- be relatively short. The "info" item can be longer, it will be displayed in
---- 1115,1124 ----
- user_data custom data which is associated with the item and
- available in |v:completed_item|
-
-! All of these except "icase", "equal", "dup" and "empty" must be a string. If
-! an item does not meet these requirements then an error message is given and
-! further items in the list are not used. You can mix string and Dictionary
-! items in the returned list.
-
- The "menu" item is used in the popup menu and may be truncated, thus it should
- be relatively short. The "info" item can be longer, it will be displayed in
-*** ../vim-8.1.1122/src/insexpand.c 2019-03-30 18:46:57.344077426 +0100
---- src/insexpand.c 2019-04-06 13:37:17.079078108 +0200
-***************
-*** 101,116 ****
- {
- compl_T *cp_next;
- compl_T *cp_prev;
-! char_u *cp_str; /* matched text */
-! char cp_icase; /* TRUE or FALSE: ignore case */
-! char_u *(cp_text[CPT_COUNT]); /* text for the menu */
-! char_u *cp_fname; /* file containing the match, allocated when
-! * cp_flags has FREE_FNAME */
-! int cp_flags; /* ORIGINAL_TEXT, CONT_S_IPOS or FREE_FNAME */
-! int cp_number; /* sequence number */
- };
-
-! # define ORIGINAL_TEXT (1) /* the original text when the expansion begun */
- # define FREE_FNAME (2)
-
- static char e_hitend[] = N_("Hit end of paragraph");
---- 101,118 ----
- {
- compl_T *cp_next;
- compl_T *cp_prev;
-! char_u *cp_str; // matched text
-! char cp_icase; // TRUE or FALSE: ignore case
-! char cp_equal; // TRUE or FALSE: ins_compl_equal always ok
-! char_u *(cp_text[CPT_COUNT]); // text for the menu
-! char_u *cp_fname; // file containing the match, allocated when
-! // cp_flags has FREE_FNAME
-! int cp_flags; // ORIGINAL_TEXT, CONT_S_IPOS or FREE_FNAME
-! int cp_number; // sequence number
- };
-
-! // flags for ins_compl_add()
-! # define ORIGINAL_TEXT (1) // the original text when the expansion begun
- # define FREE_FNAME (2)
-
- static char e_hitend[] = N_("Hit end of paragraph");
-***************
-*** 183,189 ****
- static int compl_opt_refresh_always = FALSE;
- static int compl_opt_suppress_empty = FALSE;
-
-! static int ins_compl_add(char_u *str, int len, int icase, char_u *fname, char_u **cptext, int cdir, int flags, int adup);
- static void ins_compl_longest_match(compl_T *match);
- static void ins_compl_del_pum(void);
- static void ins_compl_files(int count, char_u **files, int thesaurus, int flags, regmatch_T *regmatch, char_u *buf, int *dir);
---- 185,191 ----
- static int compl_opt_refresh_always = FALSE;
- static int compl_opt_suppress_empty = FALSE;
-
-! static int ins_compl_add(char_u *str, int len, int icase, char_u *fname, char_u **cptext, int cdir, int flags, int adup, int equal);
- static void ins_compl_longest_match(compl_T *match);
- static void ins_compl_del_pum(void);
- static void ins_compl_files(int count, char_u **files, int thesaurus, int flags, regmatch_T *regmatch, char_u *buf, int *dir);
-***************
-*** 413,425 ****
- */
- int
- ins_compl_add_infercase(
-! char_u *str,
- int len,
- int icase,
- char_u *fname,
- int dir,
- int flags)
- {
- char_u *p;
- int i, c;
- int actual_len; // Take multi-byte characters
---- 415,428 ----
- */
- int
- ins_compl_add_infercase(
-! char_u *str_arg,
- int len,
- int icase,
- char_u *fname,
- int dir,
- int flags)
- {
-+ char_u *str = str_arg;
- char_u *p;
- int i, c;
- int actual_len; // Take multi-byte characters
-***************
-*** 550,559 ****
- vim_free(wca);
- }
-
-! return ins_compl_add(IObuff, len, icase, fname, NULL, dir,
-! flags, FALSE);
- }
-! return ins_compl_add(str, len, icase, fname, NULL, dir, flags, FALSE);
- }
-
- /*
---- 553,563 ----
- vim_free(wca);
- }
-
-! str = IObuff;
- }
-!
-! return ins_compl_add(str, len, icase, fname, NULL, dir,
-! flags, FALSE, FALSE);
- }
-
- /*
-***************
-*** 571,577 ****
- char_u **cptext, // extra text for popup menu or NULL
- int cdir,
- int flags,
-! int adup) // accept duplicate match
- {
- compl_T *match;
- int dir = (cdir == 0 ? compl_direction : cdir);
---- 575,582 ----
- char_u **cptext, // extra text for popup menu or NULL
- int cdir,
- int flags,
-! int adup, // accept duplicate match
-! int equal) // match is always accepted by ins_compl_equal
- {
- compl_T *match;
- int dir = (cdir == 0 ? compl_direction : cdir);
-***************
-*** 613,618 ****
---- 618,624 ----
- return FAIL;
- }
- match->cp_icase = icase;
-+ match->cp_equal = equal;
-
- // match-fname is:
- // - compl_curr_match->cp_fname if it is a string equal to fname.
-***************
-*** 676,681 ****
---- 682,689 ----
- static int
- ins_compl_equal(compl_T *match, char_u *str, int len)
- {
-+ if (match->cp_equal)
-+ return TRUE;
- if (match->cp_icase)
- return STRNICMP(match->cp_str, str, (size_t)len) == 0;
- return STRNCMP(match->cp_str, str, (size_t)len) == 0;
-***************
-*** 776,782 ****
-
- for (i = 0; i < num_matches && add_r != FAIL; i++)
- if ((add_r = ins_compl_add(matches[i], -1, icase,
-! NULL, NULL, dir, 0, FALSE)) == OK)
- // if dir was BACKWARD then honor it just once
- dir = FORWARD;
- FreeWild(num_matches, matches);
---- 784,790 ----
-
- for (i = 0; i < num_matches && add_r != FAIL; i++)
- if ((add_r = ins_compl_add(matches[i], -1, icase,
-! NULL, NULL, dir, 0, FALSE, FALSE)) == OK)
- // if dir was BACKWARD then honor it just once
- dir = FORWARD;
- FreeWild(num_matches, matches);
-***************
-*** 868,874 ****
- // compl_pattern doesn't need to be set
- compl_orig_text = vim_strnsave(ml_get_curline() + compl_col, compl_length);
- if (compl_orig_text == NULL || ins_compl_add(compl_orig_text,
-! -1, p_ic, NULL, NULL, 0, ORIGINAL_TEXT, FALSE) != OK)
- return;
-
- ctrl_x_mode = CTRL_X_EVAL;
---- 876,882 ----
- // compl_pattern doesn't need to be set
- compl_orig_text = vim_strnsave(ml_get_curline() + compl_col, compl_length);
- if (compl_orig_text == NULL || ins_compl_add(compl_orig_text,
-! -1, p_ic, NULL, NULL, 0, ORIGINAL_TEXT, FALSE, FALSE) != OK)
- return;
-
- ctrl_x_mode = CTRL_X_EVAL;
-***************
-*** 2365,2370 ****
---- 2373,2379 ----
- int icase = FALSE;
- int adup = FALSE;
- int aempty = FALSE;
-+ int aequal = FALSE;
- char_u *(cptext[CPT_COUNT]);
-
- if (tv->v_type == VAR_DICT && tv->vval.v_dict != NULL)
-***************
-*** 2386,2391 ****
---- 2395,2402 ----
- adup = dict_get_number(tv->vval.v_dict, (char_u *)"dup");
- if (dict_get_string(tv->vval.v_dict, (char_u *)"empty", FALSE) != NULL)
- aempty = dict_get_number(tv->vval.v_dict, (char_u *)"empty");
-+ if (dict_get_string(tv->vval.v_dict, (char_u *)"equal", FALSE) != NULL)
-+ aequal = dict_get_number(tv->vval.v_dict, (char_u *)"equal");
- }
- else
- {
-***************
-*** 2394,2400 ****
- }
- if (word == NULL || (!aempty && *word == NUL))
- return FAIL;
-! return ins_compl_add(word, -1, icase, NULL, cptext, dir, 0, adup);
- }
- #endif
-
---- 2405,2411 ----
- }
- if (word == NULL || (!aempty && *word == NUL))
- return FAIL;
-! return ins_compl_add(word, -1, icase, NULL, cptext, dir, 0, adup, aequal);
- }
- #endif
-
-***************
-*** 3694,3700 ****
- vim_free(compl_orig_text);
- compl_orig_text = vim_strnsave(line + compl_col, compl_length);
- if (compl_orig_text == NULL || ins_compl_add(compl_orig_text,
-! -1, p_ic, NULL, NULL, 0, ORIGINAL_TEXT, FALSE) != OK)
- {
- VIM_CLEAR(compl_pattern);
- VIM_CLEAR(compl_orig_text);
---- 3705,3711 ----
- vim_free(compl_orig_text);
- compl_orig_text = vim_strnsave(line + compl_col, compl_length);
- if (compl_orig_text == NULL || ins_compl_add(compl_orig_text,
-! -1, p_ic, NULL, NULL, 0, ORIGINAL_TEXT, FALSE, FALSE) != OK)
- {
- VIM_CLEAR(compl_pattern);
- VIM_CLEAR(compl_orig_text);
-*** ../vim-8.1.1122/src/testdir/test_popup.vim 2019-03-29 12:19:34.953348924 +0100
---- src/testdir/test_popup.vim 2019-04-06 13:34:17.403736197 +0200
-***************
-*** 276,281 ****
---- 276,313 ----
- iunmap <F5>
- endfunc
-
-+ func Test_complete_no_filter()
-+ func! s:complTest1() abort
-+ call complete(1, [{'word': 'foobar'}])
-+ return ''
-+ endfunc
-+ func! s:complTest2() abort
-+ call complete(1, [{'word': 'foobar', 'equal': 1}])
-+ return ''
-+ endfunc
-+
-+ let completeopt = &completeopt
-+
-+ " without equal=1
-+ new
-+ set completeopt=menuone,noinsert,menu
-+ inoremap <F5> <C-R>=s:complTest1()<CR>
-+ call feedkeys("i\<F5>z\<CR>\<CR>\<ESC>.", 'tx')
-+ call assert_equal('z', getline(1))
-+ bwipe!
-+
-+ " with equal=1
-+ new
-+ set completeopt=menuone,noinsert,menu
-+ inoremap <F5> <C-R>=s:complTest2()<CR>
-+ call feedkeys("i\<F5>z\<CR>\<CR>\<ESC>.", 'tx')
-+ call assert_equal('foobar', getline(1))
-+ bwipe!
-+
-+ let &completeopt = completeopt
-+ iunmap <F5>
-+ endfunc
-+
- func Test_compl_vim_cmds_after_register_expr()
- func! s:test_func()
- return 'autocmd '
-*** ../vim-8.1.1122/src/version.c 2019-04-06 13:18:06.737335067 +0200
---- src/version.c 2019-04-06 13:27:34.729885207 +0200
-***************
-*** 773,774 ****
---- 773,776 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 1123,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-210. When you get a divorce, you don't care about who gets the children,
- but discuss endlessly who can use the email address.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///