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

Patch 7.2.225

Expand Messages
  • Bram Moolenaar
    Patch 7.2.225 Problem: When using :normal a saved character may be executed. Solution: Also store old_char when saving typeahead. Files:
    Message 1 of 1 , Jul 9, 2009
    • 0 Attachment
      Patch 7.2.225
      Problem: When using ":normal" a saved character may be executed.
      Solution: Also store old_char when saving typeahead.
      Files: src/getchar.c, src/structs.h


      *** ../vim-7.2.224/src/getchar.c 2009-02-22 23:42:08.000000000 +0100
      --- src/getchar.c 2009-07-09 18:09:13.000000000 +0200
      ***************
      *** 1309,1314 ****
      --- 1309,1317 ----
      return OK;
      }

      + static int old_char = -1; /* character put back by vungetc() */
      + static int old_mod_mask; /* mod_mask for ungotten character */
      +
      #if defined(FEAT_EVAL) || defined(FEAT_EX_EXTRA) || defined(PROTO)

      /*
      ***************
      *** 1323,1328 ****
      --- 1326,1335 ----
      if (!tp->typebuf_valid)
      typebuf = tp->save_typebuf;

      + tp->old_char = old_char;
      + tp->old_mod_mask = old_mod_mask;
      + old_char = -1;
      +
      tp->save_stuffbuff = stuffbuff;
      stuffbuff.bh_first.b_next = NULL;
      # ifdef USE_INPUT_BUF
      ***************
      *** 1344,1349 ****
      --- 1351,1359 ----
      typebuf = tp->save_typebuf;
      }

      + old_char = tp->old_char;
      + old_mod_mask = tp->old_mod_mask;
      +
      free_buff(&stuffbuff);
      stuffbuff = tp->save_stuffbuff;
      # ifdef USE_INPUT_BUF
      ***************
      *** 1499,1507 ****
      #define KL_PART_KEY -1 /* keylen value for incomplete key-code */
      #define KL_PART_MAP -2 /* keylen value for incomplete mapping */

      - static int old_char = -1; /* character put back by vungetc() */
      - static int old_mod_mask; /* mod_mask for ungotten character */
      -
      /*
      * Get the next input character.
      * Can return a special key or a multi-byte character.
      --- 1509,1514 ----
      *** ../vim-7.2.224/src/structs.h 2009-06-16 16:01:34.000000000 +0200
      --- src/structs.h 2009-07-09 18:09:20.000000000 +0200
      ***************
      *** 882,887 ****
      --- 882,889 ----
      {
      typebuf_T save_typebuf;
      int typebuf_valid; /* TRUE when save_typebuf valid */
      + int old_char;
      + int old_mod_mask;
      struct buffheader save_stuffbuff;
      #ifdef USE_INPUT_BUF
      char_u *save_inputbuf;
      *** ../vim-7.2.224/src/version.c 2009-07-09 18:15:19.000000000 +0200
      --- src/version.c 2009-07-09 18:21:56.000000000 +0200
      ***************
      *** 678,679 ****
      --- 678,681 ----
      { /* Add new patch number below this line */
      + /**/
      + 225,
      /**/

      --
      hundred-and-one symptoms of being an internet addict:
      78. You find yourself dialing IP numbers on the phone.

      /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
      /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
      \\\ download, build and distribute -- http://www.A-A-P.org ///
      \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

      --~--~---------~--~----~------------~-------~--~----~
      You received this message from the "vim_dev" maillist.
      For more information, visit http://www.vim.org/maillist.php
      -~----------~----~----~----~------~----~------~--~---
    Your message has been successfully submitted and would be delivered to recipients shortly.