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