changeset 2120:f63ace015c63

Updated runtime and language files.
author Bram Moolenaar <bram@zimbu.org>
date Wed, 17 Mar 2010 20:02:06 +0100
parents 111554354870
children 20d9fc2f13a4
files runtime/autoload/netrw.vim runtime/autoload/pythoncomplete.vim runtime/doc/eval.txt runtime/doc/insert.txt runtime/doc/todo.txt runtime/syntax/mib.vim src/po/it.po src/po/uk.cp1251.po src/po/uk.po
diffstat 9 files changed, 139 insertions(+), 133 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/autoload/netrw.vim
+++ b/runtime/autoload/netrw.vim
@@ -2893,7 +2893,7 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,
   let wlastline  = line('w$')
   let lastline   = line('$')
 "  call Decho("v:mouse_lnum=".mouse_lnum." line(w$)=".wlastline." line($)=".lastline)
-  if mouse_lnum == wlastline + 1
+  if mouse_lnum == wlastline + 1 || v:mouse_win != winnr()
 "   call Decho("appears to be a status bar leftmouse click")
    " appears to be a status bar leftmouse click
    return
--- a/runtime/autoload/pythoncomplete.vim
+++ b/runtime/autoload/pythoncomplete.vim
@@ -1,17 +1,28 @@
 "pythoncomplete.vim - Omni Completion for python
 " Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
-" Version: 0.7
-" Last Updated: 19 Oct 2006
+" Version: 0.9
+" Last Updated: 18 Jun 2009
 "
 " Changes
 " TODO:
-" User defined docstrings aren't handled right...
 " 'info' item output can use some formatting work
 " Add an "unsafe eval" mode, to allow for return type evaluation
 " Complete basic syntax along with import statements
 "   i.e. "import url<c-x,c-o>"
 " Continue parsing on invalid line??
 "
+" v 0.9
+"   * Fixed docstring parsing for classes and functions
+"   * Fixed parsing of *args and **kwargs type arguments
+"   * Better function param parsing to handle things like tuples and
+"     lambda defaults args
+"
+" v 0.8
+"   * Fixed an issue where the FIRST assignment was always used instead of
+"   using a subsequent assignment for a variable
+"   * Fixed a scoping issue when working inside a parameterless function
+"
+"
 " v 0.7
 "   * Fixed function list sorting (_ and __ at the bottom)
 "   * Removed newline removal from docs.  It appears vim handles these better in
@@ -63,7 +74,7 @@ function! pythoncomplete#Complete(findst
         while idx > 0
             let idx -= 1
             let c = line[idx]
-            if c =~ '\w' || c =~ '\.' || c == '('
+            if c =~ '\w' || c =~ '\.'
                 let cword = c . cword
                 continue
             elseif strlen(cword) > 0 || idx == 0
@@ -206,7 +217,7 @@ class Completer(object):
             if len(stmt) > 0 and stmt[-1] == '(':
                 result = eval(_sanitize(stmt[:-1]), self.compldict)
                 doc = result.__doc__
-                if doc == None: doc = ''
+                if doc is None: doc = ''
                 args = self.get_arguments(result)
                 return [{'word':self._cleanstr(args),'info':self._cleanstr(doc)}]
             elif ridx == -1:
@@ -223,18 +234,18 @@ class Completer(object):
 
             try: maindoc = result.__doc__
             except: maindoc = ' '
-            if maindoc == None: maindoc = ' '
+            if maindoc is None: maindoc = ' '
             for m in all:
                 if m == "_PyCmplNoType": continue #this is internal
                 try:
                     dbg('possible completion: %s' % m)
                     if m.find(match) == 0:
-                        if result == None: inst = all[m]
+                        if result is None: inst = all[m]
                         else: inst = getattr(result,m)
                         try: doc = inst.__doc__
                         except: doc = maindoc
                         typestr = str(inst)
-                        if doc == None or doc == '': doc = maindoc
+                        if doc is None or doc == '': doc = maindoc
 
                         wrd = m[len(match):]
                         c = {'word':wrd, 'abbr':m,  'info':self._cleanstr(doc)}
@@ -260,9 +271,9 @@ class Completer(object):
             return []
 
 class Scope(object):
-    def __init__(self,name,indent):
+    def __init__(self,name,indent,docstr=''):
         self.subscopes = []
-        self.docstr = ''
+        self.docstr = docstr
         self.locals = []
         self.parent = None
         self.name = name
