updated for version 7.0196
diff --git a/runtime/autoload/ccomplete.vim b/runtime/autoload/ccomplete.vim
index 7a840b1..624fdb3 100644
--- a/runtime/autoload/ccomplete.vim
+++ b/runtime/autoload/ccomplete.vim
@@ -1,7 +1,7 @@
 " Vim completion script
 " Language:	C
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Feb 06
+" Last Change:	2006 Feb 10
 
 
 " This function is used for the 'omnifunc' option.
@@ -213,9 +213,8 @@
 " If it is a variable we may add "." or "->".  Don't do it for other types,
 " such as a typedef, by not including the info that s:GetAddition() uses.
 function! s:Tag2item(val)
-  let x = substitute(a:val['cmd'], '^/^', '', '')
-  let x = substitute(x, '$/$', '', '')
-  let x = substitute(x, a:val['name'], '@@', '')
+  let x = s:Tagcmd2extra(a:val['cmd'], a:val['name'], a:val['filename'])
+
   if has_key(a:val, "kind")
     if a:val["kind"] == 'v'
       return {'match': a:val['name'], 'tagline': "\t" . a:val['cmd'], 'dict': a:val, 'extra': x}
@@ -231,13 +230,37 @@
 " "val['match']" is the matching item.
 " "val['tagline']" is the tagline in which the last part was found.
 function! s:Tagline2item(val, brackets)
-  let word = a:val['match'] . a:brackets . s:GetAddition(a:val['tagline'], a:val['match'], [a:val], a:brackets == '')
+  let line = a:val['tagline']
+  let word = a:val['match'] . a:brackets . s:GetAddition(line, a:val['match'], [a:val], a:brackets == '')
   if has_key(a:val, 'extra')
     return {'word': word, 'menu': a:val['extra']}
   endif
-  return {'word': word, 'menu': substitute(a:val['tagline'], word, '@@', '')}
+
+  " Isolate the command after the tag and filename.
+  let s = matchstr(line, '[^\t]*\t[^\t]*\t\zs\(/^.*$/\|[^\t]*\)\ze\(;"\t\|\t\|$\)')
+  if s != ''
+    return {'word': word, 'menu': s:Tagcmd2extra(s, a:val['match'], matchstr(line, '[^\t]*\t\zs[^\t]*\ze\t'))}
+  endif
+  return {'word': word}
 endfunction
 
+" Turn a command from a tag line to something that is useful in the menu
+function! s:Tagcmd2extra(cmd, name, fname)
+  if a:cmd =~ '^/^'
+    " The command is a search command, useful to see what it is.
+    let x = matchstr(a:cmd, '^/^\zs.*\ze$/')
+    let x = substitute(x, a:name, '@@', '')
+    let x = substitute(x, '\\\(.\)', '\1', 'g')
+    let x = x . ' - ' . a:fname
+  elseif a:cmd =~ '^\d*$'
+    " The command is a line number, the file name is more useful.
+    let x = a:fname . ' - ' . a:cmd
+  else
+    " Not recognized, use command and file name.
+    let x = a:cmd . ' - ' . a:fname
+  endif
+  return x
+endfunction
 
 " Find composing type in "lead" and match items[0] with it.
 " Repeat this recursively for items[1], if it's there.
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 149af4d..23267a6 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0aa.  Last change: 2006 Feb 09
+*todo.txt*      For Vim version 7.0aa.  Last change: 2006 Feb 10
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -32,23 +32,14 @@
 
 Crash with X command server (Ciaran McCreesh).
 
-Add ":lcscope" to use location list instead of quickfix list.
-
 ccomplete / omnicomplete:
-When editing compl_leader <CR> should accept the current match.
-Somehow select another match without changing the compl_leader, so that you
-can use CTRL-L next?  Perhaps with <S-Up> and <S-Down>?
-- Flickering because of syntax highlighting redrawing further lines.
-- Complete the longest common match instead of the first match?
-    Do this when "longest" is in 'completeopt'.
-    Pressing CTRL-N or CTRL-P will get the whole match, as before.
-    Need to postpone inserting anything until all matches have been found.
-    Then add a completion item with the longest common string (after what was
-    typed), if there is one.
 - For C add tag "kind" field to each match?
+- Flickering because of syntax highlighting redrawing further lines.
 - Finding out if an item has members (to add '.' or '->') requires a grep in
   the tags files, that is very slow.  Is there another solution?  At least
   stop at the first match.
+  Could build the list of items for each structure in memory.  Is that faster?
+  Not using too much memory?
 - When a typedef or struct is local to a file only use it in that file?
 - Special mappings for when the popup menu is visible?  Would allow for making
   a specific selection (e.g, methods vs variables).
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 17d2931..14e378a 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0aa.  Last change: 2006 Feb 09
+*version7.txt*  For Vim version 7.0aa.  Last change: 2006 Feb 10
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -457,13 +457,6 @@
 |:caddbuffer|		Add errors from the current buffer to the quickfix
 			list.
 
-|:ltag|			Jump to a tag and add matching tags to a location list.
-|:lmake|		Like |:make| but use the location list.
-|:lgrep|		Like |:grep| but use the location list.
-|:lgrepadd|		Like |:grepadd| but use the location list.
-|:lvimgrep|		Like |:vimgrep| but use the location list.
-|:lvimgrepadd|		Like |:vimgrepadd| but use the location list.
-|:lhelpgrep|		Like |:helpgrep| but use the location list.
 |:lfile|		Like |:cfile| but use the location list.
 |:lgetfile|		Like |:cgetfile| but use the location list.
 |:laddfile|		Like |:caddfile| but use the location list.
@@ -474,7 +467,7 @@
 |:ll|			Like |:cc| but use the location list.
 |:llist|		Like |:clist| but use the location list.
 |:lnext|		Like |:cnext| but use the location list.
-|:lprev|		Like |:cprev| but use the location list.
+|:lprevious|		Like |:cprevious| but use the location list.
 |:lNext|		Like |:cNext| but use the location list.
 |:lfirst|		Like |:cfirst| but use the location list.
 |:lrewind|		Like |:crewind| but use the location list.
@@ -487,6 +480,14 @@
 |:lwindow|		Like |:cwindow| but use the location list.
 |:lopen|		Like |:copen| but use the location list.
 |:lclose|		Like |:cclose| but use the location list.
+|:lmake|		Like |:make| but use the location list.
+|:lgrep|		Like |:grep| but use the location list.
+|:lgrepadd|		Like |:grepadd| but use the location list.
+|:lvimgrep|		Like |:vimgrep| but use the location list.
+|:lvimgrepadd|		Like |:vimgrepadd| but use the location list.
+|:lhelpgrep|		Like |:helpgrep| but use the location list.
+|:lcscope|		Like |:cscope| but use the location list.
+|:ltag|			Jump to a tag and add matching tags to a location list.
 
 
 Ex command modifiers: ~
@@ -1682,4 +1683,7 @@
 
 Crashed when expanding a file name argument in backticks.
 
+In some situations the menu and scrollbar didn't work, when the value contains
+a CSI byte. (Yukihiro Nakadaira)
+
  vim:tw=78:ts=8:ft=help:norl: