diff --git a/7.1.283 b/7.1.283
new file mode 100644
index 0000000..1dfe144
--- /dev/null
+++ b/7.1.283
@@ -0,0 +1,263 @@
+To: vim-dev@vim.org
+Subject: Patch 7.1.283
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.1.283
+Problem:    Non-extra part for 7.1.282.
+Solution:   Various changes.
+Files:	    src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/main.c,
+	    src/mark.c, src/netbeans.c, src/popupmnu.c, src/vim.h,
+	    src/window.c
+
+
+*** ../vim-7.1.282/src/ex_docmd.c	Mon Mar 10 21:33:52 2008
+--- src/ex_docmd.c	Wed Mar 12 14:53:18 2008
+***************
+*** 3009,3015 ****
+  		break;
+  	if (!isalpha(p[j]) && j >= cmdmods[i].minlen
+  					&& (p == cmd || cmdmods[i].has_count))
+! 	    return j + (p - cmd);
+      }
+      return 0;
+  }
+--- 3009,3015 ----
+  		break;
+  	if (!isalpha(p[j]) && j >= cmdmods[i].minlen
+  					&& (p == cmd || cmdmods[i].has_count))
+! 	    return j + (int)(p - cmd);
+      }
+      return 0;
+  }
+*** ../vim-7.1.282/src/globals.h	Tue Jan  1 14:16:42 2008
+--- src/globals.h	Wed Mar 12 14:54:00 2008
+***************
+*** 1263,1269 ****
+   * The value of the --windowid argument.
+   * For embedding gvim inside another application.
+   */
+! EXTERN int	win_socket_id INIT(= 0);
+  #endif
+  
+  #if defined(FEAT_CLIENTSERVER) || defined(FEAT_EVAL)
+--- 1263,1269 ----
+   * The value of the --windowid argument.
+   * For embedding gvim inside another application.
+   */
+! EXTERN long_u	win_socket_id INIT(= 0);
+  #endif
+  
+  #if defined(FEAT_CLIENTSERVER) || defined(FEAT_EVAL)
+*** ../vim-7.1.282/src/if_cscope.c	Sun Mar 16 13:09:14 2008
+--- src/if_cscope.c	Sun Mar 16 13:05:51 2008
+***************
+*** 1400,1406 ****
+  	return NULL;
+  
+      /* Store length of eap->arg before it gets modified by strtok(). */
+!     eap_arg_len = STRLEN(eap->arg);
+  
+      if ((stok = strtok((char *)(eap->arg), (const char *)" ")) == NULL)
+  	return NULL;
+--- 1400,1406 ----
+  	return NULL;
+  
+      /* Store length of eap->arg before it gets modified by strtok(). */
+!     eap_arg_len = (int)STRLEN(eap->arg);
+  
+      if ((stok = strtok((char *)(eap->arg), (const char *)" ")) == NULL)
+  	return NULL;
+*** ../vim-7.1.282/src/main.c	Sun Jan 13 16:17:02 2008
+--- src/main.c	Wed Mar 12 15:04:30 2008
+***************
+*** 1552,1566 ****
+  	else if (STRICMP(argv[i], "--socketid") == 0)
+  #  endif
+  	{
+! 	    unsigned int    id;
+! 	    int		    count;
+  
+  	    if (i == argc - 1)
+  		mainerr_arg_missing((char_u *)argv[i]);
+  	    if (STRNICMP(argv[i+1], "0x", 2) == 0)
+! 		count = sscanf(&(argv[i + 1][2]), "%x", &id);
+  	    else
+! 		count = sscanf(argv[i+1], "%u", &id);
+  	    if (count != 1)
+  		mainerr(ME_INVALID_ARG, (char_u *)argv[i]);
+  	    else
+--- 1552,1566 ----
+  	else if (STRICMP(argv[i], "--socketid") == 0)
+  #  endif
+  	{
+! 	    long_u	id;
+! 	    int		count;
+  
+  	    if (i == argc - 1)
+  		mainerr_arg_missing((char_u *)argv[i]);
+  	    if (STRNICMP(argv[i+1], "0x", 2) == 0)
+! 		count = sscanf(&(argv[i + 1][2]), SCANF_HEX_LONG_U, &id);
+  	    else
+! 		count = sscanf(argv[i + 1], SCANF_DECIMAL_LONG_U, &id);
+  	    if (count != 1)
+  		mainerr(ME_INVALID_ARG, (char_u *)argv[i]);
+  	    else
+*** ../vim-7.1.282/src/mark.c	Wed Feb 13 12:41:30 2008
+--- src/mark.c	Wed Mar 12 15:10:14 2008
+***************
+*** 522,528 ****
+  	    int len;
+  
+  	    expand_env((char_u *)"~/", NameBuff, MAXPATHL);
+! 	    len = STRLEN(NameBuff);
+  	    vim_strncpy(NameBuff + len, fm->fname + 2, MAXPATHL - len - 1);
+  	}
+  	else
+--- 522,528 ----
+  	    int len;
+  
+  	    expand_env((char_u *)"~/", NameBuff, MAXPATHL);
+! 	    len = (int)STRLEN(NameBuff);
+  	    vim_strncpy(NameBuff + len, fm->fname + 2, MAXPATHL - len - 1);
+  	}
+  	else
+*** ../vim-7.1.282/src/netbeans.c	Fri Jan 18 11:40:02 2008
+--- src/netbeans.c	Wed Mar 12 15:11:42 2008
+***************
+*** 1216,1222 ****
+      int lastbyte = last;
+  
+      oldtext = ml_get(lnum);
+!     oldlen = STRLEN(oldtext);
+      if (first >= (colnr_T)oldlen || oldlen == 0)  /* just in case */
+  	return;
+      if (lastbyte >= oldlen)
+--- 1216,1222 ----
+      int lastbyte = last;
+  
+      oldtext = ml_get(lnum);
+!     oldlen = (int)STRLEN(oldtext);
+      if (first >= (colnr_T)oldlen || oldlen == 0)  /* just in case */
+  	return;
+      if (lastbyte >= oldlen)
+***************
+*** 1241,1248 ****
+      int len_first, len_other;
+      char_u *p;
+  
+!     len_first = STRLEN(ml_get(first));
+!     len_other = STRLEN(ml_get(other));
+      p = alloc((unsigned)(len_first + len_other + 1));
+      if (p != NULL)
+      {
+--- 1241,1248 ----
+      int len_first, len_other;
+      char_u *p;
+  
+!     len_first = (int)STRLEN(ml_get(first));
+!     len_other = (int)STRLEN(ml_get(other));
+      p = alloc((unsigned)(len_first + len_other + 1));
+      if (p != NULL)
+      {
+*** ../vim-7.1.282/src/popupmnu.c	Wed Aug  8 22:48:16 2007
+--- src/popupmnu.c	Wed Mar 12 15:17:21 2008
+***************
+*** 337,343 ****
+  
+  				if (rt != NULL)
+  				{
+! 				    len = STRLEN(rt);
+  				    if (len > pum_width)
+  				    {
+  					for (j = pum_width; j < len; ++j)
+--- 337,343 ----
+  
+  				if (rt != NULL)
+  				{
+! 				    len = (int)STRLEN(rt);
+  				    if (len > pum_width)
+  				    {
+  					for (j = pum_width; j < len; ++j)
+*** ../vim-7.1.282/src/vim.h	Sat Mar 15 13:10:57 2008
+--- src/vim.h	Thu Mar 13 23:39:21 2008
+***************
+*** 355,370 ****
+   * On Win64 longs are 32 bit and pointers 64 bit.
+   * For printf() and scanf() we need to take care of long_u specifically. */
+  #ifdef _WIN64
+! typedef unsigned __int64 long_u;
+! typedef		 __int64 long_i;
+! # define SCANF_HEX_LONG_U  "%Ix"
+! # define PRINTF_HEX_LONG_U "0x%Ix"
+! #else
+! typedef unsigned long	long_u;
+! typedef		 long	long_i;
+! # define SCANF_HEX_LONG_U  "%lx"
+! # define PRINTF_HEX_LONG_U "0x%lx"
+  #endif
+  
+  /*
+   * The characters and attributes cached for the screen.
+--- 355,373 ----
+   * On Win64 longs are 32 bit and pointers 64 bit.
+   * For printf() and scanf() we need to take care of long_u specifically. */
+  #ifdef _WIN64
+! typedef unsigned __int64        long_u;
+! typedef		 __int64        long_i;
+! # define SCANF_HEX_LONG_U       "%Ix"
+! # define SCANF_DECIMAL_LONG_U   "%Iu"
+! # define PRINTF_HEX_LONG_U      "0x%Ix"
+! #else
+! typedef unsigned long	        long_u;
+! typedef		 long	        long_i;
+! # define SCANF_HEX_LONG_U       "%lx"
+! # define SCANF_DECIMAL_LONG_U   "%lu"
+! # define PRINTF_HEX_LONG_U      "0x%lx"
+  #endif
++ #define PRINTF_DECIMAL_LONG_U SCANF_DECIMAL_LONG_U
+  
+  /*
+   * The characters and attributes cached for the screen.
+*** ../vim-7.1.282/src/window.c	Sat Sep 29 14:15:00 2007
+--- src/window.c	Wed Mar 12 15:22:10 2008
+***************
+*** 6303,6309 ****
+  	    cur = cur->next;
+  	}
+      }
+!     if ((hlg_id = syn_namen2id(grp, STRLEN(grp))) == 0)
+      {
+  	EMSG2(_(e_nogroup), grp);
+  	return -1;
+--- 6303,6309 ----
+  	    cur = cur->next;
+  	}
+      }
+!     if ((hlg_id = syn_namen2id(grp, (int)STRLEN(grp))) == 0)
+      {
+  	EMSG2(_(e_nogroup), grp);
+  	return -1;
+*** ../vim-7.1.282/src/version.c	Sun Mar 16 14:52:53 2008
+--- src/version.c	Sun Mar 16 16:00:17 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     283,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+139. You down your lunch in five minutes, at your desk, so you can
+     spend the rest of the hour surfing the Net.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/README.patches b/README.patches
index a62b12c..8d26375 100644
--- a/README.patches
+++ b/README.patches
@@ -305,3 +305,13 @@ Individual patches for Vim 7.1:
   1582  7.1.271  in tiny version ":!touch %" causes curbuf to be wrong
   2334  7.1.272  buffer name [Location List] not used for buffer in other tab
   2504  7.1.273  when profiling on Linux Vim exits early
+  1549  7.1.274  (after 7.1.272) compiler warning with optimized build
+ 40835  7.1.275  (extra) Mac: ATSUI and 'antialias' don't work together
+  4946  7.1.276  "gw" uses 'formatexpr', even though the docs say it doesn't
+  2802  7.1.277  default for 'paragraphs' misses some items
+  1989  7.1.278  (extra, after 7.1.275) build problem
+  3848  7.1.279  when using cscope temporary files are left behind
+  1556  7.1.280  (after 7.1.275) Mac: build problems without multibyte feature
+  2094  7.1.281  (after 7.1.279) Vim hangs when cscope doesn't exit
+ 16302  7.1.282  (extra) Win64: Installing context menu, compiler warnings
+  7633  7.1.283  non-extra part of 7.1.282
diff --git a/vim.spec b/vim.spec
index 3d2921c..34cc6c6 100644
--- a/vim.spec
+++ b/vim.spec
@@ -18,7 +18,7 @@
 #used for pre-releases:
 %define beta %{nil}
 %define vimdir vim71%{?beta}
-%define patchlevel 273
+%define patchlevel 283
 
 Summary: The VIM editor
 URL:     http://www.vim.org/
@@ -328,6 +328,16 @@ Patch270: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.270
 Patch271: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.271
 Patch272: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.272
 Patch273: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.273
+Patch274: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.274
+Patch275: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.275
+Patch276: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.276
+Patch277: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.277
+Patch278: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.278
+Patch279: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.279
+Patch280: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.280
+Patch281: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.281
+Patch282: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.282
+Patch283: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.283
 
 Patch3000: vim-7.0-syntax.patch
 Patch3002: vim-7.1-nowarnings.patch
@@ -737,6 +747,16 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk
 %patch271 -p0
 %patch272 -p0
 %patch273 -p0
+%patch274 -p0
+%patch275 -p0
+%patch276 -p0
+%patch277 -p0
+%patch278 -p0
+%patch279 -p0
+%patch280 -p0
+%patch281 -p0
+%patch282 -p0
+%patch283 -p0
 
 
 # install spell files
@@ -1141,6 +1161,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/icons/hicolor/*/apps/*
 
 %changelog
+* Mon Mar 17 2008 Karsten Hopp <karsten@redhat.com> 7.1.283-1
+- patchlevel 283, fixes leftover cscope files in /tmp
+
 * Wed Mar 12 2008 Karsten Hopp <karsten@redhat.com> 7.1.273-1
 - update to patchlevel 273, this fixes #436902