changeset 860:2fe516aa3710

updated for version 7.0g02
author vimboss
date Wed, 03 May 2006 21:28:47 +0000
parents 99305c4c42d4
children 169533a9699f
files runtime/autoload/ccomplete.vim runtime/doc/todo.txt runtime/doc/version7.txt src/main.c src/menu.c
diffstat 5 files changed, 51 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- 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 Mar 24
+" Last Change:	2006 May 03
 
 
 " This function is used for the 'omnifunc' option.
@@ -379,7 +379,9 @@ function! s:Nextitem(lead, items, depth,
     endif
 
     " Recognize "struct foobar" and "union foobar".
-    if (tokens[tidx] == 'struct' || tokens[tidx] == 'union') && tidx + 1 < len(tokens)
+    " Also do "class foobar" when it's C++ after all (doesn't work very well
+    " though).
+    if (tokens[tidx] == 'struct' || tokens[tidx] == 'union' || tokens[tidx] == 'class') && tidx + 1 < len(tokens)
       let res = s:StructMembers(tokens[tidx] . ':' . tokens[tidx + 1], a:items, a:all)
       break
     endif
@@ -421,7 +423,7 @@ function! s:Nextitem(lead, items, depth,
       if ei > 1
 	let cmdtokens = split(strpart(cmd, ei), '\s\+\|\<')
 	if len(cmdtokens) > 1
-	  if cmdtokens[0] == 'struct' || cmdtokens[0] == 'union'
+	  if cmdtokens[0] == 'struct' || cmdtokens[0] == 'union' || cmdtokens[0] == 'class'
 	    let name = ''
 	    " Use the first identifier after the "struct" or "union"
 	    for ti in range(len(cmdtokens) - 1)
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0g.  Last change: 2006 May 02
+*todo.txt*      For Vim version 7.0g.  Last change: 2006 May 03
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,24 +30,6 @@ be worked on, but only if you sponsor Vi
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Session file can contain:
-    args version.c main.c
-    edit version.c
-Can that be avoided?
-
-With 'mousefocus' set and using text tabline don't select first window.
-
-The Hungarian spell file uses different FOL/UPP/LOW items than other spell
-files with the same encoding, that causes problem when changing 'spelllang'.
-Clear character table when switching it?  Adjust Hungarian?
-
-Quickfix windows in different tabs should use same buffer, there is only one
-quickfix list.
-
-let exists() not ignore trailing text?
-
-Include new Python syntax file? (dharana)
-
 indent/html.vim doesn't restore 'ignorecase' and 'cpo'.
 
 
@@ -1116,6 +1098,9 @@ 7   Add local highlighting for each tab 
 
 
 Spell checking:
+-   The Hungarian spell file uses four extra characters in the FOL/UPP/LOW
+    items than other spell files with the ISO-8859-2 encoding, that causes
+    problem when changing 'spelllang'.  There is no obvious way to fix this.
 -   Considering Hunspell 1.1.4:
     What does MAXNGRAMSUGS do?
     Is COMPLEXPREFIXES necessary when we have flags for affixes?
@@ -1226,6 +1211,11 @@ 7   When using manual folding, the undo 
     smoother?
 -   When creating a session, also store folds for buffers in the buffer list,
     using the wininfo in wi_folds.
+-   When currently editing the first file in the argument list the session
+    file can contain:
+	args version.c main.c
+	edit version.c
+    Can editing version.c twice be avoided?
 -   'foldmethod' "textobject": fold on sections and paragraph text objects.
 -   Add 'hidecomment' option: don't display comments in /* */ and after //.
     Or is the conceal patch from Vince Negri a more generic solution?
@@ -2108,6 +2098,8 @@ Omni completion:
 
 Insert mode completion/expansion:
 -   GUI implementation of the popup menu.
+7   When searching in other files the name flash by, too fast to read.  Only
+    display a name every second or so, like with ":vimgrep".
 8   When there is no word before the cursor but something like "sys." complete
     with "sys.".  Works well for C and similar languages.
 9   ^X^L completion doesn't repeat correctly.  It uses the first match with
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0g.  Last change: 2006 May 02
+*version7.txt*  For Vim version 7.0g.  Last change: 2006 May 03
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -2865,5 +2865,28 @@ briefly.
 When setting the Vim window height with -geometry the 'window' option could be
 at a value that makes CTRL-F behave differently.
 
+When opening a quickfix window in two tabs they used different buffers,
+causing redrawing problems later.  Now use the same buffer for all quickfix
+windows. (Yegappan Lakshmanan)
+
+When 'mousefocus' is set moving the mouse to the text tab pages line would
+move focus to the first window.  Also, the mouse pointer would jump to the
+active window.
+
+In a session file, when an empty buffer is wiped out, do this silently.
+
+When one window has the cursor on the last line and another window is resized
+to make that window smaller, the cursor line could go below the displayed
+lines.  In win_new_height() subtract one from the available space.
+Also avoid that using "~" lines makes the window scroll down.
+
+Mac: When sourcing the "macmap.vim" script and then finding a .vimrc file the
+'cpo' option isn't set properly, because it was already set and restored.
+Added the <special> argument to ":map", so that 'cpo' doesn't need to be
+changed to be able to use <> notation.  Also do this for ":menu" for
+consistency.
+
+When using "/encoding=abc" in a spell word list, only "bc" was used.
+
 
  vim:tw=78:ts=8:ft=help:norl:
--- a/src/main.c
+++ b/src/main.c
@@ -3606,11 +3606,11 @@ server_to_input_buf(str)
      *    B set - backslashes are *not* treated specially
      *    k set - keycodes are *not* reverse-engineered
      *    < unset - <Key> sequences *are* interpreted
-     *  The last parameter of replace_termcodes() is TRUE so that the <lt>
-     *  sequence is recognised - needed for a real backslash.
+     *  The last but one parameter of replace_termcodes() is TRUE so that the
+     *  <lt> sequence is recognised - needed for a real backslash.
      */
     p_cpo = (char_u *)"Bk";
-    str = replace_termcodes((char_u *)str, &ptr, FALSE, TRUE);
+    str = replace_termcodes((char_u *)str, &ptr, FALSE, TRUE, FALSE);
     p_cpo = cpo_save;
 
     if (*ptr != NUL)	/* trailing CTRL-V results in nothing */
--- a/src/menu.c
+++ b/src/menu.c
@@ -91,6 +91,7 @@ ex_menu(eap)
     char_u	*map_to;
     int		noremap;
     int		silent = FALSE;
+    int		special = FALSE;
     int		unmenu;
     char_u	*map_buf;
     char_u	*arg;
@@ -131,6 +132,12 @@ ex_menu(eap)
 	    arg = skipwhite(arg + 8);
 	    continue;
 	}
+	if (STRNCMP(arg, "<special>", 9) == 0)
+	{
+	    special = TRUE;
+	    arg = skipwhite(arg + 9);
+	    continue;
+	}
 	break;
     }
 
@@ -390,7 +397,7 @@ ex_menu(eap)
 	else if (modes & MENU_TIP_MODE)
 	    map_buf = NULL;	/* Menu tips are plain text. */
 	else
-	    map_to = replace_termcodes(map_to, &map_buf, FALSE, TRUE);
+	    map_to = replace_termcodes(map_to, &map_buf, FALSE, TRUE, special);
 	menuarg.modes = modes;
 #ifdef FEAT_TOOLBAR
 	menuarg.iconfile = icon;