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

Patch 7.3.338

Expand Messages
  • Bram Moolenaar
    Patch 7.3.338 Problem: Using getchar() in an expression mapping doesn t work well. Solution: Don t save and restore the typeahead. (James Vega) Files:
    Message 1 of 1 , Oct 12, 2011
      Patch 7.3.338
      Problem: Using getchar() in an expression mapping doesn't work well.
      Solution: Don't save and restore the typeahead. (James Vega)
      Files: src/getchar.c, src/testdir/test34.ok


      *** ../vim-7.3.337/src/getchar.c 2011-08-17 20:33:18.000000000 +0200
      --- src/getchar.c 2011-10-12 21:53:27.000000000 +0200
      ***************
      *** 2460,2486 ****

      /*
      * Handle ":map <expr>": evaluate the {rhs} as an
      ! * expression. Save and restore the typeahead so that
      ! * getchar() can be used. Also save and restore the
      ! * command line for "normal :".
      */
      if (mp->m_expr)
      {
      - tasave_T tabuf;
      int save_vgetc_busy = vgetc_busy;

      ! save_typeahead(&tabuf);
      ! if (tabuf.typebuf_valid)
      ! {
      ! vgetc_busy = 0;
      ! save_m_keys = vim_strsave(mp->m_keys);
      ! save_m_str = vim_strsave(mp->m_str);
      ! s = eval_map_expr(save_m_str, NUL);
      ! vgetc_busy = save_vgetc_busy;
      ! }
      ! else
      ! s = NULL;
      ! restore_typeahead(&tabuf);
      }
      else
      #endif
      --- 2460,2477 ----

      /*
      * Handle ":map <expr>": evaluate the {rhs} as an
      ! * expression. Also save and restore the command line
      ! * for "normal :".
      */
      if (mp->m_expr)
      {
      int save_vgetc_busy = vgetc_busy;

      ! vgetc_busy = 0;
      ! save_m_keys = vim_strsave(mp->m_keys);
      ! save_m_str = vim_strsave(mp->m_str);
      ! s = eval_map_expr(save_m_str, NUL);
      ! vgetc_busy = save_vgetc_busy;
      }
      else
      #endif
      *** ../vim-7.3.337/src/testdir/test34.ok 2010-08-15 21:57:29.000000000 +0200
      --- src/testdir/test34.ok 2011-10-12 21:59:39.000000000 +0200
      ***************
      *** 1,5 ****
      xxx4asdf fail nop ok 9 333
      ! XX111XX
      ---222---
      1. one
      2. two
      --- 1,5 ----
      xxx4asdf fail nop ok 9 333
      ! XX111-XX
      ---222---
      1. one
      2. two
      *** ../vim-7.3.337/src/version.c 2011-10-12 21:04:15.000000000 +0200
      --- src/version.c 2011-10-12 21:20:31.000000000 +0200
      ***************
      *** 711,712 ****
      --- 711,714 ----
      { /* Add new patch number below this line */
      + /**/
      + 338,
      /**/

      --
      hundred-and-one symptoms of being an internet addict:
      65. The last time you looked at the clock it was 11:30pm, and in what
      seems like only a few seconds later, your sister runs past you to
      catch her 7am school bus.

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