updated for version 7.2a
diff --git a/runtime/indent/php.vim b/runtime/indent/php.vim
index 8ba3b2e..d73460d 100644
--- a/runtime/indent/php.vim
+++ b/runtime/indent/php.vim
@@ -2,7 +2,7 @@
 " Language:	PHP
 " Author:	John Wellesz <John.wellesz (AT) teaser (DOT) fr>
 " URL:		http://www.2072productions.com/vim/indent/php.vim
-" Last Change:  2007 February 25th
+" Last Change:  2007 Jun 24
 " Newsletter:   http://www.2072productions.com/?to=php-indent-for-vim-newsletter.php
 " Version:	1.24
 "
@@ -310,11 +310,11 @@
 
 	    setlocal comments=s1:/*,mb:*,ex:*/,://,:#
 
-	    setlocal formatoptions-=t
+	    " setlocal formatoptions-=t
 	    setlocal formatoptions+=q
 	    setlocal formatoptions+=r
 	    setlocal formatoptions+=o
-	    setlocal formatoptions+=w
+	    " setlocal formatoptions+=w
 	    setlocal formatoptions+=c
 	    setlocal formatoptions+=b
 	endif
diff --git a/runtime/indent/sql.vim b/runtime/indent/sql.vim
index f7cf834..4f82b96 100644
--- a/runtime/indent/sql.vim
+++ b/runtime/indent/sql.vim
@@ -36,4 +36,4 @@
 exec 'runtime indent/'.filename.'.vim'
 
 
-" vim:sw=4:ff=unix:
+" vim:sw=4:
diff --git a/runtime/indent/sqlanywhere.vim b/runtime/indent/sqlanywhere.vim
index c2f527e..fdafb62 100644
--- a/runtime/indent/sqlanywhere.vim
+++ b/runtime/indent/sqlanywhere.vim
@@ -1,8 +1,8 @@
 " Vim indent file
 " Language:    SQL
 " Maintainer:  David Fishburn <fishburn at ianywhere dot com>
-" Last Change: Wed Sep 14 2005 10:21:15 PM
-" Version:     1.4
+" Last Change: Mon Apr 02 2007 9:13:47 AM
+" Version:     1.5
 " Download:    http://vim.sourceforge.net/script.php?script_id=495
 
 " Notes:
@@ -106,7 +106,7 @@
 
         " if getline(".") =~ '^)'
         let matching_paran = searchpair('(', '', ')', 'bW',
-                    \ 'IsColComment(line("."), col("."))')
+                    \ 's:IsColComment(line("."), col("."))')
 
         if matching_paran < 1
             " No match found
@@ -165,7 +165,7 @@
                     \ '\%(\%(\<end\s\+\)\@<!\<if\>\)'.
                     \ '\)'
         let matching_lnum = searchpair(stmts, '', '\<end\>\zs', 'bW',
-                    \ 'IsColComment(line("."), col(".")) == 1')
+                    \ 's:IsColComment(line("."), col(".")) == 1')
         exec 'normal! $'
         if matching_lnum > 0 && matching_lnum < a:curr_lnum
             let ind = indent(matching_lnum)
@@ -177,7 +177,7 @@
                     \ '',
                     \ '\%(\%(\<when\s\+others\>\)\|\%(\<end\s\+case\>\)\)',
                     \ 'bW',
-                    \ 'IsColComment(line("."), col(".")) == 1')
+                    \ 's:IsColComment(line("."), col(".")) == 1')
         exec 'normal! $'
         if matching_lnum > 0 && matching_lnum < a:curr_lnum
             let ind = indent(matching_lnum)
@@ -191,7 +191,7 @@
 
 
 " Check if the line is a comment
