changeset 271:8d34af900bae v7.0072

updated for version 7.0072
author vimboss
date Wed, 18 May 2005 22:24:46 +0000
parents a20218704019
children ddada568db54
files runtime/doc/syntax.txt runtime/doc/todo.txt runtime/doc/various.txt runtime/doc/version7.txt runtime/filetype.vim runtime/indent/mma.vim runtime/plugin/gzip.vim runtime/syntax/mma.vim src/eval.c src/ex_cmds.c src/ex_cmds2.c src/option.h src/po/it.po src/syntax.c src/testdir/Make_vms.mms src/testdir/Makefile src/testdir/test56.in src/testdir/test56.ok
diffstat 18 files changed, 1303 insertions(+), 697 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.0aa.  Last change: 2005 Apr 01
+*syntax.txt*	For Vim version 7.0aa.  Last change: 2005 May 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1579,6 +1579,14 @@ 1, also in their .vimrc file (prior to s
   mv_finance	 mv_logic	mv_powseries
 
 
+MATHEMATICA			*mma.vim* *mma-syntax* *mathematica-syntax*
+
+Empty *.m files will automatically be presumed to be Matlab files unless you
+have the following in your .vimrc: >
+
+	let filetype_m = "mma"
+
+
 MOO						*moo.vim* *moo-syntax*
 
 If you use C-style comments inside expressions and find it mangles your
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Apr 24
+*todo.txt*      For Vim version 7.0aa.  Last change: 2005 May 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,33 +30,46 @@ be worked on, but only if you sponsor Vi
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-This doesn't work: "a[var1:var2]".  Requires space before/after ':'.  Can this
-be fixed?  Otherwise document it.
-
-regmatch(): "regstack" could start with a fixed block of data for speed.
-"backpos" is never freed. (Alexei Alexandrov)
-
-Starting without any buffers, set nocp, ":b <Tab>" gives error message.
-(Ciaran McCressh for Aron Griffis)
-
 Problem with 'insertmode'. (Georg Dahn, 2005 April 9, expl. April 14)
 Problem with CTRL-V pasting more than one line. (Georg Dahn, 2005 April 11)
 
 Patch for setqflist() (Yegappan Lakshmanan, 2005 April 11)
 
+":help \=<Tab>" doesn't find "sub-replace-\=".
+
 In an errorfile expand "~/" to home directory. (Arnout Engelen)
 
 Patch for 2html.vim to disable folding (Michael Schaap, 2005 April 12)
 
 Win32: Alt-F10 no longer working? (Bill McCarthy, April 18)
 
+Patch for if_python to make exit work better with threads. (ugo)
+
 With "wa" in 'formatoptions', backspace at start-of-line doesn't work.  It
 should delete the space at the end of the previous line. (Alan Isaac)
 
+GTK GUI: Running a script that does :vsp and :quit, causing the left scrollbar
+to appear and disappear, causes resizing. (gvcolors.vim from Charles Campbell,
+2005 April 25)
+
+Problem with ":mksession" for "vim -o "+argdel *" prog1 prog2 prog3"
+(Bill McCarthy, 2005 April 26)
+
+getreg('=') returns the result of evaluating the expression.  How to get the
+expression itself, so that it can be restored? (David Fishburn)  Perhaps use
+getreg('=', 1).  Also make setreg('=') work then.
+
+Win32: With the taskbar at the top of the screen, scrolling doesn't redraw
+properly. (Sergey Khorev, 2005 April 27)
+
 Mac unicode patch (Da Woon Jung):
 - selecting proportional font breaks display
 - UTF-8 text causes display problems.  Font replacement causes this.
 
+When 'shortmess' is empty and 'keymap' set to accents, in Insert mode CTRL-N
+may cause the hit-enter prompt.  Typing 'a then doesn't result in the accented
+character. (Ilya Dogolazky)
+
 autoload:
 - Add a Vim script in $VIMRUNTIME/tools that takes a file with a list of
   script names and a help file and produces a script that can be sourced to
@@ -74,9 +87,17 @@ Win32: Balloon text can't contain line b
     Add has("balloon_multiline")
 
 setline() should accept a List.
+
+smsg() uses IObuff.  The checks for the result not fitting are complicated,
+find another solution.  Add vsnprintf() and snprintf() functions?
+    http://www.ijs.si/software/snprintf/
+
 Add ":[range]sort" command.  Sort on specified field, using a regexp?  Remove
 duplicates?
 
+Patch to alternate fold highlighting.  (Anthony Iano-Fletcher, 2005 May 12)
+More levels?
+
 Awaiting response:
 -   Patch for mch_FullName() also in Vim 6.3?  os_mswin.c
 -   Win32: tearoff menu window should have a scrollbar when it's taller than
@@ -90,6 +111,8 @@ PLANNED FOR VERSION 7.0:
 
 -   Add SPELLCHECKER, with support for many languages.
     - Use "engspchk" from Charles Campbell for ideas.
+    - Is it worth trying the trie structure (see code from Olaf Seibert, 2005
+      May 9)
     - Spell checking code todo's:
 	- Implement user and project word lists.  Commands to add words and to
 	  mark words as wrong.
@@ -265,6 +288,9 @@ 7   Make ":startinsert" command work dir
 
 Adjust src/main.aap for installing manpages like in Makefile.
 
+Also generate the .pdb file that can be used to generate a useful crash report
+on MS-Windows. (George Reilly)
+
 Add strtol() to avoid the problems with leading zero causing octal conversion.
 
 Try new POSIX tests, made after my comments. (Geoff Clare, 2005 April 7)
@@ -323,8 +349,6 @@ Updated Ruby interface. (Ryan Paul)
 
 Awaiting updated patches:
     --- awaiting updated patch ---
-    8   Add GTK 2.3 file dialog support.  Patch by Grahame Bowland, 2004 Mar
-	15, but it doesn't use "initdir" or "dflt". (will update patch)
     8   Add ":n" to fnamemodify(): normalize path, remove "../" when possible.
 	Aric Blumer has a patch for this.
 	He will update the patch for 6.3.
@@ -2104,6 +2128,7 @@ 7   For autocommand events that trigger 
     changing the buffer name.
 8   Add ScriptReadCmd event: used to load remote Vim scripts, e.g.
     "vim -u http://mach/path/vimrc".
+7   Add TagJump event: do something after jumping to a tag.
 8   Use another option than 'updatetime' for the CursorHold event.  The two
     things are unrelated for the user (but the implementation is more
     difficult).
@@ -2786,7 +2811,7 @@ 6   Support multiple search buffers, so 
 7   From xvim: Allow a newline in search patterns (also for :s, can delete
     newline).  Add BOW, EOW, NEWL, NLORANY, NLBUTANY, magic 'n' and 'r', etc.
     [not in xvim:] Add option to switch on matches crossing ONE line boundary.
-7   Add ":iselect", a combination of ":ilist" and ":tselect". (Aaron)
+7   Add ":iselect", a combination of ":ilist" and ":tselect". (Aaron) (Zellner)
     Also ":dselect".
 
 
@@ -3334,8 +3359,6 @@ 6   Add ":che <file>", list all the incl
     changes all together instead of for each command (e.g. for the rot13
     macro).
 -   Add command like "[I" that also shows the tree of included files.
--   Add command like ":ts" that shows the output of "[I" and asks for a match
-    to jump to. (Zellner)
 -   ":set sm^L" results in ":set s", because short names of options are also
     expanded.  Is there a better way to do this?
 -   Add ":@!" command, to ":@" like what ":source!" is to ":source".
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -400,13 +400,13 @@ N  *+X11*		Unix only: can restore window
 :redi[r] @{a-zA-Z}	Redirect messages to register {a-z}.  Append to the
 			contents of the register if its name is given
 			uppercase {A-Z}.  {not in Vi}
-:redi[r] @{a-z}>	Append messages to register {a-z}. {not in Vi}
+:redi[r] @{a-z}>>	Append messages to register {a-z}. {not in Vi}
 
 :redi[r] @*		Redirect messages to the clipboard. {not in Vi}
-:redi[r] @*>		Append messages to the clipboard. {not in Vi}
+:redi[r] @*>>		Append messages to the clipboard. {not in Vi}
 
 :redi[r] @"		Redirect messages to the unnamed register. {not in Vi}
-:redi[r] @">		Append messages to the unnamed register. {not in Vi}
+:redi[r] @">>		Append messages to the unnamed register. {not in Vi}
 
 :redi[r] => {var}	Redirect messages to a variable.  If the variable
 			doesn't exist, then it is created.  If the variable
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0aa.  Last change: 2005 Apr 24
+*version7.txt*  For Vim version 7.0aa.  Last change: 2005 May 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -619,6 +619,9 @@ window.
 
 Added the "%s" item to 'errorformat'. (Yegappan Lakshmanan)
 
+GTK GUI: use the GTK file dialog when it's available.  Mix from patches by
+Grahame Bowland and Evan Webb.
+
 ==============================================================================
 COMPILE TIME CHANGES					*compile-changes-7*
 
@@ -1059,4 +1062,10 @@ we find the same position again and adva
 When in diff mode and making a change that causes the "changed" highlighting
 to disappear or reappear, it was still highlighted in another window.
 
+When a ":next" command fails because the user selects "Abort" at the ATTENTION
+prompt the argument index was advanced anyway.
+
+When "~" is in 'iskeyword' the "gd" doesn't work, it's used for the previous
+substitute pattern.  Put "\V" in the pattern to avoid that.
+
  vim:tw=78:ts=8:ft=help:norl:
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2005 Apr 13
+" Last Change:	2005 May 18
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -822,7 +822,11 @@ fun! s:FTm()
     endif
     let n = n + 1
   endwhile
-  setf matlab
+  if exists("g:filetype_m")
+    exe "setf " . g:filetype_m
+  else
+    setf matlab
+  endif
 endfun
 
 " Maya Extension Language
@@ -1435,8 +1439,14 @@ au BufNewFile,BufRead *.il			setf skill
 au BufNewFile,BufRead .slrnrc			setf slrnrc
 au BufNewFile,BufRead *.score			setf slrnsc
 
-" Smalltalk
-au BufNewFile,BufRead *.st,*.cls		setf st
+" Smalltalk (and TeX)
+au BufNewFile,BufRead *.st			setf st
+au BufNewFile,BufRead *.cls
+	\ if getline(1) =~ '^%' |
+	\  setf tex |
+	\ else |
+	\  setf st |
+	\ endif
 
 " Smarty templates
 au BufNewFile,BufRead *.tpl			setf smarty
new file mode 100644
--- /dev/null
+++ b/runtime/indent/mma.vim
@@ -0,0 +1,75 @@
+" Vim indent file
+" Language:     Mathematica
+" Author:       steve layland <layland@wolfram.com>
+" Last Change:  Sat May  10 18:56:22 CDT 2005
+" Source:       http://vim.sourceforge.net/scripts/script.php?script_id=1274
+"               http://members.wolfram.com/layland/vim/indent/mma.vim
+"
+" NOTE:
+" Empty .m files will automatically be presumed to be Matlab files
+" unless you have the following in your .vimrc:
+"
+"       let filetype_m="mma"
+"
+" Credits:
+" o steve hacked this out of a random indent file in the Vim 6.1 
+"   distribution that he no longer remembers...sh.vim?  Thanks!
+
+" Only load this indent file when no other was loaded.
+if exists("b:did_indent")
+    finish
+endif
+let b:did_indent = 1
+
+setlocal indentexpr=GetMmaIndent()
+setlocal indentkeys+=0[,0],0(,0)
+setlocal nosi "turn off smart indent so we don't over analyze } blocks
+
+if exists("*GetMmaIndent")
+    finish
+endif
+
+function GetMmaIndent()
+   
+    " Hit the start of the file, use zero indent.
+    if v:lnum == 0
+        return 0
+    endif
+
+     " Find a non-blank line above the current line.
+    let lnum = prevnonblank(v:lnum - 1)
+   
+    " use indenting as a base 
+    let ind = indent(v:lnum)
+    let lnum = v:lnum
+    
+    " if previous line has an unmatched bracket, or ( indent.
+    " doesn't do multiple parens/blocks/etc...
+    
+    " also, indent only if this line if this line isn't starting a new
+    " block... TODO - fix this with indentkeys?
+    if getline(v:lnum-1) =~ '\\\@<!\%(\[[^\]]*\|([^)]*\|{[^}]*\)$' && getline(v:lnum) !~ '\s\+[\[({]'
+        let ind = ind+&sw
+    endif
+
+    " if this line had unmatched closing block, 
+    " indent to the matching opening block
+    if getline(v:lnum) =~ '[^[]*]\s*$'
+        " move to the closing bracket
+        call search(']','bW')
+        " and find it's partner's indent
+        let ind = indent(searchpair('\[','',']','bWn'))
+    " same for ( blocks
+    elseif getline(v:lnum) =~ '[^(]*)$'
+        call search(')','bW')
+        let ind = indent(searchpair('(','',')','bWn'))
+
+    " and finally, close { blocks if si ain't already set
+    elseif getline(v:lnum) =~ '[^{]*}'
+        call search('}','bW')
+        let ind = indent(searchpair('{','','}','bWn'))
+    endif
+
+    return ind
+endfunction
+
--- a/runtime/plugin/gzip.vim
+++ b/runtime/plugin/gzip.vim
@@ -1,6 +1,6 @@
 " Vim plugin for editing compressed files.
 " Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2005 Mar 24
+" Last Change: 2005 May 18
 
 " Exit quickly when:
 " - this plugin was already loaded
@@ -48,12 +48,41 @@ fun s:check(cmd)
   exe "return s:have_" . name
 endfun
 
+" Set b:gzip_comp_arg to the gzip argument to be used for compression, based on
+" the flags in the compressed file.
+" The only compression methods that can be detected are max speed (-1) and max
+" compression (-9).
+fun s:set_compression(line)
+  " get the Compression Method
+  let l:cm = char2nr(a:line[2])
+  " if it's 8 (DEFLATE), we can check for the compression level
+  if l:cm == 8
+    " get the eXtra FLags
+    let l:xfl = char2nr(a:line[8])
+    " max compression
+    if l:xfl == 2
+      let b:gzip_comp_arg = "-9"
+    " min compression
+    elseif l:xfl == 4
+      let b:gzip_comp_arg = "-1"
+    endif
+  endif
+endfun
+
+
 " After reading compressed file: Uncompress text in buffer with "cmd"
 fun s:read(cmd)
   " don't do anything if the cmd is not supported
   if !s:check(a:cmd)
     return
   endif
+
+  " for gzip check current compression level and set b:gzip_comp_arg.
+  silent! unlet b:gzip_comp_arg
+  if a:cmd[0] == 'g'
+    call s:set_compression(getline(1))
+  endif
+
   " make 'patchmode' empty, we don't want a copy of the written file
   let pm_save = &pm
   set pm=
@@ -121,7 +150,11 @@ fun s:write(cmd)
     let nm = resolve(expand("<afile>"))
     let nmt = s:tempname(nm)
     if rename(nm, nmt) == 0
-      call system(a:cmd . " " . nmt)
+      if exists("b:gzip_comp_arg")
+	call system(a:cmd . " " . b:gzip_comp_arg . " " . nmt)
+      else
+	call system(a:cmd . " " . nmt)
+      endif
       call rename(nmt . "." . expand("<afile>:e"), nm)
     endif
   endif
@@ -131,8 +164,15 @@ endfun
 fun s:appre(cmd)
   " don't do anything if the cmd is not supported
   if s:check(a:cmd)
+    let nm = expand("<afile>")
+
+    " for gzip check current compression level and set b:gzip_comp_arg.
+    silent! unlet b:gzip_comp_arg
+    if a:cmd[0] == 'g'
+      call s:set_compression(readfile(nm, "b", 1)[0])
+    endif
+
     " Rename to a weird name to avoid the risk of overwriting another file
-    let nm = expand("<afile>")
     let nmt = expand("<afile>:p:h") . "/X~=@l9q5"
     let nmte = nmt . "." . expand("<afile>:e")
     if rename(nm, nmte) == 0
--- a/runtime/syntax/mma.vim
+++ b/runtime/syntax/mma.vim
@@ -1,41 +1,229 @@
 " Vim syntax file
 " Language:     Mathematica
-" Maintainer:   Wolfgang Waltenberger <wwalten@ben.tuwien.ac.at>
-" Last Change:  Thu 26 Apr 2001 13:20:03 CEST
+" Maintainer:   steve layland <layland@wolfram.com>
+" Last Change:  Tue May 10 18:31:00 CDT 2005
+" Source:       http://vim.sourceforge.net/scripts/script.php?script_id=1273
+"               http://members.wri.com/layland/vim/syntax/mma.vim
+"
+" NOTE:
+" Empty .m files will automatically be presumed as Matlab files
+" unless you have the following in your .vimrc:
+"
+"       let filetype_m="mma"
+"
+" I also recommend setting the default 'Comment' hilighting to something
+" other than the color used for 'Function', since both are plentiful in
+" most mathematica files, and they are often the same color (when using 
+" background=dark).  I use
+"
+"   hi Comment ctermfg=darkcyan
+"   
+" darkgreen also looks good on my terminal.
+"
+" Credits:
+" o  Original Mathematica syntax version written by
+"    Wolfgang Waltenberger <wwalten@ben.tuwien.ac.at>
+" o  Some ideas like the CommentStar,CommentTitle were adapted
+"    from the Java vim syntax file by Claudio Fleiner.  Thanks!
+" o  Everything else written by steve <layland@wolfram.com>
+"
+" TODO:
+"   folding
+"   fix nesting
+"   finish populating popular symbols
 
 if version < 600
 	syntax clear
 elseif exists("b:current_syntax")
-	finish
+    finish
 endif
 
-syn match mmaError "\*)"
-syn match mmaFixme "FIXME"
-syn region mmaComment start=+(\*+ end=+\*)+ skipempty contains=mmaFixme
-syn match mmaMessage "\a*::\a*"
-syn region mmaString start=+'+    end=+'+
-syn region mmaString start=+"+    end=+"+
-syn region mmaString start=+\\\"+ end=+\"+
-syn region mmaString start=+\"+   end=+\"+
+" Group Definitions:
+syntax cluster mmaNotes contains=mmaTodo,mmaFixme
+syntax cluster mmaComments contains=mmaComment,mmaFunctionComment,mmaItem,mmaFunctionTitle,mmaCommentStar
+syntax cluster mmaCommentStrings contains=mmaLooseQuote,mmaCommentString,mmaUnicode
+syntax cluster mmaStrings contains=@mmaCommentStrings,mmaString
+syntax cluster mmaTop contains=mmaOperator,mmaGenericFunction,mmaPureFunction,mmaVariable
+
+" Variables:
+"   Dollar sign variables
+syntax match mmaVariable "$\a\+\d*"
+"   Preceding contexts
+syntax match mmaVariable "`\=\a\+\d*`"
+
+" Numbers:
+syntax match mmaNumber "\<\%(\d\+\.\=\d*\|\d*\.\=\d\+\)\>"
+syntax match mmaNumber "`\d\+\>"
+
+" Predefined Constants:
+"   to list all predefined Symbols would be too insane...
+"   it's probably smarter to define a select few, and get the rest from
+"   context if absolutely necessary.
+"   TODO - populate this with other often used Symbols
+
+" standard fixed symbols:
+syntax keyword mmaVariable True False None Automatic All Null C General
+
+" mathematical constants:
+syntax keyword mmaVariable Pi I E Infinity ComplexInfinity Indeterminate GoldenRatio EulerGamma Degree Catalan Khinchin Glaisher 
+
+" stream data / atomic heads:
+syntax keyword mmaVariable Byte Character Expression Number Real String Word EndOfFile Integer Symbol
+
+" sets:
+syntax keyword mmaVariable Integers Complexes Reals Booleans Rationals
+
+" character classes:
+syntax keyword mmaPattern DigitCharacter LetterCharacter WhitespaceCharacter WordCharacter EndOfString StartOfString EndOfLine StartOfLine WordBoundary
+
+" SelectionMove directions/units:
+syntax keyword mmaVariable Next Previous After Before Character Word Expression TextLine CellContents Cell CellGroup EvaluationCell ButtonCell GeneratedCell Notebook
+syntax keyword mmaVariable CellTags CellStyle CellLabel
+
+" TableForm positions:
+syntax keyword mmaVariable Above Below Left Right
 
-syn match mmaVariable "$\a*"
+" colors:
+syntax keyword mmaVariable Black Blue Brown Cyan Gray Green Magenta Orange Pink Purple Red White Yellow
+
+" function attributes
+syntax keyword mmaVariable Protected Listable OneIdentity Orderless Flat Constant NumericFunction Locked ReadProtected HoldFirst HoldRest HoldAll HoldAllComplete SequenceHold NHoldFirst NHoldRest NHoldAll Temporary Stub 
+
+" Strings:
+"   "string"
+"   'string' is not accepted (until literal strings are supported!)
+syntax region mmaString start=+\\\@<!"+ skip=+\\\@<!\\\%(\\\\\)*"+ end=+"+
+syntax region mmaCommentString oneline start=+\\\@<!"+ skip=+\\\@<!\\\%(\\\\\)*"+ end=+"+ contained
+
+" Function Usage Messages:
+"   "SymbolName::item"
+syntax match mmaMessage "$\=\a\+\d*::\a\+\d*"
+
+" Pure Functions:
+syntax match mmaPureFunction "#\%(#\|\d\+\)\="
+syntax match mmaPureFunction "&"
+
+" Named Functions:
+" Since everything is pretty much a function, get this straight 
+" from context
+syntax match mmaGenericFunction "[A-Za-z0-9`]\+\s*\%([@[]\|/:\|/\=/@\)\@=" contains=mmaOperator
+syntax match mmaGenericFunction "\~\s*[^~]\+\s*\~"hs=s+1,he=e-1 contains=mmaOperator,mmaBoring
+syntax match mmaGenericFunction "//\s*[A-Za-z0-9`]\+"hs=s+2 contains=mmaOperator
+ 
+" Comment Keywords:
+syntax keyword mmaTodo TODO NOTE HEY contained
+syntax match mmaTodo "X\{3,}" contained
+syntax keyword mmaFixme FIX[ME] FIXTHIS BROKEN contained
+" yay pirates...
+syntax match mmaFixme "\%(Y\=A\+R\+G\+\|GRR\+\|CR\+A\+P\+\)\%(!\+\)\=" contained
+syntax match mmaemPHAsis "\(_\+\)[ a-zA-Z0-9]\+\1" contained
+
+" Comment Sections:
+"   this:
+"   :that:
+syntax match mmaItem "\%(^[( |*\t]*\)\@<=\%(:\+\|\a\)[a-zA-Z0-9 ]\+:" contained contains=@mmaNotes
+
+" Actual Mathematica Comments:
+"   (* *)
+"   allow nesting (* (* *) *) even though the frontend
+"   won't always like it.
+syntax region mmaComment start=+(\*+ end=+\*)+ skipempty contains=@mmaNotes,mmaItem,@mmaCommentStrings,mmaemPHAsis,mmaComment
 
-syn match mmaPattern "[A-Za-z01-9`]*_\{1,3}"
-syn match mmaPattern "[A-Za-z01-9`]*_\{1,3}\(Integer\|Real\|Pattern\|Symbol\)"
-syn match mmaPattern "[A-Za-z01-9`]*_\{1,3}\(Rational\|Complex\|Head\)"
-syn match mmaPattern "[A-Za-z01-9`]*_\{1,3}?[A-Za-z01-9`]*"
+" Function Comments:
+"   just like a normal comment except the first sentance is Special ala Java
+"   (** *)
+"   TODO - fix this for nesting, or not...
+syntax region mmaFunctionComment start="(\*\*\+" end="\*\+)" contains=@mmaNotes,mmaItem,mmaFunctionTitle,@mmaCommentStrings,mmaemPHAsis,mmaComment
+syntax region mmaFunctionTitle contained matchgroup=mmaFunctionComment start="\%((\*\*[ *]*\)" matchgroup=mmaFunctionTitle keepend end=".[.!-]\=\s*$" end="[.!-][ \t\r<&]"me=e-1 end="\%(\*\+)\)\@=" contained contains=@mmaNotes,mmaItem,mmaCommentStar
+
+" catch remaining (**********)'s
+syntax match mmaComment "(\*\*\+)"
+" catch preceding *
+syntax match mmaCommentStar "^\s*\*\+" contained
+
+" Patterns:
+"   Each pattern marker below can be Blank[] (_), BlankSequence[] (__)
+"   or BlankNullSequence[] (___).  Most examples below can also be 
+"   combined, for example Pattern tests with Default values.
+"   
+"   _Head                   Anonymous patterns
+"   name_Head 
+"   name:(_Head|_Head2)     Named patterns
+"    
+"   _Head : val
+"   name:_Head:val          Default values
+"
+"   _Head?testQ, 
+"   _Head?(test[#]&)        Pattern tests
+"
+"   name_Head/;test[name]   Conditionals
+"   
+"   _Head:.                 Predefined Default
+"
+"   .. ...                  Pattern Repeat
+   
+syntax match mmaPatternError "\%(_\{4,}\|)\s*&\s*)\@!\)" contained
+
+"pattern name:
+syntax match mmaPattern "[A-Za-z0-9`]\+\s*:\+[=>]\@!" contains=mmaOperator
+"pattern default:
+syntax match mmaPattern ": *[^ ,]\+[\], ]\@=" contains=@mmaCommentStrings,@mmaTop,mmaOperator
+"pattern head/test:
+syntax match mmaPattern "[A-Za-z0-9`]*_\+\%(\a\+\)\=\%(?([^)]\+)\|?[^\]},]\+\)\=" contains=@mmaTop,@mmaCommentStrings,mmaPatternError
 
-" prefix/infix/postfix notations
-syn match mmaGenericFunction "[A-Za-z01-9`]*\s*\(\[\|@\)"he=e-1
-syn match mmaGenericFunction "[A-Za-z01-9`]*\s*\(/@\|@@\)"he=e-2
-syn match mmaGenericFunction "\~\s*[A-Za-z01-9`]*\s*\~"hs=s+1,he=e-1
-syn match mmaGenericFunction "//\s*[A-Za-z01-9`]*"hs=s+2
-syn match mmaOperator "/;"
+" Operators:
+"   /: ^= ^:=   UpValue
+"   /;          Conditional
+"   := =        DownValue
+"   == === ||
+"   != =!= &&   Logic
+"   >= <= < >
+"   += -= *=
+"   /= ++ --    Math
+"   ^* 
+"   -> :>       Rules
+"   @@ @@@      Apply
+"   /@ //@      Map
+"   /. //.      Replace
+"   // @        Function application
+"   <> ~~       String/Pattern join
+"   ~           infix operator
+"   . :         Pattern operators
+syntax match mmaOperator "\%(@\{1,3}\|//[.@]\=\)"
+syntax match mmaOperator "\%(/[;:@.]\=\|\^\=:\==\)"
+syntax match mmaOperator "\%([-:=]\=>\|<=\=\)"
+"syntax match mmaOperator "\%(++\=\|--\=\|[/+-*]=\|[^*]\)"
+syntax match mmaOperator "[*+=^.:?-]"
+syntax match mmaOperator "\%(\~\~\=\)"
+syntax match mmaOperator "\%(=\{2,3}\|=\=!=\|||\=\|&&\|!\)" contains=ALLBUT,mmaPureFunction
 
-syn match mmaPureFunction "#\d*"
-syn match mmaPureFunction "&"
+  
+" Special Characters:
+"   \[Name]     named character
+"   \ooo        octal
+"   \.xx        2 digit hex
+"   \:xxxx      4 digit hex (multibyte unicode)
+syntax match mmaUnicode "\\\[\w\+\d*\]"
+syntax match mmaUnicode "\\\%(\x\{3}\|\.\x\{2}\|:\x\{4}\)"
+
+" Syntax Errors:
+syntax match mmaError "\*)" containedin=ALLBUT,@mmaComments,@mmaStrings
+syntax match mmaError "\%([&:|+*/?~-]\{3,}\|[.=]\{4,}\|_\@<=\.\{2,}\|`\{2,}\)" containedin=ALLBUT,@mmaComments,@mmaStrings
 
-syn match mmaUnicode "\\\[[a-zA-Z01-9]*\]"
+" Punctuation:
+" things that shouldn't really be highlighted, or highlighted 
+" in they're own group if you _really_ want. :)
+"  ( ) { }
+" TODO - use Delimiter group?
+syntax match mmaBoring "[(){}]" contained
+
+" Function Arguments:
+"   anything between brackets []
+"   TODO - make good folds for this.
+"syntax region mmaArgument start="\[" end="]" containedin=ALLBUT,@mmaComments,@mmaCommentStrings transparent fold
+"syntax sync fromstart
+"set foldmethod=syntax
+"set foldminlines=10
 
 if version >= 508 || !exists("did_mma_syn_inits")
 	if version < 508
@@ -45,17 +233,33 @@ if version >= 508 || !exists("did_mma_sy
 		command -nargs=+ HiLink hi def link <args>
 	endif
 
-	HiLink mmaOperator	   Operator
-	HiLink mmaVariable	   Identifier
-	HiLink mmaString	   String
-	HiLink mmaUnicode	   String
-	HiLink mmaMessage	   Identifier
-	HiLink mmaPattern	   Identifier
-	HiLink mmaGenericFunction  Function
-	HiLink mmaError		   Error
-	HiLink mmaFixme		   Error
-	HiLink mmaComment	   Comment
-	HiLink mmaPureFunction	   Operator
+    " NOTE - the following links are not guaranteed to 
+    " look good under all colorschemes.  You might need to 
+    " :so $VIMRUNTIME/syntax/hitest.vim and tweak these to
+    " look good in yours
+
+    HiLink mmaComment           Comment
+    HiLink mmaCommentStar       Comment
+    HiLink mmaFunctionComment   Comment
+    HiLink mmaLooseQuote        Comment
+	HiLink mmaGenericFunction   Function
+	HiLink mmaOperator          Operator
+    HiLink mmaPatternOp         Operator
+	HiLink mmaPureFunction      Operator
+	HiLink mmaVariable          Identifier
+	HiLink mmaString            String
+    HiLink mmaCommentString     String
+	HiLink mmaUnicode           String
+	HiLink mmaMessage           Type
+    HiLink mmaNumber            Type
+	HiLink mmaPattern           Type
+	HiLink mmaError             Error
+	HiLink mmaFixme             Error
+    HiLink mmaPatternError      Error
+    HiLink mmaTodo              Todo
+    HiLink mmaemPHAsis          Special
+    HiLink mmaFunctionTitle     Special
+    HiLink mmaItem              Preproc
 
 	delcommand HiLink
 endif
--- a/src/eval.c
+++ b/src/eval.c
@@ -580,8 +580,12 @@ static pos_T *var2fpos __ARGS((typval_T 
 static int get_env_len __ARGS((char_u **arg));
 static int get_id_len __ARGS((char_u **arg));
 static int get_name_len __ARGS((char_u **arg, char_u **alias, int evaluate, int verbose));
-static char_u *find_name_end __ARGS((char_u *arg, char_u **expr_start, char_u **expr_end, int incl_br));
+static char_u *find_name_end __ARGS((char_u *arg, char_u **expr_start, char_u **expr_end, int flags));
+#define FNE_INCL_BR	1	/* find_name_end(): include [] in name */
+#define FNE_CHECK_START	2	/* find_name_end(): check name starts with
+				   valid character */
 static int eval_isnamec __ARGS((int c));
+static int eval_isnamec1 __ARGS((int c));
 static int get_var_tv __ARGS((char_u *name, int len, typval_T *rettv, int verbose));
 static int handle_subscript __ARGS((char_u **arg, typval_T *rettv, int evaluate, int verbose));
 static typval_T *alloc_tv __ARGS((void));
@@ -650,7 +654,7 @@ static void list_vim_vars __ARGS((void))
 static char_u *list_arg_vars __ARGS((exarg_T *eap, char_u *arg));
 static char_u *ex_let_one __ARGS((char_u *arg, typval_T *tv, int copy, char_u *endchars, char_u *op));
 static int check_changedtick __ARGS((char_u *arg));
-static char_u *get_lval __ARGS((char_u *name, typval_T *rettv, lval_T *lp, int unlet, int skip, int quiet));
+static char_u *get_lval __ARGS((char_u *name, typval_T *rettv, lval_T *lp, int unlet, int skip, int quiet, int fne_flags));
 static void clear_lval __ARGS((lval_T *lp));
 static void set_var_lval __ARGS((lval_T *lp, char_u *endp, typval_T *rettv, int copy, char_u *op));
 static int tv_op __ARGS((typval_T *tv1, typval_T *tv2, char_u  *op));
@@ -663,6 +667,9 @@ static int do_lock_var __ARGS((lval_T *l
 static void item_lock __ARGS((typval_T *tv, int deep, int lock));
 static int tv_islocked __ARGS((typval_T *tv));
 
+/* Character used as separated in autoload function/variable names. */
+#define AUTOLOAD_CHAR '#'
+
 /*
  * Initialize the global and v: variables.
  */
@@ -792,7 +799,7 @@ var_redir_start(name, append)
     typval_T	tv;
 
     /* Make sure a valid variable name is specified */
-    if (!eval_isnamec(*name) || VIM_ISDIGIT(*name))
+    if (!eval_isnamec1(*name))
     {
 	EMSG(_(e_invarg));
 	return FAIL;
@@ -810,7 +817,8 @@ var_redir_start(name, append)
     }
 
     /* Parse the variable name (can be a dict or list entry). */
-    redir_endp = get_lval(redir_varname, NULL, redir_lval, FALSE, FALSE, FALSE);
+    redir_endp = get_lval(redir_varname, NULL, redir_lval, FALSE, FALSE, FALSE,
+							     FNE_CHECK_START);
     if (redir_endp == NULL || redir_lval->ll_name == NULL || *redir_endp != NUL)
     {
 	if (redir_endp != NULL && *redir_endp != NUL)
@@ -1551,7 +1559,7 @@ skip_var_one(arg)
 {
     if (vim_strchr((char_u *)"$@&", *arg) != NULL)
 	++arg;
-    return find_name_end(arg, NULL, NULL, TRUE);
+    return find_name_end(arg, NULL, NULL, FNE_INCL_BR | FNE_CHECK_START);
 }
 
 /*
@@ -1643,7 +1651,7 @@ list_arg_vars(eap, arg)
     {
 	if (error || eap->skip)
 	{
-	    arg = find_name_end(arg, NULL, NULL, TRUE);
+	    arg = find_name_end(arg, NULL, NULL, FNE_INCL_BR | FNE_CHECK_START);
 	    if (!vim_iswhite(*arg) && !ends_excmd(*arg))
 	    {
 		emsg_severe = TRUE;
@@ -1888,11 +1896,11 @@ ex_let_one(arg, tv, copy, endchars, op)
      * ":let var = expr": Set internal variable.
      * ":let {expr} = expr": Idem, name made with curly braces
      */
-    else if ((eval_isnamec(*arg) && !VIM_ISDIGIT(*arg)) || *arg == '{')
+    else if (eval_isnamec1(*arg) || *arg == '{')
     {
 	lval_T	lv;
 
-	p = get_lval(arg, tv, &lv, FALSE, FALSE, FALSE);
+	p = get_lval(arg, tv, &lv, FALSE, FALSE, FALSE, FNE_CHECK_START);
 	if (p != NULL && lv.ll_name != NULL)
 	{
 	    if (endchars != NULL && vim_strchr(endchars, *skipwhite(p)) == NULL)
@@ -1942,13 +1950,14 @@ check_changedtick(arg)
  * Returns NULL for a parsing error.  Still need to free items in "lp"!
  */
     static char_u *
-get_lval(name, rettv, lp, unlet, skip, quiet)
+get_lval(name, rettv, lp, unlet, skip, quiet, fne_flags)
     char_u	*name;
     typval_T	*rettv;
     lval_T	*lp;
     int		unlet;
     int		skip;
     int		quiet;	    /* don't give error messages */
+    int		fne_flags;  /* flags for find_name_end() */
 {
     char_u	*p;
     char_u	*expr_start, *expr_end;
@@ -1969,11 +1978,11 @@ get_lval(name, rettv, lp, unlet, skip, q
     {
 	/* When skipping just find the end of the name. */
 	lp->ll_name = name;
-	return find_name_end(name, NULL, NULL, TRUE);
+	return find_name_end(name, NULL, NULL, FNE_INCL_BR | fne_flags);
     }
 
     /* Find the end of the name. */
-    p = find_name_end(name, &expr_start, &expr_end, FALSE);
+    p = find_name_end(name, &expr_start, &expr_end, fne_flags);
     if (expr_start != NULL)
     {
 	/* Don't expand the name when we already know there is an error. */
@@ -2842,7 +2851,8 @@ ex_unletlock(eap, argstart, deep)
     do
     {
 	/* Parse the name and find the end. */
-	name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error, FALSE);
+	name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error, FALSE,
+							     FNE_CHECK_START);
 	if (lv.ll_name == NULL)
 	    error = TRUE;	    /* error but continue parsing */
 	if (name_end == NULL || (!vim_iswhite(*name_end)
@@ -10178,7 +10188,8 @@ f_islocked(argvars, rettv)
     dictitem_T	*di;
 
     rettv->vval.v_number = -1;
-    end = get_lval(get_tv_string(&argvars[0]), NULL, &lv, FALSE, FALSE, FALSE);
+    end = get_lval(get_tv_string(&argvars[0]), NULL, &lv, FALSE, FALSE, FALSE,
+							     FNE_CHECK_START);
     if (end != NULL && lv.ll_name != NULL)
     {
 	if (*end != NUL)
@@ -13967,7 +13978,8 @@ get_name_len(arg, alias, evaluate, verbo
     /*
      * Find the end of the name; check for {} construction.
      */
-    p = find_name_end(*arg, &expr_start, &expr_end, FALSE);
+    p = find_name_end(*arg, &expr_start, &expr_end,
+					       len > 0 ? 0 : FNE_CHECK_START);
     if (expr_start != NULL)
     {
 	char_u	*temp_string;
@@ -14002,15 +14014,16 @@ get_name_len(arg, alias, evaluate, verbo
  * Find the end of a variable or function name, taking care of magic braces.
  * If "expr_start" is not NULL then "expr_start" and "expr_end" are set to the
  * start and end of the first magic braces item.
+ * "flags" can have FNE_INCL_BR and FNE_CHECK_START.
  * Return a pointer to just after the name.  Equal to "arg" if there is no
  * valid name.
  */
     static char_u *
-find_name_end(arg, expr_start, expr_end, incl_br)
+find_name_end(arg, expr_start, expr_end, flags)
     char_u	*arg;
     char_u	**expr_start;
     char_u	**expr_end;
-    int		incl_br;	/* Include [] indexes and .name */
+    int		flags;
 {
     int		mb_nest = 0;
     int		br_nest = 0;
@@ -14022,10 +14035,14 @@ find_name_end(arg, expr_start, expr_end,
 	*expr_end = NULL;
     }
 
+    /* Quick check for valid starting character. */
+    if ((flags & FNE_CHECK_START) && !eval_isnamec1(*arg) && *arg != '{')
+	return arg;
+
     for (p = arg; *p != NUL
 		    && (eval_isnamec(*p)
 			|| *p == '{'
-			|| (incl_br && (*p == '[' || *p == '.'))
+			|| ((flags & FNE_INCL_BR) && (*p == '[' || *p == '.'))
 			|| mb_nest != 0
 			|| br_nest != 0); ++p)
     {
@@ -14108,7 +14125,7 @@ make_expanded_name(in_start, expr_start,
 
     if (retval != NULL)
     {
-	temp_result = find_name_end(retval, &expr_start, &expr_end, FALSE);
+	temp_result = find_name_end(retval, &expr_start, &expr_end, 0);
 	if (expr_start != NULL)
 	{
 	    /* Further expansion! */
@@ -14130,7 +14147,18 @@ make_expanded_name(in_start, expr_start,
 eval_isnamec(c)
     int	    c;
 {
-    return (ASCII_ISALNUM(c) || c == '_' || c == ':');
+    return (ASCII_ISALNUM(c) || c == '_' || c == ':' || c == AUTOLOAD_CHAR);
+}
+
+/*
+ * Return TRUE if character "c" can be used as the first character in a
+ * variable or function name (excluding '{' and '}').
+ */
+    static int
+eval_isnamec1(c)
+    int	    c;
+{
+    return (ASCII_ISALPHA(c) || c == '_');
 }
 
 /*
@@ -14729,8 +14757,8 @@ find_var_ht(name, varname)
 {
     if (name[1] != ':')
     {
-	/* The name must not start with a colon. */
-	if (name[0] == ':')
+	/* The name must not start with a colon or #. */
+	if (name[0] == ':' || name[0] == AUTOLOAD_CHAR)
 	    return NULL;
 	*varname = name;
 
@@ -14745,8 +14773,10 @@ find_var_ht(name, varname)
     *varname = name + 2;
     if (*name == 'g')				/* global variable */
 	return &globvarht;
-    /* There must be no ':' in the rest of the name, unless g: is used */
-    if (vim_strchr(name + 2, ':') != NULL)
+    /* There must be no ':' or '#' in the rest of the name, unless g: is used
+     */
+    if (vim_strchr(name + 2, ':') != NULL
+			       || vim_strchr(name + 2, AUTOLOAD_CHAR) != NULL)
 	return NULL;
     if (*name == 'b')				/* buffer variable */
 	return &curbuf->b_vars.dv_hashtab;
@@ -15886,7 +15916,7 @@ ex_function(eap)
 
     if (fp == NULL)
     {
-	if (fudi.fd_dict == NULL && vim_strchr(name, ':') != NULL)
+	if (fudi.fd_dict == NULL && vim_strchr(name, AUTOLOAD_CHAR) != NULL)
 	{
 	    int	    slen, plen;
 	    char_u  *scriptname;
@@ -16018,7 +16048,8 @@ trans_function_name(pp, skip, flags, fdp
     if (lead > 2)
 	start += lead;
 
-    end = get_lval(start, NULL, &lv, FALSE, skip, flags & TFN_QUIET);
+    end = get_lval(start, NULL, &lv, FALSE, skip, flags & TFN_QUIET,
+					      lead > 2 ? 0 : FNE_CHECK_START);
     if (end == start)
     {
 	if (!skip)
@@ -16038,7 +16069,7 @@ trans_function_name(pp, skip, flags, fdp
 		EMSG2(_(e_invarg2), start);
 	}
 	else
-	    *pp = find_name_end(start, NULL, NULL, TRUE);
+	    *pp = find_name_end(start, NULL, NULL, FNE_INCL_BR);
 	goto theend;
     }
 
@@ -16236,13 +16267,14 @@ function_exists(name)
 
 /*
  * Return TRUE if "name" looks like a builtin function name: starts with a
- * lower case letter and doesn't contain a ':'.
+ * lower case letter and doesn't contain a ':' or AUTOLOAD_CHAR.
  */
     static int
 builtin_function(name)
     char_u *name;
 {
-    return ASCII_ISLOWER(name[0]) && vim_strchr(name, ':') == NULL;
+    return ASCII_ISLOWER(name[0]) && vim_strchr(name, ':') == NULL
+				   && vim_strchr(name, AUTOLOAD_CHAR) == NULL;
 }
 
 #if defined(FEAT_PROFILE) || defined(PROTO)
@@ -16440,7 +16472,7 @@ script_autoload(name)
     int		ret = FALSE;
 
     /* If there is no colon after name[1] there is no package name. */
-    p = vim_strchr(name, ':');
+    p = vim_strchr(name, AUTOLOAD_CHAR);
     if (p == NULL || p <= name + 2)
 	return FALSE;
 
@@ -16464,15 +16496,15 @@ autoload_name(name)
     char_u	*p;
     char_u	*scriptname;
 
-    /* Get the script file name: replace ':' with '/', append ".vim". */
+    /* Get the script file name: replace '#' with '/', append ".vim". */
     scriptname = alloc((unsigned)(STRLEN(name) + 14));
     if (scriptname == NULL)
 	return FALSE;
     STRCPY(scriptname, "autoload/");
     STRCAT(scriptname, name);
-    *vim_strrchr(scriptname, ':') = NUL;
+    *vim_strrchr(scriptname, AUTOLOAD_CHAR) = NUL;
     STRCAT(scriptname, ".vim");
-    while ((p = vim_strchr(scriptname, ':')) != NULL)
+    while ((p = vim_strchr(scriptname, AUTOLOAD_CHAR)) != NULL)
 	*p = '/';
     return scriptname;
 }
@@ -16852,7 +16884,7 @@ call_user_func(fp, argcount, argvars, re
 		    else
 		    {
 			trunc_string(tv2string(&argvars[i], &tofree, numbuf),
-							    buf, MSG_BUF_LEN);
+							    buf, MSG_BUF_CLEN);
 			msg_puts(buf);
 			vim_free(tofree);
 		    }
@@ -16940,7 +16972,7 @@ call_user_func(fp, argcount, argvars, re
 	    char_u	*tofree;
 
 	    trunc_string(tv2string(fc.rettv, &tofree, numbuf),
-							    buf, MSG_BUF_LEN);
+							   buf, MSG_BUF_CLEN);
 	    smsg((char_u *)_("%s returning %s"), sn, buf);
 	    vim_free(tofree);
 	}
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -6307,7 +6307,7 @@ sign_list_defined(sp)
 {
     char_u	*p;
 
-    smsg((char_u *)"sign %s", sp->sn_name);
+    msg_str((char_u *)"sign %s", sp->sn_name);
     if (sp->sn_icon != NULL)
     {
 	MSG_PUTS(" icon=");
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -141,7 +141,14 @@ do_debug(cmd)
     if (sourcing_name != NULL)
 	msg(sourcing_name);
     if (sourcing_lnum != 0)
-	smsg((char_u *)_("line %ld: %s"), (long)sourcing_lnum, cmd);
+    {
+	char_u	    buf[IOSIZE];
+
+	/* Truncate the command, the whole must fit in IObuff. */
+	STRNCPY(buf, cmd, IOSIZE - 50);
+	buf[IOSIZE - 50] = NUL;
+	smsg((char_u *)_("line %ld: %s"), (long)sourcing_lnum, buf);
+    }
     else
 	msg_str((char_u *)_("cmd: %s"), cmd);
 
@@ -1942,6 +1949,7 @@ do_argfile(eap, argn)
 {
     int		other;
     char_u	*p;
+    int		old_arg_idx = curwin->w_arg_idx;
 
     if (argn < 0 || argn >= ARGCOUNT)
     {
@@ -1995,14 +2003,16 @@ do_argfile(eap, argn)
 	   )
 	    arg_had_last = TRUE;
 
-	/* Edit the file; always use the last known line number. */
-	(void)do_ecmd(0, alist_name(&ARGLIST[curwin->w_arg_idx]), NULL,
+	/* Edit the file; always use the last known line number.
+	 * When it fails (e.g. Abort for already edited file) restore the
+	 * argument index. */
+	if (do_ecmd(0, alist_name(&ARGLIST[curwin->w_arg_idx]), NULL,
 		      eap, ECMD_LAST,
 		      (P_HID(curwin->w_buffer) ? ECMD_HIDE : 0) +
-					   (eap->forceit ? ECMD_FORCEIT : 0));
-
+				   (eap->forceit ? ECMD_FORCEIT : 0)) == FAIL)
+	    curwin->w_arg_idx = old_arg_idx;
 	/* like Vi: set the mark where the cursor is in the file. */
-	if (eap->cmdidx != CMD_argdo)
+	else if (eap->cmdidx != CMD_argdo)
 	    setmark('\'');
     }
 }
@@ -2463,8 +2473,14 @@ do_in_runtimepath(name, all, callback, c
     if (buf != NULL && rtp_copy != NULL)
     {
 	if (p_verbose > 1)
-	    smsg((char_u *)_("Searching for \"%s\" in \"%s\""),
+	{
+	    if (STRLEN(name) + STRLEN(p_rtp) > IOSIZE - 100)
+		MSG(_("Searching for a long name in 'runtimepath'"));
+	    else
+		smsg((char_u *)_("Searching for \"%s\" in \"%s\""),
 						 (char *)name, (char *)p_rtp);
+	}
+
 	/* Loop over all entries in 'runtimepath'. */
 	rtp = rtp_copy;
 	while (*rtp != NUL && (all || !did_one))
--- a/src/option.h
+++ b/src/option.h
@@ -42,7 +42,7 @@
 #     ifdef EBCDIC
 #define DFLT_EFM	"%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
 #     else
-#define DFLT_EFM	"%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
+#define DFLT_EFM	"%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
 #     endif
 #    endif
 #   endif
--- a/src/po/it.po
+++ b/src/po/it.po
@@ -13,8 +13,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: vim 7.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-09 23:31+0200\n"
-"PO-Revision-Date:  2005-04-09 23:31+0200\n"
+"POT-Creation-Date: 2005-04-29 22:25+0200\n"
+"PO-Revision-Date:  2005-05-06 22:45+0200\n"
 "Last-Translator:   Vlad Sandrini   <marco@sandrini.biz>\n"
 "Language-Team:     Italian"
 "                   Antonio Colombo <azc10@yahoo.com>"
@@ -124,80 +124,80 @@ msgstr "E93: Pių di una corrispondenza per %s"
 msgid "E94: No matching buffer for %s"
 msgstr "E94: Nessun buffer corrispondente a %s"
 
-#: buffer.c:2474
+#: buffer.c:2479
 #, c-format
 msgid "line %ld"
 msgstr "linea %ld"
 
-#: buffer.c:2562
+#: buffer.c:2567
 msgid "E95: Buffer with this name already exists"
 msgstr "E95: C'č giā un buffer con questo nome"
 
-#: buffer.c:2879
+#: buffer.c:2884
 msgid " [Modified]"
 msgstr " [Modificato]"
 
-#: buffer.c:2884
-msgid "[Not edited]"
-msgstr "[Non elaborato]"
-
 #: buffer.c:2889
+msgid "[Not edited]"
+msgstr "[Non elaborato]"
+
+#: buffer.c:2894
 msgid "[New file]"
 msgstr "[File nuovo]"
 
-#: buffer.c:2890
+#: buffer.c:2895
 msgid "[Read errors]"
 msgstr "[Errori in lettura]"
 
-#: buffer.c:2892 fileio.c:2107 netbeans.c:3382
+#: buffer.c:2897 fileio.c:2107 netbeans.c:3382
 msgid "[readonly]"
 msgstr "[in sola lettura]"
 
-#: buffer.c:2913
+#: buffer.c:2918
 #, c-format
 msgid "1 line --%d%%--"
 msgstr "1 linea --%d%%--"
 
-#: buffer.c:2915
+#: buffer.c:2920
 #, c-format
 msgid "%ld lines --%d%%--"
 msgstr "%ld linee --%d%%--"
 
-#: buffer.c:2922
+#: buffer.c:2927
 #, c-format
 msgid "line %ld of %ld --%d%%-- col "
 msgstr "linea %ld di %ld --%d%%-- col "
 
-#: buffer.c:3030 buffer.c:4751 memline.c:1657
+#: buffer.c:3035 buffer.c:4756 memline.c:1657
 msgid "[No Name]"
 msgstr "[Senza nome]"
 
 #. must be a help buffer
-#: buffer.c:3069
+#: buffer.c:3074
 msgid "help"
 msgstr "aiuto"
 
-#: buffer.c:3620 screen.c:5144
+#: buffer.c:3625 screen.c:5147
 msgid "[help]"
 msgstr "[aiuto]"
 
-#: buffer.c:3652 screen.c:5150
+#: buffer.c:3657 screen.c:5153
 msgid "[Preview]"
 msgstr "[Anteprima]"
 
-#: buffer.c:3932
+#: buffer.c:3937
 msgid "All"
 msgstr "Tut"
 
-#: buffer.c:3932
+#: buffer.c:3937
 msgid "Bot"
 msgstr "Fon"
 
-#: buffer.c:3934
+#: buffer.c:3939
 msgid "Top"
 msgstr "Cim"
 
-#: buffer.c:4703
+#: buffer.c:4708
 #, c-format
 msgid ""
 "\n"
@@ -206,11 +206,11 @@ msgstr ""
 "\n"
 "# Lista Buffer:\n"
 
-#: buffer.c:4738
+#: buffer.c:4743
 msgid "[Error List]"
 msgstr "[Lista Errori]"
 
-#: buffer.c:5064
+#: buffer.c:5069
 msgid ""
 "\n"
 "--- Signs ---"
@@ -218,16 +218,28 @@ msgstr ""
 "\n"
 "--- Segni ---"
 
-#: buffer.c:5083
+#: buffer.c:5088
 #, c-format
 msgid "Signs for %s:"
 msgstr "Segni per %s:"
 
-#: buffer.c:5089
+#: buffer.c:5094
 #, c-format
 msgid "    line=%ld  id=%d  name=%s"
 msgstr "    linea=%ld id=%d, nome=%s"
 
+#: charset.c:1008
+msgid "E761: Format error in affix file FOL, LOW or UPP"
+msgstr "E761: Errore di formato nel file affissi FOL, LOW o UPP"
+
+#: charset.c:1009
+msgid "E762: Character in FOL, LOW or UPP is out of range"
+msgstr "E762: Carattere fuori intervallo in FOL, LOW o UPP"
+
+#: charset.c:1136
+msgid "E763: Word characters differ between spell files"
+msgstr "E763: Caratteri di parola differenti nei file ortografici"
+
 #: diff.c:163
 #, c-format
 msgid "E96: Can not diff more than %ld buffers"
@@ -334,38 +346,38 @@ msgstr " Completamento definito dall'ute
 msgid "Hit end of paragraph"
 msgstr "Giunto alla fine del paragrafo"
 
-#: edit.c:999
+#: edit.c:1000
 msgid "'thesaurus' option is empty"
 msgstr "l'opzione 'thesaurus' č vuota"
 
-#: edit.c:1219
+#: edit.c:1221
 msgid "'dictionary' option is empty"
 msgstr "l'opzione 'dictionary' č vuota"
 
-#: edit.c:2219
+#: edit.c:2221
 #, c-format
 msgid "Scanning dictionary: %s"
 msgstr "Scansione dizionario: %s"
 
-#: edit.c:2425
+#: edit.c:2427
 msgid " (insert) Scroll (^E/^Y)"
 msgstr " (inserisci) Scroll (^E/^Y)"
 
-#: edit.c:2427
+#: edit.c:2429
 msgid " (replace) Scroll (^E/^Y)"
 msgstr " (sostituisci) Scroll (^E/^Y)"
 
-#: edit.c:2828
+#: edit.c:2830
 #, c-format
 msgid "Scanning: %s"
 msgstr "Scansione: %s"
 
-#: edit.c:2863
+#: edit.c:2865
 #, c-format
 msgid "Scanning tags."
 msgstr "Scansione tag."
 
-#: edit.c:3564
+#: edit.c:3566
 msgid " Adding"
 msgstr " Aggiungo"
 
@@ -373,28 +385,28 @@ msgstr " Aggiungo"
 #. * be called before line = ml_get(), or when this address is no
 #. * longer needed.  -- Acevedo.
 #.
-#: edit.c:3613
+#: edit.c:3615
 msgid "-- Searching..."
 msgstr "-- Ricerca..."
 
-#: edit.c:3669
+#: edit.c:3671
 msgid "Back at original"
 msgstr "Ritorno all'originale"
 
-#: edit.c:3674
+#: edit.c:3676
 msgid "Word from other line"
 msgstr "Parola da un'altra linea"
 
-#: edit.c:3679
+#: edit.c:3681
 msgid "The only match"
 msgstr "L'unica corrispondenza"
 
-#: edit.c:3738
+#: edit.c:3740
 #, c-format
 msgid "match %d of %d"
 msgstr "corrispondenza %d di %d"
 
-#: edit.c:3741
+#: edit.c:3743
 #, c-format
 msgid "match %d"
 msgstr "corripondenza %d"
@@ -424,7 +436,7 @@ msgstr "E686: L'argomento di %s deve ess
 
 #: eval.c:98
 #, c-format
-msgid "E712: Argument of %s must be a List or Dictionaary"
+msgid "E712: Argument of %s must be a List or Dictionary"
 msgstr "E712: L'argomento di %s deve essere una Lista o un Dizionario"
 
 #: eval.c:99
@@ -630,7 +642,7 @@ msgstr "E699: Troppi argomenti"
 #. * this way has the compelling advantage that translations need not to
 #. * be touched at all.  See below what 'ok' and 'ync' are used for.
 #.
-#: eval.c:7303 gui.c:4406 gui_gtk.c:2137 os_mswin.c:602
+#: eval.c:7303 gui.c:4410 gui_gtk.c:2137 os_mswin.c:602
 msgid "&Ok"
 msgstr "&OK"
 
@@ -677,7 +689,7 @@ msgstr "E726: Incremento indice a zero"
 msgid "E727: Start past end"
 msgstr "E727: Indice iniziale superiore a quello finale"
 
-#: eval.c:11216 eval.c:13794
+#: eval.c:11216 eval.c:13807
 msgid "<empty>"
 msgstr "<vuoto>"
 
@@ -698,156 +710,156 @@ msgstr "E277: Non riesco a leggere una r
 msgid "E655: Too many symbolic links (cycle?)"
 msgstr "E655: Troppi link simbolici (circolaritā?)"
 
-#: eval.c:12208
+#: eval.c:12221
 msgid "E258: Unable to send to client"
 msgstr "E258: Impossibile inviare al client"
 
-#: eval.c:12639
+#: eval.c:12652
 msgid "E702: Sort compare function failed"
 msgstr "E702: Funzione confronto nel sort non riuscita"
 
-#: eval.c:12758
+#: eval.c:12771
 msgid "(Invalid)"
 msgstr "(Non valido)"
 
-#: eval.c:13181
+#: eval.c:13194
 msgid "E677: Error writing temp file"
 msgstr "E677: Errore in scrittura su file temporaneo"
 
-#: eval.c:14555
+#: eval.c:14568
 msgid "E703: Using a Funcref as a number"
 msgstr "E703: Uso di Funcref come numero"
 
-#: eval.c:14563
+#: eval.c:14576
 msgid "E745: Using a List as a number"
 msgstr "E745: Uso di Lista come numero"
 
-#: eval.c:14566
+#: eval.c:14579
 msgid "E728: Using a Dictionary as a number"
 msgstr "E728: Uso di Dizionario come numero"
 
-#: eval.c:14624
+#: eval.c:14637
 msgid "E729: using Funcref as a String"
 msgstr "E729: uso di Funcref come Stringa"
 
-#: eval.c:14627
+#: eval.c:14640
 msgid "E730: using List as a String"
 msgstr "E730: uso di Lista come Stringa"
 
-#: eval.c:14630
+#: eval.c:14643
 msgid "E731: using Dictionary as a String"
 msgstr "E731: uso di Dizionario come Stringa"
 
-#: eval.c:14960
+#: eval.c:14973
 #, c-format
 msgid "E704: Funcref variable name must start with a capital: %s"
 msgstr ""
 "E704: Il nome della variabile Funcref deve iniziare con una maiuscola: %s"
 
-#: eval.c:14965
+#: eval.c:14978
 #, c-format
 msgid "705: Variable name conflicts with existing function: %s"
 msgstr "705: Nome di variabile in conflitto con una funzione esistente: %s"
 
-#: eval.c:14974
+#: eval.c:14987
 #, c-format
 msgid "E461: Illegal variable name: %s"
 msgstr "E461: Nome di variabile non ammesso: %s"
 
-#: eval.c:14991
+#: eval.c:15004
 #, c-format
 msgid "E706: Variable type mismatch for: %s"
 msgstr "E706: Tipo di variabile non corrispondente per: %s"
 
-#: eval.c:15080
+#: eval.c:15093
 #, c-format
 msgid "E741: Value is locked: %s"
 msgstr "E741: Valore di %s non modificabile"
 
-#: eval.c:15081 eval.c:15087 os_mswin.c:2207
+#: eval.c:15094 eval.c:15100 os_mswin.c:2207
 msgid "Unknown"
 msgstr "Sconosciuto"
 
-#: eval.c:15086
+#: eval.c:15099
 #, c-format
 msgid "E742: Cannot change value of %s"
 msgstr "E742: Non riesco a cambiare il valore di %s"
 
-#: eval.c:15164
+#: eval.c:15177
 msgid "E698: variable nested too deep for making a copy"
 msgstr "E698 Variabile troppo nidificata per poterla copiare"
 
-#: eval.c:15592
+#: eval.c:15605
 #, c-format
 msgid "E124: Missing '(': %s"
 msgstr "E124: Manca '(': %s"
 
-#: eval.c:15625
+#: eval.c:15638
 #, c-format
 msgid "E125: Illegal argument: %s"
 msgstr "E125: Argomento non ammesso: %s"
 
-#: eval.c:15713
+#: eval.c:15726
 msgid "E126: Missing :endfunction"
 msgstr "E126: Manca :endfunction"
 
-#: eval.c:15899
+#: eval.c:15912
 #, c-format
 msgid "E746: Function name does not match script file name: %s"
 msgstr "E746: Il nome funzione non corrisponde al nome file dello script: %s"
 
-#: eval.c:16012
+#: eval.c:16025
 msgid "E129: Function name required"
 msgstr "E129: Nome funzione necessario"
 
-#: eval.c:16097
+#: eval.c:16110
 #, c-format
 msgid "E128: Function name must start with a capital or contain a colon: %s"
 msgstr ""
 "E128: Il nome funzione deve iniziare con una maiuscola o contenere ':': %s"
 
-#: eval.c:16575
+#: eval.c:16588
 #, c-format
 msgid "E131: Cannot delete function %s: It is in use"
 msgstr "E131: Non posso eliminare la funzione %s: E' in uso"
 
-#: eval.c:16695
+#: eval.c:16708
 msgid "E132: Function call depth is higher than 'maxfuncdepth'"
 msgstr ""
 "E132: Nidificazione della chiamata di funzione maggiore di 'maxfuncdepth'"
 
 #. always scroll up, don't overwrite
-#: eval.c:16825
+#: eval.c:16838
 #, c-format
 msgid "calling %s"
 msgstr "chiamo %s"
 
-#: eval.c:16919
+#: eval.c:16932
 #, c-format
 msgid "%s aborted"
 msgstr "%s non completata"
 
-#: eval.c:16921
+#: eval.c:16934
 #, c-format
 msgid "%s returning #%ld"
 msgstr "%s ritorno #%ld"
 
-#: eval.c:16931
+#: eval.c:16944
 #, c-format
 msgid "%s returning %s"
 msgstr "%s ritorno %s"
 
 #. always scroll up, don't overwrite
-#: eval.c:16952 ex_cmds2.c:2933
+#: eval.c:16965 ex_cmds2.c:2961
 #, c-format
 msgid "continuing in %s"
 msgstr "continuo in %s"
 
-#: eval.c:17000
+#: eval.c:17013
 msgid "E133: :return not inside a function"
 msgstr "E133: :return fuori da una funzione"
 
-#: eval.c:17400
+#: eval.c:17413
 #, c-format
 msgid ""
 "\n"
@@ -860,7 +872,7 @@ msgstr ""
 msgid "Entering Debug mode.  Type \"cont\" to continue."
 msgstr "Entro modalitā Debug.  Batti \"cont\" per continuare."
 
-#: ex_cmds2.c:144 ex_docmd.c:1064
+#: ex_cmds2.c:144 ex_docmd.c:1067
 #, c-format
 msgid "line %ld: %s"
 msgstr "linea %ld: %s"
@@ -902,7 +914,7 @@ msgstr "Salva con Nome"
 msgid "Save changes to \"%.*s\"?"
 msgstr "Salvare modifiche a \"%.*s\"?"
 
-#: ex_cmds2.c:1307 ex_docmd.c:9902
+#: ex_cmds2.c:1307 ex_docmd.c:9914
 msgid "Untitled"
 msgstr "Senza Nome"
 
@@ -917,199 +929,199 @@ msgstr ""
 "Attenzione: Entrato in altro buffer inaspettatamente (controllare "
 "autocomandi)"
 
-#: ex_cmds2.c:1924
+#: ex_cmds2.c:1949
 msgid "E163: There is only one file to edit"
 msgstr "E163: C'č un solo file da elaborare"
 
-#: ex_cmds2.c:1926
+#: ex_cmds2.c:1951
 msgid "E164: Cannot go before first file"
 msgstr "E164: Non posso andare davanti al primo file"
 
-#: ex_cmds2.c:1928
+#: ex_cmds2.c:1953
 msgid "E165: Cannot go beyond last file"
 msgstr "E165: Non posso oltrepassare l'ultimo file"
 
-#: ex_cmds2.c:2341
+#: ex_cmds2.c:2366
 #, c-format
 msgid "E666: compiler not supported: %s"
 msgstr "E666: compilatore non supportato: %s"
 
-#: ex_cmds2.c:2438
+#: ex_cmds2.c:2466
 #, c-format
 msgid "Searching for \"%s\" in \"%s\""
 msgstr "Cerco \"%s\" in \"%s\""
 
-#: ex_cmds2.c:2460
+#: ex_cmds2.c:2488
 #, c-format
 msgid "Searching for \"%s\""
 msgstr "Cerco \"%s\""
 
-#: ex_cmds2.c:2482
+#: ex_cmds2.c:2510
 #, c-format
 msgid "not found in 'runtimepath': \"%s\""
 msgstr "non trovato in 'runtimepath': \"%s\""
 
-#: ex_cmds2.c:2516
+#: ex_cmds2.c:2544
 msgid "Source Vim script"
 msgstr "Esegui script Vim"
 
-#: ex_cmds2.c:2692
+#: ex_cmds2.c:2720
 #, c-format
 msgid "Cannot source a directory: \"%s\""
 msgstr "Non riesco ad eseguire una directory: \"%s\""
 
-#: ex_cmds2.c:2730
+#: ex_cmds2.c:2758
 #, c-format
 msgid "could not source \"%s\""
 msgstr "non riesco ad eseguire \"%s\""
 
-#: ex_cmds2.c:2732
+#: ex_cmds2.c:2760
 #, c-format
 msgid "line %ld: could not source \"%s\""
 msgstr "linea %ld: non riesco ad eseguire \"%s\""
 
-#: ex_cmds2.c:2746
+#: ex_cmds2.c:2774
 #, c-format
 msgid "sourcing \"%s\""
 msgstr "eseguo \"%s\""
 
-#: ex_cmds2.c:2748
+#: ex_cmds2.c:2776
 #, c-format
 msgid "line %ld: sourcing \"%s\""
 msgstr "linea %ld: eseguo \"%s\""
 
-#: ex_cmds2.c:2931
+#: ex_cmds2.c:2959
 #, c-format
 msgid "finished sourcing %s"
 msgstr "esecuzione di %s terminata"
 
-#: ex_cmds2.c:3301
+#: ex_cmds2.c:3329
 msgid "W15: Warning: Wrong line separator, ^M may be missing"
 msgstr "W15: Attenzione: Separatore di linea errato, forse manca ^M"
 
-#: ex_cmds2.c:3435
+#: ex_cmds2.c:3463
 msgid "E167: :scriptencoding used outside of a sourced file"
 msgstr "E167: :scriptencoding usato fuori da un file di comandi"
 
-#: ex_cmds2.c:3468
+#: ex_cmds2.c:3496
 msgid "E168: :finish used outside of a sourced file"
 msgstr "E168: :finish usato fuori da file di comandi"
 
-#: ex_cmds2.c:3918
+#: ex_cmds2.c:3946
 #, c-format
 msgid "Page %d"
 msgstr "Pagina %d"
 
-#: ex_cmds2.c:4074
+#: ex_cmds2.c:4102
 msgid "No text to be printed"
 msgstr "Manca testo da stampare"
 
-#: ex_cmds2.c:4152
+#: ex_cmds2.c:4180
 #, c-format
 msgid "Printing page %d (%d%%)"
 msgstr "Sto stampando pagina %d (%d%%)"
 
-#: ex_cmds2.c:4164
+#: ex_cmds2.c:4192
 #, c-format
 msgid " Copy %d of %d"
 msgstr " Copia %d di %d"
 
-#: ex_cmds2.c:4222
+#: ex_cmds2.c:4250
 #, c-format
 msgid "Printed: %s"
 msgstr "Stampato: %s"
 
-#: ex_cmds2.c:4229
+#: ex_cmds2.c:4257
 #, c-format
 msgid "Printing aborted"
 msgstr "Stampa non completata'"
 
-#: ex_cmds2.c:4883
+#: ex_cmds2.c:4911
 msgid "E455: Error writing to PostScript output file"
 msgstr "E455: Errore in scrittura a file PostScript di output"
 
-#: ex_cmds2.c:5343
+#: ex_cmds2.c:5373
 #, c-format
 msgid "E624: Can't open file \"%s\""
 msgstr "E624: Non riesco ad aprire il file \"%s\""
 
-#: ex_cmds2.c:5353 ex_cmds2.c:6227
+#: ex_cmds2.c:5383 ex_cmds2.c:6257
 #, c-format
 msgid "E457: Can't read PostScript resource file \"%s\""
 msgstr "E457: Non riesco a leggere file risorse PostScript \"%s\""
 
-#: ex_cmds2.c:5369
+#: ex_cmds2.c:5399
 #, c-format
 msgid "E618: file \"%s\" is not a PostScript resource file"
 msgstr "E618: file \"%s\" non č un file di risorse PostScript"
 
-#: ex_cmds2.c:5387 ex_cmds2.c:5406 ex_cmds2.c:5451
+#: ex_cmds2.c:5417 ex_cmds2.c:5436 ex_cmds2.c:5481
 #, c-format
 msgid "E619: file \"%s\" is not a supported PostScript resource file"
 msgstr "E619: file \"%s\" non č un file di risorse PostScript supportato"
 
-#: ex_cmds2.c:5470
+#: ex_cmds2.c:5500
 #, c-format
 msgid "E621: \"%s\" resource file has wrong version"
 msgstr "E621: il file di risorse \"%s\" ha una versione sbagliata"
 
-#: ex_cmds2.c:5948
+#: ex_cmds2.c:5978
 msgid "E673: Incompatible multi-byte encoding and character set."
 msgstr "E673: Codifica e set di caratteri multi-byte non compatibili."
 
-#: ex_cmds2.c:5965
+#: ex_cmds2.c:5995
 msgid "E674: printmbcharset cannot be empty with multi-byte encoding."
 msgstr "E674: printmbcharset non puō essere nullo con codifica multi-byte."
 
-#: ex_cmds2.c:5983
-msgid "E675: No default font specfifed for multi-byte printing."
+#: ex_cmds2.c:6013
+msgid "E675: No default font specified for multi-byte printing."
 msgstr "E675: Font predefinito non specificato per stampa multi-byte."
 
-#: ex_cmds2.c:6176
+#: ex_cmds2.c:6206
 msgid "E324: Can't open PostScript output file"
 msgstr "E324: Non riesco ad aprire file PostScript di output"
 
-#: ex_cmds2.c:6213
+#: ex_cmds2.c:6243
 #, c-format
 msgid "E456: Can't open file \"%s\""
 msgstr "E456: Non riesco ad aprire il file \"%s\""
 
-#: ex_cmds2.c:6344
+#: ex_cmds2.c:6374
 msgid "E456: Can't find PostScript resource file \"prolog.ps\""
 msgstr "E456: Non trovo file risorse PostScript \"prolog.ps\""
 
-#: ex_cmds2.c:6357
+#: ex_cmds2.c:6387
 msgid "E456: Can't find PostScript resource file \"cidfont.ps\""
 msgstr "E456: Non trovo file risorse PostScript \"cidfont.ps\""
 
-#: ex_cmds2.c:6395 ex_cmds2.c:6417 ex_cmds2.c:6446
+#: ex_cmds2.c:6425 ex_cmds2.c:6447 ex_cmds2.c:6476
 #, c-format
 msgid "E456: Can't find PostScript resource file \"%s.ps\""
 msgstr "E456: Non trovo file risorse PostScript \"%s.ps\""
 
-#: ex_cmds2.c:6433
+#: ex_cmds2.c:6463
 #, c-format
 msgid "E620: Unable to convert to print encoding \"%s\""
 msgstr "E620: Impossibile convertire a codifica di stampa \"%s\""
 
-#: ex_cmds2.c:6687
+#: ex_cmds2.c:6717
 msgid "Sending to printer..."
 msgstr "Invio a stampante..."
 
-#: ex_cmds2.c:6691
+#: ex_cmds2.c:6721
 msgid "E365: Failed to print PostScript file"
 msgstr "E365: Non riesco ad aprire file PostScript"
 
-#: ex_cmds2.c:6693
+#: ex_cmds2.c:6723
 msgid "Print job sent."
 msgstr "Richiesta di stampa inviata."
 
-#: ex_cmds2.c:7300
+#: ex_cmds2.c:7330
 #, c-format
 msgid "Current %slanguage: \"%s\""
 msgstr "Lingua %sin uso: \"%s\""
 
-#: ex_cmds2.c:7311
+#: ex_cmds2.c:7341
 #, c-format
 msgid "E197: Cannot set language to \"%s\""
 msgstr "E197: Non posso impostare lingua a \"%s\""
@@ -1432,82 +1444,82 @@ msgstr " (non supportata)"
 msgid "[Deleted]"
 msgstr "[Cancellato]"
 
-#: ex_docmd.c:605
+#: ex_docmd.c:608
 msgid "Entering Ex mode.  Type \"visual\" to go to Normal mode."
 msgstr "Entro modalitā Ex.  Batti \"visual\" per tornare a modalitā Normale."
 
-#: ex_docmd.c:660
+#: ex_docmd.c:663
 msgid "E501: At end-of-file"
 msgstr "E501: Alla fine-file"
 
-#: ex_docmd.c:759
+#: ex_docmd.c:762
 msgid "E169: Command too recursive"
 msgstr "E169: Comando troppo ricorsivo"
 
-#: ex_docmd.c:1341
+#: ex_docmd.c:1344
 #, c-format
 msgid "E605: Exception not caught: %s"
 msgstr "E605: Eccezione non intercettata: %s"
 
-#: ex_docmd.c:1429
+#: ex_docmd.c:1432
 msgid "End of sourced file"
 msgstr "Fine del file di comandi"
 
-#: ex_docmd.c:1430
+#: ex_docmd.c:1433
 msgid "End of function"
 msgstr "Fine funzione "
 
-#: ex_docmd.c:2032
+#: ex_docmd.c:2035
 msgid "E464: Ambiguous use of user-defined command"
 msgstr "E464: Uso ambiguo di comando definito dall'utente"
 
-#: ex_docmd.c:2046
+#: ex_docmd.c:2049
 msgid "E492: Not an editor command"
 msgstr "E492: Non č un comando dell'editor"
 
-#: ex_docmd.c:2153
+#: ex_docmd.c:2156
 msgid "E493: Backwards range given"
 msgstr "E493: Intervallo rovesciato"
 
-#: ex_docmd.c:2162
+#: ex_docmd.c:2165
 msgid "Backwards range given, OK to swap"
 msgstr "Intervallo rovesciato, OK invertirlo"
 
-#: ex_docmd.c:2287
+#: ex_docmd.c:2290
 msgid "E494: Use w or w>>"
 msgstr "E494: Usa w oppure w>>"
 
-#: ex_docmd.c:3957
+#: ex_docmd.c:3960
 msgid "E319: Sorry, the command is not available in this version"
 msgstr "E319: Spiacente, comando non disponibile in questa versione"
 
-#: ex_docmd.c:4212
+#: ex_docmd.c:4215
 msgid "E172: Only one file name allowed"
 msgstr "E172: Ammesso un solo nome file"
 
-#: ex_docmd.c:4800
+#: ex_docmd.c:4803
 msgid "1 more file to edit.  Quit anyway?"
 msgstr "1 ulteriore file da elaborare.  Esco lo stesso?"
 
-#: ex_docmd.c:4803
+#: ex_docmd.c:4806
 #, c-format
 msgid "%d more files to edit.  Quit anyway?"
 msgstr "%d ulteriori file da elaborare.  Esco lo stesso?"
 
-#: ex_docmd.c:4810
+#: ex_docmd.c:4813
 msgid "E173: 1 more file to edit"
 msgstr "E173: ancora 1 file da elaborare"
 
-#: ex_docmd.c:4812
+#: ex_docmd.c:4815
 #, c-format
 msgid "E173: %ld more files to edit"
 msgstr "E173: ancora %ld file da elaborare"
 
-#: ex_docmd.c:4907
+#: ex_docmd.c:4910
 msgid "E174: Command already exists: add ! to replace it"
 msgstr "E174: Il comando esiste giā: aggiungi ! per sostituirlo"
 
-#: ex_docmd.c:5017
+#: ex_docmd.c:5020
 msgid ""
 "\n"
 "    Name        Args Range Complete  Definition"
@@ -1515,197 +1527,197 @@ msgstr ""
 "\n"
 "    Nome        Arg. Inter Completo  Definizione"
 
-#: ex_docmd.c:5106
+#: ex_docmd.c:5109
 msgid "No user-defined commands found"
 msgstr "Non trovo comandi definiti dall'utente"
 
-#: ex_docmd.c:5138
+#: ex_docmd.c:5141
 msgid "E175: No attribute specified"
 msgstr "E175: Nessun attributo specificato"
 
-#: ex_docmd.c:5190
+#: ex_docmd.c:5193
 msgid "E176: Invalid number of arguments"
 msgstr "E176: Numero di argomenti non valido"
 
-#: ex_docmd.c:5205
+#: ex_docmd.c:5208
 msgid "E177: Count cannot be specified twice"
 msgstr "E177: Non si puō specificare due volte il contatore"
 
-#: ex_docmd.c:5215
+#: ex_docmd.c:5218
 msgid "E178: Invalid default value for count"
 msgstr "E178: Valore predefinito del contatore non valido"
 
-#: ex_docmd.c:5246
+#: ex_docmd.c:5249
 msgid "E179: argument required for complete"
 msgstr "E179: argomento necessario per complete"
 
-#: ex_docmd.c:5278
+#: ex_docmd.c:5281
 #, c-format
 msgid "E180: Invalid complete value: %s"
 msgstr "E180: Valore %s non valido per 'complete'"
 
-#: ex_docmd.c:5287
+#: ex_docmd.c:5290
 msgid "E468: Completion argument only allowed for custom completion"
 msgstr ""
 "E468: Argomento di completamento permesso solo per completamento "
 "personalizzato"
 
-#: ex_docmd.c:5293
+#: ex_docmd.c:5296
 msgid "E467: Custom completion requires a function argument"
 msgstr ""
 "E467: Il completamento personalizzato richiede un argomento di funzione"
 
-#: ex_docmd.c:5304
+#: ex_docmd.c:5307
 #, c-format
 msgid "E181: Invalid attribute: %s"
 msgstr "E181: Attributo non valido: %s"
 
-#: ex_docmd.c:5347
+#: ex_docmd.c:5350
 msgid "E182: Invalid command name"
 msgstr "E182: Nome comando non valido"
 
-#: ex_docmd.c:5362
+#: ex_docmd.c:5365
 msgid "E183: User defined commands must start with an uppercase letter"
 msgstr ""
 "E183 I comandi definiti dall'utente devono iniziare con lettera maiuscola"
 
-#: ex_docmd.c:5433
+#: ex_docmd.c:5436
 #, c-format
 msgid "E184: No such user-defined command: %s"
 msgstr "E184: Comando definito dall'utente %s inesistente"
 
-#: ex_docmd.c:5893
+#: ex_docmd.c:5896
 #, c-format
 msgid "E185: Cannot find color scheme %s"
 msgstr "E185: Non riesco a trovare schema colore %s"
 
-#: ex_docmd.c:5901
+#: ex_docmd.c:5904
 msgid "Greetings, Vim user!"
 msgstr "Salve, utente Vim!"
 
-#: ex_docmd.c:6643
+#: ex_docmd.c:6646
 msgid "Edit File in new window"
 msgstr "Apri il File in una nuova finestra"
 
-#: ex_docmd.c:7036
+#: ex_docmd.c:7039
 msgid "No swap file"
 msgstr "Non posso creare un file di swap"
 
-#: ex_docmd.c:7142
+#: ex_docmd.c:7145
 msgid "Append File"
 msgstr "In aggiunta al File"
 
-#: ex_docmd.c:7222
+#: ex_docmd.c:7225
 #, fuzzy
 msgid "E747: Cannot change directory, buffer is modifed (add ! to override)"
 msgstr ""
 "E747: Non posso cambiare directory, buffer modificato (aggiungi ! per "
 "eseguire comunque)"
 
-#: ex_docmd.c:7231
+#: ex_docmd.c:7234
 msgid "E186: No previous directory"
 msgstr "E186: Non c'č una directory precedente"
 
-#: ex_docmd.c:7313
+#: ex_docmd.c:7316
 msgid "E187: Unknown"
 msgstr "E187: Sconosciuto"
 
-#: ex_docmd.c:7399
+#: ex_docmd.c:7411
 msgid "E465: :winsize requires two number arguments"
 msgstr "E465: :winsize richiede due argomenti numerici"
 
-#: ex_docmd.c:7459
+#: ex_docmd.c:7471
 #, c-format
 msgid "Window position: X %d, Y %d"
 msgstr "Posizione finestra: X %d, Y %d"
 
-#: ex_docmd.c:7464
+#: ex_docmd.c:7476
 msgid "E188: Obtaining window position not implemented for this platform"
 msgstr ""
 "E188: Informazioni posizione finestra non disponibili su questa piattaforma"
 
-#: ex_docmd.c:7474
+#: ex_docmd.c:7486
 msgid "E466: :winpos requires two number arguments"
 msgstr "E466: :winpos richiede due argomenti numerici"
 
-#: ex_docmd.c:7780
+#: ex_docmd.c:7792
 msgid "Save Redirection"
 msgstr "Salva Redirezione"
 
-#: ex_docmd.c:7997
+#: ex_docmd.c:8009
 msgid "Save View"
 msgstr "Salva Veduta"
 
-#: ex_docmd.c:7998
+#: ex_docmd.c:8010
 msgid "Save Session"
 msgstr "Salva Sessione"
 
-#: ex_docmd.c:8000
+#: ex_docmd.c:8012
 msgid "Save Setup"
 msgstr "Salva Setup"
 
-#: ex_docmd.c:8139
+#: ex_docmd.c:8151
 #, c-format
 msgid "E739: Cannot create directory: %s"
 msgstr "E739: Non posso creare la directory: %s"
 
-#: ex_docmd.c:8168
+#: ex_docmd.c:8180
 #, c-format
 msgid "E189: \"%s\" exists (add ! to override)"
 msgstr "E189: \"%s\" esiste (aggiungi ! per eseguire comunque)"
 
-#: ex_docmd.c:8173
+#: ex_docmd.c:8185
 #, c-format
 msgid "E190: Cannot open \"%s\" for writing"
 msgstr "E190: Non riesco ad aprire \"%s\" in scrittura"
 
 #. set mark
-#: ex_docmd.c:8197
+#: ex_docmd.c:8209
 msgid "E191: Argument must be a letter or forward/backward quote"
 msgstr ""
 "E191: L'argomento deve essere una lettera, oppure un apice/apice retroverso"
 
-#: ex_docmd.c:8238
+#: ex_docmd.c:8250
 msgid "E192: Recursive use of :normal too deep"
 msgstr "E192: Uso ricorsivo di :normal troppo esteso"
 
-#: ex_docmd.c:8787
+#: ex_docmd.c:8799
 msgid "E194: No alternate file name to substitute for '#'"
 msgstr "E194: Nessun nome file alternativo da sostituire a '#'"
 
-#: ex_docmd.c:8818
+#: ex_docmd.c:8830
 msgid "E495: no autocommand file name to substitute for \"<afile>\""
 msgstr "E495: nessun file di autocomandi da sostituire per \"<afile>\""
 
-#: ex_docmd.c:8826
+#: ex_docmd.c:8838
 msgid "E496: no autocommand buffer number to substitute for \"<abuf>\""
 msgstr ""
 "E496: nessun numero di buffer di autocomandi da sostituire per \"<abuf>\""
 
-#: ex_docmd.c:8837
+#: ex_docmd.c:8849
 msgid "E497: no autocommand match name to substitute for \"<amatch>\""
 msgstr ""
 "E497: nessun nome di autocomandi trovato da sostituire per \"<amatch>\""
 
-#: ex_docmd.c:8847
+#: ex_docmd.c:8859
 msgid "E498: no :source file name to substitute for \"<sfile>\""
 msgstr ""
 "E498: nessun nome di file :source trovato da sostituire per \"<sfile>\""
 
-#: ex_docmd.c:8888
+#: ex_docmd.c:8900
 #, no-c-format
 msgid "E499: Empty file name for '%' or '#', only works with \":p:h\""
 msgstr "E499: Un nome di file nullo per '%' or '#', va bene solo con \":p:h\""
 
-#: ex_docmd.c:8890
+#: ex_docmd.c:8902
 msgid "E500: Evaluates to an empty string"
 msgstr "E500: Il valore č una stringa nulla"
 
-#: ex_docmd.c:9884
+#: ex_docmd.c:9896
 msgid "E195: Cannot open viminfo file for reading"
 msgstr "E195: Non posso aprire il file viminfo in lettura"
 
-#: ex_docmd.c:10057
+#: ex_docmd.c:10069
 msgid "E196: No digraphs in this version"
 msgstr "E196: Digrammi non supportati in questa versione"
 
@@ -1763,7 +1775,7 @@ msgstr "Eccezione"
 msgid "Error and interrupt"
 msgstr "Errore ed interruzione"
 
-#: ex_eval.c:753 gui.c:4405 gui_xmdlg.c:687 gui_xmdlg.c:809 os_mswin.c:601
+#: ex_eval.c:753 gui.c:4409 gui_xmdlg.c:687 gui_xmdlg.c:809 os_mswin.c:601
 msgid "Error"
 msgstr "Errore"
 
@@ -1896,7 +1908,7 @@ msgstr "E199: Finestra attiva o buffer c
 msgid "Illegal file name"
 msgstr "Nome di file non ammesso"
 
-#: fileio.c:399 fileio.c:539 fileio.c:2941 fileio.c:2982
+#: fileio.c:399 fileio.c:539 fileio.c:2944 fileio.c:2985
 msgid "is a directory"
 msgstr "č una directory"
 
@@ -1904,7 +1916,7 @@ msgstr "č una directory"
 msgid "is not a file"
 msgstr "non č un file"
 
-#: fileio.c:561 fileio.c:4174
+#: fileio.c:561 fileio.c:4177
 msgid "[New File]"
 msgstr "[File nuovo]"
 
@@ -1961,15 +1973,15 @@ msgstr "[trovata NL]"
 msgid "[long lines split]"
 msgstr "[linee lunghe divise]"
 
-#: fileio.c:2133 fileio.c:4158
+#: fileio.c:2133 fileio.c:4161
 msgid "[NOT converted]"
 msgstr "[NON convertito]"
 
-#: fileio.c:2138 fileio.c:4163
+#: fileio.c:2138 fileio.c:4166
 msgid "[converted]"
 msgstr "[convertito]"
 
-#: fileio.c:2145 fileio.c:4188
+#: fileio.c:2145 fileio.c:4191
 msgid "[crypted]"
 msgstr "[cifrato]"
 
@@ -1998,144 +2010,144 @@ msgstr "Conversione fallita con 'charcon
 msgid "can't read output of 'charconvert'"
 msgstr "non riesco a leggere il risultato di 'charconvert'"
 
-#: fileio.c:2794
+#: fileio.c:2797
 msgid "E676: No matching autocommands for acwrite buffer"
 msgstr "E676: Nessun autocomando corrispondente per buffer acwrite"
 
-#: fileio.c:2822
+#: fileio.c:2825
 msgid "E203: Autocommands deleted or unloaded buffer to be written"
 msgstr "E203: Buffer in scrittuta cancellato o scaricato dagli autocomandi"
 
-#: fileio.c:2845
+#: fileio.c:2848
 msgid "E204: Autocommand changed number of lines in unexpected way"
 msgstr "E204: L'autocomando ha modificato numero linee in maniera imprevista"
 
-#: fileio.c:2885
+#: fileio.c:2888
 msgid "NetBeans dissallows writes of unmodified buffers"
 msgstr "NetBeans non permette la scrittura di un buffer non modificato"
 
-#: fileio.c:2893
+#: fileio.c:2896
 msgid "Partial writes disallowed for NetBeans buffers"
 msgstr "Scrittura parziale disabilitata per i buffer di NetBeans"
 
-#: fileio.c:2947 fileio.c:2965
+#: fileio.c:2950 fileio.c:2968
 msgid "is not a file or writable device"
 msgstr "non č un file o un dispositivo su cui si possa scrivere"
 
-#: fileio.c:3017 netbeans.c:3445
+#: fileio.c:3020 netbeans.c:3445
 msgid "is read-only (add ! to override)"
 msgstr "č in sola letture (aggiungi ! per eseguire comunque)"
 
-#: fileio.c:3363
+#: fileio.c:3366
 msgid "E506: Can't write to backup file (add ! to override)"
 msgstr ""
 "E506: Non posso scrivere sul file di backup (aggiungi ! per eseguire "
 "comunque)"
 
-#: fileio.c:3375
+#: fileio.c:3378
 msgid "E507: Close error for backup file (add ! to override)"
 msgstr ""
 "E507: Errore in chiusura sul file di backup (aggiungi ! per eseguire "
 "comunque)"
 
-#: fileio.c:3377
+#: fileio.c:3380
 msgid "E508: Can't read file for backup (add ! to override)"
 msgstr ""
 "E508: Non riesco a leggere il file di backup (aggiungi ! per eseguire "
 "comunque)"
 
-#: fileio.c:3393
+#: fileio.c:3396
 msgid "E509: Cannot create backup file (add ! to override)"
 msgstr ""
 "E509: Non posso creare il file di backup (aggiungi ! per eseguire comunque)"
 
-#: fileio.c:3496
+#: fileio.c:3499
 msgid "E510: Can't make backup file (add ! to override)"
 msgstr ""
 "E510: Non posso fare il file di backup (aggiungi ! per eseguire comunque)"
 
-#: fileio.c:3558
+#: fileio.c:3561
 msgid "E460: The resource fork would be lost (add ! to override)"
 msgstr ""
 "E460: La 'fork' sulla risorsa verrebbe persa (aggiungi ! per eseguire "
 "comunque)"
 
-#: fileio.c:3668
+#: fileio.c:3671
 msgid "E214: Can't find temp file for writing"
 msgstr "E214: Non riesco a trovare un file 'temp' su cui scrivere"
 
-#: fileio.c:3686
+#: fileio.c:3689
 msgid "E213: Cannot convert (add ! to write without conversion)"
 msgstr ""
 "E213: Non riesco a convertire (aggiungi ! per scrivere senza conversione)"
 
-#: fileio.c:3721
+#: fileio.c:3724
 msgid "E166: Can't open linked file for writing"
 msgstr "E166: Non posso aprire il file collegato ('linked') in scrittura"
 
-#: fileio.c:3725
+#: fileio.c:3728
 msgid "E212: Can't open file for writing"
 msgstr "E212: Non posso aprire il file in scrittura"
 
-#: fileio.c:4001
+#: fileio.c:4004
 msgid "E667: Fsync failed"
 msgstr "E667: Fsync fallito"
 
-#: fileio.c:4008
+#: fileio.c:4011
 msgid "E512: Close failed"
 msgstr "E512: Chiusura fallita"
 
-#: fileio.c:4079
+#: fileio.c:4082
 msgid "E513: write error, conversion failed (make 'fenc' empty to override)"
 msgstr ""
 "E513: errore in scrittura, conversione fallita (rendere 'fenc' nullo per "
 "eseguire comunque)"
 
-#: fileio.c:4085
+#: fileio.c:4088
 msgid "E514: write error (file system full?)"
 msgstr "E514: errore in scrittura ('File System' pieno?)"
 
-#: fileio.c:4153
+#: fileio.c:4156
 msgid " CONVERSION ERROR"
 msgstr " ERRORE DI CONVERSIONE"
 
-#: fileio.c:4169
+#: fileio.c:4172
 msgid "[Device]"
 msgstr "[Dispositivo]"
 
-#: fileio.c:4174
+#: fileio.c:4177
 msgid "[New]"
 msgstr "[Nuovo]"
 
-#: fileio.c:4196
+#: fileio.c:4199
 msgid " [a]"
 msgstr " [a]"
 
-#: fileio.c:4196
+#: fileio.c:4199
 msgid " appended"
 msgstr " aggiunto in fondo"
 
-#: fileio.c:4198
+#: fileio.c:4201
 msgid " [w]"
 msgstr " [s]"
 
-#: fileio.c:4198
+#: fileio.c:4201
 msgid " written"
 msgstr " scritti"
 
-#: fileio.c:4251
+#: fileio.c:4254
 msgid "E205: Patchmode: can't save original file"
 msgstr "E205: Patchmode: non posso salvare il file originale"
 
-#: fileio.c:4273
+#: fileio.c:4276
 msgid "E206: patchmode: can't touch empty original file"
 msgstr "E206: patchmode: non posso alterare il file vuoto originale"
 
-#: fileio.c:4288
+#: fileio.c:4291
 msgid "E207: Can't delete backup file"
 msgstr "E193: Non riesco a cancellare il file di backup"
 
-#: fileio.c:4352
+#: fileio.c:4355
 msgid ""
 "\n"
 "WARNING: Original file may be lost or damaged\n"
@@ -2143,96 +2155,96 @@ msgstr ""
 "\n"
 "ATTENZIONE: Il file originale puō essere perso o danneggiato\n"
 
-#: fileio.c:4354
+#: fileio.c:4357
 msgid "don't quit the editor until the file is successfully written!"
 msgstr "non uscire dall'editor prima della fine della scrittura del file!"
 
-#: fileio.c:4443
+#: fileio.c:4446
 msgid "[dos]"
 msgstr "[DOS]"
 
-#: fileio.c:4443
+#: fileio.c:4446
 msgid "[dos format]"
 msgstr "[in formato DOS]"
 
-#: fileio.c:4450
+#: fileio.c:4453
 msgid "[mac]"
 msgstr "[MAC]"
 
-#: fileio.c:4450
+#: fileio.c:4453
 msgid "[mac format]"
 msgstr "[in formato MAC]"
 
-#: fileio.c:4457
+#: fileio.c:4460
 msgid "[unix]"
 msgstr "[UNIX]"
 
-#: fileio.c:4457
+#: fileio.c:4460
 msgid "[unix format]"
 msgstr "[in formato UNIX]"
 
-#: fileio.c:4484
+#: fileio.c:4487
 msgid "1 line, "
 msgstr "1 linea, "
 
-#: fileio.c:4486
+#: fileio.c:4489
 #, c-format
 msgid "%ld lines, "
 msgstr "%ld linee,"
 
-#: fileio.c:4489
+#: fileio.c:4492
 msgid "1 character"
 msgstr "1 carattere"
 
-#: fileio.c:4491
+#: fileio.c:4494
 #, c-format
 msgid "%ld characters"
 msgstr "%ld caratteri"
 
-#: fileio.c:4501 netbeans.c:3387
+#: fileio.c:4504 netbeans.c:3387
 msgid "[noeol]"
 msgstr "[manca carattere di fine linea]"
 
-#: fileio.c:4501 netbeans.c:3387
+#: fileio.c:4504 netbeans.c:3387
 msgid "[Incomplete last line]"
 msgstr "[Ultima linea incompleta]"
 
 #. don't overwrite messages here
 #. must give this prompt
 #. don't use emsg() here, don't want to flush the buffers
-#: fileio.c:4520
+#: fileio.c:4523
 msgid "WARNING: The file has been changed since reading it!!!"
 msgstr "ATTENZIONE: File modificato dopo essere stato letto dall'Editor!!!"
 
-#: fileio.c:4522
+#: fileio.c:4525
 msgid "Do you really want to write to it"
 msgstr "Vuoi davvero riscriverlo"
 
-#: fileio.c:5759
+#: fileio.c:5762
 #, c-format
 msgid "E208: Error writing to \"%s\""
 msgstr "E208: Errore in scrittura di \"%s\""
 
-#: fileio.c:5766
+#: fileio.c:5769
 #, c-format
 msgid "E209: Error closing \"%s\""
 msgstr "E209: Errore in chiusura di \"%s\""
 
-#: fileio.c:5769
+#: fileio.c:5772
 #, c-format
 msgid "E210: Error reading \"%s\""
 msgstr "E210: Errore in lettura di \"%s\""
 
-#: fileio.c:6024
+#: fileio.c:6027
 msgid "E246: FileChangedShell autocommand deleted buffer"
 msgstr "E246: L'autocomando 'FileChnagedShell' ha cancellato il buffer"
 
-#: fileio.c:6037
+#: fileio.c:6040
 #, c-format
 msgid "E211: File \"%s\" no longer available"
 msgstr "E211: Il file \"%s\" non esiste pių"
 
-#: fileio.c:6052
+#: fileio.c:6055
 #, c-format
 msgid ""
 "W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as "
@@ -2240,39 +2252,39 @@ msgid ""
 msgstr ""
 "W12: Attenzione: File \"%s\" modificato su disco ed anche nel buffer di Vim"
 
-#: fileio.c:6053
+#: fileio.c:6056
 msgid "See \":help W12\" for more info."
 msgstr "Vedere \":help W12\" per ulteriori informazioni."
 
-#: fileio.c:6057
+#: fileio.c:6060
 #, c-format
 msgid "W11: Warning: File \"%s\" has changed since editing started"
 msgstr "W11: Attenzione: File \"%s\" modificato dopo l'apertura"
 
-#: fileio.c:6058
+#: fileio.c:6061
 msgid "See \":help W11\" for more info."
 msgstr "Vedere \":help W11\" per ulteriori informazioni."
 
-#: fileio.c:6062
+#: fileio.c:6065
 #, c-format
 msgid "W16: Warning: Mode of file \"%s\" has changed since editing started"
 msgstr "W16: Attenzione: Modo File \"%s\" modificato dopo l'apertura"
 
-#: fileio.c:6063
+#: fileio.c:6066
 #, fuzzy
 msgid "See \":help W16\" for more info."
 msgstr "Vedere \":help W16\" per ulteriori informazioni."
 
-#: fileio.c:6075
+#: fileio.c:6078
 #, c-format
 msgid "W13: Warning: File \"%s\" has been created after editing started"
 msgstr "W13: Attenzione: Il file \"%s\" risulta creato dopo l'apertura"
 
-#: fileio.c:6100
+#: fileio.c:6103
 msgid "Warning"
 msgstr "Attenzione"
 
-#: fileio.c:6101
+#: fileio.c:6104
 msgid ""
 "&OK\n"
 "&Load File"
@@ -2280,48 +2292,48 @@ msgstr ""
 "&OK\n"
 "&Carica File"
 
-#: fileio.c:6203
+#: fileio.c:6206
 #, c-format
 msgid "E462: Could not prepare for reloading \"%s\""
 msgstr "E462: Non riesco a preparare per ri-caricare \"%s\""
 
-#: fileio.c:6222
+#: fileio.c:6225
 #, c-format
 msgid "E321: Could not reload \"%s\""
 msgstr "E321: Non riesco a ri-caricare \"%s\""
 
-#: fileio.c:6817
+#: fileio.c:6820
 msgid "--Deleted--"
 msgstr "--Cancellato--"
 
-#: fileio.c:6964
+#: fileio.c:6967
 #, c-format
 msgid "auto-removing autocommand: %s <buffer=%d>"
 msgstr "auto-rimozione dell'autocommand: %s <buffer=%d>"
 
 #. the group doesn't exist
-#: fileio.c:7008
+#: fileio.c:7011
 #, c-format
 msgid "E367: No such group: \"%s\""
 msgstr "E367: Gruppo inesistente: \"%s\""
 
-#: fileio.c:7134
+#: fileio.c:7137
 #, c-format
 msgid "E215: Illegal character after *: %s"
 msgstr "E215: Carattere non ammesso dopo *: %s"
 
-#: fileio.c:7146
+#: fileio.c:7149
 #, c-format
 msgid "E216: No such event: %s"
 msgstr "E216: Evento inesistente: %s"
 
-#: fileio.c:7148
+#: fileio.c:7151
 #, c-format
 msgid "E216: No such group or event: %s"
 msgstr "E216: Evento o gruppo inesistente: %s"
 
 #. Highlight title
-#: fileio.c:7346
+#: fileio.c:7349
 msgid ""
 "\n"
 "--- Auto-Commands ---"
@@ -2329,44 +2341,44 @@ msgstr ""
 "\n"
 "--- Auto-Comandi ---"
 
-#: fileio.c:7582
+#: fileio.c:7585
 #, c-format
 msgid "E680: <buffer=%d>: invalid buffer number "
 msgstr "E680: <buffer=%d>: numero buffer non valido"
 
-#: fileio.c:7679
+#: fileio.c:7682
 msgid "E217: Can't execute autocommands for ALL events"
 msgstr "E217: Non posso eseguire autocomandi for TUTTI gli eventi"
 
-#: fileio.c:7702
+#: fileio.c:7705
 msgid "No matching autocommands"
 msgstr "Nessun autocomando corrispondente"
 
-#: fileio.c:8026
+#: fileio.c:8029
 msgid "E218: autocommand nesting too deep"
 msgstr "E218: nidificazione dell'autocomando troppo estesa"
 
-#: fileio.c:8334
+#: fileio.c:8337
 #, c-format
 msgid "%s Auto commands for \"%s\""
 msgstr "%s Auto comandi per \"%s\""
 
-#: fileio.c:8342
+#: fileio.c:8345
 #, c-format
 msgid "Executing %s"
 msgstr "Eseguo %s"
 
 #. always scroll up, don't overwrite
-#: fileio.c:8410
+#: fileio.c:8413
 #, c-format
 msgid "autocommand %s"
 msgstr "autocomando %s"
 
-#: fileio.c:9005
+#: fileio.c:9008
 msgid "E219: Missing {."
 msgstr "E219: Manca {."
 
-#: fileio.c:9007
+#: fileio.c:9010
 msgid "E220: Missing }."
 msgstr "E220: Manca }."
 
@@ -2485,16 +2497,16 @@ msgstr "E665: Non posso inizializzare la
 msgid "E231: 'guifontwide' invalid"
 msgstr "E231: 'guifontwide' non valido"
 
-#: gui.c:580
+#: gui.c:583
 msgid "E599: Value of 'imactivatekey' is invalid"
 msgstr "E599: Il valore di 'imactivatekey' non č valido"
 
-#: gui.c:4086
+#: gui.c:4089
 #, c-format
 msgid "E254: Cannot allocate color %s"
 msgstr "E254: Non riesco ad allocare il colore %s"
 
-#: gui.c:4614
+#: gui.c:4618
 msgid "No match at cursor, finding next"
 msgstr "Nessuna corrispondenza al cursore, cerco la prossima"
 
@@ -2967,11 +2979,11 @@ msgstr ""
 "???: Spiacente, comando non disponibile, non riesco a caricare libreria "
 "programmi MzScheme."
 
-#: if_mzsch.c:1222 if_python.c:1084 if_tcl.c:1406
+#: if_mzsch.c:1222 if_python.c:1095 if_tcl.c:1406
 msgid "invalid expression"
 msgstr "espressione non valida"
 
-#: if_mzsch.c:1230 if_python.c:1098 if_tcl.c:1411
+#: if_mzsch.c:1230 if_python.c:1109 if_tcl.c:1411
 msgid "expressions disabled at compile time"
 msgstr "espressioni disabilitate in compilazione"
 
@@ -2992,28 +3004,28 @@ msgid "couldn't open buffer"
 msgstr "non sono riuscito ad aprire il buffer"
 
 #: if_mzsch.c:1888 if_mzsch.c:1914 if_mzsch.c:1989 if_mzsch.c:2038
-#: if_mzsch.c:2147 if_mzsch.c:2190 if_python.c:2311 if_python.c:2345
-#: if_python.c:2400 if_python.c:2468 if_python.c:2590 if_python.c:2642
+#: if_mzsch.c:2147 if_mzsch.c:2190 if_python.c:2322 if_python.c:2356
+#: if_python.c:2411 if_python.c:2479 if_python.c:2601 if_python.c:2653
 #: if_tcl.c:688 if_tcl.c:733 if_tcl.c:807 if_tcl.c:877 if_tcl.c:2003
 msgid "cannot save undo information"
 msgstr "non riesco a salvare informazioni per 'undo'"
 
-#: if_mzsch.c:1893 if_mzsch.c:1997 if_mzsch.c:2051 if_python.c:2313
-#: if_python.c:2407 if_python.c:2479
+#: if_mzsch.c:1893 if_mzsch.c:1997 if_mzsch.c:2051 if_python.c:2324
+#: if_python.c:2418 if_python.c:2490
 msgid "cannot delete line"
 msgstr "non posso cancellare la linea"
 
-#: if_mzsch.c:1919 if_mzsch.c:2065 if_python.c:2350 if_python.c:2495
+#: if_mzsch.c:1919 if_mzsch.c:2065 if_python.c:2361 if_python.c:2506
 #: if_tcl.c:694 if_tcl.c:2025
 msgid "cannot replace line"
 msgstr "non posso sostituire la linea"
 
-#: if_mzsch.c:2079 if_mzsch.c:2152 if_mzsch.c:2199 if_python.c:2513
-#: if_python.c:2592 if_python.c:2650
+#: if_mzsch.c:2079 if_mzsch.c:2152 if_mzsch.c:2199 if_python.c:2524
+#: if_python.c:2603 if_python.c:2661
 msgid "cannot insert line"
 msgstr "non posso inserire la linea"
 
-#: if_mzsch.c:2295 if_python.c:2762
+#: if_mzsch.c:2295 if_python.c:2773
 msgid "string cannot contain newlines"
 msgstr "la stringa non puō contenere caratteri 'A CAPO'"
 
@@ -3037,7 +3049,7 @@ msgstr "finestra non valida"
 msgid "linenr out of range"
 msgstr "numero linea non nell'intervallo"
 
-#: if_python.c:438
+#: if_python.c:449
 msgid ""
 "E263: Sorry, this command is disabled, the Python library could not be "
 "loaded."
@@ -3045,79 +3057,79 @@ msgstr ""
 "E263: Spiacente, comando non disponibile, non riesco a caricare libreria "
 "programmi Python."
 
-#: if_python.c:504
+#: if_python.c:515
 msgid "E659: Cannot invoke Python recursively"
 msgstr "E659: Python non puō essere chiamato ricorsivamente"
 
-#: if_python.c:705
+#: if_python.c:716
 msgid "can't delete OutputObject attributes"
 msgstr "non riesco a cancellare gli attributi OutputObject"
 
-#: if_python.c:712
+#: if_python.c:723
 msgid "softspace must be an integer"
 msgstr "softspace deve essere un numero intero"
 
-#: if_python.c:720
+#: if_python.c:731
 msgid "invalid attribute"
 msgstr "atrributo non valido"
 
-#: if_python.c:759 if_python.c:773
+#: if_python.c:770 if_python.c:784
 msgid "writelines() requires list of strings"
 msgstr "writelines() richiede una lista di stringhe"
 
-#: if_python.c:899
+#: if_python.c:910
 msgid "E264: Python: Error initialising I/O objects"
 msgstr "E264: Python: Errore inizializzazione oggetti I/O"
 
-#: if_python.c:1111
+#: if_python.c:1122
 msgid "attempt to refer to deleted buffer"
 msgstr "tentativo di referenza a buffer cancellato"
 
-#: if_python.c:1126 if_python.c:1167 if_python.c:1231 if_tcl.c:1218
+#: if_python.c:1137 if_python.c:1178 if_python.c:1242 if_tcl.c:1218
 msgid "line number out of range"
 msgstr "numero linea non nell'intervallo"
 
-#: if_python.c:1366
+#: if_python.c:1377
 #, c-format
 msgid "<buffer object (deleted) at %8lX>"
 msgstr "<buffer oggetto (cancellato) a %8lX>"
 
-#: if_python.c:1457 if_tcl.c:840
+#: if_python.c:1468 if_tcl.c:840
 msgid "invalid mark name"
 msgstr "nome di mark non valido"
 
-#: if_python.c:1737
+#: if_python.c:1748
 msgid "no such buffer"
 msgstr "buffer inesistente"
 
-#: if_python.c:1825
+#: if_python.c:1836
 msgid "attempt to refer to deleted window"
 msgstr "tentativo di referenza a una finestra cancellata"
 
-#: if_python.c:1870
+#: if_python.c:1881
 msgid "readonly attribute"
 msgstr "attributo 'readonly'"
 
-#: if_python.c:1883
+#: if_python.c:1894
 msgid "cursor position outside buffer"
 msgstr "posizione cursore fuori dal buffer"
 
-#: if_python.c:1960
+#: if_python.c:1971
 #, c-format
 msgid "<window object (deleted) at %.8lX>"
 msgstr "<finestra oggetto (cancellata) a %.8lX>"
 
-#: if_python.c:1972
+#: if_python.c:1983
 #, c-format
 msgid "<window object (unknown) at %.8lX>"
 msgstr "<finestra oggetto (sconosciuta) a %.8lX>"
 
-#: if_python.c:1974
+#: if_python.c:1985
 #, c-format
 msgid "<window %d>"
 msgstr "<finestra %d>"
 
-#: if_python.c:2050
+#: if_python.c:2061
 msgid "no such window"
 msgstr "finestra inesistente"
 
@@ -3420,7 +3432,7 @@ msgstr "linea comandi prima di vimrc"
 msgid "E282: Cannot read from \"%s\""
 msgstr "E282: Non posso leggere da \"%s\""
 
-#: main.c:2522
+#: main.c:2527
 msgid ""
 "\n"
 "More info with: \"vim -h\"\n"
@@ -3428,23 +3440,23 @@ msgstr ""
 "\n"
 "Maggiori informazioni con: \"vim -h\"\n"
 
-#: main.c:2555
+#: main.c:2560
 msgid "[file ..]       edit specified file(s)"
 msgstr "[file ..]       apri file(s) specificati"
 
-#: main.c:2556
+#: main.c:2561
 msgid "-               read text from stdin"
 msgstr "-               leggi testo da 'stdin'"
 
-#: main.c:2557
+#: main.c:2562
 msgid "-t tag          edit file where tag is defined"
 msgstr "-t tag          apri file in cui č definita la tag"
 
-#: main.c:2559
+#: main.c:2564
 msgid "-q [errorfile]  edit file with first error"
 msgstr "-q [errorfile]  apri file col primo errore"
 
-#: main.c:2568
+#: main.c:2573
 msgid ""
 "\n"
 "\n"
@@ -3454,11 +3466,11 @@ msgstr ""
 "\n"
 "  uso:"
 
-#: main.c:2571
+#: main.c:2576
 msgid " vim [arguments] "
 msgstr " vim [argomenti] "
 
-#: main.c:2575
+#: main.c:2580
 msgid ""
 "\n"
 "   or:"
@@ -3466,12 +3478,12 @@ msgstr ""
 "\n"
 "    o:"
 
-#: main.c:2578
+#: main.c:2583
 msgid "where case is ignored prepend / to make flag upper case"
 msgstr ""
 "quando si ignorano maiusc./minusc. preporre / per rendere il flag maiusc."
 
-#: main.c:2581
+#: main.c:2586
 msgid ""
 "\n"
 "\n"
@@ -3481,246 +3493,246 @@ msgstr ""
 "\n"
 "Argomenti:\n"
 
-#: main.c:2582
+#: main.c:2587
 msgid "--\t\t\tOnly file names after this"
 msgstr "--\t\t\tSolo nomi file da qui in poi"
 
-#: main.c:2584
+#: main.c:2589
 msgid "--literal\t\tDon't expand wildcards"
 msgstr "--literal\t\tNon espandere wildcard"
 
-#: main.c:2587
+#: main.c:2592
 msgid "-register\t\tRegister this gvim for OLE"
 msgstr "-register\t\tRegistra questo gvim a OLE"
 
-#: main.c:2588
+#: main.c:2593
 msgid "-unregister\t\tUnregister gvim for OLE"
 msgstr "-unregister\t\tDeregistra gvim a OLE"
 
-#: main.c:2591
+#: main.c:2596
 msgid "-g\t\t\tRun using GUI (like \"gvim\")"
 msgstr "-g\t\t\tEsegui usando GUI (come \"gvim\")"
 
-#: main.c:2592
+#: main.c:2597
 msgid "-f  or  --nofork\tForeground: Don't fork when starting GUI"
 msgstr "-f opp. --nofork\tForeground: Non usare 'fork' inizializzando GUI"
 
-#: main.c:2594
+#: main.c:2599
 msgid "-v\t\t\tVi mode (like \"vi\")"
 msgstr "-v\t\t\tModalitā Vi (come \"vi\")"
 
-#: main.c:2595
+#: main.c:2600
 msgid "-e\t\t\tEx mode (like \"ex\")"
 msgstr "-e\t\t\tModalitā Ex (come \"ex\")"
 
-#: main.c:2596
+#: main.c:2601
 msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")"
 msgstr "-s\t\t\tModalitā Silenziosa (batch) (solo per \"ex\")"
 
-#: main.c:2598
+#: main.c:2603
 msgid "-d\t\t\tDiff mode (like \"vimdiff\")"
 msgstr "-d\t\t\tModalitā Diff (come \"vimdiff\")"
 
-#: main.c:2600
+#: main.c:2605
 msgid "-y\t\t\tEasy mode (like \"evim\", modeless)"
 msgstr "-y\t\t\tModalitā Facile (come \"evim\", senza modalitā)"
 
-#: main.c:2601
+#: main.c:2606
 msgid "-R\t\t\tReadonly mode (like \"view\")"
 msgstr "-R\t\t\tModalitā Sola Lettura (come \"view\")"
 
-#: main.c:2602
+#: main.c:2607
 msgid "-Z\t\t\tRestricted mode (like \"rvim\")"
 msgstr "-Z\t\t\tModalitā Ristretta (come \"rvim\")"
 
-#: main.c:2603
+#: main.c:2608
 msgid "-m\t\t\tModifications (writing files) not allowed"
 msgstr "-m\t\t\tRiscritture del file non permesse"
 
-#: main.c:2604
+#: main.c:2609
 msgid "-M\t\t\tModifications in text not allowed"
 msgstr "-M\t\t\tModifiche nel file non permesse"
 
-#: main.c:2605
+#: main.c:2610
 msgid "-b\t\t\tBinary mode"
 msgstr "-b\t\t\tModalitā Binaria"
 
-#: main.c:2607
+#: main.c:2612
 msgid "-l\t\t\tLisp mode"
 msgstr "-l\t\t\tModalitā Lisp"
 
-#: main.c:2609
+#: main.c:2614
 msgid "-C\t\t\tCompatible with Vi: 'compatible'"
 msgstr "-C\t\t\tCompatibile con Vi: 'compatible'"
 
-#: main.c:2610
+#: main.c:2615
 msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'"
 msgstr "-N\t\t\tNon interamente compatibile con Vi: 'nocompatible'"
 
-#: main.c:2611
+#: main.c:2616
 msgid "-V[N]\t\tVerbose level"
 msgstr "-V[N]\t\tLivello Verbositā"
 
-#: main.c:2612
+#: main.c:2617
 msgid "-D\t\t\tDebugging mode"
 msgstr "-D\t\t\tModalitā Debug"
 
-#: main.c:2613
+#: main.c:2618
 msgid "-n\t\t\tNo swap file, use memory only"
 msgstr "-n\t\t\tNiente file di swap, usa solo memoria"
 
-#: main.c:2614
+#: main.c:2619
 msgid "-r\t\t\tList swap files and exit"
 msgstr "-r\t\t\tLista swap file ed esci"
 
-#: main.c:2615
+#: main.c:2620
 msgid "-r (with file name)\tRecover crashed session"
 msgstr "-r (e nome file)\tRecupera da sessione finita male"
 
-#: main.c:2616
+#: main.c:2621
 msgid "-L\t\t\tSame as -r"
 msgstr "-L\t\t\tCome -r"
 
-#: main.c:2618
+#: main.c:2623
 msgid "-f\t\t\tDon't use newcli to open window"
 msgstr "-f\t\t\tNon usare newcli per aprire finestra"
 
-#: main.c:2619
+#: main.c:2624
 msgid "-dev <device>\t\tUse <device> for I/O"
 msgstr "-dev <dispositivo>\t\tUsa <dispositivo> per I/O"
 
-#: main.c:2622
+#: main.c:2627
 msgid "-A\t\t\tstart in Arabic mode"
 msgstr "-A\t\t\tComincia in modalitā Araba"
 
-#: main.c:2625
+#: main.c:2630
 msgid "-H\t\t\tStart in Hebrew mode"
 msgstr "-H\t\t\tComincia in modalitā Ebraica"
 
-#: main.c:2628
+#: main.c:2633
 msgid "-F\t\t\tStart in Farsi mode"
 msgstr "-F\t\t\tComincia in modalitā Farsi (Persiano)"
 
-#: main.c:2630
+#: main.c:2635
 msgid "-T <terminal>\tSet terminal type to <terminal>"
 msgstr "-T <terminale>\tImposta tipo terminale a <terminale>"
 
-#: main.c:2631
+#: main.c:2636
 msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc"
 msgstr "-u <vimrc>\t\tUsa <vimrc> invece di .vimrc"
 
-#: main.c:2633
+#: main.c:2638
 msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc"
 msgstr "-U <gvimrc>\t\tUsa <gvimrc> invece di .gvimrc"
 
-#: main.c:2635
+#: main.c:2640
 msgid "--noplugin\t\tDon't load plugin scripts"
 msgstr "--noplugin\t\tNon caricare script plugin"
 
-#: main.c:2636
+#: main.c:2641
 msgid "-o[N]\t\tOpen N windows (default: one for each file)"
 msgstr "-o[N]\t\tApri N finestre (predefinito: una per ogni file)"
 
-#: main.c:2637
+#: main.c:2642
 msgid "-O[N]\t\tLike -o but split vertically"
 msgstr "-O[N]\t\tCome -o ma dividi le finestre in verticale"
 
-#: main.c:2638
+#: main.c:2643
 msgid "+\t\t\tStart at end of file"
 msgstr "+\t\t\tPosizionati alla fine del file"
 
-#: main.c:2639
+#: main.c:2644
 msgid "+<lnum>\t\tStart at line <lnum>"
 msgstr "+<lnum>\t\tPosizionati alla linea <lnum>"
 
-#: main.c:2641
+#: main.c:2646
 msgid "--cmd <command>\tExecute <command> before loading any vimrc file"
 msgstr ""
 "--cmd <comando>\t\tEsegui <comando> prima di caricare eventuali file vimrc"
 
-#: main.c:2643
+#: main.c:2648
 msgid "-c <command>\t\tExecute <command> after loading the first file"
 msgstr "-c <comando>\t\tEsegui <comando> dopo caricamento primo file"
 
-#: main.c:2644
+#: main.c:2649
 msgid "-S <session>\t\tSource file <session> after loading the first file"
 msgstr ""
 "-S <sessione>\tEsegui comandi in file <sessione> dopo caricamento primo file"
 
-#: main.c:2645
+#: main.c:2650
 msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>"
 msgstr "-s <scriptin>\tLeggi comandi in modalitā normale da file <scriptin>"
 
-#: main.c:2646
+#: main.c:2651
 msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>"
 msgstr "-w <scriptout>\tAggiungi tutti i comandi immessi a file <scriptout>"
 
-#: main.c:2647
+#: main.c:2652
 msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>"
 msgstr "-W <scriptout>\tScrivi tutti i comandi immessi in file <scriptout>"
 
-#: main.c:2649
+#: main.c:2654
 msgid "-x\t\t\tEdit encrypted files"
 msgstr "-x\t\t\tApri un file cifrato"
 
-#: main.c:2653
+#: main.c:2658
 msgid "-display <display>\tConnect vim to this particular X-server"
 msgstr "-display <schermo>\tEsegui vim a questo particolare server X"
 
-#: main.c:2655
+#: main.c:2660
 msgid "-X\t\t\tDo not connect to X server"
 msgstr "-X\t\t\tNon connetterti a server X"
 
-#: main.c:2658
+#: main.c:2663
 msgid "--remote <files>\tEdit <files> in a Vim server if possible"
 msgstr "--remote <file>\tApri <file> in un server Vim se possibile"
 
-#: main.c:2659
+#: main.c:2664
 msgid "--remote-silent <files>  Same, don't complain if there is no server"
 msgstr "--remote-silent <files>  Stessa cosa, ignora se non esiste un server"
 
-#: main.c:2660
+#: main.c:2665
 msgid ""
 "--remote-wait <files>  As --remote but wait for files to have been edited"
 msgstr ""
 "--remote-wait <file>  Come --remote ma aspetta che file siano elaborati"
 
-#: main.c:2661
+#: main.c:2666
 msgid ""
 "--remote-wait-silent <files>  Same, don't complain if there is no server"
 msgstr ""
 "--remote-wait-silent <files>  Stessa cosa, ignora se non esiste un server"
 
-#: main.c:2662
+#: main.c:2667
 msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit"
 msgstr "--remote-send <tasti>\tInvia <tasti> a un server Vim ed esci"
 
-#: main.c:2663
+#: main.c:2668
 msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result"
 msgstr ""
 "--remote--expr <expr>\tEsegui <expr> in un server Vim e stampa risultato"
 
-#: main.c:2664
+#: main.c:2669
 msgid "--serverlist\t\tList available Vim server names and exit"
 msgstr "--serverlist\t\tLista nomi server Vim disponibili ed esci"
 
-#: main.c:2665
+#: main.c:2670
 msgid "--servername <name>\tSend to/become the Vim server <name>"
 msgstr "--servername <nome>\tInvia a/diventa server Vim di nome <nome>"
 
-#: main.c:2668
+#: main.c:2673
 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
 msgstr "-i <viminfo>\t\tUsa <viminfo> invece di .viminfo"
 
-#: main.c:2670
+#: main.c:2675
 msgid "-h  or  --help\tPrint Help (this message) and exit"
 msgstr "-h opp. --help\tStampa Aiuto (questo messaggio) ed esci"
 
-#: main.c:2671
+#: main.c:2676
 msgid "--version\t\tPrint version information and exit"
 msgstr "--version\t\tStampa informazioni sulla versione ed esci"
 
-#: main.c:2675
+#: main.c:2680
 msgid ""
 "\n"
 "Arguments recognised by gvim (Motif version):\n"
@@ -3728,7 +3740,7 @@ msgstr ""
 "\n"
 "Opzioni accettate da gvim (versione Motif):\n"
 
-#: main.c:2679
+#: main.c:2684
 msgid ""
 "\n"
 "Arguments recognised by gvim (neXtaw version):\n"
@@ -3736,7 +3748,7 @@ msgstr ""
 "\n"
 "Opzioni accettate da gvim (versione neXtaw):\n"
 
-#: main.c:2681
+#: main.c:2686
 msgid ""
 "\n"
 "Arguments recognised by gvim (Athena version):\n"
@@ -3744,72 +3756,72 @@ msgstr ""
 "\n"
 "Opzioni accettate da gvim (versione Athena):\n"
 
-#: main.c:2685
+#: main.c:2690
 msgid "-display <display>\tRun vim on <display>"
 msgstr "-display <schermo>\tEsegui vim su <schermo>"
 
-#: main.c:2686
+#: main.c:2691
 msgid "-iconic\t\tStart vim iconified"
 msgstr "-iconic\t\tInizia vim riducendolo ad icona"
 
-#: main.c:2688
+#: main.c:2693
 msgid "-name <name>\t\tUse resource as if vim was <name>"
 msgstr "-name <nome>\t\tUsa risorsa come se vim fosse <nome>"
 
-#: main.c:2689
+#: main.c:2694
 msgid "\t\t\t  (Unimplemented)\n"
 msgstr "\t\t\t  (Non implementato)\n"
 
-#: main.c:2691
+#: main.c:2696
 msgid "-background <color>\tUse <color> for the background (also: -bg)"
 msgstr "-background <colore>\tUsa <colore> come sfondo (anche: -bg)"
 
-#: main.c:2692
+#: main.c:2697
 msgid "-foreground <color>\tUse <color> for normal text (also: -fg)"
 msgstr "-foreground <colore>\tUsa <colore> per il testo normale (anche: -fg)"
 
-#: main.c:2693 main.c:2713 main.c:2729
+#: main.c:2698 main.c:2718 main.c:2734
 msgid "-font <font>\t\tUse <font> for normal text (also: -fn)"
 msgstr "-font <font>\t\tUsa <font> for il testo normale (anche: -fn)"
 
-#: main.c:2694
+#: main.c:2699
 msgid "-boldfont <font>\tUse <font> for bold text"
 msgstr "-boldfont <font>\tUsa <font> per testo in grassetto"
 
-#: main.c:2695
+#: main.c:2700
 msgid "-italicfont <font>\tUse <font> for italic text"
 msgstr "-italicfont <font>\tUsa <font> per testo in corsivo"
 
-#: main.c:2696 main.c:2714 main.c:2730
+#: main.c:2701 main.c:2719 main.c:2735
 msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)"
 msgstr "-geometry <geom>\tUsa <geom> per la geometria iniziale (anche: -geom)"
 
-#: main.c:2697
+#: main.c:2702
 msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)"
 msgstr "-borderwidth <larg>\tUsa larghezza <larg> per bordo (anche: -bw)"
 
-#: main.c:2698
+#: main.c:2703
 msgid "-scrollbarwidth <width>  Use a scrollbar width of <width> (also: -sw)"
 msgstr ""
 "-scrollbarwidth <larg>  Usa larghezza <larg> per scrollbar (anche: -sw)"
 
-#: main.c:2700
+#: main.c:2705
 msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)"
 msgstr "-menuheight <alt>\tUsa altezza <alt> per barra menu (anche: -mh)"
 
-#: main.c:2702 main.c:2715
+#: main.c:2707 main.c:2720
 msgid "-reverse\t\tUse reverse video (also: -rv)"
 msgstr "-reverse\t\tUsa colori invertiti (anche: -rv)"
 
-#: main.c:2703
+#: main.c:2708
 msgid "+reverse\t\tDon't use reverse video (also: +rv)"
 msgstr "+reverse\t\tNon usare colori invertiti (anche: +rv)"
 
-#: main.c:2704
+#: main.c:2709
 msgid "-xrm <resource>\tSet the specified resource"
 msgstr "-xrm <risorsa>\tImposta la risorsa specificata"
 
-#: main.c:2707
+#: main.c:2712
 msgid ""
 "\n"
 "Arguments recognised by gvim (RISC OS version):\n"
@@ -3817,15 +3829,15 @@ msgstr ""
 "\n"
 "Argomenti accettati da gvim (versione RISC OS):\n"
 
-#: main.c:2708
+#: main.c:2713
 msgid "--columns <number>\tInitial width of window in columns"
 msgstr "--columns <numero>\tLarghezza iniziale finestra in colonne"
 
-#: main.c:2709
+#: main.c:2714
 msgid "--rows <number>\tInitial height of window in rows"
 msgstr "--rows <numero>\tAltezza iniziale finestra in righe"
 
-#: main.c:2712
+#: main.c:2717
 msgid ""
 "\n"
 "Arguments recognised by gvim (GTK+ version):\n"
@@ -3833,21 +3845,21 @@ msgstr ""
 "\n"
 "Argomenti accettati da gvim (versione GTK+):\n"
 
-#: main.c:2716
+#: main.c:2721
 msgid "-display <display>\tRun vim on <display> (also: --display)"
 msgstr "-display <schermo>\tEsegui vim su <schermo> (anche: --display)"
 
-#: main.c:2718
+#: main.c:2723
 msgid "--role <role>\tSet a unique role to identify the main window"
 msgstr ""
 "--role <ruolo>\tImposta un ruolo univoco per identificare la finestra "
 "principale"
 
-#: main.c:2720
+#: main.c:2725
 msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
 msgstr "--socketid <xid>\tApri Vim dentro un altro 'widget' GTK"
 
-#: main.c:2723
+#: main.c:2728
 msgid ""
 "\n"
 "Arguments recognised by kvim (KDE version):\n"
@@ -3855,50 +3867,50 @@ msgstr ""
 "\n"
 "Argomenti accettati da kvim (versione KDE):\n"
 
-#: main.c:2724
+#: main.c:2729
 msgid "-black\t\tUse reverse video"
 msgstr "-black\t\tUsa colori invertiti"
 
-#: main.c:2726
+#: main.c:2731
 msgid "-tip\t\t\tDisplay the tip dialog on startup"
 msgstr "-tip\t\t\tMostra la finestra consigli all'avvio"
 
-#: main.c:2727
+#: main.c:2732
 msgid "-notip\t\tDisable the tip dialog"
 msgstr "-notip\t\tDisabilita la finestra consigli"
 
-#: main.c:2731
+#: main.c:2736
 msgid "--display <display>\tRun vim on <display>"
 msgstr "--display <schermo>\tEsegui vim su <schermo>"
 
-#: main.c:2734
+#: main.c:2739
 msgid "-P <parent title>\tOpen Vim inside parent application"
 msgstr "-P <titolo padre>\tApri Vim in un'applicazione padre"
 
-#: main.c:2972
+#: main.c:2977
 msgid "No display"
 msgstr "Manca display"
 
 #. Failed to send, abort.
-#: main.c:2987
+#: main.c:2992
 msgid ": Send failed.\n"
 msgstr ": Invio fallito.\n"
 
 #. Let vim start normally.
-#: main.c:2993
+#: main.c:2998
 msgid ": Send failed. Trying to execute locally\n"
 msgstr ": Invio fallito. Tento di eseguire localmente\n"
 
-#: main.c:3031 main.c:3052
+#: main.c:3036 main.c:3057
 #, c-format
 msgid "%d of %d edited"
 msgstr "%d di %d elaborato"
 
-#: main.c:3074
+#: main.c:3079
 msgid "No display: Send expression failed.\n"
 msgstr "Nessun display: Invio di espressione fallito.\n"
 
-#: main.c:3086
+#: main.c:3091
 msgid ": Send expression failed.\n"
 msgstr ": Invio di espressione fallito.\n"
 
@@ -3974,40 +3986,40 @@ msgstr "Manca '>'"
 msgid "E543: Not a valid codepage"
 msgstr "E543: Codepage non valido"
 
-#: mbyte.c:4524
+#: mbyte.c:4529
 msgid "E284: Cannot set IC values"
 msgstr "E284: Non posso assegnare valori IC"
 
-#: mbyte.c:4680
+#: mbyte.c:4685
 msgid "E285: Failed to create input context"
 msgstr "E285: Creazione di un contesto di input fallita"
 
-#: mbyte.c:4838
+#: mbyte.c:4843
 msgid "E286: Failed to open input method"
 msgstr "E286: Apertura 'input method' fallita"
 
-#: mbyte.c:4849
+#: mbyte.c:4854
 msgid "E287: Warning: Could not set destroy callback to IM"
 msgstr "E287: Attenzione: Non posso assegnare IM a 'destroy callback'"
 
-#: mbyte.c:4855
+#: mbyte.c:4860
 msgid "E288: input method doesn't support any style"
 msgstr "E288: 'input method' non sopporta alcuno stile"
 
-#: mbyte.c:4912
+#: mbyte.c:4917
 msgid "E289: input method doesn't support my preedit type"
 msgstr "E289: 'input method' non supporta il mio tipo di preedit"
 
-#: mbyte.c:4986
+#: mbyte.c:4991
 msgid "E290: over-the-spot style requires fontset"
 msgstr "E290: stile 'over-the-spot' richiede fontset"
 
-#: mbyte.c:5022
+#: mbyte.c:5027
 msgid "E291: Your GTK+ is older than 1.2.3. Status area disabled"
 msgstr ""
 "E291: Il tuo GTK+ č anteriore a versione 1.2.3. Area Status disabilitata"
 
-#: mbyte.c:5329
+#: mbyte.c:5334
 msgid "E292: Input Method Server is not running"
 msgstr "E292: Server di 'Input Method' non in esecuzione"
 
@@ -4678,38 +4690,38 @@ msgstr "Apri File dialogo"
 msgid "E338: Sorry, no file browser in console mode"
 msgstr "E338: Spiacente, niente esplorazione file in modalitā console"
 
-#: misc1.c:2862
+#: misc1.c:2913
 msgid "W10: Warning: Changing a readonly file"
 msgstr "W10: Attenzione: Modifica a un file in sola-lettura"
 
-#: misc1.c:3115
+#: misc1.c:3166
 msgid "1 more line"
 msgstr "1 linea in pių"
 
-#: misc1.c:3117
+#: misc1.c:3168
 msgid "1 line less"
 msgstr "1 linea in meno"
 
-#: misc1.c:3122
+#: misc1.c:3173
 #, c-format
 msgid "%ld more lines"
 msgstr "%ld linee in pių"
 
-#: misc1.c:3124
+#: misc1.c:3175
 #, c-format
 msgid "%ld fewer lines"
 msgstr "%ld linee in meno"
 
-#: misc1.c:3127
+#: misc1.c:3178
 msgid " (Interrupted)"
 msgstr " (Interrotto)"
 
-#: misc1.c:7816
+#: misc1.c:7867
 msgid "Vim: preserving files...\n"
 msgstr "Vim: preservo file...\n"
 
 #. close all memfiles, without deleting
-#: misc1.c:7826
+#: misc1.c:7877
 msgid "Vim: Finished.\n"
 msgstr "Vim: Finito.\n"
 
@@ -4750,44 +4762,44 @@ msgstr "E341: Errore interno: lalloc(%ld
 msgid "E342: Out of memory!  (allocating %lu bytes)"
 msgstr "E342: Non c'č pių memoria! (stavo allocando %lu bytes)"
 
-#: misc2.c:2605
+#: misc2.c:2609
 #, c-format
 msgid "Calling shell to execute: \"%s\""
 msgstr "Chiamo lo shell per eseguire: \"%s\""
 
-#: misc2.c:2870
+#: misc2.c:2874
 msgid "E545: Missing colon"
 msgstr "E545: Manca ':'"
 
-#: misc2.c:2872 misc2.c:2899
+#: misc2.c:2876 misc2.c:2903
 msgid "E546: Illegal mode"
 msgstr "E546: Modalitā non valida"
 
-#: misc2.c:2938
+#: misc2.c:2942
 msgid "E547: Illegal mouseshape"
 msgstr "E547: Forma del mouse non valida"
 
-#: misc2.c:2978
+#: misc2.c:2982
 msgid "E548: digit expected"
 msgstr "E548: aspettavo un numero"
 
-#: misc2.c:2983
+#: misc2.c:2987
 msgid "E549: Illegal percentage"
 msgstr "E549: Percentuale non valida"
 
-#: misc2.c:3295
+#: misc2.c:3299
 msgid "Enter encryption key: "
 msgstr "Immetti chiave di cifratura: "
 
-#: misc2.c:3296
+#: misc2.c:3300
 msgid "Enter same key again: "
 msgstr "Ribatti per conferma la stessa chiave: "
 
-#: misc2.c:3306
+#: misc2.c:3310
 msgid "Keys don't match!"
 msgstr "Le chiavi non corrispondono!"
 
-#: misc2.c:3850
+#: misc2.c:3854
 #, c-format
 msgid ""
 "E343: Invalid path: '**[number]' must be at the end of the path or be "
@@ -4796,35 +4808,35 @@ msgstr ""
 "E343: Percorso non valido: '**[numero]' deve essere a fine percorso o essere "
 "seguito da '%s'."
 
-#: misc2.c:5129
+#: misc2.c:5133
 #, c-format
 msgid "E344: Can't find directory \"%s\" in cdpath"
 msgstr "E344: Non riesco a trovare la directory \"%s\" nel 'cdpath'"
 
-#: misc2.c:5132
+#: misc2.c:5136
 #, c-format
 msgid "E345: Can't find file \"%s\" in path"
 msgstr "E345: Non riesco a trovare il file \"%s\" nel percorso"
 
-#: misc2.c:5138
+#: misc2.c:5142
 #, c-format
 msgid "E346: No more directory \"%s\" found in cdpath"
 msgstr "E346: Nessun altra directory \"%s\" trovata nel 'cdpath'"
 
-#: misc2.c:5141
+#: misc2.c:5145
 #, c-format
 msgid "E347: No more file \"%s\" found in path"
 msgstr "E347: Nessun altro file \"%s\" trovato nel percorso"
 
-#: misc2.c:5381
+#: misc2.c:5386
 msgid "E550: Missing colon"
 msgstr "E550: Manca ':'"
 
-#: misc2.c:5393
+#: misc2.c:5398
 msgid "E551: Illegal component"
 msgstr "E551: Componente non valido"
 
-#: misc2.c:5401
+#: misc2.c:5406
 msgid "E552: digit expected"
 msgstr "E552: aspettavo un numero"
 
@@ -4852,6 +4864,10 @@ msgstr "lettura da socket Netbeans"
 msgid "E658: NetBeans connection lost for buffer %ld"
 msgstr "E658: Connessione NetBeans persa per il buffer %ld"
 
+#: netbeans.c:3443
+msgid "E505: "
+msgstr "E505: "
+
 #: normal.c:3005
 msgid "Warning: terminal cannot highlight"
 msgstr "Attenzione: il terminale non č in grado di evidenziare"
@@ -4868,19 +4884,19 @@ msgstr "E349: Nessun identificativo sott
 msgid "E352: Cannot erase folds with current 'foldmethod'"
 msgstr "E352: Non posso togliere piegature con il 'foldmethod' in uso"
 
-#: normal.c:6853
+#: normal.c:6870
 msgid "E664: changelist is empty"
 msgstr "E664: lista modifiche vuota"
 
-#: normal.c:6855
+#: normal.c:6872
 msgid "E662: At start of changelist"
 msgstr "E662: All'inizio della lista modifiche"
 
-#: normal.c:6857
+#: normal.c:6874
 msgid "E663: At end of changelist"
 msgstr "E663: Alla fine della lista modifiche"
 
-#: normal.c:8136
+#: normal.c:8153
 msgid "Type  :quit<Enter>  to exit Vim"
 msgstr "Batti :quit<Invio>  per uscire da Vim"
 
@@ -5037,19 +5053,19 @@ msgstr "%<%f%h%m%=Pagina %N"
 msgid "Thanks for flying Vim"
 msgstr "Grazie per aver volato con Vim"
 
-#: option.c:3629 option.c:3751
+#: option.c:3625 option.c:3747
 msgid "E518: Unknown option"
 msgstr "E518: Opzione inesistente"
 
-#: option.c:3642
+#: option.c:3638
 msgid "E519: Option not supported"
 msgstr "E519: Opzione non supportata"
 
-#: option.c:3667
+#: option.c:3663
 msgid "E520: Not allowed in a modeline"
 msgstr "E520: Non consentito in una 'modeline'"
 
-#: option.c:3738
+#: option.c:3734
 msgid ""
 "\n"
 "\tLast set from "
@@ -5057,138 +5073,138 @@ msgstr ""
 "\n"
 "\tImpostata l'ultima volta da "
 
-#: option.c:3877
+#: option.c:3873
 msgid "E521: Number required after ="
 msgstr "E521: Ci vuole un numero dopo ="
 
-#: option.c:4205 option.c:4867
+#: option.c:4201 option.c:4863
 msgid "E522: Not found in termcap"
 msgstr "E522: Non trovato in 'termcap'"
 
-#: option.c:4293
+#: option.c:4289
 #, c-format
 msgid "E539: Illegal character <%s>"
 msgstr "E539: Carattere non ammesso <%s>"
 
-#: option.c:4859
+#: option.c:4855
 msgid "E529: Cannot set 'term' to empty string"
 msgstr "E529: Non posso assegnare a 'term' il valore 'stringa nulla'"
 
-#: option.c:4862
+#: option.c:4858
 msgid "E530: Cannot change term in GUI"
 msgstr "E530: Non posso modificare 'term' mentre sono nella GUI"
 
-#: option.c:4864
+#: option.c:4860
 msgid "E531: Use \":gui\" to start the GUI"
 msgstr "E531: Usa \":gui\" per far partire la GUI"
 
-#: option.c:4893
+#: option.c:4889
 msgid "E589: 'backupext' and 'patchmode' are equal"
 msgstr "E589: 'backupext' e 'patchmode' sono uguali"
 
-#: option.c:5121
+#: option.c:5117
 msgid "E617: Cannot be changed in the GTK+ 2 GUI"
 msgstr "E617: Non puō essere cambiato nella GUI GTK+ 2"
 
-#: option.c:5285
+#: option.c:5281
 msgid "E524: Missing colon"
 msgstr "E524: Manca ':'"
 
-#: option.c:5287
+#: option.c:5283
 msgid "E525: Zero length string"
 msgstr "E525: Stringa nulla"
 
-#: option.c:5362
+#: option.c:5358
 #, c-format
 msgid "E526: Missing number after <%s>"
 msgstr "E526: Manca numero dopo <%s>"
 
-#: option.c:5376
+#: option.c:5372
 msgid "E527: Missing comma"
 msgstr "E527: Manca virgola"
 
-#: option.c:5383
+#: option.c:5379
 msgid "E528: Must specify a ' value"
 msgstr "E528: Devi specificare un valore '"
 
-#: option.c:5424
+#: option.c:5420
 msgid "E595: contains unprintable or wide character"
 msgstr "E595: contiene carattere 'wide' o non-stampabile"
 
-#: option.c:5468
+#: option.c:5464
 msgid "E596: Invalid font(s)"
 msgstr "E596: Font non validi"
 
-#: option.c:5476
+#: option.c:5472
 msgid "E597: can't select fontset"
 msgstr "E597: non posso selezionare fontset"
 
-#: option.c:5478
+#: option.c:5474
 msgid "E598: Invalid fontset"
 msgstr "E598: Fontset non valido"
 
-#: option.c:5485
+#: option.c:5481
 msgid "E533: can't select wide font"
 msgstr "E533: non posso selezionare 'wide font'"
 
-#: option.c:5487
+#: option.c:5483
 msgid "E534: Invalid wide font"
 msgstr "E534: 'Wide font' non valido"
 
-#: option.c:5777
+#: option.c:5783
 #, c-format
 msgid "E535: Illegal character after <%c>"
 msgstr "E535: Carattere non ammesso dopo <%c>"
 
-#: option.c:5888
+#: option.c:5894
 msgid "E536: comma required"
 msgstr "E536: virgola mancante"
 
-#: option.c:5898
+#: option.c:5904
 #, c-format
 msgid "E537: 'commentstring' must be empty or contain %s"
 msgstr "E537: 'commentstring' deve essere nulla o contenere %s"
 
-#: option.c:5973
+#: option.c:5979
 msgid "E538: No mouse support"
 msgstr "E538: Manca supporto mouse"
 
-#: option.c:6244
-msgid "E540: Unclosed expression sequence"
-msgstr "E540: Espressione non terminata"
-
-#: option.c:6248
-msgid "E541: too many items"
-msgstr "E541: troppi elementi"
-
 #: option.c:6250
+msgid "E540: Unclosed expression sequence"
+msgstr "E540: Espressione non terminata"
+
+#: option.c:6254
+msgid "E541: too many items"
+msgstr "E541: troppi elementi"
+
+#: option.c:6256
 msgid "E542: unbalanced groups"
 msgstr "E542: gruppi sbilanciati"
 
-#: option.c:6490
+#: option.c:6496
 msgid "E590: A preview window already exists"
 msgstr "E590: Una finestra di pre-visualizzazione esiste giā"
 
-#: option.c:6736
+#: option.c:6755
 msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'"
 msgstr "W17: Arabo richiede UTF-8, esegui ':set encoding=utf-8'"
 
-#: option.c:7100
+#: option.c:7119
 #, c-format
 msgid "E593: Need at least %d lines"
 msgstr "E593: Servono almeno %d linee"
 
-#: option.c:7110
+#: option.c:7129
 #, c-format
 msgid "E594: Need at least %d columns"
 msgstr "E594: Servono almeno %d colonne"
 
-#: option.c:7419
+#: option.c:7438
 #, c-format
 msgid "E355: Unknown option: %s"
 msgstr "E355: Opzione inesistente: %s"
 
-#: option.c:7552
+#: option.c:7571
 msgid ""
 "\n"
 "--- Terminal codes ---"
@@ -5196,7 +5212,7 @@ msgstr ""
 "\n"
 "--- Codici terminale ---"
 
-#: option.c:7554
+#: option.c:7573
 msgid ""
 "\n"
 "--- Global option values ---"
@@ -5204,7 +5220,7 @@ msgstr ""
 "\n"
 "--- Valori opzioni globali ---"
 
-#: option.c:7556
+#: option.c:7575
 msgid ""
 "\n"
 "--- Local option values ---"
@@ -5212,7 +5228,7 @@ msgstr ""
 "\n"
 "--- Valore opzioni locali ---"
 
-#: option.c:7558
+#: option.c:7577
 msgid ""
 "\n"
 "--- Options ---"
@@ -5220,16 +5236,16 @@ msgstr ""
 "\n"
 "--- Opzioni ---"
 
-#: option.c:8292
+#: option.c:8311
 msgid "E356: get_varp ERROR"
 msgstr "E356: ERRORE get_varp"
 
-#: option.c:9274
+#: option.c:9292
 #, c-format
 msgid "E357: 'langmap': Matching character missing for %s"
 msgstr "E357: 'langmap': Manca carattere corrispondente per %s"
 
-#: option.c:9300
+#: option.c:9318
 #, c-format
 msgid "E358: 'langmap': Extra characters after semicolon: %s"
 msgstr "E358: 'langmap': Caratteri in pių dopo il ';': %s"
@@ -5435,27 +5451,27 @@ msgstr ""
 "\n"
 "Comando terminato\n"
 
-#: os_unix.c:4509 os_unix.c:4651 os_unix.c:6391
+#: os_unix.c:4509 os_unix.c:4651 os_unix.c:6393
 msgid "XSMP lost ICE connection"
 msgstr "XSMP ha perso la connessione ICE"
 
-#: os_unix.c:5974
+#: os_unix.c:5976
 msgid "Opening the X display failed"
 msgstr "Apertura visualizzazione X fallita"
 
-#: os_unix.c:6296
+#: os_unix.c:6298
 msgid "XSMP handling save-yourself request"
 msgstr "XSMP gestione richiesta 'save-yourself'"
 
-#: os_unix.c:6415
+#: os_unix.c:6417
 msgid "XSMP opening connection"
 msgstr "XSMP apertura connessione"
 
-#: os_unix.c:6434
+#: os_unix.c:6436
 msgid "XSMP ICE connection watch failed"
 msgstr "XSMP osservazione connessione ICE fallita"
 
-#: os_unix.c:6454
+#: os_unix.c:6456
 #, c-format
 msgid "XSMP SmcOpenConnection failed: %s"
 msgstr "XSMP SmcOpenConnection fallita: %s"
@@ -5583,21 +5599,21 @@ msgstr "lista errori %d di %d; %d errori
 msgid "E382: Cannot write, 'buftype' option is set"
 msgstr "E382: Non posso scrivere, l'opzione 'buftype' č impostata"
 
-#: quickfix.c:2381
+#: quickfix.c:2379
 #, fuzzy
 msgid "E682: Invalid search pattern or delimiter"
 msgstr "E682: Espressione o delimitatore di ricerca non validi"
 
-#: quickfix.c:2392
+#: quickfix.c:2390
 msgid "E683: File name missing or invalid pattern"
 msgstr "E683: Nome file mancante o espressione non valida"
 
-#: quickfix.c:2471
+#: quickfix.c:2464
 #, c-format
 msgid "Cannot open file \"%s\""
 msgstr "Non riesco ad aprire il file \"%s\""
 
-#: quickfix.c:2889
+#: quickfix.c:2882
 msgid "E681: Buffer is not loaded"
 msgstr "E681: Buffer non caricato"
 
@@ -5606,181 +5622,181 @@ msgstr "E681: Buffer non caricato"
 msgid "E369: invalid item in %s%%[]"
 msgstr "E369: elemento non valido in %s%%[]"
 
-#: regexp.c:1006
+#: regexp.c:1010
 msgid "E339: Pattern too long"
 msgstr "E339: Espressione troppo lunga"
 
-#: regexp.c:1177
+#: regexp.c:1181
 msgid "E50: Too many \\z("
 msgstr "E50: Troppe \\z("
 
-#: regexp.c:1188
+#: regexp.c:1192
 #, c-format
 msgid "E51: Too many %s("
 msgstr "E51: Troppe %s("
 
-#: regexp.c:1245
+#: regexp.c:1249
 msgid "E52: Unmatched \\z("
 msgstr "E52: Senza riscontro: \\z("
 
-#: regexp.c:1249
+#: regexp.c:1253
 #, c-format
 msgid "E53: Unmatched %s%%("
 msgstr "E53: Senza riscontro: %s%%("
 
-#: regexp.c:1251
+#: regexp.c:1255
 #, c-format
 msgid "E54: Unmatched %s("
 msgstr "E54: Senza riscontro: %s("
 
-#: regexp.c:1256
+#: regexp.c:1260
 #, c-format
 msgid "E55: Unmatched %s)"
 msgstr "E55: Senza riscontro: %s)"
 
-#: regexp.c:1474
+#: regexp.c:1478
 #, c-format
 msgid "E59: invalid character after %s@"
 msgstr "E59: Carattere non ammesso dopo %s@"
 
-#: regexp.c:1508
+#: regexp.c:1512
 #, c-format
 msgid "E60: Too many complex %s{...}s"
 msgstr "E60: Troppi %s{...}s complessi"
 
-#: regexp.c:1524
+#: regexp.c:1528
 #, c-format
 msgid "E61: Nested %s*"
 msgstr "E61: %s* nidificato"
 
-#: regexp.c:1527
+#: regexp.c:1531
 #, c-format
 msgid "E62: Nested %s%c"
 msgstr "E62: %s%c nidificato"
 
-#: regexp.c:1647
+#: regexp.c:1651
 msgid "E63: invalid use of \\_"
 msgstr "E63: uso non valido di \\_"
 
-#: regexp.c:1692
+#: regexp.c:1696
 #, c-format
 msgid "E64: %s%c follows nothing"
 msgstr "E64: %s%c senza nulla prima"
 
-#: regexp.c:1748
+#: regexp.c:1752
 msgid "E65: Illegal back reference"
 msgstr "E65: Riferimento all'indietro non ammesso"
 
-#: regexp.c:1761
+#: regexp.c:1765
 msgid "E66: \\z( not allowed here"
 msgstr "E66: \\z( non consentito qui"
 
-#: regexp.c:1780
+#: regexp.c:1784
 msgid "E67: \\z1 et al. not allowed here"
 msgstr "E67: \\z1 et al. non consentiti qui"
 
-#: regexp.c:1791
+#: regexp.c:1795
 msgid "E68: Invalid character after \\z"
 msgstr "E68: Carattere non ammesso dopo \\z"
 
-#: regexp.c:1840
+#: regexp.c:1844
 #, c-format
 msgid "E69: Missing ] after %s%%["
 msgstr "E69: Manca ] dopo %s%%["
 
-#: regexp.c:1856
+#: regexp.c:1860
 #, c-format
 msgid "E70: Empty %s%%[]"
 msgstr "E70: %s%%[] vuoto"
 
-#: regexp.c:1901
+#: regexp.c:1905
 #, c-format
 msgid "E678: Invalid character after %s%%[dxouU]"
 msgstr "E678: Carattere non valido dopo %s%%[dxouU]"
 
-#: regexp.c:1952
+#: regexp.c:1956
 #, c-format
 msgid "E71: Invalid character after %s%%"
 msgstr "E71: Carattere non ammesso dopo %s%%"
 
-#: regexp.c:2922
+#: regexp.c:2926
 #, c-format
 msgid "E554: Syntax error in %s{...}"
 msgstr "E554: Errore sintattico in %s{...}"
 
-#: regexp.c:3666
+#: regexp.c:3670
 msgid "External submatches:\n"
 msgstr "Sotto-corrispondenze esterne:\n"
 
-#: screen.c:8043
+#: screen.c:8046
 msgid " VREPLACE"
 msgstr " V-SOSTITUISCI"
 
-#: screen.c:8047
+#: screen.c:8050
 msgid " REPLACE"
 msgstr " SOSTITUISCI"
 
-#: screen.c:8052
+#: screen.c:8055
 msgid " REVERSE"
 msgstr " INVERTITO"
 
-#: screen.c:8054
+#: screen.c:8057
 msgid " INSERT"
 msgstr " INSERISCI"
 
-#: screen.c:8057
+#: screen.c:8060
 msgid " (insert)"
 msgstr " (inserisci)"
 
-#: screen.c:8059
+#: screen.c:8062
 msgid " (replace)"
 msgstr " (sostituisci)"
 
-#: screen.c:8061
+#: screen.c:8064
 msgid " (vreplace)"
 msgstr " (v-sostituisci)"
 
-#: screen.c:8064
+#: screen.c:8067
 msgid " Hebrew"
 msgstr " Ebraico"
 
-#: screen.c:8075
+#: screen.c:8078
 msgid " Arabic"
 msgstr " Arabo"
 
-#: screen.c:8078
+#: screen.c:8081
 msgid " (lang)"
 msgstr " (lingua)"
 
-#: screen.c:8082
+#: screen.c:8085
 msgid " (paste)"
 msgstr " (incolla)"
 
-#: screen.c:8095
+#: screen.c:8098
 msgid " VISUAL"
 msgstr " VISUALE"
 
-#: screen.c:8096
+#: screen.c:8099
 msgid " VISUAL LINE"
 msgstr " VISUALE LINEA"
 
-#: screen.c:8097
+#: screen.c:8100
 msgid " VISUAL BLOCK"
 msgstr " VISUALE BLOCCO"
 
-#: screen.c:8098
+#: screen.c:8101
 msgid " SELECT"
 msgstr " SELEZIONA"
 
-#: screen.c:8099
+#: screen.c:8102
 msgid " SELECT LINE"
 msgstr " SELEZIONA LINEA"
 
-#: screen.c:8100
+#: screen.c:8103
 msgid " SELECT BLOCK"
 msgstr " SELEZIONA BLOCCO"
 
-#: screen.c:8115 screen.c:8178
+#: screen.c:8118 screen.c:8181
 msgid "recording"
 msgstr "registrazione"
 
@@ -5861,35 +5877,184 @@ msgstr "E388: Non sono riuscito a trovar
 msgid "E389: Couldn't find pattern"
 msgstr "E389: Non sono riuscito a trovare il modello"
 
-#: spell.c:124
-#, c-format
-msgid "E753: Invalid character in \"%s\""
-msgstr "E753: Carattere non valido in \"%s\""
-
-#: spell.c:506
-#, c-format
-msgid "Warning: Cannot find dictionary \"%s\""
-msgstr "Attenzione: Non trovo dizionario: \"%s\""
-
-#: spell.c:610
-msgid "E751: Truncated spell file"
-msgstr "E751: File ortografico troncato"
-
-#: spell.c:649
-#, c-format
-msgid "E752: Too many regions: %s"
-msgstr "E752: Troppe regioni: %s"
-
-#: spell.c:809
-#, c-format
-msgid "Warning: duplicate word \"%s\" in %s"
-msgstr "Attenzione: parola duplicata \"%s\" in %s"
-
-#: spell.c:980
+#: spell.c:1194
+msgid "E756: Spell checking not enabled"
+msgstr "E756: Controllo ortografico non abilitato"
+
+#: spell.c:1350
+#, c-format
+msgid "Warning: Cannot find word list \"%s\""
+msgstr "Attenzione: Non trovo lista parole \"%s\""
+
+#: spell.c:1506
+msgid "E757: Wrong file ID in spell file"
+msgstr "E757: File ID errato nel file ortografico"
+
+#: spell.c:1514
+msgid "E758: Truncated spell file"
+msgstr "E758: File ortografico troncato"
+
+#: spell.c:1520
+msgid "E759: Format error in spell file"
+msgstr "E297: Errore di formato nel file ortografico"
+
+#: spell.c:2164
 #, c-format
 msgid "Warning: region %s not supported"
 msgstr "Attenzione: regione %s non supportata"
 
+#: spell.c:2503
+#, c-format
+msgid "Reading affix file %s..."
+msgstr "Lettura file affissi %s..."
+
+#: spell.c:2532 spell.c:2863
+#, c-format
+msgid "Conversion failure for word in %s line %d: %s"
+msgstr "Conversione fallita per una parola in %s linea %d: %s"
+
+#: spell.c:2568
+#, c-format
+msgid "Duplicate SET line ignored in %s line %d: %s"
+msgstr "Linea SET duplicata ignorata in %s linea %d: %s"
+
+#: spell.c:2576
+#, c-format
+msgid "Conversion in %s not supported: from %s to %s"
+msgstr "Conversione in %s non supportata: da %s a %s"
+
+#: spell.c:2595
+#, c-format
+msgid "Affix name too long in %s line %d: %s"
+msgstr "Nome affisso troppo lungo in %s linea %d: %s"
+
+#: spell.c:2602
+#, c-format
+msgid "Expected Y or N in %s line %d: %s"
+msgstr "Y o N deve essere presente in %s linea %d: %s"
+
+#: spell.c:2610
+#, c-format
+msgid "Duplicate affix in %s line %d: %s"
+msgstr "Affisso duplicato in %s linea %d: %s"
+
+#: spell.c:2664
+#, c-format
+msgid "Duplicate FOL in %s line %d"
+msgstr "FOL duplicato in %s linea %d"
+
+#: spell.c:2672
+#, c-format
+msgid "Duplicate LOW in %s line %d"
+msgstr "LOW duplicato in %s linea %d"
+
+#: spell.c:2680
+#, c-format
+msgid "Duplicate UPP in %s line %d"
+msgstr "UPP duplicato in %s linea %d"
+
+#: spell.c:2700
+#, c-format
+msgid "Unrecognized item in %s line %d: %s"
+msgstr "Elemento non riconosciuto in %s linea %d: %s"
+
+#: spell.c:2713
+#, c-format
+msgid "Missing FOL/LOW/UPP line in %s"
+msgstr "Linea FOL/LOW/UPP mancante in %s"
+
+#: spell.c:2822
+#, c-format
+msgid "Reading dictionary file %s..."
+msgstr "Lettura file dizionario %s..."
+
+#: spell.c:2828
+#, c-format
+msgid "E760: No word count in %s"
+msgstr "E760: Nessun contatore parole in %s"
+
+#: spell.c:2888
+#, c-format
+msgid "Duplicate word in %s line %d: %s"
+msgstr "Parola duplicata in %s linea %d: %s"
+
+#: spell.c:3292
+#, c-format
+msgid "No affix entry '%s' for word %s"
+msgstr "Nessun affisso '%s' per la parola %s"
+
+#: spell.c:3616
+#, c-format
+msgid "Warning: word without word characters: \"%s\""
+msgstr "Attenzione: parola con caratteri non validi: \"%s\""
+
+#: spell.c:4502
+#, c-format
+msgid "Maximum number of adds on a word: %ld (%s)"
+msgstr "Numero massimo di aggiunte ad una parola: %ld (%s)"
+
+#: spell.c:4504
+#, c-format
+msgid "Average number of adds on a word: %f"
+msgstr "Numero medio di aggiunte ad una parola: %ld (%s)"
+
+#: spell.c:4835
+msgid "E754: Only up to 8 regions supported"
+msgstr "E754: Sono supportate fino ad 8 regioni"
+
+#: spell.c:4866
+#, c-format
+msgid "E755: Invalid region in %s"
+msgstr "E755: Regione non valida in %s"
+
+#.
+#. * Combine all the affixes into one new affix list.  This is done
+#. * for prefixes and suffixes separately.
+#. * We need to do this for each region, try to re-use the same
+#. * affixes.
+#. * Since we number the new affix entries, a growarray will do.  In
+#. * the affheader_T the ah_key is unused.
+#.
+#: spell.c:4919
+msgid "Combining affixes..."
+msgstr "Riunisco gli affissi..."
+
+#.
+#. * Go over all words and:
+#. * - change the old affix names to the new affix numbers
+#. * - check the conditions
+#. * - fold case
+#. * - extract the basic word and additions.
+#. * Do this for each region.
+#.
+#: spell.c:4939
+msgid "Building word list..."
+msgstr "Costruisco la lista parole..."
+
+#. Combine words for the different regions into one.
+#: spell.c:4950
+msgid "Combining regions..."
+msgstr "Compongo le regioni..."
+
+#.
+#. * Affixes on a word with additions are clumsy, would require
+#. * inefficient searching.  Turn the affixes into additions and/or
+#. * the expanded word.
+#.
+#: spell.c:4960
+msgid "Processing words..."
+msgstr "Processo le parole..."
+
+#. Write the info in the spell file.
+#: spell.c:4967
+#, c-format
+msgid "Writing spell file %s..."
+msgstr "Scrivo file ortografico %s..."
+
+#: spell.c:4971
+msgid "Done!"
+msgstr "Fatto!"
+
 #: syntax.c:3118
 #, c-format
 msgid "E390: Illegal argument: %s"
@@ -6055,81 +6220,81 @@ msgstr "E409: Nome gruppo sconosciuto: %
 msgid "E410: Invalid :syntax subcommand: %s"
 msgstr "E410: Sotto-comando :syntax non valido: %s"
 
-#: syntax.c:6113
+#: syntax.c:6112
 msgid "E679: recursive loop loading syncolor.vim"
 msgstr "E679: ciclo ricorsivo nel caricamento di syncolor.vim"
 
-#: syntax.c:6240
+#: syntax.c:6239
 #, c-format
 msgid "E411: highlight group not found: %s"
 msgstr "E411: gruppo evidenziazione non trovato: %s"
 
-#: syntax.c:6264
+#: syntax.c:6263
 #, c-format
 msgid "E412: Not enough arguments: \":highlight link %s\""
 msgstr "E412: Argomenti non sufficienti: \":highlight link %s\""
 
-#: syntax.c:6271
+#: syntax.c:6270
 #, c-format
 msgid "E413: Too many arguments: \":highlight link %s\""
 msgstr "E413: Troppi argomenti: \":highlight link %s\""
 
-#: syntax.c:6291
+#: syntax.c:6290
 msgid "E414: group has settings, highlight link ignored"
 msgstr "E414: 'group' ha impostazioni, 'highlight link' ignorato"
 
-#: syntax.c:6420
+#: syntax.c:6419
 #, c-format
 msgid "E415: unexpected equal sign: %s"
 msgstr "E415: segno '=' inatteso: %s"
 
-#: syntax.c:6456
+#: syntax.c:6455
 #, c-format
 msgid "E416: missing equal sign: %s"
 msgstr "E416: manca segno '=': %s"
 
-#: syntax.c:6484
+#: syntax.c:6483
 #, c-format
 msgid "E417: missing argument: %s"
 msgstr "E417: manca argomento: %s"
 
-#: syntax.c:6521
+#: syntax.c:6520
 #, c-format
 msgid "E418: Illegal value: %s"
 msgstr "E418: Valore non ammesso: %s"
 
-#: syntax.c:6640
+#: syntax.c:6639
 msgid "E419: FG color unknown"
 msgstr "E419: colore di testo sconosciuto"
 
-#: syntax.c:6651
+#: syntax.c:6650
 msgid "E420: BG color unknown"
 msgstr "E420: colore di sfondo sconosciuto"
 
-#: syntax.c:6712
+#: syntax.c:6711
 #, c-format
 msgid "E421: Color name or number not recognized: %s"
 msgstr "E421: Numero o nome di colore non riconosciuto: %s"
 
-#: syntax.c:6939
+#: syntax.c:6938
 #, c-format
 msgid "E422: terminal code too long: %s"
 msgstr "E422: codice terminale troppo lungo: %s"
 
-#: syntax.c:6986
+#: syntax.c:6985
 #, c-format
 msgid "E423: Illegal argument: %s"
 msgstr "E423: Argomento non ammesso: %s"
 
-#: syntax.c:7519
+#: syntax.c:7518
 msgid "E424: Too many different highlighting attributes in use"
 msgstr "E424: Troppi gruppi evidenziazione differenti in uso"
 
-#: syntax.c:8171
+#: syntax.c:8170
 msgid "E669: Unprintable character in group name"
 msgstr "E669: Carattere non stampabile in un nome di gruppo"
 
-#: syntax.c:8179
+#: syntax.c:8178
 msgid "W18: Invalid character in group name"
 msgstr "W18: Carattere non ammesso in un nome di gruppo"
 
@@ -6237,11 +6402,11 @@ msgstr "E432: Tag file non ordinato alfa
 msgid "E433: No tags file"
 msgstr "E433: Nessun tag file"
 
-#: tag.c:3020
+#: tag.c:3022
 msgid "E434: Can't find tag pattern"
 msgstr "E434: Non riesco a trovare modello tag"
 
-#: tag.c:3031
+#: tag.c:3033
 msgid "E435: Couldn't find tag, just guessing!"
 msgstr "E435: Non riesco a trovare tag, sto solo tirando a indovinare!"
 
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -7506,7 +7506,7 @@ get_attr_entry(table, aep)
 	return i + ATTR_OFF;
     }
 
-    if (table->ga_len + ATTR_OFF >= 256)
+    if (table->ga_len + ATTR_OFF > MAX_TYPENR)
     {
 	/*
 	 * Running out of attribute entries!  remove all attributes, and
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -4,7 +4,7 @@
 # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
 #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
 #
-# Last change:  2005 Jan 19
+# Last change:  2005 May 18
 #
 # This has been tested on VMS 6.2 to 7.2 on DEC Alpha and VAX.
 # Edit the lines in the Configuration section below to select.
@@ -57,7 +57,8 @@ SCRIPT = test1.out  test2.out  test3.out
 	 test33.out test34.out test35.out test36.out test37.out \
 	 test38.out test39.out test40.out test41.out test42.out \
 	 test43.out test44.out test45.out test46.out \
-	 test48.out test51.out test53.out test54.out test55.out
+	 test48.out test51.out test53.out test54.out test55.out \
+	 test56.out
 
 .IFDEF WANT_GUI
 SCRIPT_GUI = test16.out
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -14,7 +14,7 @@ SCRIPTS = test1.out test2.out test3.out 
 		test38.out test39.out test40.out test41.out test42.out \
 		test43.out test44.out test45.out test46.out test47.out \
 		test48.out test49.out test51.out test52.out test53.out \
-		test54.out test55.out
+		test54.out test55.out test56.out
 
 SCRIPTS_GUI = test16.out
 
new file mode 100644
--- /dev/null
+++ b/src/testdir/test56.in
@@ -0,0 +1,21 @@
+Test for script-local function.     vim: set ft=vim :
+
+STARTTEST
+:so small.vim
+:"
+:set nocp
+:/^start:/+1,/^end:/-1w! Xtest.vim
+:source Xtest.vim
+_x
+:$-1,$wq! test.out
+ENDTEST
+
+start:
+fun <SID>DoLast()
+  call append(line('$'), "last line")
+endfun
+fun s:DoNothing()
+  call append(line('$'), "nothing line")
+endfun
+nnoremap <buffer> _x	:call <SID>DoNothing()<bar>call <SID>DoLast()<cr>
+end:
new file mode 100644
--- /dev/null
+++ b/src/testdir/test56.ok
@@ -0,0 +1,2 @@
+nothing line
+last line