Loading ...
Sorry, an error occurred while loading the content.
 

Patch 7.3.597

Expand Messages
  • Bram Moolenaar
    Patch 7.3.597 Problem: clipboard autoselect only applies to the * register. (Sergey Vakulenko) Solution: Make autoselect work for the + register.
    Message 1 of 2 , Jul 10, 2012
      Patch 7.3.597
      Problem: 'clipboard' "autoselect" only applies to the * register. (Sergey
      Vakulenko)
      Solution: Make 'autoselect' work for the + register. (Christian Brabant)
      Add the "autoselectplus" option in 'clipboard' and the "P" flag in
      'guioptions'.
      Files: runtime/doc/options.txt, src/normal.c, src/ops.c, src/screen.c,
      src/ui.c, src/globals.h, src/proto/ui.pro, src/option.h, src/gui.c


      *** ../vim-7.3.596/runtime/doc/options.txt 2012-02-20 22:18:23.000000000 +0100
      --- runtime/doc/options.txt 2012-07-10 15:40:35.000000000 +0200
      ***************
      *** 1437,1442 ****
      --- 1452,1458 ----
      This option is a list of comma separated names.
      These names are recognized:

      + *clipboard-unnamed*
      unnamed When included, Vim will use the clipboard register '*'
      for all yank, delete, change and put operations which
      would normally go to the unnamed register. When a
      ***************
      *** 1446,1460 ****
      explicitly accessed using the "* notation. Also see
      |gui-clipboard|.

      unnamedplus A variant of "unnamed" flag which uses the clipboard
      register '+' (|quoteplus|) instead of register '*' for
      all operations except yank. Yank shall copy the text
      into register '+' and also into '*' when "unnamed" is
      included.
      ! Only available with the |+x11| feature.
      Availability can be checked with: >
      if has('unnamedplus')
      <
      autoselect Works like the 'a' flag in 'guioptions': If present,
      then whenever Visual mode is started, or the Visual
      area extended, Vim tries to become the owner of the
      --- 1462,1478 ----
      explicitly accessed using the "* notation. Also see
      |gui-clipboard|.

      + *clipboard-unnamedplus*
      unnamedplus A variant of "unnamed" flag which uses the clipboard
      register '+' (|quoteplus|) instead of register '*' for
      all operations except yank. Yank shall copy the text
      into register '+' and also into '*' when "unnamed" is
      included.
      ! Only available with the |+X11| feature.
      Availability can be checked with: >
      if has('unnamedplus')
      <
      + *clipboard-autoselect*
      autoselect Works like the 'a' flag in 'guioptions': If present,
      then whenever Visual mode is started, or the Visual
      area extended, Vim tries to become the owner of the
      ***************
      *** 1466,1474 ****
      --- 1484,1499 ----
      "autoselect" flag is used.
      Also applies to the modeless selection.

      + *clipboard-autoselectplus*
      + autoselectplus Like "autoselect" but using the + register instead of
      + the * register. Compare to the 'P' flag in
      + 'guioptions'.
      +
      + *clipboard-autoselectml*
      autoselectml Like "autoselect", but for the modeless selection
      only. Compare to the 'A' flag in 'guioptions'.

      + *clipboard-html*
      html When the clipboard contains HTML, use this when
      pasting. When putting text on the clipboard, mark it
      as HTML. This works to copy rendered HTML from
      ***************
      *** 1479,1484 ****
      --- 1504,1510 ----
      Only supported for GTK version 2 and later.
      Only available with the |+multi_byte| feature.

      + *clipboard-exclude*
      exclude:{pattern}
      Defines a pattern that is matched against the name of
      the terminal 'term'. If there is a match, no
      ***************
      *** 3547,3552 ****
      --- 3600,3608 ----
      windowing system's global selection unless explicitly told to
      by a yank or delete operation for the "* register.
      The same applies to the modeless selection.
      + *'go-P'*
      + 'P' Like autoselect but using the "+ register instead of the "*
      + register.
      *'go-A'*
      'A' Autoselect for the modeless selection. Like 'a', but only
      applies to the modeless selection.
      *** ../vim-7.3.596/src/normal.c 2012-06-29 13:56:01.000000000 +0200
      --- src/normal.c 2012-07-10 15:44:24.000000000 +0200
      ***************
      *** 1451,1457 ****
      * This could call do_pending_operator() recursively, but that's OK
      * because gui_yank will be TRUE for the nested call.
      */
      ! if (clip_star.available
      && oap->op_type != OP_NOP
      && !gui_yank
      # ifdef FEAT_VISUAL
      --- 1451,1457 ----
      * This could call do_pending_operator() recursively, but that's OK
      * because gui_yank will be TRUE for the nested call.
      */
      ! if ((clip_star.available || clip_plus.available)
      && oap->op_type != OP_NOP
      && !gui_yank
      # ifdef FEAT_VISUAL
      *** ../vim-7.3.596/src/ops.c 2012-06-29 13:34:15.000000000 +0200
      --- src/ops.c 2012-07-10 16:20:29.000000000 +0200
      ***************
      *** 962,969 ****
      * selection too. */
      if (name == '*' && clip_star.available)
      {
      ! if (clip_isautosel())
      ! clip_update_selection();
      may_get_selection(name);
      }
      #endif
      --- 962,975 ----
      * selection too. */
      if (name == '*' && clip_star.available)
      {
      ! if (clip_isautosel_star())
      ! clip_update_selection(&clip_star);
      ! may_get_selection(name);
      ! }
      ! if (name == '+' && clip_plus.available)
      ! {
      ! if (clip_isautosel_plus())
      ! clip_update_selection(&clip_plus);
      may_get_selection(name);
      }
      #endif
      ***************
      *** 3190,3196 ****

      clip_own_selection(&clip_plus);
      clip_gen_set_selection(&clip_plus);
      ! if (!clip_isautosel() && !did_star && curr == &(y_regs[PLUS_REGISTER]))
      {
      copy_yank_reg(&(y_regs[STAR_REGISTER]));
      clip_own_selection(&clip_star);
      --- 3196,3203 ----

      clip_own_selection(&clip_plus);
      clip_gen_set_selection(&clip_plus);
      ! if (!clip_isautosel_star() && !did_star
      ! && curr == &(y_regs[PLUS_REGISTER]))
      {
      copy_yank_reg(&(y_regs[STAR_REGISTER]));
      clip_own_selection(&clip_star);
      *** ../vim-7.3.596/src/screen.c 2012-06-13 18:06:32.000000000 +0200
      --- src/screen.c 2012-07-10 16:39:01.000000000 +0200
      ***************
      *** 519,526 ****
      # endif
      # ifdef FEAT_CLIPBOARD
      /* When Visual area changed, may have to update selection. */
      ! if (clip_star.available && clip_isautosel())
      ! clip_update_selection();
      # endif
      #ifdef FEAT_GUI
      /* Remove the cursor before starting to do anything, because
      --- 519,528 ----
      # endif
      # ifdef FEAT_CLIPBOARD
      /* When Visual area changed, may have to update selection. */
      ! if (clip_star.available && clip_isautosel_star())
      ! clip_update_selection(&clip_star);
      ! if (clip_plus.available && clip_isautosel_plus())
      ! clip_update_selection(&clip_plus);
      # endif
      #ifdef FEAT_GUI
      /* Remove the cursor before starting to do anything, because
      ***************
      *** 814,821 ****

      #ifdef FEAT_CLIPBOARD
      /* When Visual area changed, may have to update selection. */
      ! if (clip_star.available && clip_isautosel())
      ! clip_update_selection();
      #endif

      win_update(wp);
      --- 816,825 ----

      #ifdef FEAT_CLIPBOARD
      /* When Visual area changed, may have to update selection. */
      ! if (clip_star.available && clip_isautosel_star())
      ! clip_update_selection(&clip_star);
      ! if (clip_plus.available && clip_isautosel_plus())
      ! clip_update_selection(&clip_plus);
      #endif

      win_update(wp);
      ***************
      *** 3000,3006 ****
      area_highlighting = TRUE;
      attr = hl_attr(HLF_V);
      #if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
      ! if (clip_star.available && !clip_star.owned && clip_isautosel())
      attr = hl_attr(HLF_VNC);
      #endif
      }
      --- 3004,3013 ----
      area_highlighting = TRUE;
      attr = hl_attr(HLF_V);
      #if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
      ! if ((clip_star.available && !clip_star.owned
      ! && clip_isautosel_star())
      ! || (clip_plus.available && !clip_plus.owned
      ! && clip_isautosel_plus()))
      attr = hl_attr(HLF_VNC);
      #endif
      }
      ***************
      *** 9060,9066 ****
      || (wp != NULL && wp->w_width != Columns)
      # endif
      )
      ! clip_clear_selection();
      else
      clip_scroll_selection(-line_count);
      #endif
      --- 9067,9073 ----
      || (wp != NULL && wp->w_width != Columns)
      # endif
      )
      ! clip_clear_selection(&clip_star);
      else
      clip_scroll_selection(-line_count);
      #endif
      ***************
      *** 9281,9287 ****
      || (wp != NULL && wp->w_width != Columns)
      # endif
      )
      ! clip_clear_selection();
      else
      clip_scroll_selection(line_count);
      #endif
      --- 9288,9294 ----
      || (wp != NULL && wp->w_width != Columns)
      # endif
      )
      ! clip_clear_selection(&clip_star);
      else
      clip_scroll_selection(line_count);
      #endif
      *** ../vim-7.3.596/src/ui.c 2012-02-12 01:35:06.000000000 +0100
      --- src/ui.c 2012-07-10 16:43:17.000000000 +0200
      ***************
      *** 381,386 ****
      --- 381,388 ----

      #if defined(FEAT_CLIPBOARD) || defined(PROTO)

      + static void clip_copy_selection __ARGS((VimClipboard *clip));
      +
      /*
      * Selection stuff using Visual mode, for cutting and pasting text to other
      * windows.
      ***************
      *** 423,431 ****
      * this is called whenever VIsual mode is ended.
      */
      void
      ! clip_update_selection()
      {
      ! 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))
      --- 425,434 ----
      * this is called whenever VIsual mode is ended.
      */
      void
      ! clip_update_selection(clip)
      ! VimClipboard *clip;
      {
      ! 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))
      ***************
      *** 444,460 ****
      start = curwin->w_cursor;
      end = VIsual;
      }
      ! if (!equalpos(clip_star.start, start)
      ! || !equalpos(clip_star.end, end)
      ! || clip_star.vmode != VIsual_mode)
      {
      ! clip_clear_selection();
      ! clip_star.start = start;
      ! clip_star.end = end;
      ! clip_star.vmode = VIsual_mode;
      ! clip_free_selection(&clip_star);
      ! clip_own_selection(&clip_star);
      ! clip_gen_set_selection(&clip_star);
      }
      }
      }
      --- 447,463 ----
      start = curwin->w_cursor;
      end = VIsual;
      }
      ! if (!equalpos(clip->start, start)
      ! || !equalpos(clip->end, end)
      ! || clip->vmode != VIsual_mode)
      {
      ! clip_clear_selection(clip);
      ! clip->start = start;
      ! clip->end = end;
      ! clip->vmode = VIsual_mode;
      ! clip_free_selection(clip);
      ! clip_own_selection(clip);
      ! clip_gen_set_selection(clip);
      }
      }
      }
      ***************
      *** 475,481 ****
      int was_owned = cbd->owned;

      cbd->owned = (clip_gen_own_selection(cbd) == OK);
      ! if (!was_owned && cbd == &clip_star)
      {
      /* May have to show a different kind of highlighting for the
      * selected area. There is no specific redraw command for this,
      --- 478,484 ----
      int was_owned = cbd->owned;

      cbd->owned = (clip_gen_own_selection(cbd) == OK);
      ! if (!was_owned && (cbd == &clip_star || cbd == &clip_plus))
      {
      /* May have to show a different kind of highlighting for the
      * selected area. There is no specific redraw command for this,
      ***************
      *** 483,489 ****
      if (cbd->owned
      && (get_real_state() == VISUAL
      || get_real_state() == SELECTMODE)
      ! && clip_isautosel()
      && hl_attr(HLF_V) != hl_attr(HLF_VNC))
      redraw_curbuf_later(INVERTED_ALL);
      }
      --- 486,493 ----
      if (cbd->owned
      && (get_real_state() == VISUAL
      || get_real_state() == SELECTMODE)
      ! && (cbd == &clip_star ? clip_isautosel_star()
      ! : clip_isautosel_plus())
      && hl_attr(HLF_V) != hl_attr(HLF_VNC))
      redraw_curbuf_later(INVERTED_ALL);
      }
      ***************
      *** 502,513 ****
      #ifdef FEAT_X11
      int was_owned = cbd->owned;
      #endif
      ! int visual_selection = (cbd == &clip_star);

      clip_free_selection(cbd);
      cbd->owned = FALSE;
      if (visual_selection)
      ! clip_clear_selection();
      clip_gen_lose_selection(cbd);
      #ifdef FEAT_X11
      if (visual_selection)
      --- 506,520 ----
      #ifdef FEAT_X11
      int was_owned = cbd->owned;
      #endif
      ! int visual_selection = FALSE;
      !
      ! if (cbd == &clip_star || cbd == &clip_plus)
      ! visual_selection = TRUE;

      clip_free_selection(cbd);
      cbd->owned = FALSE;
      if (visual_selection)
      ! clip_clear_selection(cbd);
      clip_gen_lose_selection(cbd);
      #ifdef FEAT_X11
      if (visual_selection)
      ***************
      *** 518,524 ****
      if (was_owned
      && (get_real_state() == VISUAL
      || get_real_state() == SELECTMODE)
      ! && clip_isautosel()
      && hl_attr(HLF_V) != hl_attr(HLF_VNC))
      {
      update_curbuf(INVERTED_ALL);
      --- 525,532 ----
      if (was_owned
      && (get_real_state() == VISUAL
      || get_real_state() == SELECTMODE)
      ! && (cbd == &clip_star ?
      ! clip_isautosel_star() : clip_isautosel_plus())
      && hl_attr(HLF_V) != hl_attr(HLF_VNC))
      {
      update_curbuf(INVERTED_ALL);
      ***************
      *** 534,551 ****
      #endif
      }

      ! void
      ! clip_copy_selection()
      ! {
      ! if (VIsual_active && (State & NORMAL) && clip_star.available)
      ! {
      ! if (clip_isautosel())
      ! clip_update_selection();
      ! clip_free_selection(&clip_star);
      ! clip_own_selection(&clip_star);
      ! if (clip_star.owned)
      ! clip_get_selection(&clip_star);
      ! clip_gen_set_selection(&clip_star);
      }
      }

      --- 542,559 ----
      #endif
      }

      ! static void
      ! clip_copy_selection(clip)
      ! VimClipboard *clip;
      ! {
      ! if (VIsual_active && (State & NORMAL) && clip->available)
      ! {
      ! clip_update_selection(clip);
      ! clip_free_selection(clip);
      ! clip_own_selection(clip);
      ! if (clip->owned)
      ! clip_get_selection(clip);
      ! clip_gen_set_selection(clip);
      }
      }

      ***************
      *** 555,575 ****
      void
      clip_auto_select()
      {
      ! if (clip_isautosel())
      ! clip_copy_selection();
      }

      /*
      ! * Return TRUE if automatic selection of Visual area is desired.
      */
      int
      ! clip_isautosel()
      {
      return (
      #ifdef FEAT_GUI
      gui.in_use ? (vim_strchr(p_go, GO_ASEL) != NULL) :
      #endif
      ! clip_autoselect);
      }


      --- 563,600 ----
      void
      clip_auto_select()
      {
      ! if (clip_isautosel_star())
      ! clip_copy_selection(&clip_star);
      ! if (clip_isautosel_plus())
      ! clip_copy_selection(&clip_plus);
      }

      /*
      ! * Return TRUE if automatic selection of Visual area is desired for the *
      ! * register.
      */
      int
      ! clip_isautosel_star()
      {
      return (
      #ifdef FEAT_GUI
      gui.in_use ? (vim_strchr(p_go, GO_ASEL) != NULL) :
      #endif
      ! clip_autoselect_star);
      ! }
      !
      ! /*
      ! * Return TRUE if automatic selection of Visual area is desired for the +
      ! * register.
      ! */
      ! int
      ! clip_isautosel_plus()
      ! {
      ! return (
      ! #ifdef FEAT_GUI
      ! gui.in_use ? (vim_strchr(p_go, GO_ASELPLUS) != NULL) :
      ! #endif
      ! clip_autoselect_plus);
      }


      ***************
      *** 657,663 ****
      VimClipboard *cb = &clip_star;

      if (cb->state == SELECT_DONE)
      ! clip_clear_selection();

      row = check_row(row);
      col = check_col(col);
      --- 682,688 ----
      VimClipboard *cb = &clip_star;

      if (cb->state == SELECT_DONE)
      ! clip_clear_selection(cb);

      row = check_row(row);
      col = check_col(col);
      ***************
      *** 749,755 ****
      printf("Selection ended: (%u,%u) to (%u,%u)\n", cb->start.lnum,
      cb->start.col, cb->end.lnum, cb->end.col);
      #endif
      ! if (clip_isautosel()
      || (
      #ifdef FEAT_GUI
      gui.in_use ? (vim_strchr(p_go, GO_ASELML) != NULL) :
      --- 774,780 ----
      printf("Selection ended: (%u,%u) to (%u,%u)\n", cb->start.lnum,
      cb->start.col, cb->end.lnum, cb->end.col);
      #endif
      ! if (clip_isautosel_star()
      || (
      #ifdef FEAT_GUI
      gui.in_use ? (vim_strchr(p_go, GO_ASELML) != NULL) :
      ***************
      *** 932,947 ****
      * Called from outside to clear selected region from the display
      */
      void
      ! clip_clear_selection()
      {
      - VimClipboard *cb = &clip_star;

      ! if (cb->state == SELECT_CLEARED)
      return;

      ! clip_invert_area((int)cb->start.lnum, cb->start.col, (int)cb->end.lnum,
      ! cb->end.col, CLIP_CLEAR);
      ! cb->state = SELECT_CLEARED;
      }

      /*
      --- 957,972 ----
      * Called from outside to clear selected region from the display
      */
      void
      ! clip_clear_selection(cbd)
      ! VimClipboard *cbd;
      {

      ! if (cbd->state == SELECT_CLEARED)
      return;

      ! clip_invert_area((int)cbd->start.lnum, cbd->start.col, (int)cbd->end.lnum,
      ! cbd->end.col, CLIP_CLEAR);
      ! cbd->state = SELECT_CLEARED;
      }

      /*
      ***************
      *** 954,960 ****
      if (clip_star.state == SELECT_DONE
      && row2 >= clip_star.start.lnum
      && row1 <= clip_star.end.lnum)
      ! clip_clear_selection();
      }

      /*
      --- 979,985 ----
      if (clip_star.state == SELECT_DONE
      && row2 >= clip_star.start.lnum
      && row1 <= clip_star.end.lnum)
      ! clip_clear_selection(&clip_star);
      }

      /*
      *** ../vim-7.3.596/src/globals.h 2012-06-29 12:35:40.000000000 +0200
      --- src/globals.h 2012-07-10 16:35:13.000000000 +0200
      ***************
      *** 517,523 ****
      # define CLIP_UNNAMED_PLUS 2
      EXTERN int clip_unnamed INIT(= 0); /* above two values or'ed */

      ! EXTERN int clip_autoselect INIT(= FALSE);
      EXTERN int clip_autoselectml INIT(= FALSE);
      EXTERN int clip_html INIT(= FALSE);
      EXTERN regprog_T *clip_exclude_prog INIT(= NULL);
      --- 517,524 ----
      # define CLIP_UNNAMED_PLUS 2
      EXTERN int clip_unnamed INIT(= 0); /* above two values or'ed */

      ! EXTERN int clip_autoselect_star INIT(= FALSE);
      ! EXTERN int clip_autoselect_plus INIT(= FALSE);
      EXTERN int clip_autoselectml INIT(= FALSE);
      EXTERN int clip_html INIT(= FALSE);
      EXTERN regprog_T *clip_exclude_prog INIT(= NULL);
      *** ../vim-7.3.596/src/proto/ui.pro 2010-08-15 21:57:28.000000000 +0200
      --- src/proto/ui.pro 2012-07-10 16:37:35.000000000 +0200
      ***************
      *** 11,27 ****
      void ui_new_shellsize __ARGS((void));
      void ui_breakcheck __ARGS((void));
      void clip_init __ARGS((int can_use));
      ! void clip_update_selection __ARGS((void));
      void clip_own_selection __ARGS((VimClipboard *cbd));
      void clip_lose_selection __ARGS((VimClipboard *cbd));
      - void clip_copy_selection __ARGS((void));
      void clip_auto_select __ARGS((void));
      ! int clip_isautosel __ARGS((void));
      void clip_modeless __ARGS((int button, int is_click, int is_drag));
      void clip_start_selection __ARGS((int col, int row, int repeated_click));
      void clip_process_selection __ARGS((int button, int col, int row, int_u repeated_click));
      void clip_may_redraw_selection __ARGS((int row, int col, int len));
      ! void clip_clear_selection __ARGS((void));
      void clip_may_clear_selection __ARGS((int row1, int row2));
      void clip_scroll_selection __ARGS((int rows));
      void clip_copy_modeless_selection __ARGS((int both));
      --- 11,27 ----
      void ui_new_shellsize __ARGS((void));
      void ui_breakcheck __ARGS((void));
      void clip_init __ARGS((int can_use));
      ! void clip_update_selection __ARGS((VimClipboard *clip));
      void clip_own_selection __ARGS((VimClipboard *cbd));
      void clip_lose_selection __ARGS((VimClipboard *cbd));
      void clip_auto_select __ARGS((void));
      ! int clip_isautosel_star __ARGS((void));
      ! int clip_isautosel_plus __ARGS((void));
      void clip_modeless __ARGS((int button, int is_click, int is_drag));
      void clip_start_selection __ARGS((int col, int row, int repeated_click));
      void clip_process_selection __ARGS((int button, int col, int row, int_u repeated_click));
      void clip_may_redraw_selection __ARGS((int row, int col, int len));
      ! void clip_clear_selection __ARGS((VimClipboard *cbd));
      void clip_may_clear_selection __ARGS((int row1, int row2));
      void clip_scroll_selection __ARGS((int rows));
      void clip_copy_modeless_selection __ARGS((int both));
      *** ../vim-7.3.596/src/option.h 2012-06-06 16:12:54.000000000 +0200
      --- src/option.h 2012-07-10 15:54:32.000000000 +0200
      ***************
      *** 229,234 ****
      --- 229,235 ----
      #define GO_MENUS 'm' /* use menu bar */
      #define GO_NOSYSMENU 'M' /* don't source system menu */
      #define GO_POINTER 'p' /* pointer enter/leave callbacks */
      + #define GO_ASELPLUS 'P' /* autoselectPlus */
      #define GO_RIGHT 'r' /* use right scrollbar */
      #define GO_VRIGHT 'R' /* right scrollbar with vert split */
      #define GO_TEAROFF 't' /* add tear-off menu items */
      *** ../vim-7.3.596/src/gui.c 2012-05-27 00:37:45.000000000 +0200
      --- src/gui.c 2012-07-10 16:43:34.000000000 +0200
      ***************
      *** 3154,3160 ****
      }

      if (clip_star.state != SELECT_CLEARED && !did_clip)
      ! clip_clear_selection();
      #endif

      /* Don't put events in the input queue now. */
      --- 3154,3160 ----
      }

      if (clip_star.state != SELECT_CLEARED && !did_clip)
      ! clip_clear_selection(&clip_star);
      #endif

      /* Don't put events in the input queue now. */
      *** ../vim-7.3.596/src/version.c 2012-07-10 15:18:18.000000000 +0200
      --- src/version.c 2012-07-10 16:32:16.000000000 +0200
      ***************
      *** 716,717 ****
      --- 716,719 ----
      { /* Add new patch number below this line */
      + /**/
      + 597,
      /**/

      --
      hundred-and-one symptoms of being an internet addict:
      106. When told to "go to your room" you inform your parents that you
      can't...because you were kicked out and banned.

      /// Bram Moolenaar -- Bram@... -- 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
    • Ike Devolder
      ... CLIP_CLEAR); ... CLIP_CLEAR); ... small build issue here: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread - I/usr/include/gtk-2.0
      Message 2 of 2 , Jul 10, 2012
        Op dinsdag 10 juli 2012 16:49:38 schreef Bram Moolenaar:
        > Patch 7.3.597
        > Problem: 'clipboard' "autoselect" only applies to the * register. (Sergey
        > Vakulenko)
        > Solution: Make 'autoselect' work for the + register. (Christian Brabant)
        > Add the "autoselectplus" option in 'clipboard' and the "P" flag in
        > 'guioptions'.
        > Files: runtime/doc/options.txt, src/normal.c, src/ops.c, src/screen.c,
        > src/ui.c, src/globals.h, src/proto/ui.pro, src/option.h, src/gui.c
        >
        >
        > *** ../vim-7.3.596/runtime/doc/options.txt 2012-02-20 22:18:23.000000000
        > +0100 --- runtime/doc/options.txt 2012-07-10 15:40:35.000000000 +0200
        > ***************
        > *** 1437,1442 ****
        > --- 1452,1458 ----
        > This option is a list of comma separated names.
        > These names are recognized:
        >
        > + *clipboard-unnamed*
        > unnamed When included, Vim will use the clipboard register '*'
        > for all yank, delete, change and put operations which
        > would normally go to the unnamed register. When a
        > ***************
        > *** 1446,1460 ****
        > explicitly accessed using the "* notation. Also see
        >
        > |gui-clipboard|.
        >
        > unnamedplus A variant of "unnamed" flag which uses the clipboard
        > register '+' (|quoteplus|) instead of register '*' for
        > all operations except yank. Yank shall copy the text
        > into register '+' and also into '*' when "unnamed" is
        > included.
        > ! Only available with the |+x11| feature.
        > Availability can be checked with: >
        > if has('unnamedplus')
        > <
        > autoselect Works like the 'a' flag in 'guioptions': If present,
        > then whenever Visual mode is started, or the Visual
        > area extended, Vim tries to become the owner of the
        > --- 1462,1478 ----
        > explicitly accessed using the "* notation. Also see
        >
        > |gui-clipboard|.
        >
        > + *clipboard-unnamedplus*
        > unnamedplus A variant of "unnamed" flag which uses the clipboard
        > register '+' (|quoteplus|) instead of register '*' for
        > all operations except yank. Yank shall copy the text
        > into register '+' and also into '*' when "unnamed" is
        > included.
        > ! Only available with the |+X11| feature.
        > Availability can be checked with: >
        > if has('unnamedplus')
        > <
        > + *clipboard-autoselect*
        > autoselect Works like the 'a' flag in 'guioptions': If present,
        > then whenever Visual mode is started, or the Visual
        > area extended, Vim tries to become the owner of the
        > ***************
        > *** 1466,1474 ****
        > --- 1484,1499 ----
        > "autoselect" flag is used.
        > Also applies to the modeless selection.
        >
        > + *clipboard-autoselectplus*
        > + autoselectplus Like "autoselect" but using the + register instead of
        > + the * register. Compare to the 'P' flag in
        > + 'guioptions'.
        > +
        > + *clipboard-autoselectml*
        > autoselectml Like "autoselect", but for the modeless selection
        > only. Compare to the 'A' flag in 'guioptions'.
        >
        > + *clipboard-html*
        > html When the clipboard contains HTML, use this when
        > pasting. When putting text on the clipboard, mark it
        > as HTML. This works to copy rendered HTML from
        > ***************
        > *** 1479,1484 ****
        > --- 1504,1510 ----
        > Only supported for GTK version 2 and later.
        > Only available with the |+multi_byte| feature.
        >
        > + *clipboard-exclude*
        > exclude:{pattern}
        > Defines a pattern that is matched against the name of
        > the terminal 'term'. If there is a match, no
        > ***************
        > *** 3547,3552 ****
        > --- 3600,3608 ----
        > windowing system's global selection unless explicitly told to
        > by a yank or delete operation for the "* register.
        > The same applies to the modeless selection.
        > + *'go-P'*
        > + 'P' Like autoselect but using the "+ register instead of the "*
        > + register.
        > *'go-A'*
        > 'A' Autoselect for the modeless selection. Like 'a', but only
        > applies to the modeless selection.
        > *** ../vim-7.3.596/src/normal.c 2012-06-29 13:56:01.000000000 +0200
        > --- src/normal.c 2012-07-10 15:44:24.000000000 +0200
        > ***************
        > *** 1451,1457 ****
        > * This could call do_pending_operator() recursively, but that's OK
        > * because gui_yank will be TRUE for the nested call.
        > */
        > ! if (clip_star.available
        > && oap->op_type != OP_NOP
        > && !gui_yank
        > # ifdef FEAT_VISUAL
        > --- 1451,1457 ----
        > * This could call do_pending_operator() recursively, but that's OK
        > * because gui_yank will be TRUE for the nested call.
        > */
        > ! if ((clip_star.available || clip_plus.available)
        > && oap->op_type != OP_NOP
        > && !gui_yank
        > # ifdef FEAT_VISUAL
        > *** ../vim-7.3.596/src/ops.c 2012-06-29 13:34:15.000000000 +0200
        > --- src/ops.c 2012-07-10 16:20:29.000000000 +0200
        > ***************
        > *** 962,969 ****
        > * selection too. */
        > if (name == '*' && clip_star.available)
        > {
        > ! if (clip_isautosel())
        > ! clip_update_selection();
        > may_get_selection(name);
        > }
        > #endif
        > --- 962,975 ----
        > * selection too. */
        > if (name == '*' && clip_star.available)
        > {
        > ! if (clip_isautosel_star())
        > ! clip_update_selection(&clip_star);
        > ! may_get_selection(name);
        > ! }
        > ! if (name == '+' && clip_plus.available)
        > ! {
        > ! if (clip_isautosel_plus())
        > ! clip_update_selection(&clip_plus);
        > may_get_selection(name);
        > }
        > #endif
        > ***************
        > *** 3190,3196 ****
        >
        > clip_own_selection(&clip_plus);
        > clip_gen_set_selection(&clip_plus);
        > ! if (!clip_isautosel() && !did_star && curr == &(y_regs[PLUS_REGISTER]))
        > {
        > copy_yank_reg(&(y_regs[STAR_REGISTER]));
        > clip_own_selection(&clip_star);
        > --- 3196,3203 ----
        >
        > clip_own_selection(&clip_plus);
        > clip_gen_set_selection(&clip_plus);
        > ! if (!clip_isautosel_star() && !did_star
        > ! && curr == &(y_regs[PLUS_REGISTER]))
        > {
        > copy_yank_reg(&(y_regs[STAR_REGISTER]));
        > clip_own_selection(&clip_star);
        > *** ../vim-7.3.596/src/screen.c 2012-06-13 18:06:32.000000000 +0200
        > --- src/screen.c 2012-07-10 16:39:01.000000000 +0200
        > ***************
        > *** 519,526 ****
        > # endif
        > # ifdef FEAT_CLIPBOARD
        > /* When Visual area changed, may have to update selection. */
        > ! if (clip_star.available && clip_isautosel())
        > ! clip_update_selection();
        > # endif
        > #ifdef FEAT_GUI
        > /* Remove the cursor before starting to do anything, because
        > --- 519,528 ----
        > # endif
        > # ifdef FEAT_CLIPBOARD
        > /* When Visual area changed, may have to update selection. */
        > ! if (clip_star.available && clip_isautosel_star())
        > ! clip_update_selection(&clip_star);
        > ! if (clip_plus.available && clip_isautosel_plus())
        > ! clip_update_selection(&clip_plus);
        > # endif
        > #ifdef FEAT_GUI
        > /* Remove the cursor before starting to do anything, because
        > ***************
        > *** 814,821 ****
        >
        > #ifdef FEAT_CLIPBOARD
        > /* When Visual area changed, may have to update selection. */
        > ! if (clip_star.available && clip_isautosel())
        > ! clip_update_selection();
        > #endif
        >
        > win_update(wp);
        > --- 816,825 ----
        >
        > #ifdef FEAT_CLIPBOARD
        > /* When Visual area changed, may have to update selection. */
        > ! if (clip_star.available && clip_isautosel_star())
        > ! clip_update_selection(&clip_star);
        > ! if (clip_plus.available && clip_isautosel_plus())
        > ! clip_update_selection(&clip_plus);
        > #endif
        >
        > win_update(wp);
        > ***************
        > *** 3000,3006 ****
        > area_highlighting = TRUE;
        > attr = hl_attr(HLF_V);
        > #if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
        > ! if (clip_star.available && !clip_star.owned && clip_isautosel())
        > attr = hl_attr(HLF_VNC);
        > #endif
        > }
        > --- 3004,3013 ----
        > area_highlighting = TRUE;
        > attr = hl_attr(HLF_V);
        > #if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
        > ! if ((clip_star.available && !clip_star.owned
        > ! && clip_isautosel_star())
        > ! || (clip_plus.available && !clip_plus.owned
        > ! && clip_isautosel_plus()))
        > attr = hl_attr(HLF_VNC);
        > #endif
        > }
        > ***************
        > *** 9060,9066 ****
        >
        > || (wp != NULL && wp->w_width != Columns)
        >
        > # endif
        > )
        > ! clip_clear_selection();
        > else
        > clip_scroll_selection(-line_count);
        > #endif
        > --- 9067,9073 ----
        >
        > || (wp != NULL && wp->w_width != Columns)
        >
        > # endif
        > )
        > ! clip_clear_selection(&clip_star);
        > else
        > clip_scroll_selection(-line_count);
        > #endif
        > ***************
        > *** 9281,9287 ****
        >
        > || (wp != NULL && wp->w_width != Columns)
        >
        > # endif
        > )
        > ! clip_clear_selection();
        > else
        > clip_scroll_selection(line_count);
        > #endif
        > --- 9288,9294 ----
        >
        > || (wp != NULL && wp->w_width != Columns)
        >
        > # endif
        > )
        > ! clip_clear_selection(&clip_star);
        > else
        > clip_scroll_selection(line_count);
        > #endif
        > *** ../vim-7.3.596/src/ui.c 2012-02-12 01:35:06.000000000 +0100
        > --- src/ui.c 2012-07-10 16:43:17.000000000 +0200
        > ***************
        > *** 381,386 ****
        > --- 381,388 ----
        >
        > #if defined(FEAT_CLIPBOARD) || defined(PROTO)
        >
        > + static void clip_copy_selection __ARGS((VimClipboard *clip));
        > +
        > /*
        > * Selection stuff using Visual mode, for cutting and pasting text to
        > other * windows.
        > ***************
        > *** 423,431 ****
        > * this is called whenever VIsual mode is ended.
        > */
        > void
        > ! clip_update_selection()
        > {
        > ! 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))
        > --- 425,434 ----
        > * this is called whenever VIsual mode is ended.
        > */
        > void
        > ! clip_update_selection(clip)
        > ! VimClipboard *clip;
        > {
        > ! 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))
        > ***************
        > *** 444,460 ****
        > start = curwin->w_cursor;
        > end = VIsual;
        > }
        > ! if (!equalpos(clip_star.start, start)
        > ! || !equalpos(clip_star.end, end)
        > ! || clip_star.vmode != VIsual_mode)
        > {
        > ! clip_clear_selection();
        > ! clip_star.start = start;
        > ! clip_star.end = end;
        > ! clip_star.vmode = VIsual_mode;
        > ! clip_free_selection(&clip_star);
        > ! clip_own_selection(&clip_star);
        > ! clip_gen_set_selection(&clip_star);
        > }
        > }
        > }
        > --- 447,463 ----
        > start = curwin->w_cursor;
        > end = VIsual;
        > }
        > ! if (!equalpos(clip->start, start)
        > ! || !equalpos(clip->end, end)
        > ! || clip->vmode != VIsual_mode)
        > {
        > ! clip_clear_selection(clip);
        > ! clip->start = start;
        > ! clip->end = end;
        > ! clip->vmode = VIsual_mode;
        > ! clip_free_selection(clip);
        > ! clip_own_selection(clip);
        > ! clip_gen_set_selection(clip);
        > }
        > }
        > }
        > ***************
        > *** 475,481 ****
        > int was_owned = cbd->owned;
        >
        > cbd->owned = (clip_gen_own_selection(cbd) == OK);
        > ! if (!was_owned && cbd == &clip_star)
        > {
        > /* May have to show a different kind of highlighting for the
        > * selected area. There is no specific redraw command for this,
        > --- 478,484 ----
        > int was_owned = cbd->owned;
        >
        > cbd->owned = (clip_gen_own_selection(cbd) == OK);
        > ! if (!was_owned && (cbd == &clip_star || cbd == &clip_plus))
        > {
        > /* May have to show a different kind of highlighting for the
        > * selected area. There is no specific redraw command for this,
        > ***************
        > *** 483,489 ****
        > if (cbd->owned
        > && (get_real_state() == VISUAL
        >
        > || get_real_state() == SELECTMODE)
        >
        > ! && clip_isautosel()
        > && hl_attr(HLF_V) != hl_attr(HLF_VNC))
        > redraw_curbuf_later(INVERTED_ALL);
        > }
        > --- 486,493 ----
        > if (cbd->owned
        > && (get_real_state() == VISUAL
        >
        > || get_real_state() == SELECTMODE)
        >
        > ! && (cbd == &clip_star ? clip_isautosel_star()
        > ! : clip_isautosel_plus())
        > && hl_attr(HLF_V) != hl_attr(HLF_VNC))
        > redraw_curbuf_later(INVERTED_ALL);
        > }
        > ***************
        > *** 502,513 ****
        > #ifdef FEAT_X11
        > int was_owned = cbd->owned;
        > #endif
        > ! int visual_selection = (cbd == &clip_star);
        >
        > clip_free_selection(cbd);
        > cbd->owned = FALSE;
        > if (visual_selection)
        > ! clip_clear_selection();
        > clip_gen_lose_selection(cbd);
        > #ifdef FEAT_X11
        > if (visual_selection)
        > --- 506,520 ----
        > #ifdef FEAT_X11
        > int was_owned = cbd->owned;
        > #endif
        > ! int visual_selection = FALSE;
        > !
        > ! if (cbd == &clip_star || cbd == &clip_plus)
        > ! visual_selection = TRUE;
        >
        > clip_free_selection(cbd);
        > cbd->owned = FALSE;
        > if (visual_selection)
        > ! clip_clear_selection(cbd);
        > clip_gen_lose_selection(cbd);
        > #ifdef FEAT_X11
        > if (visual_selection)
        > ***************
        > *** 518,524 ****
        > if (was_owned
        > && (get_real_state() == VISUAL
        >
        > || get_real_state() == SELECTMODE)
        >
        > ! && clip_isautosel()
        > && hl_attr(HLF_V) != hl_attr(HLF_VNC))
        > {
        > update_curbuf(INVERTED_ALL);
        > --- 525,532 ----
        > if (was_owned
        > && (get_real_state() == VISUAL
        >
        > || get_real_state() == SELECTMODE)
        >
        > ! && (cbd == &clip_star ?
        > ! clip_isautosel_star() : clip_isautosel_plus())
        > && hl_attr(HLF_V) != hl_attr(HLF_VNC))
        > {
        > update_curbuf(INVERTED_ALL);
        > ***************
        > *** 534,551 ****
        > #endif
        > }
        >
        > ! void
        > ! clip_copy_selection()
        > ! {
        > ! if (VIsual_active && (State & NORMAL) && clip_star.available)
        > ! {
        > ! if (clip_isautosel())
        > ! clip_update_selection();
        > ! clip_free_selection(&clip_star);
        > ! clip_own_selection(&clip_star);
        > ! if (clip_star.owned)
        > ! clip_get_selection(&clip_star);
        > ! clip_gen_set_selection(&clip_star);
        > }
        > }
        >
        > --- 542,559 ----
        > #endif
        > }
        >
        > ! static void
        > ! clip_copy_selection(clip)
        > ! VimClipboard *clip;
        > ! {
        > ! if (VIsual_active && (State & NORMAL) && clip->available)
        > ! {
        > ! clip_update_selection(clip);
        > ! clip_free_selection(clip);
        > ! clip_own_selection(clip);
        > ! if (clip->owned)
        > ! clip_get_selection(clip);
        > ! clip_gen_set_selection(clip);
        > }
        > }
        >
        > ***************
        > *** 555,575 ****
        > void
        > clip_auto_select()
        > {
        > ! if (clip_isautosel())
        > ! clip_copy_selection();
        > }
        >
        > /*
        > ! * Return TRUE if automatic selection of Visual area is desired.
        > */
        > int
        > ! clip_isautosel()
        > {
        > return (
        > #ifdef FEAT_GUI
        > gui.in_use ? (vim_strchr(p_go, GO_ASEL) != NULL) :
        > #endif
        > ! clip_autoselect);
        > }
        >
        >
        > --- 563,600 ----
        > void
        > clip_auto_select()
        > {
        > ! if (clip_isautosel_star())
        > ! clip_copy_selection(&clip_star);
        > ! if (clip_isautosel_plus())
        > ! clip_copy_selection(&clip_plus);
        > }
        >
        > /*
        > ! * Return TRUE if automatic selection of Visual area is desired for the *
        > ! * register.
        > */
        > int
        > ! clip_isautosel_star()
        > {
        > return (
        > #ifdef FEAT_GUI
        > gui.in_use ? (vim_strchr(p_go, GO_ASEL) != NULL) :
        > #endif
        > ! clip_autoselect_star);
        > ! }
        > !
        > ! /*
        > ! * Return TRUE if automatic selection of Visual area is desired for the +
        > ! * register.
        > ! */
        > ! int
        > ! clip_isautosel_plus()
        > ! {
        > ! return (
        > ! #ifdef FEAT_GUI
        > ! gui.in_use ? (vim_strchr(p_go, GO_ASELPLUS) != NULL) :
        > ! #endif
        > ! clip_autoselect_plus);
        > }
        >
        >
        > ***************
        > *** 657,663 ****
        > VimClipboard *cb = &clip_star;
        >
        > if (cb->state == SELECT_DONE)
        > ! clip_clear_selection();
        >
        > row = check_row(row);
        > col = check_col(col);
        > --- 682,688 ----
        > VimClipboard *cb = &clip_star;
        >
        > if (cb->state == SELECT_DONE)
        > ! clip_clear_selection(cb);
        >
        > row = check_row(row);
        > col = check_col(col);
        > ***************
        > *** 749,755 ****
        > printf("Selection ended: (%u,%u) to (%u,%u)\n", cb->start.lnum,
        > cb->start.col, cb->end.lnum, cb->end.col);
        > #endif
        > ! if (clip_isautosel()
        >
        > || (
        >
        > #ifdef FEAT_GUI
        > gui.in_use ? (vim_strchr(p_go, GO_ASELML) != NULL) :
        > --- 774,780 ----
        > printf("Selection ended: (%u,%u) to (%u,%u)\n", cb->start.lnum,
        > cb->start.col, cb->end.lnum, cb->end.col);
        > #endif
        > ! if (clip_isautosel_star()
        >
        > || (
        >
        > #ifdef FEAT_GUI
        > gui.in_use ? (vim_strchr(p_go, GO_ASELML) != NULL) :
        > ***************
        > *** 932,947 ****
        > * Called from outside to clear selected region from the display
        > */
        > void
        > ! clip_clear_selection()
        > {
        > - VimClipboard *cb = &clip_star;
        >
        > ! if (cb->state == SELECT_CLEARED)
        > return;
        >
        > ! clip_invert_area((int)cb->start.lnum, cb->start.col,
        > (int)cb->end.lnum, ! cb->end.col,
        CLIP_CLEAR);
        > ! cb->state = SELECT_CLEARED;
        > }
        >
        > /*
        > --- 957,972 ----
        > * Called from outside to clear selected region from the display
        > */
        > void
        > ! clip_clear_selection(cbd)
        > ! VimClipboard *cbd;
        > {
        >
        > ! if (cbd->state == SELECT_CLEARED)
        > return;
        >
        > ! clip_invert_area((int)cbd->start.lnum, cbd->start.col,
        > (int)cbd->end.lnum, ! cbd->end.col,
        CLIP_CLEAR);
        > ! cbd->state = SELECT_CLEARED;
        > }
        >
        > /*
        > ***************
        > *** 954,960 ****
        > if (clip_star.state == SELECT_DONE
        > && row2 >= clip_star.start.lnum
        > && row1 <= clip_star.end.lnum)
        > ! clip_clear_selection();
        > }
        >
        > /*
        > --- 979,985 ----
        > if (clip_star.state == SELECT_DONE
        > && row2 >= clip_star.start.lnum
        > && row1 <= clip_star.end.lnum)
        > ! clip_clear_selection(&clip_star);
        > }
        >
        > /*
        > *** ../vim-7.3.596/src/globals.h 2012-06-29 12:35:40.000000000 +0200
        > --- src/globals.h 2012-07-10 16:35:13.000000000 +0200
        > ***************
        > *** 517,523 ****
        > # define CLIP_UNNAMED_PLUS 2
        > EXTERN int clip_unnamed INIT(= 0); /* above two values or'ed */
        >
        > ! EXTERN int clip_autoselect INIT(= FALSE);
        > EXTERN int clip_autoselectml INIT(= FALSE);
        > EXTERN int clip_html INIT(= FALSE);
        > EXTERN regprog_T *clip_exclude_prog INIT(= NULL);
        > --- 517,524 ----
        > # define CLIP_UNNAMED_PLUS 2
        > EXTERN int clip_unnamed INIT(= 0); /* above two values or'ed */
        >
        > ! EXTERN int clip_autoselect_star INIT(= FALSE);
        > ! EXTERN int clip_autoselect_plus INIT(= FALSE);
        > EXTERN int clip_autoselectml INIT(= FALSE);
        > EXTERN int clip_html INIT(= FALSE);
        > EXTERN regprog_T *clip_exclude_prog INIT(= NULL);
        > *** ../vim-7.3.596/src/proto/ui.pro 2010-08-15 21:57:28.000000000 +0200
        > --- src/proto/ui.pro 2012-07-10 16:37:35.000000000 +0200
        > ***************
        > *** 11,27 ****
        > void ui_new_shellsize __ARGS((void));
        > void ui_breakcheck __ARGS((void));
        > void clip_init __ARGS((int can_use));
        > ! void clip_update_selection __ARGS((void));
        > void clip_own_selection __ARGS((VimClipboard *cbd));
        > void clip_lose_selection __ARGS((VimClipboard *cbd));
        > - void clip_copy_selection __ARGS((void));
        > void clip_auto_select __ARGS((void));
        > ! int clip_isautosel __ARGS((void));
        > void clip_modeless __ARGS((int button, int is_click, int is_drag));
        > void clip_start_selection __ARGS((int col, int row, int repeated_click));
        > void clip_process_selection __ARGS((int button, int col, int row, int_u
        > repeated_click)); void clip_may_redraw_selection __ARGS((int row, int col,
        > int len)); ! void clip_clear_selection __ARGS((void));
        > void clip_may_clear_selection __ARGS((int row1, int row2));
        > void clip_scroll_selection __ARGS((int rows));
        > void clip_copy_modeless_selection __ARGS((int both));
        > --- 11,27 ----
        > void ui_new_shellsize __ARGS((void));
        > void ui_breakcheck __ARGS((void));
        > void clip_init __ARGS((int can_use));
        > ! void clip_update_selection __ARGS((VimClipboard *clip));
        > void clip_own_selection __ARGS((VimClipboard *cbd));
        > void clip_lose_selection __ARGS((VimClipboard *cbd));
        > void clip_auto_select __ARGS((void));
        > ! int clip_isautosel_star __ARGS((void));
        > ! int clip_isautosel_plus __ARGS((void));
        > void clip_modeless __ARGS((int button, int is_click, int is_drag));
        > void clip_start_selection __ARGS((int col, int row, int repeated_click));
        > void clip_process_selection __ARGS((int button, int col, int row, int_u
        > repeated_click)); void clip_may_redraw_selection __ARGS((int row, int col,
        > int len)); ! void clip_clear_selection __ARGS((VimClipboard *cbd));
        > void clip_may_clear_selection __ARGS((int row1, int row2));
        > void clip_scroll_selection __ARGS((int rows));
        > void clip_copy_modeless_selection __ARGS((int both));
        > *** ../vim-7.3.596/src/option.h 2012-06-06 16:12:54.000000000 +0200
        > --- src/option.h 2012-07-10 15:54:32.000000000 +0200
        > ***************
        > *** 229,234 ****
        > --- 229,235 ----
        > #define GO_MENUS 'm' /* use menu bar */
        > #define GO_NOSYSMENU 'M' /* don't source system menu */
        > #define GO_POINTER 'p' /* pointer enter/leave callbacks */
        > + #define GO_ASELPLUS 'P' /* autoselectPlus */
        > #define GO_RIGHT 'r' /* use right scrollbar */
        > #define GO_VRIGHT 'R' /* right scrollbar with vert split */
        > #define GO_TEAROFF 't' /* add tear-off menu items */
        > *** ../vim-7.3.596/src/gui.c 2012-05-27 00:37:45.000000000 +0200
        > --- src/gui.c 2012-07-10 16:43:34.000000000 +0200
        > ***************
        > *** 3154,3160 ****
        > }
        >
        > if (clip_star.state != SELECT_CLEARED && !did_clip)
        > ! clip_clear_selection();
        > #endif
        >
        > /* Don't put events in the input queue now. */
        > --- 3154,3160 ----
        > }
        >
        > if (clip_star.state != SELECT_CLEARED && !did_clip)
        > ! clip_clear_selection(&clip_star);
        > #endif
        >
        > /* Don't put events in the input queue now. */
        > *** ../vim-7.3.596/src/version.c 2012-07-10 15:18:18.000000000 +0200
        > --- src/version.c 2012-07-10 16:32:16.000000000 +0200
        > ***************
        > *** 716,717 ****
        > --- 716,719 ----
        > { /* Add new patch number below this line */
        > + /**/
        > + 597,
        > /**/

        small build issue here:

        gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread -
        I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -
        I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -
        I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -
        I/usr/include/freetype2 -I/usr/include/libpng15 -I/usr/local/include -
        march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4
        -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/option.o option.c
        option.c: In function 'check_clipboard_option':
        option.c:7436:2: error: 'clip_autoselect' undeclared (first use in this
        function)
        option.c:7436:2: note: each undeclared identifier is reported only once for
        each function it appears in
        make[1]: *** [objects/option.o] Error 1

        --Ike

        --
        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
      Your message has been successfully submitted and would be delivered to recipients shortly.