610cf47
To: vim-dev@vim.org
610cf47
Subject: Patch 7.2.131
610cf47
Fcc: outbox
610cf47
From: Bram Moolenaar <Bram@moolenaar.net>
610cf47
Mime-Version: 1.0
610cf47
Content-Type: text/plain; charset=ISO-8859-1
610cf47
Content-Transfer-Encoding: 8bit
610cf47
------------
610cf47
610cf47
Patch 7.2.131
610cf47
Problem:    When 'keymap' is cleared may still use the cursor highlighting for
610cf47
            when it's enabled.
610cf47
Solution:   Reset 'iminsert' and 'imsearch'. (partly by Dominique Pelle)
610cf47
            Also avoid ":setlocal" for these options have a global effect.
610cf47
Files:      src/option.c
610cf47
610cf47
610cf47
*** ../vim-7.2.130/src/option.c	Sat Feb 21 20:27:00 2009
610cf47
--- src/option.c	Wed Mar  4 04:09:51 2009
610cf47
***************
610cf47
*** 5797,5810 ****
610cf47
  	/* load or unload key mapping tables */
610cf47
  	errmsg = keymap_init();
610cf47
  
610cf47
! 	/* When successfully installed a new keymap switch on using it. */
610cf47
! 	if (*curbuf->b_p_keymap != NUL && errmsg == NULL)
610cf47
  	{
610cf47
! 	    curbuf->b_p_iminsert = B_IMODE_LMAP;
610cf47
! 	    if (curbuf->b_p_imsearch != B_IMODE_USE_INSERT)
610cf47
! 		curbuf->b_p_imsearch = B_IMODE_LMAP;
610cf47
! 	    set_iminsert_global();
610cf47
! 	    set_imsearch_global();
610cf47
  # ifdef FEAT_WINDOWS
610cf47
  	    status_redraw_curbuf();
610cf47
  # endif
610cf47
--- 5797,5824 ----
610cf47
  	/* load or unload key mapping tables */
610cf47
  	errmsg = keymap_init();
610cf47
  
610cf47
! 	if (errmsg == NULL)
610cf47
  	{
610cf47
! 	    if (*curbuf->b_p_keymap != NUL)
610cf47
! 	    {
610cf47
! 		/* Installed a new keymap, switch on using it. */
610cf47
! 		curbuf->b_p_iminsert = B_IMODE_LMAP;
610cf47
! 		if (curbuf->b_p_imsearch != B_IMODE_USE_INSERT)
610cf47
! 		    curbuf->b_p_imsearch = B_IMODE_LMAP;
610cf47
! 	    }
610cf47
! 	    else
610cf47
! 	    {
610cf47
! 		/* Cleared the keymap, may reset 'iminsert' and 'imsearch'. */
610cf47
! 		if (curbuf->b_p_iminsert == B_IMODE_LMAP)
610cf47
! 		    curbuf->b_p_iminsert = B_IMODE_NONE;
610cf47
! 		if (curbuf->b_p_imsearch == B_IMODE_LMAP)
610cf47
! 		    curbuf->b_p_imsearch = B_IMODE_USE_INSERT;
610cf47
! 	    }
610cf47
! 	    if ((opt_flags & OPT_LOCAL) == 0)
610cf47
! 	    {
610cf47
! 		set_iminsert_global();
610cf47
! 		set_imsearch_global();
610cf47
! 	    }
610cf47
  # ifdef FEAT_WINDOWS
610cf47
  	    status_redraw_curbuf();
610cf47
  # endif
610cf47
*** ../vim-7.2.130/src/version.c	Mon Mar  2 02:44:54 2009
610cf47
--- src/version.c	Wed Mar  4 04:10:32 2009
610cf47
***************
610cf47
*** 678,679 ****
610cf47
--- 678,681 ----
610cf47
  {   /* Add new patch number below this line */
610cf47
+ /**/
610cf47
+     131,
610cf47
  /**/
610cf47
610cf47
-- 
610cf47
hundred-and-one symptoms of being an internet addict:
610cf47
157. You fum through a magazine, you first check to see if it has a web
610cf47
     address.
610cf47
610cf47
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
610cf47
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
610cf47
\\\        download, build and distribute -- http://www.A-A-P.org        ///
610cf47
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///