--- a/vim/bundle/yankring/plugin/yankring.vim	Mon Jan 16 11:28:13 2012 -0500
+++ b/vim/bundle/yankring/plugin/yankring.vim	Mon Jan 16 12:15:40 2012 -0500
@@ -1,8 +1,8 @@
 " yankring.vim - Yank / Delete Ring for Vim
 " ---------------------------------------------------------------
-" Version:  10.0
+" Version:  12.0
 " Authors:  David Fishburn <dfishburn.vim@gmail.com>
-" Last Modified: 2010 Jan 24
+" Last Modified: 2011 Jun 14
 " Script:   http://www.vim.org/scripts/script.php?script_id=1234
 " Based On: Mocked up version by Yegappan Lakshmanan
 "           http://groups.yahoo.com/group/vim/post?act=reply&messageNum=34406
@@ -18,7 +18,7 @@
   finish
 endif
 
-let loaded_yankring = 100
+let loaded_yankring = 120
 
 let s:yr_has_voperator     = 0
 if v:version > 701 || ( v:version == 701 && has("patch205") )
@@ -52,6 +52,11 @@
     let g:yankring_max_element_length = 1048576
 endif
 
+" Warn if truncation occurs
+if !exists('g:yankring_warn_on_truncate')
+    let g:yankring_warn_on_truncate = 1
+endif
+
 " Allow the user to specify if the plugin is enabled or not
 if !exists('g:yankring_enabled')
     let g:yankring_enabled = 1
@@ -323,6 +328,11 @@
         let toggle = matchstr(a:1, '\d\+')
     endif
 
+    let show_registers = 0
+    if a:0 > 1 && a:2 ==# 'R'
+        let show_registers = 1
+    endif
+
     if toggle == 1
         if bufwinnr(s:yr_buffer_id) > -1
             " If the YankRing window is already open close it
@@ -351,9 +361,9 @@
     " show the contents (or when it is refreshed).
     if g:yankring_paste_check_default_buffer == 1 
         let save_reg = 0
-        let register = ((&clipboard=='unnamed')?'+':'"')
+        let register = ((&clipboard=~'unnamed')?'+':'"')
 
-        if &clipboard == 'unnamed' && getreg('+') != s:yr_prev_clipboard
+        if &clipboard =~ 'unnamed' && getreg('+') != s:yr_prev_clipboard
             let save_reg = 1
         endif
         if register == '"' && getreg('"') != s:yr_prev_reg_unnamed
@@ -371,14 +381,23 @@
     " List is shown in order of replacement
     " assuming using previous yanks
     let output = "--- YankRing ---\n"
-    let output = output . "Elem  Content\n"
+    let output = output . (show_registers == 1 ? 'Reg ' : 'Elem')."  Content\n"
 
-    call s:YRHistoryRead()
-    let disp_item_nr = 1
-    for elem in s:yr_history_list
-        let output  = output . s:YRDisplayElem(disp_item_nr, elem) . "\n"
-        let disp_item_nr   += 1
-    endfor
+    if show_registers == 1
+        for reg_name in map( range(char2nr('0'), char2nr('9')) +
+                    \ (range(char2nr('a'), char2nr('z')))
+                    \, 'nr2char(v:val)' 
+                    \ )
+            let output  = output . s:YRDisplayElem(reg_name, getreg(reg_name).',') . "\n"
+        endfor
+    else
+        call s:YRHistoryRead()
+        let disp_item_nr = 1
+        for elem in s:yr_history_list
+            let output  = output . s:YRDisplayElem(disp_item_nr, elem) . "\n"
+            let disp_item_nr   += 1
+        endfor
+    endif
 
     if g:yankring_window_use_separate == 1
         call s:YRWindowOpen(output)
@@ -438,7 +457,7 @@
         return -1
     endif
 
-    let default_buffer = ((&clipboard=='unnamed')?'+':'"')
+    let default_buffer = ((&clipboard=~'unnamed')?'+':'"')
 
     let direction = 'p'
     if a:0 > 1
@@ -483,7 +502,7 @@
         return -1
     endif
 
