From 599db677dcff49d7a8810a96950a392f57ec188a Mon Sep 17 00:00:00 2001 From: Hana Shiro Date: Sat, 28 Jul 2018 19:30:37 +0800 Subject: [PATCH] Fix s:ExprCol() sometimes go into infinity loop when calculating indent --- indent/javascript.vim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/indent/javascript.vim b/indent/javascript.vim index d9463d66..78ca8788 100644 --- a/indent/javascript.vim +++ b/indent/javascript.vim @@ -204,7 +204,8 @@ function s:ExprCol() return 1 endif let bal = 0 - while s:SearchLoop('[{}?:]','bW',s:skip_expr) + let lines = line('.') + while s:SearchLoop('[{}?:]','bW',s:skip_expr) && bal >= -lines if s:LookingAt() == ':' let bal -= !search('\m:\%#','bW') elseif s:LookingAt() == '?'