@@ -281,29 +292,28 @@ class Scope(object):
         while d.find('  ') > -1: d = d.replace('  ',' ')
         while d[0] in '"\'\t ': d = d[1:]
         while d[-1] in '"\'\t ': d = d[:-1]
+        dbg("Scope(%s)::docstr = %s" % (self,d))
         self.docstr = d
 
     def local(self,loc):
-        if not self._hasvaralready(loc):
-            self.locals.append(loc)
+        self._checkexisting(loc)
+        self.locals.append(loc)
 
     def copy_decl(self,indent=0):
         """ Copy a scope's declaration only, at the specified indent level - not local variables """
-        return Scope(self.name,indent)
+        return Scope(self.name,indent,self.docstr)
 
-    def _hasvaralready(self,test):
+    def _checkexisting(self,test):
         "Convienance function... keep out duplicates"
         if test.find('=') > -1:
             var = test.split('=')[0].strip()
             for l in self.locals:
                 if l.find('=') > -1 and var == l.split('=')[0].strip():
-                    return True
-        return False
+                    self.locals.remove(l)
 
     def get_code(self):
-        # we need to start with this, to fix up broken completions
-        # hopefully this name is unique enough...
-        str = '"""'+self.docstr+'"""\n'
+        str = ""
+        if len(self.docstr) > 0: str += '"""'+self.docstr+'"""\n'
         for l in self.locals:
             if l.startswith('import'): str += l+'\n'
         str += 'class _PyCmplNoType:\n    def __getattr__(self,name):\n        return None\n'
@@ -330,11 +340,11 @@ class Scope(object):
         return '    '*(self.indent+1)
 
 class Class(Scope):
-    def __init__(self, name, supers, indent):
-        Scope.__init__(self,name,indent)
+    def __init__(self, name, supers, indent, docstr=''):
+        Scope.__init__(self,name,indent, docstr)
         self.supers = supers
     def copy_decl(self,indent=0):
-        c = Class(self.name,self.supers,indent)
+        c = Class(self.name,self.supers,indent, self.docstr)
         for s in self.subscopes:
             c.add(s.copy_decl(indent+1))
         return c
@@ -351,11 +361,11 @@ class Class(Scope):
 
 
 class Function(Scope):
-    def __init__(self, name, params, indent):
-        Scope.__init__(self,name,indent)
+    def __init__(self, name, params, indent, docstr=''):
+        Scope.__init__(self,name,indent, docstr)
         self.params = params
     def copy_decl(self,indent=0):
-        return Function(self.name,self.params,indent)
+        return Function(self.name,self.params,indent, self.docstr)
     def get_code(self):
         str = "%sdef %s(%s):\n" % \
             (self.currentindent(),self.name,','.join(self.params))
@@ -371,7 +381,7 @@ class PyParser:
     def _parsedotname(self,pre=None):
         #returns (dottedname, nexttoken)
         name = []
-        if pre == None:
+        if pre is None:
             tokentype, token, indent = self.next()
             if tokentype != NAME and token != '*':
                 return ('', token)
@@ -405,17 +415,20 @@ class PyParser:
         while True:
             tokentype, token, indent = self.next()
             if token in (')', ',') and level == 1:
-                names.append(name)
+                if '=' not in name: name = name.replace(' ', '')
+                names.append(name.strip())
                 name = ''
             if token == '(':
                 level += 1
+                name += "("
             elif token == ')':
                 level -= 1
                 if level == 0: break
+                else: name += ")"
             elif token == ',' and level == 1:
                 pass
             else:
-                name += str(token)
+                name += "%s " % str(token)
         return names
 
     def _parsefunction(self,indent):
@@ -495,16 +508,26 @@ class PyParser:
                 #Handle 'self' params
                 if scp.parent != None and type(scp.parent) == Class:
                     slice = 1
-                    p = scp.params[0]
-                    i = p.find('=')
-                    if i != -1: p = p[:i]
                     newscope.local('%s = %s' % (scp.params[0],scp.parent.name))
                 for p in scp.params[slice:]:
                     i = p.find('=')
+                    if len(p) == 0: continue
+                    pvar = ''
+                    ptype = ''
                     if i == -1:
-                        newscope.local('%s = _PyCmplNoType()' % p)
+                        pvar = p
+                        ptype = '_PyCmplNoType()'
                     else:
