Hi Bram (As a indent/vim.vim maintainer) and list,

$ cat sample.vim

function Sample_func()
  augroup sample
    autocmd!
    autocmd WinEnter * echo "hello"
  augroup END

  echo "world"

  augroup! sample
endfunc
" vim: sw=2 et


$ vim -Nu NONE sample.vim --cmd "filetype indent on" -c "norm! =G" -c "wq"
$ cat sample.vim

function Sample_func()
  augroup sample
    autocmd!
    autocmd WinEnter * echo "hello"
  augroup END

  echo "world"

  augroup! sample
  endfunc                           " <--- Unexpected indentation
  " vim: sw=2 et                    " <--- Same above


====
`augroup!` is difference between `augroup`.  It's used alone.
So, I think that should not be the indent control on this.

I write a patch.  please check.
--
Best regards,
Hirohito Higashi (a.k.a. h_east)

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.
diff --git a/runtime/indent/vim.vim b/runtime/indent/vim.vim
index 7ec7df8..08ed852 100644
--- a/runtime/indent/vim.vim
+++ b/runtime/indent/vim.vim
@@ -60,7 +60,7 @@ function GetVimIndentIntern()
     else
       let ind = ind + shiftwidth() * 3
     endif
-  elseif prev_text =~ '^\s*aug\%[roup]' && prev_text !~ '^\s*aug\%[roup]\s*!\=\s\+[eE][nN][dD]'
+  elseif prev_text =~ '^\s*aug\%[roup]\s\+' && prev_text !~ '^\s*aug\%[roup]\s\+[eE][nN][dD]\>'
     let ind = ind + shiftwidth()
   else
     " A line starting with :au does not increment/decrement indent.
@@ -89,7 +89,7 @@ function GetVimIndentIntern()
 
   " Subtract a 'shiftwidth' on a :endif, :endwhile, :catch, :finally, :endtry,
   " :endfun, :else and :augroup END.
-  if cur_text =~ '^\s*\(ene\@!\|cat\|fina\|el\|aug\%[roup]\s*!\=\s\+[eE][nN][dD]\)'
+  if cur_text =~ '^\s*\(ene\@!\|cat\|fina\|el\|aug\%[roup]\s\+[eE][nN][dD]\)'
     let ind = ind - shiftwidth()
   endif
 

Raspunde prin e-mail lui