Hayaki Saito wrote:
> > It works correctly for me, setting 'ttymouse' to "sgr" automatically.
>
> Hmm, I checked this problem in Debian squeeze and OSX 10.7 environment.
>
> My $HOME/.vimrc is here:
> --
> set nocompatible
> set mouse=a
> --
>
> There are no statements any more.
> The environment variable $TERM is "xterm".
>
> I compared changeset 3884 (Patch 698) with 3885 (Patch 699), with configuring
> --with-features=huge.
> The details of features are here:
> +arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent
> +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
> +conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con_gui +diff
> +digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi
> +file_in_path +find_in_path +float +folding -footer +fork() +gettext
> -hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall
> +linebreak +lispindent +listcmds +localmap -lua +menu +mksession
> +modify_fname
> +mouse +mouseshape +mouse_dec -mouse_gpm -mouse_jsbterm +mouse_netterm
> +mouse_sgr -mouse_sysmouse +mouse_urxvt +mouse_xterm +multi_byte +multi_lang
> -mzscheme +netbeans_intg +path_extra -perl +persistent_undo +postscript
> +printer +profile -python -python3 +quickfix +reltime +rightleft -ruby
> +scrollbind +signs +smartindent -sniff +startuptime +statusline -sun_workshop
> +syntax +tag_binary +tag_old_static -tag_any_white -tcl +terminfo
> +termresponse
> +textobjects +title +toolbar +user_commands +vertsplit +virtualedit +visual
> +visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup
> +X11 -xfontset +xim +xsmp_interact +xterm_clipboard -xterm_save
>
> Yukihiro Nakadaira tested it in Ubuntu 12.10 xterm and gnome-terminal
> He also checked Patch 698 and Patch 699.
> He says, when He launch vim with "-u NONE -N" option, patch 698 sets
> ttymouse=sgr automatically, but patch 699 sets ttymouse=xterm.
>
> Hirohito Higash tested in Fedora 16 and PuTTY. $TERM is "xterm".
> He checked Patch 698 and Patch 744.
> He says, when He launch vim with "-N" option, patch 698 sets ttymouse=xterm2
> automatically, but patch 744 sets ttymouse=xterm.
>
> > For a quick check you can comment out these lines in term.c:
> >
> > if (p != NULL)
> > set_option_value((char_u *)"ttym", 0L, p, 0);
> >
> > If that works, then try:
> >
> > if (p != NULL && *p != NUL)
> > set_option_value((char_u *)"ttym", 0L, p, 0);
>
> With commenting out these lines, automatic detection works well.
>
> /* if (p != NULL)
> set_option_value((char_u *)"ttym", 0L, p, 0); */
>
> but It does not works.
>
> if (p != NULL && *p != NUL)
> set_option_value((char_u *)"ttym", 0L, p, 0);
>
> I make sure "use_xterm_like_mouse" returns TRUE and "use_xterm_mouse" returns
> 0.
> I think it is a matter of course because I do not set anything to ttymouse.
> So the string value "xterm" is set to ttym_flags around there automatically,
> and this condition around term.c:4084 returns FALSE.
>
> if (!option_was_set((char_u *)"ttym"))
Thanks. I could reproduce it now. This patch should fix it:
*** ../vim-7.3.744/src/option.c 2012-10-21 03:45:57.000000000 +0200
--- src/option.c 2012-12-03 20:07:32.000000000 +0100
***************
*** 11179,11184 ****
--- 11179,11197 ----
}
/*
+ * 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)
*** ../vim-7.3.744/src/proto/option.pro 2012-10-21 00:10:29.000000000 +0200
--- src/proto/option.pro 2012-12-03 20:08:36.000000000 +0100
***************
*** 52,57 ****
--- 52,58 ----
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));
*** ../vim-7.3.744/src/term.c 2012-10-21 02:10:20.000000000 +0200
--- src/term.c 2012-12-03 20:09:28.000000000 +0100
***************
*** 1864,1870 ****
--- 1864,1875 ----
}
# 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
--
I AM THANKFUL...
...for all the complaining I hear about the government
because it means we have freedom of speech.
/// Bram Moolenaar -- [email protected] -- 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 ///
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php