-                        newscope.local('%s = %s' % (p[:i],_sanitize(p[i+1])))
+                        pvar = p[:i]
+                        ptype = _sanitize(p[i+1:])
+                    if pvar.startswith('**'):
+                        pvar = pvar[2:]
+                        ptype = '{}'
+                    elif pvar.startswith('*'):
+                        pvar = pvar[1:]
+                        ptype = '[]'
+
+                    newscope.local('%s = %s' % (pvar,ptype))
 
             for s in scp.subscopes:
                 ns = s.copy_decl(0)
@@ -532,17 +555,19 @@ class PyParser:
                     self.scope = self.scope.pop(indent)
                 elif token == 'def':
                     func = self._parsefunction(indent)
-                    if func == None:
+                    if func is None:
                         print "function: syntax error..."
                         continue
+                    dbg("new scope: function")
                     freshscope = True
                     self.scope = self.scope.add(func)
                 elif token == 'class':
                     cls = self._parseclass(indent)
-                    if cls == None:
+                    if cls is None:
                         print "class: syntax error..."
                         continue
                     freshscope = True
+                    dbg("new scope: class")
                     self.scope = self.scope.add(cls)
                     
                 elif token == 'import':
@@ -569,6 +594,7 @@ class PyParser:
                     name,token = self._parsedotname(token) 
                     if token == '=':
                         stmt = self._parseassignment()
+                        dbg("parseassignment: %s = %s" % (name, stmt))
                         if stmt != None:
                             self.scope.local("%s = %s" % (name,stmt))
                     freshscope = False
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.2.  Last change: 2010 Jan 19
+*eval.txt*	For Vim version 7.2.  Last change: 2010 Mar 10
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.2.  Last change: 2009 Jul 14
+*insert.txt*    For Vim version 7.2.  Last change: 2010 Mar 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -639,6 +639,7 @@ completion operation: >
 	      return "\<Tab>"
 	   else
 	      return "\<C-N>"
+	   endif
 	endfunction
 	inoremap <Tab> <C-R>=CleverTab()<CR>
 
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.2.  Last change: 2010 Mar 02
+*todo.txt*      For Vim version 7.2.  Last change: 2010 Mar 17
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,22 +30,22 @@ be worked on, but only if you sponsor Vi
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Patch for access to freed memory. (Dominique Pelle, 2010 Feb 28)
-
-Update pythoncomplete. (Aaron Griffin, 2010 Feb 25)
-
-Patch for Visual Studio 2010. (George Reilly, 2010 Feb 26)
-Test 69 breaks.
-
-With cmdline window open, can drag the status line above it, but not another
-one. (Jean Johner, 2010 Feb 27)
+":s" summary in :folddo is not correct. (Jean Johner, 2010 Feb 20)
+Patch from Lech Lorens, 2010 Mar 13.
+
+Vim tries to set the background or foreground color in a terminal to -1.
+(Graywh)  Appears to happen with ":hi Normal ctermbg=NONE".
+Possible solution from Matt Wozniski, 2010 Mar 17.
+
+Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11)
+Additional info by Dominique Pelle.
 
 I often see pasted text (from Firefox, to Vim in xterm) appear twice.
 Also, Vim in xterm sometimes loses copy/paste ability (probably after running
 an external command).
 
-In netrw, click on last status lines causes netrw to open the last entry in
-the window. (Jean Johner, 2010 Feb 26)
+Problem with transparent cmdline.  Also: Terminal title is wrong with
+non-ASCII character. (Lily White, 2010 Mar 7)
 
 iconv() doesn't fail on an illegal character, as documented. (Yongwei Wu, 2009
 Nov 15, example Nov 26)  Add argument to specify whether iconv() should fail
@@ -55,8 +55,6 @@ Add local time at start of --startuptime
 Requires configure check for localtime().
 Use format year-month-day hr:min:sec.
 
-":s" summary in :folddo is not correct. (Jean Johner, 2010 Feb 20)
-
 Shell not recognized properly if it ends in "csh -f". (James Vega, 2009 Nov 3)
 Find tail?  Might have a / in argument.  Find space?  Might have space in
 path.
@@ -67,6 +65,9 @@ Now with Mercurial repository (2010 Jan 
 Crash when assigning s: to variable, pointer becomes invalid later.
 (Yukihiro Nakadaira, 2009 Oct 12, confirmed by Dominique Pelle)
 
+Test 69 breaks on MS-Windows, both 32 and 64 builds. (George Reilly, 2010 Feb
+26)
+
 Coverity: ask someone to create new user: Dominique.
 look into reported defects: http://scan.coverity.com/rung2.html
 
@@ -97,16 +98,11 @@ http://blog.flameeyes.eu/2008/01/17/toda
 In command line window ":close" doesn't work properly. (Tony Mechelynck, 2009
 Jun 1)
 
