Mercurial > vim
changeset 3980:aab4b29520e7 v7.3.745
updated for version 7.3.745
Problem: Automatically setting 'ttymouse' doesn't work.
Solution: Reset the "option was set" flag when using the default.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 05 Dec 2012 14:43:02 +0100 |
parents | 538ff809ae53 |
children | b97ab967c4fb |
files | src/option.c src/proto/option.pro src/term.c src/version.c |
diffstat | 4 files changed, 21 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/option.c +++ b/src/option.c @@ -11179,6 +11179,19 @@ option_was_set(name) } /* + * Reset the flag indicating option "name" was set. + */ + void +reset_option_was_set(name) + char_u *name; +{ + int idx = findoption(name); + + if (idx >= 0) + options[idx].flags &= ~P_WAS_SET; +} + +/* * compatible_set() - Called when 'compatible' has been set or unset. * * When 'compatible' set: Set all relevant options (those that have the P_VIM)
--- a/src/proto/option.pro +++ b/src/proto/option.pro @@ -52,6 +52,7 @@ int shortmess __ARGS((int x)); void vimrc_found __ARGS((char_u *fname, char_u *envname)); void change_compatible __ARGS((int on)); int option_was_set __ARGS((char_u *name)); +void reset_option_was_set __ARGS((char_u *name)); int can_bs __ARGS((int what)); void save_file_ff __ARGS((buf_T *buf)); int file_ff_differs __ARGS((buf_T *buf, int ignore_empty));
--- a/src/term.c +++ b/src/term.c @@ -1864,7 +1864,12 @@ set_termname(term) } # endif if (p != NULL) + { set_option_value((char_u *)"ttym", 0L, p, 0); + /* Reset the WAS_SET flag, 'ttymouse' can be set to "sgr" or + * "xterm2" in check_termcode(). */ + reset_option_was_set((char_u *)"ttym"); + } if (p == NULL # ifdef FEAT_GUI || gui.in_use