[vim] - patchlevel 486
Karsten Hopp
karsten at fedoraproject.org
Wed Oct 22 15:57:24 UTC 2014
commit 82ecde2ad2b58a8d0fab1e5d7984d7cdc47b3c3a
Author: Karsten Hopp <karsten at redhat.com>
Date: Wed Oct 22 18:00:11 2014 +0200
- patchlevel 486
7.4.486 | 271 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 271 insertions(+), 0 deletions(-)
---
diff --git a/7.4.486 b/7.4.486
new file mode 100644
index 0000000..11af1cb
--- /dev/null
+++ b/7.4.486
@@ -0,0 +1,271 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.4.486
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.486
+Problem: Check for writing to a yank register is wrong.
+Solution: Negate the check. (Zyx). Also clean up the #ifdefs.
+Files: src/ex_docmd.c, src/ex_cmds.h
+
+
+*** ../vim-7.4.485/src/ex_docmd.c 2014-09-19 20:07:22.546449677 +0200
+--- src/ex_docmd.c 2014-10-21 19:56:31.290287055 +0200
+***************
+*** 49,58 ****
+--- 49,63 ----
+ static char_u *get_user_command_name __ARGS((int idx));
+ # endif
+
++ /* Wether a command index indicates a user command. */
++ # define IS_USER_CMDIDX(idx) ((int)(idx) < 0)
++
+ #else
+ # define ex_command ex_ni
+ # define ex_comclear ex_ni
+ # define ex_delcommand ex_ni
++ /* Wether a command index indicates a user command. */
++ # define IS_USER_CMDIDX(idx) (FALSE)
+ #endif
+
+ #ifdef FEAT_EVAL
+***************
+*** 2190,2200 ****
+ goto doend;
+ }
+
+! ni = (
+! #ifdef FEAT_USR_CMDS
+! !USER_CMDIDX(ea.cmdidx) &&
+! #endif
+! (cmdnames[ea.cmdidx].cmd_func == ex_ni
+ #ifdef HAVE_EX_SCRIPT_NI
+ || cmdnames[ea.cmdidx].cmd_func == ex_script_ni
+ #endif
+--- 2195,2202 ----
+ goto doend;
+ }
+
+! ni = (!IS_USER_CMDIDX(ea.cmdidx)
+! && (cmdnames[ea.cmdidx].cmd_func == ex_ni
+ #ifdef HAVE_EX_SCRIPT_NI
+ || cmdnames[ea.cmdidx].cmd_func == ex_script_ni
+ #endif
+***************
+*** 2229,2237 ****
+ /*
+ * 5. parse arguments
+ */
+! #ifdef FEAT_USR_CMDS
+! if (!USER_CMDIDX(ea.cmdidx))
+! #endif
+ ea.argt = (long)cmdnames[(int)ea.cmdidx].cmd_argt;
+
+ if (!ea.skip)
+--- 2231,2237 ----
+ /*
+ * 5. parse arguments
+ */
+! if (!IS_USER_CMDIDX(ea.cmdidx))
+ ea.argt = (long)cmdnames[(int)ea.cmdidx].cmd_argt;
+
+ if (!ea.skip)
+***************
+*** 2252,2261 ****
+ }
+
+ if (text_locked() && !(ea.argt & CMDWIN)
+! # ifdef FEAT_USR_CMDS
+! && !USER_CMDIDX(ea.cmdidx)
+! # endif
+! )
+ {
+ /* Command not allowed when editing the command line. */
+ #ifdef FEAT_CMDWIN
+--- 2252,2258 ----
+ }
+
+ if (text_locked() && !(ea.argt & CMDWIN)
+! && !IS_USER_CMDIDX(ea.cmdidx))
+ {
+ /* Command not allowed when editing the command line. */
+ #ifdef FEAT_CMDWIN
+***************
+*** 2273,2281 ****
+ if (!(ea.argt & CMDWIN)
+ && ea.cmdidx != CMD_edit
+ && ea.cmdidx != CMD_checktime
+! # ifdef FEAT_USR_CMDS
+! && !USER_CMDIDX(ea.cmdidx)
+! # endif
+ && curbuf_locked())
+ goto doend;
+ #endif
+--- 2270,2276 ----
+ if (!(ea.argt & CMDWIN)
+ && ea.cmdidx != CMD_edit
+ && ea.cmdidx != CMD_checktime
+! && !IS_USER_CMDIDX(ea.cmdidx)
+ && curbuf_locked())
+ goto doend;
+ #endif
+***************
+*** 2468,2477 ****
+ /* accept numbered register only when no count allowed (:put) */
+ if ( (ea.argt & REGSTR)
+ && *ea.arg != NUL
+! #ifdef FEAT_USR_CMDS
+! /* Do not allow register = for user commands */
+! && (!USER_CMDIDX(ea.cmdidx) || *ea.arg != '=')
+! #endif
+ && !((ea.argt & COUNT) && VIM_ISDIGIT(*ea.arg)))
+ {
+ #ifndef FEAT_CLIPBOARD
+--- 2463,2470 ----
+ /* accept numbered register only when no count allowed (:put) */
+ if ( (ea.argt & REGSTR)
+ && *ea.arg != NUL
+! /* Do not allow register = for user commands */
+! && (!IS_USER_CMDIDX(ea.cmdidx) || *ea.arg != '=')
+ && !((ea.argt & COUNT) && VIM_ISDIGIT(*ea.arg)))
+ {
+ #ifndef FEAT_CLIPBOARD
+***************
+*** 2482,2495 ****
+ goto doend;
+ }
+ #endif
+! if (
+! #ifdef FEAT_USR_CMDS
+! valid_yank_reg(*ea.arg, (ea.cmdidx != CMD_put
+! && USER_CMDIDX(ea.cmdidx)))
+! #else
+! valid_yank_reg(*ea.arg, ea.cmdidx != CMD_put)
+! #endif
+! )
+ {
+ ea.regname = *ea.arg++;
+ #ifdef FEAT_EVAL
+--- 2475,2482 ----
+ goto doend;
+ }
+ #endif
+! if (valid_yank_reg(*ea.arg, (ea.cmdidx != CMD_put
+! && !IS_USER_CMDIDX(ea.cmdidx))))
+ {
+ ea.regname = *ea.arg++;
+ #ifdef FEAT_EVAL
+***************
+*** 2663,2672 ****
+ * number. Don't do this for a user command.
+ */
+ if ((ea.argt & BUFNAME) && *ea.arg != NUL && ea.addr_count == 0
+! # ifdef FEAT_USR_CMDS
+! && !USER_CMDIDX(ea.cmdidx)
+! # endif
+! )
+ {
+ /*
+ * :bdelete, :bwipeout and :bunload take several arguments, separated
+--- 2650,2656 ----
+ * number. Don't do this for a user command.
+ */
+ if ((ea.argt & BUFNAME) && *ea.arg != NUL && ea.addr_count == 0
+! && !IS_USER_CMDIDX(ea.cmdidx))
+ {
+ /*
+ * :bdelete, :bwipeout and :bunload take several arguments, separated
+***************
+*** 2704,2710 ****
+ #endif
+
+ #ifdef FEAT_USR_CMDS
+! if (USER_CMDIDX(ea.cmdidx))
+ {
+ /*
+ * Execute a user-defined command.
+--- 2688,2694 ----
+ #endif
+
+ #ifdef FEAT_USR_CMDS
+! if (IS_USER_CMDIDX(ea.cmdidx))
+ {
+ /*
+ * Execute a user-defined command.
+***************
+*** 2763,2773 ****
+ }
+ #ifdef FEAT_EVAL
+ do_errthrow(cstack,
+! (ea.cmdidx != CMD_SIZE
+! # ifdef FEAT_USR_CMDS
+! && !USER_CMDIDX(ea.cmdidx)
+! # endif
+! ) ? cmdnames[(int)ea.cmdidx].cmd_name : (char_u *)NULL);
+ #endif
+
+ if (verbose_save >= 0)
+--- 2747,2754 ----
+ }
+ #ifdef FEAT_EVAL
+ do_errthrow(cstack,
+! (ea.cmdidx != CMD_SIZE && !IS_USER_CMDIDX(ea.cmdidx))
+! ? cmdnames[(int)ea.cmdidx].cmd_name : (char_u *)NULL);
+ #endif
+
+ if (verbose_save >= 0)
+***************
+*** 3361,3369 ****
+ /*
+ * 5. parse arguments
+ */
+! #ifdef FEAT_USR_CMDS
+! if (!USER_CMDIDX(ea.cmdidx))
+! #endif
+ ea.argt = (long)cmdnames[(int)ea.cmdidx].cmd_argt;
+
+ arg = skipwhite(p);
+--- 3342,3348 ----
+ /*
+ * 5. parse arguments
+ */
+! if (!IS_USER_CMDIDX(ea.cmdidx))
+ ea.argt = (long)cmdnames[(int)ea.cmdidx].cmd_argt;
+
+ arg = skipwhite(p);
+*** ../vim-7.4.485/src/ex_cmds.h 2014-09-19 20:07:22.546449677 +0200
+--- src/ex_cmds.h 2014-10-21 19:52:45.926286562 +0200
+***************
+*** 1153,1160 ****
+ #endif
+ };
+
+- #define USER_CMDIDX(idx) ((int)(idx) < 0)
+-
+ #ifndef DO_DECLARE_EXCMD
+ typedef enum CMD_index cmdidx_T;
+
+--- 1153,1158 ----
+*** ../vim-7.4.485/src/version.c 2014-10-21 19:35:28.406284296 +0200
+--- src/version.c 2014-10-21 20:00:44.350287607 +0200
+***************
+*** 743,744 ****
+--- 743,746 ----
+ { /* Add new patch number below this line */
++ /**/
++ 486,
+ /**/
+
+--
+FATHER: One day, lad, all this will be yours ...
+PRINCE: What - the curtains?
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram at 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 ///
More information about the scm-commits
mailing list