summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Filelist2
-rw-r--r--runtime/colors/koehler.vim8
-rw-r--r--runtime/doc/eval.txt3
-rw-r--r--runtime/doc/evim-pl.153
-rw-r--r--runtime/doc/evim-pl.UTF-8.153
-rw-r--r--runtime/doc/if_ruby.txt44
-rw-r--r--runtime/doc/options.txt18
-rw-r--r--runtime/doc/spell.txt45
-rw-r--r--runtime/doc/tags2
-rw-r--r--runtime/doc/todo.txt21
-rw-r--r--runtime/doc/version7.txt19
-rw-r--r--runtime/doc/vim-pl.1555
-rw-r--r--runtime/doc/vim-pl.UTF-8.1555
-rw-r--r--runtime/doc/vimdiff-pl.146
-rw-r--r--runtime/doc/vimdiff-pl.UTF-8.146
-rw-r--r--runtime/doc/vimtutor-pl.148
-rw-r--r--runtime/doc/vimtutor-pl.UTF-8.148
-rw-r--r--runtime/doc/xxd-pl.1389
-rw-r--r--runtime/doc/xxd-pl.UTF-8.1389
-rw-r--r--runtime/filetype.vim42
-rw-r--r--runtime/indent/config.vim8
-rw-r--r--runtime/indent/python.vim8
-rw-r--r--runtime/makemenu.vim3
-rw-r--r--runtime/scripts.vim2
-rw-r--r--runtime/spell/hu/hu_HU.diff403
-rw-r--r--runtime/spell/hu/main.aap45
-rw-r--r--runtime/synmenu.vim19
-rw-r--r--runtime/syntax/fetchmail.vim3
-rw-r--r--runtime/syntax/mailaliases.vim71
-rw-r--r--runtime/syntax/rst.vim8
-rw-r--r--src/Makefile23
-rwxr-xr-xsrc/auto/configure4
-rw-r--r--src/buffer.c4
-rw-r--r--src/configure.in4
-rw-r--r--src/eval.c33
-rw-r--r--src/main.aap21
-rw-r--r--src/screen.c2
-rw-r--r--src/spell.c256
-rw-r--r--src/syntax.c263
-rw-r--r--src/testdir/test58.in5
-rw-r--r--src/testdir/test59.in5
-rw-r--r--src/version.h4
-rw-r--r--src/xxd/xxd.c5
43 files changed, 3127 insertions, 458 deletions
diff --git a/Filelist b/Filelist
index a832a9c2c..21af96178 100644
--- a/Filelist
+++ b/Filelist
@@ -658,6 +658,8 @@ LANG_GEN = \
runtime/doc/*-fr.UTF-8.1 \
runtime/doc/*-it.1 \
runtime/doc/*-it.UTF-8.1 \
+ runtime/doc/*-pl.1 \
+ runtime/doc/*-pl.UTF-8.1 \
runtime/doc/*-ru.1 \
runtime/doc/*-ru.UTF-8.1 \
runtime/lang/README.txt \
diff --git a/runtime/colors/koehler.vim b/runtime/colors/koehler.vim
index 1a8800185..cc0a1724c 100644
--- a/runtime/colors/koehler.vim
+++ b/runtime/colors/koehler.vim
@@ -2,7 +2,7 @@
" vim: tw=0 ts=4 sw=4
" Vim color file
" Maintainer: Ron Aaron <ron@ronware.org>
-" Last Change: 2003 May 02
+" Last Change: 2006 Mar 26
hi clear
set background=dark
@@ -37,6 +37,12 @@ hi PreProc term=underline ctermfg=darkblue guifg=#ff80ff
hi Type term=underline cterm=bold ctermfg=lightgreen gui=bold guifg=#60ff60
hi Error term=reverse ctermfg=darkcyan ctermbg=black guifg=Red guibg=Black
hi Todo term=standout ctermfg=black ctermbg=darkcyan guifg=Blue guibg=Yellow
+hi CursorLine term=underline guibg=#555555
+hi CursorColumn term=underline guibg=#555555
+hi MatchParen term=reverse guibg=Blue
+hi TabLine term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
+hi TabLineFill term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
+hi TabLineSel term=reverse ctermfg=white ctermbg=lightblue guifg=white guibg=blue
hi link IncSearch Visual
hi link String Constant
hi link Character Constant
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index bcdb9480d..6395b5c3b 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.0b. Last change: 2006 Mar 25
+*eval.txt* For Vim version 7.0b. Last change: 2006 Mar 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2471,6 +2471,7 @@ finddir({name}[, {path}[, {count}]]) *finddir()*
If {path} is omitted or empty then 'path' is used.
If the optional {count} is given, find {count}'s occurrence of
{name} in {path} instead of the first one.
+ When {count} is negative return all the matches in a |List|.
This is quite similar to the ex-command |:find|.
{only available when compiled with the +file_in_path feature}
diff --git a/runtime/doc/evim-pl.1 b/runtime/doc/evim-pl.1
new file mode 100644
index 000000000..284b5bcb9
--- /dev/null
+++ b/runtime/doc/evim-pl.1
@@ -0,0 +1,53 @@
+.TH EVIM 1 "2002 Lut 16"
+.SH NAZWA
+evim \- łatwy Vim, edytuj plik w Vimie z ustawieniami dla edycji bez
+trybów
+.SH SYNOPSIS
+.br
+.B evim
+[opcje] [plik ...]
+.br
+.B eview
+.SH OPIS
+.B eVim
+uruchamia
+.B Vima
+i ustawia opcje tak by zachowywał się jak edytor bez trybów.
+To jest cały czas Vim ale używany jako edytor wskaż-i-kliknij.
+Zachowanie w stlu Notepada dla MS-Windows.
+.B eVim
+będzie zawsze uruchomiony w GUI by włączyć menu i pasek narzędzi.
+.PP
+Przeznaczony tylko dla ludzi, którzy naprawdę nie potrafią pracować
+z Vimem w normalny sposób. Edycja będzie o wiele mniej efektywna.
+.PP
+.B eview
+działa tak samo, ale zaczyna w trybie tylko do odczytu. Działa tak
+samo jak evim \-R.
+.PP
+Zobacz vim(1) by poznać więcej szczegółów o Vimie, opcjach, itd.
+.PP
+Opcja 'insertmode' jest ustawiona by można było od razu wpisywać
+tekst.
+.br
+Mapowania są ustawione tak by Kopiowanie i Wklejanie działało
+z klawiszami MS-Windows. CTRL-X wycina tekst, CTRL-C kopiuje
+a CTRL-V wkleja. Użyj CTRL-Q by uzyskać oryginalne znaczenie
+CTRL-V.
+.SH OPCJE
+Zobacz vim(1).
+.SH PLIKI
+.TP 15
+/usr/local/lib/vim/evim.vim
+Skrypt uruchamiania dla eVima.
+.SH ZNANY JAKO
+Znany jako "Vim dla frajerów".
+Jeśli używasz evima oczekuje się, że wyjmiesz chusteczkę do nosa,
+zrobisz węzęł w każdym rogu i będziesz to nosił na głowie.
+.SH ZOBACZ TAKŻE
+vim(1)
+.SH AUTOR
+Większość
+.B Vima
+została napisana przez Brama Moolenaara z dużą pomocą innych osób.
+Zobacz menu Help/Credits.
diff --git a/runtime/doc/evim-pl.UTF-8.1 b/runtime/doc/evim-pl.UTF-8.1
new file mode 100644
index 000000000..da940c0a7
--- /dev/null
+++ b/runtime/doc/evim-pl.UTF-8.1
@@ -0,0 +1,53 @@
+.TH EVIM 1 "2002 Lut 16"
+.SH NAZWA
+evim \- łatwy Vim, edytuj plik w Vimie z ustawieniami dla edycji bez
+trybĂłw
+.SH SYNOPSIS
+.br
+.B evim
+[opcje] [plik ...]
+.br
+.B eview
+.SH OPIS
+.B eVim
+uruchamia
+.B Vima
+i ustawia opcje tak by zachowywał się jak edytor bez trybów.
+To jest cały czas Vim ale używany jako edytor wskaż-i-kliknij.
+Zachowanie w stlu Notepada dla MS-Windows.
+.B eVim
+będzie zawsze uruchomiony w GUI by włączyć menu i pasek narzędzi.
+.PP
+Przeznaczony tylko dla ludzi, którzy naprawdę nie potrafią pracować
+z Vimem w normalny sposób. Edycja będzie o wiele mniej efektywna.
+.PP
+.B eview
+działa tak samo, ale zaczyna w trybie tylko do odczytu. Działa tak
+samo jak evim \-R.
+.PP
+Zobacz vim(1) by poznać więcej szczegółów o Vimie, opcjach, itd.
+.PP
+Opcja 'insertmode' jest ustawiona by można było od razu wpisywać
+tekst.
+.br
+Mapowania są ustawione tak by Kopiowanie i Wklejanie działało
+z klawiszami MS-Windows. CTRL-X wycina tekst, CTRL-C kopiuje
+a CTRL-V wkleja. Użyj CTRL-Q by uzyskać oryginalne znaczenie
+CTRL-V.
+.SH OPCJE
+Zobacz vim(1).
+.SH PLIKI
+.TP 15
+/usr/local/lib/vim/evim.vim
+Skrypt uruchamiania dla eVima.
+.SH ZNANY JAKO
+Znany jako "Vim dla frajerĂłw".
+Jeśli używasz evima oczekuje się, że wyjmiesz chusteczkę do nosa,
+zrobisz węzęł w każdym rogu i będziesz to nosił na głowie.
+.SH ZOBACZ TAKĹťE
+vim(1)
+.SH AUTOR
+Większość
+.B Vima
+została napisana przez Brama Moolenaara z dużą pomocą innych osób.
+Zobacz menu Help/Credits.
diff --git a/runtime/doc/if_ruby.txt b/runtime/doc/if_ruby.txt
index ceb3282aa..eace7e925 100644
--- a/runtime/doc/if_ruby.txt
+++ b/runtime/doc/if_ruby.txt
@@ -1,4 +1,4 @@
-*if_ruby.txt* For Vim version 7.0b. Last change: 2006 Mar 06
+*if_ruby.txt* For Vim version 7.0b. Last change: 2006 Mar 26
VIM REFERENCE MANUAL by Shugo Maeda
@@ -78,23 +78,26 @@ Executing Ruby commands is not possible in the |sandbox|.
Ruby code gets all of its access to vim via the "VIM" module.
Overview >
- print "Hello" # displays a message
- VIM.command(cmd) # execute an ex command
- num = VIM::Window.count # gets the number of windows
- w = VIM::Window[n] # gets window "n"
- cw = VIM::Window.current # gets the current window
- num = VIM::Buffer.count # gets the number of buffers
- b = VIM::Buffer[n] # gets buffer "n"
- cb = VIM::Buffer.current # gets the current buffer
- w.height = lines # sets the window height
- w.cursor = [row, col] # sets the window cursor position
- pos = w.cursor # gets an array [row, col]
- name = b.name # gets the buffer file name
- line = b[n] # gets a line from the buffer
- num = b.count # gets the number of lines
- b[n] = str # sets a line in the buffer
- b.delete(n) # deletes a line
- b.append(n, str) # appends a line after n
+ print "Hello" # displays a message
+ VIM.command(cmd) # execute an ex command
+ num = VIM::Window.count # gets the number of windows
+ w = VIM::Window[n] # gets window "n"
+ cw = VIM::Window.current # gets the current window
+ num = VIM::Buffer.count # gets the number of buffers
+ b = VIM::Buffer[n] # gets buffer "n"
+ cb = VIM::Buffer.current # gets the current buffer
+ w.height = lines # sets the window height
+ w.cursor = [row, col] # sets the window cursor position
+ pos = w.cursor # gets an array [row, col]
+ name = b.name # gets the buffer file name
+ line = b[n] # gets a line from the buffer
+ num = b.count # gets the number of lines
+ b[n] = str # sets a line in the buffer
+ b.delete(n) # deletes a line
+ b.append(n, str) # appends a line after n
+ line = VIM::Buffer.current.line # gets the current line
+ num = VIM::Buffer.current.line_number # gets the current line number
+ VIM::Buffer.current.line = "test" # sets the current line number
<
Module Functions:
@@ -144,6 +147,11 @@ self[{n}] = {str}
delete({n}) Deletes a line from the buffer. {n} is the line number.
append({n}, {str})
Appends a line after the line {n}.
+line Returns the current line of the buffer if the buffer is
+ active.
+line = {str} Sets the current line of the buffer if the buffer is active.
+line_number Returns the number of the current line if the buffer is
+ active.
==============================================================================
4. VIM::Window objects *ruby-window*
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 1bb6ff1d5..ec9ddb6f8 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 7.0b. Last change: 2006 Mar 25
+*options.txt* For Vim version 7.0b. Last change: 2006 Mar 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -78,7 +78,7 @@ achieve special effects. These options come in three forms:
If the option is a list of flags, superfluous flags
are removed. When adding a flag that was already
present the option value doesn't change.
-< Also see |:set-args| above.
+ Also see |:set-args| above.
{not in Vi}
:se[t] {option}^={value} *:set^=*
@@ -269,7 +269,13 @@ You will not get back the 'list' value as it was the last time you edited
shown (but that might change in the future).
{not in Vi}
-:setl[ocal] {option}< Set the local value of {option} to its global value.
+:setl[ocal] {option}< Set the local value of {option} to its global value by
+ copying the value.
+ {not in Vi}
+
+:se[t] {option}< Set the local value of {option} to its global value by
+ making it empty. Only makes sense for |global-local|
+ options.
{not in Vi}
*:setg* *:setglobal*
@@ -316,7 +322,11 @@ This only works for a string option. For a boolean option you need to use the
:setlocal autoread<
Note that for non-boolean options using "<" copies the global value to the
local value, it doesn't switch back to using the global value (that matters
-when changing the global value later).
+when the global value changes later). You can also use: >
+ :set path<
+This will make the local value of 'path' empty, so that the global value is
+used. Thus it does the same as: >
+ :setlocal path=
Note: In the future more global options can be made global-local. Using
":setlocal" on a global option might work differently then.
diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt
index f782dbce2..5c7b5bbb5 100644
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -1,4 +1,4 @@
-*spell.txt* For Vim version 7.0b. Last change: 2006 Mar 10
+*spell.txt* For Vim version 7.0b. Last change: 2006 Mar 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -975,7 +975,7 @@ The first line is a header and has four fields:
For PFX the fields are exactly the same.
The basic format for the following lines is:
- SFX {flag} {strip} {add} {condition}
+ SFX {flag} {strip} {add} {condition} {extra}
{flag} Must be the same as the {flag} used in the first line.
@@ -987,6 +987,8 @@ The basic format for the following lines is:
When {strip} is 0 (zero) then nothing is stripped.
{add} Characters added to the basic word, after removing {strip}.
+ Optionally there is a '/' followed by flags. The flags apply
+ to the word plus affix. See |spell-affix-flags|
{condition} A simplistic pattern. Only when this matches with a basic
word will the suffix be used for that word. This is normally
@@ -1002,6 +1004,13 @@ The basic format for the following lines is:
complement of the specified characters. [^abc] matches any
character but a, b and c.
+{extra} Optional extra text:
+ rare word + affix is rare
+ nocomp no compounding for word + affix
+ # comment Comment is ignored
+ - Hunspell uses this, ignored
+ "rare" and "nocomp" are deprecated.
+
For PFX the fields are the same, but the {strip}, {add} and {condition} apply
to the start of the word.
@@ -1228,7 +1237,7 @@ A specific example: Allow a compound to be made of two words and a dash:
In the .aff file:
COMPOUNDRULE sde ~
NEEDAFFIX x ~
- COMPOUNDMAX 3 ~
+ COMPOUNDWORDMAX 3 ~
COMPOUNDMIN 1 ~
In the .dic file:
start/s ~
@@ -1252,10 +1261,10 @@ When omitted there is no minimal length. Obviously you could just leave out
the compound flag from short words instead, this feature is present for
compatibility with Myspell.
- *spell-COMPOUNDMAX*
+ *spell-COMPOUNDWORDMAX*
The maximum number of words that can be concatenated into a compound word is
-specified with COMPOUNDMAX. Example:
- COMPOUNDMAX 3 ~
+specified with COMPOUNDWORDMAX. Example:
+ COMPOUNDWORDMAX 3 ~
When omitted there is no maximum. It applies to all compound words.
@@ -1270,14 +1279,13 @@ with COMPOUNDSYLMAX. Example:
This has no effect if there is no SYLLABLE item. Without COMPOUNDSYLMAX there
is no limit on the number of syllables.
-If both COMPOUNDMAX and COMPOUNDSYLMAX are defined, a compound word is
+If both COMPOUNDWORDMAX and COMPOUNDSYLMAX are defined, a compound word is
accepted if it fits one of the criteria, thus is either made from up to
-COMPOUNDMAX words or contains up to COMPOUNDSYLMAX syllables.
+COMPOUNDWORDMAX words or contains up to COMPOUNDSYLMAX syllables.
*spell-COMPOUNDFORBIDFLAG*
The COMPOUNDFORBIDFLAG specifies a flag that can be used on an affix. It
means that the word plus affix cannot be used in a compound word.
-NOT IMPLEMENTED YET.
*spell-COMPOUNDPERMITFLAG*
The COMPOUNDPERMITFLAG specifies a flag that can be used on an affix. It
@@ -1285,6 +1293,13 @@ means that the word plus affix can also be used in a compound word in a way
where the affix ends up halfway the word.
NOT IMPLEMENTED YET.
+ *spell-COMPOUNDROOT*
+The COMPOUNDROOT flag is used for words in the dictionary that are already a
+compound. This means it counts for two words when checking the compounding
+rules. Can also be used for an affix to count the affix as a compounding
+word.
+NOT IMPLEMENTED YET.
+
*spell-SYLLABLE*
The SYLLABLE item defines characters or character sequences that are used to
count the number of syllables in a word. Example:
@@ -1487,6 +1502,9 @@ COMPOUND (Hunspell) *spell-COMPOUND*
Remove the first line with the count and rename the other
items to COMPOUNDRULE |spell-COMPOUNDRULE|
+COMPOUNDFIRST (Hunspell) *spell-COMPOUNDFIRST*
+ Use COMPOUNDRULE instead. |spell-COMPOUNDRULE|
+
COMPOUNDBEGIN (Hunspell) *spell-COMPOUNDBEGIN*
Use COMPOUNDRULE instead. |spell-COMPOUNDRULE|
@@ -1496,17 +1514,10 @@ COMPOUNDEND (Hunspell) *spell-COMPOUNDEND*
COMPOUNDMIDDLE (Hunspell) *spell-COMPOUNDMIDDLE*
Use COMPOUNDRULE instead. |spell-COMPOUNDRULE|
-COMPOUNDROOT (Hunspell) *spell-COMPOUNDROOT*
- Flag for words in the dictionary that are already a compound.
- Vim doesn't use it.
-
COMPOUNDSYLLABLE (Hunspell) *spell-COMPOUNDSYLLABLE*
Use SYLLABLE and COMPOUNDSYLMAX instead. |spell-SYLLABLE|
|spell-COMPOUNDSYLMAX|
-COMPOUNDWORDMAX (Hunspell) *spell-COMPOUNDWORDMAX*
- Use COMPOUNDMAX instead. |spell-COMPOUNDMAX|
-
FORBIDDENWORD (Hunspell) *spell-FORBIDDENWORD*
Use BAD instead. |spell-BAD|
@@ -1517,7 +1528,7 @@ LANG (Hunspell) *spell-LANG*
must be specified separately.
LEMMA_PRESENT (Hunspell) *spell-LEMMA_PRESENT*
- Only needed for mprphological analysis.
+ Only needed for morphological analysis.
MAXNGRAMSUGS (Hunspell) *spell-MAXNGRAMSUGS*
Not supported.
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 6629dab82..03dd1cd30 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -6813,9 +6813,9 @@ spell-COMPLEXPREFIXES spell.txt /*spell-COMPLEXPREFIXES*
spell-COMPOUND spell.txt /*spell-COMPOUND*
spell-COMPOUNDBEGIN spell.txt /*spell-COMPOUNDBEGIN*
spell-COMPOUNDEND spell.txt /*spell-COMPOUNDEND*
+spell-COMPOUNDFIRST spell.txt /*spell-COMPOUNDFIRST*
spell-COMPOUNDFLAG spell.txt /*spell-COMPOUNDFLAG*
spell-COMPOUNDFORBIDFLAG spell.txt /*spell-COMPOUNDFORBIDFLAG*
-spell-COMPOUNDMAX spell.txt /*spell-COMPOUNDMAX*
spell-COMPOUNDMIDDLE spell.txt /*spell-COMPOUNDMIDDLE*
spell-COMPOUNDMIN spell.txt /*spell-COMPOUNDMIN*
spell-COMPOUNDPERMITFLAG spell.txt /*spell-COMPOUNDPERMITFLAG*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 773de9d05..2bd5091fb 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.0b. Last change: 2006 Mar 25
+*todo.txt* For Vim version 7.0b. Last change: 2006 Mar 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -30,6 +30,18 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
+In completion using Enter to accept the current match causes trouble.
+Leave it out? Typing a space already works
+
+New Hungarian dictionary. (Laci Nemeth)
+ test COMPOUNDFORBIDFLAG
+ implement use of COMPOUNDPERMITFLAG
+ implement use of CHECKCOMPOUND* flags, <compoptions>
+ implement using CHECKCOMPOUNDPATTERN: match words with sl_comppat[].
+
+Mac: When started from finder path isn't set and curdir is /.
+Benji Fisher suggests using system() (2006 Mar 26)
+
Add more tests for all new functionality in Vim 7. Especially new functions.
Win32: Describe how to do debugging. (George Reilly)
@@ -1121,9 +1133,8 @@ Spell checking:
support both).
- Support breakpoint character ? 0xb7 and ignore it? Makes it possible to
use same wordlist for hyphenation.
-- Compound word is accepted if nr of words is <= COMPOUNDMAX OR nr of
+- Compound word is accepted if nr of words is <= COMPOUNDWORDMAX OR nr of
syllables <= COMPOUNDSYLMAX. Specify using AND in the affix file?
-- COMPOUNDMAX -> COMPOUNDWORDMAX?
- NEEDCOMPOUND also used for affix? Or is this called ONLYINCOMPOUND now?
Or is ONLYINCOMPOUND only for inside a compound, not at start or end?
- Do we need a flag for the rule that when compounding is done the following
@@ -1133,7 +1144,7 @@ Spell checking:
- Lots of code depends on LANG, that isn't right. Enable each mechanism
in the affix file separately.
- Example with compounding dash is bad, gets in the way of setting
- COMPOUNDMIN and COMPOUNDMAX to a reasonable value.
+ COMPOUNDMIN and COMPOUNDWORDMAX to a reasonable value.
- PSEUDOROOT == NEEDAFFIX
- COMPOUNDROOT -> COMPOUNDED? For a word that already is a compound word
Or use COMPOUNDED2, COMPOUNDED3, etc.
@@ -1148,7 +1159,7 @@ Spell checking:
We might not need this at all, you can use the NEEDAFFIX flag and the
affix which is required.
- When a suffix has more than one syllable, it may count as a word for
- COMPOUNDMAX.
+ COMPOUNDWORDMAX.
- Add flags to count extra syllables in a word. SYLLABLEADD1 SYLLABLEADD2,
etc.? Or make it possible to specify the syllable count of a word
directly, e.g., after another slash: /abc/3
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 44bf2c184..43e4890c0 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt* For Vim version 7.0b. Last change: 2006 Mar 25
+*version7.txt* For Vim version 7.0b. Last change: 2006 Mar 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -356,6 +356,7 @@ several other languages.
French - translated by David Blanchet
Italian - translated by Antonio Colombo
Russian - translated by Vassily Ragosin
+Polish - translated by Mikolaj Machowski
The Unix Makefile installs the Italian manual pages in .../man/it/man1/,
.../man/it.ISO8859-1/man1/ and .../man/it.UTF-8/man1/. There appears to be no
@@ -899,6 +900,7 @@ limits syntax and ftplugin file. (Nikolai Weibull)
Lisp indent file. (Sergey Khorev)
loginaccess and logindefs syntax and ftplugin file. (Nikolai Weibull)
m4 ftplugin file. (Nikolai Weibull)
+mailaliases syntax file. (Nikolai Weibull)
mailcap ftplugin file. (Nikolai Weibull)
manconf syntax and ftplugin file. (Nikolai Weibull)
matlab ftplugin file. (Jake Wasserman)
@@ -2187,4 +2189,19 @@ install directory.
To make the 16 bit DOS version compile exclude not used highlight
initializations and build a tiny instead of small version.
+finddir() and findfile() accept a negative cound and return a List then.
+
+The Python indent file contained a few debugging statements, removed.
+
+Expanding {} for a function name, resulting in a name starting with "s:" was
+not handled correctly.
+
+Spelling: renamed COMPOUNDMAX to COMPOUNDWORDMAX. Added several items to be
+able to handle the new Hungarian dictionary.
+
+Mac: Default to building for the current platform only, that is much faster
+than building a universal binary. Also, using Perl/Python/etc. only works for
+the current platform.
+
+
vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/vim-pl.1 b/runtime/doc/vim-pl.1
new file mode 100644
index 000000000..25dd78698
--- /dev/null
+++ b/runtime/doc/vim-pl.1
@@ -0,0 +1,555 @@
+.TH VIM 1 "2002 Lut 22"
+.SH NAME
+vim \- Vi rozbudowany, edytor tekstu dla programisty
+.SH SYNOPSIS
+.br
+.B vim
+[opcje] [plik ..]
+.br
+.B vim
+[opcje] \-
+.br
+.B vim
+[opcje] \-t znacznik
+.br
+.B vim
+[opcje] \-q [plik błędu]
+.PP
+.br
+.B ex
+.br
+.B view
+.br
+.B gvim
+.B gview
+.B evim
+.B eview
+.br
+.B rvim
+.B rview
+.B rgvim
+.B rgview
+.SH OPIS
+.B Vim
+jest edytorem tekstu kompatybilnym z Vi. Może być
+używany do edycji wszelkiego rodzaju plików tekstowych.
+Użyteczny zwłaszcza przy edycji programów.
+.PP
+Posiada wiele usprawnień w porównaniu z Vi: wielo poziomowe cofanie zmian,
+wiele okien i buforów, podświetlanie składni, edycja linii poleceń,
+uzupełnianie nazw plików, pomoc on-line, wizualna selekcja, itd.
+Zobacz ":help vi_diff.txt" dla podsumowania różnić pomiędzy
+.B Vimem
+i Vi.
+.PP
+W czasie korzystania z
+.B Vima
+można uzyskać obszerną pomoc z systemu pomocy on-line dzięki poleceniu ":help".
+Zobacz rozdział POMOC ON-LINE poniżej.
+.PP
+Najczęściej
+.B Vim
+jest uruchamiany do edycji pojedynczego pliku poleceniem
+.PP
+ vim plik
+.PP
+Bardziej ogólnie
+.B Vim
+jest uruchamiany poprzez:
+.PP
+ vim [opcje] [lista plików]
+.PP
+Jeśli brak listy plików edytor rozpocznie z pustym buforem. W innym
+wypadku istnieje dokładnie jedna z czterech możliwości by wybrać jeden
+lub więcej plików do edycji.
+.TP 12
+plik ..
+Lista nazw plików.
+Pierwsza nazwa będzie nazwą bieżącego pliku, który zostanie wczytany
+do bufora. Kursor zostanie umieszczony w pierwszym wierszu. Do
+kolejnych plików można przejść dzięki poleceniu ":next". By otworzyć
+plik, którego nazwa zaczyna się od myślnika należy listę plików
+poprzedzić "\-\-".
+.TP
+\-
+Plik do edycji jest wczytany ze standardowego wejścia. Polecenia są
+odczytywane ze standardowego wyjścia błędów, którym powinien być
+terminal (tty).
+.TP
+\-t {znacznik}
+Plik do edycji i początkowa pozycja kursora zależy od "znacznika",
+rodzaju etykiety goto.
+{znacznika} szuka się w pliku tags, związany z nim plik staje się
+plikiem bieżącym i wykonuje się powiązane polecenie.
+Zazwyczaj używa się tego sposobu dla programów w C, w których wypadku
+{znacznik} powinien być nazwą funkcji.
+W efekcie plik zawierający określoną funkcję staje się plikiem
+bieżącym a kursor jest umieszczony na początku funkcji.
+Zobacz ":help tag-commands".
+.TP
+\-q [plik_błędów]
+Zacznij w trybie quickFix.
+Plik [plik_błędów] zostaje zinterpretowany i pokaże się pierwszy błąd.
+Jeśli brak opcji [plik_błędów] nazwa pliku zostanie pobrana z opcji
+'errorfile' (domyślnie "AztecC.Err" dla Amigi, "errros.err" dla innych
+systemów.
+Do kolejnych błędów można przeskoczyć dzięki poleceniu ":cn".
+Zobacz ":help quickfix".
+.PP
+W zależności od wywołania
+.B Vim
+zachowuje się inaczej (program może być cały czas tym samym
+plikiem).
+.TP 10
+vim
+"Normalny" sposób, wszystko jest domyślne.
+.TP
+ex
+Zacznij w trybie Ex.
+Przejdź do trybu Normalnego poleceniem ":vi".
+Można także uruchomić poprzez argument "\-e".
+.TP
+view
+Zacznij w trybie tylko do odczytu. W ten sposób będziesz chroniony
+przed zapisywaniem pliku. Można także uruchomić poprzez argument
+"\-R".
+.TP
+gvim gview
+Wersja GUI.
+Uruchamia nowe okno.
+Można także uruchomić poprzez argument "\-g".
+.TP
+evim eview
+Wersja GUI w łatwym trybie.
+Uruchamia nowe okno.
+Można także uruchomić poprzez argument "\-y".
+.TP
+rvim rview rgvim rgview
+Podobnie jak powyżej, ale z ograniczeniami. Nie będzie można uruchomić
+poleceń powłoki lub zawiesić
+.B Vima.
+Można także uruchomić poprzez argument "\-Z".
+.SH OPCJE
+Opcje można podać w dowolnej kolejności, przed lub po nazwach plików.
+Opcje bez argumentów można łączyć po pojedynczym myślniku.
+.TP 12
++[num]
+W pierwszym pliku kursor zostanie umieszczony w wierszu "num".
+Jeśli brak "num" kursor zostanie umieszczony w ostatnim wierszu.
+.TP
++/{wzór}
+W pierwszym pliku kursor zostanie umieszczony na pierwszym wystąpieniu
+{wzór}.
+Zobacz ":help search-pattern" by dowiedzieć się jakie są możliwości
+wzorów wyszukiwania.
+.TP
++{polecenie}
+.TP
+\-c {polecenie}
+{polecenie} zostanie wykonane po tym jak wczyta się pierwszy plik.
+{polecenie} jest interpretowane jako polecenie Ex.
+Jeśli {poleceni} zawiera białe znaki musi być umieszczone w podwójnych
+cudzysłowach (zależy to od używanej powłoki).
+Przykład: Vim "+set si" main.c
+.br
+Uwaga: Można użyć do 10 poleceń "+" lub "\-c".
+.TP
+\-S {plik}
+{plik} zostanie zinterpretowany po wczytaniu pierwszego pliku.
+Jest równoważne \-c "source {plik}".
+{plik} nie może zaczynać się '\-'.
+Jeśli nie podano {plik} zostanie użyty "Session.vim" (działa tylko
+wtedy jeśli \-S jest ostatnim argumentem).
+.TP
+\-\-cmd {polecenie}
+Podobne do "\-c", ale polecenie jest wykonywane tuż przed
+interpretacją jakiegokolwiek pliku vimrc.
+Można użyć do 10 takich poleceń, niezależni od poleceń od "\-c"
+.TP
+\-A
+Jeśli
+.B Vim
+został skompilowany ze wsparciem dla języków arabskich (edycja od
+prawej do lewej i arabska mapa klawiatury) ta opcja uruchamia
+.B Vima
+w trybie arabskim, np. ustawia się opcja 'arabic'. W innym wypadku
+pojawi się komunikat błędu i
+.B Vim
+zakończy działanie.
+.TP
+\-b
+Tryb binarny.
+Ustawi się kilka opcji, które umożliwią edycję plików binarnych lub
+wykonywalnych.
+.TP
+\-C
+Kompatybilny. Ustawia opcję 'compatible'.
+W ten sposób
+.B Vim
+będzie zachowywał się jak Vi, nawet jeśli istnieje plik .vimrc.
+.TP
+\-d
+Uruchom w trybie diff.
+Powinno być dwa lub trzy nazwy plików jako argumenty.
+.B Vim
+otworzy wszystkie te pliki i pokaże różnice między nimi.
+Działa jak vimdiff(1).
+.TP
+\-d {urządzenie}
+Otwórz {urządzenie} by używać jako terminal.
+Tylko na Amidze.
+Przykład:
+"\-d con:20/30/600/150".
+.TP
+\-D
+Debugowanie. Przejdź do trybu debugowanie wykonując pierwsze polecenie
+ze skryptu.
+.TP
+\-e
+Uruchom
+.B Vima
+w trybie Ex, działa tak samo jakby wywołano program jako "ex".
+.TP
+\-E
+Uruchom
+.B Vima
+w ulepszonym trybie Ex, działa tak samo jakby wywołano program jako
+"exim".
+.TP
+\-f
+Pierszy plan. Dla wersji GUI.
+.B Vim
+nie nie oddzieli się od powłoki w jakiej został uruchomiony. Na Amidze
+.B Vim
+nie jest uruchomiony ponownie by otworzyć nowe okno.
+Opcja powinna być użyta kiedy
+.B Vim
+jest wywoływany przez program, który ma zaczekać na koniec sesji (np.
+mail).
+Na Amidze polecenia ":sh" i ":!" nie będą działać.
+.TP
+\-\-nofork
+Pierwszy plan. Dla wersji GUI.
+.B Vim
+nie oddzieli się od powłoki w jakiej został uruchomiony.
+.TP
+\-F
+Jeśli Vim został skompilowany ze wsparciem FKMAP dla edycji tekstów od
+prawej do lewej i mapowania klawiatury Farsi, ta opcja uruchomi
+.B Vima
+w trybie Farsi, np. zostawią ustawione opcje 'fkmap' i 'rightleft'.
+W innym wypadku pojawi się komunikat błędu i
+.B Vim
+zakończy działanie.
+.TP
+\-g
+Jeśli
+.B Vim
+został skompilowany ze wsparciem dla GUI ta opcja uruchomi GUI.
+W innym wypadku pojawi się komunikat błędu i
+.B Vim
+zakończy działanie.
+.TP
+\-h
+Wyświetli krótką pomoc o argumentach linii poleceń i opcjach. Potem
+.B Vim
+zakończy działanie.
+.TP
+\-H
+Jeśli
+.B Vim
+został skompilowany ze wsparciem RIGHTLEFT dla edycji od prawej do
+lewej oraz ma mapowanie klawiatury dla hebrajskiego, ta opcja uruchomi
+.B Vima
+w trybie hebrajskim, np. ustawi opcje 'hkmap' i 'rightleft'.
+W innym wypadku pojawi się komunikat błędu i
+.B Vim
+zakończy działanie.
+.TP
+\-i {viminfo}
+Kiedy
+.B Vim
+używa pliku viminfo ta opcja wskaże jakiego pliku użyć zamiast
+domyślnego "~/.viminfo".
+Można też ominąć użycie pliku .viminfo przez podanie nazwy "NONE".
+.TP
+\-L
+To samo co \-r.
+.TP
+\-l
+Tryb Lisp.
+Ustawia opcje 'lisp' i 'showmatch'.
+.TP
+\-m
+Zmiana pliku jest niemożliwa.
+Przestawia opcję 'write'.
+Można cały czas zmienić zawartość bufora, ale zapisanie pliku nie jest
+możliwa.
+.TP
+\-M
+Opcje 'modifiable' i 'write' zostaną wyłączone, tak więc zmiany
+w pliku oraz ich zapisanie nie są możliwe. Można wartość tych opcji
+zmienić.
+.TP
+\-N
+Tryb niekompatibylny. Przestawia opcję 'compatible'. Dzięki temu
+.B Vim
+będzie zachowywał się odrobinę lepiej, ale mniej zgodznie z Vi nawet
+jeśli nie istnieje plik .vimrc.
+.TP
+\-n
+Nie powstanie plik wymiany. Odzyskanie pliku po wypadku nie będzie
+możliwe.
+Wygodne jeśli instnieje potrzeba edycji na bardzo wolnym medium (np.
+dyskietce). Ten cel można osiągnąć także przez ":set uc=0". Można
+odwrócić przez ":set uc=200".
+.TP
+\-nb
+Uruchom jako serwer edytora dla NetBeans. Zobacz dokumentację by
+dowiedzieć się więcej.
+.TP
+\-o[N]
+Otwórz N okien w stosie.
+Kiedy brak N, otwórz jedno okno dla każdego pliku.
+.TP
+\-O[N]
+Otwórz N okien obok siebie.
+Kiedy brak N, otwórz jedno okno dla każdego pliku.
+.TP
+\-p[N]
+Otwórz N kart.
+Kiedy brak N, otwórz jedną kartę dla każdego pliku.
+.TP
+\-R
+Tryb tylko do odczytu.
+Zostanie ustawiona opcja 'readonly'.
+Cały czas można zmieniać bufor, ale będzie istniała blokada przed przypadkowym
+zapisaniem pliku.
+Jeśli chcesz zapisać plik dodaj wykrzyknik do polecenia Ex, np. ":w!".
+Opcja \-R implikuje opcję \-n (zobacz poniżej).
+Opcja 'readonly' może zostać przestawiona poprzez ":set noro".
+Zobacz ":help 'readonly'".
+.TP
+\-r
+Wypisz listę plików wymiany razem z informacjami o nich.
+.TP
+\-r {plik}
+Tryb odzyskiwania danych.
+Plik wymiany zostanie wykorzystany do odzyskania gwałtownie przerwanej sesji.
+Plik wymiany to plik z taką samą nazwą co plik oryginalny z dodanym ".swp".
+Zobacz ":help recovery".
+.TP
+\-s
+Tryb cichy. Rozpoczęty tylko kiedy uruchomiony jako "Ex" lub opcja
+"\-e" została podana przed opcją "\-s".
+.TP
+\-s {skrypt}
+Zostanie wczytany plik {skrypt}.
+Znaki w pliku zostaną zinterpretowane jakby były wpisywane.
+To samo można osiągnąć poprzez polecenie ":source! {skrypt}".
+Jeśli osiągnięto koniec pliku zanim edytor zakończył działanie, dalsze
+znaki odczytywane są z klawiatury.
+.TP
+\-T {terminal}
+Przekazuje
+.B Vimowi
+nazwę terminalu jakiego używasz.
+Wymagane tylko wtedy jeśli nie działa automatycznie.
+Powinien być to terminal znany
+.B Vimowi
+(builtin) lub zdefiniowany w plikach termcap lub terminfo.
+.TP
+\-u {vimrc}
+Użyj poleceń z pliku {vimrc} w czasie uruchamiania.
+Wszystkie inne możliwe pliki uruchamiania zostaną pominięte.
+Używaj do edytowania plików specjalnych.
+Można pominąć także wszystkie możliwe pliki uruchamiania poprzez
+podanie nazwy "NONE".
+Zobacz ":help initialization" by poznać więcej szczegółów.
+.TP
+\-U {gvimrc}
+Użyj poleceń z pliku {gvimrc} w czasie uruchamiania GUI.
+Wszystkie inne możliwe pliki uruchamiania GUI zostaną pominięte.
+Można pominąć także wszystkie możliwe pliki uruchamiania GUI poprzez
+podanie nazwy "NONE".
+Zobacz ":help gui-init" by poznać więcej szczegółów.
+.TP
+\-V[N]
+Tryb gadatliwy. Wypisz wiadomości o tym jaki pliki są wczytywane
+i o informacjach pobieranych i dodawanych do pliku viminfo. Opcjonalny
+argument N jest wartością 'verbose'. Domyślnie 10.
+.TP
+\-v
+Uruchom
+.B Vima
+w trybie Vi, tak jakby program był nazwany "vi". Ma znaczenie
+tylko wtedy jeśli program nazwany jest "ex".
+.TP
+\-w {plik}
+Wszystkie wciśnięcia klawiszy, aż do zakończenia działania programu,
+są zapisywane w {plik} .
+Użyteczne jeśli chce się stworzyć skrypt do użycia z "vim \-s" lub
+":source!".
+Jeśli {plik} istnieje, znaki są dopisywane.
+.TP
+\-W {plik}
+Podobnie do \-w, ale istniejący plik jest nadpisywany.
+.TP
+\-x
+Użyj szyfrowania podczas zapisywania plików. Zostaniesz poproszony
+o podanie klucza.
+.TP
+\-X
+Nie łącz z serwerem X. Skraca czas uruchamiania w terminalu, ale tytuł
+okna i schowek nie będą wykorzystywane.
+.TP
+\-y
+Uruchom
+.B Vima
+w łatwym trybie, tak jakby program został wywołany "evim" lub "eview".
+.B Vim
+będzie zachowywał się bardziej jak edytor kliknij-i-wpisz.
+.TP
+\-Z
+Tryb ograniczony. Zachowuje się jakby nazwa programu zaczynała się od
+"r".
+.TP
+\-\-
+Oznacza koniec opcji.
+Argumenty po tej opcji będą traktowane jak nazwy plików. Używa się do
+otwierania plików, których nazwy zaczynają się od '\-'.
+.TP
+\-\-echo\-wid
+Wyłącznie GTK GUI: wypisz ID okna na standardowe wyjście.
+.TP
+\-\-help
+Wyświetl informację o pomocy i zakończy, to samo co"\-h".
+.TP
+\-\-literal
+Potraktuj nazwy plików dosłownie i nie rozwiązuj kwantyfikatorów. Nie
+ma znaczenia na Uniksach gdzie powłoka rozwiązuje kwantyfikatorów
+.TP
+\-\-noplugin
+Pomiń ładowanie wtyczek. Implikowane przy \-u NONE.
+.TP
+\-\-remote
+Połącz się z serwerem Vima i edytuj w nim resztę argumentów. Jeśli nie
+znaleziono serwera zostanie zgłoszony błąd a pliki będą otwarte
+w bieżącym Vimie.
+.TP
+\-\-remote\-expr {wyrażenie}
+Połącz z serwerem Vima, rozwiąż w nim {wyrażenie} i wypisz rozwiązanie
+na standardowe wyjście.
+.TP
+\-\-remote\-send {klawisze}
+Połącz z serwerem Vima i wyślij do niego {klawisze}.
+.TP
+\-\-remote\-silent
+Tak samo jak \-remote, ale bez ostrzeżenia kiedy nie znaleziono
+serwera.
+.TP
+\-\-remote\-wait
+Tak samo jak \-remote, ale Vim nie zakończy dopóki pliki nie zostaną
+otwarte.
+.TP
+\-\-remote\-wait\-silent
+Tak samo jak \-\-remote\-wait, ale bez ostrzeżenie kiedy nie
+znaleziono serwera.
+.TP
+\-\-serverlist
+Wypisz nazwy wszystkich serwerów Vima jakie można znaleźć.
+.TP
+\-\-servername {nazwa}
+Użyj {nazwa} jako nazwy serwera. Wykorzystane dla bieżącego Vima o ile
+nie połączone z argumentem \-\-remote, wtedy jest to nazwa serwera do
+połączenia.
+.TP
+\-\-socketid {id}
+Wyłącznie GTK GUI: Użyj mechanizmu GtkPlug by uruchomić gvima w innym
+oknie.
+.TP
+\-\-version
+Wypisz informację o wersji i zakończ.
+.SH POMOC ON-LINE
+By rozpocząć wpisz ":help" w
+.B Vimie
+Wpisz ":help temat" by uzyskać pomoc na określony temat.
+Przykład: ":help ZZ" by uzyskać pomoc na temat polecenia "ZZ".
+Użyj <Tab> i CTRL\-D aby uzupełnić tematy (":help
+cmdline\-completion"). W plikach pomocy istnieją znaczniki by ułatwić
+skakanie z jednego miejsca do innego (rodzaj linków hipertekstowych,
+zobacz ":help").
+Można w ten sposób zobaczyć całą dokumentację, np. ":help syntax.txt".
+.SH PLIKI
+.TP 15
+/usr/local/lib/vim/doc/*.txt
+Dokumentacja
+.B Vima
+Użyj ":help doc\-file\-list" aby uzyskać pełną listę.
+.TP
+/usr/local/lib/vim/syntax/syntax.vim
+Globalne uruchamianie podświetlania składni.
+.TP
+/usr/local/lib/vim/syntax/*.vim
+Pliki składni dla różnych języków.
+.TP
+/usr/local/lib/vim/vimrc
+Globalny plik uruchamiania
+.B Vima
+.TP
+~/.vimrc
+Osobiste parametry uruchamiania
+.B Vima
+.TP
+/usr/local/lib/vim/gvimrc
+Globalne uruchamianie gvima.
+.TP
+~/.gvimrc
+Osobiste parametry uruchamiania gvima.
+.TP
+/usr/local/lib/vim/optwin.vim
+Skrypt używany w poleceniu ":options", dobry sposób do przeglądania
+i ustawiania opcji.
+.TP
+/usr/local/lib/vim/menu.vim
+Globalne uruchamianie menu gvima.
+.TP
+/usr/local/lib/vim/bugreport.vim
+Skrypt służący do tworzenia raportów o błędach. Zobacz ":help bugs".
+.TP
+/usr/local/lib/vim/filetype.vim
+Skrypt do wykrywania typu pliku według jego nazwy. Zobacz ":help 'filetype'".
+.TP
+/usr/local/lib/vim/scripts.vim
+Skrypt do wykrywania typu pliku według jego zawartości. Zobacz ":help 'filetype'".
+.TP
+/usr/local/lib/vim/*.ps
+Pliku używane do drukowania PostScriptu.
+.PP
+Najświeższe wiadomości na stronie
+.B Vima:
+.br
+<URL:http://www.vim.org/>
+.SH ZOBACZ TAKŻE
+vimtutor(1)
+.SH AUTOR
+.B Vim
+został napisany przez Brama Moolenaara z dużą pomocą innych osób.
+Zobacz ":help credits" w
+.B Vimie.
+.br
+.B Vim
+bazuje na Steviem, nad którym pracowali: Tim Thompson, Tony Andrews
+i G.R. (Fred) Walter.
+Mało już zostało z oryginalnego kodu.
+.SH BŁĘDY
+Prawdopodobne.
+Zobacz ":help todo" by poznać listę znanych problemów.
+.PP
+Pamiętaj że pewna ilość problemów, które mogą być uznawane przez
+niektórych ludzi za błędy są w rzeczywistości spowodowane wiernością
+w odtwarzaniu zachowania Vi.
+Jeśli sądzisz, że inne rzeczy są błędami "ponieważ Vi robi to
+inaczej", powinieneś przyjrzeć się bliżej plikowi vi_diff.txt (lub
+wpisać ":help vi_diff.txt" w Vimie).
+Sprawdź także opis opcji 'compatible' i 'cpoptions'.
diff --git a/runtime/doc/vim-pl.UTF-8.1 b/runtime/doc/vim-pl.UTF-8.1
new file mode 100644
index 000000000..ab19a527c
--- /dev/null
+++ b/runtime/doc/vim-pl.UTF-8.1
@@ -0,0 +1,555 @@
+.TH VIM 1 "2002 Lut 22"
+.SH NAME
+vim \- Vi rozbudowany, edytor tekstu dla programisty
+.SH SYNOPSIS
+.br
+.B vim
+[opcje] [plik ..]
+.br
+.B vim
+[opcje] \-
+.br
+.B vim
+[opcje] \-t znacznik
+.br
+.B vim
+[opcje] \-q [plik błędu]
+.PP
+.br
+.B ex
+.br
+.B view
+.br
+.B gvim
+.B gview
+.B evim
+.B eview
+.br
+.B rvim
+.B rview
+.B rgvim
+.B rgview
+.SH OPIS
+.B Vim
+jest edytorem tekstu kompatybilnym z Vi. Może być
+uĹźywany do edycji wszelkiego rodzaju plikĂłw tekstowych.
+Użyteczny zwłaszcza przy edycji programów.
+.PP
+Posiada wiele usprawnień w porównaniu z Vi: wielo poziomowe cofanie zmian,
+wiele okien i buforów, podświetlanie składni, edycja linii poleceń,
+uzupełnianie nazw plików, pomoc on-line, wizualna selekcja, itd.
+Zobacz ":help vi_diff.txt" dla podsumowania różnić pomiędzy
+.B Vimem
+i Vi.
+.PP
+W czasie korzystania z
+.B Vima
+można uzyskać obszerną pomoc z systemu pomocy on-line dzięki poleceniu ":help".
+Zobacz rozdział POMOC ON-LINE poniżej.
+.PP
+Najczęściej
+.B Vim
+jest uruchamiany do edycji pojedynczego pliku poleceniem
+.PP
+ vim plik
+.PP
+Bardziej ogĂłlnie
+.B Vim
+jest uruchamiany poprzez:
+.PP
+ vim [opcje] [lista plikĂłw]
+.PP
+Jeśli brak listy plików edytor rozpocznie z pustym buforem. W innym
+wypadku istnieje dokładnie jedna z czterech możliwości by wybrać jeden
+lub więcej plików do edycji.
+.TP 12
+plik ..
+Lista nazw plikĂłw.
+Pierwsza nazwa będzie nazwą bieżącego pliku, który zostanie wczytany
+do bufora. Kursor zostanie umieszczony w pierwszym wierszu. Do
+kolejnych plików można przejść dzięki poleceniu ":next". By otworzyć
+plik, którego nazwa zaczyna się od myślnika należy listę plików
+poprzedzić "\-\-".
+.TP
+\-
+Plik do edycji jest wczytany ze standardowego wejścia. Polecenia są
+odczytywane ze standardowego wyjścia błędów, którym powinien być
+terminal (tty).
+.TP
+\-t {znacznik}
+Plik do edycji i początkowa pozycja kursora zależy od "znacznika",
+rodzaju etykiety goto.
+{znacznika} szuka się w pliku tags, związany z nim plik staje się
+plikiem bieżącym i wykonuje się powiązane polecenie.
+Zazwyczaj używa się tego sposobu dla programów w C, w których wypadku
+{znacznik} powinien być nazwą funkcji.
+W efekcie plik zawierający określoną funkcję staje się plikiem
+bieżącym a kursor jest umieszczony na początku funkcji.
+Zobacz ":help tag-commands".
+.TP
+\-q [plik_błędów]
+Zacznij w trybie quickFix.
+Plik [plik_błędów] zostaje zinterpretowany i pokaże się pierwszy błąd.
+Jeśli brak opcji [plik_błędów] nazwa pliku zostanie pobrana z opcji
+'errorfile' (domyślnie "AztecC.Err" dla Amigi, "errros.err" dla innych
+systemĂłw.
+Do kolejnych błędów można przeskoczyć dzięki poleceniu ":cn".
+Zobacz ":help quickfix".
+.PP
+W zależności od wywołania
+.B Vim
+zachowuje się inaczej (program może być cały czas tym samym
+plikiem).
+.TP 10
+vim
+"Normalny" sposób, wszystko jest domyślne.
+.TP
+ex
+Zacznij w trybie Ex.
+PrzejdĹş do trybu Normalnego poleceniem ":vi".
+Można także uruchomić poprzez argument "\-e".
+.TP
+view
+Zacznij w trybie tylko do odczytu. W ten sposób będziesz chroniony
+przed zapisywaniem pliku. Można także uruchomić poprzez argument
+"\-R".
+.TP
+gvim gview
+Wersja GUI.
+Uruchamia nowe okno.
+Można także uruchomić poprzez argument "\-g".
+.TP
+evim eview
+Wersja GUI w łatwym trybie.
+Uruchamia nowe okno.
+Można także uruchomić poprzez argument "\-y".
+.TP
+rvim rview rgvim rgview
+Podobnie jak powyżej, ale z ograniczeniami. Nie będzie można uruchomić
+poleceń powłoki lub zawiesić
+.B Vima.
+Można także uruchomić poprzez argument "\-Z".
+.SH OPCJE
+Opcje można podać w dowolnej kolejności, przed lub po nazwach plików.
+Opcje bez argumentów można łączyć po pojedynczym myślniku.
+.TP 12
++[num]
+W pierwszym pliku kursor zostanie umieszczony w wierszu "num".
+Jeśli brak "num" kursor zostanie umieszczony w ostatnim wierszu.
+.TP
++/{wzĂłr}
+W pierwszym pliku kursor zostanie umieszczony na pierwszym wystąpieniu
+{wzĂłr}.
+Zobacz ":help search-pattern" by dowiedzieć się jakie są możliwości
+wzorĂłw wyszukiwania.
+.TP
++{polecenie}
+.TP
+\-c {polecenie}
+{polecenie} zostanie wykonane po tym jak wczyta się pierwszy plik.
+{polecenie} jest interpretowane jako polecenie Ex.
+Jeśli {poleceni} zawiera białe znaki musi być umieszczone w podwójnych
+cudzysłowach (zależy to od używanej powłoki).
+Przykład: Vim "+set si" main.c
+.br
+Uwaga: Można użyć do 10 poleceń "+" lub "\-c".
+.TP
+\-S {plik}
+{plik} zostanie zinterpretowany po wczytaniu pierwszego pliku.
+Jest rĂłwnowaĹźne \-c "source {plik}".
+{plik} nie może zaczynać się '\-'.
+Jeśli nie podano {plik} zostanie użyty "Session.vim" (działa tylko
+wtedy jeśli \-S jest ostatnim argumentem).
+.TP
+\-\-cmd {polecenie}
+Podobne do "\-c", ale polecenie jest wykonywane tuĹź przed
+interpretacją jakiegokolwiek pliku vimrc.
+Można użyć do 10 takich poleceń, niezależni od poleceń od "\-c"
+.TP
+\-A
+Jeśli
+.B Vim
+został skompilowany ze wsparciem dla języków arabskich (edycja od
+prawej do lewej i arabska mapa klawiatury) ta opcja uruchamia
+.B Vima
+w trybie arabskim, np. ustawia się opcja 'arabic'. W innym wypadku
+pojawi się komunikat błędu i
+.B Vim
+zakończy działanie.
+.TP
+\-b
+Tryb binarny.
+Ustawi się kilka opcji, które umożliwią edycję plików binarnych lub
+wykonywalnych.
+.TP
+\-C
+Kompatybilny. Ustawia opcję 'compatible'.
+W ten sposĂłb
+.B Vim
+będzie zachowywał się jak Vi, nawet jeśli istnieje plik .vimrc.
+.TP
+\-d
+Uruchom w trybie diff.
+Powinno być dwa lub trzy nazwy plików jako argumenty.
+.B Vim
+otworzy wszystkie te pliki i pokaże różnice między nimi.
+Działa jak vimdiff(1).
+.TP
+\-d {urządzenie}
+Otwórz {urządzenie} by używać jako terminal.
+Tylko na Amidze.
+Przykład:
+"\-d con:20/30/600/150".
+.TP
+\-D
+Debugowanie. Przejdź do trybu debugowanie wykonując pierwsze polecenie
+ze skryptu.
+.TP
+\-e
+Uruchom
+.B Vima
+w trybie Ex, działa tak samo jakby wywołano program jako "ex".
+.TP
+\-E
+Uruchom
+.B Vima
+w ulepszonym trybie Ex, działa tak samo jakby wywołano program jako
+"exim".
+.TP
+\-f
+Pierszy plan. Dla wersji GUI.
+.B Vim
+nie nie oddzieli się od powłoki w jakiej został uruchomiony. Na Amidze
+.B Vim
+nie jest uruchomiony ponownie by otworzyć nowe okno.
+Opcja powinna być użyta kiedy
+.B Vim
+jest wywoływany przez program, który ma zaczekać na koniec sesji (np.
+mail).
+Na Amidze polecenia ":sh" i ":!" nie będą działać.
+.TP
+\-\-nofork
+Pierwszy plan. Dla wersji GUI.
+.B Vim
+nie oddzieli się od powłoki w jakiej został uruchomiony.
+.TP
+\-F
+Jeśli Vim został skompilowany ze wsparciem FKMAP dla edycji tekstów od
+prawej do lewej i mapowania klawiatury Farsi, ta opcja uruchomi
+.B Vima
+w trybie Farsi, np. zostawią ustawione opcje 'fkmap' i 'rightleft'.
+W innym wypadku pojawi się komunikat błędu i
+.B Vim
+zakończy działanie.
+.TP
+\-g
+Jeśli
+.B Vim
+został skompilowany ze wsparciem dla GUI ta opcja uruchomi GUI.
+W innym wypadku pojawi się komunikat błędu i
+.B Vim
+zakończy działanie.
+.TP
+\-h
+Wyświetli krótką pomoc o argumentach linii poleceń i opcjach. Potem
+.B Vim
+zakończy działanie.
+.TP
+\-H
+Jeśli
+.B Vim
+został skompilowany ze wsparciem RIGHTLEFT dla edycji od prawej do
+lewej oraz ma mapowanie klawiatury dla hebrajskiego, ta opcja uruchomi
+.B Vima
+w trybie hebrajskim, np. ustawi opcje 'hkmap' i 'rightleft'.
+W innym wypadku pojawi się komunikat błędu i
+.B Vim
+zakończy działanie.
+.TP
+\-i {viminfo}
+Kiedy
+.B Vim
+używa pliku viminfo ta opcja wskaże jakiego pliku użyć zamiast
+domyślnego "~/.viminfo".
+Można też ominąć użycie pliku .viminfo przez podanie nazwy "NONE".
+.TP
+\-L
+To samo co \-r.
+.TP
+\-l
+Tryb Lisp.
+Ustawia opcje 'lisp' i 'showmatch'.
+.TP
+\-m
+Zmiana pliku jest niemoĹźliwa.
+Przestawia opcję 'write'.
+Można cały czas zmienić zawartość bufora, ale zapisanie pliku nie jest
+moĹźliwa.
+.TP
+\-M
+Opcje 'modifiable' i 'write' zostaną wyłączone, tak więc zmiany
+w pliku oraz ich zapisanie nie są możliwe. Można wartość tych opcji
+zmienić.
+.TP
+\-N
+Tryb niekompatibylny. Przestawia opcję 'compatible'. Dzięki temu
+.B Vim
+będzie zachowywał się odrobinę lepiej, ale mniej zgodznie z Vi nawet
+jeśli nie istnieje plik .vimrc.
+.TP
+\-n
+Nie powstanie plik wymiany. Odzyskanie pliku po wypadku nie będzie
+moĹźliwe.
+Wygodne jeśli instnieje potrzeba edycji na bardzo wolnym medium (np.
+dyskietce). Ten cel można osiągnąć także przez ":set uc=0". Można
+odwrócić przez ":set uc=200".
+.TP
+\-nb
+Uruchom jako serwer edytora dla NetBeans. Zobacz dokumentację by
+dowiedzieć się więcej.
+.TP
+\-o[N]
+OtwĂłrz N okien w stosie.
+Kiedy brak N, otwĂłrz jedno okno dla kaĹźdego pliku.
+.TP
+\-O[N]
+OtwĂłrz N okien obok siebie.
+Kiedy brak N, otwĂłrz jedno okno dla kaĹźdego pliku.
+.TP
+\-p[N]
+OtwĂłrz N kart.
+Kiedy brak N, otwórz jedną kartę dla każdego pliku.
+.TP
+\-R
+Tryb tylko do odczytu.
+Zostanie ustawiona opcja 'readonly'.
+Cały czas można zmieniać bufor, ale będzie istniała blokada przed przypadkowym
+zapisaniem pliku.
+Jeśli chcesz zapisać plik dodaj wykrzyknik do polecenia Ex, np. ":w!".
+Opcja \-R implikuje opcję \-n (zobacz poniżej).
+Opcja 'readonly' może zostać przestawiona poprzez ":set noro".
+Zobacz ":help 'readonly'".
+.TP
+\-r
+Wypisz listę plików wymiany razem z informacjami o nich.
+.TP
+\-r {plik}
+Tryb odzyskiwania danych.
+Plik wymiany zostanie wykorzystany do odzyskania gwałtownie przerwanej sesji.
+Plik wymiany to plik z taką samą nazwą co plik oryginalny z dodanym ".swp".
+Zobacz ":help recovery".
+.TP
+\-s
+Tryb cichy. Rozpoczęty tylko kiedy uruchomiony jako "Ex" lub opcja
+"\-e" została podana przed opcją "\-s".
+.TP
+\-s {skrypt}
+Zostanie wczytany plik {skrypt}.
+Znaki w pliku zostaną zinterpretowane jakby były wpisywane.
+To samo można osiągnąć poprzez polecenie ":source! {skrypt}".
+Jeśli osiągnięto koniec pliku zanim edytor zakończył działanie, dalsze
+znaki odczytywane są z klawiatury.
+.TP
+\-T {terminal}
+Przekazuje
+.B Vimowi
+nazwę terminalu jakiego używasz.
+Wymagane tylko wtedy jeśli nie działa automatycznie.
+Powinien być to terminal znany
+.B Vimowi
+(builtin) lub zdefiniowany w plikach termcap lub terminfo.
+.TP
+\-u {vimrc}
+Użyj poleceń z pliku {vimrc} w czasie uruchamiania.
+Wszystkie inne możliwe pliki uruchamiania zostaną pominięte.
+UĹźywaj do edytowania plikĂłw specjalnych.
+Można pominąć także wszystkie możliwe pliki uruchamiania poprzez
+podanie nazwy "NONE".
+Zobacz ":help initialization" by poznać więcej szczegółów.
+.TP
+\-U {gvimrc}
+Użyj poleceń z pliku {gvimrc} w czasie uruchamiania GUI.
+Wszystkie inne możliwe pliki uruchamiania GUI zostaną pominięte.
+Można pominąć także wszystkie możliwe pliki uruchamiania GUI poprzez
+podanie nazwy "NONE".
+Zobacz ":help gui-init" by poznać więcej szczegółów.
+.TP
+\-V[N]
+Tryb gadatliwy. Wypisz wiadomości o tym jaki pliki są wczytywane
+i o informacjach pobieranych i dodawanych do pliku viminfo. Opcjonalny
+argument N jest wartością 'verbose'. Domyślnie 10.
+.TP
+\-v
+Uruchom
+.B Vima
+w trybie Vi, tak jakby program był nazwany "vi". Ma znaczenie
+tylko wtedy jeśli program nazwany jest "ex".
+.TP
+\-w {plik}
+Wszystkie wciśnięcia klawiszy, aż do zakończenia działania programu,
+są zapisywane w {plik} .
+Użyteczne jeśli chce się stworzyć skrypt do użycia z "vim \-s" lub
+":source!".
+Jeśli {plik} istnieje, znaki są dopisywane.
+.TP
+\-W {plik}
+Podobnie do \-w, ale istniejący plik jest nadpisywany.
+.TP
+\-x
+UĹźyj szyfrowania podczas zapisywania plikĂłw. Zostaniesz poproszony
+o podanie klucza.
+.TP
+\-X
+Nie łącz z serwerem X. Skraca czas uruchamiania w terminalu, ale tytuł
+okna i schowek nie będą wykorzystywane.
+.TP
+\-y
+Uruchom
+.B Vima
+w łatwym trybie, tak jakby program został wywołany "evim" lub "eview".
+.B Vim
+będzie zachowywał się bardziej jak edytor kliknij-i-wpisz.
+.TP
+\-Z
+Tryb ograniczony. Zachowuje się jakby nazwa programu zaczynała się od
+"r".
+.TP
+\-\-
+Oznacza koniec opcji.
+Argumenty po tej opcji będą traktowane jak nazwy plików. Używa się do
+otwierania plików, których nazwy zaczynają się od '\-'.
+.TP
+\-\-echo\-wid
+Wyłącznie GTK GUI: wypisz ID okna na standardowe wyjście.
+.TP
+\-\-help
+Wyświetl informację o pomocy i zakończy, to samo co"\-h".
+.TP
+\-\-literal
+Potraktuj nazwy plików dosłownie i nie rozwiązuj kwantyfikatorów. Nie
+ma znaczenia na Uniksach gdzie powłoka rozwiązuje kwantyfikatorów
+.TP
+\-\-noplugin
+Pomiń ładowanie wtyczek. Implikowane przy \-u NONE.
+.TP
+\-\-remote
+Połącz się z serwerem Vima i edytuj w nim resztę argumentów. Jeśli nie
+znaleziono serwera zostanie zgłoszony błąd a pliki będą otwarte
+w bieżącym Vimie.
+.TP
+\-\-remote\-expr {wyraĹźenie}
+Połącz z serwerem Vima, rozwiąż w nim {wyrażenie} i wypisz rozwiązanie
+na standardowe wyjście.
+.TP
+\-\-remote\-send {klawisze}
+Połącz z serwerem Vima i wyślij do niego {klawisze}.
+.TP
+\-\-remote\-silent
+Tak samo jak \-remote, ale bez ostrzeĹźenia kiedy nie znaleziono
+serwera.
+.TP
+\-\-remote\-wait
+Tak samo jak \-remote, ale Vim nie zakończy dopóki pliki nie zostaną
+otwarte.
+.TP
+\-\-remote\-wait\-silent
+Tak samo jak \-\-remote\-wait, ale bez ostrzeĹźenie kiedy nie
+znaleziono serwera.
+.TP
+\-\-serverlist
+Wypisz nazwy wszystkich serwerów Vima jakie można znaleźć.
+.TP
+\-\-servername {nazwa}
+Użyj {nazwa} jako nazwy serwera. Wykorzystane dla bieżącego Vima o ile
+nie połączone z argumentem \-\-remote, wtedy jest to nazwa serwera do
+połączenia.
+.TP
+\-\-socketid {id}
+Wyłącznie GTK GUI: Użyj mechanizmu GtkPlug by uruchomić gvima w innym
+oknie.
+.TP
+\-\-version
+Wypisz informację o wersji i zakończ.
+.SH POMOC ON-LINE
+By rozpocząć wpisz ":help" w
+.B Vimie
+Wpisz ":help temat" by uzyskać pomoc na określony temat.
+Przykład: ":help ZZ" by uzyskać pomoc na temat polecenia "ZZ".
+Użyj <Tab> i CTRL\-D aby uzupełnić tematy (":help
+cmdline\-completion"). W plikach pomocy istnieją znaczniki by ułatwić
+skakanie z jednego miejsca do innego (rodzaj linkĂłw hipertekstowych,
+zobacz ":help").
+Można w ten sposób zobaczyć całą dokumentację, np. ":help syntax.txt".
+.SH PLIKI
+.TP 15
+/usr/local/lib/vim/doc/*.txt
+Dokumentacja
+.B Vima
+Użyj ":help doc\-file\-list" aby uzyskać pełną listę.
+.TP
+/usr/local/lib/vim/syntax/syntax.vim
+Globalne uruchamianie podświetlania składni.
+.TP
+/usr/local/lib/vim/syntax/*.vim
+Pliki składni dla różnych języków.
+.TP
+/usr/local/lib/vim/vimrc
+Globalny plik uruchamiania
+.B Vima
+.TP
+~/.vimrc
+Osobiste parametry uruchamiania
+.B Vima
+.TP
+/usr/local/lib/vim/gvimrc
+Globalne uruchamianie gvima.
+.TP
+~/.gvimrc
+Osobiste parametry uruchamiania gvima.
+.TP
+/usr/local/lib/vim/optwin.vim
+Skrypt używany w poleceniu ":options", dobry sposób do przeglądania
+i ustawiania opcji.
+.TP
+/usr/local/lib/vim/menu.vim
+Globalne uruchamianie menu gvima.
+.TP
+/usr/local/lib/vim/bugreport.vim
+Skrypt służący do tworzenia raportów o błędach. Zobacz ":help bugs".
+.TP
+/usr/local/lib/vim/filetype.vim
+Skrypt do wykrywania typu pliku według jego nazwy. Zobacz ":help 'filetype'".
+.TP
+/usr/local/lib/vim/scripts.vim
+Skrypt do wykrywania typu pliku według jego zawartości. Zobacz ":help 'filetype'".
+.TP
+/usr/local/lib/vim/*.ps
+Pliku uĹźywane do drukowania PostScriptu.
+.PP
+Najświeższe wiadomości na stronie
+.B Vima:
+.br
+<URL:http://www.vim.org/>
+.SH ZOBACZ TAKĹťE
+vimtutor(1)
+.SH AUTOR
+.B Vim
+został napisany przez Brama Moolenaara z dużą pomocą innych osób.
+Zobacz ":help credits" w
+.B Vimie.
+.br
+.B Vim
+bazuje na Steviem, nad ktĂłrym pracowali: Tim Thompson, Tony Andrews
+i G.R. (Fred) Walter.
+Mało już zostało z oryginalnego kodu.
+.SH BŁĘDY
+Prawdopodobne.
+Zobacz ":help todo" by poznać listę znanych problemów.
+.PP
+Pamiętaj że pewna ilość problemów, które mogą być uznawane przez
+niektórych ludzi za błędy są w rzeczywistości spowodowane wiernością
+w odtwarzaniu zachowania Vi.
+Jeśli sądzisz, że inne rzeczy są błędami "ponieważ Vi robi to
+inaczej", powinieneś przyjrzeć się bliżej plikowi vi_diff.txt (lub
+wpisać ":help vi_diff.txt" w Vimie).
+SprawdĹş takĹźe opis opcji 'compatible' i 'cpoptions'.
diff --git a/runtime/doc/vimdiff-pl.1 b/runtime/doc/vimdiff-pl.1
new file mode 100644
index 000000000..ac3de3f8e
--- /dev/null
+++ b/runtime/doc/vimdiff-pl.1
@@ -0,0 +1,46 @@
+.TH VIMDIFF 1 "2001 Mar 30"
+.SH NAZWA
+vimdiff \- edytuj dwie lub trzy wersje pliku w Vimie i zobacz różnice
+.SH SYNOPSIS
+.br
+.B vimdiff
+[opcje] plik1 plik2 [plik3]
+.PP
+.B gvimdiff
+.SH OPIS
+.B Vimdiff
+uruchomi
+.B Vima
+z dwoma (lub trzema plikami), każdy z nich we własnym oknie.
+Różnice między plikami zostaną podświetlone.
+Jest to dobry sposób by przeanalizować różnice i przenieść zmiany z jednej
+wersji pliku do innej.
+.PP
+Zobacz vim(1) by poznać więcej szczegółów o samym Vimie.
+.PP
+Kiedy uruchomiony jako
+.B gvimdiff
+zostanie uruchomione GUI (jeśli dostępne).
+.PP
+W każdym oknie zostanie ustawiona opcja 'diff', która spowoduje
+podświetlenie różnic.
+.br
+Opcje 'wrap' i 'scrollbind' zostaną ustawione by tekst dobrze się
+przeglądało.
+.br
+Opcja 'foldmethod' zostanie ustawiona na "diff", dzięki temu
+niezmienione linie zostaną zwinięte. 'foldcolumn' będzie równe 2 aby
+łatwo wyszukiwać, otwierać i zamykać zwinięcia.
+.SH OPCJE
+Pionowy podział jest użyty do wyrównania linii, tak jakby użyto
+opcji "\-O". Aby uzyskać poziomy podział użyj opcji "\-o".
+.PP
+Aby poznać inne opcje zobacz vim(1).
+.SH ZOBACZ TAKŻE
+vim(1)
+.SH AUTOR
+Większość
+.B Vima
+została napisana przez Brama Moolenaara przy pomocy wielu innych osób.
+Zobacz ":help credits w
+.B Vimie.
diff --git a/runtime/doc/vimdiff-pl.UTF-8.1 b/runtime/doc/vimdiff-pl.UTF-8.1
new file mode 100644
index 000000000..0d9186eb4
--- /dev/null
+++ b/runtime/doc/vimdiff-pl.UTF-8.1
@@ -0,0 +1,46 @@
+.TH VIMDIFF 1 "2001 Mar 30"
+.SH NAZWA
+vimdiff \- edytuj dwie lub trzy wersje pliku w Vimie i zobacz róşnice
+.SH SYNOPSIS
+.br
+.B vimdiff
+[opcje] plik1 plik2 [plik3]
+.PP
+.B gvimdiff
+.SH OPIS
+.B Vimdiff
+uruchomi
+.B Vima
+z dwoma (lub trzema plikami), każdy z nich we własnym oknie.
+Różnice między plikami zostaną podświetlone.
+Jest to dobry sposób by przeanalizować różnice i przenieść zmiany z jednej
+wersji pliku do innej.
+.PP
+Zobacz vim(1) by poznać więcej szczegółów o samym Vimie.
+.PP
+Kiedy uruchomiony jako
+.B gvimdiff
+zostanie uruchomione GUI (jeśli dostępne).
+.PP
+W kaĹźdym oknie zostanie ustawiona opcja 'diff', ktĂłra spowoduje
+podświetlenie różnic.
+.br
+Opcje 'wrap' i 'scrollbind' zostaną ustawione by tekst dobrze się
+przeglądało.
+.br
+Opcja 'foldmethod' zostanie ustawiona na "diff", dzięki temu
+niezmienione linie zostaną zwinięte. 'foldcolumn' będzie równe 2 aby
+łatwo wyszukiwać, otwierać i zamykać zwinięcia.
+.SH OPCJE
+Pionowy podział jest użyty do wyrównania linii, tak jakby użyto
+opcji "\-O". Aby uzyskać poziomy podział użyj opcji "\-o".
+.PP
+Aby poznać inne opcje zobacz vim(1).
+.SH ZOBACZ TAKĹťE
+vim(1)
+.SH AUTOR
+Większość
+.B Vima
+została napisana przez Brama Moolenaara przy pomocy wielu innych osób.
+Zobacz ":help credits w
+.B Vimie.
diff --git a/runtime/doc/vimtutor-pl.1 b/runtime/doc/vimtutor-pl.1
new file mode 100644
index 000000000..a7ac50f62
--- /dev/null
+++ b/runtime/doc/vimtutor-pl.1
@@ -0,0 +1,48 @@
+.TH VIMTUTOR 1 "2001 Kwi 2"
+.SH NAZWA
+vimtutor \- nauczyciel Vima
+.SH SYNOPSIS
+.br
+.B vimtutor [język]
+.SH OPIS
+.B Vimtutor
+uruchamia nauczycie
+.B Vima.
+Najpierw kopiuje właściwy plik, dzięki temu można go zmieniać bez obaw
+utraty treści.
+.PP
+.B Vimtutor
+przyda się ludziom, którzy chcą się nauczyć pierwszych poleceń
+.B Vima
+.PP
+Opcjonalny argument [język] jest dwu literowym kodem języka, tak jak
+"it" lub "es".
+Jeśli brak argumentu [język] zostanie użyty język bieżącej
+lokalizacji.
+Jeśli nauczyciel w tym języku jest dostępny, zostanie użyty \- w innym
+wypadku zostanie wykorzystana wersja angielska.
+.PP
+.B Vim
+jest uruchamiany zawsze w trybie kompatybilności z Vi
+.SH PLIKI
+.TP 15
+/usr/local/lib/vim/tutor/tutor[.languague]
+Tekstowe pliki
+.B Vimtutora.
+.TP 15
+/usr/local/lib/vim/tutor/tutor.vim
+Skrypt Vima używany do kopiowania pliku
+.B Vimtutora.
+.SH AUTOR
+.B Vimtutor
+został początkowo napisany dla Vim przez Michaela C. Pierce'a
+i Roberta K. Ware'a z Colorado School of Mines zainspirowani przez
+Charlesa Smitha z Colorado State University.
+E-mail: bware@mines.colorado.edu
+.br
+Zmodyfikowany na potrzeby
+.B Vima
+przez Brama Moolenaara.
+Nazwiska tłumaczy w plikach.
+.SH ZOBACZ TAKŻE
+vim(1)
diff --git a/runtime/doc/vimtutor-pl.UTF-8.1 b/runtime/doc/vimtutor-pl.UTF-8.1
new file mode 100644
index 000000000..78ee1be63
--- /dev/null
+++ b/runtime/doc/vimtutor-pl.UTF-8.1
@@ -0,0 +1,48 @@
+.TH VIMTUTOR 1 "2001 Kwi 2"
+.SH NAZWA
+vimtutor \- nauczyciel Vima
+.SH SYNOPSIS
+.br
+.B vimtutor [język]
+.SH OPIS
+.B Vimtutor
+uruchamia nauczycie
+.B Vima.
+Najpierw kopiuje właściwy plik, dzięki temu można go zmieniać bez obaw
+utraty treści.
+.PP
+.B Vimtutor
+przyda się ludziom, którzy chcą się nauczyć pierwszych poleceń
+.B Vima
+.PP
+Opcjonalny argument [język] jest dwu literowym kodem języka, tak jak
+"it" lub "es".
+Jeśli brak argumentu [język] zostanie użyty język bieżącej
+lokalizacji.
+Jeśli nauczyciel w tym języku jest dostępny, zostanie użyty \- w innym
+wypadku zostanie wykorzystana wersja angielska.
+.PP
+.B Vim
+jest uruchamiany zawsze w trybie kompatybilności z Vi
+.SH PLIKI
+.TP 15
+/usr/local/lib/vim/tutor/tutor[.languague]
+Tekstowe pliki
+.B Vimtutora.
+.TP 15
+/usr/local/lib/vim/tutor/tutor.vim
+Skrypt Vima uĹźywany do kopiowania pliku
+.B Vimtutora.
+.SH AUTOR
+.B Vimtutor
+został początkowo napisany dla Vim przez Michaela C. Pierce'a
+i Roberta K. Ware'a z Colorado School of Mines zainspirowani przez
+Charlesa Smitha z Colorado State University.
+E-mail: bware@mines.colorado.edu
+.br
+Zmodyfikowany na potrzeby
+.B Vima
+przez Brama Moolenaara.
+Nazwiska tłumaczy w plikach.
+.SH ZOBACZ TAKĹťE
+vim(1)
diff --git a/runtime/doc/xxd-pl.1 b/runtime/doc/xxd-pl.1
new file mode 100644
index 000000000..222151dc5
--- /dev/null
+++ b/runtime/doc/xxd-pl.1
@@ -0,0 +1,389 @@
+.TH XXD 1 "Sierpień 1996" "Strona podręcznika dla xxd"
+.\"
+.\" 21st May 1996
+.\" Man page author:
+.\" Tony Nugent <tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
+.\" Changes by Bram Moolenaar <Bram@vim.org>
+.SH NAZWA
+.I xxd
+\- zrzut pliku do hex lub odwrotnie
+.SH SYNOPSIS
+.B xxd
+\-h[elp]
+.br
+.B xxd
+[opcje] [plik_we [plik_wy]]
+.br
+.B xxd
+\-r[evert] [opcje] [plik_we [plik_wy]]
+.SH OPIS
+.I xxd
+tworzy zrzut heksowy podanego pliku na standardowe wyjście.
+Może także przetworzyć zrzut heksowy z powrotem do oryginalnej,
+binarnej formy.
+Podobnie jak
+.BR uuencode (1)
+i
+.BR uudecode (1)
+pozwala na przekazanie danych binarnych w bezpiecznej w poczcie formie
+ASCII, ale ma zalety dekodowania na standardowe wyjście.
+Ponadto można go użyć do przeprowadzenia łatania plików binarnych.
+.SH OPCJE
+Jeśli nie podano
+.I plik_we
+xxd czyta ze standardowego wejście.
+Jeśli określono
+.I plik_wy
+jako znak
+.RB \` \- '
+wtedy dane wejściowe czytane są ze standardowego wejścia.
+Jeśli nie podano
+.I plik_wy
+(lub podano jako
+.RB \` \- '
+), wyniki są wysyłane na standardowe wyjście.
+.PP
+Pamiętaj, że użyty został "leniwy" parser, który nie sprawdza więcej
+niż pierwszej litery opcji (o ile ta nie została obdarzona
+parametrem). Spacje między jedno literowymi opcjami i ich parametrami
+są opcjonalne. Parametry opcji mogą być określone w notacji dziesiętnej,
+heksadecymalej lub oktalnej.
+Stąd
+.BR \-c8 ,
+.BR "\-c 8" ,
+.B \-c 010
+i
+.B \-cols 8
+są sobie równoważne.
+.PP
+.TP
+.IR \-a " | " \-autoskip
+przełącza autoskip: pojedyncza '*' zastępuje linie nul. Domyślnie
+wyłączone.
+.TP
+.IR \-b " | " \-bits
+Przełącza do zrzutu bitowego (cyfr binarnych) zamiast heksowego.
+Opcja ta zapisuje oktety ajko osiem cyfr 1 lub 0 zamias normalnego
+zrzutu heksowego. Każda linia jest poprzedzona przez
+heksadecymalny numer linii a za nim jego reprezentacja w ascii (lub
+ebcdic). Opcje linii poleceń \-r, \-p, \-i nie działają w tym
+trybie.
+.TP
+.IR "\-c cols " | " \-cols cols"
+formatuje liczbę
+.RI < cols >
+oktetów na wiersz. Domyślnie 16 (\-i: 12, \-ps: 30, \-b: 6). Maks.
+256.
+.TP
+.IR \-E " | "\-EBCDIC
+zmienia kodowanie znaków w prawej kolumnie z ASCII na EBCDIC.
+Nie zmienia prezentacji heksadecymalej. Opcja nie działa w połączeniu
+z \-r, \-p lub \-i.
+.TP
+.IR "\-g bajtów " | " \-groupsize bajtów"
+oddziela wyjście każdych
+.RI < bajtów >
+bajtów (dwa heksowe znaki lub osiem cyfr binarnych każde) przez biały
+znak.
+Określ
+.I \-g 0
+by wyłączyć grupowanie.
+.RI < Bajtów "> domyślnie jest " 2
+w trybie normalnym i \fI1\fP w trybie bitów.
+Grupowanie nie działa w trybie postscriptu lub włączania.
+.TP
+.IR \-h " | " \-help
+wypisuje podsumowanie dostępnych poleceń i kończy działanie. Nie
+zostaje przeprowadzony żaden zrzut.
+.TP
+.IR \-i " | " \-include
+wyjście w stylu włączania pliku w C. Zostaje zapisana kompletna
+statyczna tablica definicji (nazwana według pliku wejścia), o ile xxd
+nie czyta ze standardowego wejścia.
+.TP
+.IR "\-l len " | "\-len len"
+zakończ po wypisaniu
+.RI < len>
+oktetów.
+.TP
+.IR \-p " | " \-ps " | " \-postscript " | " \-plain
+wyjście w postcriptowym ciągłym stylu zrzutu heksowego. Znany także
+jako zwykły zrzut heksowy.
+.TP
+.IR \-r " | " \-revert
+odwróć operację: przekonwertuj (lub załataj) zrzut heksowy w binarkę.
+Jeśli nie zapisuje na standardowe wyjście, xxd zapisze plik wyjściowy
+bez obcinania go. Użyj kombinacji
+.I \-r \-p
+by odczytać zwykły zrzut heksadecymalny bez numerów linii
+i określonego układu kolumn. Dodatkowe białe znaki i łamanie wierszy
+są dozwolone wszędzie.
+.TP
+.I \-seek offset
+Kiedy użyty po
+.IR \-r :
+odwraca z
+.RI < offset >
+dodanym do pozycji w pliku odnalezionym w zrzucie heksowym.
+.TP
+.I \-s [+][\-]seek
+zaczyna na
+.RI < seek >
+bajtów abs. (lub wzg.) offsecie pliku wejściowego.
+\fI+ fRwskazuje, że seek jest względne do bieżącej pozycji pliku (bez
+znaczenia jeśli nie wczytuje ze standardowego wejścia). \fI\- \fRwskazuje
+że seek powinno być o tyle znaków od końca wejścia (lub jeśli
+połączone z \fI+\fR: przezhd bieżącą pozycją pliku na standardowym
+wejściu).
+Bez opcji \-s xxd zaczyna od bieżącej pozycji w pliku.
+.TP
+.I \-u
+użyj wielkich liter w znakach heksowych. Domyślnie są małe znaki.
+.TP
+.IR \-v " | " \-version
+pokazuje wersję programu.
+.SH OSTRZEŻENIA
+.PP
+.I xxd \-r
+potrafi określić numery linii. Jeśli plik wyjścia jest możliwy do
+przeszukania wtedy numery linii na początku wiersza zrzutu heksowego
+mogą być nie po kolei, może brakować wierszy lub nakładać się na
+siebie. W takich wypadkach xxd użyje lseek(2) by znaleźć następną
+pozycję. Jeśli plik wyjściowy nie jest możliwy do przeszukania możliwe
+są tylko przerwy, które zostaną wypełnione bajtami null.
+.PP
+.I xxd \-r
+nigdy nie podaje błędów analizy. Śmieci są ignorowane.
+.PP
+W czasie edycji zrzutów heksowych, proszę zauważyć że
+.I xxd \-r
+pomija wszystko w linii wejścia po odczytaniu wystarczającej ilości
+kolumn danych heksadecymalnych (zobacz opcję \-c). Oznacza to także,
+że zmiany w drukowanych kolumnach ascii (lub ebcdic) są zawsze
+ignorowane. Odwrócenie zwykłego (lub postscriptowego) stylu zrzutu
+poprzez xxd \-r \-p nie zależy od kolejności kolumn. Tutaj cokolwiej
+co wygląda jak para cyfr heks jest interpretowane.
+.PP
+Zauważ różnicę między
+.br
+\fI% xxd \-i plik\fR
+.br
+i
+.br
+\fI% xxd \-i < plik\fR
+.PP
+.I xxd \-s \+seek
+może być różne od
+.IR "xxd \-s seek" ,
+ponieważ lseek(2) jest użyty do "przewinięcie" wejścia. '+' robi
+różnicę jeśli źródłem wejścia jest standardowe wejście i jeśli pozycja
+w pliku ze standardowego wejścia nie jest początkiem pliku w chwili
+uruchomienia xxd. Następujące przykłady mogą wyjaśnić (lub bardziej
+zmylić!)...
+.PP
+Przewiń standardowe wejście przed przeczytaniem; potrzebne ponieważ
+`cat' już odczytał do końca standardowego wejścia.
+.br
+\fI% sh \-c 'cat > zwykła_kopia; xxd \-s 0 > hex_kopia' < plik
+.PP
+Zrzut heksowy od pozycji pliku 0x480 (=1024+128) w przód.
+Znak `+' oznacza "względny wobec bieżącej pozycji", stąd `128' dodaje
+do 1k gdzie zakończył dd.
+.br
+\fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +128 > hex_snippet' < file
+.PP
+Zrzut heksowy od pozycji pliku 0x100 ( = 1024\-768) dalej.
+.br
+\fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +-768 > hex_snippet' < file
+.PP
+Jakkolwiek, jest to rzadka sytuacja i użycie `+' jest rzadko
+potrzebne.
+Autor woli monitorować działanie xxd przy pomocy strace(1) lub truss(1) kiedy \-s jest użyte.
+.SH PRZYKŁADY
+.PP
+.br
+Wypisz wszystko z wyjątkiem pierwszych trzech linii (heksowe 0x30 bajtów)
+.B pliku
+\.
+.br
+\fI% xxd \-s 0x30 plik
+.PP
+.br
+Wypisz trzy linie (heksowe 0x30 bajtów) z końca
+.B pliku
+\.
+.br
+\fI% xxd \-s \-0x30 plik
+.PP
+.br
+Wypisz 120 bajtów jako ciągły zrzut heksowy z 40 oktetami na linię.
+.br
+\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
+.br
+2e54482058584420312022417567757374203139
+.br
+39362220224d616e75616c207061676520666f72
+.br
+20787864220a2e5c220a2e5c222032317374204d
+.br
+617920313939360a2e5c22204d616e2070616765
+.br
+20617574686f723a0a2e5c2220202020546f6e79
+.br
+204e7567656e74203c746f6e79407363746e7567
+.br
+
+.br
+Zrzut heksowy z pierwszymi 120 bajtami tej strony podręcznika z 12
+oktetami na linię.
+.br
+\fI% xxd \-l 120 \-c 12 xxd.1\fR
+.br
+0000000: 2e54 4820 5858 4420 3120 2241 .TH XXD 1 "A
+.br
+000000c: 7567 7573 7420 3139 3936 2220 ugust 1996"
+.br
+0000018: 224d 616e 7561 6c20 7061 6765 "Manual page
+.br
+0000024: 2066 6f72 2078 7864 220a 2e5c for xxd"..\\
+.br
+0000030: 220a 2e5c 2220 3231 7374 204d "..\\" 21st M
+.br
+000003c: 6179 2031 3939 360a 2e5c 2220 ay 1996..\\"
+.br
+0000048: 4d61 6e20 7061 6765 2061 7574 Man page aut
+.br
+0000054: 686f 723a 0a2e 5c22 2020 2020 hor:..\\"
+.br
+0000060: 546f 6e79 204e 7567 656e 7420 Tony Nugent
+.br
+000006c: 3c74 6f6e 7940 7363 746e 7567 <tony@sctnug
+.PP
+.br
+Pokaż tylko datę z pliku xxd.1
+.br
+\fI% xxd \-s 0x36 \-l 13 \-c 13 xxd.1\fR
+.br
+0000036: 3231 7374 204d 6179 2031 3939 36 21st May 1996
+.PP
+.br
+Kopiuj
+.B plik_we
+do
+.B plik_wy
+i poprzedź 100 bajtami o wartości 0x00.
+.br
+\fI% xxd plik_we | xxd \-r \-s 100 \> plik_wy\fR
+.br
+
+.br
+Podmień datę w pliku xxd.1
+.br
+\fI% echo '0000037: 3574 68' | xxd \-r \- xxd.1\fR
+.br
+\fI% xxd \-s 0x36 \-l 13 \-c 13 xxd.1\fR
+.br
+0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996
+.PP
+.br
+Utwórz plik o 65537 bajtach, wszystkich równych 0x00,
+z wyjątkiem ostatniego, który ma być 'A' (hex 0x41).
+.br
+\fI% echo '010000: 41' | xxd \-r \> plik\fR
+.PP
+.br
+Zrzut heksowy tego pliku z autoskipem.
+.br
+\fI% xxd \-a \-c 12 plik\fR
+.br
+0000000: 0000 0000 0000 0000 0000 0000 ............
+.br
+*
+.br
+000fffc: 0000 0000 40 ....A
+.PP
+Utwórz jedno bajtowy plik zawierający pojednczą literę 'A'.
+Liczba po '\-r \-s' dodaje numery linii znalezione w pliku;
+w efekcie poprzedzające bajty są ukryte.
+.br
+\fI% echo '010000: 41' | xxd \-r \-s \-0x10000 \> plik\fR
+.PP
+Użyj xxd jako filtra wewnątrz edytora takiego jak
+.B vim(1)
+aby uzyskać zrzut heksowy zakresu między markerami `a' i `z'.
+.br
+\fI:'a,'z!xxd\fR
+.PP
+Użyj xxd jako filtra wewnątrz edytora takiego jak
+.B vim(1)
+by odzyskać binarny zrzut heksowy zakresu pomiędzy markerami `a'
+i `z'.
+.br
+\fI:'a,'z!xxd \-r\fR
+.PP
+Użyj xxd jako filtra wewnątrz edytora takiego jak
+.B vim(1)
+by odzyskać jedną linię zrzutu heksowego. Przejdź z kursorem na linię
+i wpisz:
+.br
+\fI!!xxd \-r\fR
+.PP
+Odczytaj pojednycze znaki z portu szeregowego
+.br
+\fI% xxd \-c1 < /dev/term/b &\fR
+.br
+\fI% stty < /dev/term/b \-echo \-opost \-isig \-icanon min 1\fR
+.br
+\fI% echo \-n foo > /dev/term/b\fR
+.PP
+.SH "ZWRACANE WARTOŚCI"
+Zwracane są następujące wartości błędów:
+.TP
+0
+nie znaleziono błędów.
+.TP
+\-1
+operacja nie jest wspierana (
+.I xxd \-r \-i
+cały czas niemożliwa).
+.TP
+1
+błąd w czasie analizowania opcji.
+.TP
+2
+problemy z plikiem wejściowym.
+.TP
+3
+problemy z plikiem wyjściowym.
+.TP
+4,5
+żądana pozycja jest nieosiągalna.
+.SH "ZOBACZ TAKŻE"
+uuencode(1), uudecode(1), patch(1)
+.br
+.SH OSTRZEŻENIA
+Dziwaczność narzędzi dorównuje dziwaczności mózgu twórcy.
+Używaj wyłącznie na własną odpowiedzialność. Kopiuj pliki. Analizuj
+je. Stań się czarodziejem.
+.br
+.SH WERSJA
+Strona podręcznika opisuje xxd w wersji 1.7
+.SH AUTOR
+.br
+(c) 1990-1997 by Juergen Weigert
+.br
+<jnweiger@informatik.uni-erlangen.de>
+.LP
+Kopiuj do woli i podaj moje dane,
+.br
+zarabiaj pieniądze i dziel się ze mną,
+.br
+trać pieniądze i nie miej do mnie pretensji.
+.PP
+Strona podręcznika zapoczątkowana przez Tony'ego Nugenta
+.br
+<tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
+.br
+Małe zmiany: Bram Moolenaar.
+Redakcja: Juergen Weigert.
+.PP
diff --git a/runtime/doc/xxd-pl.UTF-8.1 b/runtime/doc/xxd-pl.UTF-8.1
new file mode 100644
index 000000000..624de29de
--- /dev/null
+++ b/runtime/doc/xxd-pl.UTF-8.1
@@ -0,0 +1,389 @@
+.TH XXD 1 "Sierpień 1996" "Strona podręcznika dla xxd"
+.\"
+.\" 21st May 1996
+.\" Man page author:
+.\" Tony Nugent <tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
+.\" Changes by Bram Moolenaar <Bram@vim.org>
+.SH NAZWA
+.I xxd
+\- zrzut pliku do hex lub odwrotnie
+.SH SYNOPSIS
+.B xxd
+\-h[elp]
+.br
+.B xxd
+[opcje] [plik_we [plik_wy]]
+.br
+.B xxd
+\-r[evert] [opcje] [plik_we [plik_wy]]
+.SH OPIS
+.I xxd
+tworzy zrzut heksowy podanego pliku na standardowe wyjście.
+Może także przetworzyć zrzut heksowy z powrotem do oryginalnej,
+binarnej formy.
+Podobnie jak
+.BR uuencode (1)
+i
+.BR uudecode (1)
+pozwala na przekazanie danych binarnych w bezpiecznej w poczcie formie
+ASCII, ale ma zalety dekodowania na standardowe wyjście.
+Ponadto można go użyć do przeprowadzenia łatania plików binarnych.
+.SH OPCJE
+Jeśli nie podano
+.I plik_we
+xxd czyta ze standardowego wejście.
+Jeśli określono
+.I plik_wy
+jako znak
+.RB \` \- '
+wtedy dane wejściowe czytane są ze standardowego wejścia.
+Jeśli nie podano
+.I plik_wy
+(lub podano jako
+.RB \` \- '
+), wyniki są wysyłane na standardowe wyjście.
+.PP
+Pamiętaj, że użyty został "leniwy" parser, który nie sprawdza więcej
+niż pierwszej litery opcji (o ile ta nie została obdarzona
+parametrem). Spacje między jedno literowymi opcjami i ich parametrami
+są opcjonalne. Parametry opcji mogą być określone w notacji dziesiętnej,
+heksadecymalej lub oktalnej.
+Stąd
+.BR \-c8 ,
+.BR "\-c 8" ,
+.B \-c 010
+i
+.B \-cols 8
+są sobie równoważne.
+.PP
+.TP
+.IR \-a " | " \-autoskip
+przełącza autoskip: pojedyncza '*' zastępuje linie nul. Domyślnie
+wyłączone.
+.TP
+.IR \-b " | " \-bits
+Przełącza do zrzutu bitowego (cyfr binarnych) zamiast heksowego.
+Opcja ta zapisuje oktety ajko osiem cyfr 1 lub 0 zamias normalnego
+zrzutu heksowego. KaĹźda linia jest poprzedzona przez
+heksadecymalny numer linii a za nim jego reprezentacja w ascii (lub
+ebcdic). Opcje linii poleceń \-r, \-p, \-i nie działają w tym
+trybie.
+.TP
+.IR "\-c cols " | " \-cols cols"
+formatuje liczbę
+.RI < cols >
+oktetów na wiersz. Domyślnie 16 (\-i: 12, \-ps: 30, \-b: 6). Maks.
+256.
+.TP
+.IR \-E " | "\-EBCDIC
+zmienia kodowanie znakĂłw w prawej kolumnie z ASCII na EBCDIC.
+Nie zmienia prezentacji heksadecymalej. Opcja nie działa w połączeniu
+z \-r, \-p lub \-i.
+.TP
+.IR "\-g bajtĂłw " | " \-groupsize bajtĂłw"
+oddziela wyjście każdych
+.RI < bajtĂłw >
+bajtów (dwa heksowe znaki lub osiem cyfr binarnych każde) przez biały
+znak.
+Określ
+.I \-g 0
+by wyłączyć grupowanie.
+.RI < Bajtów "> domyślnie jest " 2
+w trybie normalnym i \fI1\fP w trybie bitĂłw.
+Grupowanie nie działa w trybie postscriptu lub włączania.
+.TP
+.IR \-h " | " \-help
+wypisuje podsumowanie dostępnych poleceń i kończy działanie. Nie
+zostaje przeprowadzony Ĺźaden zrzut.
+.TP
+.IR \-i " | " \-include
+wyjście w stylu włączania pliku w C. Zostaje zapisana kompletna
+statyczna tablica definicji (nazwana według pliku wejścia), o ile xxd
+nie czyta ze standardowego wejścia.
+.TP
+.IR "\-l len " | "\-len len"
+zakończ po wypisaniu
+.RI < len>
+oktetĂłw.
+.TP
+.IR \-p " | " \-ps " | " \-postscript " | " \-plain
+wyjście w postcriptowym ciągłym stylu zrzutu heksowego. Znany także
+jako zwykły zrzut heksowy.
+.TP
+.IR \-r " | " \-revert
+odwróć operację: przekonwertuj (lub załataj) zrzut heksowy w binarkę.
+Jeśli nie zapisuje na standardowe wyjście, xxd zapisze plik wyjściowy
+bez obcinania go. UĹźyj kombinacji
+.I \-r \-p
+by odczytać zwykły zrzut heksadecymalny bez numerów linii
+i określonego układu kolumn. Dodatkowe białe znaki i łamanie wierszy
+są dozwolone wszędzie.
+.TP
+.I \-seek offset
+Kiedy uĹźyty po
+.IR \-r :
+odwraca z
+.RI < offset >
+dodanym do pozycji w pliku odnalezionym w zrzucie heksowym.
+.TP
+.I \-s [+][\-]seek
+zaczyna na
+.RI < seek >
+bajtów abs. (lub wzg.) offsecie pliku wejściowego.
+\fI+ fRwskazuje, że seek jest względne do bieżącej pozycji pliku (bez
+znaczenia jeśli nie wczytuje ze standardowego wejścia). \fI\- \fRwskazuje
+że seek powinno być o tyle znaków od końca wejścia (lub jeśli
+połączone z \fI+\fR: przezhd bieżącą pozycją pliku na standardowym
+wejściu).
+Bez opcji \-s xxd zaczyna od bieżącej pozycji w pliku.
+.TP
+.I \-u
+użyj wielkich liter w znakach heksowych. Domyślnie są małe znaki.
+.TP
+.IR \-v " | " \-version
+pokazuje wersję programu.
+.SH OSTRZEĹťENIA
+.PP
+.I xxd \-r
+potrafi określić numery linii. Jeśli plik wyjścia jest możliwy do
+przeszukania wtedy numery linii na początku wiersza zrzutu heksowego
+mogą być nie po kolei, może brakować wierszy lub nakładać się na
+siebie. W takich wypadkach xxd użyje lseek(2) by znaleźć następną
+pozycję. Jeśli plik wyjściowy nie jest możliwy do przeszukania możliwe
+są tylko przerwy, które zostaną wypełnione bajtami null.
+.PP
+.I xxd \-r
+nigdy nie podaje błędów analizy. Śmieci są ignorowane.
+.PP
+W czasie edycji zrzutów heksowych, proszę zauważyć że
+.I xxd \-r
+pomija wszystko w linii wejścia po odczytaniu wystarczającej ilości
+kolumn danych heksadecymalnych (zobacz opcję \-c). Oznacza to także,
+że zmiany w drukowanych kolumnach ascii (lub ebcdic) są zawsze
+ignorowane. Odwrócenie zwykłego (lub postscriptowego) stylu zrzutu
+poprzez xxd \-r \-p nie zależy od kolejności kolumn. Tutaj cokolwiej
+co wygląda jak para cyfr heks jest interpretowane.
+.PP
+Zauważ różnicę między
+.br
+\fI% xxd \-i plik\fR
+.br
+i
+.br
+\fI% xxd \-i < plik\fR
+.PP
+.I xxd \-s \+seek
+może być różne od
+.IR "xxd \-s seek" ,
+ponieważ lseek(2) jest użyty do "przewinięcie" wejścia. '+' robi
+różnicę jeśli źródłem wejścia jest standardowe wejście i jeśli pozycja
+w pliku ze standardowego wejścia nie jest początkiem pliku w chwili
+uruchomienia xxd. Następujące przykłady mogą wyjaśnić (lub bardziej
+zmylić!)...
+.PP
+Przewiń standardowe wejście przed przeczytaniem; potrzebne ponieważ
+`cat' już odczytał do końca standardowego wejścia.
+.br
+\fI% sh \-c 'cat > zwykła_kopia; xxd \-s 0 > hex_kopia' < plik
+.PP
+Zrzut heksowy od pozycji pliku 0x480 (=1024+128) w przĂłd.
+Znak `+' oznacza "względny wobec bieżącej pozycji", stąd `128' dodaje
+do 1k gdzie zakończył dd.
+.br
+\fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +128 > hex_snippet' < file
+.PP
+Zrzut heksowy od pozycji pliku 0x100 ( = 1024\-768) dalej.
+.br
+\fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +-768 > hex_snippet' < file
+.PP
+Jakkolwiek, jest to rzadka sytuacja i uĹźycie `+' jest rzadko
+potrzebne.
+Autor woli monitorować działanie xxd przy pomocy strace(1) lub truss(1) kiedy \-s jest użyte.
+.SH PRZYKŁADY
+.PP
+.br
+Wypisz wszystko z wyjątkiem pierwszych trzech linii (heksowe 0x30 bajtów)
+.B pliku
+\.
+.br
+\fI% xxd \-s 0x30 plik
+.PP
+.br
+Wypisz trzy linie (heksowe 0x30 bajtów) z końca
+.B pliku
+\.
+.br
+\fI% xxd \-s \-0x30 plik
+.PP
+.br
+Wypisz 120 bajtów jako ciągły zrzut heksowy z 40 oktetami na linię.
+.br
+\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
+.br
+2e54482058584420312022417567757374203139
+.br
+39362220224d616e75616c207061676520666f72
+.br
+20787864220a2e5c220a2e5c222032317374204d
+.br
+617920313939360a2e5c22204d616e2070616765
+.br
+20617574686f723a0a2e5c2220202020546f6e79
+.br
+204e7567656e74203c746f6e79407363746e7567
+.br
+
+.br
+Zrzut heksowy z pierwszymi 120 bajtami tej strony podręcznika z 12
+oktetami na linię.
+.br
+\fI% xxd \-l 120 \-c 12 xxd.1\fR
+.br
+0000000: 2e54 4820 5858 4420 3120 2241 .TH XXD 1 "A
+.br
+000000c: 7567 7573 7420 3139 3936 2220 ugust 1996"
+.br
+0000018: 224d 616e 7561 6c20 7061 6765 "Manual page
+.br
+0000024: 2066 6f72 2078 7864 220a 2e5c for xxd"..\\
+.br
+0000030: 220a 2e5c 2220 3231 7374 204d "..\\" 21st M
+.br
+000003c: 6179 2031 3939 360a 2e5c 2220 ay 1996..\\"
+.br
+0000048: 4d61 6e20 7061 6765 2061 7574 Man page aut
+.br
+0000054: 686f 723a 0a2e 5c22 2020 2020 hor:..\\"
+.br
+0000060: 546f 6e79 204e 7567 656e 7420 Tony Nugent
+.br
+000006c: 3c74 6f6e 7940 7363 746e 7567 <tony@sctnug
+.PP
+.br
+Pokaż tylko datę z pliku xxd.1
+.br
+\fI% xxd \-s 0x36 \-l 13 \-c 13 xxd.1\fR
+.br
+0000036: 3231 7374 204d 6179 2031 3939 36 21st May 1996
+.PP
+.br
+Kopiuj
+.B plik_we
+do
+.B plik_wy
+i poprzedź 100 bajtami o wartości 0x00.
+.br
+\fI% xxd plik_we | xxd \-r \-s 100 \> plik_wy\fR
+.br
+
+.br
+Podmień datę w pliku xxd.1
+.br
+\fI% echo '0000037: 3574 68' | xxd \-r \- xxd.1\fR
+.br
+\fI% xxd \-s 0x36 \-l 13 \-c 13 xxd.1\fR
+.br
+0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996
+.PP
+.br
+UtwĂłrz plik o 65537 bajtach, wszystkich rĂłwnych 0x00,
+z wyjątkiem ostatniego, który ma być 'A' (hex 0x41).
+.br
+\fI% echo '010000: 41' | xxd \-r \> plik\fR
+.PP
+.br
+Zrzut heksowy tego pliku z autoskipem.
+.br
+\fI% xxd \-a \-c 12 plik\fR
+.br
+0000000: 0000 0000 0000 0000 0000 0000 ............
+.br
+*
+.br
+000fffc: 0000 0000 40 ....A
+.PP
+Utwórz jedno bajtowy plik zawierający pojednczą literę 'A'.
+Liczba po '\-r \-s' dodaje numery linii znalezione w pliku;
+w efekcie poprzedzające bajty są ukryte.
+.br
+\fI% echo '010000: 41' | xxd \-r \-s \-0x10000 \> plik\fR
+.PP
+Użyj xxd jako filtra wewnątrz edytora takiego jak
+.B vim(1)
+aby uzyskać zrzut heksowy zakresu między markerami `a' i `z'.
+.br
+\fI:'a,'z!xxd\fR
+.PP
+Użyj xxd jako filtra wewnątrz edytora takiego jak
+.B vim(1)
+by odzyskać binarny zrzut heksowy zakresu pomiędzy markerami `a'
+i `z'.
+.br
+\fI:'a,'z!xxd \-r\fR
+.PP
+Użyj xxd jako filtra wewnątrz edytora takiego jak
+.B vim(1)
+by odzyskać jedną linię zrzutu heksowego. Przejdź z kursorem na linię
+i wpisz:
+.br
+\fI!!xxd \-r\fR
+.PP
+Odczytaj pojednycze znaki z portu szeregowego
+.br
+\fI% xxd \-c1 < /dev/term/b &\fR
+.br
+\fI% stty < /dev/term/b \-echo \-opost \-isig \-icanon min 1\fR
+.br
+\fI% echo \-n foo > /dev/term/b\fR
+.PP
+.SH "ZWRACANE WARTOŚCI"
+Zwracane są następujące wartości błędów:
+.TP
+0
+nie znaleziono błędów.
+.TP
+\-1
+operacja nie jest wspierana (
+.I xxd \-r \-i
+cały czas niemożliwa).
+.TP
+1
+błąd w czasie analizowania opcji.
+.TP
+2
+problemy z plikiem wejściowym.
+.TP
+3
+problemy z plikiem wyjściowym.
+.TP
+4,5
+żądana pozycja jest nieosiągalna.
+.SH "ZOBACZ TAKĹťE"
+uuencode(1), uudecode(1), patch(1)
+.br
+.SH OSTRZEĹťENIA
+Dziwaczność narzędzi dorównuje dziwaczności mózgu twórcy.
+Używaj wyłącznie na własną odpowiedzialność. Kopiuj pliki. Analizuj
+je. Stań się czarodziejem.
+.br
+.SH WERSJA
+Strona podręcznika opisuje xxd w wersji 1.7
+.SH AUTOR
+.br
+(c) 1990-1997 by Juergen Weigert
+.br
+<jnweiger@informatik.uni-erlangen.de>
+.LP
+Kopiuj do woli i podaj moje dane,
+.br
+zarabiaj pieniądze i dziel się ze mną,
+.br
+trać pieniądze i nie miej do mnie pretensji.
+.PP
+Strona podręcznika zapoczątkowana przez Tony'ego Nugenta
+.br
+<tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
+.br
+Małe zmiany: Bram Moolenaar.
+Redakcja: Juergen Weigert.
+.PP
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 9a4b8cfad..23b1690a0 100644
--- 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: 2006 Mar 25
+" Last Change: 2006 Mar 26
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -195,7 +195,7 @@ au BufNewFile,BufRead *.mar setf vmasm
au BufNewFile,BufRead *.atl,*.as setf atlas
" Automake
-au BufNewFile,BufRead [mM]akefile.am setf automake
+au BufNewFile,BufRead [mM]akefile.am,GNUmakefile.am setf automake
" Autotest .at files are actually m4
au BufNewFile,BufRead *.at setf m4
@@ -340,9 +340,20 @@ au BufNewFile,BufRead *.css setf css
au BufNewFile,BufRead *.con setf cterm
" Changelog
-au BufNewFile,BufRead changelog.Debian,changelog.dch setf debchangelog
-au BufNewFile,BufRead [cC]hange[lL]og if getline(1) =~ '; urgency='
- \| setf debchangelog | else | setf changelog | endif
+au BufNewFile,BufRead changelog.Debian,changelog.dch,NEWS.Debian,NEWS.dch
+ \ setf debchangelog
+
+au BufNewFile,BufRead [cC]hange[lL]og
+ \ if getline(1) =~ '; urgency='
+ \| setf debchangelog
+ \| else
+ \| setf changelog
+ \| endif
+
+au BufNewFile,BufRead NEWS
+ \ if getline(1) =~ '; urgency='
+ \| setf debchangelog
+ \| endif
" CHILL
au BufNewFile,BufRead *..ch setf chill
@@ -417,7 +428,14 @@ au BufNewFile,BufRead *.prg
\ endif
" Cobol
-au BufNewFile,BufRead *.cbl,*.cob,*.cpy,*.lib setf cobol
+au BufNewFile,BufRead *.cbl,*.cob,*.lib setf cobol
+" cobol or zope form controller python script? (heuristic)
+au BufNewFile,BufRead *.cpy
+ \ if getline(1) =~ '^##' |
+ \ setf python |
+ \ else |
+ \ setf cobol |
+ \ endif
" Cold Fusion
au BufNewFile,BufRead *.cfm,*.cfi,*.cfc setf cf
@@ -843,6 +861,9 @@ au BufNewFile,BufRead *.mgp setf mgp
" Mail (for Elm, trn, mutt, rn, slrn)
au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt\w\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail
+" Mail aliases
+au BufNewFile,BufRead /etc/mail/aliases,/etc/aliases setf mailaliases
+
" Mailcap configuration file
au BufNewFile,BufRead .mailcap,mailcap setf mailcap
@@ -1384,7 +1405,7 @@ au BufNewFile,BufRead *.sas setf sas
au BufNewFile,BufRead *.sa setf sather
" Scilab
-au BufNewFile,BufRead *.sci setf scilab
+au BufNewFile,BufRead *.sci,*.sce setf scilab
" SDL
au BufNewFile,BufRead *.sdl,*.pr setf sdl
@@ -1930,6 +1951,13 @@ endfun
" Yaml
au BufNewFile,BufRead *.yaml,*.yml setf yaml
+" Zope
+" dtml (zope dynamic template markup language), pt (zope page template),
+" cpt (zope form controller page template)
+au BufNewFile,BufRead *.dtml,*.pt,*.cpt call <SID>FTCheck_html()
+" zsql (zope sql method)
+au BufNewFile,BufRead *.zsql call s:SQL()
+
" Z80 assembler asz80
au BufNewFile,BufRead *.z8a setf z8a
diff --git a/runtime/indent/config.vim b/runtime/indent/config.vim
index cb2023d7d..c6c54b25f 100644
--- a/runtime/indent/config.vim
+++ b/runtime/indent/config.vim
@@ -1,7 +1,7 @@
" Vim indent file
" Language: Autoconf configure.{ac,in} file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-30
+" Latest Revision: 2006-02-11
" TODO: how about nested [()]'s in one line
" what's wrong with '\\\@!'?
@@ -63,7 +63,7 @@ function GetConfigIndent()
" if previous line had an unmatched closing parantheses,
" indent to the matching opening parantheses
- if line =~ '[^(]*\\\@<!)$'
+ if line =~ '[^(]\+\\\@<!)$'
call search(')', 'bW')
let lnum = searchpair('\\\@<!(', '', ')', 'bWn')
let ind = indent(lnum)
@@ -71,7 +71,7 @@ function GetConfigIndent()
" if previous line had an unmatched closing bracket,
" indent to the matching opening bracket
- if line =~ '[^[]*]$'
+ if line =~ '[^[]\+]$'
call search(']', 'bW')
let lnum = searchpair('\[', '', ']', 'bWn')
let ind = indent(lnum)
@@ -79,5 +79,3 @@ function GetConfigIndent()
return ind
endfunction
-
-" vim: set sts=2 sw=2:
diff --git a/runtime/indent/python.vim b/runtime/indent/python.vim
index 38ef1d259..3b560a8a7 100644
--- a/runtime/indent/python.vim
+++ b/runtime/indent/python.vim
@@ -2,7 +2,7 @@
" Language: Python
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Original Author: David Bustos <bustos@caltech.edu>
-" Last Change: 2005 Feb 24
+" Last Change: 2006 Mar 26
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -117,10 +117,7 @@ function GetPythonIndent(lnum)
let min = col + 1
endif
endwhile
- echomsg min
let pline = strpart(pline, 0, min - 1)
- echomsg pline
- sleep 1
endif
else
let col = 0
@@ -153,10 +150,8 @@ function GetPythonIndent(lnum)
if getline(a:lnum) =~ '^\s*\(except\|finally\)\>'
let lnum = a:lnum - 1
while lnum >= 1
- echomsg 'got here'
if getline(lnum) =~ '^\s*\(try\|except\)\>'
let ind = indent(lnum)
- echomsg 'got here, indent is ' . ind
if ind >= indent(a:lnum)
return -1 " indent is already less than this
endif
@@ -164,7 +159,6 @@ function GetPythonIndent(lnum)
endif
let lnum = lnum - 1
endwhile
- echomsg 'got to the end'
return -1 " no matching "try"!
endif
diff --git a/runtime/makemenu.vim b/runtime/makemenu.vim
index 3cb990e35..80834220c 100644
--- a/runtime/makemenu.vim
+++ b/runtime/makemenu.vim
@@ -1,6 +1,6 @@
" Script to define the syntax menu in synmenu.vim
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2006 Mar 25
+" Last Change: 2006 Mar 26
" This is used by "make menu" in the src directory.
edit <sfile>:p:h/synmenu.vim
@@ -267,6 +267,7 @@ SynMenu L-Ma.Lynx\ config:lynx
SynMenu L-Ma.M4:m4
SynMenu L-Ma.MaGic\ Point:mgp
SynMenu L-Ma.Mail:mail
+SynMenu L-Ma.Mail\ aliases:mailaliases
SynMenu L-Ma.Mailcap:mailcap
SynMenu L-Ma.Makefile:make
SynMenu L-Ma.MakeIndex:ist
diff --git a/runtime/scripts.vim b/runtime/scripts.vim
index 1f82abd6d..9388481db 100644
--- a/runtime/scripts.vim
+++ b/runtime/scripts.vim
@@ -184,10 +184,12 @@ else
" - "*** " in first line and "--- " in second line (context diff).
" - "# It was generated by makepatch " in the second line (makepatch diff).
" - "Index: <filename>" in the first line (CVS file)
+ " - "=== ", line of "=", "---", "+++ " (SVK diff)
elseif s:line1 =~ '^\(diff\>\|Only in \|\d\+\(,\d\+\)\=[cda]\d\+\>\|# It was generated by makepatch \|Index:\s\+\f\+\r\=$\|===== \f\+ \d\+\.\d\+ vs edited\|==== //\f\+#\d\+\)'
\ || (s:line1 =~ '^--- ' && s:line2 =~ '^+++ ')
\ || (s:line1 =~ '^\* looking for ' && s:line2 =~ '^\* comparing to ')
\ || (s:line1 =~ '^\*\*\* ' && s:line2 =~ '^--- ')
+ \ || (s:line1 =~ '^=== ' && s:line2 =~ '^=\{66\}' && s:line3 =~ '^--- ' && s:line4 =~ '^+++')
set ft=diff
" PostScript Files (must have %!PS as the first line, like a2ps output)
diff --git a/runtime/spell/hu/hu_HU.diff b/runtime/spell/hu/hu_HU.diff
index 2b9a6ddf0..c977e1824 100644
--- a/runtime/spell/hu/hu_HU.diff
+++ b/runtime/spell/hu/hu_HU.diff
@@ -1,94 +1,135 @@
-*** hu_HU.orig.aff Tue Aug 16 18:21:10 2005
---- hu_HU.aff Fri Aug 19 21:28:45 2005
+*** hu_HU.orig.aff Sun Mar 26 15:05:13 2006
+--- hu_HU.aff Sun Mar 26 21:17:08 2006
***************
-*** 57,62 ****
-
-! NAME Magyar Ispell helyesírási szótár
+*** 57,59 ****
+ NAME Magyar Ispell helyesírási szótár
! LANG hu_HU
-! HOME http://magyarispell.sourceforge.net
-! VERSION Magyar 0.99.4.2
- SET ISO8859-2
---- 57,62 ----
-
-! #NAME Magyar Ispell helyesírási szótár
+ HOME http://magyarispell.sourceforge.net
+--- 57,59 ----
+ NAME Magyar Ispell helyesírási szótár
! #LANG hu_HU
-! #HOME http://magyarispell.sourceforge.net
-! #VERSION Magyar 0.99.4.2
- SET ISO8859-2
+ HOME http://magyarispell.sourceforge.net
+***************
+*** 62,63 ****
+--- 62,68 ----
+ TRY íóúÍÓÚtaeslzánorhgkiédmyőpvöbucfjüűxwqTAESLZÁNORHGKIÉDMYŐPVÖBUCFJÜŰXWQ-.
++
++ # There are soooo many affixes. Postpone the prefixes to keep the time needed
++ # for generating the .spl within reasonable limits.
++ PFXPOSTPONE
++
+ COMPOUNDMIN 1
***************
-*** 64,77 ****
- COMPOUNDMIN 2
-! COMPOUNDFLAG Y
-! COMPOUNDWORD 2 y
+*** 66,69 ****
+ COMPOUNDPERMITFLAG @
! COMPOUNDSYLLABLE 6 aáeéiíoóöőuúüű
! SYLLABLENUM klmc
-! COMPOUNDFIRST v
-! COMPOUNDLAST x
-! FORBIDDENWORD w
-! ONLYROOT u
-! ACCENT áéíóöőúüű aeiooouuu
-! CHECKNUM
-! WORDCHARS -.§%°0123456789
-! HU_KOTOHANGZO Z
-
---- 64,116 ----
- COMPOUNDMIN 2
-! #COMPOUNDWORD 2 y
-! COMPOUNDMAX 2
-! # I don't understand what the "y" is for; if it's to disable compounding simply
-! # remove the compound flag from the word.
-!
+
+--- 71,81 ----
+ COMPOUNDPERMITFLAG @
+! #
+! # Strange that every vowel is counted as a syllable, that's how the hunspell
+! # code works.
! #COMPOUNDSYLLABLE 6 aáeéiíoóöőuúüű
! COMPOUNDSYLMAX 6
! SYLLABLE a/á/e/é/i/í/o/ó/ö/ő/u/ú/ü/ű
-! # Strange that every vowel is counted as a syllable, that's how the hunspell
-! # code works.
!
+! # the effect of SYLLABLENUM is not documented
! #SYLLABLENUM klmc
-! # Don't understand what this is for
-!
-! #COMPOUNDFLAG Y
+
+***************
+*** 74,88 ****
+
+! # obsoloted
+! COMPOUNDFIRST v
+! COMPOUNDLAST x
+! ONLYROOT u
+ #COMPOUNDWORD 2 y
+! HU_KOTOHANGZO ?
+
+ # new (> Hunspell-1.0-RC2)
+! COMPOUNDBEGIN v
+! COMPOUNDEND x
+! PSEUDOROOT u
+ # 2. parameter only for back compatibility:
+! COMPOUNDWORDMAX 2 y
+ COMPOUNDROOT y
+--- 86,110 ----
+
+! # obsolete
! #COMPOUNDFIRST v
! #COMPOUNDLAST x
-! COMPOUNDFLAGS Y+
-! COMPOUNDFLAGS vY*x
-! COMPOUNDFLAGS Y+x
-! COMPOUNDFLAGS vY+
+! #ONLYROOT u
!
-! #FORBIDDENWORD w
-! # I don't understand what FORBIDDENWORD is needed for, using NEEDAFFIX
-! # (ONLYROOT) should be sufficient.
+ #COMPOUNDWORD 2 y
!
-! #ONLYROOT u
-! NEEDAFFIX u
+! # Undocumented and ? is already used for KEEPCASE
+! #HU_KOTOHANGZO ?
+
+ # new (> Hunspell-1.0-RC2)
+! #COMPOUNDBEGIN v
+! #COMPOUNDEND x
+! COMPOUNDRULE vx
!
-! #ACCENT áéíóöőúüű aeiooouuu
-! MAP 5
-! MAP aáä
-! MAP eé
-! MAP ií
-! MAP oóöő
-! MAP uúüű
+! # PSEUDOROOT was renamed to NEEDAFFIX
+! #PSEUDOROOT u
+! NEEDAFFIX u
!
-! #CHECKNUM
-! # Vim always handles numbers in the same way.
+ # 2. parameter only for back compatibility:
+! # What is the extra "y" for?
+! #COMPOUNDWORDMAX 2 y
+! COMPOUNDWORDMAX 2
+ COMPOUNDROOT y
+***************
+*** 93,94 ****
+--- 115,117 ----
+ CHECKCOMPOUNDCASE
++
+ CHECKCOMPOUNDPATTERN 7
+***************
+*** 102,111 ****
+
+! FORBIDDENWORD w
+! WORDCHARS -.§%°0123456789–
!
-! #WORDCHARS -.§%°0123456789
+
+! NOT_GENERATE &
+! GENERATE (
+
+! LEMMA_PRESENT )
+
+--- 125,151 ----
+
+! #FORBIDDENWORD w
+! BAD w
+
+! #WORDCHARS -.§%°0123456789–
+
+! # List the word characters for ISO-8859-2.
! FOL ą˘łľś¨šşťźžżą˛ł´ľśˇ¸šşťź˝žżŕáâăäĺćçčéęëěíîďđńňóôőöřůúűüýţß˙-§%°
! LOW ą˘łľś¨šşťźžżą˛ł´ľśˇ¸šşťź˝žżŕáâăäĺćçčéęëěíîďđńňóôőöřůúűüýţß˙-§%°
! UPP Ą˘ŁĽŚ¨ŠŞŤŹŽŻą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖŘŮÚŰÜÝŢß˙-§%°
! MIDWORD .
!
-! #HU_KOTOHANGZO Z
+! # These are not documented and not in the source code either
+! #NOT_GENERATE &
+! #GENERATE (
!
-! # There are soooo many affixes. Postpone the prefixes to keep the time needed
-! # for generating the .spl within reasonable limits.
-! PFXPOSTPONE
+! # Only for morphological analysis
+! #LEMMA_PRESENT )
+!
+! # This works better than REP items
+! MAP 5
+! MAP aáä
+! MAP eé
+! MAP ií
+! MAP oóöő
+! MAP uúüű
***************
-*** 81,96 ****
+*** 115,130 ****
-! REP 89
+! REP 92
! REP í i
! REP i í
! REP ó o
@@ -103,88 +144,168 @@
REP ly j
- REP a ä # Handel->Händel
REP S Š # Skoda->Škoda
---- 120,124 ----
+--- 155,159 ----
-! REP 78
+! REP 81
REP j ly
REP ly j
REP S Š # Skoda->Škoda
***************
-*** 173,241 ****
+*** 214,251 ****
+
+! CHR HTML 35
+! CHR HTML &curren; ¤
+! CHR HTML &deg; °
+! CHR HTML &acute; ´
+! CHR HTML &cedil; ¸
+! CHR HTML &Aacute; Á
+! CHR HTML &Acirc; Â
+! CHR HTML &Auml; Ä
+! CHR HTML &Ccedil; Ç
+! CHR HTML &Eacute; É
+! CHR HTML &Euml; Ë
+! CHR HTML &Iacute; Í
+! CHR HTML &Icirc; Î
+! CHR HTML &Oacute; Ó
+! CHR HTML &Ocirc; Ô
+! CHR HTML &Ouml; Ö
+! CHR HTML &times; ×
+! CHR HTML &Uacute; Ú
+! CHR HTML &Uuml; Ü
+! CHR HTML &Yacute; Ý
+! CHR HTML &szlig; ß
+! CHR HTML &aacute; á
+! CHR HTML &acirc; â
+! CHR HTML &auml; ä
+! CHR HTML &ccedil; ç
+! CHR HTML &eacute; é
+! CHR HTML &euml; ë
+! CHR HTML &iacute; í
+! CHR HTML &icirc; î
+! CHR HTML &oacute; ó
+! CHR HTML &ocirc; ô
+! CHR HTML &ouml; ö
+! CHR HTML &divide; ÷
+! CHR HTML &uacute; ú
+! CHR HTML &uuml; ü
+! CHR HTML &yacute; ý
+
+--- 243,280 ----
+
+! #CHR HTML 35
+! #CHR HTML &curren; ¤
+! #CHR HTML &deg; °
+! #CHR HTML &acute; ´
+! #CHR HTML &cedil; ¸
+! #CHR HTML &Aacute; Á
+! #CHR HTML &Acirc; Â
+! #CHR HTML &Auml; Ä
+! #CHR HTML &Ccedil; Ç
+! #CHR HTML &Eacute; É
+! #CHR HTML &Euml; Ë
+! #CHR HTML &Iacute; Í
+! #CHR HTML &Icirc; Î
+! #CHR HTML &Oacute; Ó
+! #CHR HTML &Ocirc; Ô
+! #CHR HTML &Ouml; Ö
+! #CHR HTML &times; ×
+! #CHR HTML &Uacute; Ú
+! #CHR HTML &Uuml; Ü
+! #CHR HTML &Yacute; Ý
+! #CHR HTML &szlig; ß
+! #CHR HTML &aacute; á
+! #CHR HTML &acirc; â
+! #CHR HTML &auml; ä
+! #CHR HTML &ccedil; ç
+! #CHR HTML &eacute; é
+! #CHR HTML &euml; ë
+! #CHR HTML &iacute; í
+! #CHR HTML &icirc; î
+! #CHR HTML &oacute; ó
+! #CHR HTML &ocirc; ô
+! #CHR HTML &ouml; ö
+! #CHR HTML &divide; ÷
+! #CHR HTML &uacute; ú
+! #CHR HTML &uuml; ü
+! #CHR HTML &yacute; ý
-- # character conversion table
-- # (HTML latin-1 entities -> latin-2)
-- # not implemented yet
--
-- CHR HTML 35
-- CHR HTML &curren; ¤
-- CHR HTML &deg; °
-- CHR HTML &acute; ´
-- CHR HTML &cedil; ¸
-- CHR HTML &Aacute; Á
-- CHR HTML &Acirc; Â
-- CHR HTML &Auml; Ä
-- CHR HTML &Ccedil; Ç
-- CHR HTML &Eacute; É
-- CHR HTML &Euml; Ë
-- CHR HTML &Iacute; Í
-- CHR HTML &Icirc; Î
-- CHR HTML &Oacute; Ó
-- CHR HTML &Ocirc; Ô
-- CHR HTML &Ouml; Ö
-- CHR HTML &times; ×
-- CHR HTML &Uacute; Ú
-- CHR HTML &Uuml; Ü
-- CHR HTML &Yacute; Ý
-- CHR HTML &szlig; ß
-- CHR HTML &aacute; á
-- CHR HTML &acirc; â
-- CHR HTML &auml; ä
-- CHR HTML &ccedil; ç
-- CHR HTML &eacute; é
-- CHR HTML &euml; ë
-- CHR HTML &iacute; í
-- CHR HTML &icirc; î
-- CHR HTML &oacute; ó
-- CHR HTML &ocirc; ô
-- CHR HTML &ouml; ö
-- CHR HTML &divide; ÷
-- CHR HTML &uacute; ú
-- CHR HTML &uuml; ü
-- CHR HTML &yacute; ý
--
-- # character conversion table
-- # (Prószéky-code -> latin-2)
-- # not implemented yet
--
-- CHR 123 20
-- CHR 123 a1 á
-- CHR 123 e1 é
-- CHR 123 e2 ë
-- CHR 123 i1 í
-- CHR 123 o1 ó
-- CHR 123 o2 ö
-- CHR 123 o3 ő
-- CHR 123 u1 ú
-- CHR 123 u2 ü
-- CHR 123 u3 ű
-- CHR 123 A1 Á
-- CHR 123 E1 É
-- CHR 123 E2 Ë
-- CHR 123 I1 Í
-- CHR 123 O1 Ó
-- CHR 123 O2 Ö
-- CHR 123 O3 Ő
-- CHR 123 U1 Ú
-- CHR 123 U2 Ü
-- CHR 123 U3 Ű
--
- SFX z Y 6
---- 201,202 ----
***************
-*** 17678,17681 ****
- PFX D 0 leg .
--
-- 1
+*** 255,277 ****
+
+! CHR 123 20
+! CHR 123 a1 á
+! CHR 123 e1 é
+! CHR 123 e2 ë
+! CHR 123 i1 í
+! CHR 123 o1 ó
+! CHR 123 o2 ö
+! CHR 123 o3 ő
+! CHR 123 u1 ú
+! CHR 123 u2 ü
+! CHR 123 u3 ű
+! CHR 123 A1 Á
+! CHR 123 E1 É
+! CHR 123 E2 Ë
+! CHR 123 I1 Í
+! CHR 123 O1 Ó
+! CHR 123 O2 Ö
+! CHR 123 O3 Ő
+! CHR 123 U1 Ú
+! CHR 123 U2 Ü
+! CHR 123 U3 Ű
+
+--- 284,306 ----
+
+! #CHR 123 20
+! #CHR 123 a1 á
+! #CHR 123 e1 é
+! #CHR 123 e2 ë
+! #CHR 123 i1 í
+! #CHR 123 o1 ó
+! #CHR 123 o2 ö
+! #CHR 123 o3 ő
+! #CHR 123 u1 ú
+! #CHR 123 u2 ü
+! #CHR 123 u3 ű
+! #CHR 123 A1 Á
+! #CHR 123 E1 É
+! #CHR 123 E2 Ë
+! #CHR 123 I1 Í
+! #CHR 123 O1 Ó
+! #CHR 123 O2 Ö
+! #CHR 123 O3 Ő
+! #CHR 123 U1 Ú
+! #CHR 123 U2 Ü
+! #CHR 123 U3 Ű
+
+*** hu_HU.orig.dic Sun Mar 26 15:05:13 2006
+--- hu_HU.dic Sun Mar 26 20:12:13 2006
+***************
+*** 94597,94600 ****
+ 0
+- ...
+- .
+ -öt
+--- 94597,94598 ----
+***************
+*** 94616,94622 ****
+ -/ABCUVWKLMQR
+- ,
+- +
+- )
+- (
+- '
+ &aring;ngström/WĚŻjŘMÝÔíčłĹĺTtYc¸˝l
+--- 94614,94615 ----
+***************
+*** 94634,94642 ****
+ %-/KUŇÖmQSsi)
+- %
+- $
+- "
+- !!!
+- !!
+- !
+- /
-
---- 17639 ----
+--- 94627 ----
diff --git a/runtime/spell/hu/main.aap b/runtime/spell/hu/main.aap
index 3890b1eaf..ab5cdb8a9 100644
--- a/runtime/spell/hu/main.aap
+++ b/runtime/spell/hu/main.aap
@@ -21,23 +21,30 @@ $SPELLDIR/hu.utf-8.spl : $FILES
$SPELLDIR/hu.cp1250.spl : $FILES
:sys $VIM -u NONE -e -c "set enc=cp1250" -c "mkspell! $SPELLDIR/hu hu_HU" -c q
-../README_hu.txt: README_hu_HU.txt
- :copy $source $target
+../README_hu.txt: $FILES
+ :sys $VIM -u NONE -e hu_HU.aff -c "1,/# ---/w! $target" -c q
#
-# Fetching the files from OpenOffice.org.
+# Fetch the zip file from SourceForge. Version specific name...
#
-OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
-:attr {fetch = $OODIR/%file%} hu_HU.zip
+OODIR = http://hunspell.sourceforge.net
+zipname = hu_HU2.zip
+:attr {fetch = $OODIR/%file%} $zipname
# The files don't depend on the .zip file so that we can delete it.
# Only download the zip file if the targets don't exist.
# This is a bit tricky, since the file name includes the date.
hu_HU.aff hu_HU.dic: {buildcheck=}
:assertpkg unzip patch
- :fetch hu_HU.zip
- :sys $UNZIP hu_HU.zip
- :delete hu_HU.zip
+ :fetch $zipname
+ :sys $UNZIP $zipname
+ :delete $zipname
+
+ # Unfortunately the version number is in the file name...
+ :move hu_HU2.dic hu_HU.dic
+ :move hu_HU2.aff hu_HU.aff
+ :delete hu_HU2.history
+
@if not os.path.exists('hu_HU.orig.aff'):
:copy hu_HU.aff hu_HU.orig.aff
@if not os.path.exists('hu_HU.orig.dic'):
@@ -55,27 +62,5 @@ diff:
:sys {force} diff -a -C 1 hu_HU.orig.dic hu_HU.dic >>hu_HU.diff
-# Check for updated OpenOffice spell files. When there are changes the
-# ".new.aff" and ".new.dic" files are left behind for manual inspection.
-
-check:
- :assertpkg unzip diff
- :fetch hu_HU.zip
- :mkdir tmp
- :cd tmp
- @try:
- @import stat
- :sys $UNZIP ../hu_HU.zip
- :sys {force} diff ../hu_HU.orig.aff hu_HU.aff >d
- @if os.stat('d')[stat.ST_SIZE] > 0:
- :copy hu_HU.aff ../hu_HU.new.aff
- :sys {force} diff ../hu_HU.orig.dic hu_HU.dic >d
- @if os.stat('d')[stat.ST_SIZE] > 0:
- :copy hu_HU.dic ../hu_HU.new.dic
- @finally:
- :cd ..
- :delete {r}{f}{q} tmp
- :delete hu_HU.zip
-
# vim: set sts=4 sw=4 :
diff --git a/runtime/synmenu.vim b/runtime/synmenu.vim
index 05ff118e1..7386426e9 100644
--- a/runtime/synmenu.vim
+++ b/runtime/synmenu.vim
@@ -242,15 +242,16 @@ an 50.60.330 &Syntax.L-Ma.Lynx\ config :cal SetSyn("lynx")<CR>
an 50.60.350 &Syntax.L-Ma.M4 :cal SetSyn("m4")<CR>
an 50.60.360 &Syntax.L-Ma.MaGic\ Point :cal SetSyn("mgp")<CR>
an 50.60.370 &Syntax.L-Ma.Mail :cal SetSyn("mail")<CR>
-an 50.60.380 &Syntax.L-Ma.Mailcap :cal SetSyn("mailcap")<CR>
-an 50.60.390 &Syntax.L-Ma.Makefile :cal SetSyn("make")<CR>
-an 50.60.400 &Syntax.L-Ma.MakeIndex :cal SetSyn("ist")<CR>
-an 50.60.410 &Syntax.L-Ma.Man\ page :cal SetSyn("man")<CR>
-an 50.60.420 &Syntax.L-Ma.Man\.conf :cal SetSyn("manconf")<CR>
-an 50.60.430 &Syntax.L-Ma.Maple\ V :cal SetSyn("maple")<CR>
-an 50.60.440 &Syntax.L-Ma.Mason :cal SetSyn("mason")<CR>
-an 50.60.450 &Syntax.L-Ma.Mathematica :cal SetSyn("mma")<CR>
-an 50.60.460 &Syntax.L-Ma.Matlab :cal SetSyn("matlab")<CR>
+an 50.60.380 &Syntax.L-Ma.Mail\ aliases :cal SetSyn("mailaliases")<CR>
+an 50.60.390 &Syntax.L-Ma.Mailcap :cal SetSyn("mailcap")<CR>
+an 50.60.400 &Syntax.L-Ma.Makefile :cal SetSyn("make")<CR>
+an 50.60.410 &Syntax.L-Ma.MakeIndex :cal SetSyn("ist")<CR>
+an 50.60.420 &Syntax.L-Ma.Man\ page :cal SetSyn("man")<CR>
+an 50.60.430 &Syntax.L-Ma.Man\.conf :cal SetSyn("manconf")<CR>
+an 50.60.440 &Syntax.L-Ma.Maple\ V :cal SetSyn("maple")<CR>
+an 50.60.450 &Syntax.L-Ma.Mason :cal SetSyn("mason")<CR>
+an 50.60.460 &Syntax.L-Ma.Mathematica :cal SetSyn("mma")<CR>
+an 50.60.470 &Syntax.L-Ma.Matlab :cal SetSyn("matlab")<CR>
an 50.70.100 &Syntax.Me-NO.MEL\ (for\ Maya) :cal SetSyn("mel")<CR>
an 50.70.110 &Syntax.Me-NO.Metafont :cal SetSyn("mf")<CR>
an 50.70.120 &Syntax.Me-NO.MetaPost :cal SetSyn("mp")<CR>
diff --git a/runtime/syntax/fetchmail.vim b/runtime/syntax/fetchmail.vim
index 198a3143c..671598cbb 100644
--- a/runtime/syntax/fetchmail.vim
+++ b/runtime/syntax/fetchmail.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: fetchmail(1) RC File
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-27
+" Latest Revision: 2006-01-25
if exists("b:current_syntax")
finish
@@ -33,6 +33,7 @@ syn keyword fetchmailServerOpts contained via proto[col] local[domains] port
\ interface monitor plugin plugout dns
\ checkalias uidl interval netsec principal
\ esmtpname esmtppassword
+ \ sslcertck sslcertpath sslfingerprint
syn match fetchmailServerOpts contained '\<no\_s\+\(envelope\|dns\|checkalias\|uidl\)'
syn keyword fetchmailUserOpts contained user[name] is to pass[word] ssl
diff --git a/runtime/syntax/mailaliases.vim b/runtime/syntax/mailaliases.vim
new file mode 100644
index 000000000..de85a174f
--- /dev/null
+++ b/runtime/syntax/mailaliases.vim
@@ -0,0 +1,71 @@
+" Vim syntax file
+" Language: aliases(5) local alias database file
+" Maintainer: Nikolai Weibull <nikolai@bitwi.se>
+" Latest Revision: 2006-01-14
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword mailaliasesTodo contained TODO FIXME XXX NOTE
+
+syn region mailaliasesComment display oneline start='^\s*#' end='$'
+ \ contains=mailaliasesTodo,@Spell
+
+syn match mailaliasesBegin display '^'
+ \ nextgroup=mailaliasesName,
+ \ mailaliasesComment
+
+syn match mailaliasesName contained '[0-9A-Za-z_-]\+'
+ \ nextgroup=mailaliasesColon
+
+syn region mailaliasesName contained oneline start=+"+
+ \ skip=+\\\\\|\\"+ end=+"+
+ \ nextgroup=mailaliasesColon
+
+syn match mailaliasesColon contained ':'
+ \ nextgroup=@mailaliasesValue
+ \ skipwhite skipnl
+
+syn cluster mailaliasesValue contains=mailaliasesValueAddress,
+ \ mailaliasesValueFile,
+ \ mailaliasesValueCommand,
+ \ mailaliasesValueInclude
+
+syn match mailaliasesValueAddress contained '[^ \t/|,]\+'
+ \ nextgroup=mailaliasesValueSep
+ \ skipwhite skipnl
+
+syn match mailaliasesValueFile contained '/[^,]*'
+ \ nextgroup=mailaliasesValueSep
+ \ skipwhite skipnl
+
+syn match mailaliasesValueCommand contained '|[^,]*'
+ \ nextgroup=mailaliasesValueSep
+ \ skipwhite skipnl
+
+syn match mailaliasesValueInclude contained ':include:[^,]*'
+ \ nextgroup=mailaliasesValueSep
+ \ skipwhite skipnl
+
+syn match mailaliasesValueSep contained ','
+ \ nextgroup=@mailaliasesValue
+ \ skipwhite skipnl
+
+hi def link mailaliasesTodo Todo
+hi def link mailaliasesComment Comment
+hi def link mailaliasesName Identifier
+hi def link mailaliasesColon Delimiter
+hi def link mailaliasesValueAddress String
+hi def link mailaliasesValueFile String
+hi def link mailaliasesValueCommand String
+hi def link mailaliasesValueInclude PreProc
+hi def link mailaliasesValueSep Delimiter
+
+let b:current_syntax = "mailaliases"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/rst.vim b/runtime/syntax/rst.vim
index 2336783f5..70ec47ed5 100644
--- a/runtime/syntax/rst.vim
+++ b/runtime/syntax/rst.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: reStructuredText documentation format
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-07-04
+" Latest Revision: 2006-03-26
if exists("b:current_syntax")
finish
@@ -32,11 +32,11 @@ syn region rstTable transparent start='^\n\s*+[-=+]\+' end='^$'
\ contains=rstTableLines,@rstCruft
syn match rstTableLines contained '^\s*[|+=-]\+$'
syn region rstSimpleTable transparent
- \ start='^\n\s*\%(=\+\s\+\)\%(=\+\s*\)\+$'
+ \ start='^\n\%(\s*\)\@>\%(\%(=\+\)\@>\%(\s\+\)\@>\)\%(\%(\%(=\+\)\@>\%(\s*\)\@>\)\+\)\@>$'
\ end='^$'
\ contains=rstSimpleTableLines,@rstCruft
syn match rstSimpleTableLines contained display
- \ '^\s*\%(=\+\s\+\)\%(=\+\s*\)\+$'
+ \ '^\%(\s*\)\@>\%(\%(=\+\)\@>\%(\s\+\)\@>\)\%(\%(\%(=\+\)\@>\%(\s*\)\@>\)\+\)\@>$'
syn region rstFootnote matchgroup=rstDirective
\ start='^\.\. \[\%([#*]\|[0-9]\+\|#[a-z0-9_.-]\+\)\]\s'
@@ -69,7 +69,7 @@ syn match rstHyperlinksLabel '\w\+__\=\>'
syn match rstInternalTarget '_`\S\%([^`]*\S\)\=`'
-syn match rstListItem '^:\%(\w\+\s*\)\+:'
+syn match rstListItem '^:\w\+\%(\s\+\w\+\)*:'
syn match rstListItem '^\s*[-*+]\s\+'
syn sync minlines=50
diff --git a/src/Makefile b/src/Makefile
index 027421431..5ac4cee3c 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -354,10 +354,14 @@ CClink = $(CC)
# DARWIN - detecting Mac OS X
# Uncomment this line when you want to compile a Unix version of Vim on
# Darwin. None of the Mac specific options or files will be used.
-# You can also change the architecture supported, default is to test for both.
#CONF_OPT_DARWIN = --disable-darwin
+
+# Select the architecture supported. Default is to build for the current
+# platform. Use "both" for a universal binary. That probably doesn't work
+# when including Perl, Python, etc.
#CONF_OPT_DARWIN = --with-mac-arch=i386
#CONF_OPT_DARWIN = --with-mac-arch=ppc
+#CONF_OPT_DARWIN = --with-mac-arch=both
# PERL
# Uncomment this when you want to include the Perl interface.
@@ -1318,6 +1322,8 @@ DEST_MAN_FR_U = $(DEST_MAN_TOP)/fr.UTF-8$(MAN1DIR)
DEST_MAN_IT = $(DEST_MAN_TOP)/it$(MAN1DIR)
DEST_MAN_IT_I = $(DEST_MAN_TOP)/it.ISO8859-1$(MAN1DIR)
DEST_MAN_IT_U = $(DEST_MAN_TOP)/it.UTF-8$(MAN1DIR)
+DEST_MAN_PL = $(DEST_MAN_TOP)/pl.ISO8859-2$(MAN1DIR)
+DEST_MAN_PL_U = $(DEST_MAN_TOP)/pl.UTF-8$(MAN1DIR)
DEST_MAN_RU = $(DEST_MAN_TOP)/ru.KOI8-R$(MAN1DIR)
DEST_MAN_RU_U = $(DEST_MAN_TOP)/ru.UTF-8$(MAN1DIR)
@@ -1897,6 +1903,8 @@ install-tool-languages:
-$(SHELL) ./installman.sh xxd $(DEST_MAN_IT) "-it" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh xxd $(DEST_MAN_IT_I) "-it" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh xxd $(DEST_MAN_IT_U) "-it.UTF-8" $(INSTALLMANARGS)
+ -$(SHELL) ./installman.sh xxd $(DEST_MAN_PL) "-pl" $(INSTALLMANARGS)
+ -$(SHELL) ./installman.sh xxd $(DEST_MAN_PL_U) "-pl.UTF-8" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh xxd $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh xxd $(DEST_MAN_RU_U) "-ru.UTF-8" $(INSTALLMANARGS)
@@ -1908,6 +1916,8 @@ install-languages: languages $(DEST_LANG) $(DEST_KMAP)
-$(SHELL) ./installman.sh install $(DEST_MAN_IT) "-it" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh install $(DEST_MAN_IT_I) "-it" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh install $(DEST_MAN_IT_U) "-it.UTF-8" $(INSTALLMANARGS)
+ -$(SHELL) ./installman.sh install $(DEST_MAN_PL) "-pl" $(INSTALLMANARGS)
+ -$(SHELL) ./installman.sh install $(DEST_MAN_PL_U) "-pl.UTF-8" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh install $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh install $(DEST_MAN_RU_U) "-ru.UTF-8" $(INSTALLMANARGS)
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
@@ -1923,6 +1933,10 @@ install-languages: languages $(DEST_LANG) $(DEST_KMAP)
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_IT_U) $(INSTALLMLARGS)
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
+ $(DEST_MAN_PL) $(INSTALLMLARGS)
+ -$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
+ $(DEST_MAN_PL_U) $(INSTALLMLARGS)
+ -$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_RU) $(INSTALLMLARGS)
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_RU_U) $(INSTALLMLARGS)
@@ -2061,6 +2075,8 @@ uninstall_runtime:
-$(SHELL) ./installman.sh uninstall $(DEST_MAN_IT) "" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh uninstall $(DEST_MAN_IT_I) "" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh uninstall $(DEST_MAN_IT_U) "" $(INSTALLMANARGS)
+ -$(SHELL) ./installman.sh uninstall $(DEST_MAN_PL) "" $(INSTALLMANARGS)
+ -$(SHELL) ./installman.sh uninstall $(DEST_MAN_PL_U) "" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh uninstall $(DEST_MAN_RU) "" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh uninstall $(DEST_MAN_RU_U) "" $(INSTALLMANARGS)
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
@@ -2078,12 +2094,17 @@ uninstall_runtime:
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_IT_U) $(INSTALLMLARGS)
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
+ $(DEST_MAN_PL) $(INSTALLMLARGS)
+ -$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
+ $(DEST_MAN_PL_U) $(INSTALLMLARGS)
+ -$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_RU) $(INSTALLMLARGS)
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_RU_U) $(INSTALLMLARGS)
-rm -f $(DEST_MAN)/xxd.1
-rm -f $(DEST_MAN_FR)/xxd.1 $(DEST_MAN_FR_I)/xxd.1 $(DEST_MAN_FR_U)/xxd.1
-rm -f $(DEST_MAN_IT)/xxd.1 $(DEST_MAN_IT_I)/xxd.1 $(DEST_MAN_IT_U)/xxd.1
+ -rm -f $(DEST_MAN_PL)/xxd.1 $(DEST_MAN_PL_U)/xxd.1
-rm -f $(DEST_MAN_RU)/xxd.1 $(DEST_MAN_RU_U)/xxd.1
-rm -f $(DEST_HELP)/*.txt $(DEST_HELP)/tags $(DEST_HELP)/*.pl
-rm -f $(DEST_HELP)/*.??x $(DEST_HELP)/tags-??
diff --git a/src/auto/configure b/src/auto/configure
index 22f724eaa..f1178f88e 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -876,7 +876,7 @@ Optional Features:
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-mac-arch=ARCH intel, ppc or both
+ --with-mac-arch=ARCH current, intel, ppc or both
--with-vim-name=NAME what to call the Vim executable
--with-ex-name=NAME what to call the Ex executable
--with-view-name=NAME what to call the View executable
@@ -2874,7 +2874,7 @@ if test "${with_mac_arch+set}" = set; then
MACARCH="$withval"; echo "$as_me:$LINENO: result: $MACARCH" >&5
echo "${ECHO_T}$MACARCH" >&6
else
- MACARCH="both"; echo "$as_me:$LINENO: result: defaulting to $MACARCH" >&5
+ MACARCH="current"; echo "$as_me:$LINENO: result: defaulting to $MACARCH" >&5
echo "${ECHO_T}defaulting to $MACARCH" >&6
fi;
diff --git a/src/buffer.c b/src/buffer.c
index 37238636b..439b5f2b6 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -3707,7 +3707,7 @@ build_stl_str_hl(wp, out, outlen, fmt, use_sandbox, fillchar, maxwidth, hltab, t
itemisflag = TRUE;
if (wp->w_buffer->b_help)
str = (char_u *)((opt == STL_HELPFLAG_ALT) ? ",HLP"
- : _("[help]"));
+ : _("[Help]"));
break;
#ifdef FEAT_AUTOCMD
@@ -4975,7 +4975,7 @@ buf_spname(buf)
if (win != NULL && win->w_llist_ref != NULL)
return _("[Location List]");
else
- return _("[Error List]");
+ return _("[Quickfix List]");
}
#endif
#ifdef FEAT_QUICKFIX
diff --git a/src/configure.in b/src/configure.in
index f7648a882..2568fc37f 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -103,9 +103,9 @@ if test "`(uname) 2>/dev/null`" = Darwin; then
fi
AC_MSG_CHECKING(--with-mac-arch argument)
- AC_ARG_WITH(mac-arch, [ --with-mac-arch=ARCH intel, ppc or both],
+ AC_ARG_WITH(mac-arch, [ --with-mac-arch=ARCH current, intel, ppc or both],
MACARCH="$withval"; AC_MSG_RESULT($MACARCH),
- MACARCH="both"; AC_MSG_RESULT(defaulting to $MACARCH))
+ MACARCH="current"; AC_MSG_RESULT(defaulting to $MACARCH))
if test "x$MACARCH" = "xboth"; then
AC_MSG_CHECKING(for 10.4 universal SDK)
diff --git a/src/eval.c b/src/eval.c
index e80407e68..63abcbae2 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -8964,42 +8964,54 @@ findfilendir(argvars, rettv, dir)
char_u pathbuf[NUMBUFLEN];
int count = 1;
int first = TRUE;
+ int error = FALSE;
+#endif
+ rettv->vval.v_string = NULL;
+ rettv->v_type = VAR_STRING;
+
+#ifdef FEAT_SEARCHPATH
fname = get_tv_string(&argvars[0]);
if (argvars[1].v_type != VAR_UNKNOWN)
{
p = get_tv_string_buf_chk(&argvars[1], pathbuf);
if (p == NULL)
- count = -1; /* error */
+ error = TRUE;
else
{
if (*p != NUL)
path = p;
if (argvars[2].v_type != VAR_UNKNOWN)
- count = get_tv_number_chk(&argvars[2], NULL); /* -1: error */
+ count = get_tv_number_chk(&argvars[2], &error);
}
}
- if (*fname != NUL && count >= 0)
+ if (count < 0 && rettv_list_alloc(rettv) == FAIL)
+ error = TRUE;
+
+ if (*fname != NUL && !error)
{
do
{
- vim_free(fresult);
+ if (rettv->v_type == VAR_STRING)
+ vim_free(fresult);
fresult = find_file_in_path_option(first ? fname : NULL,
first ? (int)STRLEN(fname) : 0,
0, first, path, dir, NULL,
dir ? (char_u *)"" : curbuf->b_p_sua);
first = FALSE;
- } while (--count > 0 && fresult != NULL);
+
+ if (fresult != NULL && rettv->v_type == VAR_LIST)
+ list_append_string(rettv->vval.v_list, fresult, -1);
+
+ } while ((rettv->v_type == VAR_LIST || --count > 0) && fresult != NULL);
}
- rettv->vval.v_string = fresult;
-#else
- rettv->vval.v_string = NULL;
+ if (rettv->v_type == VAR_STRING)
+ rettv->vval.v_string = fresult;
#endif
- rettv->v_type = VAR_STRING;
}
static void filter_map __ARGS((typval_T *argvars, typval_T *rettv, int map));
@@ -18673,8 +18685,9 @@ trans_function_name(pp, skip, flags, fdp)
else if (lead > 0)
{
lead = 3;
- if (eval_fname_sid(*pp)) /* If it's "<SID>" */
+ if (eval_fname_sid(lv.ll_exp_name != NULL ? lv.ll_exp_name : *pp))
{
+ /* It's "s:" or "<SID>" */
if (current_SID <= 0)
{
EMSG(_(e_usingsid));
diff --git a/src/main.aap b/src/main.aap
index fa7917b50..a4de631c0 100644
--- a/src/main.aap
+++ b/src/main.aap
@@ -658,6 +658,8 @@ DEST_MAN_FR_U = $(DEST_MAN_TOP)/fr.UTF-8$(MAN1DIR)
DEST_MAN_IT = $(DEST_MAN_TOP)/it$(MAN1DIR)
DEST_MAN_IT_I = $(DEST_MAN_TOP)/it.ISO8859-1$(MAN1DIR)
DEST_MAN_IT_U = $(DEST_MAN_TOP)/it.UTF-8$(MAN1DIR)
+DEST_MAN_PL = $(DEST_MAN_TOP)/pl.ISO8859-2$(MAN1DIR)
+DEST_MAN_PL_U = $(DEST_MAN_TOP)/pl.UTF-8$(MAN1DIR)
DEST_MAN_RU = $(DEST_MAN_TOP)/ru.KOI8-R$(MAN1DIR)
DEST_MAN_RU_U = $(DEST_MAN_TOP)/ru.UTF-8$(MAN1DIR)
@@ -667,7 +669,9 @@ DEST_MAN_RU_U = $(DEST_MAN_TOP)/ru.UTF-8$(MAN1DIR)
$DEST_COMP $DEST_KMAP $DEST_MACRO $DEST_TOOLS $DEST_TUTOR
$DEST_SCRIPT $DEST_PRINT $DEST_MAN $DEST_SPELL
$DEST_MAN_FR $DEST_MAN_FR_I $DEST_MAN_FR_U $DEST_MAN_IT
- $DEST_MAN_IT_I $DEST_MAN_IT_U $DEST_MAN_RU $DEST_MAN_RU_U
+ $DEST_MAN_IT_I $DEST_MAN_IT_U
+ $DEST_MAN_PL $DEST_MAN_PL_U
+ $DEST_MAN_RU $DEST_MAN_RU_U
#
# I N S T A L L
@@ -893,6 +897,8 @@ install-tool-languages:
:sys ./installman.sh xxd $(DEST_MAN_IT) "-it" $(INSTALLMANARGS)
:sys ./installman.sh xxd $(DEST_MAN_IT_I) "-it" $(INSTALLMANARGS)
:sys ./installman.sh xxd $(DEST_MAN_IT_U) "-it.UTF-8" $(INSTALLMANARGS)
+ :sys ./installman.sh xxd $(DEST_MAN_PL) "-pl" $(INSTALLMANARGS)
+ :sys ./installman.sh xxd $(DEST_MAN_PL_U) "-pl.UTF-8" $(INSTALLMANARGS)
:sys ./installman.sh xxd $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS)
:sys ./installman.sh xxd $(DEST_MAN_RU_U) "-ru.UTF-8" $(INSTALLMANARGS)
@@ -904,6 +910,8 @@ install-languages {virtual}{force}: languages $DEST_LANG $DEST_KMAP
:sys ./installman.sh install $(DEST_MAN_IT) "-it" $(INSTALLMANARGS)
:sys ./installman.sh install $(DEST_MAN_IT_I) "-it" $(INSTALLMANARGS)
:sys ./installman.sh install $(DEST_MAN_IT_U) "-it.UTF-8" $(INSTALLMANARGS)
+ :sys ./installman.sh install $(DEST_MAN_PL) "-pl" $(INSTALLMANARGS)
+ :sys ./installman.sh install $(DEST_MAN_PL_U) "-pl.UTF-8" $(INSTALLMANARGS)
:sys ./installman.sh install $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS)
:sys ./installman.sh install $(DEST_MAN_RU_U) "-ru.UTF-8" $(INSTALLMANARGS)
:sys ./installml.sh install "$(GUI_MAN_TARGETS)" \
@@ -919,6 +927,10 @@ install-languages {virtual}{force}: languages $DEST_LANG $DEST_KMAP
:sys ./installml.sh install "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_IT_U) $(INSTALLMLARGS)
:sys ./installml.sh install "$(GUI_MAN_TARGETS)" \
+ $(DEST_MAN_PL) $(INSTALLMLARGS)
+ :sys ./installml.sh install "$(GUI_MAN_TARGETS)" \
+ $(DEST_MAN_PL_U) $(INSTALLMLARGS)
+ :sys ./installml.sh install "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_RU) $(INSTALLMLARGS)
:sys ./installml.sh install "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_RU_U) $(INSTALLMLARGS)
@@ -1049,6 +1061,8 @@ uninstall_runtime {virtual}{force}:
:sys ./installman.sh uninstall $(DEST_MAN_IT) "" $(INSTALLMANARGS)
:sys ./installman.sh uninstall $(DEST_MAN_IT_I) "" $(INSTALLMANARGS)
:sys ./installman.sh uninstall $(DEST_MAN_IT_U) "" $(INSTALLMANARGS)
+ :sys ./installman.sh uninstall $(DEST_MAN_PL) "" $(INSTALLMANARGS)
+ :sys ./installman.sh uninstall $(DEST_MAN_PL_U) "" $(INSTALLMANARGS)
:sys ./installman.sh uninstall $(DEST_MAN_RU) "" $(INSTALLMANARGS)
:sys ./installman.sh uninstall $(DEST_MAN_RU_U) "" $(INSTALLMANARGS)
:sys ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
@@ -1066,12 +1080,17 @@ uninstall_runtime {virtual}{force}:
:sys ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_IT_U) $(INSTALLMLARGS)
:sys ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
+ $(DEST_MAN_PL) $(INSTALLMLARGS)
+ :sys ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
+ $(DEST_MAN_PL_U) $(INSTALLMLARGS)
+ :sys ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_RU) $(INSTALLMLARGS)
:sys ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_RU_U) $(INSTALLMLARGS)
:del {force} $DEST_MAN/xxd.1
:del {force} $(DEST_MAN_FR)/xxd.1 $(DEST_MAN_FR_I)/xxd.1 $(DEST_MAN_FR_U)/xxd.1
:del {force} $(DEST_MAN_IT)/xxd.1 $(DEST_MAN_IT_I)/xxd.1 $(DEST_MAN_IT_U)/xxd.1
+ :del {force} $(DEST_MAN_PL)/xxd.1 $(DEST_MAN_PL_U)/xxd.1
:del {force} $(DEST_MAN_RU)/xxd.1 $(DEST_MAN_RU_U)/xxd.1
:del {force} $DEST_HELP/*.txt $DEST_HELP/tags $DEST_HELP/*.pl
diff --git a/src/screen.c b/src/screen.c
index 0e8b86778..60ffe9930 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -5528,7 +5528,7 @@ win_redr_status(wp)
*(p + len++) = ' ';
if (wp->w_buffer->b_help)
{
- STRCPY(p + len, _("[help]"));
+ STRCPY(p + len, _("[Help]"));
len += (int)STRLEN(p + len);
}
#ifdef FEAT_QUICKFIX
diff --git a/src/spell.c b/src/spell.c
index 4a65aeeaa..c2bf58d01 100644
--- a/src/spell.c
+++ b/src/spell.c
@@ -185,14 +185,21 @@
* <mapstr> N bytes String with sequences of similar characters,
* separated by slashes.
*
- * sectionID == SN_COMPOUND: <compmax> <compminlen> <compsylmax> <compflags>
+ * sectionID == SN_COMPOUND: <compmax> <compminlen> <compsylmax> <compoptions>
+ * <comppatcount> <comppattern> ... <compflags>
* <compmax> 1 byte Maximum nr of words in compound word.
* <compminlen> 1 byte Minimal word length for compounding.
* <compsylmax> 1 byte Maximum nr of syllables in compound word.
+ * <compoptions> 2 bytes COMP_ flags.
+ * <comppatcount> 2 bytes number of <comppattern> following
* <compflags> N bytes Flags from COMPOUNDRULE items, separated by
* slashes.
*
- * sectionID == SN_NOBREAK: (empty, its presence is enough)
+ * <comppattern>: <comppatlen> <comppattext>
+ * <comppatlen> 1 byte length of <comppattext>
+ * <comppattext> N bytes end or begin chars from CHECKCOMPOUNDPATTERN
+ *
+ * sectionID == SN_NOBREAK: (empty, its presence is what matters)
*
* sectionID == SN_SYLLABLE: <syllable>
* <syllable> N bytes String from SYLLABLE item.
@@ -248,6 +255,7 @@
* WF_HAS_AFF >> 8 word includes affix
* WF_NEEDCOMP >> 8 word only valid in compound
* WF_NOSUGGEST >> 8 word not used for suggestions
+ * WF_COMPROOT >> 8 word already a compound
*
* <pflags> 1 byte bitmask of:
* WFP_RARE rare prefix
@@ -336,6 +344,7 @@ typedef long idx_T;
#define WF_HAS_AFF 0x0100 /* word includes affix */
#define WF_NEEDCOMP 0x0200 /* word only valid in compound */
#define WF_NOSUGGEST 0x0400 /* word not to be suggested */
+#define WF_COMPROOT 0x0800 /* already compounded word, COMPOUNDROOT */
/* only used for su_badflags */
#define WF_MIXCAP 0x20 /* mix of upper and lower case: macaRONI */
@@ -356,6 +365,12 @@ typedef long idx_T;
#define WF_PFX_UP (WFP_UP << 24) /* in sl_pidxs: flag for to-upper
* postponed prefix */
+/* flags for <compoptions> */
+#define COMP_CHECKDUP 1 /* CHECKCOMPOUNDDUP */
+#define COMP_CHECKREP 2 /* CHECKCOMPOUNDREP */
+#define COMP_CHECKCASE 4 /* CHECKCOMPOUNDCASE */
+#define COMP_CHECKTRIPLE 8 /* CHECKCOMPOUNDTRIPLE */
+
/* Special byte values for <byte>. Some are only used in the tree for
* postponed prefixes, some only in the other trees. This is a bit messy... */
#define BY_NOFLAGS 0 /* end of word without flags or region; for
@@ -443,9 +458,11 @@ struct slang_S
hashtab_T sl_wordcount; /* hashtable with word count, wordcount_T */
- int sl_compmax; /* COMPOUNDMAX (default: MAXWLEN) */
+ int sl_compmax; /* COMPOUNDWORDMAX (default: MAXWLEN) */
int sl_compminlen; /* COMPOUNDMIN (default: 0) */
int sl_compsylmax; /* COMPOUNDSYLMAX (default: MAXWLEN) */
+ int sl_compoptions; /* COMP_* flags */
+ garray_T sl_comppat; /* CHECKCOMPOUNDPATTERN items */
regprog_T *sl_compprog; /* COMPOUNDRULE turned into a regexp progrm
* (NULL when no compounding) */
char_u *sl_compstartflags; /* flags for first compound word */
@@ -693,6 +710,7 @@ typedef struct matchinf_S
int mi_compoff; /* start of following word offset */
char_u mi_compflags[MAXWLEN]; /* flags for compound words used */
int mi_complen; /* nr of compound words used */
+ int mi_compextra; /* nr of COMPOUNDROOT words */
/* others */
int mi_result; /* result so far: SP_BAD, SP_OK, etc. */
@@ -1475,9 +1493,10 @@ find_word(mip, mode)
continue;
#endif
- /* Limit the number of compound words to COMPOUNDMAX if no
+ /* Limit the number of compound words to COMPOUNDWORDMAX if no
* maximum for syllables is specified. */
- if (!word_ends && mip->mi_complen + 2 > slang->sl_compmax
+ if (!word_ends && mip->mi_complen + mip->mi_compextra + 2
+ > slang->sl_compmax
&& slang->sl_compsylmax == MAXWLEN)
continue;
@@ -1589,6 +1608,8 @@ find_word(mip, mode)
#endif
c = mip->mi_compoff;
++mip->mi_complen;
+ if (flags & WF_COMPROOT)
+ ++mip->mi_compextra;
/* For NOBREAK we need to try all NOBREAK languages, at least
* to find the ".add" file(s). */
@@ -1625,6 +1646,8 @@ find_word(mip, mode)
break;
}
--mip->mi_complen;
+ if (flags & WF_COMPROOT)
+ --mip->mi_compextra;
mip->mi_lp = save_lp;
if (slang->sl_nobreak)
@@ -1726,7 +1749,7 @@ can_compound(slang, word, flags)
/* Count the number of syllables. This may be slow, do it last. If there
* are too many syllables AND the number of compound words is above
- * COMPOUNDMAX then compounding is not allowed. */
+ * COMPOUNDWORDMAX then compounding is not allowed. */
if (slang->sl_compsylmax < MAXWLEN
&& count_syllables(slang, word) > slang->sl_compsylmax)
return (int)STRLEN(flags) < slang->sl_compmax;
@@ -2465,6 +2488,8 @@ slang_clear(lp)
lp->sl_syllable = NULL;
ga_clear(&lp->sl_syl_items);
+ ga_clear_strings(&lp->sl_comppat);
+
hash_clear_all(&lp->sl_wordcount, WC_KEY_OFF);
hash_init(&lp->sl_wordcount);
@@ -3371,7 +3396,7 @@ read_sofo_section(fd, slang)
/*
* Read the compound section from the .spl file:
- * <compmax> <compminlen> <compsylmax> <compflags>
+ * <compmax> <compminlen> <compsylmax> <compoptions> <compflags>
* Returns SP_*ERROR flags.
*/
static int
@@ -3387,6 +3412,8 @@ read_compound(fd, slang, len)
char_u *pp;
char_u *cp;
char_u *ap;
+ int cnt;
+ garray_T *gap;
if (todo < 2)
return SP_FORMERROR; /* need at least two bytes */
@@ -3409,6 +3436,32 @@ read_compound(fd, slang, len)
c = MAXWLEN;
slang->sl_compsylmax = c;
+ c = getc(fd); /* <compoptions> */
+ if (c != 0)
+ ungetc(c, fd); /* be backwards compatible with Vim 7.0b */
+ else
+ {
+ --todo;
+ c = getc(fd); /* only use the lower byte for now */
+ --todo;
+ slang->sl_compoptions = c;
+
+ gap = &slang->sl_comppat;
+ c = get2c(fd); /* <comppatcount> */
+ todo -= 2;
+ ga_init2(gap, sizeof(char_u *), c);
+ if (ga_grow(gap, c) == OK)
+ while (--c >= 0)
+ {
+ ((char_u **)(gap->ga_data))[gap->ga_len++] =
+ read_cnt_string(fd, 1, &cnt);
+ /* <comppatlen> <comppattext> */
+ if (cnt < 0)
+ return cnt;
+ todo -= cnt + 2;
+ }
+ }
+
/* Turn the COMPOUNDRULE items into a regexp pattern:
* "a[bc]/a*b+" -> "^\(a[bc]\|a*b\+\)$".
* Inserting backslashes may double the length, "^\(\)$<Nul>" is 7 bytes.
@@ -4588,8 +4641,12 @@ typedef struct afffile_S
unsigned af_bad; /* BAD ID for banned word */
unsigned af_needaffix; /* NEEDAFFIX ID */
unsigned af_needcomp; /* NEEDCOMPOUND ID */
+ unsigned af_comproot; /* COMPOUNDROOT ID */
+ unsigned af_compforbid; /* COMPOUNDFORBIDFLAG ID */
+ unsigned af_comppermit; /* COMPOUNDPERMITFLAG ID */
unsigned af_nosuggest; /* NOSUGGEST ID */
- int af_pfxpostpone; /* postpone prefixes without chop string */
+ int af_pfxpostpone; /* postpone prefixes without chop string and
+ without flags */
hashtab_T af_pref; /* hashtable for prefixes, affheader_T */
hashtab_T af_suff; /* hashtable for suffixes, affheader_T */
hashtab_T af_comp; /* hashtable for compound flags, compitem_T */
@@ -4607,9 +4664,9 @@ struct affentry_S
affentry_T *ae_next; /* next affix with same name/number */
char_u *ae_chop; /* text to chop off basic word (can be NULL) */
char_u *ae_add; /* text to add to basic word (can be NULL) */
+ char_u *ae_flags; /* flags on the affix (can be NULL) */
char_u *ae_cond; /* condition (NULL for ".") */
regprog_T *ae_prog; /* regexp program for ae_cond or NULL */
- char_u ae_rare; /* rare affix */
char_u ae_nocomp; /* word with affix not compoundable */
};
@@ -4757,6 +4814,9 @@ typedef struct spellinfo_S
int si_compmax; /* max nr of words for compounding */
int si_compminlen; /* minimal length for compounding */
int si_compsylmax; /* max nr of syllables for compounding */
+ int si_compoptions; /* COMP_ flags */
+ garray_T si_comppat; /* CHECKCOMPOUNDPATTERN items, each stored as
+ a string */
char_u *si_compflags; /* flags used for compounding */
char_u si_nobreak; /* NOBREAK */
char_u *si_syllable; /* syllable string */
@@ -4960,7 +5020,8 @@ spell_read_aff(spin, fname)
int l;
int compminlen = 0; /* COMPOUNDMIN value */
int compsylmax = 0; /* COMPOUNDSYLMAX value */
- int compmax = 0; /* COMPOUNDMAX value */
+ int compoptions = 0; /* COMP_ flags */
+ int compmax = 0; /* COMPOUNDWORDMAX value */
char_u *compflags = NULL; /* COMPOUNDFLAG and COMPOUNDRULE
concatenated */
char_u *midword = NULL; /* MIDWORD value */
@@ -5096,6 +5157,7 @@ spell_read_aff(spin, fname)
|| aff->af_bad != 0
|| aff->af_needaffix != 0
|| aff->af_needcomp != 0
+ || aff->af_comproot != 0
|| aff->af_nosuggest != 0
|| compflags != NULL
|| aff->af_suff.ht_used > 0
@@ -5171,6 +5233,24 @@ spell_read_aff(spin, fname)
aff->af_needcomp = affitem2flag(aff->af_flagtype, items[1],
fname, lnum);
}
+ else if (STRCMP(items[0], "COMPOUNDROOT") == 0 && itemcnt == 2
+ && aff->af_comproot == 0)
+ {
+ aff->af_comproot = affitem2flag(aff->af_flagtype, items[1],
+ fname, lnum);
+ }
+ else if (STRCMP(items[0], "COMPOUNDFORBIDFLAG") == 0
+ && itemcnt == 2 && aff->af_compforbid == 0)
+ {
+ aff->af_compforbid = affitem2flag(aff->af_flagtype, items[1],
+ fname, lnum);
+ }
+ else if (STRCMP(items[0], "COMPOUNDPERMITFLAG") == 0
+ && itemcnt == 2 && aff->af_comppermit == 0)
+ {
+ aff->af_comppermit = affitem2flag(aff->af_flagtype, items[1],
+ fname, lnum);
+ }
else if (STRCMP(items[0], "COMPOUNDFLAG") == 0 && itemcnt == 2
&& compflags == NULL)
{
@@ -5203,12 +5283,12 @@ spell_read_aff(spin, fname)
compflags = p;
}
}
- else if (STRCMP(items[0], "COMPOUNDMAX") == 0 && itemcnt == 2
+ else if (STRCMP(items[0], "COMPOUNDWORDMAX") == 0 && itemcnt == 2
&& compmax == 0)
{
compmax = atoi((char *)items[1]);
if (compmax == 0)
- smsg((char_u *)_("Wrong COMPOUNDMAX value in %s line %d: %s"),
+ smsg((char_u *)_("Wrong COMPOUNDWORDMAX value in %s line %d: %s"),
fname, lnum, items[1]);
}
else if (STRCMP(items[0], "COMPOUNDMIN") == 0 && itemcnt == 2
@@ -5227,6 +5307,50 @@ spell_read_aff(spin, fname)
smsg((char_u *)_("Wrong COMPOUNDSYLMAX value in %s line %d: %s"),
fname, lnum, items[1]);
}
+ else if (STRCMP(items[0], "CHECKCOMPOUNDDUP") == 0 && itemcnt == 1)
+ {
+ compoptions |= COMP_CHECKDUP;
+ }
+ else if (STRCMP(items[0], "CHECKCOMPOUNDREP") == 0 && itemcnt == 1)
+ {
+ compoptions |= COMP_CHECKREP;
+ }
+ else if (STRCMP(items[0], "CHECKCOMPOUNDCASE") == 0 && itemcnt == 1)
+ {
+ compoptions |= COMP_CHECKCASE;
+ }
+ else if (STRCMP(items[0], "CHECKCOMPOUNDTRIPLE") == 0
+ && itemcnt == 1)
+ {
+ compoptions |= COMP_CHECKTRIPLE;
+ }
+ else if (STRCMP(items[0], "CHECKCOMPOUNDPATTERN") == 0
+ && itemcnt == 2)
+ {
+ if (atoi((char *)items[1]) == 0)
+ smsg((char_u *)_("Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"),
+ fname, lnum, items[1]);
+ }
+ else if (STRCMP(items[0], "CHECKCOMPOUNDPATTERN") == 0
+ && itemcnt == 3)
+ {
+ garray_T *gap = &spin->si_comppat;
+ int i;
+
+ /* Only add the couple if it isn't already there. */
+ for (i = 0; i < gap->ga_len - 1; i += 2)
+ if (STRCMP(((char_u **)(gap->ga_data))[i], items[1]) == 0
+ && STRCMP(((char_u **)(gap->ga_data))[i + 1],
+ items[2]) == 0)
+ break;
+ if (i >= gap->ga_len && ga_grow(gap, 2) == OK)
+ {
+ ((char_u **)(gap->ga_data))[gap->ga_len++]
+ = getroom_save(spin, items[1]);
+ ((char_u **)(gap->ga_data))[gap->ga_len++]
+ = getroom_save(spin, items[2]);
+ }
+ }
else if (STRCMP(items[0], "SYLLABLE") == 0 && itemcnt == 2
&& syllable == NULL)
{
@@ -5293,7 +5417,8 @@ spell_read_aff(spin, fname)
|| cur_aff->ah_flag == aff->af_keepcase
|| cur_aff->ah_flag == aff->af_needaffix
|| cur_aff->ah_flag == aff->af_nosuggest
- || cur_aff->ah_flag == aff->af_needcomp)
+ || cur_aff->ah_flag == aff->af_needcomp
+ || cur_aff->ah_flag == aff->af_comproot)
smsg((char_u *)_("Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s line %d: %s"),
fname, lnum, items[1]);
STRCPY(cur_aff->ah_key, items[1]);
@@ -5315,8 +5440,7 @@ spell_read_aff(spin, fname)
/* Myspell allows extra text after the item, but that might
* mean mistakes go unnoticed. Require a comment-starter. */
if (itemcnt > lasti && *items[lasti] != '#')
- smsg((char_u *)_("Trailing text in %s line %d: %s"),
- fname, lnum, items[4]);
+ smsg((char_u *)_(e_afftrailing), fname, lnum, items[lasti]);
if (STRCMP(items[2], "Y") != 0 && STRCMP(items[2], "N") != 0)
smsg((char_u *)_("Expected Y or N in %s line %d: %s"),
@@ -5350,31 +5474,16 @@ spell_read_aff(spin, fname)
&& itemcnt >= 5)
{
affentry_T *aff_entry;
- int rare = FALSE;
int nocomp = FALSE;
int upper = FALSE;
int lasti = 5;
- /* Check for "rare" and "nocomp" after the other info. */
- while (itemcnt > lasti)
- {
- if (!rare && STRICMP(items[lasti], "rare") == 0)
- {
- rare = TRUE;
- ++lasti;
- }
- else if (!nocomp && STRICMP(items[lasti], "nocomp") == 0)
- {
- nocomp = TRUE;
- ++lasti;
- }
- else
- break;
- }
-
/* Myspell allows extra text after the item, but that might
- * mean mistakes go unnoticed. Require a comment-starter. */
- if (itemcnt > lasti && *items[lasti] != '#')
+ * mean mistakes go unnoticed. Require a comment-starter.
+ * Hunspell uses a "-" item. */
+ if (itemcnt > lasti && *items[lasti] != '#'
+ && (STRCMP(items[lasti], "-") != 0
+ || itemcnt != lasti + 1))
smsg((char_u *)_(e_afftrailing), fname, lnum, items[lasti]);
/* New item for an affix letter. */
@@ -5383,14 +5492,20 @@ spell_read_aff(spin, fname)
sizeof(affentry_T), TRUE);
if (aff_entry == NULL)
break;
- aff_entry->ae_rare = rare;
aff_entry->ae_nocomp = nocomp;
if (STRCMP(items[2], "0") != 0)
aff_entry->ae_chop = getroom_save(spin, items[2]);
if (STRCMP(items[3], "0") != 0)
+ {
aff_entry->ae_add = getroom_save(spin, items[3]);
+ /* Recognize flags on the affix: abcd/1234 */
+ aff_entry->ae_flags = vim_strchr(aff_entry->ae_add, '/');
+ if (aff_entry->ae_flags != NULL)
+ *aff_entry->ae_flags++ = NUL;
+ }
+
/* Don't use an affix entry with non-ASCII characters when
* "spin->si_ascii" is TRUE. */
if (!spin->si_ascii || !(has_non_ascii(aff_entry->ae_chop)
@@ -5416,8 +5531,10 @@ spell_read_aff(spin, fname)
}
/* For postponed prefixes we need an entry in si_prefcond
- * for the condition. Use an existing one if possible. */
- if (*items[0] == 'P' && aff->af_pfxpostpone)
+ * for the condition. Use an existing one if possible.
+ * Can't be done for an affix with flags. */
+ if (*items[0] == 'P' && aff->af_pfxpostpone
+ && aff_entry->ae_flags == NULL)
{
/* When the chop string is one lower-case letter and
* the add string ends in the upper-case letter we set
@@ -5480,7 +5597,8 @@ spell_read_aff(spin, fname)
}
}
- if (aff_entry->ae_chop == NULL)
+ if (aff_entry->ae_chop == NULL
+ && aff_entry->ae_flags == NULL)
{
int idx;
char_u **pp;
@@ -5507,16 +5625,19 @@ spell_read_aff(spin, fname)
aff_entry->ae_cond);
}
+ if (aff_entry->ae_flags != NULL)
+ smsg((char_u *)_("Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"),
+ fname, lnum, items[4]);
+
/* Add the prefix to the prefix tree. */
if (aff_entry->ae_add == NULL)
p = (char_u *)"";
else
p = aff_entry->ae_add;
+
/* PFX_FLAGS is a negative number, so that
* tree_add_word() knows this is the prefix tree. */
n = PFX_FLAGS;
- if (rare)
- n |= WFP_RARE;
if (!cur_aff->ah_combine)
n |= WFP_NC;
if (upper)
@@ -5709,7 +5830,7 @@ spell_read_aff(spin, fname)
/* Use compound specifications of the .aff file for the spell info. */
if (compmax != 0)
{
- aff_check_number(spin->si_compmax, compmax, "COMPOUNDMAX");
+ aff_check_number(spin->si_compmax, compmax, "COMPOUNDWORDMAX");
spin->si_compmax = compmax;
}
@@ -5727,6 +5848,12 @@ spell_read_aff(spin, fname)
spin->si_compsylmax = compsylmax;
}
+ if (compoptions != 0)
+ {
+ aff_check_number(spin->si_compoptions, compoptions, "COMPOUND options");
+ spin->si_compoptions |= compoptions;
+ }
+
if (compflags != NULL)
process_compflags(spin, aff, compflags);
@@ -6327,6 +6454,9 @@ spell_read_dic(spin, fname, affile)
if (affile->af_needcomp != 0 && flag_in_afflist(
affile->af_flagtype, afflist, affile->af_needcomp))
flags |= WF_NEEDCOMP;
+ if (affile->af_comproot != 0 && flag_in_afflist(
+ affile->af_flagtype, afflist, affile->af_comproot))
+ flags |= WF_COMPROOT;
if (affile->af_nosuggest != 0 && flag_in_afflist(
affile->af_flagtype, afflist, affile->af_nosuggest))
flags |= WF_NOSUGGEST;
@@ -6512,11 +6642,12 @@ store_aff_word(spin, word, afflist, affile, ht, xht, comb, flags,
* Another requirement from Myspell is that the chop
* string is shorter than the word itself.
* For prefixes, when "PFXPOSTPONE" was used, only do
- * prefixes with a chop string. */
+ * prefixes with a chop string and/or flags. */
regmatch.regprog = ae->ae_prog;
regmatch.rm_ic = FALSE;
if ((xht != NULL || !affile->af_pfxpostpone
- || ae->ae_chop != NULL)
+ || ae->ae_chop != NULL
+ || ae->ae_flags != NULL)
&& (ae->ae_chop == NULL
|| STRLEN(ae->ae_chop) < wordlen)
&& (ae->ae_prog == NULL
@@ -6565,15 +6696,24 @@ store_aff_word(spin, word, afflist, affile, ht, xht, comb, flags,
}
/* Obey the "rare" flag of the affix. */
- if (ae->ae_rare)
+ if (affile->af_rare != 0
+ && ae->ae_flags != NULL
+ && flag_in_afflist(
+ affile->af_flagtype, ae->ae_flags,
+ affile->af_rare))
use_flags = flags | WF_RARE;
else
use_flags = flags;
- /* Obey the "nocomp" flag of the affix: don't use the
- * compound flags. */
+ /* Obey a "COMPOUNDFORBID" flag of the affix: don't
+ * use the compound flags. */
use_pfxlist = pfxlist;
- if (ae->ae_nocomp && pfxlist != NULL)
+ if (pfxlist != NULL
+ && affile->af_compforbid != 0
+ && ae->ae_flags != NULL
+ && flag_in_afflist(
+ affile->af_flagtype, ae->ae_flags,
+ affile->af_compforbid))
{
vim_strncpy(pfx_pfxlist, pfxlist, pfxlen);
use_pfxlist = pfx_pfxlist;
@@ -7803,12 +7943,26 @@ write_vim_spell(spin, fname)
putc(0, fd); /* <sectionflags> */
l = STRLEN(spin->si_compflags);
- put_bytes(fd, (long_u)(l + 3), 4); /* <sectionlen> */
+ for (i = 0; i < spin->si_comppat.ga_len; ++i)
+ l += STRLEN(((char_u **)(spin->si_comppat.ga_data))[i]) + 1;
+ put_bytes(fd, (long_u)(l + 7), 4); /* <sectionlen> */
+
putc(spin->si_compmax, fd); /* <compmax> */
putc(spin->si_compminlen, fd); /* <compminlen> */
putc(spin->si_compsylmax, fd); /* <compsylmax> */
+ putc(0, fd); /* for Vim 7.0b compatibility */
+ putc(spin->si_compoptions, fd); /* <compoptions> */
+ put_bytes(fd, (long_u)spin->si_comppat.ga_len, 2);
+ /* <comppatcount> */
+ for (i = 0; i < spin->si_comppat.ga_len; ++i)
+ {
+ p = ((char_u **)(spin->si_comppat.ga_data))[i];
+ putc(STRLEN(p), fd); /* <comppatlen> */
+ fwrite(p, (size_t)STRLEN(p), (size_t)1, fd);/* <comppattext> */
+ }
/* <compflags> */
- fwrite(spin->si_compflags, (size_t)l, (size_t)1, fd);
+ fwrite(spin->si_compflags, (size_t)STRLEN(spin->si_compflags),
+ (size_t)1, fd);
}
/* SN_NOBREAK: NOBREAK flag */
@@ -8611,6 +8765,7 @@ mkspell(fcount, fnames, ascii, overwrite, added_word)
ga_init2(&spin.si_repsal, (int)sizeof(fromto_T), 20);
ga_init2(&spin.si_sal, (int)sizeof(fromto_T), 20);
ga_init2(&spin.si_map, (int)sizeof(char_u), 100);
+ ga_init2(&spin.si_comppat, (int)sizeof(char_u *), 20);
ga_init2(&spin.si_prefcond, (int)sizeof(char_u *), 50);
hash_init(&spin.si_commonwords);
spin.si_newcompID = 127; /* start compound ID at first maximum */
@@ -8804,6 +8959,7 @@ mkspell(fcount, fnames, ascii, overwrite, added_word)
ga_clear(&spin.si_repsal);
ga_clear(&spin.si_sal);
ga_clear(&spin.si_map);
+ ga_clear(&spin.si_comppat);
ga_clear(&spin.si_prefcond);
hash_clear_all(&spin.si_commonwords, 0);
diff --git a/src/syntax.c b/src/syntax.c
index 7776c0905..f66f63957 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -6066,203 +6066,208 @@ syn_get_foldlevel(wp, lnum)
* The #ifdefs are needed to reduce the amount of static data. Helps to make
* the 16 bit DOS (museum) version compile.
*/
+#ifdef FEAT_GUI
+# define CENT(a, b) b
+#else
+# define CENT(a, b) a
+#endif
static char *(highlight_init_both[]) =
{
- "ErrorMsg term=standout ctermbg=DarkRed ctermfg=White",
- "IncSearch term=reverse cterm=reverse",
- "ModeMsg term=bold cterm=bold",
- "NonText term=bold ctermfg=Blue",
- "StatusLine term=reverse,bold cterm=reverse,bold",
- "StatusLineNC term=reverse cterm=reverse",
+ CENT("ErrorMsg term=standout ctermbg=DarkRed ctermfg=White",
+ "ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White"),
+ CENT("IncSearch term=reverse cterm=reverse",
+ "IncSearch term=reverse cterm=reverse gui=reverse"),
+ CENT("ModeMsg term=bold cterm=bold",
+ "ModeMsg term=bold cterm=bold gui=bold"),
+ CENT("NonText term=bold ctermfg=Blue",
+ "NonText term=bold ctermfg=Blue gui=bold guifg=Blue"),
+ CENT("StatusLine term=reverse,bold cterm=reverse,bold",
+ "StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold"),
+ CENT("StatusLineNC term=reverse cterm=reverse",
+ "StatusLineNC term=reverse cterm=reverse gui=reverse"),
#ifdef FEAT_VERTSPLIT
- "VertSplit term=reverse cterm=reverse",
+ CENT("VertSplit term=reverse cterm=reverse",
+ "VertSplit term=reverse cterm=reverse gui=reverse"),
#endif
#ifdef FEAT_CLIPBOARD
- "VisualNOS term=underline,bold cterm=underline,bold",
+ CENT("VisualNOS term=underline,bold cterm=underline,bold",
+ "VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold"),
#endif
#ifdef FEAT_DIFF
- "DiffText term=reverse cterm=bold ctermbg=Red",
+ CENT("DiffText term=reverse cterm=bold ctermbg=Red",
+ "DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red"),
#endif
#ifdef FEAT_INS_EXPAND
- "PmenuThumb cterm=reverse",
- "PmenuSbar ctermbg=Grey",
+ CENT("PmenuThumb cterm=reverse",
+ "PmenuThumb cterm=reverse gui=reverse"),
+ CENT("PmenuSbar ctermbg=Grey",
+ "PmenuSbar ctermbg=Grey guibg=Grey"),
#endif
#ifdef FEAT_WINDOWS
- "TabLineSel term=bold cterm=bold",
- "TabLineFill term=reverse cterm=reverse",
+ CENT("TabLineSel term=bold cterm=bold",
+ "TabLineSel term=bold cterm=bold gui=bold"),
+ CENT("TabLineFill term=reverse cterm=reverse",
+ "TabLineFill term=reverse cterm=reverse gui=reverse"),
#endif
#ifdef FEAT_AUTOCMD
- "MatchParen term=reverse ctermbg=Cyan",
+ CENT("MatchParen term=reverse ctermbg=Cyan",
+ "MatchParen term=reverse ctermbg=Cyan guibg=Cyan"),
#endif
#ifdef FEAT_GUI
- "ErrorMsg guibg=Red guifg=White",
- "IncSearch gui=reverse",
- "ModeMsg gui=bold",
- "NonText gui=bold guifg=Blue",
- "StatusLine gui=reverse,bold",
- "StatusLineNC gui=reverse",
- "VertSplit gui=reverse",
- "VisualNOS gui=underline,bold",
- "DiffText gui=bold guibg=Red",
- "PmenuThumb gui=reverse",
- "PmenuSbar guibg=Grey",
- "TabLineSel gui=bold",
- "TabLineFill gui=reverse",
- "MatchParen guibg=Cyan",
"Cursor guibg=fg guifg=bg",
- "lCursor guibg=fg guifg=bg", /* should be different, but what? */
+ "lCursor guibg=fg guifg=bg", /* should be different, but what? */
#endif
NULL
};
static char *(highlight_init_light[]) =
{
- "Directory term=bold ctermfg=DarkBlue",
- "LineNr term=underline ctermfg=Brown",
- "MoreMsg term=bold ctermfg=DarkGreen",
- "Question term=standout ctermfg=DarkGreen",
- "Search term=reverse ctermbg=Yellow ctermfg=NONE",
+ CENT("Directory term=bold ctermfg=DarkBlue",
+ "Directory term=bold ctermfg=DarkBlue guifg=Blue"),
+ CENT("LineNr term=underline ctermfg=Brown",
+ "LineNr term=underline ctermfg=Brown guifg=Brown"),
+ CENT("MoreMsg term=bold ctermfg=DarkGreen",
+ "MoreMsg term=bold ctermfg=DarkGreen gui=bold guifg=SeaGreen"),
+ CENT("Question term=standout ctermfg=DarkGreen",
+ "Question term=standout ctermfg=DarkGreen gui=bold guifg=SeaGreen"),
+ CENT("Search term=reverse ctermbg=Yellow ctermfg=NONE",
+ "Search term=reverse ctermbg=Yellow ctermfg=NONE guibg=Yellow guifg=NONE"),
#ifdef FEAT_SPELL
- "SpellBad term=reverse ctermbg=LightRed",
- "SpellCap term=reverse ctermbg=LightBlue",
- "SpellRare term=reverse ctermbg=LightMagenta",
- "SpellLocal term=underline ctermbg=Cyan",
+ CENT("SpellBad term=reverse ctermbg=LightRed",
+ "SpellBad term=reverse ctermbg=LightRed guisp=Red gui=undercurl"),
+ CENT("SpellCap term=reverse ctermbg=LightBlue",
+ "SpellCap term=reverse ctermbg=LightBlue guisp=Blue gui=undercurl"),
+ CENT("SpellRare term=reverse ctermbg=LightMagenta",
+ "SpellRare term=reverse ctermbg=LightMagenta guisp=Magenta gui=undercurl"),
+ CENT("SpellLocal term=underline ctermbg=Cyan",
+ "SpellLocal term=underline ctermbg=Cyan guisp=DarkCyan gui=undercurl"),
#endif
#ifdef FEAT_INS_EXPAND
- "Pmenu ctermbg=LightMagenta",
- "PmenuSel ctermbg=LightGrey",
+ CENT("Pmenu ctermbg=LightMagenta",
+ "Pmenu ctermbg=LightMagenta guibg=LightMagenta"),
+ CENT("PmenuSel ctermbg=LightGrey",
+ "PmenuSel ctermbg=LightGrey guibg=Grey"),
#endif
- "SpecialKey term=bold ctermfg=DarkBlue",
- "Title term=bold ctermfg=DarkMagenta",
- "WarningMsg term=standout ctermfg=DarkRed",
+ CENT("SpecialKey term=bold ctermfg=DarkBlue",
+ "SpecialKey term=bold ctermfg=DarkBlue guifg=Blue"),
+ CENT("Title term=bold ctermfg=DarkMagenta",
+ "Title term=bold ctermfg=DarkMagenta gui=bold guifg=Magenta"),
+ CENT("WarningMsg term=standout ctermfg=DarkRed",
+ "WarningMsg term=standout ctermfg=DarkRed guifg=Red"),
#ifdef FEAT_WILDMENU
- "WildMenu term=standout ctermbg=Yellow ctermfg=Black",
+ CENT("WildMenu term=standout ctermbg=Yellow ctermfg=Black",
+ "WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black"),
#endif
#ifdef FEAT_FOLDING
- "Folded term=standout ctermbg=Grey ctermfg=DarkBlue",
- "FoldColumn term=standout ctermbg=Grey ctermfg=DarkBlue",
+ CENT("Folded term=standout ctermbg=Grey ctermfg=DarkBlue",
+ "Folded term=standout ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue"),
+ CENT("FoldColumn term=standout ctermbg=Grey ctermfg=DarkBlue",
+ "FoldColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue"),
#endif
#ifdef FEAT_SIGNS
- "SignColumn term=standout ctermbg=Grey ctermfg=DarkBlue",
+ CENT("SignColumn term=standout ctermbg=Grey ctermfg=DarkBlue",
+ "SignColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue"),
#endif
#ifdef FEAT_VISUAL
- "Visual term=reverse ctermbg=Magenta",
+ CENT("Visual term=reverse ctermbg=Magenta",
+ "Visual term=reverse ctermbg=Magenta guibg=LightGrey"),
#endif
#ifdef FEAT_DIFF
- "DiffAdd term=bold ctermbg=LightBlue",
- "DiffChange term=bold ctermbg=LightMagenta",
- "DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan",
+ CENT("DiffAdd term=bold ctermbg=LightBlue",
+ "DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue"),
+ CENT("DiffChange term=bold ctermbg=LightMagenta",
+ "DiffChange term=bold ctermbg=LightMagenta guibg=LightMagenta"),
+ CENT("DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan",
+ "DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan"),
#endif
#ifdef FEAT_WINDOWS
- "TabLine term=underline cterm=underline ctermfg=black ctermbg=LightGrey",
+ CENT("TabLine term=underline cterm=underline ctermfg=black ctermbg=LightGrey",
+ "TabLine term=underline cterm=underline ctermfg=black ctermbg=LightGrey gui=underline guibg=LightGrey"),
#endif
#ifdef FEAT_SYN_HL
- "CursorColumn term=reverse ctermbg=LightGrey",
- "CursorLine term=underline cterm=underline",
+ CENT("CursorColumn term=reverse ctermbg=LightGrey",
+ "CursorColumn term=reverse ctermbg=LightGrey guibg=LightGrey"),
+ CENT("CursorLine term=underline cterm=underline",
+ "CursorLine term=underline cterm=underline guibg=LightGrey"),
#endif
#ifdef FEAT_GUI
- "Directory guifg=Blue",
- "LineNr guifg=Brown",
- "MoreMsg gui=bold guifg=SeaGreen",
"Normal gui=NONE",
- "Question gui=bold guifg=SeaGreen",
- "Search guibg=Yellow guifg=NONE",
- "SpellBad guisp=Red gui=undercurl",
- "SpellCap guisp=Blue gui=undercurl",
- "SpellRare guisp=Magenta gui=undercurl",
- "SpellLocal guisp=DarkCyan gui=undercurl",
- "Pmenu guibg=LightMagenta",
- "PmenuSel guibg=Grey",
- "SpecialKey guifg=Blue",
- "Title gui=bold guifg=Magenta",
- "WarningMsg guifg=Red",
- "WildMenu guibg=Yellow guifg=Black",
- "Folded guibg=LightGrey guifg=DarkBlue",
- "FoldColumn guibg=Grey guifg=DarkBlue",
- "SignColumn guibg=Grey guifg=DarkBlue",
- "Visual guibg=LightGrey",
- "DiffAdd guibg=LightBlue",
- "DiffChange guibg=LightMagenta",
- "DiffDelete gui=bold guifg=Blue guibg=LightCyan",
- "TabLine gui=underline guibg=LightGrey",
- "CursorColumn guibg=LightGrey",
- "CursorLine guibg=LightGrey",
#endif
NULL
};
static char *(highlight_init_dark[]) =
{
- "Directory term=bold ctermfg=LightCyan",
- "LineNr term=underline ctermfg=Yellow",
- "MoreMsg term=bold ctermfg=LightGreen",
- "Question term=standout ctermfg=LightGreen",
- "Search term=reverse ctermbg=Yellow ctermfg=Black",
- "SpecialKey term=bold ctermfg=LightBlue",
+ CENT("Directory term=bold ctermfg=LightCyan",
+ "Directory term=bold ctermfg=LightCyan guifg=Cyan"),
+ CENT("LineNr term=underline ctermfg=Yellow",
+ "LineNr term=underline ctermfg=Yellow guifg=Yellow"),
+ CENT("MoreMsg term=bold ctermfg=LightGreen",
+ "MoreMsg term=bold ctermfg=LightGreen gui=bold guifg=SeaGreen"),
+ CENT("Question term=standout ctermfg=LightGreen",
+ "Question term=standout ctermfg=LightGreen gui=bold guifg=Green"),
+ CENT("Search term=reverse ctermbg=Yellow ctermfg=Black",
+ "Search term=reverse ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black"),
+ CENT("SpecialKey term=bold ctermfg=LightBlue",
+ "SpecialKey term=bold ctermfg=LightBlue guifg=Cyan"),
#ifdef FEAT_SPELL
- "SpellBad term=reverse ctermbg=Red",
- "SpellCap term=reverse ctermbg=Blue",
- "SpellRare term=reverse ctermbg=Magenta",
- "SpellLocal term=underline ctermbg=Cyan",
+ CENT("SpellBad term=reverse ctermbg=Red",
+ "SpellBad term=reverse ctermbg=Red guisp=Red gui=undercurl"),
+ CENT("SpellCap term=reverse ctermbg=Blue",
+ "SpellCap term=reverse ctermbg=Blue guisp=Blue gui=undercurl"),
+ CENT("SpellRare term=reverse ctermbg=Magenta",
+ "SpellRare term=reverse ctermbg=Magenta guisp=Magenta gui=undercurl"),
+ CENT("SpellLocal term=underline ctermbg=Cyan",
+ "SpellLocal term=underline ctermbg=Cyan guisp=Cyan gui=undercurl"),
#endif
#ifdef FEAT_INS_EXPAND
- "Pmenu ctermbg=Magenta",
- "PmenuSel ctermbg=DarkGrey",
+ CENT("Pmenu ctermbg=Magenta",
+ "Pmenu ctermbg=Magenta guibg=Magenta"),
+ CENT("PmenuSel ctermbg=DarkGrey",
+ "PmenuSel ctermbg=DarkGrey guibg=DarkGrey"),
#endif
- "Title term=bold ctermfg=LightMagenta",
- "WarningMsg term=standout ctermfg=LightRed",
+ CENT("Title term=bold ctermfg=LightMagenta",
+ "Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta"),
+ CENT("WarningMsg term=standout ctermfg=LightRed",
+ "WarningMsg term=standout ctermfg=LightRed guifg=Red"),
#ifdef FEAT_WILDMENU
- "WildMenu term=standout ctermbg=Yellow ctermfg=Black",
+ CENT("WildMenu term=standout ctermbg=Yellow ctermfg=Black",
+ "WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black"),
#endif
#ifdef FEAT_FOLDING
- "Folded term=standout ctermbg=DarkGrey ctermfg=Cyan",
- "FoldColumn term=standout ctermbg=DarkGrey ctermfg=Cyan",
+ CENT("Folded term=standout ctermbg=DarkGrey ctermfg=Cyan",
+ "Folded term=standout ctermbg=DarkGrey ctermfg=Cyan guibg=DarkGrey guifg=Cyan"),
+ CENT("FoldColumn term=standout ctermbg=DarkGrey ctermfg=Cyan",
+ "FoldColumn term=standout ctermbg=DarkGrey ctermfg=Cyan guibg=Grey guifg=Cyan"),
#endif
#ifdef FEAT_SIGNS
- "SignColumn term=standout ctermbg=DarkGrey ctermfg=Cyan",
+ CENT("SignColumn term=standout ctermbg=DarkGrey ctermfg=Cyan",
+ "SignColumn term=standout ctermbg=DarkGrey ctermfg=Cyan guibg=Grey guifg=Cyan"),
#endif
#ifdef FEAT_VISUAL
- "Visual term=reverse ctermbg=Magenta",
+ CENT("Visual term=reverse ctermbg=Magenta",
+ "Visual term=reverse ctermbg=Magenta guibg=DarkGrey"),
#endif
#ifdef FEAT_DIFF
- "DiffAdd term=bold ctermbg=DarkBlue",
- "DiffChange term=bold ctermbg=DarkMagenta",
- "DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan",
+ CENT("DiffAdd term=bold ctermbg=DarkBlue",
+ "DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue"),
+ CENT("DiffChange term=bold ctermbg=DarkMagenta",
+ "DiffChange term=bold ctermbg=DarkMagenta guibg=DarkMagenta"),
+ CENT("DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan",
+ "DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan gui=bold guifg=Blue guibg=DarkCyan"),
#endif
#ifdef FEAT_WINDOWS
- "TabLine term=underline cterm=underline ctermfg=white ctermbg=DarkGrey",
+ CENT("TabLine term=underline cterm=underline ctermfg=white ctermbg=DarkGrey",
+ "TabLine term=underline cterm=underline ctermfg=white ctermbg=DarkGrey gui=underline guibg=DarkGrey"),
#endif
#ifdef FEAT_SYN_HL
- "CursorColumn term=reverse ctermbg=DarkGrey",
- "CursorLine term=underline cterm=underline",
+ CENT("CursorColumn term=reverse ctermbg=DarkGrey",
+ "CursorColumn term=reverse ctermbg=DarkGrey guibg=DarkGrey"),
+ CENT("CursorLine term=underline cterm=underline",
+ "CursorLine term=underline cterm=underline guibg=DarkGrey"),
#endif
#ifdef FEAT_GUI
- "Directory guifg=Cyan",
- "LineNr guifg=Yellow",
- "MoreMsg gui=bold guifg=SeaGreen",
"Normal gui=NONE",
- "Question gui=bold guifg=Green",
- "Search guibg=Yellow guifg=Black",
- "SpecialKey guifg=Cyan",
- "SpellBad guisp=Red gui=undercurl",
- "SpellCap guisp=Blue gui=undercurl",
- "SpellRare guisp=Magenta gui=undercurl",
- "SpellLocal guisp=Cyan gui=undercurl",
- "Pmenu guibg=Magenta",
- "PmenuSel guibg=DarkGrey",
- "Title gui=bold guifg=Magenta",
- "WarningMsg guifg=Red",
- "WildMenu guibg=Yellow guifg=Black",
- "Folded guibg=DarkGrey guifg=Cyan",
- "FoldColumn guibg=Grey guifg=Cyan",
- "SignColumn guibg=Grey guifg=Cyan",
- "Visual guibg=DarkGrey",
- "DiffAdd guibg=DarkBlue",
- "DiffChange guibg=DarkMagenta",
- "DiffDelete gui=bold guifg=Blue guibg=DarkCyan",
- "TabLine gui=underline guibg=DarkGrey",
- "CursorColumn guibg=DarkGrey",
- "CursorLine guibg=DarkGrey",
#endif
NULL
};
diff --git a/src/testdir/test58.in b/src/testdir/test58.in
index 7db6a9ed2..0cd84ee36 100644
--- a/src/testdir/test58.in
+++ b/src/testdir/test58.in
@@ -420,7 +420,8 @@ COMPOUNDRULE m+
COMPOUNDRULE sm*e
COMPOUNDRULE sm+
COMPOUNDMIN 3
-COMPOUNDMAX 3
+COMPOUNDWORDMAX 3
+COMPOUNDFORBIDFLAG t
COMPOUNDSYLMAX 5
SYLLABLE aáeéiíoóöőuúüűy/aa/au/ea/ee/ei/ie/oa/oe/oo/ou/uu/ui
@@ -447,7 +448,7 @@ SFX q 0 -ok .
SFX a Y 2
SFX a 0 s .
-SFX a 0 ize . nocomp
+SFX a 0 ize/t .
PFX p N 1
PFX p 0 pre .
diff --git a/src/testdir/test59.in b/src/testdir/test59.in
index d8e0a975e..cf9cb4938 100644
--- a/src/testdir/test59.in
+++ b/src/testdir/test59.in
@@ -424,7 +424,8 @@ COMPOUNDRULE m+
COMPOUNDRULE sm*e
COMPOUNDRULE sm+
COMPOUNDMIN 3
-COMPOUNDMAX 3
+COMPOUNDWORDMAX 3
+COMPOUNDFORBIDFLAG t
COMPOUNDSYLMAX 5
SYLLABLE aáeéiíoóöőuúüűy/aa/au/ea/ee/ei/ie/oa/oe/oo/ou/uu/ui
@@ -451,7 +452,7 @@ SFX q 0 -ok .
SFX a Y 2
SFX a 0 s .
-SFX a 0 ize . nocomp
+SFX a 0 ize/t .
PFX p N 1
PFX p 0 pre .
diff --git a/src/version.h b/src/version.h
index d8cde672c..965ee8362 100644
--- a/src/version.h
+++ b/src/version.h
@@ -36,5 +36,5 @@
#define VIM_VERSION_NODOT "vim70b"
#define VIM_VERSION_SHORT "7.0b"
#define VIM_VERSION_MEDIUM "7.0b BETA"
-#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0b BETA (2006 Mar 25)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0b BETA (2006 Mar 25, compiled "
+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0b BETA (2006 Mar 26)"
+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0b BETA (2006 Mar 26, compiled "
diff --git a/src/xxd/xxd.c b/src/xxd/xxd.c
index 2b3ee9c03..f57d78634 100644
--- a/src/xxd/xxd.c
+++ b/src/xxd/xxd.c
@@ -275,6 +275,9 @@ long base_off;
if (c == '\r') /* Doze style input file? */
continue;
+ if (c == ' ' || c == '\n' || c == '\t') /* allow multiple spaces */
+ continue;
+
n3 = n2;
n2 = n1;
@@ -334,7 +337,7 @@ long base_off;
n1 = -1;
if ((++p >= cols) && !hextype)
{
- /* skip rest of line as garbaga */
+ /* skip rest of line as garbage */
want_off = 0;
while ((c = getc(fpi)) != '\n' && c != EOF)
;