home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / patches / 6.3 / 6.3.062 < prev    next >
Encoding:
Internet Message Format  |  2005-02-12  |  2.3 KB

  1. To: vim-dev@vim.org
  2. Subject: Patch 6.3.062
  3. Fcc: outbox
  4. From: Bram Moolenaar <Bram@moolenaar.net>
  5. Mime-Version: 1.0
  6. Content-Type: text/plain; charset=ISO-8859-1
  7. Content-Transfer-Encoding: 8bit
  8. ------------
  9.  
  10. Patch 6.3.062
  11. Problem:    ":normal! gQ" hangs.
  12. Solution:   Quit getcmdline() and do_exmode() when out of typeahead.
  13. Files:        src/ex_getln.c, src/ex_docmd.c
  14.  
  15.  
  16. *** ../vim-6.3.049/src/ex_getln.c    Thu Jan 13 16:25:02 2005
  17. --- src/ex_getln.c    Sun Feb 13 20:35:24 2005
  18. ***************
  19. *** 997,1004 ****
  20.   
  21.       case ESC:    /* get here if p_wc != ESC or when ESC typed twice */
  22.       case Ctrl_C:
  23. !         /* In exmode it doesn't make sense to return. */
  24. !         if (exmode_active)
  25.               goto cmdline_not_changed;
  26.   
  27.           gotesc = TRUE;        /* will free ccline.cmdbuff after
  28. --- 997,1009 ----
  29.   
  30.       case ESC:    /* get here if p_wc != ESC or when ESC typed twice */
  31.       case Ctrl_C:
  32. !         /* In exmode it doesn't make sense to return. Except when
  33. !          * ":normal" runs out of characters. */
  34. !         if (exmode_active
  35. ! #ifdef FEAT_EX_EXTRA
  36. !             && (ex_normal_busy == 0 || typebuf.tb_len > 0)
  37. ! #endif
  38. !            )
  39.               goto cmdline_not_changed;
  40.   
  41.           gotesc = TRUE;        /* will free ccline.cmdbuff after
  42. *** ../vim-6.3.049/src/ex_docmd.c    Sun Dec  5 16:18:46 2004
  43. --- src/ex_docmd.c    Sun Feb 13 20:39:37 2005
  44. ***************
  45. *** 525,530 ****
  46. --- 525,538 ----
  47.       MSG(_("Entering Ex mode.  Type \"visual\" to go to Normal mode."));
  48.       while (exmode_active)
  49.       {
  50. + #ifdef FEAT_EX_EXTRA
  51. +     /* Check for a ":normal" command and no more characters left. */
  52. +     if (ex_normal_busy > 0 && typebuf.tb_len == 0)
  53. +     {
  54. +         exmode_active = FALSE;
  55. +         break;
  56. +     }
  57. + #endif
  58.       msg_scroll = TRUE;
  59.       need_wait_return = FALSE;
  60.       ex_pressedreturn = FALSE;
  61. *** ../vim-6.3.049/src/version.c    Sat Jan 29 16:25:36 2005
  62. --- src/version.c    Sun Feb 13 20:45:33 2005
  63. ***************
  64. *** 643,644 ****
  65. --- 643,646 ----
  66.   {   /* Add new patch number below this line */
  67. + /**/
  68. +     62,
  69.   /**/
  70.  
  71. -- 
  72. I AM THANKFUL...
  73. ...for the taxes that I pay because it means that I am employed.
  74.  
  75.  /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
  76. ///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
  77. \\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
  78.  \\\     Buy LOTR 3 and help AIDS victims -- http://ICCF.nl/lotr.html   ///
  79.