-Why does this give a #705 error:
-let X = function('haslocaldir')
-let X = function('getcwd')
-Inserting "unlet X" helps.
-
 When a:base in 'completefunc' starts with a number it's passed as a number,
 not a string. (Sean Ma)  Need to add flag to call_func_retlist() to force a
 string value.
 
-Reproducable crash in syntax HL. (George Reilly, Dominique Pelle, 2009 May 9)
+Reproducible crash in syntax HL. (George Reilly, Dominique Pelle, 2009 May 9)
 
 Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
 
@@ -143,9 +139,6 @@ Win32: Expanding 'path' runs into a maxi
 Setting 'tags' to "tagsdir/*" does not find "tagsdir/tags". (Steven K. Wong,
 2009 Jul 18)
 
-":e dir<Tab>" with 'wildmode' set to "list" doesn't highlight directory names
-with a space. (Alexandre Provencio, 2009 Jun 9)
-
 Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
 Added test, updates, June 23.
 
@@ -1141,6 +1134,7 @@ Vim 7.3:
     Kocher (LGPL), close to original.  Mohsin also has some ideas.
     Take four bytes and turn them into unsigned to avoid byte-order problems.
     Need to buffer up to 7 bytes to align on 8 byte boundaries.
+    Patch from Moshin, 2010 Mar 15.
 -   ":{range}source": source the lines from the current file.
 	You can already yank lines and use :@" to execute them.
 	Most of do_source() would not be used, need a new function.
--- a/runtime/syntax/mib.vim
+++ b/runtime/syntax/mib.vim
@@ -1,22 +1,15 @@
 " Vim syntax file
-" Language:	Vim syntax file for SNMPv1 and SNMPv2 MIB and SMI files
-" Author:	David Pascoe <pascoedj@spamcop.net>
-" Written:	Wed Jan 28 14:37:23 GMT--8:00 1998
-" Last Changed:	Thu Feb 27 10:18:16 WST 2003
+" Language:        Vim syntax file for SNMPv1 and SNMPv2 MIB and SMI files
+" Maintainer:      Martin Smat <msmat@post.cz>
+" Original Author: David Pascoe <pascoedj@spamcop.net>
+" Written:     	   Wed Jan 28 14:37:23 GMT--8:00 1998
+" Last Changed:    Mon Mar 15 2010
 
-" For version 5.x: Clear all syntax items
-" For version 6.x: Quit when a syntax file was already loaded
-if version < 600
-  syntax clear
-elseif exists("b:current_syntax")
+if exists("b:current_syntax")
   finish
 endif
 
-if version >= 600
-  setlocal iskeyword=@,48-57,_,128-167,224-235,-,:,=
-else
-  set iskeyword=@,48-57,_,128-167,224-235,-,:,=
-endif
+setlocal iskeyword=@,48-57,_,128-167,224-235,-,:,=
 
 syn keyword mibImplicit ACCESS ANY AUGMENTS BEGIN BIT BITS BOOLEAN CHOICE
 syn keyword mibImplicit COMPONENTS CONTACT-INFO DEFINITIONS DEFVAL
@@ -47,31 +40,16 @@ syn keyword mibEpilogue test-function-as
 syn keyword mibEpilogue leaf-name
 syn keyword mibEpilogue DEFAULT contained
 
-syn match  mibComment		"\ *--.*$"
-syn match  mibNumber		"\<['0-9a-fA-FhH]*\>"
+syn match  mibComment   "\ *--.\{-}\(--\|$\)"
+syn match  mibNumber    "\<['0-9a-fA-FhH]*\>"
 syn region mibDescription start="\"" end="\"" contains=DEFAULT
 
-" Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_mib_syn_inits")
-  if version < 508
-    let did_mib_syn_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
-
-  HiLink mibImplicit	     Statement
-  HiLink mibComment	     Comment
-  HiLink mibConstants	     String
-  HiLink mibNumber	     Number
-  HiLink mibDescription      Identifier
-  HiLink mibEpilogue	     SpecialChar
-  HiLink mibValue	     Structure
-  delcommand HiLink
-endif
+hi def link mibImplicit	     Statement
+hi def link mibComment       Comment
+hi def link mibConstants     String
+hi def link mibNumber        Number
+hi def link mibDescription   Identifier
+hi def link mibEpilogue	     SpecialChar
+hi def link mibValue         Structure
 
 let b:current_syntax = "mib"
