To: vim_dev@googlegroups.com
Subject: Patch 7.3.213
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.213
Problem:    Javascript object literal is not indented correctly.
Solution:   Make a special case for when "J1" is in 'cino'. (Luc Deschenaux)
Files:      src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok


*** ../mercurial/vim73/src/misc1.c	2011-05-25 17:29:40.000000000 +0200
--- src/misc1.c	2011-06-10 04:58:10.000000000 +0200
***************
*** 6965,6971 ****
  	     *			ldfd) {
  	     *		    }
  	     */
! 	    if ((ind_keep_case_label
  			   && cin_iscase(skipwhite(ml_get_curline()), FALSE)))
  		amount = get_indent();
  	    else
--- 6965,6971 ----
  	     *			ldfd) {
  	     *		    }
  	     */
! 	    if (ind_js || (ind_keep_case_label
  			   && cin_iscase(skipwhite(ml_get_curline()), FALSE)))
  		amount = get_indent();
  	    else
*** ../mercurial/vim73/src/testdir/test3.in	2011-05-25 15:16:06.000000000 +0200
--- src/testdir/test3.in	2011-06-12 21:44:12.000000000 +0200
***************
*** 1492,1501 ****
  
  STARTTEST
  :set cino=N-s
! /namespaces
  =/^NAMESPACEEND
  ENDTEST
  
  /* valid namespaces with normal indent */
  namespace
  {
--- 1492,1502 ----
  
  STARTTEST
  :set cino=N-s
! /^NAMESPACESTART
  =/^NAMESPACEEND
  ENDTEST
  
+ NAMESPACESTART
  /* valid namespaces with normal indent */
  namespace
  {
***************
*** 1561,1566 ****
--- 1562,1588 ----
  
  
  STARTTEST
+ :set cino=J1
+ /^JSSTART
+ =/^JSEND
+ ENDTEST
+ 
+ JSSTART
+ var bar = {
+ foo: {
+ that: this,
+ some: ok,
+ },
+ "bar":{
+ a : 2,
+ b: "123abc",
+ x: 4,
+ "y": 5
+ }
+ }
+ JSEND
+ 
+ STARTTEST
  :g/^STARTTEST/.,/^ENDTEST/d
  :1;/start of AUTO/,$wq! test.out
  ENDTEST
*** ../mercurial/vim73/src/testdir/test3.ok	2011-05-25 15:16:06.000000000 +0200
--- src/testdir/test3.ok	2011-06-12 21:44:26.000000000 +0200
***************
*** 1337,1342 ****
--- 1337,1343 ----
  }
  
  
+ NAMESPACESTART
  /* valid namespaces with normal indent */
  namespace
  {
***************
*** 1401,1403 ****
--- 1402,1420 ----
  NAMESPACEEND
  
  
+ 
+ JSSTART
+ var bar = {
+ 	foo: {
+ 		that: this,
+ 		some: ok,
+ 	},
+ 	"bar":{
+ 		a : 2,
+ 		b: "123abc",
+ 		x: 4,
+ 		"y": 5
+ 	}
+ }
+ JSEND
+ 
*** ../vim-7.3.212/src/version.c	2011-06-12 21:37:06.000000000 +0200
--- src/version.c	2011-06-12 21:48:34.000000000 +0200
***************
*** 711,712 ****
--- 711,714 ----
  {   /* Add new patch number below this line */
+ /**/
+     213,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
169. You hire a housekeeper for your home page.

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