Karsten Hopp 6ac911
To: vim_dev@googlegroups.com
Karsten Hopp 6ac911
Subject: Patch 7.4.531
Karsten Hopp 6ac911
Fcc: outbox
Karsten Hopp 6ac911
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 6ac911
Mime-Version: 1.0
Karsten Hopp 6ac911
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 6ac911
Content-Transfer-Encoding: 8bit
Karsten Hopp 6ac911
------------
Karsten Hopp 6ac911
Karsten Hopp 6ac911
Patch 7.4.531
Karsten Hopp 6ac911
Problem:    Comments about parsing an Ex command are wrong.
Karsten Hopp 6ac911
Solution:   Correct the steop numbers.
Karsten Hopp 6ac911
Files:	    src/ex_docmd.c
Karsten Hopp 6ac911
Karsten Hopp 6ac911
Karsten Hopp 6ac911
*** ../vim-7.4.530/src/ex_docmd.c	2014-11-27 16:22:42.742413039 +0100
Karsten Hopp 6ac911
--- src/ex_docmd.c	2014-11-27 16:37:22.164760647 +0100
Karsten Hopp 6ac911
***************
Karsten Hopp 6ac911
*** 1721,1728 ****
Karsten Hopp 6ac911
   *
Karsten Hopp 6ac911
   * 1. skip comment lines and leading space
Karsten Hopp 6ac911
   * 2. handle command modifiers
Karsten Hopp 6ac911
!  * 3. parse command
Karsten Hopp 6ac911
   * 4. parse range
Karsten Hopp 6ac911
   * 6. parse arguments
Karsten Hopp 6ac911
   * 7. switch on command name
Karsten Hopp 6ac911
   *
Karsten Hopp 6ac911
--- 1721,1729 ----
Karsten Hopp 6ac911
   *
Karsten Hopp 6ac911
   * 1. skip comment lines and leading space
Karsten Hopp 6ac911
   * 2. handle command modifiers
Karsten Hopp 6ac911
!  * 3. find the command
Karsten Hopp 6ac911
   * 4. parse range
Karsten Hopp 6ac911
+  * 5. Parse the command.
Karsten Hopp 6ac911
   * 6. parse arguments
Karsten Hopp 6ac911
   * 7. switch on command name
Karsten Hopp 6ac911
   *
Karsten Hopp 6ac911
***************
Karsten Hopp 6ac911
*** 2335,2341 ****
Karsten Hopp 6ac911
  	ea.forceit = FALSE;
Karsten Hopp 6ac911
  
Karsten Hopp 6ac911
  /*
Karsten Hopp 6ac911
!  * 5. Parse arguments.
Karsten Hopp 6ac911
   */
Karsten Hopp 6ac911
      if (!IS_USER_CMDIDX(ea.cmdidx))
Karsten Hopp 6ac911
  	ea.argt = (long)cmdnames[(int)ea.cmdidx].cmd_argt;
Karsten Hopp 6ac911
--- 2336,2342 ----
Karsten Hopp 6ac911
  	ea.forceit = FALSE;
Karsten Hopp 6ac911
  
Karsten Hopp 6ac911
  /*
Karsten Hopp 6ac911
!  * 6. Parse arguments.
Karsten Hopp 6ac911
   */
Karsten Hopp 6ac911
      if (!IS_USER_CMDIDX(ea.cmdidx))
Karsten Hopp 6ac911
  	ea.argt = (long)cmdnames[(int)ea.cmdidx].cmd_argt;
Karsten Hopp 6ac911
***************
Karsten Hopp 6ac911
*** 2782,2788 ****
Karsten Hopp 6ac911
  #endif
Karsten Hopp 6ac911
  
Karsten Hopp 6ac911
  /*
Karsten Hopp 6ac911
!  * 6. Switch on command name.
Karsten Hopp 6ac911
   *
Karsten Hopp 6ac911
   * The "ea" structure holds the arguments that can be used.
Karsten Hopp 6ac911
   */
Karsten Hopp 6ac911
--- 2783,2789 ----
Karsten Hopp 6ac911
  #endif
Karsten Hopp 6ac911
  
Karsten Hopp 6ac911
  /*
Karsten Hopp 6ac911
!  * 7. Switch on command name.
Karsten Hopp 6ac911
   *
Karsten Hopp 6ac911
   * The "ea" structure holds the arguments that can be used.
Karsten Hopp 6ac911
   */
Karsten Hopp 6ac911
***************
Karsten Hopp 6ac911
*** 3319,3325 ****
Karsten Hopp 6ac911
      ea.argt = 0;
Karsten Hopp 6ac911
  
Karsten Hopp 6ac911
  /*
Karsten Hopp 6ac911
!  * 2. skip comment lines and leading space, colons or bars
Karsten Hopp 6ac911
   */
Karsten Hopp 6ac911
      for (cmd = buff; vim_strchr((char_u *)" \t:|", *cmd) != NULL; cmd++)
Karsten Hopp 6ac911
  	;