-
-" vim: ts=8
--- a/src/po/it.po
+++ b/src/po/it.po
@@ -12,8 +12,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: vim 7.2\n"
-"POT-Creation-Date: 2009-11-30 10:40+0100\n"
-"PO-Revision-Date:  2009-11-30 16:41+0100\n"
+"POT-Creation-Date: 2010-03-01 13:21+0100\n"
+"PO-Revision-Date:  2009-03-01 13:21+0100\n"
 "Last-Translator:   Vlad Sandrini   <vlad.gently@gmail.com>\n"
 "Language-Team:     Italian"
 "                   Antonio Colombo <azc100@gmail.com>"
@@ -1053,8 +1053,8 @@ msgstr "Nessun 'breakpoint' definito"
 msgid "%3d  %s %s  line %ld"
 msgstr "%3d  %s %s linea %ld"
 
-msgid "E750: First use :profile start <fname>"
-msgstr "E750: Usare prima :profile start <fname>"
+msgid "E750: First use \":profile start {fname}\""
+msgstr "E750: Usare prima \":profile start {fname}\""
 
 #, c-format
 msgid "Save changes to \"%s\"?"
@@ -3132,8 +3132,7 @@ msgstr "--servername <nome>\tInvia a/div
 
 msgid "--startuptime <file>\tWrite startup timing messages to <file>"
 msgstr ""
-"--startuptime <file>\tScrivi tutti i messaggi iniziali di timing "
-"in <file>"
+"--startuptime <file>\tScrivi tutti i messaggi iniziali di timing in <file>"
 
 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
 msgstr "-i <viminfo>\t\tUsa <viminfo> invece di .viminfo"
--- a/src/po/uk.cp1251.po
+++ b/src/po/uk.cp1251.po
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: vim 7.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-09-07 15:11+0300\n"
+"POT-Creation-Date: 2010-03-06 23:51+0200\n"
 "PO-Revision-Date: 2008-03-07 13:57+0300\n"
 "Last-Translator:   <sakhnik@gmail.com>\n"
 "Language-Team: Bohdan Vlasyuk <bohdan@vstu.edu.ua>\n"
@@ -1072,8 +1072,8 @@ msgstr "    "
 msgid "%3d  %s %s  line %ld"
 msgstr "%3d %s %s    %ld"
 
-msgid "E750: First use :profile start <fname>"
-msgstr "E750:   :profile start <>"
+msgid "E750: First use \":profile start {fname}\""
+msgstr "E750:   \":profile start {}\""
 
 #, c-format
 msgid "Save changes to \"%s\"?"
@@ -1728,7 +1728,8 @@ msgstr "E513:  ,    ( 'fenc')"
 msgid ""
 "E513: write error, conversion failed in line %ld (make 'fenc' empty to "
 "override)"
-msgstr "E513:  ,      %ld ( 'fenc')"
+msgstr ""
+"E513:  ,      %ld ( 'fenc')"
 
 msgid "E514: write error (file system full?)"
 msgstr "E514:   (  ?)"
@@ -2362,7 +2363,7 @@ msgid "E621: \"%s\" resource file has wr
 msgstr "E621:     \"%s\""
 
 msgid "E673: Incompatible multi-byte encoding and character set."
-msgstr "E673:      ."
+msgstr "E673:      ."
 
 msgid "E674: printmbcharset cannot be empty with multi-byte encoding."
 msgstr ""
@@ -3185,7 +3186,10 @@ msgstr ""
 "--serverlist\t\t    Vim   "
 
 msgid "--servername <name>\tSend to/become the Vim server <name>"
-msgstr "--servername <>\t / Vim    "
+msgstr "--servername <>\t / Vim   <>"
+
+msgid "--startuptime <file>\tWrite startup timing messages to <file>"
+msgstr "--startuptime <>\t       <>"
 
 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
 msgstr "-i <viminfo>\t\t <viminfo>  .viminfo"
@@ -3194,7 +3198,7 @@ msgid "-h  or  --help\tPrint Help (this 
 msgstr "-h    --help\t    "
 
 msgid "--version\t\tPrint version information and exit"
