summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.1455
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.1455')
-rw-r--r--data/vim/patches/8.1.1455341
1 files changed, 0 insertions, 341 deletions
diff --git a/data/vim/patches/8.1.1455 b/data/vim/patches/8.1.1455
deleted file mode 100644
index 06db6a060..000000000
--- a/data/vim/patches/8.1.1455
+++ /dev/null
@@ -1,341 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.1455
-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.1455
-Problem: Popup_atcursor() not completely implemented.
-Solution: Add the default for the "moved" property.
-Files: src/popupwin.c, src/normal.c, src/vim.h,
- src/testdir/test_popupwin.vim
-
-
-*** ../vim-8.1.1454/src/popupwin.c 2019-06-02 18:40:02.637508840 +0200
---- src/popupwin.c 2019-06-02 19:49:53.304066084 +0200
-***************
-*** 138,149 ****
- }
-
- /*
- * Go through the options in "dict" and apply them to buffer "buf" displayed in
- * popup window "wp".
-- * When called from f_popup_atcursor() "atcursor" is TRUE.
- */
- static void
-! apply_options(win_T *wp, buf_T *buf UNUSED, dict_T *dict, int atcursor)
- {
- int nr;
- char_u *str;
---- 138,176 ----
- }
-
- /*
-+ * Used when popup options contain "moved": set default moved values.
-+ */
-+ static void
-+ set_moved_values(win_T *wp)
-+ {
-+ wp->w_popup_curwin = curwin;
-+ wp->w_popup_lnum = curwin->w_cursor.lnum;
-+ wp->w_popup_mincol = curwin->w_cursor.col;
-+ wp->w_popup_maxcol = curwin->w_cursor.col;
-+ }
-+
-+ /*
-+ * Used when popup options contain "moved" with "word" or "WORD".
-+ */
-+ static void
-+ set_moved_columns(win_T *wp, int flags)
-+ {
-+ char_u *ptr;
-+ int len = find_ident_under_cursor(&ptr, flags | FIND_NOERROR);
-+
-+ if (len > 0)
-+ {
-+ wp->w_popup_mincol = (int)(ptr - ml_get_curline());
-+ wp->w_popup_maxcol = wp->w_popup_mincol + len - 1;
-+ }
-+ }
-+
-+ /*
- * Go through the options in "dict" and apply them to buffer "buf" displayed in
- * popup window "wp".
- */
- static void
-! apply_options(win_T *wp, buf_T *buf UNUSED, dict_T *dict)
- {
- int nr;
- char_u *str;
-***************
-*** 155,173 ****
- wp->w_maxwidth = dict_get_number(dict, (char_u *)"maxwidth");
- wp->w_maxheight = dict_get_number(dict, (char_u *)"maxheight");
-
-- if (atcursor)
-- {
-- wp->w_popup_pos = POPPOS_BOTLEFT;
-- setcursor_mayforce(TRUE);
-- wp->w_wantline = screen_screenrow();
-- if (wp->w_wantline == 0) // cursor in first line
-- {
-- wp->w_wantline = 2;
-- wp->w_popup_pos = POPPOS_TOPLEFT;
-- }
-- wp->w_wantcol = screen_screencol() + 1;
-- }
--
- get_pos_options(wp, dict);
-
- wp->w_zindex = dict_get_number(dict, (char_u *)"zindex");
---- 182,187 ----
-***************
-*** 289,298 ****
- di = dict_find(dict, (char_u *)"moved", -1);
- if (di != NULL)
- {
-! wp->w_popup_curwin = curwin;
-! wp->w_popup_lnum = curwin->w_cursor.lnum;
-! wp->w_popup_mincol = curwin->w_cursor.col;
-! wp->w_popup_maxcol = curwin->w_cursor.col;
- if (di->di_tv.v_type == VAR_STRING && di->di_tv.vval.v_string != NULL)
- {
- char_u *s = di->di_tv.vval.v_string;
---- 303,309 ----
- di = dict_find(dict, (char_u *)"moved", -1);
- if (di != NULL)
- {
-! set_moved_values(wp);
- if (di->di_tv.v_type == VAR_STRING && di->di_tv.vval.v_string != NULL)
- {
- char_u *s = di->di_tv.vval.v_string;
-***************
-*** 305,320 ****
- else if (STRCMP(s, "any") != 0)
- semsg(_(e_invarg2), s);
- if (flags != 0)
-! {
-! char_u *ptr;
-! int len = find_ident_under_cursor(&ptr, flags);
-!
-! if (len > 0)
-! {
-! wp->w_popup_mincol = (int)(ptr - ml_get_curline());
-! wp->w_popup_maxcol = wp->w_popup_mincol + len - 1;
-! }
-! }
- }
- else if (di->di_tv.v_type == VAR_LIST
- && di->di_tv.vval.v_list != NULL
---- 316,322 ----
- else if (STRCMP(s, "any") != 0)
- semsg(_(e_invarg2), s);
- if (flags != 0)
-! set_moved_columns(wp, flags);
- }
- else if (di->di_tv.v_type == VAR_LIST
- && di->di_tv.vval.v_list != NULL
-***************
-*** 554,566 ****
- wp->w_popup_last_changedtick = CHANGEDTICK(wp->w_buffer);
- }
-
- /*
- * popup_create({text}, {options})
- * popup_atcursor({text}, {options})
- * When called from f_popup_atcursor() "atcursor" is TRUE.
- */
- static void
-! popup_create(typval_T *argvars, typval_T *rettv, int atcursor)
- {
- win_T *wp;
- buf_T *buf;
---- 556,574 ----
- wp->w_popup_last_changedtick = CHANGEDTICK(wp->w_buffer);
- }
-
-+ typedef enum
-+ {
-+ TYPE_NORMAL,
-+ TYPE_ATCURSOR
-+ } create_type_T;
-+
- /*
- * popup_create({text}, {options})
- * popup_atcursor({text}, {options})
- * When called from f_popup_atcursor() "atcursor" is TRUE.
- */
- static void
-! popup_create(typval_T *argvars, typval_T *rettv, create_type_T type)
- {
- win_T *wp;
- buf_T *buf;
-***************
-*** 652,659 ****
- ml_delete(buf->b_ml.ml_line_count, FALSE);
- curbuf = curwin->w_buffer;
-
- // Deal with options.
-! apply_options(wp, buf, argvars[1].vval.v_dict, atcursor);
-
- // set default values
- if (wp->w_zindex == 0)
---- 660,682 ----
- ml_delete(buf->b_ml.ml_line_count, FALSE);
- curbuf = curwin->w_buffer;
-
-+ if (type == TYPE_ATCURSOR)
-+ {
-+ wp->w_popup_pos = POPPOS_BOTLEFT;
-+ setcursor_mayforce(TRUE);
-+ wp->w_wantline = screen_screenrow();
-+ if (wp->w_wantline == 0) // cursor in first line
-+ {
-+ wp->w_wantline = 2;
-+ wp->w_popup_pos = POPPOS_TOPLEFT;
-+ }
-+ wp->w_wantcol = screen_screencol() + 1;
-+ set_moved_values(wp);
-+ set_moved_columns(wp, FIND_STRING);
-+ }
-+
- // Deal with options.
-! apply_options(wp, buf, argvars[1].vval.v_dict);
-
- // set default values
- if (wp->w_zindex == 0)
-***************
-*** 672,678 ****
- void
- f_popup_create(typval_T *argvars, typval_T *rettv)
- {
-! popup_create(argvars, rettv, FALSE);
- }
-
- /*
---- 695,701 ----
- void
- f_popup_create(typval_T *argvars, typval_T *rettv)
- {
-! popup_create(argvars, rettv, TYPE_NORMAL);
- }
-
- /*
-***************
-*** 681,687 ****
- void
- f_popup_atcursor(typval_T *argvars, typval_T *rettv)
- {
-! popup_create(argvars, rettv, TRUE);
- }
-
- /*
---- 704,710 ----
- void
- f_popup_atcursor(typval_T *argvars, typval_T *rettv)
- {
-! popup_create(argvars, rettv, TYPE_ATCURSOR);
- }
-
- /*
-*** ../vim-8.1.1454/src/normal.c 2019-05-28 23:08:12.068648696 +0200
---- src/normal.c 2019-06-02 19:42:59.866656946 +0200
-***************
-*** 3461,3473 ****
- if (ptr[col] == NUL || (i == 0
- && (has_mbyte ? this_class != 2 : !vim_iswordc(ptr[col]))))
- {
-! /*
-! * didn't find an identifier or string
-! */
-! if (find_type & FIND_STRING)
-! emsg(_("E348: No string under cursor"));
-! else
-! emsg(_(e_noident));
- return 0;
- }
- ptr += col;
---- 3461,3474 ----
- if (ptr[col] == NUL || (i == 0
- && (has_mbyte ? this_class != 2 : !vim_iswordc(ptr[col]))))
- {
-! // didn't find an identifier or string
-! if ((find_type & FIND_NOERROR) == 0)
-! {
-! if (find_type & FIND_STRING)
-! emsg(_("E348: No string under cursor"));
-! else
-! emsg(_(e_noident));
-! }
- return 0;
- }
- ptr += col;
-*** ../vim-8.1.1454/src/vim.h 2019-06-01 17:13:15.884517713 +0200
---- src/vim.h 2019-06-02 19:43:48.170353186 +0200
-***************
-*** 879,888 ****
- #define SEARCH_PEEK 0x800 /* peek for typed char, cancel search */
- #define SEARCH_COL 0x1000 /* start at specified column instead of zero */
-
-! /* Values for find_ident_under_cursor() */
-! #define FIND_IDENT 1 /* find identifier (word) */
-! #define FIND_STRING 2 /* find any string (WORD) */
-! #define FIND_EVAL 4 /* include "->", "[]" and "." */
-
- /* Values for file_name_in_line() */
- #define FNAME_MESS 1 /* give error message */
---- 879,889 ----
- #define SEARCH_PEEK 0x800 /* peek for typed char, cancel search */
- #define SEARCH_COL 0x1000 /* start at specified column instead of zero */
-
-! // Values for find_ident_under_cursor()
-! #define FIND_IDENT 1 // find identifier (word)
-! #define FIND_STRING 2 // find any string (WORD)
-! #define FIND_EVAL 4 // include "->", "[]" and "."
-! #define FIND_NOERROR 8 // no error when no word found
-
- /* Values for file_name_in_line() */
- #define FNAME_MESS 1 /* give error message */
-*** ../vim-8.1.1454/src/testdir/test_popupwin.vim 2019-06-02 18:40:02.641508815 +0200
---- src/testdir/test_popupwin.vim 2019-06-02 19:51:53.963344600 +0200
-***************
-*** 1009,1016 ****
- call assert_equal({}, popup_getpos(winid))
- popupclear
-
- exe "normal gg0/WORD\<CR>"
-! let winid = popup_atcursor('text', {'moved': 'WORD'})
- redraw
- call assert_equal(1, popup_getpos(winid).visible)
- call feedkeys("eli\<Esc>", 'xt')
---- 1009,1017 ----
- call assert_equal({}, popup_getpos(winid))
- popupclear
-
-+ " WORD is the default
- exe "normal gg0/WORD\<CR>"
-! let winid = popup_atcursor('text', {})
- redraw
- call assert_equal(1, popup_getpos(winid).visible)
- call feedkeys("eli\<Esc>", 'xt')
-*** ../vim-8.1.1454/src/version.c 2019-06-02 19:02:24.478427721 +0200
---- src/version.c 2019-06-02 19:28:23.096298172 +0200
-***************
-*** 769,770 ****
---- 769,772 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 1455,
- /**/
-
---
-From "know your smileys":
- :~) A man with a tape recorder up his nose
-
- /// 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 ///