diff --git a/runtime/ftplugin/ruby.vim b/runtime/ftplugin/ruby.vim
index b262258..6f06561 100644
--- a/runtime/ftplugin/ruby.vim
+++ b/runtime/ftplugin/ruby.vim
@@ -1,10 +1,10 @@
 " Vim filetype plugin
 " Language:	Ruby
 " Maintainer:	Gavin Sinclair <gsinclair at soyabean.com.au>
-" Info:         $Id$
-" URL:          http://vim-ruby.sourceforge.net
-" Anon CVS:     See above site
-" Licence:      GPL (http://www.gnu.org)
+" Info:		$Id$
+" URL:		http://vim-ruby.sourceforge.net
+" Anon CVS:	See above site
+" Licence:	GPL (http://www.gnu.org)
 " Disclaimer:
 "    This program is distributed in the hope that it will be useful,
 "    but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,7 +12,7 @@
 "    GNU General Public License for more details.
 " ----------------------------------------------------------------------------
 "
-" Original matchit support thanks to Ned Konz.  See his ftplugin/ruby.vim at
+" Original matchit support thanks to Ned Konz.	See his ftplugin/ruby.vim at
 "   http://bike-nomad.com/vim/ruby.vim.
 " ----------------------------------------------------------------------------
 
@@ -32,18 +32,18 @@
  " TODO: improve optional do loops
  let b:match_words =
     \ '\%(' .
-    \     '\%(\%(\.\|\:\:\)\s*\)\@<!\<\%(class\|module\|begin\|def\|case\|for\|do\)\>' .
-    \   '\|' .
-    \     '\%(\%(^\|\.\.\.\=\|[\,;=([<>~\*/%!&^|+-]\)\s*\)\@<=\%(if\|unless\|until\|while\)\>' .
+    \	  '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<\%(class\|module\|begin\|def\|case\|for\|do\)\>' .
+    \	'\|' .
+    \	  '\%(\%(^\|\.\.\.\=\|[\,;=([<>~\*/%!&^|+-]\)\s*\)\@<=\%(if\|unless\|until\|while\)\>' .
     \ '\)' .
     \ ':' .
     \ '\%(' .
-    \     '\%(\%(\.\|\:\:\)\s*\)\@<!\<\%(else\|elsif\|ensure\|when\)\>' .
-    \   '\|' .
-    \     '\%(\%(^\|;\)\s*\)\@<=\<rescue\>' .
+    \	  '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<\%(else\|elsif\|ensure\|when\)\>' .
+    \	'\|' .
+    \	  '\%(\%(^\|;\)\s*\)\@<=\<rescue\>' .
     \ '\)' .
     \ ':' .
-    \ '\%(\%(\.\|\:\:\)\s*\)\@<!\<end\>'
+    \ '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<end\>'
 
   let b:match_skip =
      \ "synIDattr(synID(line('.'),col('.'),0),'name') =~ '" .
@@ -66,12 +66,13 @@
 
 if !exists("s:rubypath")
   if executable("ruby")
+    let s:code = "print ($: + begin; require %q{rubygems}; Gem.all_load_paths.sort.uniq; rescue LoadError; []; end).join(%q{,})"
     if &shellxquote == "'"
-      let s:rubypath = system('ruby -e "puts (begin; require %q{rubygems}; Gem.all_load_paths; rescue LoadError; []; end + $:).join(%q{,})"')
+      let s:rubypath = system('ruby -e "' . s:code . '"')
     else
-      let s:rubypath = system("ruby -e 'puts (begin; require %q{rubygems}; Gem.all_load_paths; rescue LoadError; []; end + $:).join(%q{,})'")
+      let s:rubypath = system("ruby -e '" . s:code . "'")
     endif
-    let s:rubypath = substitute(s:rubypath,',.$',',,','')
+    let s:rubypath = '.,' . substitute(s:rubypath, '\%(^\|,\)\.\%(,\|$\)', ',,', '')
   else
     " If we can't call ruby to get its path, just default to using the
     " current directory and the directory of the current file.
@@ -83,7 +84,7 @@
 
 if has("gui_win32") && !exists("b:browsefilter")
   let b:browsefilter = "Ruby Source Files (*.rb)\t*.rb\n" .
-                     \ "All Files (*.*)\t*.*\n"
+		     \ "All Files (*.*)\t*.*\n"
 endif
 
 let b:undo_ftplugin = "setl fo< inc< inex< sua< def< com< cms< path< "
@@ -97,7 +98,7 @@
 "
 " 1. Look for the latest "matchit" plugin at
 "
-"         http://www.vim.org/scripts/script.php?script_id=39
+"	  http://www.vim.org/scripts/script.php?script_id=39
 "
 "    It is also packaged with Vim, in the $VIMRUNTIME/macros directory.
 "
@@ -108,16 +109,16 @@
 " 4. Ensure this file (ftplugin/ruby.vim) is installed.
 "
 " 5. Ensure you have this line in your $HOME/.vimrc:
-"         filetype plugin on
+"	  filetype plugin on
 "
 " 6. Restart Vim and create the matchit documentation:
 "
-"         :helptags ~/.vim/doc
+"	  :helptags ~/.vim/doc
 "
 "    Now you can do ":help matchit", and you should be able to use "%" on Ruby
-"    keywords.  Try ":echo b:match_words" to be sure.
+"    keywords.	Try ":echo b:match_words" to be sure.
 "
-" Thanks to Mark J. Reed for the instructions.  See ":help vimrc" for the
+" Thanks to Mark J. Reed for the instructions.	See ":help vimrc" for the
 " locations of plugin directories, etc., as there are several options, and it
 " differs on Windows.  Email gsinclair@soyabean.com.au if you need help.
 "
