summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0445
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0445')
-rw-r--r--data/vim/patches/8.1.0445317
1 files changed, 0 insertions, 317 deletions
diff --git a/data/vim/patches/8.1.0445 b/data/vim/patches/8.1.0445
deleted file mode 100644
index 41076aeeb..000000000
--- a/data/vim/patches/8.1.0445
+++ /dev/null
@@ -1,317 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.0445
-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.0445
-Problem: Setting 'term' does not store location for termcap options.
-Solution: Set the script context for termcap options that are changed when
- 'term' is set.
-Files: src/option.c, src/proto/option.pro, src/term.c,
- src/testdir/test_options.vim
-
-
-*** ../vim-8.1.0444/src/option.c 2018-09-30 21:43:17.199693265 +0200
---- src/option.c 2018-10-02 14:12:11.856267373 +0200
-***************
-*** 1755,1766 ****
- {"langmap", "lmap", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP|P_SECURE,
- #ifdef FEAT_LANGMAP
- (char_u *)&p_langmap, PV_NONE,
-! {(char_u *)"", /* unmatched } */
- #else
- (char_u *)NULL, PV_NONE,
-! {(char_u *)NULL,
- #endif
-! (char_u *)0L} SCTX_INIT},
- {"langmenu", "lm", P_STRING|P_VI_DEF|P_NFNAME,
- #if defined(FEAT_MENU) && defined(FEAT_MULTI_LANG)
- (char_u *)&p_lm, PV_NONE,
---- 1755,1766 ----
- {"langmap", "lmap", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP|P_SECURE,
- #ifdef FEAT_LANGMAP
- (char_u *)&p_langmap, PV_NONE,
-! {(char_u *)"", (char_u *)0L}
- #else
- (char_u *)NULL, PV_NONE,
-! {(char_u *)NULL, (char_u *)0L}
- #endif
-! SCTX_INIT},
- {"langmenu", "lm", P_STRING|P_VI_DEF|P_NFNAME,
- #if defined(FEAT_MENU) && defined(FEAT_MULTI_LANG)
- (char_u *)&p_lm, PV_NONE,
-***************
-*** 5790,5809 ****
- }
-
- /*
-! * Mark a terminal option as allocated, found by a pointer into term_strings[].
- */
-! void
-! set_term_option_alloced(char_u **p)
- {
-! int opt_idx;
-
- for (opt_idx = 1; options[opt_idx].fullname != NULL; opt_idx++)
- if (options[opt_idx].var == (char_u *)p)
-! {
-! options[opt_idx].flags |= P_ALLOCED;
-! return;
-! }
-! return; /* cannot happen: didn't find it! */
- }
-
- #if defined(FEAT_EVAL) || defined(PROTO)
---- 5790,5821 ----
- }
-
- /*
-! * Return the option index found by a pointer into term_strings[].
-! * Return -1 if not found.
- */
-! int
-! get_term_opt_idx(char_u **p)
- {
-! int opt_idx;
-
- for (opt_idx = 1; options[opt_idx].fullname != NULL; opt_idx++)
- if (options[opt_idx].var == (char_u *)p)
-! return opt_idx;
-! return -1; // cannot happen: didn't find it!
-! }
-!
-! /*
-! * Mark a terminal option as allocated, found by a pointer into term_strings[].
-! * Return the option index or -1 if not found.
-! */
-! int
-! set_term_option_alloced(char_u **p)
-! {
-! int opt_idx = get_term_opt_idx(p);
-!
-! if (opt_idx >= 0)
-! options[opt_idx].flags |= P_ALLOCED;
-! return opt_idx;
- }
-
- #if defined(FEAT_EVAL) || defined(PROTO)
-***************
-*** 8237,8242 ****
---- 8249,8280 ----
- curwin->w_p_script_ctx[indir & PV_MASK] = new_script_ctx;
- }
- }
-+
-+ /*
-+ * Set the script_ctx for a termcap option.
-+ * "name" must be the two character code, e.g. "RV".
-+ * When "name" is NULL use "opt_idx".
-+ */
-+ void
-+ set_term_option_sctx_idx(char *name, int opt_idx)
-+ {
-+ char_u buf[5];
-+ int idx;
-+
-+ if (name == NULL)
-+ idx = opt_idx;
-+ else
-+ {
-+ buf[0] = 't';
-+ buf[1] = '_';
-+ buf[2] = name[0];
-+ buf[3] = name[1];
-+ buf[4] = 0;
-+ idx = findoption(buf);
-+ }
-+ if (idx >= 0)
-+ set_option_sctx_idx(idx, OPT_GLOBAL, current_sctx);
-+ }
- #endif
-
- /*
-***************
-*** 10445,10451 ****
- {
- struct vimoption *p;
-
-! for (p = &options[0]; p->fullname != NULL; p++)
- if (istermoption(p))
- {
- if (p->flags & P_ALLOCED)
---- 10483,10489 ----
- {
- struct vimoption *p;
-
-! for (p = options; p->fullname != NULL; p++)
- if (istermoption(p))
- {
- if (p->flags & P_ALLOCED)
-***************
-*** 10455,10460 ****
---- 10493,10502 ----
- *(char_u **)(p->var) = empty_option;
- p->def_val[VI_DEFAULT] = empty_option;
- p->flags &= ~(P_ALLOCED|P_DEF_ALLOCED);
-+ #ifdef FEAT_EVAL
-+ // remember where the option was cleared
-+ set_option_sctx_idx((int)(p - options), OPT_GLOBAL, current_sctx);
-+ #endif
- }
- clear_termcodes();
- }
-*** ../vim-8.1.0444/src/proto/option.pro 2018-09-13 20:31:47.103018229 +0200
---- src/proto/option.pro 2018-10-02 14:12:15.040243605 +0200
-***************
-*** 17,27 ****
- void check_buf_options(buf_T *buf);
- void free_string_option(char_u *p);
- void clear_string_option(char_u **pp);
-! void set_term_option_alloced(char_u **p);
- int was_set_insecurely(char_u *opt, int opt_flags);
- void set_string_option_direct(char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid);
- char_u *check_colorcolumn(win_T *wp);
- char_u *check_stl_option(char_u *s);
- int get_option_value(char_u *name, long *numval, char_u **stringval, int opt_flags);
- int get_option_value_strict(char_u *name, long *numval, char_u **stringval, int opt_type, void *from);
- char_u *option_iter_next(void **option, int opt_type);
---- 17,29 ----
- void check_buf_options(buf_T *buf);
- void free_string_option(char_u *p);
- void clear_string_option(char_u **pp);
-! int get_term_opt_idx(char_u **p);
-! int set_term_option_alloced(char_u **p);
- int was_set_insecurely(char_u *opt, int opt_flags);
- void set_string_option_direct(char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid);
- char_u *check_colorcolumn(win_T *wp);
- char_u *check_stl_option(char_u *s);
-+ void set_term_option_sctx_idx(char *name, int opt_idx);
- int get_option_value(char_u *name, long *numval, char_u **stringval, int opt_flags);
- int get_option_value_strict(char_u *name, long *numval, char_u **stringval, int opt_type, void *from);
- char_u *option_iter_next(void **option, int opt_type);
-*** ../vim-8.1.0444/src/term.c 2018-09-30 21:43:17.207693209 +0200
---- src/term.c 2018-10-02 14:44:51.335763377 +0200
-***************
-*** 1471,1476 ****
---- 1471,1479 ----
- if (term_strings[p->bt_entry] == NULL
- || term_strings[p->bt_entry] == empty_option)
- {
-+ #ifdef FEAT_EVAL
-+ int opt_idx = -1;
-+ #endif
- /* 8bit terminal: use CSI instead of <Esc>[ */
- if (term_8bit && term_7to8bit((char_u *)p->bt_string) != 0)
- {
-***************
-*** 1486,1496 ****
- STRMOVE(t + 1, t + 2);
- }
- term_strings[p->bt_entry] = s;
-! set_term_option_alloced(&term_strings[p->bt_entry]);
- }
- }
- else
- term_strings[p->bt_entry] = (char_u *)p->bt_string;
- }
- }
- else
---- 1489,1511 ----
- STRMOVE(t + 1, t + 2);
- }
- term_strings[p->bt_entry] = s;
-! #ifdef FEAT_EVAL
-! opt_idx =
-! #endif
-! set_term_option_alloced(
-! &term_strings[p->bt_entry]);
- }
- }
- else
-+ {
- term_strings[p->bt_entry] = (char_u *)p->bt_string;
-+ #ifdef FEAT_EVAL
-+ opt_idx = get_term_opt_idx(&term_strings[p->bt_entry]);
-+ #endif
-+ }
-+ #ifdef FEAT_EVAL
-+ set_term_option_sctx_idx(NULL, opt_idx);
-+ #endif
- }
- }
- else
-***************
-*** 1616,1622 ****
---- 1631,1642 ----
- {
- if (TERM_STR(string_names[i].dest) == NULL
- || TERM_STR(string_names[i].dest) == empty_option)
-+ {
- TERM_STR(string_names[i].dest) = TGETSTR(string_names[i].name, &tp);
-+ #ifdef FEAT_EVAL
-+ set_term_option_sctx_idx(string_names[i].name, -1);
-+ #endif
-+ }
- }
-
- /* tgetflag() returns 1 if the flag is present, 0 if not and
-***************
-*** 1658,1664 ****
---- 1678,1689 ----
- * Get number of colors (if not done already).
- */
- if (TERM_STR(KS_CCO) == NULL || TERM_STR(KS_CCO) == empty_option)
-+ {
- set_color_count(tgetnum("Co"));
-+ #ifdef FEAT_EVAL
-+ set_term_option_sctx_idx("Co", -1);
-+ #endif
-+ }
-
- # ifndef hpux
- BC = (char *)TGETSTR("bc", &tp);
-*** ../vim-8.1.0444/src/testdir/test_options.vim 2018-08-23 22:20:31.449852029 +0200
---- src/testdir/test_options.vim 2018-10-02 14:42:18.764840113 +0200
-***************
-*** 270,275 ****
---- 270,287 ----
- call assert_fails('set t_foo=', 'E846:')
- endfunc
-
-+ " Must be executed before other tests that set 'term'.
-+ func Test_000_term_option_verbose()
-+ let verb_cm = execute('verbose set t_cm')
-+ call assert_notmatch('Last set from', verb_cm)
-+
-+ let term_save = &term
-+ set term=ansi
-+ let verb_cm = execute('verbose set t_cm')
-+ call assert_match('Last set from.*test_options.vim', verb_cm)
-+ let &term = term_save
-+ endfunc
-+
- func Test_set_ttytype()
- if !has('gui_running') && has('unix')
- " Setting 'ttytype' used to cause a double-free when exiting vim and
-*** ../vim-8.1.0444/src/version.c 2018-10-02 14:15:08.991376909 +0200
---- src/version.c 2018-10-02 14:42:46.984641236 +0200
-***************
-*** 794,795 ****
---- 794,797 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 445,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-132. You come back and check this list every half-hour.
-
- /// 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 ///