-msgstr "--version\t\t      "
+msgstr "--version\t\t      "
 
 msgid ""
 "\n"
@@ -3246,7 +3250,7 @@ msgid "-italicfont <font>\tUse <font> fo
 msgstr "-italicfont <>\t <>   "
 
 msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)"
-msgstr "-geometry <>\t    (: -geom)"
+msgstr "-geometry <>\t    (: -geom)"
 
 msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)"
 msgstr "-borderwidth <>\t   <> (: -bw)"
@@ -4005,10 +4009,10 @@ msgid "W10: Warning: Changing a readonly
 msgstr "W10: :      "
 
 msgid "Type number and <Enter> or click with mouse (empty cancels): "
-msgstr "   <Enter>    ( ): "
+msgstr "   <Enter>    ( ): "
 
 msgid "Type number and <Enter> (empty cancels): "
-msgstr "   <Enter> ( ): "
+msgstr "   <Enter> ( ): "
 
 msgid "1 more line"
 msgstr "  "
@@ -4334,7 +4338,7 @@ msgid "E531: Use \":gui\" to start the G
 msgstr "E531:  \":gui\"   GUI"
 
 msgid "E589: 'backupext' and 'patchmode' are equal"
-msgstr "E589:  'backupext'  'patchmode' "
+msgstr "E589:  'backupext'  'patchmode' "
 
 msgid "E617: Cannot be changed in the GTK+ 2 GUI"
 msgstr "E617:     GUI GTK+ 2"
@@ -5626,7 +5630,7 @@ msgid " or more"
 msgstr "  "
 
 msgid "  Using tag with different case!"
-msgstr "   ,      "
+msgstr "   ,      "
 
 #, c-format
 msgid "E429: File \"%s\" does not exist"
@@ -6053,7 +6057,7 @@ msgid "by Bram Moolenaar et al."
 msgstr ": Bram Moolenaar  ."
 
 msgid "Vim is open source and freely distributable"
-msgstr "Vim --      "
+msgstr "Vim --      "
 
 msgid "Help poor children in Uganda!"
 msgstr "   !"
@@ -6127,7 +6131,7 @@ msgstr "E441:   "
 
 # msgstr "E441: "
 msgid "E442: Can't split topleft and botright at the same time"
-msgstr "E442:     topleft  botright"
+msgstr "E442:     topleft  botright"
 
 # msgstr "E442: "
 msgid "E443: Cannot rotate when another window is split"
--- a/src/po/uk.po
+++ b/src/po/uk.po
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: vim 7.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-09-07 15:11+0300\n"
+"POT-Creation-Date: 2010-03-06 23:51+0200\n"
 "PO-Revision-Date: 2008-03-07 13:57+0300\n"
 "Last-Translator: Анатолій Сахнік <sakhnik@gmail.com>\n"
 "Language-Team: Bohdan Vlasyuk <bohdan@vstu.edu.ua>\n"
@@ -1072,8 +1072,8 @@ msgstr "Не визначено жодної точки зупинки"
 msgid "%3d  %s %s  line %ld"
 msgstr "%3d %s %s   рядок %ld"
 
-msgid "E750: First use :profile start <fname>"
-msgstr "E750: Спочатку виконайте :profile start <файл>"
+msgid "E750: First use \":profile start {fname}\""
+msgstr "E750: Спочатку зробіть \":profile start {файл}\""
 
 #, c-format
 msgid "Save changes to \"%s\"?"
@@ -1728,7 +1728,8 @@ msgstr "E513: Помилка запису, конвертація не вдалася (скиньте 'fenc')"
 msgid ""
 "E513: write error, conversion failed in line %ld (make 'fenc' empty to "
 "override)"
-msgstr "E513: Помилка запису, конвертація не вдалася у рядку %ld (скиньте 'fenc')"
+msgstr ""
+"E513: Помилка запису, конвертація не вдалася у рядку %ld (скиньте 'fenc')"
 
 msgid "E514: write error (file system full?)"
 msgstr "E514: Помилка запису (скінчилось вільне місце?)"
@@ -2362,7 +2363,7 @@ msgid "E621: \"%s\" resource file has wr
 msgstr "E621: Неправильна версія файлу ресурсів \"%s\""
 
 msgid "E673: Incompatible multi-byte encoding and character set."
