To: vim_dev@googlegroups.com
Subject: Patch 7.3.227
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------

Patch 7.3.227 (after 7.3.221)
Problem:    Mac OS doesn't have the linewise clipboard fix.
Solution:   Also change the Mac OS file. (Bjorn Winckler)
Files:      src/os_macosx.m


*** ../mercurial/vim73/src/os_macosx.m	2011-06-13 02:03:55.000000000 +0200
--- src/os_macosx.m	2011-06-20 00:23:57.000000000 +0200
***************
*** 65,71 ****
      NSString *bestType = [pb availableTypeFromArray:supportedTypes];
      if (!bestType) goto releasepool;
  
!     int motion_type = MCHAR;
      NSString *string = nil;
  
      if ([bestType isEqual:VimPboardType])
--- 65,71 ----
      NSString *bestType = [pb availableTypeFromArray:supportedTypes];
      if (!bestType) goto releasepool;
  
!     int motion_type = MAUTO;
      NSString *string = nil;
  
      if ([bestType isEqual:VimPboardType])
***************
*** 89,97 ****
  
      if (!string)
      {
! 	/* Use NSStringPboardType.  The motion type is set to line-wise if the
! 	 * string contains at least one EOL character, otherwise it is set to
! 	 * character-wise (block-wise is never used).
  	 */
  	NSMutableString *mstring =
  		[[pb stringForType:NSStringPboardType] mutableCopy];
--- 89,95 ----
  
      if (!string)
      {
! 	/* Use NSStringPboardType.  The motion type is detected automatically.
  	 */
  	NSMutableString *mstring =
  		[[pb stringForType:NSStringPboardType] mutableCopy];
***************
*** 108,126 ****
  					   options:0 range:range];
  	}
  
- 	/* Scan for newline character to decide whether the string should be
- 	 * pasted line-wise or character-wise.
- 	 */
- 	motion_type = MCHAR;
- 	if (0 < n || NSNotFound != [mstring rangeOfString:@"\n"].location)
- 	    motion_type = MLINE;
- 
  	string = mstring;
      }
  
      if (!(MCHAR == motion_type || MLINE == motion_type || MBLOCK == motion_type
  	    || MAUTO == motion_type))
! 	motion_type = MCHAR;
  
      char_u *str = (char_u*)[string UTF8String];
      int len = [string lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
--- 106,118 ----
  					   options:0 range:range];
  	}
  
  	string = mstring;
      }
  
+     /* Default to MAUTO, uses MCHAR or MLINE depending on trailing NL. */
      if (!(MCHAR == motion_type || MLINE == motion_type || MBLOCK == motion_type
  	    || MAUTO == motion_type))
! 	motion_type = MAUTO;
  
      char_u *str = (char_u*)[string UTF8String];
      int len = [string lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
*** ../vim-7.3.226/src/version.c	2011-06-19 04:54:17.000000000 +0200
--- src/version.c	2011-06-20 00:21:53.000000000 +0200
***************
*** 711,712 ****
--- 711,714 ----
  {   /* Add new patch number below this line */
+ /**/
+     227,
  /**/

-- 
Some of the well know MS-Windows errors:
	EMULTI		Multitasking attempted, system confused
	EKEYBOARD	Keyboard locked, try getting out of this one!
	EXPLAIN		Unexplained error, please tell us what happened
	EFUTURE		Reserved for our future mistakes

 /// 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    ///
