[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