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
--- a/src/version.c
+++ b/src/version.c
@@ -726,6 +726,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    745,
+/**/
     744,
 /**/
     743,