-function IsLineComment(lnum)
+function s:IsLineComment(lnum)
     let rc = synIDattr(
                 \ synID(a:lnum,
                 \     match(getline(a:lnum), '\S')+1, 0)
@@ -203,7 +203,7 @@
 
 
 " Check if the column is a comment
-function IsColComment(lnum, cnum)
+function s:IsColComment(lnum, cnum)
     let rc = synIDattr(synID(a:lnum, a:cnum, 0), "name")
                 \           =~? "comment"
 
@@ -211,8 +211,9 @@
 endfunction
 
 
-" Check if the column is a comment
-function ModuloIndent(ind)
+" Instead of returning a column position, return
+" an appropriate value as a factor of shiftwidth.
+function s:ModuloIndent(ind)
     let ind = a:ind
 
     if ind > 0
@@ -235,7 +236,7 @@
     " If the current line is a comment, leave the indent as is
     " Comment out this additional check since it affects the
     " indenting of =, and will not reindent comments as it should
-    " if IsLineComment(lnum) == 1
+    " if s:IsLineComment(lnum) == 1
     "     return ind
     " endif
 
@@ -246,9 +247,9 @@
             return ind
         endif
 
-        if IsLineComment(prevlnum) == 1
+        if s:IsLineComment(prevlnum) == 1
             if getline(v:lnum) =~ '^\s*\*'
-                let ind = ModuloIndent(indent(prevlnum))
+                let ind = s:ModuloIndent(indent(prevlnum))
                 return ind + 1
             endif
             " If the previous line is a comment, then return -1
@@ -378,7 +379,7 @@
     endif
 
     " echom 'final - indent ' . ind
-    return ModuloIndent(ind)
+    return s:ModuloIndent(ind)
 endfunction
 
-" vim:sw=4:ff=unix:
+" vim:sw=4:
diff --git a/runtime/indent/vhdl.vim b/runtime/indent/vhdl.vim
index d288be4..9940cc5 100644
--- a/runtime/indent/vhdl.vim
+++ b/runtime/indent/vhdl.vim
@@ -1,8 +1,8 @@
 " VHDL indent ('93 syntax)
 " Language:    VHDL
 " Maintainer:  Gerald Lai <laigera+vim?gmail.com>
-" Version:     1.50
-" Last Change: 2007 Jan 29
+" Version:     1.54
+" Last Change: 2007 Aug 17
 " URL:         http://www.vim.org/scripts/script.php?script_id=1450
 
 " only load this indent file when no other was loaded
@@ -28,13 +28,13 @@
 let s:NE = '\%(\<end\s\+\)\@<!'
 
 " option to disable alignment of generic/port mappings
-if !exists("g:vhdl_align_genportmap")
-  let g:vhdl_align_genportmap = 1
+if !exists("g:vhdl_indent_genportmap")
+  let g:vhdl_indent_genportmap = 1
 endif
 
 " option to disable alignment of right-hand side assignment "<=" statements
-if !exists("g:vhdl_align_rhsassign")
-  let g:vhdl_align_rhsassign = 1
+if !exists("g:vhdl_indent_rhsassign")
+  let g:vhdl_indent_rhsassign = 1
 endif
 
 " only define indent function once
@@ -54,6 +54,7 @@
     let prevn = prevnonblank(prevn - 1)
     let prevs = getline(prevn)
   endwhile
+  let prevs_noi = substitute(prevs, '^\s*', '', '')
 
   " default indent starts as previous non-comment line's indent
   let ind = prevn > 0 ? indent(prevn) : 0
@@ -77,8 +78,8 @@
   if curs =~ '^\s*--'
     let pn = curn - 1
     let ps = getline(pn)
-    if ps =~ '--'
-      return stridx(ps, '--')
+    if curs =~ '^\s*--\s' && ps =~ '--'
+      return indent(pn) + stridx(substitute(ps, '^\s*', '', ''), '--')
     else
       " find nextnonblank line that is not a comment
       let nn = nextnonblank(curn + 1)
@@ -106,14 +107,14 @@
   if (curs =~ '^\s*)' || curs =~? '^\s*\%(\<\%(generic\|map\|port\)\>.*\)\@<!\S\+\s*\%(=>\s*\S\+\|:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)\)') && (prevs =~? s:NC.'\<\%(generic\|map\|port\)\s*(\%(\s*\w\)\=' || (ps =~? s:NC.'\<\%(generic\|map\|port\)'.s:ES && prevs =~ '^\s*('))
     " align closing ")" with opening "("
     if curs =~ '^\s*)'
-      return stridx(prevs, '(')
+      return ind2 + stridx(prevs_noi, '(')
     endif
-    let m = matchend(prevs, '(\s*\ze\w')
+    let m = matchend(prevs_noi, '(\s*\ze\w')
     if m != -1
-      return m
+      return ind2 + m
     else
-      if g:vhdl_align_genportmap
-        return stridx(prevs, '(') + &sw
+      if g:vhdl_indent_genportmap
+        return ind2 + stridx(prevs_noi, '(') + &sw
       else
         return ind2 + &sw
       endif
@@ -124,8 +125,8 @@
   " keywords: variable + "<=" without ";" ending
   " where:    start of previous line
   if prevs =~? '^\s*\S\+\s*<=[^;]*'.s:ES
-    if g:vhdl_align_rhsassign
-      return matchend(prevs, '<=\s*\ze.')
+    if g:vhdl_indent_rhsassign
+      return ind2 + matchend(prevs_noi, '<=\s*\ze.')
     else
       return ind2 + &sw
     endif