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 / old / 5.6.063 < prev    next >
Encoding:
Internet Message Format  |  2000-04-11  |  4.5 KB

  1. To: vim-dev@vim.org
  2. Subject: Patch 5.6.063
  3. Fcc: outbox
  4. From: Bram Moolenaar <Bram@moolenaar.net>
  5. ------------
  6.  
  7. Patch 5.6.063
  8. Problem:    Using "I" in Visual-block mode doesn't accept a count. (Johannes
  9.         Zellner)
  10. Solution:   Pass the count on to do_insert() and edit(). (Allan Kelly)
  11. Files:        src/normal.c, src/ops.c, src/proto/ops.pro
  12.  
  13.  
  14. *** ../vim-5.6.62/src/normal.c    Wed Apr  5 14:42:03 2000
  15. --- src/normal.c    Wed Apr 12 15:18:58 2000
  16. ***************
  17. *** 1868,1874 ****
  18.           /* This is a new edit command, not a restart.  We don't edit
  19.            * recursively. */
  20.           restart_edit = 0;
  21. !         op_insert(oap);    /* handles insert & append; will call edit() */
  22.           }
  23.   #endif
  24.           break;
  25. --- 1868,1875 ----
  26.           /* This is a new edit command, not a restart.  We don't edit
  27.            * recursively. */
  28.           restart_edit = 0;
  29. !         op_insert(oap, cap->count1);/* handles insert & append
  30. !                          * will call edit() */
  31.           }
  32.   #endif
  33.           break;
  34. *** ../vim-5.6.62/src/ops.c    Wed Apr 12 19:01:02 2000
  35. --- src/ops.c    Wed Apr 12 15:18:58 2000
  36. ***************
  37. *** 483,502 ****
  38.       int        count = 0;    /* extra spaces to replace a cut TAB */
  39.       int        spaces = 0;    /* non-zero if cutting a TAB */
  40.       colnr_t    offset;        /* pointer along new line */
  41. !     int        s_len;        /* STRLEN(s) */
  42.       char_u    *newp, *oldp;    /* new, old lines */
  43.       linenr_t    lnum;        /* loop var */
  44.       int        oldstate = State;
  45.   
  46.       State = INSERT;        /* don't want REPLACE for State */
  47.       for (lnum = oap->start.lnum + 1; lnum <= oap->end.lnum; lnum++)
  48.       {
  49.       block_prep(oap, bdp, lnum, TRUE);
  50.       if (bdp->is_short && b_insert)
  51.           continue;    /* OP_INSERT, line ends before block start */
  52.   
  53. -     s_len = STRLEN(s);
  54.       oldp = ml_get(lnum);
  55.   
  56.       if (b_insert)
  57. --- 483,502 ----
  58.       int        count = 0;    /* extra spaces to replace a cut TAB */
  59.       int        spaces = 0;    /* non-zero if cutting a TAB */
  60.       colnr_t    offset;        /* pointer along new line */
  61. !     unsigned    s_len;        /* STRLEN(s) */
  62.       char_u    *newp, *oldp;    /* new, old lines */
  63.       linenr_t    lnum;        /* loop var */
  64.       int        oldstate = State;
  65.   
  66.       State = INSERT;        /* don't want REPLACE for State */
  67. +     s_len = STRLEN(s);
  68.       for (lnum = oap->start.lnum + 1; lnum <= oap->end.lnum; lnum++)
  69.       {
  70.       block_prep(oap, bdp, lnum, TRUE);
  71.       if (bdp->is_short && b_insert)
  72.           continue;    /* OP_INSERT, line ends before block start */
  73.   
  74.       oldp = ml_get(lnum);
  75.   
  76.       if (b_insert)
  77. ***************
  78. *** 1820,1827 ****
  79.    * op_insert - Insert and append operators for Visual mode.
  80.    */
  81.       void
  82. ! op_insert(oap)
  83.       OPARG    *oap;
  84.   {
  85.       long        ins_len, pre_textlen = 0;
  86.       char_u        *firstline, *ins_text;
  87. --- 1820,1828 ----
  88.    * op_insert - Insert and append operators for Visual mode.
  89.    */
  90.       void
  91. ! op_insert(oap, count1)
  92.       OPARG    *oap;
  93. +     long    count1;
  94.   {
  95.       long        ins_len, pre_textlen = 0;
  96.       char_u        *firstline, *ins_text;
  97. ***************
  98. *** 1867,1873 ****
  99.           inc_cursor();
  100.       }
  101.   
  102. !     edit(NUL, FALSE, (linenr_t)1);
  103.   
  104.       /* if user has moved off this line, we don't know what to do, so do
  105.        * nothing */
  106. --- 1868,1874 ----
  107.           inc_cursor();
  108.       }
  109.   
  110. !     edit(NUL, FALSE, (linenr_t)count1);
  111.   
  112.       /* if user has moved off this line, we don't know what to do, so do
  113.        * nothing */
  114. *** ../vim-5.6.62/src/proto/ops.pro    Sun Apr  2 11:57:11 2000
  115. --- src/proto/ops.pro    Wed Apr 12 16:40:01 2000
  116. ***************
  117. *** 18,24 ****
  118.   int op_replace __ARGS((OPARG *oap, int c));
  119.   void op_tilde __ARGS((OPARG *oap));
  120.   void swapchar __ARGS((int op_type, FPOS *pos));
  121. ! void op_insert __ARGS((OPARG *oap));
  122.   int op_change __ARGS((OPARG *oap));
  123.   void init_yank __ARGS((void));
  124.   int op_yank __ARGS((OPARG *oap, int deleting, int mess));
  125. --- 18,24 ----
  126.   int op_replace __ARGS((OPARG *oap, int c));
  127.   void op_tilde __ARGS((OPARG *oap));
  128.   void swapchar __ARGS((int op_type, FPOS *pos));
  129. ! void op_insert __ARGS((OPARG *oap, long count1));
  130.   int op_change __ARGS((OPARG *oap));
  131.   void init_yank __ARGS((void));
  132.   int op_yank __ARGS((OPARG *oap, int deleting, int mess));
  133. *** ../vim-5.6.62/src/version.c    Wed Apr 12 19:01:02 2000
  134. --- src/version.c    Wed Apr 12 19:02:00 2000
  135. ***************
  136. *** 420,421 ****
  137. --- 420,423 ----
  138.   {   /* Add new patch number below this line */
  139. + /**/
  140. +     63,
  141.   /**/
  142.  
  143. -- 
  144. hundred-and-one symptoms of being an internet addict:
  145. 11. You find yourself typing "com" after every period when using a word
  146.     processor.com
  147.  
  148. /-/-- Bram Moolenaar --- Bram@moolenaar.net --- http://www.moolenaar.net --\-\
  149. \-\-- Vim: http://www.vim.org ---- ICCF Holland: http://www.vim.org/iccf --/-/
  150.