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 / 7.0 / 7.0.194 < prev    next >
Encoding:
Internet Message Format  |  2007-02-12  |  2.6 KB

  1. To: vim-dev@vim.org
  2. Subject: patch 7.0.194
  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 7.0.194
  11. Problem:    Once an ml_get error is given redrawing part of the screen may
  12.             cause it again, resulting in an endless loop.
  13. Solution:   Don't give the error message for a recursive call.
  14. Files:      src/memline.c
  15.  
  16.  
  17. *** ../vim-7.0.193/src/memline.c    Wed Feb  7 03:42:37 2007
  18. --- src/memline.c    Tue Feb 13 03:56:00 2007
  19. ***************
  20. *** 2054,2066 ****
  21.       linenr_T    lnum;
  22.       int        will_change;        /* line will be changed */
  23.   {
  24. !     bhdr_T    *hp;
  25. !     DATA_BL *dp;
  26. !     char_u  *ptr;
  27.   
  28.       if (lnum > buf->b_ml.ml_line_count)    /* invalid line number */
  29.       {
  30. !     EMSGN(_("E315: ml_get: invalid lnum: %ld"), lnum);
  31.   errorret:
  32.       STRCPY(IObuff, "???");
  33.       return IObuff;
  34. --- 2054,2074 ----
  35.       linenr_T    lnum;
  36.       int        will_change;        /* line will be changed */
  37.   {
  38. !     bhdr_T    *hp;
  39. !     DATA_BL    *dp;
  40. !     char_u    *ptr;
  41. !     static int    recursive = 0;
  42.   
  43.       if (lnum > buf->b_ml.ml_line_count)    /* invalid line number */
  44.       {
  45. !     if (recursive == 0)
  46. !     {
  47. !         /* Avoid giving this message for a recursive call, may happen when
  48. !          * the GUI redraws part of the text. */
  49. !         ++recursive;
  50. !         EMSGN(_("E315: ml_get: invalid lnum: %ld"), lnum);
  51. !         --recursive;
  52. !     }
  53.   errorret:
  54.       STRCPY(IObuff, "???");
  55.       return IObuff;
  56. ***************
  57. *** 2088,2094 ****
  58.        */
  59.       if ((hp = ml_find_line(buf, lnum, ML_FIND)) == NULL)
  60.       {
  61. !         EMSGN(_("E316: ml_get: cannot find line %ld"), lnum);
  62.           goto errorret;
  63.       }
  64.   
  65. --- 2096,2109 ----
  66.        */
  67.       if ((hp = ml_find_line(buf, lnum, ML_FIND)) == NULL)
  68.       {
  69. !         if (recursive == 0)
  70. !         {
  71. !         /* Avoid giving this message for a recursive call, may happen
  72. !          * when the GUI redraws part of the text. */
  73. !         ++recursive;
  74. !         EMSGN(_("E316: ml_get: cannot find line %ld"), lnum);
  75. !         --recursive;
  76. !         }
  77.           goto errorret;
  78.       }
  79.   
  80. *** ../vim-7.0.193/src/version.c    Tue Feb 13 03:49:01 2007
  81. --- src/version.c    Tue Feb 13 03:59:22 2007
  82. ***************
  83. *** 668,669 ****
  84. --- 668,671 ----
  85.   {   /* Add new patch number below this line */
  86. + /**/
  87. +     194,
  88.   /**/
  89.  
  90. -- 
  91. hundred-and-one symptoms of being an internet addict:
  92. 114. You are counting items, you go "0,1,2,3,4,5,6,7,8,9,A,B,C,D...".
  93.  
  94.  /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
  95. ///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
  96. \\\        download, build and distribute -- http://www.A-A-P.org        ///
  97.  \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
  98.