tags 308865 + patch
tags 308865 - help
thanks

On Wed, Sep 21, 2005 at 06:40:23PM -0400, Kamaraju Kusumanchi wrote:
> > Alternatively, is the keyword sequence "module procedure" which has
> > nothing to do with the "module" keyword alone and thus should not be
> > considered a match for "end module" no matter wher it appears?
> Yes. I think this would be the correct solution. The word module in
> "module procedure" has nothing to do with the module in "module   --- 
>  end module block".

Thanks, the attached patch implement that behaviour and fixes the issue
in the fortran sample of the bug report. The patch is applied in vim's
debian package and I will forward it upstream in a minute.

> Just in case, I would also like to point out that Fortran is case
> insensitive.

This is already correctly handled by the fortran's ftplugin.

Cheers.

-- 
Stefano Zacchiroli -*- Computer Science PhD student @ Uny Bologna, Italy
[EMAIL PROTECTED],debian.org,bononia.it} -%- http://www.bononia.it/zack/
If there's any real truth it's that the entire multidimensional infinity
of the Universe is almost certainly being run by a bunch of maniacs. -!-
diff -urN vim63/runtime/ftplugin/fortran.vim 
vim63.new/runtime/ftplugin/fortran.vim
--- vim63/runtime/ftplugin/fortran.vim  2003-05-18 20:20:26.000000000 +0200
+++ vim63.new/runtime/ftplugin/fortran.vim      2005-09-24 10:53:44.000000000 
+0200
@@ -83,6 +83,7 @@
   let s:notend = '\%(\<end\s\+\)\@<!'
   let s:notselect = '\%(\<select\s\+\)\@<!'
   let s:notelse = '\%(\<end\s\+\|\<else\s\+\)\@<!'
+  let s:notprocedure = '\%(\s\+procedure\>\)[EMAIL PROTECTED]'
   let b:match_ignorecase = 1
   let b:match_words =
     \ '\<select\s*case\>:' . s:notselect. '\<case\>:\<end\s*select\>,' .
@@ -95,7 +96,7 @@
     \ s:notend . '\<interface\>:\<end\s*interface\>,'.
     \ s:notend . '\<subroutine\>:\<end\s*subroutine\>,'.
     \ s:notend . '\<function\>:\<end\s*function\>,'.
-    \ s:notend . '\<module\>:\<end\s*module\>,'.
+    \ s:notend . '\<module\>' . s:notprocedure . ':\<end\s*module\>,'.
     \ s:notend . '\<program\>:\<end\s*program\>'
 endif
 

Attachment: signature.asc
Description: Digital signature

Reply via email to