To: vim-dev@vim.org Subject: Patch 6.0.215 Fcc: outbox From: Bram Moolenaar MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit ------------ Patch 6.0.215 Problem: After using "/" from Visual mode the Paste menu and Toolbar entries don't work. Pasting with the middle mouse doesn't work and modeless selection doesn't work. Solution: Use the command line mode menus and use the mouse like in the command line. Files: src/gui.c, src/menu.c, src/ui.c *** ../vim60.214/src/gui.c Mon Feb 11 12:01:33 2002 --- src/gui.c Mon Feb 11 15:35:58 2002 *************** *** 2552,2558 **** { #ifdef FEAT_VISUAL /* Don't do modeless selection in Visual mode. */ ! if (checkfor != MOUSE_NONEF && VIsual_active) return; #endif --- 2552,2558 ---- { #ifdef FEAT_VISUAL /* Don't do modeless selection in Visual mode. */ ! if (checkfor != MOUSE_NONEF && VIsual_active && (State & NORMAL)) return; #endif *** ../vim60.214/src/menu.c Fri Feb 1 20:15:57 2002 --- src/menu.c Mon Feb 11 15:31:34 2002 *************** *** 1518,1531 **** { int idx; #ifdef FEAT_VISUAL ! if (VIsual_active) idx = MENU_INDEX_VISUAL; - else #endif ! if ((state & INSERT)) ! idx = MENU_INDEX_INSERT; ! else if ((state & CMDLINE) || state == HITRETURN || state == ASKMORE) idx = MENU_INDEX_CMDLINE; else if (finish_op) idx = MENU_INDEX_OP_PENDING; --- 1520,1534 ---- { int idx; + if ((state & INSERT)) + idx = MENU_INDEX_INSERT; + else if (state & CMDLINE) + idx = MENU_INDEX_CMDLINE; #ifdef FEAT_VISUAL ! else if (VIsual_active) idx = MENU_INDEX_VISUAL; #endif ! else if (state == HITRETURN || state == ASKMORE) idx = MENU_INDEX_CMDLINE; else if (finish_op) idx = MENU_INDEX_OP_PENDING; *** ../vim60.214/src/ui.c Tue Feb 5 13:38:06 2002 --- src/ui.c Mon Feb 11 15:40:12 2002 *************** *** 396,402 **** pos_T start, end; /* If visual mode is only due to a redo command ("."), then ignore it */ ! if (!redo_VIsual_busy && VIsual_active) { if (lt(VIsual, curwin->w_cursor)) { --- 396,402 ---- pos_T start, end; /* If visual mode is only due to a redo command ("."), then ignore it */ ! if (!redo_VIsual_busy && VIsual_active && (State & NORMAL)) { if (lt(VIsual, curwin->w_cursor)) { *************** *** 490,496 **** void clip_copy_selection() { ! if (VIsual_active && clip_star.available) { if (clip_isautosel()) clip_update_selection(); --- 490,496 ---- void clip_copy_selection() { ! if (VIsual_active && (State & NORMAL) && clip_star.available) { if (clip_isautosel()) clip_update_selection(); *** ../vim60.214/src/version.c Mon Feb 11 15:01:01 2002 --- src/version.c Mon Feb 11 15:41:54 2002 *************** *** 608,609 **** --- 608,611 ---- { /* Add new patch number below this line */ + /**/ + 215, /**/ -- Vim is like Emacs without all the typing. (John "Johann" Spetz) /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ ((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///