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

Patch 6.3b.015

Expand Messages
  • Bram Moolenaar
    Patch 6.3b.015 Problem: Get lalloc(0) error when using p in Visual mode while clipboard contains autoselect,unnamed . (Mark Wagonner) Solution: Avoid
    Message 1 of 1 , May 30, 2004
    • 0 Attachment
      Patch 6.3b.015
      Problem: Get lalloc(0) error when using "p" in Visual mode while
      'clipboard' contains "autoselect,unnamed". (Mark Wagonner)
      Solution: Avoid allocating zero bytes. Obtain the clipboard when necessary.
      Files: src/ops.c


      *** ../vim-6.3b.014/src/ops.c Sun May 16 22:38:45 2004
      --- src/ops.c Tue May 25 19:52:26 2004
      ***************
      *** 864,869 ****
      --- 864,898 ----
      y_previous = y_current;
      }

      + #ifdef FEAT_CLIPBOARD
      + /*
      + * When "regname" is a clipboard register, obtain the selection. If it's not
      + * available return zero, otherwise return "regname".
      + */
      + static int may_get_selection __ARGS((int regname));
      +
      + static int
      + may_get_selection(regname)
      + int regname;
      + {
      + if (regname == '*')
      + {
      + if (!clip_star.available)
      + regname = 0;
      + else
      + clip_get_selection(&clip_star);
      + }
      + else if (regname == '+')
      + {
      + if (!clip_plus.available)
      + regname = 0;
      + else
      + clip_get_selection(&clip_plus);
      + }
      + return regname;
      + }
      + #endif
      +
      #if defined(FEAT_VISUAL) || defined(PROTO)
      /*
      * Obtain the contents of a "normal" register. The register is made empty.
      ***************
      *** 877,882 ****
      --- 906,921 ----
      static struct yankreg *reg;
      int i;

      + #ifdef FEAT_CLIPBOARD
      + /* When Visual area changed, may have to update selection. Obtain the
      + * selection too. */
      + if (name == '*' && clip_star.available && clip_isautosel())
      + {
      + clip_update_selection();
      + may_get_selection(name);
      + }
      + #endif
      +
      get_yank_register(name, 0);
      reg = (struct yankreg *)alloc((unsigned)sizeof(struct yankreg));
      if (reg != NULL)
      ***************
      *** 885,892 ****
      if (copy)
      {
      /* If we run out of memory some or all of the lines are empty. */
      ! reg->y_array = (char_u **)alloc((unsigned)(sizeof(char_u *)
      ! * reg->y_size));
      if (reg->y_array != NULL)
      {
      for (i = 0; i < reg->y_size; ++i)
      --- 924,934 ----
      if (copy)
      {
      /* If we run out of memory some or all of the lines are empty. */
      ! if (reg->y_size == 0)
      ! reg->y_array = NULL;
      ! else
      ! reg->y_array = (char_u **)alloc((unsigned)(sizeof(char_u *)
      ! * reg->y_size));
      if (reg->y_array != NULL)
      {
      for (i = 0; i < reg->y_size; ++i)
      ***************
      *** 1048,1082 ****
      }
      return OK;
      }
      -
      - #ifdef FEAT_CLIPBOARD
      - /*
      - * When "regname" is a clipboard register, obtain the selection. If it's not
      - * available return zero, otherwise return "regname".
      - */
      - static int may_get_selection __ARGS((int regname));
      -
      - static int
      - may_get_selection(regname)
      - int regname;
      - {
      - if (regname == '*')
      - {
      - if (!clip_star.available)
      - regname = 0;
      - else
      - clip_get_selection(&clip_star);
      - }
      - else if (regname == '+')
      - {
      - if (!clip_plus.available)
      - regname = 0;
      - else
      - clip_get_selection(&clip_plus);
      - }
      - return regname;
      - }
      - #endif

      /*
      * execute a yank register: copy it into the stuff buffer
      --- 1090,1095 ----
      *** ../vim-6.3b.014/src/version.c Sun May 30 20:29:49 2004
      --- src/version.c Sun May 30 20:30:30 2004
      ***************
      *** 643,644 ****
      --- 643,646 ----
      { /* Add new patch number below this line */
      + /**/
      + 15,
      /**/

      --
      hundred-and-one symptoms of being an internet addict:
      5. You find yourself brainstorming for new subjects to search.

      /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
      /// Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
      \\\ Project leader for A-A-P -- http://www.A-A-P.org ///
      \\\ Buy at Amazon and help AIDS victims -- http://ICCF.nl/click1.html ///
    Your message has been successfully submitted and would be delivered to recipients shortly.