-    let default_buffer = ((&clipboard=='unnamed')?'+':'"')
+    let default_buffer = ((&clipboard=~'unnamed')?'+':'"')
     call setreg(default_buffer
                 \ , s:YRGetValElemNbr((elem), 'v')
                 \ , s:YRGetValElemNbr((elem), 't')
@@ -632,7 +651,7 @@
 
 " Resets the common script variables for managing the ring.
 function! s:YRReset()
-    let s:yr_history_list          = []
+    call s:YRHistoryDelete()
     " Update the history file
     call s:YRHistorySave()
 endfunction
@@ -696,7 +715,7 @@
     " so test for this condition and return the 
     " default register
     let user_register = ((v:register=='')?('"'):(v:register))
-    if &clipboard == 'unnamed' && user_register == '"'
+    if &clipboard =~ 'unnamed' && user_register == '"'
         let user_register = '+'
     endif
     return user_register
@@ -718,7 +737,7 @@
     " If we are pushing something on to the yankring, add it to
     " the default buffer as well so the next item pasted will
     " be the item pushed
-    let default_buffer = ((&clipboard=='unnamed')?'+':'"')
+    let default_buffer = ((&clipboard=~'unnamed')?'+':'"')
     call setreg(default_buffer, getreg(user_register), 
                 \ getregtype(user_register))
 
@@ -781,7 +800,7 @@
         return ""
     endif
 
-    let register = ((&clipboard=='unnamed')?'+':register)
+    let register = ((&clipboard=~'unnamed')?'+':register)
 
     " let s:yr_prev_changenr    = changenr()
     if register == '"'
@@ -804,14 +823,16 @@
         let s:yr_prev_clipboard = @+
     endif
 
+    " Manage the numbered registers
+    if g:yankring_manage_numbered_reg == 1
+        " Allow the user to define an autocmd to dynamically
+        " setup their connection information.
+        silent! doautocmd User YRSetNumberedReg
+    endif
+
     " If the yankring window is open, refresh it
     call s:YRWindowUpdate()
 
-    " Manage the numbered registers
-    if g:yankring_manage_numbered_reg == 1
-        call s:YRSetNumberedReg()
-    endif
-
     return ""
 endfunction
 
@@ -827,7 +848,7 @@
         return ""
     endif
 
-    let register = ((&clipboard=='unnamed')?'+':register)
+    let register = ((&clipboard=~'unnamed')?'+':register)
 
     if register == '"'
         " If the change has occurred via an omap, we must delay
@@ -853,14 +874,16 @@
         let s:yr_prev_clipboard = @+
     endif
 
+    " Manage the numbered registers
+    if g:yankring_manage_numbered_reg == 1
+        " Allow the user to define an autocmd to dynamically
+        " setup their connection information.
+        silent! doautocmd User YRSetNumberedReg
+    endif
+
     " If the yankring window is open, refresh it
     call s:YRWindowUpdate()
 
-    " Manage the numbered registers
-    if g:yankring_manage_numbered_reg == 1
-        call s:YRSetNumberedReg()
-    endif
-
     return ""
 endfunction
 
@@ -1012,19 +1035,27 @@
 " Manages the Vim's numbered registers
 function! s:YRSetNumberedReg() 
 
-    let i = 1
+    let i = 0
 
     while i <= 10
         if i > s:yr_count
             break
         endif
 
-        call setreg( (i-1)
-                    \ , s:YRGetValElemNbr((i-1),'v')
-                    \ , s:YRGetValElemNbr((i-1),'t')
+        call setreg( (i)
+                    \ , s:YRGetValElemNbr((i),'v')
+                    \ , s:YRGetValElemNbr((i),'t')
                     \ )
         let i += 1
     endwhile
+
+    " There are a few actions that Vim automatically takes
+    " when modifying the numbered registers.
+    " Modifying register 1 - changes the named register.
+    " It is impossible to set register 2 to a value, since Vim will change it.
+
+    " This will at least preserve the default register
+    let @" = @0
 endfunction
 
 
@@ -1128,7 +1159,7 @@
 function! s:YRYankRange(do_delete_selection, ...) range
 
     let user_register  = s:YRRegister()
-    let default_buffer = ((&clipboard=='unnamed')?'+':'"')
+    let default_buffer = ((&clipboard=~'unnamed')?'+':'"')
 
     " Default command mode to normal mode 'n'
     let cmd_mode = 'n'
@@ -1185,7 +1216,7 @@
     
 
     let user_register  = s:YRRegister()
-    let default_buffer = ((&clipboard == 'unnamed')?'+':'"')
+    let default_buffer = ((&clipboard =~ 'unnamed')?'+':'"')
     let v_count        = v:count
 
     " Default command mode to normal mode 'n'
@@ -1356,7 +1387,7 @@
     " echomsg "YRMapsE:".localtime()
     " echomsg "YRMapsE 1:".cmds.":".v:operator.":".s:yr_maps_created_zap
 
-    if  (a:motion =~ '\.' && s:yr_remove_omap_dot == 1) || a:motion =~ '@'
+    if (a:motion =~ '\.' && s:yr_remove_omap_dot == 1) || a:motion =~ '@'
         " If we are repeating a series of commands we must
         " unmap the _zap_ keys so that the user is not
         " prompted when a command is replayed.
@@ -1407,6 +1438,11 @@
             let cmds .= a:sid. "yrrecord"
         endif
     endif
+ 
+    " This will not work since we are already executing an expression
+    " if a:motion =~ '@'
+    "     let cmds = 'normal! ' . cmds
+    " endif
 
     " echomsg "YRMapsE 5:".a:motion.":'".cmds."':".s:yr_maps_created_zap
     return cmds
@@ -1414,41 +1450,43 @@
 endfunction
  
 
-" Handle any the @
-function! s:YRMapsMacro(bang, ...) range
-    " If we are repeating a series of commands we must
-    " unmap the _zap_ keys so that the user is not
-    " prompted when a command is replayed.
-    " These maps must be re-instated in YRRecord3()
-    " after the action of the replay is completed.
-    call s:YRMapsDelete('remove_only_zap_keys')
-
-    " let zapto = (a:0==0 ? "" : s:YRGetChar())
-    let zapto = s:YRGetChar()
-
-    if zapto == "\<C-C>"
-        " Abort if the user hits Control C
-        call s:YRWarningMsg( "YR:Aborting command:".v:operator.a:motion )
-        return ""
-    endif
-
-    let v_count    = v:count
-    " If no count was specified it will have a value of 0
-    " so set it to at least 1
-    let v_count = ((v_count > 0)?(v_count):'')
-
-    let range = ''
-    if a:firstline != a:lastline
-        let rannge = a:firstline.','.a:lastline
-    endif
-
-    let cmd = range."normal! ".v_count.'@'.zapto
-    " DEBUG
-    " echomsg cmd
-    exec cmd
-
-    call s:YRMapsCreate('add_only_zap_keys')
-endfunction
+" Handle macros (@).
+" This routine is not used, YRMapsExpression is used to
+" handle the @ symbol.
+" function! s:YRMapsMacro(bang, ...) range
+"     " If we are repeating a series of commands we must
+"     " unmap the _zap_ keys so that the user is not
+"     " prompted when a command is replayed.
+"     " These maps must be re-instated in YRRecord3()
+"     " after the action of the replay is completed.
+"     call s:YRMapsDelete('remove_only_zap_keys')
+" 
+"     " let zapto = (a:0==0 ? "" : s:YRGetChar())
+"     let zapto = s:YRGetChar()
+" 
+"     if zapto == "\<C-C>"
+"         " Abort if the user hits Control C
+"         call s:YRWarningMsg( "YR:Aborting command:".v:operator.a:motion )
+"         return ""
+"     endif
+" 
+"     let v_count    = v:count
+"     " If no count was specified it will have a value of 0
+"     " so set it to at least 1
+"     let v_count = ((v_count > 0)?(v_count):'')
+" 
+"     let range = ''
+"     if a:firstline != a:lastline
+"         let rannge = a:firstline.','.a:lastline
+"     endif
+" 
+"     let cmd = range."normal! ".v_count.'@'.zapto
+"     " DEBUG
+"     " echomsg cmd
+"     exec cmd
+" 
+"     call s:YRMapsCreate('add_only_zap_keys')
+" endfunction
  
 
 " Create the default maps
@@ -1549,6 +1587,11 @@
 
     let g:yankring_enabled    = 1
     let s:yr_maps_created     = 1
+
+    if exists('*YRRunAfterMaps') 
+        " This will allow you to override the default maps if necessary
+        call YRRunAfterMaps()
+    endif
 endfunction
  
 
@@ -1592,84 +1635,79 @@
         endtry
     endfor
 
-    if g:yankring_map_dot == 1
-        exec "nunmap ."
+    if g:yankring_map_dot == 1 
+        silent! exec "nunmap ."
     endif
     if g:yankring_v_key != ''
-        exec 'vunmap '.g:yankring_v_key
+        silent! exec 'vunmap '.g:yankring_v_key
     endif
     if g:yankring_del_v_key != ''
         for v_map in split(g:yankring_del_v_key)
             if strlen(v_map) > 0
                 try
-                    exec 'vunmap '.v_map
+                    silent! exec 'vunmap '.v_map
                 catch
                 endtry
             endif
         endfor
     endif
     if g:yankring_paste_n_bkey != ''
-        exec 'nunmap '.g:yankring_paste_n_bkey
+        silent! exec 'nunmap '.g:yankring_paste_n_bkey
         if g:yankring_paste_using_g == 1
-            exec 'nunmap g'.g:yankring_paste_n_bkey
+            silent! exec 'nunmap g'.g:yankring_paste_n_bkey
         endif
     endif
     if g:yankring_paste_n_akey != ''
-        exec 'nunmap '.g:yankring_paste_n_akey
+        silent! exec 'nunmap '.g:yankring_paste_n_akey
         if g:yankring_paste_using_g == 1
-            exec 'nunmap g'.g:yankring_paste_n_akey
+            silent! exec 'nunmap g'.g:yankring_paste_n_akey
         endif
     endif
     if g:yankring_paste_v_bkey != ''
-        exec 'vunmap '.g:yankring_paste_v_bkey
+        silent! exec 'vunmap '.g:yankring_paste_v_bkey
     endif
     if g:yankring_paste_v_akey != ''
-        exec 'vunmap '.g:yankring_paste_v_akey
+        silent! exec 'vunmap '.g:yankring_paste_v_akey
     endif
     if g:yankring_replace_n_pkey != ''
-        exec 'nunmap '.g:yankring_replace_n_pkey
+        silent! exec 'nunmap '.g:yankring_replace_n_pkey
     endif
     if g:yankring_replace_n_nkey != ''
-        exec 'nunmap '.g:yankring_replace_n_nkey
+        silent! exec 'nunmap '.g:yankring_replace_n_nkey
     endif
 
+    silent! exec 'nunmap @'
+
     let g:yankring_enabled    = 0
     let s:yr_maps_created     = 0
 endfunction
 
 function! s:YRGetValElemNbr( position, type )
-
     let needed_elem = a:position
 
     " The List which contains the items in the yankring
     " history is also ordered, most recent at the top
     let elem = s:YRMRUGet('s:yr_history_list', needed_elem)
 
-    if elem >= 0
-        if a:type == 't'
-            return matchstr(elem, '^.*,\zs.*$')
+    if a:type == 't'
+        let elem = matchstr(elem, '^.*,\zs.*$')
+    else
+        let elem = matchstr(elem, '^.*\ze,.*$')
+        if s:yr_history_version == 'v1'
+            " Match three @@@ in a row as long as it is not
+            " preceeded by a @@@            
+            " v1
+            let elem = substitute(elem, s:yr_history_v1_nl_pat, "\n", 'g')
+            let elem = substitute(elem, '\\@', '@', 'g')
         else
-            let elem = matchstr(elem, '^.*\ze,.*$')
-            if s:yr_history_version == 'v1'
-                " Match three @@@ in a row as long as it is not
-                " preceeded by a @@@            
-                " v1
-                let elem = substitute(elem, s:yr_history_v1_nl_pat, "\n", 'g')
-                let elem = substitute(elem, '\\@', '@', 'g')
-            else
-                let elem = substitute(elem, s:yr_history_v2_nl_pat, "\n", 'g')
-            endif
-            return elem
+            let elem = substitute(elem, s:yr_history_v2_nl_pat, "\n", 'g')
         endif
-    else
-        return -1
     endif
 
-    return ""
+    return elem
 endfunction
 
 function! s:YRMRUReset( mru_list )
-
     let {a:mru_list} = []
 
     return 1
@@ -1683,6 +1721,16 @@
     let elem    = a:element
     if g:yankring_max_element_length != 0
         let elem    = strpart(a:element, 0, g:yankring_max_element_length)
+        if (g:yankring_warn_on_truncate > 0)
+            let bytes = len (a:element) - len(elem)
+            if (bytes > 0)
+                call s:YRWarningMsg("Yankring truncated its element by ".
+                                        \ bytes.
+                                        \ " bytes due to a g:yankring_max_element_length of ".
+                                        \ g:yankring_max_element_length
+                                        \ )
+            endif
+        endif
     endif
     if s:yr_history_version == 'v1'
         let elem    = escape(elem, '@')
@@ -1754,7 +1802,6 @@
 endfunction
 
 function! s:YRMRUDel( mru_list, elem_nbr )
-
     if a:elem_nbr >= 0 && a:elem_nbr < s:yr_count 
         call remove({a:mru_list}, a:elem_nbr)
         call s:YRHistorySave()
@@ -1763,6 +1810,23 @@
     return 1
 endfunction
 
+function! s:YRHistoryDelete()
+    let s:yr_history_list = []
+    let yr_filename       = s:yr_history_file_{s:yr_history_version}
+
+    if filereadable(yr_filename)
+        let rc = delete(yr_filename)
+        if rc != 0
+            call s:YRErrorMsg(
+                        \ 'YRHistoryDelete: Unable to delete the yankring history file: '.
+                        \ yr_filename
+                        \ )
+        endif
+    endif
+
+    return 0
+endfunction 
+
 function! s:YRHistoryRead()
     let refresh_needed  = 1
     let yr_history_list = []
@@ -1801,20 +1865,22 @@
 endfunction 
 
 function! s:YRHistorySave()
+    let yr_filename     = s:yr_history_file_{s:yr_history_version}
+
     if len(s:yr_history_list) > g:yankring_max_history
         " Remove items which exceed the max # specified
         call remove(s:yr_history_list, g:yankring_max_history)
     endif
 
-    let rc = writefile(s:yr_history_list, s:yr_history_file_{s:yr_history_version})
+    let rc = writefile(s:yr_history_list, yr_filename)
 
     if rc == 0
-        let s:yr_history_last_upd = getftime(s:yr_history_file_{s:yr_history_version})
+        let s:yr_history_last_upd = getftime(yr_filename)
         let s:yr_count = len(s:yr_history_list)
     else
         call s:YRErrorMsg(
                     \ 'YRHistorySave: Unable to save yankring history file: '.
-                    \ s:yr_history_file_{s:yr_history_version}
+                    \ yr_filename
                     \ )
     endif
 endfunction 
@@ -1879,7 +1945,7 @@
 
     let msg = 'AutoClose='.g:yankring_window_auto_close.
                 \ ';ClipboardMonitor='.g:yankring_clipboard_monitor.
-                \ ';Cmds:<enter>,[g]p,[g]P,d,r,s,a,c,u,q,<space>;Help=?'.
+                \ ';Cmds:<enter>,[g]p,[g]P,d,r,s,a,c,u,R,q,<space>;Help=?'.
                 \ (s:yr_search==""?"":';SearchRegEx='.s:yr_search)
 
     if s:yr_has_voperator == 0
@@ -1896,7 +1962,8 @@
                     \ '" [g]P         : [g][P]aste selection'."\n".
                     \ '" r            : [p]aste selection in reverse order'."\n".
                     \ '" s            : [s]earch the yankring for text'."\n".
-                    \ '" u            : [u]pdate display'."\n".
+                    \ '" u            : [u]pdate display show YankRing'."\n".
+                    \ '" R            : [R]egisters display'."\n".
                     \ '" a            : toggle [a]utoclose setting'."\n".
                     \ '" c            : toggle [c]lipboard monitor setting'."\n".
                     \ '" q            : [q]uit / close the yankring window'."\n".
@@ -2084,6 +2151,7 @@
     nnoremap <buffer> <silent> ?             :call <SID>YRWindowAction ('?' ,'n')<CR>
     nnoremap <buffer> <silent> u             :call <SID>YRWindowAction ('u' ,'n')<CR>
     nnoremap <buffer> <silent> q             :call <SID>YRWindowAction ('q' ,'n')<CR>
+    nnoremap <buffer> <silent> R             :call <SID>YRWindowAction ('R' ,'n')<CR>
     nnoremap <buffer> <silent> <space>     \|:silent exec 'vertical resize '.
                 \ (
                 \ g:yankring_window_use_horiz!=1 && winwidth('.') > g:yankring_window_width
@@ -2151,7 +2219,7 @@
 endfunction
 
 function! s:YRWindowAction(op, cmd_mode) range
-    let default_buffer = ((&clipboard=='unnamed')?'+':'"')
+    let default_buffer = ((&clipboard=~'unnamed')?'+':'"')
     let opcode     = a:op
     let lines      = []
     let v_count    = v:count
@@ -2220,6 +2288,12 @@
     
         call s:YRShow(0)
         return
+    elseif opcode ==# 'R'
+        " Switch back to the original buffer
+        exec s:yr_buffer_last_winnr . "wincmd w"
+    
+        call s:YRShow(0, 'R')
+        return
     elseif opcode ==# 'a'
         let l:curr_line = line(".")
         " Toggle the auto close setting
@@ -2399,6 +2473,8 @@
     autocmd WinLeave    * :call <SID>YRWinLeave()
     autocmd FocusGained * :if has('clipboard') | call <SID>YRFocusGained() | endif
     autocmd InsertLeave * :call <SID>YRInsertLeave()
+    autocmd User        YRSetNumberedReg :call <SID>YRSetNumberedReg()
+    " autocmd User        YRSetNumberedReg :let i = 0 | while i <= 10 | if i > s:yr_count | break | endif | call setreg( (i), s:YRGetValElemNbr((i),'v'), s:YRGetValElemNbr((i),'t') ) | let i += 1 | endwhile
 augroup END
 
 
@@ -2431,18 +2507,30 @@
 if has("gui_running") && has("menu") && g:yankring_default_menu_mode != 0
     if g:yankring_default_menu_mode == 1
         let menuRoot = 'YankRing'
+        let menuPriority = ''
     elseif g:yankring_default_menu_mode == 2
         let menuRoot = '&YankRing'
+        let menuPriority = ''
+    elseif g:yankring_default_menu_mode == 3 
+        let menuRoot = exists("g:yankring_menu_root") ? g:yankring_menu_root : '&Plugin.&YankRing'
+        let menuPriority = exists("g:yankring_menu_priority") ? yankring_menu_priority : ''
     else
         let menuRoot = '&Plugin.&YankRing'
+        let menuPriority = ''
     endif
 
-    exec 'noremenu  <script> '.menuRoot.'.YankRing\ Window  :YRShow<CR>'
-    exec 'noremenu  <script> '.menuRoot.'.YankRing\ Search  :YRSearch<CR>'
-    exec 'noremenu  <script> '.menuRoot.'.Replace\ with\ Previous  :YRReplace ''-1'', ''P''<CR>'
-    exec 'noremenu  <script> '.menuRoot.'.Replace\ with\ Next  :YRReplace ''1'', ''P''<CR>'
-    exec 'noremenu  <script> '.menuRoot.'.Clear  :YRClear<CR>'
-    exec 'noremenu  <script> '.menuRoot.'.Toggle :YRToggle<CR>'
+    let leader = '\'
+    if exists('g:mapleader')
+        let leader = g:mapleader
+    endif
+    let leader = escape(leader, '\')
+
+    exec 'noremenu  <script> '.menuPriority.' '.menuRoot.'.YankRing\ Window  :YRShow<CR>'
+    exec 'noremenu  <script> '.menuPriority.' '.menuRoot.'.YankRing\ Search  :YRSearch<CR>'
+    exec 'noremenu  <script> '.menuPriority.' '.menuRoot.'.Replace\ with\ Previous<TAB>'.leader.'<C-P> :YRReplace ''-1'', ''P''<CR>'
+    exec 'noremenu  <script> '.menuPriority.' '.menuRoot.'.Replace\ with\ Next<TAB>'.leader.'<C-N> :YRReplace ''1'', ''P''<CR>'
+    exec 'noremenu  <script> '.menuPriority.' '.menuRoot.'.Clear  :YRClear<CR>'
+    exec 'noremenu  <script> '.menuPriority.' '.menuRoot.'.Toggle :YRToggle<CR>'
 endif
 
 if g:yankring_enabled == 1
@@ -2450,11 +2538,6 @@
     call s:YRMapsCreate()
 endif
 
-if exists('*YRRunAfterMaps') 
-    " This will allow you to override the default maps if necessary
-    call YRRunAfterMaps()
-endif
-
 call s:YRInit()
 call s:YRHistoryRead()