Karsten Hopp 6ac911
--- 3320,3326 ----
Karsten Hopp 6ac911
      ea.argt = 0;
Karsten Hopp 6ac911
  
Karsten Hopp 6ac911
  /*
Karsten Hopp 6ac911
!  * 1. skip comment lines and leading space, colons or bars
Karsten Hopp 6ac911
   */
Karsten Hopp 6ac911
      for (cmd = buff; vim_strchr((char_u *)" \t:|", *cmd) != NULL; cmd++)
Karsten Hopp 6ac911
  	;
Karsten Hopp 6ac911
***************
Karsten Hopp 6ac911
*** 3334,3346 ****
Karsten Hopp 6ac911
      }
Karsten Hopp 6ac911
  
Karsten Hopp 6ac911
  /*
Karsten Hopp 6ac911
!  * 3. parse a range specifier of the form: addr [,addr] [;addr] ..
Karsten Hopp 6ac911
   */
Karsten Hopp 6ac911
      cmd = skip_range(cmd, &xp->xp_context);
Karsten Hopp 6ac911
- 
Karsten Hopp 6ac911
- /*
Karsten Hopp 6ac911
-  * 4. parse command
Karsten Hopp 6ac911
-  */
Karsten Hopp 6ac911
      xp->xp_pattern = cmd;
Karsten Hopp 6ac911
      if (*cmd == NUL)
Karsten Hopp 6ac911
  	return NULL;
Karsten Hopp 6ac911
--- 3335,3343 ----
Karsten Hopp 6ac911
      }
Karsten Hopp 6ac911
  
Karsten Hopp 6ac911
  /*
Karsten Hopp 6ac911
!  * 3. Skip over the range to find the command.
Karsten Hopp 6ac911
   */
Karsten Hopp 6ac911
      cmd = skip_range(cmd, &xp->xp_context);
Karsten Hopp 6ac911
      xp->xp_pattern = cmd;
Karsten Hopp 6ac911
      if (*cmd == NUL)
Karsten Hopp 6ac911
  	return NULL;
Karsten Hopp 6ac911
***************
Karsten Hopp 6ac911
*** 3446,3452 ****
Karsten Hopp 6ac911
      }
Karsten Hopp 6ac911
  
Karsten Hopp 6ac911
  /*
Karsten Hopp 6ac911
!  * 5. parse arguments
Karsten Hopp 6ac911
   */
Karsten Hopp 6ac911
      if (!IS_USER_CMDIDX(ea.cmdidx))
Karsten Hopp 6ac911
  	ea.argt = (long)cmdnames[(int)ea.cmdidx].cmd_argt;
Karsten Hopp 6ac911
--- 3443,3449 ----
Karsten Hopp 6ac911
      }
Karsten Hopp 6ac911
  
Karsten Hopp 6ac911
  /*
Karsten Hopp 6ac911
!  * 6. parse arguments
Karsten Hopp 6ac911
   */
Karsten Hopp 6ac911
      if (!IS_USER_CMDIDX(ea.cmdidx))
Karsten Hopp 6ac911
  	ea.argt = (long)cmdnames[(int)ea.cmdidx].cmd_argt;
Karsten Hopp 6ac911
***************
Karsten Hopp 6ac911
*** 3682,3688 ****
Karsten Hopp 6ac911
      }
Karsten Hopp 6ac911
  
Karsten Hopp 6ac911
  /*
Karsten Hopp 6ac911
!  * 6. switch on command name
Karsten Hopp 6ac911
   */
Karsten Hopp 6ac911
      switch (ea.cmdidx)
Karsten Hopp 6ac911
      {
Karsten Hopp 6ac911
--- 3679,3685 ----
Karsten Hopp 6ac911
      }
Karsten Hopp 6ac911
  
Karsten Hopp 6ac911
  /*
Karsten Hopp 6ac911
!  * 6. Switch on command name.
Karsten Hopp 6ac911
   */
Karsten Hopp 6ac911
      switch (ea.cmdidx)
Karsten Hopp 6ac911
      {
Karsten Hopp 6ac911
*** ../vim-7.4.530/src/version.c	2014-11-27 16:22:42.746412995 +0100
Karsten Hopp 6ac911
--- src/version.c	2014-11-27 16:30:25.149339297 +0100
Karsten Hopp 6ac911
***************
Karsten Hopp 6ac911
*** 743,744 ****
Karsten Hopp 6ac911
--- 743,746 ----
Karsten Hopp 6ac911
  {   /* Add new patch number below this line */
Karsten Hopp 6ac911
+ /**/
Karsten Hopp 6ac911
+     531,
Karsten Hopp 6ac911
  /**/
Karsten Hopp 6ac911
Karsten Hopp 6ac911
-- 
Karsten Hopp 6ac911
Wi n0t trei a h0liday in Sweden thi yer?
Karsten Hopp 6ac911
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
Karsten Hopp 6ac911
Karsten Hopp 6ac911
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 6ac911
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 6ac911
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 6ac911
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///