-msgstr "E673: Несумісні багатобайтове кодування та набір символів."
+msgstr "E673: Несумісні багатобайтове кодування й набір символів."
 
 msgid "E674: printmbcharset cannot be empty with multi-byte encoding."
 msgstr ""
@@ -3185,7 +3186,10 @@ msgstr ""
 "--serverlist\t\tПоказати список наявних серверів Vim і завершити роботу"
 
 msgid "--servername <name>\tSend to/become the Vim server <name>"
-msgstr "--servername <назва>\tСпілкуватися з/стати Vim сервером з такою назвою"
+msgstr "--servername <назва>\tНадіслати до/стати Vim сервером з <назвою>"
+
+msgid "--startuptime <file>\tWrite startup timing messages to <file>"
+msgstr "--startuptime <файл>\tЗаписати запускні повідомлення з часовими відмітками до <файлу>"
 
 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
 msgstr "-i <viminfo>\t\tВикористати <viminfo> замість .viminfo"
@@ -3194,7 +3198,7 @@ msgid "-h  or  --help\tPrint Help (this 
 msgstr "-h  чи  --help\tНадрукувати це повідомлення і вийти"
 
 msgid "--version\t\tPrint version information and exit"
-msgstr "--version\t\tНадрукувати інформацію про версію програми та вийти"
+msgstr "--version\t\tНадрукувати інформацію про версію програми і вийти"
 
 msgid ""
 "\n"
@@ -3246,7 +3250,7 @@ msgid "-italicfont <font>\tUse <font> fo
 msgstr "-italicfont <шрифт>\tВикористати <шрифт> для похилого тексту"
 
 msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)"
-msgstr "-geometry <геом>\tЗадати розміри та положення (також: -geom)"
+msgstr "-geometry <геом>\tЗадати розміри й положення (також: -geom)"
 
 msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)"
 msgstr "-borderwidth <товщ>\tВстановити товщину меж <товщ> (також: -bw)"
@@ -4005,10 +4009,10 @@ msgid "W10: Warning: Changing a readonly
 msgstr "W10: Увага: Змінюється файл призначений лише для читання"
 
 msgid "Type number and <Enter> or click with mouse (empty cancels): "
-msgstr "Наберіть число та <Enter> чи клацніть мишкою (порожнє скасовує): "
+msgstr "Наберіть число й <Enter> чи клацніть мишкою (порожнє скасовує): "
 
 msgid "Type number and <Enter> (empty cancels): "
-msgstr "Наберіть число та <Enter> (порожнє скасовує): "
+msgstr "Наберіть число й <Enter> (порожнє скасовує): "
 
 msgid "1 more line"
 msgstr "додано один рядок"
@@ -4334,7 +4338,7 @@ msgid "E531: Use \":gui\" to start the G
 msgstr "E531: Застосовуйте \":gui\" для запуску GUI"
 
 msgid "E589: 'backupext' and 'patchmode' are equal"
-msgstr "E589: Опції 'backupext' та 'patchmode' однакові"
+msgstr "E589: Опції 'backupext' і 'patchmode' однакові"
 
 msgid "E617: Cannot be changed in the GTK+ 2 GUI"
 msgstr "E617: Не можна змінити в GUI GTK+ 2"
@@ -5626,7 +5630,7 @@ msgid " or more"
 msgstr " або більше"
 
 msgid "  Using tag with different case!"
-msgstr "  Використовую теґ, не розрізняючи великі та малі літери"
+msgstr "  Використовую теґ, не розрізняючи великі й малі літери"
 
 #, c-format
 msgid "E429: File \"%s\" does not exist"
@@ -6053,7 +6057,7 @@ msgid "by Bram Moolenaar et al."
 msgstr "автор: Bram Moolenaar та ін."
 
 msgid "Vim is open source and freely distributable"
-msgstr "Vim -- це відкрита та вільно розповсюджувана програма"
+msgstr "Vim -- це відкрита й вільно розповсюджувана програма"
 
 msgid "Help poor children in Uganda!"
 msgstr "Допоможіть сиротам з Уганди!"
@@ -6127,7 +6131,7 @@ msgstr "E441: Немає вікна перегляду"
 
 # msgstr "E441: "
 msgid "E442: Can't split topleft and botright at the same time"
-msgstr "E442: Не зміг одночасно розбити topleft та botright"
+msgstr "E442: Не зміг одночасно розбити topleft і botright"
 
 # msgstr "E442: "
 msgid "E443: Cannot rotate when another window is split"