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.1.112 < prev    next >
Encoding:
Internet Message Format  |  2002-06-23  |  2.9 KB

  1. To: vim-dev@vim.org
  2. Subject: Patch 6.1.112
  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.1.112
  11. Problem:    When using ":argdo", ":bufdo" or ":windo", CTRL-O doesn't go to
  12.         the cursor position from before this command but every position
  13.         where the argument was executed.
  14. Solution:   Only remember the cursor position from before the ":argdo",
  15.         ":bufdo" and ":windo".
  16. Files:        src/ex_cmds2.c, src/mark.c
  17.  
  18.  
  19. *** ../vim61.111/src/ex_cmds2.c    Sun Mar 17 14:14:58 2002
  20. --- src/ex_cmds2.c    Mon Jun 24 22:44:49 2002
  21. ***************
  22. *** 1258,1264 ****
  23.                          (eap->forceit ? ECMD_FORCEIT : 0));
  24.   
  25.       /* like Vi: set the mark where the cursor is in the file. */
  26. !     setmark('\'');
  27.       }
  28.   }
  29.   
  30. --- 1258,1265 ----
  31.                          (eap->forceit ? ECMD_FORCEIT : 0));
  32.   
  33.       /* like Vi: set the mark where the cursor is in the file. */
  34. !     if (eap->cmdidx != CMD_argdo)
  35. !         setmark('\'');
  36.       }
  37.   }
  38.   
  39. ***************
  40. *** 1428,1435 ****
  41. --- 1429,1441 ----
  42.   #ifdef FEAT_WINDOWS
  43.       win = firstwin;
  44.   #endif
  45. +     /* set pcmark now */
  46.       if (eap->cmdidx == CMD_bufdo)
  47.           goto_buffer(eap, DOBUF_FIRST, FORWARD, 0);
  48. +     else
  49. +         setpcmark();
  50. +     listcmd_busy = TRUE;        /* avoids setting pcmark below */
  51.       while (!got_int)
  52.       {
  53.           if (eap->cmdidx == CMD_argdo)
  54. ***************
  55. *** 1454,1463 ****
  56.   #endif
  57.   
  58.           /* execute the command */
  59. -         listcmd_busy = TRUE;
  60.           do_cmdline(eap->arg, eap->getline, eap->cookie,
  61.                           DOCMD_VERBOSE + DOCMD_NOWAIT);
  62. -         listcmd_busy = FALSE;
  63.   
  64.           if (eap->cmdidx == CMD_bufdo)
  65.           {
  66. --- 1460,1467 ----
  67. ***************
  68. *** 1482,1488 ****
  69. --- 1486,1494 ----
  70.           }
  71.   #endif
  72.       }
  73. +     listcmd_busy = FALSE;
  74.       }
  75.   #if defined(FEAT_AUTOCMD) && defined(FEAT_SYN_HL)
  76.       if (new_ei != NULL)
  77.       {
  78. *** ../vim61.111/src/mark.c    Wed May 15 22:31:55 2002
  79. --- src/mark.c    Mon Jun 24 22:02:38 2002
  80. ***************
  81. *** 99,105 ****
  82.   #endif
  83.   
  84.       /* for :global the mark is set only once */
  85. !     if (global_busy)
  86.       return;
  87.   
  88.       curwin->w_prev_pcmark = curwin->w_pcmark;
  89. --- 99,105 ----
  90.   #endif
  91.   
  92.       /* for :global the mark is set only once */
  93. !     if (global_busy || listcmd_busy)
  94.       return;
  95.   
  96.       curwin->w_prev_pcmark = curwin->w_pcmark;
  97. *** ../vim61.111/src/version.c    Sun Jun 23 21:29:33 2002
  98. --- src/version.c    Mon Jun 24 22:42:11 2002
  99. ***************
  100. *** 608,609 ****
  101. --- 608,611 ----
  102.   {   /* Add new patch number below this line */
  103. + /**/
  104. +     112,
  105.   /**/
  106.  
  107. -- 
  108. Not too long ago, a program was something you watched on TV...
  109.  
  110.  ///  Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net  \\\
  111. ///   Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim   \\\
  112. \\\           Project leader for A-A-P -- http://www.a-a-p.org           ///
  113.  \\\  Help me helping AIDS orphans in Uganda - http://iccf-holland.org  ///
  114.