From 4770d09abd866bb53d95895dc6a5c5fe7cccb619 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 12 Jan 2006 23:22:24 +0000 Subject: [PATCH] updated for version 7.0179 --- Filelist | 4 + runtime/autoload/syntaxcomplete.vim | 179 + runtime/doc/autocmd.txt | 8 +- runtime/doc/cmdline.txt | 4 +- runtime/doc/develop.txt | 84 +- runtime/doc/eval.txt | 9 +- runtime/doc/if_mzsch.txt | 21 +- runtime/doc/index.txt | 5 +- runtime/doc/insert.txt | 49 +- runtime/doc/map.txt | 11 +- runtime/doc/message.txt | 5 +- runtime/doc/motion.txt | 7 +- runtime/doc/options.txt | 9 +- runtime/doc/pattern.txt | 16 +- runtime/doc/quickfix.txt | 30 +- runtime/doc/quickref.txt | 6 +- runtime/doc/spell.txt | 436 ++- runtime/doc/syntax.txt | 4 +- runtime/doc/tags | 4 +- runtime/doc/todo.txt | 110 +- runtime/doc/various.txt | 3 +- runtime/doc/version7.txt | 16 +- runtime/doc/vi_diff.txt | 6 +- runtime/filetype.vim | 7 +- runtime/makemenu.vim | 4 +- runtime/optwin.vim | 4 +- runtime/spell/en.ascii.spl | Bin 566667 -> 567989 bytes runtime/spell/en.ascii.sug | Bin 0 -> 555631 bytes runtime/spell/en.latin1.spl | Bin 568766 -> 570088 bytes runtime/spell/en.latin1.sug | Bin 0 -> 556457 bytes runtime/spell/en.utf-8.spl | Bin 569197 -> 570519 bytes runtime/spell/en.utf-8.sug | Bin 0 -> 556527 bytes runtime/syntax/eviews.vim | 104 + runtime/syntax/gretl.vim | 102 + runtime/syntax/r.vim | 21 +- runtime/syntax/vim.vim | 10 +- src/Makefile | 3 + src/buffer.c | 6 +- src/edit.c | 9 + src/eval.c | 21 +- src/ex_cmds.c | 4 +- src/ex_cmds.h | 6 +- src/ex_docmd.c | 7 +- src/ex_getln.c | 25 +- src/feature.h | 9 + src/fileio.c | 2 +- src/globals.h | 7 +- src/gui_gtk_x11.c | 1 + src/hashtable.c | 25 + src/memline.c | 146 +- src/message.c | 2 +- src/misc1.c | 4 + src/misc2.c | 6 +- src/po/it.po | 150 +- src/proto/eval.pro | 1 + src/proto/hashtable.pro | 1 + src/proto/memline.pro | 61 +- src/proto/spell.pro | 4 +- src/quickfix.c | 40 +- src/screen.c | 11 +- src/spell.c | 5214 +++++++++++++++++++-------- src/structs.h | 22 +- src/testdir/test58.ok | 14 +- src/testdir/test59.ok | 14 +- src/testdir/test60.in | 262 +- src/testdir/test60.ok | 76 +- src/testdir/test60.vim | 97 + src/version.h | 4 +- 68 files changed, 5542 insertions(+), 1990 deletions(-) create mode 100644 runtime/autoload/syntaxcomplete.vim create mode 100644 runtime/spell/en.ascii.sug create mode 100644 runtime/spell/en.latin1.sug create mode 100644 runtime/spell/en.utf-8.sug create mode 100644 runtime/syntax/eviews.vim create mode 100644 runtime/syntax/gretl.vim create mode 100644 src/testdir/test60.vim diff --git a/Filelist b/Filelist index 9b57eb35b..59ec95646 100644 --- a/Filelist +++ b/Filelist @@ -77,6 +77,7 @@ SRC_ALL = \ src/testdir/*.in \ src/testdir/test[0-9]*.ok \ src/testdir/test49.vim \ + src/testdir/test60.vim \ src/proto.h \ src/proto/buffer.pro \ src/proto/charset.pro \ @@ -683,6 +684,9 @@ LANG_GEN_BIN = \ runtime/spell/en.ascii.spl \ runtime/spell/en.latin1.spl \ runtime/spell/en.utf-8.spl \ + runtime/spell/en.ascii.sug \ + runtime/spell/en.latin1.sug \ + runtime/spell/en.utf-8.sug \ # all files for lang archive LANG_SRC = \ diff --git a/runtime/autoload/syntaxcomplete.vim b/runtime/autoload/syntaxcomplete.vim new file mode 100644 index 000000000..367847c9b --- /dev/null +++ b/runtime/autoload/syntaxcomplete.vim @@ -0,0 +1,179 @@ +" Vim completion script +" Language: All languages, uses existing syntax highlighting rules +" Maintainer: David Fishburn +" Version: 1.0 +" Last Change: Sun Jan 08 2006 10:17:51 PM + +" Set completion with CTRL-X CTRL-O to autoloaded function. +if exists('&ofu') + setlocal ofu=syntaxcomplete#Complete +endif + +if exists('g:loaded_syntax_completion') + finish +endif +let g:loaded_syntax_completion = 1 + +" This script will build a completion list based on the syntax +" elements defined by the files in $VIMRUNTIME/syntax. + +let s:syn_remove_words = 'match,matchgroup=,contains,'. + \ 'links to,start=,end=,nextgroup=' + +let s:cache_name = [] +let s:cache_list = [] + +" This function is used for the 'omnifunc' option. +function! syntaxcomplete#Complete(findstart, base) + + if a:findstart + " Locate the start of the item, including "." + let line = getline('.') + let start = col('.') - 1 + let lastword = -1 + while start > 0 + if line[start - 1] =~ '\w' + let start -= 1 + elseif line[start - 1] =~ '\.' + " The user must be specifying a column name + if lastword == -1 + let lastword = start + endif + let start -= 1 + let b:sql_compl_type = 'column' + else + break + endif + endwhile + + " Return the column of the last word, which is going to be changed. + " Remember the text that comes before it in s:prepended. + if lastword == -1 + let s:prepended = '' + return start + endif + let s:prepended = strpart(line, start, lastword - start) + return lastword + endif + + let base = s:prepended . a:base + + let list_idx = index(s:cache_name, &filetype, 0, &ignorecase) + if list_idx > -1 + let compl_list = s:cache_list[list_idx] + else + let compl_list = s:SyntaxList() + let s:cache_name = add( s:cache_name, &filetype ) + let s:cache_list = add( s:cache_list, compl_list ) + endif + + " Return list of matches. + + if base =~ '\w' + let compstr = join(compl_list, ' ') + let compstr = substitute(compstr, '\<\%('.base.'\)\@!\w\+\s*', '', 'g') + let compl_list = split(compstr, '\s\+') + endif + + return compl_list +endfunc + +function! s:SyntaxList() + let saveL = @l + + " Loop through all the syntax groupnames, and build a + " syntax file which contains these names. This can + " work generically for any filetype that does not already + " have a plugin defined. + " This ASSUMES the syntax groupname BEGINS with the name + " of the filetype. From my casual viewing of the vim7\sytax + " directory. + redir @l + silent! exec 'syntax list ' + redir END + + let syntax_groups = @l + let @l = saveL + + if syntax_groups =~ 'E28' + \ || syntax_groups =~ 'E411' + \ || syntax_groups =~ 'E415' + \ || syntax_groups =~ 'No sytax items' + return -1 + endif + + " Abort names - match, links to, matchgroup=, start=, contains=, contained, + " cluster=, nextgroup=, end= + let next_group_regex = '\n' . + \ '\zs'.&filetype.'\w\+\ze'. + \ '\s\+xxx\s\+'. + \ '\<\('. + \ substitute(s:syn_remove_words, ',', '\\|', 'g'). + \ '\)\@!' + let syn_list = '' + let index = 0 + let index = match(syntax_groups, next_group_regex, index) + + + while index > 0 + let group_name = matchstr( syntax_groups, '\w\+', index ) + + let extra_syn_list = s:SyntaxGroupItems(group_name) + + let syn_list = syn_list . extra_syn_list . "\n" + + let index = index + strlen(group_name) + let index = match(syntax_groups, next_group_regex, index) + endwhile + + return sort(split(syn_list)) +endfunction + +function! s:SyntaxGroupItems( group_name ) + let saveL = @l + + " Generate (based on the syntax highlight rules) a list of + " the Statements, functions, keywords and so on available + " If this needs updating, the syntax\sql.vim file should be + " updated + redir @l + silent! exec 'syntax list ' . a:group_name + redir END + + if @l !~ 'E28' + " let syn_list = substitute( @l, '^.*xxx\s*\%(contained\s*\)\?', "", '' ) + let syn_list = substitute( @l, '^.*xxx\s*', "", '' ) + + " We only want the words for the lines begining with + " containedin, but there could be other items. + + " Tried to remove all lines that do not begin with contained + " but this does not work in all cases since you can have + " contained nextgroup=... + " So this will strip off the ending of lines with known + " keywords. + let syn_list = substitute( syn_list, '\<\('. + \ substitute( + \ escape( s:syn_remove_words, '\\/.*$^~[]') + \ , ',', '\\|', 'g'). + \ '\).\{-}\%($\|'."\n".'\)' + \ , "\n", 'g' ) + + " Now strip off the newline + blank space + contained + let syn_list = substitute( syn_list, '\%(^\|\n\)\@<=\s*\<\('. + \ 'contained\)' + \ , "", 'g' ) + + " There are a number of items which have non-word characters in + " them, *'T_F1'*. vim.vim is one such file. + " This will replace non-word characters with spaces. + let syn_list = substitute( syn_list, '[^0-9A-Za-z_ ]', ' ', 'g' ) + else + let syn_list = '' + endif + + let @l = saveL + + return syn_list +endfunction + diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index 28edb4d4b..e83309a8d 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -1,4 +1,4 @@ -*autocmd.txt* For Vim version 7.0aa. Last change: 2005 Dec 18 +*autocmd.txt* For Vim version 7.0aa. Last change: 2006 Jan 08 VIM REFERENCE MANUAL by Bram Moolenaar @@ -330,7 +330,7 @@ BufEnter After entering a buffer. Useful for setting *BufFilePost* BufFilePost After changing the name of the current buffer with the ":file" or ":saveas" command. - *BufReadCmd* + *BufFilePre* BufFilePre Before changing the name of the current buffer with the ":file" or ":saveas" command. *BufHidden* @@ -368,10 +368,10 @@ BufRead or BufReadPost When starting to edit a new buffer, after This does NOT work for ":r file". Not used when the file doesn't exist. Also used after successfully recovering a file. - *BufReadPre* *E200* *E201* + *BufReadCmd* BufReadCmd Before starting to edit a new buffer. Should read the file into the buffer. |Cmd-event| - *BufFilePre* + *BufReadPre* *E200* *E201* BufReadPre When starting to edit a new buffer, before reading the file into the buffer. Not used if the file doesn't exist. diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt index 72b3c295f..d12c1ea77 100644 --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -1,4 +1,4 @@ -*cmdline.txt* For Vim version 7.0aa. Last change: 2005 Dec 27 +*cmdline.txt* For Vim version 7.0aa. Last change: 2005 Dec 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -198,6 +198,8 @@ CTRL-\ e {expr} *c_CTRL-\_e* The cursor position is unchanged, except when the cursor was at the end of the line, then it stays at the end. |setcmdpos()| can be used to set the cursor position. + The |sandbox| is used for evaluating the expression to avoid + nasty side effects. Example: > :cmap eAppendSome() :func AppendSome() diff --git a/runtime/doc/develop.txt b/runtime/doc/develop.txt index 498833c5a..4d12d166c 100644 --- a/runtime/doc/develop.txt +++ b/runtime/doc/develop.txt @@ -1,4 +1,4 @@ -*develop.txt* For Vim version 7.0aa. Last change: 2005 Sep 01 +*develop.txt* For Vim version 7.0aa. Last change: 2006 Jan 12 VIM REFERENCE MANUAL by Bram Moolenaar @@ -382,8 +382,8 @@ checking engine in Vim, for various reasons: them separately from Vim. That's mostly not impossible, but a drawback. - Performance: A few tests showed that it's possible to check spelling on the fly (while redrawing), just like syntax highlighting. But the mechanisms - used by other code are much slower. Myspell uses a simplistic hashtable, - for example. + used by other code are much slower. Myspell uses a hashtable, for example. + The affix compression that most spell checkers use makes it slower too. - For using an external program like aspell a communication mechanism would have to be setup. That's complicated to do in a portable way (Unix-only would be relatively simple, but that's not good enough). And performance @@ -399,14 +399,88 @@ checking engine in Vim, for various reasons: another program or library would be acceptable. But the word lists probably differ, the suggestions may be wrong words. + +Spelling suggestions *develop-spell-suggestions* + +For making suggestions there are two basic mechanisms: +1. Try changing the bad word a little bit and check for a match with a good + word. Or go through the list of good words, change them a little bit and + check for a match with the bad word. The changes are deleting a character, + inserting a character, swapping two characters, etc. +2. Perform soundfolding on both the bad word and the good words and then find + matches, possibly with a few changes like with the first mechanism. + +The first is good for finding typing mistakes. After experimenting with +hashtables and looking at solutions from other spell checkers the conclusion +was that a trie (a kind of tree structure) is ideal for this. Both for +reducing memory use and being able to try sensible changes. For example, when +inserting a character only characters that lead to good words need to be +tried. Other mechanisms (with hashtables) need to try all possible letters at +every position in the word. Also, a hashtable has the requirement that word +boundaries are identified separately, while a trie does not require this. +That makes the mechanism a lot simpler. + +Soundfolding is useful when someone knows how the words sounds but doesn't +know how it is spelled. For example, the word "dictionary" might be written +as "daktonerie". The number of changes that the first method would need to +try is very big, it's hard to find the good word that way. After soundfolding +the words become "tktnr" and "tkxnry", these differ by only two letters. + +To find words by their soundfolded equivalent (soundalike word) we need a list +of all soundfolded words. A few experiments have been done to find out what +the best method is. Alternatives: +1. Do the sound folding on the fly when looking for suggestions. This means + walking through the trie of good words, soundfolding each word and + checking how different it is from the bad word. This is very efficient for + memory use, but takes a long time. On a fast PC it takes a couple of + seconds for English, which can be acceptable for interactive use. But for + some languages it takes more than ten seconds (e.g., German, Catalan), + which is unacceptable slow. For batch processing (automatic corrections) + it's to slow for all languages. +2. Use a trie for the soundfolded words, so that searching can be done just + like how it works without soundfolding. This requires remembering a list + of good words for each soundfolded word. This makes finding matches very + fast but requires quite a lot of memory, in the order of 1 to 10 Mbyte. + For some languages more than the original word list. +3. Like the second alternative, but reduce the amount of memory by using affix + compression and store only the soundfolded basic word. This is what Aspell + does. Disadvantage is that affixes need to be stripped from the bad word + before soundfolding it, which means that mistakes at the start and/or end + of the word will cause the mechanism to fail. Also, this becomes slow when + the bad word is quite different from the good word. + +The choice made is to use the second mechanism and use a separate file. This +way a user with sufficient memory can get very good suggestions while a user +who is short of memory or just wants the spell checking and no suggestions +doesn't use so much memory. + + +Word frequency + +For sorting suggestions it helps to know which words are common. In theory we +could store a word frequency with the word in the dictionary. However, this +requires storing a count per word. That degrades word tree compression a lot. +And maintaining the word frequency for all languages will be a heavy task. +Also, it would be nice to prefer words that are already in the text. This way +the words that appear in the specific text are preferred for suggestions. + +What has been implemented is to count words that have been seen during +displaying. A hashtable is used to quickly find the word count. The count is +initialized from words listed in COMMON items in the affix file, so that it +also works when starting a new file. + +This isn't ideal, because the longer Vim is running the higher the counts +become. But in practice it is a noticable improvement over not using the word +count. + ============================================================================== 4. Assumptions *design-assumptions* Size of variables: char 8 bit signed char_u 8 bit unsigned -int 16, 32 or 64 bit signed -unsigned 16, 32 or 64 bit unsigned +int 32 or 64 bit signed (16 might be possible with limited features) +unsigned 32 or 64 bit unsigned (16 as with ints) long 32 or 64 bit signed, can hold a pointer Note that some compilers cannot handle long lines or strings. The C89 diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 7d7058201..4c527e1a1 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.0aa. Last change: 2005 Dec 27 +*eval.txt* For Vim version 7.0aa. Last change: 2006 Jan 09 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1419,7 +1419,7 @@ v:swapchoice |SwapExists| autocommands can set this to the selected choice no SwapExists autocommand. The default is empty. *v:swapcommand* *swapcommand-variable* -v:swapcommand Normal mode ommand to be executed after a file has been +v:swapcommand Normal mode command to be executed after a file has been opened. Can be used for a |SwapExists| autocommand to have another Vim open the file and jump to the right place. For example, when jumping to a tag the value is ":tag tagname\r". @@ -4381,6 +4381,10 @@ system({expr} [, {input}]) *system()* *E677* The resulting error code can be found in |v:shell_error|. This function will fail in |restricted-mode|. + + Note that any wrong value in the options mentioned above may + make the function fail. It has also been reported to fail + when using a security agent application. Unlike ":!cmd" there is no automatic check for changed files. Use |:checktime| to force a check. @@ -6814,6 +6818,7 @@ These items are not allowed in the sandbox: - executing a shell command - reading or writing a file - jumping to another buffer or editing a file + - executing Python, Perl, etc. commands This is not guaranteed 100% secure, but it should block most attacks. *:san* *:sandbox* diff --git a/runtime/doc/if_mzsch.txt b/runtime/doc/if_mzsch.txt index 0580891e2..d0fd793a2 100644 --- a/runtime/doc/if_mzsch.txt +++ b/runtime/doc/if_mzsch.txt @@ -1,4 +1,4 @@ -*if_mzsch.txt* For Vim version 7.0aa. Last change: 2005 May 08 +*if_mzsch.txt* For Vim version 7.0aa. Last change: 2006 Jan 05 VIM REFERENCE MANUAL by Sergey Khorev @@ -10,6 +10,7 @@ The MzScheme Interface to Vim *mzscheme* *MzScheme* 2. Examples |mzscheme-examples| 3. Threads |mzscheme-threads| 4. The Vim access procedures |mzscheme-vim| +5. Dynamic loading |mzscheme-dynamic| {Vi does not have any of these commands} @@ -243,5 +244,23 @@ Windows *mzscheme-window* a pair (linenr . column). (set-cursor (line . col) [window]) Set cursor position. +============================================================================== +5. Dynamic loading *mzscheme-dynamic* + +On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version| +output then includes |+mzscheme/dyn|. + +This means that Vim will search for the MzScheme DLL files only when needed. +When you don't use the MzScheme interface you don't need them, thus you can +use Vim without these DLL files. + +To use the MzScheme interface the MzScheme DLLs must be in your search path. +In a console window type "path" to see what directories are used. + +The names of the DLLs must match the MzScheme version Vim was compiled with. +For MzScheme version 209 they will be "libmzsch209_000.dll" and +"libmzgc209_000.dll". To know for sure edit "gvim.exe" and search for +"libmzsch\d\d\d_\d\d\d\.dll\c". + ====================================================================== vim:tw=78:ts=8:sts=4:ft=help:norl: diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt index 6c5037c88..96a6c612d 100644 --- a/runtime/doc/index.txt +++ b/runtime/doc/index.txt @@ -1,4 +1,4 @@ -*index.txt* For Vim version 7.0aa. Last change: 2005 Dec 23 +*index.txt* For Vim version 7.0aa. Last change: 2006 Jan 11 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1069,7 +1069,8 @@ The commands are sorted on the non-optional part of their name. |:cNfile| :cNf[ile] go to last error in previous file |:cabbrev| :ca[bbrev] like ":abbreviate" but for Command-line mode |:cabclear| :cabc[lear] clear all abbreviations for Command-line mode -|:caddfile| :cad[dfile] add error message to current quickfix list +|:caddexpr| :cad[dexpr] add errors from expr +|:caddfile| :caddf[ile] add error message to current quickfix list |:call| :cal[l] call a function |:catch| :cat[ch] part of a :try command |:cbuffer| :cb[uffer] parse error messages and jump to first error diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt index f7db100cb..0a28038dc 100644 --- a/runtime/doc/insert.txt +++ b/runtime/doc/insert.txt @@ -1,4 +1,4 @@ -*insert.txt* For Vim version 7.0aa. Last change: 2005 Dec 28 +*insert.txt* For Vim version 7.0aa. Last change: 2006 Jan 08 VIM REFERENCE MANUAL by Bram Moolenaar @@ -354,7 +354,7 @@ CTRL-G CTRL-J cursor one line down, insert start column *i_CTRL-G_CTRL-J* scroll three lines up *i_* scroll a full page up *i_* CTRL-O execute one command, return to Insert mode *i_CTRL-O* -CTRL-\ CTRL-O like CTRL-O but don't move the cursor *i_CTRL-\_CTRL-O* +CTRL-\ CTRL-O like CTRL-O but don't move the cursor *i_CTRL-\_CTRL-O* CTRL-L when 'insertmode' is set: go to Normal mode *i_CTRL-L* CTRL-G u break undo sequence, start new change *i_CTRL-G_u* ----------------------------------------------------------------------- @@ -963,8 +963,8 @@ The menu is used when: While the menu is displayed these keys have a special meaning: and : Accept the currently selected match -: Select the previous match, as if CTRL-P was used -: Select the next match, as if CTRL-N was used +: Select the previous match, as if CTRL-P was used +: Select the next match, as if CTRL-N was used : Select a match several entries back : Select a match several entries further @@ -1010,14 +1010,14 @@ When the same structure name appears in multiple places all possible members are included. -CSS *ft-css-omni* +CSS *ft-css-omni* Complete properties and their appropriate values according to CSS 2.1 specification. -(X)HTML *ft-html-omni* - *ft-xhtml-omni* +(X)HTML *ft-html-omni* + *ft-xhtml-omni* CTRL-X CTRL-O provides completion of various elements of (X)HTML files. It is designed to support writing of XHTML 1.0 Strict files but will @@ -1040,7 +1040,26 @@ Note: When used first time completion menu will be shown with little delay - this is time needed for loading of data file. -XML *ft-xml-omni* +SYNTAX *ft-syntax-omni* + +This uses the current syntax highlighting for completion. It can be used for +any filetype and provides a minimal language-sensitive completion. + +To enable code completion do: > + source $VIMRUNTIME/autoload/syntaxcomplete.vim + +You can automate this by placing this in your vimrc (after any ":filetype" +command): > + autocmd Filetype * + \ if exists('&ofu') && &ofu == "" | + \ source $VIMRUNTIME/autoload/syntaxcomplete.vim | + \ endif + +The above will set completion to this script only if a proper one does not +already exist for that filetype. + + +XML *ft-xml-omni* Vim 7 provides mechanism to context aware completion of XML files. It depends on special |xml-omni-datafile| and two commands: |:XMLns| and |:XMLent|. @@ -1056,7 +1075,7 @@ Features are: with " :XMLns xsl xsl -:XMLent {name} *:XMLent* +:XMLent {name} *:XMLent* By default entities will be completed from data file of default namespace. XMLent command should be used in case when there is no default namespace: > - :XMLent xhtml10s + :XMLent xhtml10s Usage While used in situation (after declarations from previous part, | is cursor position): > - <| + <| Will complete to appropriate XHTML tag, and in this situation: > - - :echo xmlcomplete#GetLastOpenTag("b:unaryTagsStack") + :echo xmlcomplete#GetLastOpenTag("b:unaryTagsStack") diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt index 90ebe06eb..85155b439 100644 --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -1,4 +1,4 @@ -*map.txt* For Vim version 7.0aa. Last change: 2005 Dec 17 +*map.txt* For Vim version 7.0aa. Last change: 2006 Jan 09 VIM REFERENCE MANUAL by Bram Moolenaar @@ -946,11 +946,10 @@ local function or uses a local mapping. Otherwise, using "" outside of a script context is an error. If you need to get the script number to use in a complicated script, you can -use this trick: > - :map xx xx - :let s:sid = maparg("xx") - :unmap xx -And remove the trailing "xx". +use this function: > + function s:SID() + return matchstr(expand(''), '\zs\d\+\ze_SID$') + endfun The "" will be shown when listing functions and mappings. This is useful to find out what they are defined to. diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt index c64b4540b..bb94867b3 100644 --- a/runtime/doc/message.txt +++ b/runtime/doc/message.txt @@ -1,4 +1,4 @@ -*message.txt* For Vim version 7.0aa. Last change: 2005 Oct 10 +*message.txt* For Vim version 7.0aa. Last change: 2006 Jan 08 VIM REFERENCE MANUAL by Bram Moolenaar @@ -19,7 +19,8 @@ The ":messages" command can be used to view previously given messages. This is especially useful when messages have been overwritten or truncated. This depends on the 'shortmess' option. -The number of remembered messages is fixed at 20. +The number of remembered messages is fixed at 20 for the tiny version and 100 +for other versions. *g<* The "g<" command can be used to see the last page of previous command output. diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt index dd95b6cc6..5570d7303 100644 --- a/runtime/doc/motion.txt +++ b/runtime/doc/motion.txt @@ -1,4 +1,4 @@ -*motion.txt* For Vim version 7.0aa. Last change: 2005 Dec 12 +*motion.txt* For Vim version 7.0aa. Last change: 2006 Jan 02 VIM REFERENCE MANUAL by Bram Moolenaar @@ -386,10 +386,11 @@ These commands move over words or WORDS. *word* A word consists of a sequence of letters, digits and underscores, or a sequence of other non-blank characters, separated with white space (spaces, -tabs, ). This can be changed with the 'iskeyword' option. +tabs, ). This can be changed with the 'iskeyword' option. An empty line +is also considered to be a word. *WORD* A WORD consists of a sequence of non-blank characters, separated with white -space. An empty line is also considered to be a word and a WORD. +space. An empty line is also considered to be a WORD. A sequence of folded lines is counted for one word of a single character. "w" and "W", "e" and "E" move to the start/end of the first word or WORD after diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index e121a77c6..c6535366d 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.0aa. Last change: 2005 Dec 29 +*options.txt* For Vim version 7.0aa. Last change: 2006 Jan 04 VIM REFERENCE MANUAL by Bram Moolenaar @@ -4597,12 +4597,12 @@ A jump table for the options with a short description can be found at |Q_op|. This defines what bases Vim will consider for numbers when using the CTRL-A and CTRL-X commands for adding to and subtracting from a number respectively; see |CTRL-A| for more info on these commands. - alpha if included, single alphabetical characters will be + alpha If included, single alphabetical characters will be incremented or decremented. This is useful for a list with a letter index a), b), etc. - octal if included, numbers that start with a zero will be considered + octal If included, numbers that start with a zero will be considered to be octal. Example: Using CTRL-A on "007" results in "010". - hex if included, numbers starting with "0x" or "0X" will be + hex If included, numbers starting with "0x" or "0X" will be considered to be hexadecimal. Example: Using CTRL-X on "0x100" results in "0x0ff". Numbers which simply begin with a digit in the range 1-9 are always @@ -6050,6 +6050,7 @@ A jump table for the options with a short description can be found at |Q_op|. a S Argument list status as in default title. ({current} of {max}) Empty if the argument file count is zero or one. { NF Evaluate expression between '{' and '}' and substitute result. + Note that there is no '%' before the closing '}'. ( - Start of item group. Can be used for setting the width and alignment of a section. Must be followed by %) somewhere. ) - End of item group. No width fields allowed. diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt index 2cc592189..191a8d587 100644 --- a/runtime/doc/pattern.txt +++ b/runtime/doc/pattern.txt @@ -1,4 +1,4 @@ -*pattern.txt* For Vim version 7.0aa. Last change: 2005 Sep 12 +*pattern.txt* For Vim version 7.0aa. Last change: 2006 Jan 05 VIM REFERENCE MANUAL by Bram Moolenaar @@ -256,9 +256,13 @@ switched off by setting the 's' flag in the 'shortmess' option. The highlight method 'w' is used for this message (default: standout). *search-range* -You cannot limit the search command "/" to a certain range of lines. A trick -to do this anyway is to use the ":substitute" command with the 'c' flag. -Example: > +You can limit the search command "/" to a certain range of lines by including +\%>l items. For example, to match the word "limit" below line 199 and above +line 300: > + /\%>199l\%<300llimit +Also see |/\%>l|. + +Another way is to use the ":substitute" command with the 'c' flag. Example: > :.,300s/Pattern//gc This command will search from the cursor position until line 300 for "Pattern". At the match, you will be asked to type a character. Type 'q' to @@ -800,8 +804,8 @@ $ At end of pattern or in front of "\|" or "\)" ("|" or ")" after "\v"): */\%l* */\%>l* */\%23l Matches below a specific line. +\%<23l Matches above a specific line (lower line number). +\%>23l Matches below a specific line (higher line number). These three can be used to match specific lines in a buffer. The "23" can be any line number. The first line is 1. {not in Vi} WARNING: When inserting or deleting lines Vim does not automatically diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt index 0049a5464..09eccb52e 100644 --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -1,4 +1,4 @@ -*quickfix.txt* For Vim version 7.0aa. Last change: 2005 Sep 27 +*quickfix.txt* For Vim version 7.0aa. Last change: 2006 Jan 11 VIM REFERENCE MANUAL by Bram Moolenaar @@ -110,8 +110,8 @@ The following quickfix commands can be used: Read the error file. Just like ":cfile" but don't jump to the first error. - *:cad* *:caddfile* -:cad[dfile] [errorfile] Read the error file and add the errors from the + *:caddf* *:caddfile* +:caddf[ile] [errorfile] Read the error file and add the errors from the errorfile to the current quickfix list. If a quickfix list is not present, then a new list is created. @@ -124,17 +124,27 @@ The following quickfix commands can be used: Otherwise all lines in the buffer are used. *:cex* *:cexpr* -:cex[pr][!] {expr} Create a quickfix list using the result of {expr}. - If {expr} is a String, then each new-line terminated - line in the String is processed using 'errorformat' - and the result is added to the quickfix list. - If {expr} is a List, then each String item in the list - is processed and added to the quickfix list. - Non String items in the List are ignored. See |:cc| +:cex[pr][!] {expr} Create a quickfix list using the result of {expr} and + jump to the first error. If {expr} is a String, then + each new-line terminated line in the String is + processed using 'errorformat' and the result is added + to the quickfix list. If {expr} is a List, then each + String item in the list is processed and added to the + quickfix list. Non String items in the List are + ignored. See |:cc| for [!]. Examples: > :cexpr system('grep -n xyz *') :cexpr getline(1, '$') +< + *:cad* *:caddexpr* +:cad[dexpr][!] {expr} Evaluate {expr} and add the resulting lines to the + current quickfix list. If a quickfix list is not + present, then a new list is created. The current + cursor position will not be changed. See |:cexpr| for + more information. + Example: > + :g/mypattern/caddexpr expand("%") . ":" . line(".") . ":" . getline(".") < *:cl* *:clist* :cl[ist] [from] [, [to]] diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt index 687e5cff5..251fcc2b5 100644 --- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -1,4 +1,4 @@ -*quickref.txt* For Vim version 7.0aa. Last change: 2005 Dec 12 +*quickref.txt* For Vim version 7.0aa. Last change: 2006 Jan 11 VIM REFERENCE MANUAL by Bram Moolenaar @@ -938,7 +938,9 @@ Short explanation of each option: *option-list* |:clist| :cl list all errors |:cfile| :cf read errors from the file 'errorfile' |:cgetfile| :cg like :cfile but don't jump to the first error -|:caddfile| :cad add errors from the error file to the current +|:caddfile| :caddf add errors from the error file to the current + quickfix list +|:caddexpr| :cad add errors from an expression to the current quickfix list |:cbuffer| :cb read errors from text in a buffer |:cexpr| :cex read errors from an expression diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt index 101e9b518..a2989d783 100644 --- a/runtime/doc/spell.txt +++ b/runtime/doc/spell.txt @@ -1,4 +1,4 @@ -*spell.txt* For Vim version 7.0aa. Last change: 2005 Dec 29 +*spell.txt* For Vim version 7.0aa. Last change: 2006 Jan 11 VIM REFERENCE MANUAL by Bram Moolenaar @@ -172,6 +172,12 @@ When there is a line break right after a sentence the highlighting of the next line may be postponed. Use |CTRL-L| when needed. Also see |set-spc-auto| for how it can be set automatically when 'spelllang' is set. +Vim counts the number of times a good word is encountered. This is used to +sort the suggestions: words that have been seen before get a small bonus, +words that have been seen often get a bigger bonus. The COMMON item in the +affix file can be used to define common words, so that this mechanism also +works in a new or short file |spell-COMMON|. + ============================================================================== 2. Remarks on spell checking *spell-remarks* @@ -296,6 +302,11 @@ A spell file might not be available in the current 'encoding'. See |spell-mkspell| about how to create a spell file. Converting a spell file with "iconv" will NOT work! + *spell-sug-file* +If there is a file with exactly the same name as the ".spl" file but ending in +".sug", that file will be used for giving better suggestions. It isn't loaded +before suggestions are made to reduce memory use. + *E758* *E759* When loading a spell file Vim checks that it is properly formatted. If you get an error the file may be truncated, modified or intended for another Vim @@ -531,6 +542,11 @@ used spelling files, use this command: Note: For some languages the result may be enormous, causing Vim to run out of memory. +:spelld[ump]! Like ":spelldump" and include the word count. This is + the number of times the word was found while + updating the screen. Words that are in COMMON items + get a starting count of 10. + The format of the word list is used |spell-wordlist-format|. You should be able to read it with ":mkspell" to generate one .spl file that includes all the words. @@ -569,13 +585,16 @@ Additionally the following items are recognized: - Empty and blank lines are ignored. + # comment ~ - Lines starting with a # are ignored (comment lines). + /encoding=utf-8 ~ - A line starting with "/encoding=", before any word, specifies the encoding of the file. After the second '=' comes an encoding name. This tells Vim to setup conversion from the specified encoding to 'encoding'. Thus you can use one word list for several target encodings. + /regions=usca ~ - A line starting with "/regions=" specifies the region names that are supported. Each region name must be two ASCII letters. The first one is region 1. Thus "/regions=usca" has region 1 "us" and region 2 "ca". @@ -583,7 +602,8 @@ Additionally the following items are recognized: list! - Other lines starting with '/' are reserved for future use. The ones that - are not recognized are ignored (but you do get a warning message). + are not recognized are ignored. You do get a warning message, so that you + know something won't work. - A "/" may follow the word with the following items: = Case must match exactly. @@ -608,17 +628,18 @@ accepted. This is different from a word with mixed case that is automatically marked as keep-case, those words may appear in all upper-case letters. -FORMAT WITH AFFIX COMPRESSION +FORMAT WITH .AFF and .DIC FILES -There are two files: the basic word list and an affix file. The affixes are +There are two files: the basic word list and an affix file. The affix file +specifies settings for the language and can contain affixes. The affixes are used to modify the basic words to get the full word list. This significantly reduces the number of words, especially for a language like Polish. This is called affix compression. -The basic word list and the affix file are combined and turned into a binary -spell file. All the preprocessing has been done, thus this file loads fast. -The binary spell file format is described in the source code (src/spell.c). -But only developers need to know about it. +The basic word list and the affix file are combined with the ":mkspell" +command and results in a binary spell file. All the preprocessing has been +done, thus this file loads fast. The binary spell file format is described in +the source code (src/spell.c). But only developers need to know about it. The preprocessing also allows us to take the Myspell language files and modify them before the Vim word list is made. The tools for this can be found in the @@ -630,39 +651,47 @@ here: http://lingucomponent.openoffice.org/affix.readme ~ Note that affixes are case sensitive, this isn't obvious from the description. -Vim does not use the TRY item, it is ignored. For making suggestions the -possible characters in the words are used. - Vim supports quite a few extras. They are described below |spell-affix-vim|. Attempts have been made to keep this compatible with other spell checkers, so -that the same files can be used. +that the same files can often be used. One other project that offers more +than Myspell is Hunspell ( http://hunspell.sf.net ). WORD LIST FORMAT *spell-dic-format* -A very short example, with line numbers: - - 1 1234 - 2 aan - 3 Als - 4 Etten-Leur - 5 et al. - 6 's-Gravenhage - 7 's-Gravenhaags - 8 bedel/P - 9 kado/1 - 10 cadeau/2 - 11 TCP,IP +A short example, with line numbers: + + 1 1234 ~ + 2 aan ~ + 3 Als ~ + 4 Etten-Leur ~ + 5 et al. ~ + 6 's-Gravenhage ~ + 7 's-Gravenhaags ~ + 8 # word that differs between regions ~ + 9 kado/1 ~ + 10 cadeau/2 ~ + 11 TCP,IP ~ + 12 /the S affix may add a 's' ~ + 13 bedel/S ~ The first line contains the number of words. Vim ignores it, but you do get an error message if it's not there. *E760* -What follows is one word per line. There should be no white space before or -after the word. After the word there is an optional slash and flags. Most of -these flags are letters that indicate the affixes that can be used with this -word. These are specified with SFX and PFX lines in the .aff file. See the -Myspell documentation. Vim allows using other flag types with the FLAG item -in the affix file |spell-FLAG|. +What follows is one word per line. White space at the end of the line is +ignored, all other white space matters. The encoding is specified in the +affix file |spell-SET|. + +Comment lines start with '#' or '/'. See the example lines 8 and 12. Note +that putting a comment after a word is NOT allowed: + + someword # comment that causes an error! ~ + +After the word there is an optional slash and flags. Most of these flags are +letters that indicate the affixes that can be used with this word. These are +specified with SFX and PFX lines in the .aff file, see |spell-SFX| and +|spell-PFX|. Vim allows using other flag types with the FLAG item in the +affix file |spell-FLAG|. When the word only has lower-case letters it will also match with the word starting with an upper-case letter. @@ -672,7 +701,7 @@ is required at this position. The same word with a lower-case letter at this position will not match. When some of the other letters are upper-case it will not match either. -The word with all upper-case characters will always be OK. +The word with all upper-case characters will always be OK, word list matches does not match ~ als als Als ALS ALs AlS aLs aLS @@ -683,46 +712,57 @@ The word with all upper-case characters will always be OK. The KEEPCASE affix ID can be used to specifically match a word with identical case only, see below |spell-KEEPCASE|. -Note in line 5 to 7 that non-word characters are used. You can include -any character in a word. When checking the text a word still only matches -when it appears with a non-word character before and after it. For Myspell a -word starting with a non-word character probably won't work. +Note: in line 5 to 7 non-word characters are used. You can include any +character in a word. When checking the text a word still only matches when it +appears with a non-word character before and after it. For Myspell a word +starting with a non-word character probably won't work. In line 12 the word "TCP/IP" is defined. Since the slash has a special meaning the comma is used instead. This is defined with the SLASH item in the -affix file, see |spell-SLASH|. Note that without this SLASH item the -word will be "TCP,IP". +affix file, see |spell-SLASH|. Note that without this SLASH item the word +will be "TCP,IP". - *spell-affix-vim* -A flag that Vim adds and is not in Myspell is the flag defined with KEEPCASE -in the affix file. This has the meaning that case matters. This can be used -if the word does not have the first letter in upper case at the start of a -sentence. Example (assuming that = was used for KEEPCASE): - word list matches does not match ~ - 's morgens/= 's morgens 'S morgens 's Morgens 'S MORGENS - 's Morgens 's Morgens 'S MORGENS 'S morgens 's morgens +AFFIX FILE FORMAT *spell-aff-format* *spell-affix-vim* -The flag can also be used to avoid that the word matches when it is in all -upper-case letters. + *spell-affix-comment* +Comment lines in the .aff file start with a '#': + + # comment line ~ +With some items it's also possible to put a comment after it, but this isn't +supported in general. + + +ENCODING *spell-SET* + +The affix file can be in any encoding that is supported by "iconv". However, +in some cases the current locale should also be set properly at the time +|:mkspell| is invoked. Adding FOL/LOW/UPP lines removes this requirement +|spell-FOL|. + +The encoding should be specified before anything where the encoding matters. +The encoding applies both to the affix file and the dictionary file. It is +done with a SET line: + + SET utf-8 ~ + +The encoding can be different from the value of the 'encoding' option at the +time ":mkspell" is used. Vim will then convert everything to 'encoding' and +generate a spell file for 'encoding'. If some of the used characters to not +fit in 'encoding' you will get an error message. *spell-affix-mbyte* -The basic word list is normally in an 8-bit encoding, which is mentioned in -the affix file. The affix file must always be in the same encoding as the -word list. This is compatible with Myspell. For Vim the encoding may also be -something else, any encoding that "iconv" supports. The "SET" line must -specify the name of the encoding. When using a multi-byte encoding it's -possible to use more different affixes (but Myspell doesn't support that, thus -you may not want to use it anyway). +When using a multi-byte encoding it's possible to use more different affix +flags. But Myspell doesn't support that, thus you may not want to use it +anyway. For compatibility use an 8-bit encoding. CHARACTER TABLES *spell-affix-chars* When using an 8-bit encoding the affix file should define what characters are -word characters (as specified with ENC). This is because the system where -":mkspell" is used may not support a locale with this encoding and isalpha() -won't work. For example when using "cp1250" on Unix. - +word characters. This is because the system where ":mkspell" is used may not +support a locale with this encoding and isalpha() won't work. For example +when using "cp1250" on Unix. *E761* *E762* *spell-FOL* *spell-LOW* *spell-UPP* Three lines in the affix file are needed. Simplistic example: @@ -774,7 +814,7 @@ the word. This is needed to detect a spelling error such as they'are. That should be they're, but since "they" and "are" are words themselves that would go unnoticed. -These characters are defined with MIDWORD in the .aff file: +These characters are defined with MIDWORD in the .aff file. Example: MIDWORD '- ~ @@ -808,9 +848,58 @@ The usual PFX (prefix) and SFX (suffix) lines are supported (see the Myspell documentation or the Aspell manual: http://aspell.net/man-html/Affix-Compression.html). -Note that Myspell ignores any extra text after the relevant info. Vim -requires this text to start with a "#" so that mistakes don't go unnoticed. -Example: +Summary: + SFX L Y 2 ~ + SFX L 0 re [^x] ~ + SFX L 0 ro x ~ + +The first line is a header and has four fields: + SFX {flag} {combine} {count} + +{flag} The name used for the suffix. Mostly it's a single letter, + but other characters can be used, see |spell-FLAG|. + +{combine} Can be 'Y' or 'N'. When 'Y' then the word plus suffix can + also have a prefix. When 'N' then a prefix is not allowed. + +{count} The number of lines following. If this is wrong you will get + an error message. + +For PFX the fields are exactly the same. + +The basic format for the following lines is: + SFX {flag} {strip} {add} {condition} + +{flag} Must be the same as the {flag} used in the first line. + +{strip} Characters removed from the basic word. There is no check if + the characters are actually there, only the length is used (in + bytes). This better match the {condition}, otherwise strange + things may happen. If the {strip} length is equal to or + longer than the basic word the suffix won't be used. + When {strip} is 0 (zero) then nothing is stripped. + +{add} Characters added to the basic word, after removing {strip}. + +{condition} A simplistic pattern. Only when this matches with a basic + word will the suffix be used for that word. This is normally + for using one suffix letter with different {add} and {strip} + fields for words with different endings. + When {condition} is a . (dot) there is no condition. + The pattern may contain: + - Literal characters. + - A set of characters in []. [abc] matches a, b and c. + A dash is allowed for a range [a-c], but this is + Vim-specific. + - A set of characters that starts with a ^, meaning the + complement of the specified characters. [^abc] matches any + character but a, b and c. + +For PFX the fields are the same, but the {strip}, {add} and {condition} apply +to the start of the word. + +Note: Myspell ignores any extra text after the relevant info. Vim requires +this text to start with a "#" so that mistakes don't go unnoticed. Example: SFX F 0 in [^i]n # Spion > Spionin ~ SFX F 0 nen in # Bauerin > Bauerinnen ~ @@ -826,16 +915,49 @@ Myspell that use this feature apparently have this flag. Example: SFX a 0 en . ~ SFX a 0 on . ~ + +AFFIX FLAGS *spell-affix-flags* + +This is a feature that comes from Hunspell: The affix may specify flags. This +works similar to flags specified on a basic word. The flags apply to the +basic word plus the affix. Example: + + SFX S Y 1 ~ + SFX S 0 s . ~ + + SFX A Y 1 ~ + SFX A 0 able/S . ~ + +When the dictionary file contains "drink/AS" then these words are possible: + + drink + drinks uses S suffix + drinkable uses A suffix + drinkables uses A suffix and then S suffix + +Generally the flags of the suffix are added to the flags of the basic word, +both are used for the word plus suffix. But the flags of the basic word are +only used once for affixes, except that both one prefix and one suffix can be +used when both support combining. + +Specifically, the affix flags can be used for: +- Affixes on affixes, as in the example above. +- Making the word with the affix rare, by using the |spell-RARE| flag. +- Exclude the word with the affix from compounding, by using the + |spell-COMPOUNDFORBIDFLAG| flag. + +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +OLD STUFF *spell-affix-rare* An extra item for Vim is the "rare" flag. It must come after the other fields, before a comment. When used then all words that use the affix will be -marked as rare words. Example: +marked as rare words. Examples: PFX F 0 nene . rare ~ SFX F 0 oin n rare # hardly ever used ~ -However, if the word also appears as a good word in another way it won't be -marked as rare. +However, if the word also appears as a good word in another way (e.g., in +another region) it won't be marked as rare. *spell-affix-nocomp* Another extra item for Vim is the "nocomp" flag. It must come after the other @@ -852,6 +974,7 @@ Example: util/ac ~ This allows for "wordutil" and "wordutils" but not "wordutilize". +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- *spell-PFXPOSTPONE* When an affix file has very many prefixes that apply to many words it's not @@ -891,7 +1014,16 @@ for keep-case words. Example: KEEPCASE = ~ -See above for an example |spell-affix-vim|. +This flag is not supported by Myspell. It has the meaning that case matters. +This can be used if the word does not have the first letter in upper case at +the start of a sentence. Example: + + word list matches does not match ~ + 's morgens/= 's morgens 'S morgens 's Morgens 'S MORGENS + 's Morgens 's Morgens 'S MORGENS 'S morgens 's morgens + +The flag can also be used to avoid that the word matches when it is in all +upper-case letters. RARE WORDS *spell-RARE* @@ -922,18 +1054,15 @@ This can be used to exclude words that would otherwise be good. For example Once a word has been marked as bad it won't be undone by encountering the same word as good. +The flag also applies to the word with affixes, thus this can be used to mark +a whole bunch of related words as bad. + *spell-NEEDAFFIX* The NEEDAFFIX flag is used to require that a word is used with an affix. The -word itself is not a good word. Example: +word itself is not a good word (unless there is an empty affix). Example: NEEDAFFIX + ~ - *spell-NEEDCOMPOUND* -The NEEDCOMPOUND flag is used to require that a word is used as part of a -compound word The word itself is not a good word. Example: - - NEEDCOMPOUND & ~ - COMPOUND WORDS *spell-compound* @@ -944,8 +1073,8 @@ call this character a flag here. Obviously these flags must be different from any affix IDs used. *spell-COMPOUNDFLAG* -The Myspell compatible method uses one flag, specified with COMPOUNDFLAG. -All words with this flag combine in any order. This means there is no control +The Myspell compatible method uses one flag, specified with COMPOUNDFLAG. All +words with this flag combine in any order. This means there is no control over which word comes first. Example: COMPOUNDFLAG c ~ @@ -1006,6 +1135,12 @@ A specific example: Allow a compound to be made of two words and a dash: This allows for the word "start-end", but not "startend". + *spell-NEEDCOMPOUND* +The NEEDCOMPOUND flag is used to require that a word is used as part of a +compound word. The word itself is not a good word. Example: + + NEEDCOMPOUND & ~ + *spell-COMPOUNDMIN* The minimal character length of a word used for compounding is specified with COMPOUNDMIN. Example: @@ -1037,6 +1172,17 @@ If both COMPOUNDMAX 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. + *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 +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-SYLLABLE* The SYLLABLE item defines characters or character sequences that are used to count the number of syllables in a word. Example: @@ -1105,6 +1251,30 @@ lists that support this. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + *spell-COMMON* +Common words can be specified with the COMMON item. This will give better +suggestions when editing a short file. Example: + + COMMON the of to and a in is it you that he was for on are ~ + +The words must be separated by white space, up to 25 per line. +When multiple regions are specified in a ":mkspell" command the common words +for all regions are combined and used for all regions. + + *spell-NOSPLITSUGS* +This item indicates that suggestions for splitting a word will not appear: + + NOSPLITSUGS ~ + + *spell-NOSUGGEST* +The flag specified with NOSUGGEST can be used for words that will not be +suggested. Can be used for obscene words. + + NOSUGGEST % ~ + +NOT IMPLEMENTED YET. + + REPLACEMENTS *spell-REP* In the affix file REP items can be used to define common mistakes. This is @@ -1118,7 +1288,7 @@ used to make spelling suggestions. The items define the "from" text and the REP ch k ~ The first line specifies the number of REP lines following. Vim ignores the -number, but it must be there. +number, but it must be there (for compatibility with Myspell). Don't include simple one-character replacements or swaps. Vim will try these anyway. You can include whole words if you want to, but you might want to use @@ -1146,6 +1316,17 @@ Each letter must appear in only one of the MAP items. It's a bit more efficient if the first letter is ASCII or at least one without accents. +.SUG FILE *spell-NOSUGFILE* + +When soundfolding is specified in the affix file then ":mkspell" will normally +p ~ ~roduce a .sug file next to the .spl file. This used to find suggestions by +their sound-a-like form quickly. At the cost of a lot of memory. + +To avoid producing a .sug file use this item in the affix file: + + NOSUGFILE ~ + + SOUND-A-LIKE *spell-SAL* In the affix file SAL items can be used to define the sounds-a-like mechanism @@ -1197,4 +1378,105 @@ You can use the |soundfold()| function to try out the results. Or set the 'verbose' option to see the score in the output of the |z=| command. +UNSUPPORTED ITEMS *spell-affix-not-supported* + +These items appear in the affix file of other spell checkers. In Vim they are +ignored, not supported or defined in another way. + +ACCENT (Hunspell) *spell-ACCENT* + Use MAP instead. |spell-MAP| + +CHECKCOMPOUNDCASE (Hunspell) *spell-CHECKCOMPOUNDCASE* + Disallow uppercase letters at compound word boundaries. + Not supported. + +CHECKCOMPOUNDDUP (Hunspell) *spell-CHECKCOMPOUNDDUP* + Disallow using the same word twice in a compound. Not + supported. + +CHECKCOMPOUNDREP (Hunspell) *spell-CHECKCOMPOUNDREP* + Something about using REP items and compound words. Not + supported. + +CHECKCOMPOUNDTRIPLE (Hunspell) *spell-CHECKCOMPOUNDTRIPLE* + Forbid three identical characters when compounding. Not + supported. + +CHECKCOMPOUNDPATTERN (Hunspell) *spell-CHECKCOMPOUNDPATTERN* + Forbid compounding when patterns match. Not supported. + +CIRCUMFIX (Hunspell) *spell-CIRCUMFIX* + This means a prefix and suffix must be added at the same time. + Instead only specify the suffix, and give the that suffix two + flags: The required prefix and the NEEDAFFIX flag. + |spell-NEEDAFFIX| + +COMPLEXPREFIXES (Hunspell) *spell-COMPLEXPREFIXES* + Enables using two prefixes. Not supported. + +COMPOUNDBEGIN (Hunspell) *spell-COMPOUNDBEGIN* + Use COMPOUNDFLAGS instead. |spell-COMPOUNDFLAGS| + +COMPOUNDEND (Hunspell) *spell-COMPOUNDEND* + Use COMPOUNDFLAGS instead. |spell-COMPOUNDFLAGS| + +COMPOUNDMIDDLE (Hunspell) *spell-COMPOUNDMIDDLE* + Use COMPOUNDFLAGS instead. |spell-COMPOUNDFLAGS| + +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| + +HOME (Hunspell) *spell-HOME* + Specifies the website for the language. Not supported. + +LANG (Hunspell) *spell-LANG* + This specifies language-specific behavior. This actually + moves part of the language knowledge into the program, + therefore Vim does not support it. Each language property + must be specified separately. + +LEMMA_PRESENT (Hunspell) *spell-LEMMA_PRESENT* + Only needed for mprphological analysis. + +MAXNGRAMSUGS (Hunspell) *spell-MAXNGRAMSUGS* + Not supported. + +NAME (Hunspell) *spell-NAME* + Specifies the name of the language. Not supported. + +ONLYINCOMPOUND (Hunspell) *spell-ONLYINCOMPOUND* + Use NEEDCOMPOUND instead. |spell-NEEDCOMPOUND| + +PSEUDOROOT (Hunspell) *spell-PSEUDOROOT* + Use NEEDAFFIX instead. |spell-NEEDAFFIX| + +SUGSWITHDOTS (Hunspell) *spell-SUGSWITHDOTS* + Adds dots to suggestions. Vim doesn't need this. + +SYLLABLENUM (Hunspell) *spell-SYLLABLENUM* + Not supported. + +TRY (Myspell, Hunspell, others) *spell-TRY* + Vim does not use the TRY item, it is ignored. For making + suggestions the actual characters in the words are used. + +VERSION (Hunspell) *spell-VERSION* + Specifies the version for the language. Not supported. + +WORDCHARS (Hunspell) *spell-WORDCHARS* + Used to recognize words. Vim doesn't need it, because there + is no need to separate words before checking them (using a + trie instead of a hashtable). + vim:tw=78:sw=4:ts=8:ft=help:norl: diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index 02a4ea016..2ded3f2eb 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 7.0aa. Last change: 2005 Nov 30 +*syntax.txt* For Vim version 7.0aa. Last change: 2005 Dec 31 VIM REFERENCE MANUAL by Bram Moolenaar @@ -3245,7 +3245,7 @@ A more complicated Example: > < abcfoostringbarabc mmmmmmmmmmm match - ssrrrreee highlight start/region/end ("Foo", "Exa" and "Bar") + sssrrreee highlight start/region/end ("Foo", "Exa" and "Bar") Leading context *:syn-lc* *:syn-leading* *:syn-context* diff --git a/runtime/doc/tags b/runtime/doc/tags index c2ec052d6..187a06e1b 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -1782,7 +1782,9 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME* :cabbrev map.txt /*:cabbrev* :cabc map.txt /*:cabc* :cabclear map.txt /*:cabclear* -:cad quickfix.txt /*:cad* +:cadde quickfix.txt /*:cadde* +:caddexpr quickfix.txt /*:caddexpr* +:caddf quickfix.txt /*:caddf* :caddfile quickfix.txt /*:caddfile* :cal eval.txt /*:cal* :call eval.txt /*:call* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 745e4b789..542e6f133 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.0aa. Last change: 2005 Dec 29 +*todo.txt* For Vim version 7.0aa. Last change: 2006 Jan 12 VIM REFERENCE MANUAL by Bram Moolenaar @@ -30,25 +30,81 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. *known-bugs* -------------------- Known bugs and current work ----------------------- +Find E999 and hand out numbers. + +Compress list of word numbers: sort them, computer differences, store as utf-8 +bytes. + +Undo bug: Gerald Lai Jan 3. + +Syntax HL: when region start has an offset that happens to be after the end of +the line then strange things happen. (Brett Stahlman Dec 31) + +Add Python complete script (Aaron Griffin) + +Evaluating CTRL-R = in the sandbox causes trouble (G. Sumner Hayes). Can the +rules for the commandline window be used? + +Evaluate 'balloonexpr' in the sandbox only when it was set from an unsafe +place (e.g., modeline)? Patch from Sumner Hayes, Jan 12. Also use for other +options? + +":saveas asdf.c" should set 'filetype' to c when it's empty. Also for ":w +asdf.c" when it sets the buffer filename. + ccomplete: +- When using page-up/page-down in menu it sometimes jumps more than a page. - When an option is set: In completion mode and the user types (identifier) characters, advance to the first match instead of removing the popup menu. If there is no match remove the selection. (Yegappan Lakshmanan) - Complete the longest common match instead of the first match? For all kinds of completions? Configurable? -- Window resize when poup is displayed +- Window resize when poup is displayed. - When completing something that is a structure, add the "." or "->" right away. How to figure out if it's a pointer or not? - When a typedef or struct is local to a file only use it in that file? +- Extra info for each entry to show in a tooltip kind of thing. +- Special mappings for when the popup menu is visible? Would allow for making + a specific selection (e.g, methods vs variables). +- Provide a function to popup the menu, so that an insert mode mapping can + start it (with a specific selection). - !_TAG_FILE_FORMAT and it's ilk are listed in the global completions Can't reproduce it right now... spelling: -- Hunspell has NOSUGGEST flag (use for obscene words?) -- Check out Hunspell 1.1.2. +- NL woordenlijst naar Adri sturen. +- Include script to cleanup a .add file. (Antonio Colombo, Jan 9) +- suggestions for "macARONI" doesn't include "macaroni", they are all allcap. + suggestion for "KG" to "kg" when it's keepcase. +- Autocommand event for when a spell file is missing. Allows making a plugin + that fetches the file over internet. Pattern == language. +- Using KEEPCASE flag still allows all-upper word, docs say it doesn't. + Don't allow it, because there is no other way to do this. +- Implement NOSUGGEST flag (used for obscene words). +- Implement NOSPLITSUGS. +- Rename COMPOUNDFLAGS to COMPOUNDPATTERN or COMPOUNDRULE? + Hunspell now uses COMPOUND with a count. +- Check out Hunspell 1.1.3. + what does MAXNGRAMSUGS do? + See announcement (Nemeth, 5 jan) + use "\/" instead of SLASH item? + is COMPLEXPREFIXES necessary now that we have flags for affixes? - Look into hungarian dictionary: - http://magyarispell.sourceforge.net/rc3-beta2.zip -- Support breakpoint character · 0xb7 and ignore it? + http://magyarispell.sourceforge.net/hu_HU-1.0.tar.gz +- Support flags on a suffix. Used for second level affixes, rare and + nocomp. The flags may also be used for compounding. Default is an OR + mechanism with the flags of the word. Adding "compset" on the affixes + means the compound flags of the word are not used. + Instead of "SFX a 0 add/FLAGS ." we could use "SFX a 0 add . /FLAGS" (or + support both). +- When compounding Hunspell doesn't allow affixes inside the compound word, + only before and after it. COMPOUNDPERMITFLAG can be used to allow it. + Check Myspell and Aspell if they also work this way. + Thus a word + suffix needs a flag that it can't be used with a following + compound, and word + prefix can't be after another word in a compound. +- Implement COMPOUNDFORBIDFLAG. +- Support breakpoint character · 0xb7 and ignore it? Makes it possible to use + same wordlist for hyphenation. 8 Alternate Dutch word list at www.nederlandsewoorden.nl (use script to obtain). But new Myspell wordlist will come (Hagen) - Finding suggestions with sound folding is slow. Somehow store the @@ -56,6 +112,9 @@ spelling: - Also use the spelling dictionary for dictionary completion. - Have "zg" and "zw" report the file that was modified. (Marvin Renich) - Add a command like "zg" that selects one of the files 'spellfile'. +- Add a "zug" command that undoes "zg"? Deletes the good word instead of + adding a bad word like "zw" would. Use "zuw" to undo "zw"? (Antonio + Colombo) GTK: get an X error while exiting quickly after starting (running the tests). Caused by new GTK library? @@ -66,6 +125,18 @@ Support saving and restoring session for X windows? It should work to do gui_x11_wm_protocol_handler() already takes care of the rest. global_event_filter() for GTK. +Is it easy to have an item in a pattern that matches with a mark location? +Similar to |/\%>l| and |/\%c|. (Benji Fisher) + +Patch to support lists and dicts for the Python interface. (G. Sumner Hayes, +Jan 12). Docs in a previous patch. +Use free_tv() instead of clear_tv() and vim_free(). + +Win32 installer: Default _vimrc contains absolute path to diff.exe. After +upgrading it becomes invalid. Fix it automatically somehow? Use $VIMRUNTIME +in the path instead of filling it the path? At least give a clear error +message. + In diff mode deleting lines is very slow. E.g., when diffing two .po files and then sourcing po/cleaup.vim. @@ -278,6 +349,7 @@ PLANNED FOR VERSION 7.0: 8 Support four composing/combining characters, needed for Hebrew. (Ron Aaron) Add the 'maxcombining' option to set the nr. of composing characters. At the same time support more colors (use two bytes when necessary). +8 "ga" should show all composing characters, also if there are more than 2. 8 Searching for a composing character by itself should work. Perhaps "." with a composing char should work too. - Add a few more things to 'diffopt': "horizontal", "vertical", @@ -368,6 +440,7 @@ Add gui_mch_browsedir() for Motif, Mac OS/X. Add extra list of file locations. A bit like the quickfix list, but there is one per window. Can be used with: :ltag list of matching tags, like :tselect +Patch from Yegappan Lakshmanan, Jan 9. Commands to use the location list: :lnext next location :lprevious :lNext previous location @@ -404,6 +477,11 @@ Add more tests for all new functionality in Vim 7. Especially new functions. Updated Ruby interface. (Ryan Paul) +'errorformat' docs are a bit unclear. Suggestions by Charles Campbell (2006 +Jan 6) +Add a flag to check for a match with the next item first? Helps for +continuation lines that may contain just about anything. + Awaiting updated patches: --- awaiting updated patch --- 8 Add ":n" to fnamemodify(): normalize path, remove "../" when possible. @@ -1395,12 +1473,8 @@ Spell checking: - Compound word is accepted if nr of words is <= COMPOUNDMAX OR nr of syllables <= COMPOUNDSYLMAX. Specify using AND in the affix file? - COMPOUNDMAX -> COMPOUNDWORDMAX? -- Support flags on a suffix. Used for second level affixes. The flags may - also be used for compounding. Default is an OR mechanism with the flags - of the word. Adding "compset" on the affixes means the compound flags of - the word are not used. Instead of "SFX a 0 add/FLAGS ." we could use "SFX - a 0 add . /FLAGS" (or support both). -- NEEDCOMPOUND also used for affix? Or use "needcomp" after affix? +- 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 word doesn't have a capital after a word character, even for Onecap words? - New hunspell home page: http://hunspell.sourceforge.net/ @@ -1425,8 +1499,8 @@ Spell checking: - 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 -- MORPHO item in affix file: ignore morphological fields after word and - affix. +- MORPHO item in affix file: ignore TAB and morphological field after + word/flags and affix. - Implement multiple flags for compound words and CMP item? Await comments from other spell checking authors. - Also see tklspell: http://tkltrans.sourceforge.net/ @@ -1487,8 +1561,8 @@ Folding: - 'foldmethod' "textobject": fold on sections and paragraph text objects. - Add 'hidecomment' option: don't display comments in /* */ and after //. Or is the conceal patch from Vince Negri a more generic solution? -- "zu": undo change in manual fold. "zU" redo change in manual fold. How to - implement this? +- "zuf": undo change in manual fold. "zUf" redo change in manual fold. How + to implement this? - "zJ" command: add the line or fold below the fold in the fold under the cursor. - 'foldmethod' "syntax": "fold=3": set fold level for a region. @@ -1525,7 +1599,6 @@ Multi-byte characters: 8 Should add test for using various commands with multi-byte characters. 8 'infercase' doesn't work with multi-byte characters. 8 toupper() function doesn't handle byte count changes. -8 "ga" should show all composing characters, also if there are more than 2. 7 When searching, should order of composing characters be ignored? 8 Should implement 'delcombine' for command line editing. 8 Detect overlong UTF-8 sequences and handle them like illegal bytes. @@ -2814,8 +2887,9 @@ Incsearch: Searching: -7 Add "g/" and "gb" to search for a pattern in the Visually selected text? +8 Add "g/" and "gb" to search for a pattern in the Visually selected text? "g?" is already used for rot13. + Can use "g/" in Normal mode, uses the '< to '> area. 8 Add a mechanism for recursiveness: "\@(([^()]*\@g[^()]*)\)". \@g stands for "go recursive here" and \@( \) marks the recursive part. Perl does it this way: diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt index b4172ccb1..4cb9687cd 100644 --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -1,4 +1,4 @@ -*various.txt* For Vim version 7.0aa. Last change: 2005 Oct 14 +*various.txt* For Vim version 7.0aa. Last change: 2006 Jan 08 VIM REFERENCE MANUAL by Bram Moolenaar @@ -321,6 +321,7 @@ B *+multi_byte* Korean and other languages |multibyte| *+multi_byte_ime* Win32 input method for multibyte chars |multibyte-ime| N *+multi_lang* non-English language support |multi-lang| m *+mzscheme* Mzscheme interface |mzscheme| +m *+mzscheme/dyn* Mzscheme interface |mzscheme-dynamic| |/dyn| m *+netbeans_intg* |netbeans| m *+ole* Win32 GUI only: |ole-interface| *+osfiletype* Support for the 'osfiletype' option and filetype diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt index 8518f8280..560b7ffa3 100644 --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.0aa. Last change: 2005 Dec 28 +*version7.txt* For Vim version 7.0aa. Last change: 2006 Jan 09 VIM REFERENCE MANUAL by Bram Moolenaar @@ -435,6 +435,9 @@ Win32: The ":winpos" command now also works in the console. (Vipin Aravind) |:cexpr| Read error messages from a Vim expression (Yegappan Lakshmanan). +|:caddexpr| Add error messages from a Vim expression to an + existing quickfix list. (Yegappan Lakshmanan). + Ex command modifiers: ~ @@ -919,6 +922,9 @@ without losing the last inserted text. The exists() function now supports checking for autocmd group definition and for supported autocommand events. (Yegappan Lakshmanan) +Allow using ":global" in the sandbox, it doesn't do anything harmful by +itself. + ============================================================================== COMPILE TIME CHANGES *compile-changes-7* @@ -1523,7 +1529,7 @@ string, because it may cause trouble in Insert mode. When evaluating an expression for CTRL-R = on the command line it was possible to open a new window, resulting in errors for incremental search, and many other nasty things were possible. Now evaluate the expression in the sandbox -to protect from unexpected behavior. +to protect from unexpected behavior. Same for CTRL-\ e. "d(" deleted the character under the cursor, while the documentation specified an exclusive motion. Vi also doesn't delete the character under the cursor. @@ -1533,4 +1539,10 @@ when it just fits in the window. In coladvance() don't stop at the window edge when filling with spaces and when in Insert mode. In mswin.vim avoid getting a beep from the "l" command. +Win32 GUI: When Alt-F4 is used to close the window and Cancel is selected in +the dialog then Vim would insert in the text. Now it's ignored. + +When ":silent! {cmd}" caused the swap file dialog, which isn't displayed, +there would still be a hit-enter prompt. + vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/doc/vi_diff.txt b/runtime/doc/vi_diff.txt index 76893e255..4fe7ff970 100644 --- a/runtime/doc/vi_diff.txt +++ b/runtime/doc/vi_diff.txt @@ -1,4 +1,4 @@ -*vi_diff.txt* For Vim version 7.0aa. Last change: 2005 Apr 01 +*vi_diff.txt* For Vim version 7.0aa. Last change: 2006 Jan 02 VIM REFERENCE MANUAL by Bram Moolenaar @@ -87,7 +87,9 @@ Length of an expanded string option Maximum display width Unix and Win32: 1024 characters, otherwise 255 characters Maximum lhs of a mapping 50 characters. -Number of highlighting different types: 223 +Number of different highlighting types: over 30000 +Range of a Number variable: -2147483648 to 2147483647 (more on 64 bit + systems) Information for undo and text in registers is kept in memory, thus when making (big) changes the amount of (virtual) memory available limits the number of diff --git a/runtime/filetype.vim b/runtime/filetype.vim index e2b1d1041..3a4d70ff9 100644 --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar -" Last Change: 2005 Nov 23 +" Last Change: 2006 Jan 12 " Listen very carefully, I will say this only once if exists("did_load_filetypes") @@ -399,7 +399,7 @@ fun! s:FTent() setf dtd endfun -" Clipper (or FoxPro) +" Clipper (or FoxPro; could also be eviews) au BufNewFile,BufRead *.prg \ if exists("g:filetype_prg") | \ exe "setf " . g:filetype_prg | @@ -606,6 +606,9 @@ au BufNewFile,BufRead *.gpi setf gnuplot " GrADS scripts au BufNewFile,BufRead *.gs setf grads +" Gretl +au BufNewFile,BufRead *.gretl setf gretl + " Groovy au BufNewFile,BufRead *.groovy setf groovy diff --git a/runtime/makemenu.vim b/runtime/makemenu.vim index 4cb0ddfb9..3728041cc 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 -" Last Change: 2005 Dec 01 +" Last Change: 2006 Jan 12 " This is used by "make menu" in the src directory. edit :p:h/synmenu.vim @@ -186,7 +186,9 @@ SynMenu FG.Grub:grub SynMenu FG.GNU\ Server\ Pages:gsp SynMenu FG.GNUplot:gnuplot SynMenu FG.GrADS\ scripts:grads +SynMenu FG.Gretl:gretl SynMenu FG.Groff:groff +SynMenu FG.Groovy:groovy SynMenu FG.GTKrc:gtkrc SynMenu HIJK.Haskell.Haskell:haskell diff --git a/runtime/optwin.vim b/runtime/optwin.vim index 5c53b0560..67538dfb5 100644 --- a/runtime/optwin.vim +++ b/runtime/optwin.vim @@ -1,7 +1,7 @@ " These commands create the option window. " " Maintainer: Bram Moolenaar -" Last Change: 2005 Oct 02 +" Last Change: 2006 Jan 13 " If there already is an option window, jump to that one. if bufwinnr("option-window") > 0 @@ -725,6 +725,8 @@ if has("digraphs") endif call append("$", "tildeop\tthe \"~\" command behaves like an operator") call BinOptionG("top", &top) +call append("$", "operatorfunc\tfunction called for the\"g@\" operator") +call OptionG("opfunc", &opfunc) call append("$", "showmatch\tWhen inserting a bracket, briefly jump to its match") call BinOptionG("sm", &sm) call append("$", "matchtime\ttenth of a second to show a match for 'showmatch'") diff --git a/runtime/spell/en.ascii.spl b/runtime/spell/en.ascii.spl index 10ed3b6a26c9e7ff832c5a85320d5f33b4079007..33cb8202a21ba4e658a54e4850878a70fffabecc 100644 GIT binary patch delta 1398 zcmXYxy{;rR5QXdB-FtT>mUttQ3D}sQ2Uv-S$8fjZV>517%XVMW(F6nph=_oYkdy?$ z6ObTnMnJ}!z*n=3#;vwpt~zzjaew#c>DRwbzr1_6z7l?~@ZxRPO2bF7}8@ZXNeB{lbbKM`9-p;=OEXZ&cMh`C8rB@^(n|~@TWjCU+s;Y9BfMC z9t5oeT%7lER(1}#6kuni!f+k*RBPnwJ;PLRUN+^xnb&S};FD!ZmBcwLSDubnujNgr zijh1U$vG`hrHM|Ks;jkAV8^KP(7^J1BbNC^++vlN1oo_YkqsuAOP<^vs%eqA(QDcm zO(=6nA4>nm5={{|LlKm$@52?vp2&LWE@^>o^^%IvTmq8jY-;J=?6g+0aav+prB_5| zMrWx6iL_LaewZldY9P>hC3xCXzQUuyUX9w27tR>iHL%}};5KfYR^8Dl#}+YVFO0#pS^XGiBAKIdCH2W9&vM9JQ8^8X-iz#S&?)eWGN$;nnjYl4OQZqV^@HxCy&0j0mn z#1%7_MPd}bri7DX!aXp!IRu$gH|JB-E)-9zfyocjUSzIH0dB*JJ+Rw^=^c~z*Vd&f zqbAfntYS8v!9$Ox8OLbQyk~3{6K@N;fn?5VI@8q@`ml?!T80r7gt&WP z^_z78NZ^R{baNGXwlvc^J_s4gVgS%;{13=@3fCg_rg+)c38iqUeJ;xF+6K&Iwr`tJ zHpA%b%y5|J5Nt*K%JzhzxeTSFpe_r@O$knd(ul>fw&hJ{b8X?S+xNsQ`tij~2J2ZpV``0e!gGX3-)K;O+N delta 50 xcmdmbRjK>5(uQ-alV5R}H0yA;>u@syF%u9o12GE_vjQ<25VLRB;pXU^4*;>74v7E& diff --git a/runtime/spell/en.ascii.sug b/runtime/spell/en.ascii.sug new file mode 100644 index 0000000000000000000000000000000000000000..a254ed27bf77fee875ecb343d93c6ca56537025c GIT binary patch literal 555631 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

tfEwEF5!P?lFFS%xuAL|F3ysdgb*fy$_Zh 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�ABDJ`W(;3yoUrb|mWkqgO@x%&ai-~#cnr^NBC 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 z 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�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ϢC(!Y@pNXS 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 literal 0 HcmV?d00001 diff --git a/runtime/spell/en.latin1.spl b/runtime/spell/en.latin1.spl index fb522ea5aedc7789f123aabc2af2f3cad82bb3f2..68cade0044262de55d59846d4f4cf12c3e02c1b1 100644 GIT binary patch delta 1384 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 z�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%0DF+t*Ff*igAvg1!c$I*4> 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

$Fi7m+O%mq~R629083|*oh|wZO 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

NJ;_Lh|n)#P*B0}?5 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 MsFB*zR;^n7KcVc5#sB~S literal 0 HcmV?d00001 diff --git a/runtime/spell/en.utf-8.spl b/runtime/spell/en.utf-8.spl index 49ddd8ae201ecca455c7052e69bb61956c2f9325..b0dd947eb5ce9ce23200563670e0672d6056ff95 100644 GIT binary patch delta 1384 zcmXYxF|H&v5QghLcA1q}_7EGuHC7@bBi_v2c8|@tT`k-FOh*$CZ~y`_(v@Dc*&YCi zV<1uj?!Z^QjK;0DU9S4;|9|(tf4%+fpSK_1U+%Ak-)nh%c=s4P|A%*9v+(l8NIA=- zhpgITsIur@ycD+vse2KhmW9=}&rx&{EuvMzQz#Z##c_CX=fRnI>btaBgkrrTi^X5!!@}Ef*kLG#H|~)g@Rr~lQu`yEN;@hi<`R@ zD1?(L$P$M1n95b61OMda+d02UcJ&(M9@7;VxvAuIqpm&$nGOCFXy(Vgk&}Z>Y21UL zb%2ZWUarc{A-4kTtW+4TgPv-QT)k(Q3eL->9Jun@Z4P|0EUA(>hvm-G@#?jF+o@tC z&qi`i3sh;Mlcnlv?G)HCsysBXJfFlezlmF{@{+)wRd2GvM03fLyF)cCGB0zj z4(UVb-&mq4;$|pUt(wt2#-J6}(N;XbQOsn*Y$js<0 zl^~IpD$)-VW;HHz7*)hLisXaRPUk$X7RjP9`T?4Xp_l?z=(9$K5FIP8dA2muIz9*)%3=V}YWxq#cnbF-^;Ep<>x5Fc)IJyGytV-|neE$Vl+7?Y zJ2M>SIRsk~zp_1HXf8wPD5%Q-Ie{i+*!6(|9$TTXjp0 zYphCiaOFzEQ1a{h%MWk9vQOnJdwloj-@pI-eEH@1^1ygxe8G6Zc**#ZaryLodG*JK F{{Rau%{~AC delta 65 zcmbRKQt9nIr43Q+lgoGlIR7&+?^TggH!_}nz=BPx`8!YhcOFI{W&&bnAZ7t#Rv=~r NV)pIdc{mm<2LM)58N2`h diff --git a/runtime/spell/en.utf-8.sug b/runtime/spell/en.utf-8.sug new file mode 100644 index 0000000000000000000000000000000000000000..62f59e5313003a90358aec6469f771af64d63aeb GIT binary patch literal 556527 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

pU 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

A9%&BR!JHIdgec!Wr6Khthk6qg*t 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'u3`ndtw6q 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 z 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 nF~@}jq7JJz!(*JRdPMf +" Last Change: 2006 Jan 11 +" Filenames: *.prg +" URL: http://uosis.mif.vu.lt/~zemlys/vim-syntax/eviews.vim +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +if version >= 600 + setlocal iskeyword=@,48-57,_,. +else + set iskeyword=@,48-57,_,. +endif + +syn case match + +" Comment +syn match eComment /\'.*/ + +" Constant +" string enclosed in double quotes +syn region eString start=/"/ skip=/\\\\\|\\"/ end=/"/ +" number with no fractional part or exponent +syn match eNumber /\d\+/ +" floating point number with integer and fractional parts and optional exponent +syn match eFloat /\d\+\.\d*\([Ee][-+]\=\d\+\)\=/ +" floating point number with no integer part and optional exponent +syn match eFloat /\.\d\+\([Ee][-+]\=\d\+\)\=/ +" floating point number with no fractional part and optional exponent +syn match eFloat /\d\+[Ee][-+]\=\d\+/ + +" Identifier +" identifier with leading letter and optional following keyword characters +syn match eIdentifier /\a\k*/ + +" Eviews Programing Language +syn keyword eProgLang @date else endif @errorcount @evpath exitloop for if @isobject next poff pon return statusline step stop @temppath then @time to @toc wend while include call subroutine endsub and or + +" Eviews Objects, Views and Procedures +syn keyword eOVP alpha coef equation graph group link logl matrix model pool rowvector sample scalar series sspace sym system table text valmap var vector + + +" Standard Eviews Commands +syn keyword eStdCmd 3sls add addassign addinit addtext align alpha append arch archtest area arlm arma arroots auto axis bar bdstest binary block boxplot boxplotby bplabel cause ccopy cd cdfplot cellipse censored cfetch checkderivs chow clabel cleartext close coef coefcov coint comment control copy cor correl correlsq count cov create cross data datelabel dates db dbcopy dbcreate dbdelete dbopen dbpack dbrebuild dbrename dbrepair decomp define delete derivs describe displayname do draw driconvert drop dtable ec edftest endog eqs equation errbar exclude exit expand fetch fill fiml fit forecast freeze freq frml garch genr gmm grads graph group hconvert hfetch hilo hist hlabel hpf impulse jbera kdensity kerfit label laglen legend line linefit link linkto load logit logl ls makecoint makederivs makeendog makefilter makegarch makegrads makegraph makegroup makelimits makemodel makeregs makeresids makesignals makestates makestats makesystem map matrix means merge metafile ml model msg name nnfit open options ordered output override pageappend pagecontract pagecopy pagecreate pagedelete pageload pagerename pagesave pageselect pagestack pagestruct pageunstack param pcomp pie pool predict print probit program qqplot qstats range read rename representations resample reset residcor residcov resids results rls rndint rndseed rowvector run sample save scalar scale scat scatmat scenario seas seasplot series set setbpelem setcell setcolwidth setconvert setelem setfillcolor setfont setformat setheight setindent setjust setline setlines setmerge settextcolor setwidth sheet show signalgraphs smooth smpl solve solveopt sort spec spike sspace statby statefinal stategraphs stateinit stats statusline stomna store structure sur svar sym system table template testadd testbtw testby testdrop testexog testfit testlags teststat text tic toc trace tramoseats tsls unlink update updatecoefs uroot usage valmap var vars vector wald wfcreate wfopen wfsave wfselect white wls workfile write wtsls x11 x12 xy xyline xypair + +" Constant Identifier +syn match eConstant /\!\k*/ +" String Identifier +syn match eStringId /%\k*/ +" Command Identifier +syn match eCommand /@\k*/ + +" Special +syn match eDelimiter /[,;:]/ + +" Error +syn region eRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError +syn region eRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError +syn region eRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError +syn match eError /[)\]}]/ +syn match eBraceError /[)}]/ contained +syn match eCurlyError /[)\]]/ contained +syn match eParenError /[\]}]/ contained + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_r_syn_inits") + if version < 508 + let did_r_syn_inits = 1 + command -nargs=+ HiLink hi link + else + command -nargs=+ HiLink hi def link + endif + HiLink eComment Comment + HiLink eConstant Identifier + HiLink eStringId Identifier + HiLink eCommand Type + HiLink eString String + HiLink eNumber Number + HiLink eBoolean Boolean + HiLink eFloat Float + HiLink eConditional Conditional + HiLink eProgLang Statement + HiLink eOVP Statement + HiLink eStdCmd Statement + HiLink eIdentifier Normal + HiLink eDelimiter Delimiter + HiLink eError Error + HiLink eBraceError Error + HiLink eCurlyError Error + HiLink eParenError Error + delcommand HiLink +endif + +let b:current_syntax="eviews" + +" vim: ts=8 sw=2 diff --git a/runtime/syntax/gretl.vim b/runtime/syntax/gretl.vim new file mode 100644 index 000000000..9999ff0f4 --- /dev/null +++ b/runtime/syntax/gretl.vim @@ -0,0 +1,102 @@ +" Vim syntax file +" Language: gretl (http://gretl.sf.net) +" Maintainer: Vaidotas Zemlys +" Last Change: 2006 Jan 6 +" Filenames: *.inp *.gretl +" URL: http://uosis.mif.vu.lt/~zemlys/vim-syntax/gretl.vim +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded + +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +if version >= 600 + setlocal iskeyword=@,48-57,_,. +else + set iskeyword=@,48-57,_,. +endif + +syn case match + +" Constant +" string enclosed in double quotes +syn region gString start=/"/ skip=/\\\\\|\\"/ end=/"/ +" number with no fractional part or exponent +syn match gNumber /\d\+/ +" floating point number with integer and fractional parts and optional exponent +syn match gFloat /\d\+\.\d*\([Ee][-+]\=\d\+\)\=/ +" floating point number with no integer part and optional exponent +syn match gFloat /\.\d\+\([Ee][-+]\=\d\+\)\=/ +" floating point number with no fractional part and optional exponent +syn match gFloat /\d\+[Ee][-+]\=\d\+/ + +" Gretl commands +syn keyword gCommands add addobs addto adf append ar arch arma break boxplot chow coeffsum coint coint2 corc corr corrgm criteria critical cusum data delete diff else end endif endloop eqnprint equation estimate fcast fcasterr fit freq function funcerr garch genr gnuplot graph hausman hccm help hilu hsk hurst if import include info kpss label labels lad lags ldiff leverage lmtest logistic logit logs loop mahal meantest mle modeltab mpols multiply nls nulldata ols omit omitfrom open outfile panel pca pergm plot poisson pooled print printf probit pvalue pwe quit remember rename reset restrict rhodiff rmplot run runs scatters sdiff set setobs setmiss shell sim smpl spearman square store summary system tabprint testuhat tobit transpos tsls var varlist vartest vecm vif wls + +"Gretl genr functions +syn keyword gGenrFunc log exp sin cos tan atan diff ldiff sdiff mean sd min max sort int ln coeff abs rho sqrt sum nobs firstobs lastobs normal uniform stderr cum missing ok misszero corr vcv var sst cov median zeromiss pvalue critical obsnum mpow dnorm cnorm gamma lngamma resample hpfilt bkfilt fracdiff varnum isvector islist nelem + +" Identifier +" identifier with leading letter and optional following keyword characters +syn match gIdentifier /\a\k*/ + +" Variable with leading $ +syn match gVariable /\$\k*/ +" Arrow +syn match gArrow /<-/ + +" Special +syn match gDelimiter /[,;:]/ + +" Error +syn region gRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError,gBCstart,gBCend +syn region gRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError +syn region gRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError +syn match gError /[)\]}]/ +syn match gBraceError /[)}]/ contained +syn match gCurlyError /[)\]]/ contained +syn match gParenError /[\]}]/ contained + +" Comment +syn match gComment /#.*/ +syn match gBCstart /(\*/ +syn match gBCend /\*)/ + +syn region gBlockComment matchgroup=gCommentStart start="(\*" end="\*)" + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_r_syn_inits") + if version < 508 + let did_r_syn_inits = 1 + command -nargs=+ HiLink hi link + else + command -nargs=+ HiLink hi def link + endif + HiLink gComment Comment + HiLink gCommentStart Comment + HiLink gBlockComment Comment + HiLink gString String + HiLink gNumber Number + HiLink gBoolean Boolean + HiLink gFloat Float + HiLink gCommands Repeat + HiLink gGenrFunc Type + HiLink gDelimiter Delimiter + HiLink gError Error + HiLink gBraceError Error + HiLink gCurlyError Error + HiLink gParenError Error + HiLink gIdentifier Normal + HiLink gVariable Identifier + HiLink gArrow Repeat + delcommand HiLink +endif + +let b:current_syntax="gretl" + +" vim: ts=8 sw=2 diff --git a/runtime/syntax/r.vim b/runtime/syntax/r.vim index c2ecca4ef..8432c208e 100644 --- a/runtime/syntax/r.vim +++ b/runtime/syntax/r.vim @@ -1,9 +1,13 @@ " Vim syntax file " Language: R (GNU S) -" Maintainer: Tom Payne -" Last Change: 2003 May 11 -" Filenames: *.r -" URL: http://www.tompayne.org/vim/syntax/r.vim +" Maintainer: Vaidotas Zemlys +" Last Change: 2006 January 12 +" Filenames: *.R *.Rout *.r *.Rhistory *.Rt *.Rout.save *.Rout.fail +" URL: http://uosis.mif.vu.lt/~zemlys/vim-syntax/r.vim + +" First maintainer Tom Payne +" Modified to make syntax less colourful and added the highlighting of +" R assignment arrow " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded @@ -54,9 +58,10 @@ syn keyword rConstant LETTERS letters month.ab month.name pi syn keyword rConstant NULL syn keyword rBoolean FALSE TRUE syn keyword rNumber NA +syn match rArrow /<\{1,2}-/ " Type -syn keyword rType array category character complex double function integer list logical matrix numeric vector +syn keyword rType array category character complex double function integer list logical matrix numeric vector data.frame " Special syn match rDelimiter /[,;:]/ @@ -89,8 +94,9 @@ if version >= 508 || !exists("did_r_syn_inits") HiLink rStatement Statement HiLink rConditional Conditional HiLink rRepeat Repeat - HiLink rIdentifier Identifier - HiLink rType Type + HiLink rIdentifier Normal + HiLink rArrow Statement + HiLink rType Type HiLink rDelimiter Delimiter HiLink rError Error HiLink rBraceError Error @@ -102,3 +108,4 @@ endif let b:current_syntax="r" " vim: ts=8 sw=2 + diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index 52ca8ae1b..21715b7ba 100644 --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: Vim 7.0 script " Maintainer: Dr. Charles E. Campbell, Jr. -" Last Change: December 09, 2005 -" Version: 7.0-21 +" Last Change: Jan 09, 2006 +" Version: 7.0-22 " Automatically generated keyword lists: {{{1 " Quit when a syntax file was already loaded {{{2 @@ -175,7 +175,7 @@ endif syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString syn match vimComment +\b_flags & BF_NEVERLOADED)) curbuf->b_p_ro = TRUE; - if (ml_open() == FAIL) + if (ml_open(curbuf) == FAIL) { /* * There MUST be a memfile, otherwise we can't do anything @@ -1505,6 +1505,8 @@ buflist_new(ffname, sfname, lnum, flags) * buffer. Otherwise: Need to allocate a new buffer structure. * * This is the ONLY place where a new buffer structure is allocated! + * (A spell file buffer is allocated in spell.c, but that's not a normal + * buffer.) */ buf = NULL; if ((flags & BLN_CURBUF) @@ -5191,7 +5193,7 @@ buf_contents_changed(buf) curwin->w_buffer = newbuf; #endif - if (ml_open() == OK + if (ml_open(curbuf) == OK && readfile(buf->b_ffname, buf->b_fname, (linenr_T)0, (linenr_T)0, (linenr_T)MAXLNUM, &ea, READ_NEW | READ_DUMMY) == OK) diff --git a/src/edit.c b/src/edit.c index 23dd57eb9..c037d1f96 100644 --- a/src/edit.c +++ b/src/edit.c @@ -987,6 +987,15 @@ doESCkey: case K_IGNORE: /* Something mapped to nothing */ break; +#ifdef FEAT_GUI_W32 + /* On Win32 ignore , we get it when closing the window was + * cancelled. */ + case K_F4: + if (mod_mask != MOD_MASK_ALT) + goto normalchar; + break; +#endif + #ifdef FEAT_GUI case K_VER_SCROLLBAR: ins_scroll(); diff --git a/src/eval.c b/src/eval.c index eef865a4b..482359331 100644 --- a/src/eval.c +++ b/src/eval.c @@ -654,7 +654,6 @@ static int get_var_tv __ARGS((char_u *name, int len, typval_T *rettv, int verbos static int handle_subscript __ARGS((char_u **arg, typval_T *rettv, int evaluate, int verbose)); static typval_T *alloc_tv __ARGS((void)); static typval_T *alloc_string_tv __ARGS((char_u *string)); -static void free_tv __ARGS((typval_T *varp)); static void init_tv __ARGS((typval_T *varp)); static long get_tv_number __ARGS((typval_T *varp)); static linenr_T get_tv_lnum __ARGS((typval_T *argvars)); @@ -1323,7 +1322,9 @@ get_spellword(list, pp) #endif /* - * Top level evaluation function, + * Top level evaluation function. + * Returns an allocated typval_T with the result. + * Returns NULL when there is an error. */ typval_T * eval_expr(arg, nextcmd) @@ -1333,13 +1334,10 @@ eval_expr(arg, nextcmd) typval_T *tv; tv = (typval_T *)alloc(sizeof(typval_T)); - if (!tv) - return NULL; - - if (eval0(arg, tv, nextcmd, TRUE) == FAIL) + if (tv != NULL && eval0(arg, tv, nextcmd, TRUE) == FAIL) { vim_free(tv); - return NULL; + tv = NULL; } return tv; @@ -13930,7 +13928,7 @@ f_spellbadword(argvars, rettv) /* Check the argument for spelling. */ while (*str != NUL) { - len = spell_check(curwin, str, &attr, &capcol); + len = spell_check(curwin, str, &attr, &capcol, FALSE); if (attr != HLF_COUNT) { word = str; @@ -13996,7 +13994,7 @@ f_spellsuggest(argvars, rettv) else maxcount = 25; - spell_suggest_list(&ga, str, maxcount, need_capital); + spell_suggest_list(&ga, str, maxcount, need_capital, FALSE); for (i = 0; i < ga.ga_len; ++i) { @@ -15904,7 +15902,7 @@ alloc_string_tv(s) /* * Free the memory for a variable type-value. */ - static void + void free_tv(varp) typval_T *varp; { @@ -16910,7 +16908,10 @@ ex_execute(eap) if (ret != FAIL && ga.ga_data != NULL) { if (eap->cmdidx == CMD_echomsg) + { MSG_ATTR(ga.ga_data, echo_attr); + out_flush(); + } else if (eap->cmdidx == CMD_echoerr) { /* We don't want to abort following commands, restore did_emsg. */ diff --git a/src/ex_cmds.c b/src/ex_cmds.c index 006733c4d..c4fd0c4bd 100644 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -111,9 +111,9 @@ do_ascii(eap) IObuff[len++] = ' '; IObuff[len++] = '<'; if (utf_iscomposing(c) -#ifdef USE_GUI +# ifdef USE_GUI && !gui.in_use -#endif +# endif ) IObuff[len++] = ' '; /* draw composing char on top of a space */ len += (*mb_char2bytes)(c, IObuff + len); diff --git a/src/ex_cmds.h b/src/ex_cmds.h index 4c4ab6ff0..a15ed464d 100644 --- a/src/ex_cmds.h +++ b/src/ex_cmds.h @@ -187,6 +187,8 @@ EX(CMD_cabbrev, "cabbrev", ex_abbreviate, EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), EX(CMD_cabclear, "cabclear", ex_abclear, EXTRA|TRLBAR|CMDWIN), +EX(CMD_caddexpr, "caddexpr", ex_cexpr, + NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG), EX(CMD_caddfile, "caddfile", ex_cfile, TRLBAR|FILE1), EX(CMD_call, "call", ex_call, @@ -394,7 +396,7 @@ EX(CMD_for, "for", ex_while, EX(CMD_function, "function", ex_function, EXTRA|BANG|CMDWIN), EX(CMD_global, "global", ex_global, - RANGE|WHOLEFOLD|BANG|EXTRA|DFLALL|CMDWIN), + RANGE|WHOLEFOLD|BANG|EXTRA|DFLALL|SBOXOK|CMDWIN), EX(CMD_goto, "goto", ex_goto, RANGE|NOTADR|COUNT|TRLBAR|SBOXOK|CMDWIN), EX(CMD_grep, "grep", ex_make, @@ -768,7 +770,7 @@ EX(CMD_spellgood, "spellgood", ex_spell, EX(CMD_spellwrong, "spellwrong", ex_spell, BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR), EX(CMD_spelldump, "spelldump", ex_spelldump, - TRLBAR), + BANG|TRLBAR), EX(CMD_spellrepall, "spellrepall", ex_spellrepall, TRLBAR), EX(CMD_sprevious, "sprevious", ex_previous, diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 1eb2bb9a5..e15c6c5d7 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -8234,8 +8234,11 @@ ex_mkrc(eap) failed = TRUE; if (put_line(fd, "doautoall SessionLoadPost") == FAIL) failed = TRUE; - if (put_line(fd, "unlet SessionLoad") == FAIL) - failed = TRUE; + if (eap->cmdidx == CMD_mksession) + { + if (put_line(fd, "unlet SessionLoad") == FAIL) + failed = TRUE; + } } #endif if (put_line(fd, "\" vim: set ft=vim :") == FAIL) diff --git a/src/ex_getln.c b/src/ex_getln.c index 335f2a411..95109534a 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -645,8 +645,8 @@ getcmdline(firstc, count, indent) /* * Replace the command line with the result of an expression. - * Need to save the current command line, to be able to enter - * a new one... + * Need to save and restore the current command line, to be + * able to enter a new one... */ if (ccline.cmdpos == ccline.cmdlen) new_cmdpos = 99999; /* keep it at the end */ @@ -658,8 +658,17 @@ getcmdline(firstc, count, indent) restore_cmdline(&save_ccline); if (c == '=') { + /* Need to save and restore ccline. And go into the + * sandbox to avoid nasty things like going to another + * buffer when evaluating an expression. */ save_cmdline(&save_ccline); +#ifdef HAVE_SANDBOX + ++sandbox; +#endif p = get_expr_line(); +#ifdef HAVE_SANDBOX + --sandbox; +#endif restore_cmdline(&save_ccline); if (p != NULL && realloc_cmdbuff((int)STRLEN(p) + 1) == OK) @@ -1192,6 +1201,18 @@ getcmdline(firstc, count, indent) case K_IGNORE: goto cmdline_not_changed; /* Ignore mouse */ +#ifdef FEAT_GUI_W32 + /* On Win32 ignore , we get it when closing the window was + * cancelled. */ + case K_F4: + if (mod_mask == MOD_MASK_ALT) + { + redrawcmd(); /* somehow the cmdline is cleared */ + goto cmdline_not_changed; + } + break; +#endif + #ifdef FEAT_MOUSE case K_MIDDLEDRAG: case K_MIDDLERELEASE: diff --git a/src/feature.h b/src/feature.h index 69a784e44..efe791567 100644 --- a/src/feature.h +++ b/src/feature.h @@ -126,6 +126,15 @@ # define FEAT_CMDHIST #endif +/* + * Message history is fixed at 100 message, 20 for the tiny version. + */ +#ifdef FEAT_SMALL +# define MAX_MSG_HIST_LEN 100 +#else +# define MAX_MSG_HIST_LEN 20 +#endif + /* * +jumplist Jumplist, CTRL-O and CTRL-I commands. */ diff --git a/src/fileio.c b/src/fileio.c index e05fb54db..c5c926299 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -6405,7 +6405,7 @@ buf_reload(buf) /* Open the memline. */ curbuf = savebuf; curwin->w_buffer = savebuf; - saved = ml_open(); + saved = ml_open(curbuf); curbuf = buf; curwin->w_buffer = buf; } diff --git a/src/globals.h b/src/globals.h index 8c2110569..c22466c06 100644 --- a/src/globals.h +++ b/src/globals.h @@ -528,7 +528,12 @@ EXTERN int starting INIT(= NO_SCREEN); /* first NO_SCREEN, then NO_BUFFERS and then * set to 0 when starting up finished */ EXTERN int exiting INIT(= FALSE); - /* TRUE when abandoning Vim */ + /* TRUE when planning to exit Vim. Might + * still keep on running if there is a changed + * buffer. */ +EXTERN int really_exiting INIT(= FALSE); + /* TRUE when we are sure to exit, e.g., after + * a deadly signal */ EXTERN int full_screen INIT(= FALSE); /* TRUE when doing full-screen output * otherwise only writing some messages */ diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c index 1502e0c1c..84c5fe406 100644 --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -2328,6 +2328,7 @@ sm_client_die(GnomeClient *client, gpointer data) vim_strncpy(IObuff, _("Vim: Received \"die\" request from session manager\n"), IOSIZE - 1); + deadly_exit = TRUE; preserve_exit(); } diff --git a/src/hashtable.c b/src/hashtable.c index 904be4704..066f0f3cb 100644 --- a/src/hashtable.c +++ b/src/hashtable.c @@ -85,6 +85,31 @@ hash_clear(ht) vim_free(ht->ht_array); } +/* + * Free the array of a hash table and all the keys it contains. The keys must + * have been allocated. "off" is the offset from the start of the allocate + * memory to the location of the key (it's always positive). + */ + void +hash_clear_all(ht, off) + hashtab_T *ht; + int off; +{ + int todo; + hashitem_T *hi; + + todo = ht->ht_used; + for (hi = ht->ht_array; todo > 0; ++hi) + { + if (!HASHITEM_EMPTY(hi)) + { + vim_free(hi->hi_key - off); + --todo; + } + } + hash_clear(ht); +} + /* * Find "key" in hashtable "ht". "key" must not be NULL. * Always returns a pointer to a hashitem. If the item was not found then diff --git a/src/memline.c b/src/memline.c index 3eba98d59..9abf15523 100644 --- a/src/memline.c +++ b/src/memline.c @@ -13,10 +13,11 @@ /* * memline.c: Contains the functions for appending, deleting and changing the - * text lines. The memfile functions are used to store the information in blocks - * of memory, backed up by a file. The structure of the information is a tree. - * The root of the tree is a pointer block. The leaves of the tree are data - * blocks. In between may be several layers of pointer blocks, forming branches. + * text lines. The memfile functions are used to store the information in + * blocks of memory, backed up by a file. The structure of the information is + * a tree. The root of the tree is a pointer block. The leaves of the tree + * are data blocks. In between may be several layers of pointer blocks, + * forming branches. * * Three types of blocks are used: * - Block nr 0 contains information for recovery @@ -169,7 +170,7 @@ struct block0 }; /* - * Note: b0_fname and b0_flags are put at the end of the file name. For very + * Note: b0_dirty and b0_flags are put at the end of the file name. For very * long file names in older versions of Vim they are invalid. * The 'fileencoding' comes before b0_flags, with a NUL in front. But only * when there is room, for very long file names it's omitted. @@ -245,12 +246,13 @@ static void ml_updatechunk __ARGS((buf_T *buf, long line, long len, int updtype) #endif /* - * open a new memline for 'curbuf' + * Open a new memline for "buf". * - * return FAIL for failure, OK otherwise + * Return FAIL for failure, OK otherwise. */ int -ml_open() +ml_open(buf) + buf_T *buf; { memfile_T *mfp; bhdr_T *hp = NULL; @@ -258,36 +260,36 @@ ml_open() PTR_BL *pp; DATA_BL *dp; -/* - * init fields in memline struct - */ - curbuf->b_ml.ml_stack_size = 0; /* no stack yet */ - curbuf->b_ml.ml_stack = NULL; /* no stack yet */ - curbuf->b_ml.ml_stack_top = 0; /* nothing in the stack */ - curbuf->b_ml.ml_locked = NULL; /* no cached block */ - curbuf->b_ml.ml_line_lnum = 0; /* no cached line */ + /* + * init fields in memline struct + */ + buf->b_ml.ml_stack_size = 0; /* no stack yet */ + buf->b_ml.ml_stack = NULL; /* no stack yet */ + buf->b_ml.ml_stack_top = 0; /* nothing in the stack */ + buf->b_ml.ml_locked = NULL; /* no cached block */ + buf->b_ml.ml_line_lnum = 0; /* no cached line */ #ifdef FEAT_BYTEOFF - curbuf->b_ml.ml_chunksize = NULL; + buf->b_ml.ml_chunksize = NULL; #endif -/* - * When 'updatecount' is non-zero, flag that a swap file may be opened later. - */ - if (p_uc && curbuf->b_p_swf) - curbuf->b_may_swap = TRUE; + /* + * When 'updatecount' is non-zero swap file may be opened later. + */ + if (p_uc && buf->b_p_swf) + buf->b_may_swap = TRUE; else - curbuf->b_may_swap = FALSE; + buf->b_may_swap = FALSE; -/* - * Open the memfile. No swap file is created yet. - */ + /* + * Open the memfile. No swap file is created yet. + */ mfp = mf_open(NULL, 0); if (mfp == NULL) goto error; - curbuf->b_ml.ml_mfp = mfp; - curbuf->b_ml.ml_flags = ML_EMPTY; - curbuf->b_ml.ml_line_count = 1; + buf->b_ml.ml_mfp = mfp; + buf->b_ml.ml_flags = ML_EMPTY; + buf->b_ml.ml_line_count = 1; #ifdef FEAT_LINEBREAK curwin->w_nrwidth_line_count = 0; #endif @@ -296,7 +298,7 @@ ml_open() /* for 16 bit MS-DOS create a swapfile now, because we run out of * memory very quickly */ if (p_uc != 0) - ml_open_file(curbuf); + ml_open_file(buf); #endif /* @@ -313,36 +315,40 @@ ml_open() b0p->b0_id[0] = BLOCK0_ID0; b0p->b0_id[1] = BLOCK0_ID1; - b0p->b0_dirty = curbuf->b_changed ? B0_DIRTY : 0; - b0p->b0_flags = get_fileformat(curbuf) + 1; b0p->b0_magic_long = (long)B0_MAGIC_LONG; b0p->b0_magic_int = (int)B0_MAGIC_INT; b0p->b0_magic_short = (short)B0_MAGIC_SHORT; b0p->b0_magic_char = B0_MAGIC_CHAR; - STRNCPY(b0p->b0_version, "VIM ", 4); STRNCPY(b0p->b0_version + 4, Version, 6); - set_b0_fname(b0p, curbuf); long_to_char((long)mfp->mf_page_size, b0p->b0_page_size); - (void)get_user_name(b0p->b0_uname, B0_UNAME_SIZE); - b0p->b0_uname[B0_UNAME_SIZE - 1] = NUL; - mch_get_host_name(b0p->b0_hname, B0_HNAME_SIZE); - b0p->b0_hname[B0_HNAME_SIZE - 1] = NUL; - long_to_char(mch_get_pid(), b0p->b0_pid); + + if (!B_SPELL(buf)) + { + b0p->b0_dirty = buf->b_changed ? B0_DIRTY : 0; + b0p->b0_flags = get_fileformat(buf) + 1; + set_b0_fname(b0p, buf); + (void)get_user_name(b0p->b0_uname, B0_UNAME_SIZE); + b0p->b0_uname[B0_UNAME_SIZE - 1] = NUL; + mch_get_host_name(b0p->b0_hname, B0_HNAME_SIZE); + b0p->b0_hname[B0_HNAME_SIZE - 1] = NUL; + long_to_char(mch_get_pid(), b0p->b0_pid); + } /* * Always sync block number 0 to disk, so we can check the file name in - * the swap file in findswapname(). Don't do this for help files though. + * the swap file in findswapname(). Don't do this for help files though + * and spell buffer though. * Only works when there's a swapfile, otherwise it's done when the file * is created. */ mf_put(mfp, hp, TRUE, FALSE); - if (!curbuf->b_help) + if (!buf->b_help && !B_SPELL(buf)) (void)mf_sync(mfp, 0); -/* - * fill in root pointer block and write page 1 - */ + /* + * Fill in root pointer block and write page 1. + */ if ((hp = ml_new_ptr(mfp)) == NULL) goto error; if (hp->bh_bnum != 1) @@ -358,9 +364,9 @@ ml_open() pp->pb_pointer[0].pe_line_count = 1; /* line count after insertion */ mf_put(mfp, hp, TRUE, FALSE); -/* - * allocate first data block and create an empty line 1. - */ + /* + * Allocate first data block and create an empty line 1. + */ if ((hp = ml_new_data(mfp, FALSE, 1)) == NULL) goto error; if (hp->bh_bnum != 2) @@ -384,7 +390,7 @@ error: mf_put(mfp, hp, FALSE, FALSE); mf_close(mfp, TRUE); /* will also free(mfp->mf_fname) */ } - curbuf->b_ml.ml_mfp = NULL; + buf->b_ml.ml_mfp = NULL; return FAIL; } @@ -518,6 +524,18 @@ ml_open_file(buf) if (mfp == NULL || mfp->mf_fd >= 0 || !buf->b_p_swf) return; /* nothing to do */ +#ifdef FEAT_SYN_HL + /* For a spell buffer use a temp file name. */ + if (buf->b_spell) + { + fname = vim_tempname('s'); + if (fname != NULL) + (void)mf_open_file(mfp, fname); /* consumes fname! */ + buf->b_may_swap = FALSE; + return; + } +#endif + /* * Try all directories in 'directory' option. */ @@ -886,7 +904,7 @@ ml_recover() goto theend; /* out of memory */ /* When called from main() still need to initialize storage structure */ - if (called_from_main && ml_open() == FAIL) + if (called_from_main && ml_open(curbuf) == FAIL) getout(1); /* @@ -2100,6 +2118,28 @@ ml_append(lnum, line, len, newfile) return ml_append_int(curbuf, lnum, line, len, newfile, FALSE); } +#if defined(FEAT_SYN_HL) || defined(PROTO) +/* + * Like ml_append() but for an arbitrary buffer. The buffer must already have + * a memline. + */ + int +ml_append_buf(buf, lnum, line, len, newfile) + buf_T *buf; + linenr_T lnum; /* append after this line (can be 0) */ + char_u *line; /* text of the new line */ + colnr_T len; /* length of new line, including NUL, or 0 */ + int newfile; /* flag, see above */ +{ + if (buf->b_ml.ml_mfp == NULL) + return FAIL; + + if (buf->b_ml.ml_line_lnum != 0) + ml_flush_line(buf); + return ml_append_int(buf, lnum, line, len, newfile, FALSE); +} +#endif + static int ml_append_int(buf, lnum, line, len, newfile, mark) buf_T *buf; @@ -2599,7 +2639,7 @@ ml_append_int(buf, lnum, line, len, newfile, mark) } /* - * replace line lnum, with buffering, in current buffer + * Replace line lnum, with buffering, in current buffer. * * If copy is TRUE, make a copy of the line, otherwise the line has been * copied to allocated memory already. @@ -2643,7 +2683,7 @@ ml_replace(lnum, line, copy) } /* - * delete line 'lnum' + * Delete line 'lnum' in the current buffer. * * Check: The caller of this function should probably also call * deleted_lines() after this. @@ -4114,7 +4154,9 @@ findswapname(buf, dirp, old_fname) #endif { MSG_PUTS("\n"); - need_wait_return = TRUE; /* call wait_return later */ + if (msg_silent == 0) + /* call wait_return() later */ + need_wait_return = TRUE; } #ifdef CREATE_DUMMY_FILE diff --git a/src/message.c b/src/message.c index 8ea49ae20..465b25e7e 100644 --- a/src/message.c +++ b/src/message.c @@ -752,7 +752,7 @@ add_msg_hist(s, len, attr) return; /* Don't let the message history get too big */ - while (msg_hist_len > 20) + while (msg_hist_len > MAX_MSG_HIST_LEN) (void)delete_first_msg(); /* allocate an entry and add the message at the end of the history */ diff --git a/src/misc1.c b/src/misc1.c index a5a1805c2..08cd20c91 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -7952,6 +7952,10 @@ preserve_exit() prepare_to_exit(); + /* Setting this will prevent free() calls. That avoids calling free() + * recursively when free() was invoked with a bad pointer. */ + really_exiting = TRUE; + out_str(IObuff); screen_start(); /* don't know where cursor is now */ out_flush(); diff --git a/src/misc2.c b/src/misc2.c index c3f2b3798..f5b13e762 100644 --- a/src/misc2.c +++ b/src/misc2.c @@ -1426,13 +1426,15 @@ copy_option_part(option, buf, maxlen, sep_chars) } /* - * replacement for free() that ignores NULL pointers + * Replacement for free() that ignores NULL pointers. + * Also skip free() when exiting for sure, this helps when we caught a deadly + * signal that was caused by a crash in free(). */ void vim_free(x) void *x; { - if (x != NULL) + if (x != NULL && !really_exiting) { #ifdef MEM_PROFILE mem_pre_free(&x); diff --git a/src/po/it.po b/src/po/it.po index ed25f47fc..dba546c95 100644 --- a/src/po/it.po +++ b/src/po/it.po @@ -12,9 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: vim 7.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-08-25 09:30+0200\n" -"PO-Revision-Date: 2005-08-29 21:30+0200\n" +"POT-Creation-Date: 2006-01-03 16:07+0100\n" +"PO-Revision-Date: 2006-01-06 13:50+0100\n" "Last-Translator: Vlad Sandrini \n" "Language-Team: Italian" " Antonio Colombo " @@ -22,6 +21,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO_8859-1\n" "Content-Transfer-Encoding: 8-bit\n" +"Report-Msgid-Bugs-To: \n" msgid "E82: Cannot allocate any buffer, exiting..." msgstr "E82: Non riesco ad allocare alcun buffer, esco..." @@ -254,8 +254,8 @@ msgstr " Completamento linea comandi (^V^N^P)" msgid " User defined completion (^U^N^P)" msgstr " Completamento definito dall'utente (^U^N^P)" -msgid " Occult completion (^O^N^P)" -msgstr " Completamento nascosto (^O^N^P)" +msgid " Omni completion (^O^N^P)" +msgstr " Completamento globale (^O^N^P)" msgid " Spelling suggestion (^S^N^P)" msgstr " Suggerimento ortografico (^S^N^P)" @@ -267,10 +267,10 @@ msgid "Hit end of paragraph" msgstr "Giunto alla fine del paragrafo" msgid "'dictionary' option is empty" -msgstr "l'opzione 'dictionary' è vuota" +msgstr "l'opzione 'dictionary' non è impostata" msgid "'thesaurus' option is empty" -msgstr "l'opzione 'thesaurus' è vuota" +msgstr "l'opzione 'thesaurus' non è impostata" #, c-format msgid "Scanning dictionary: %s" @@ -1131,21 +1131,8 @@ msgstr "E177: Non si pu msgid "E178: Invalid default value for count" msgstr "E178: Valore predefinito del contatore non valido" -msgid "E179: argument required for complete" -msgstr "E179: argomento necessario per complete" - -#, c-format -msgid "E180: Invalid complete value: %s" -msgstr "E180: Valore %s non valido per 'complete'" - -msgid "E468: Completion argument only allowed for custom completion" -msgstr "" -"E468: Argomento di completamento permesso solo per completamento " -"personalizzato" - -msgid "E467: Custom completion requires a function argument" -msgstr "" -"E467: Il completamento personalizzato richiede un argomento di funzione" +msgid "E179: argument required for -complete" +msgstr "E179: argomento necessario per -complete" #, c-format msgid "E181: Invalid attribute: %s" @@ -1162,6 +1149,19 @@ msgstr "" msgid "E184: No such user-defined command: %s" msgstr "E184: Comando definito dall'utente %s inesistente" +#, c-format +msgid "E180: Invalid complete value: %s" +msgstr "E180: Valore %s non valido per 'complete'" + +msgid "E468: Completion argument only allowed for custom completion" +msgstr "" +"E468: Argomento di completamento permesso solo per completamento " +"personalizzato" + +msgid "E467: Custom completion requires a function argument" +msgstr "" +"E467: Il completamento personalizzato richiede un argomento di funzione" + #, c-format msgid "E185: Cannot find color scheme %s" msgstr "E185: Non riesco a trovare schema colore %s" @@ -1420,6 +1420,12 @@ msgstr "non msgid "[New File]" msgstr "[File nuovo]" +msgid "[New DIRECTORY]" +msgstr "[Nuova DIRECTORY]" + +msgid "[File too big]" +msgstr "[File troppo grande]" + msgid "[Permission Denied]" msgstr "[Tipo di accesso non consentito]" @@ -1469,8 +1475,9 @@ msgstr "[convertito]" msgid "[crypted]" msgstr "[cifrato]" -msgid "[CONVERSION ERROR]" -msgstr "[ERRORE DI CONVERSIONE]" +#, c-format +msgid "[CONVERSION ERROR in line %ld]" +msgstr "[ERRORE DI CONVERSIONE alla linea %ld]" #, c-format msgid "[ILLEGAL BYTE in line %ld]" @@ -3024,25 +3031,6 @@ msgstr "" msgid "--socketid \tOpen Vim inside another GTK widget" msgstr "--socketid \tApri Vim dentro un altro 'widget' GTK" -msgid "" -"\n" -"Arguments recognised by kvim (KDE version):\n" -msgstr "" -"\n" -"Argomenti accettati da kvim (versione KDE):\n" - -msgid "-black\t\tUse reverse video" -msgstr "-black\t\tUsa colori invertiti" - -msgid "-tip\t\t\tDisplay the tip dialog on startup" -msgstr "-tip\t\t\tMostra la finestra consigli all'avvio" - -msgid "-notip\t\tDisable the tip dialog" -msgstr "-notip\t\tDisabilita la finestra consigli" - -msgid "--display \tRun vim on " -msgstr "--display \tEsegui vim su " - msgid "-P \tOpen Vim inside parent application" msgstr "-P \tApri Vim in un'applicazione padre" @@ -3468,6 +3456,10 @@ msgstr "Dimensione 'stack' aumentata" msgid "E317: pointer block id wrong 2" msgstr "E317: ID blocco puntatori errato 2" +#, c-format +msgid "E773: Symlink loop for \"%s\"" +msgstr "E773: Collegamento ricorsivo per \"%s\"" + msgid "E325: ATTENTION" msgstr "E325: ATTENZIONE" @@ -3641,6 +3633,10 @@ msgstr "Interruzione: " msgid "Press ENTER or type command to continue" msgstr "Premi INVIO o un comando per proseguire" +#, c-format +msgid "%s line %ld" +msgstr "%s linea %ld" + msgid "-- More --" msgstr "-- Ancora --" @@ -3830,6 +3826,12 @@ msgstr "E658: Connessione NetBeans persa per il buffer %ld" msgid "E505: " msgstr "E505: " +msgid "E774: 'operatorfunc' is empty" +msgstr "E774: opzione 'operatorfunc' non impostata" + +msgid "E775: Eval feature not available" +msgstr "E775: Tipo di valorizzazione [eval] non disponibile" + msgid "Warning: terminal cannot highlight" msgstr "Attenzione: il terminale non è in grado di evidenziare" @@ -3843,7 +3845,7 @@ msgid "E352: Cannot erase folds with current 'foldmethod'" msgstr "E352: Non posso togliere piegature con il 'foldmethod' in uso" msgid "E664: changelist is empty" -msgstr "E664: lista modifiche vuota" +msgstr "E664: lista modifiche non impostata" msgid "E662: At start of changelist" msgstr "E662: All'inizio della lista modifiche" @@ -4225,14 +4227,6 @@ msgstr "Vim: Intercettato segnale fatale\n" msgid "Opening the X display took %ld msec" msgstr "Attivazione visualizzazione X ha richiesto %ld msec" -#. KDE sometimes produces X error that we want to ignore -msgid "" -"\n" -"Vim: Got X error but we continue...\n" -msgstr "" -"\n" -"Vim: Preso errore X ma andiamo avanti...\n" - msgid "" "\n" "Vim: Got X error\n" @@ -4562,12 +4556,6 @@ msgstr " SELEZIONA BLOCCO" msgid "recording" msgstr "registrazione" -msgid "search hit TOP, continuing at BOTTOM" -msgstr "raggiunta la CIMA nella ricerca, continuo dal FONDO" - -msgid "search hit BOTTOM, continuing at TOP" -msgstr "raggiunto il FONDO nella ricerca, continuo dalla CIMA" - #, c-format msgid "E383: Invalid search string: %s" msgstr "E383: Stringa di ricerca non valida: %s" @@ -4645,7 +4633,7 @@ msgid "Compressing word tree..." msgstr "Comprimo albero di parole..." msgid "E756: Spell checking is not enabled" -msgstr "E756: Il controllo ortografico non è abilitato" +msgstr "E756: Controllo ortografico non abilitato" #, c-format msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" @@ -4659,7 +4647,7 @@ msgid "E757: This does not look like a spell file" msgstr "E757: Questo non sembra un file ortografico" msgid "E771: Old spell file, needs to be updated" -msgstr "E771: File ortografico obsoleto, necessario aggiornamento" +msgstr "E771: File ortografico obsoleto, è necessario aggiornarlo" msgid "E772: Spell file is for newer version of Vim" msgstr "E772: Il file ortografico è per versioni di Vim più recenti" @@ -4712,13 +4700,25 @@ msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s" msgstr "Valore errato per COMPOUNDSYLMAX in %s linea %d: %s" #, c-format -msgid "Expected Y or N in %s line %d: %s" -msgstr "Y o N deve essere presente in %s linea %d: %s" +msgid "Different combining flag in continued affix block in %s line %d: %s" +msgstr "" +"Flag combinazione diverso in blocco affissi continuo in %s linea %d: %s" #, c-format msgid "Duplicate affix in %s line %d: %s" msgstr "Affisso duplicato in %s linea %d: %s" +#, c-format +msgid "" +"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND in %s line %d: %" +"s" +msgstr "" +"Affisso usato anche per BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND in %s linea %d: %s" + +#, c-format +msgid "Expected Y or N in %s line %d: %s" +msgstr "Y o N deve essere presente in %s linea %d: %s" + #, c-format msgid "Broken condition in %s line %d: %s" msgstr "Condizione non rispettata in %s linea %d: %s" @@ -4747,13 +4747,13 @@ msgid "COMPOUNDSYLMAX used without SYLLABLE" msgstr "COMPOUNDSYLMAX usato senza SYLLABLE" msgid "Too many postponed prefixes" -msgstr "Troppi prefissi posposti" +msgstr "Troppi suffissi" msgid "Too many compound flags" msgstr "Troppi flag composti" msgid "Too many posponed prefixes and/or compound flags" -msgstr "Troppi prefissi posposti e/o flag composti" +msgstr "Troppi suffissi e/o flag composti" #, c-format msgid "Missing SOFO%s line in %s" @@ -4867,11 +4867,8 @@ msgstr "Fatto!" msgid "Estimated runtime memory use: %d bytes" msgstr "Uso stimato di memoria durante esecuzione: %d bytes" -msgid "E764: 'spellfile' is not set" -msgstr "E764: opzione 'spellfile' vuota" - #, c-format -msgid "E765: 'spellfile' does not have %ld enties" +msgid "E765: 'spellfile' does not have %ld entries" msgstr "E765: 'spellfile' non ha %ld elementi" msgid "E763: Word characters differ between spell files" @@ -5406,9 +5403,6 @@ msgstr "con GUI Cocoa." msgid "with (classic) GUI." msgstr "con GUI (classica)." -msgid "with KDE GUI." -msgstr "con GUI KDE." - msgid " Features included (+) or not (-):\n" msgstr " Opzioni incluse (+) o escluse (-):\n" @@ -5862,7 +5856,7 @@ msgid "E49: Invalid scroll size" msgstr "E49: Quantità di 'scroll' non valida" msgid "E91: 'shell' option is empty" -msgstr "E91: opzione 'shell' vuota" +msgstr "E91: opzione 'shell' non impostata" msgid "E255: Couldn't read in sign data!" msgstr "E255: Errore -- non sono riuscito a leggere i dati del 'sign'!" @@ -5871,7 +5865,7 @@ msgid "E72: Close error on swap file" msgstr "E72: Errore durante chiusura swap file" msgid "E73: tag stack empty" -msgstr "E73: tag stack vuota" +msgstr "E73: tag stack non impostata" msgid "E74: Command too complex" msgstr "E74: Comando troppo complesso" @@ -5933,3 +5927,13 @@ msgstr "E682: Espressione o delimitatore di ricerca non validi" msgid "E139: File is loaded in another buffer" msgstr "E139: File già caricato in un altro buffer" + +#, c-format +msgid "E764: Option '%s' is not set" +msgstr "E764: opzione '%s' non impostata" + +msgid "search hit TOP, continuing at BOTTOM" +msgstr "raggiunta la CIMA nella ricerca, continuo dal FONDO" + +msgid "search hit BOTTOM, continuing at TOP" +msgstr "raggiunto il FONDO nella ricerca, continuo dalla CIMA" diff --git a/src/proto/eval.pro b/src/proto/eval.pro index 7c0ca8402..0b76ff6af 100644 --- a/src/proto/eval.pro +++ b/src/proto/eval.pro @@ -61,6 +61,7 @@ void set_reg_var __ARGS((int c)); char_u *v_exception __ARGS((char_u *oldval)); char_u *v_throwpoint __ARGS((char_u *oldval)); char_u *set_cmdarg __ARGS((exarg_T *eap, char_u *oldarg)); +void free_tv __ARGS((typval_T *varp)); void clear_tv __ARGS((typval_T *varp)); long get_tv_number_chk __ARGS((typval_T *varp, int *denote)); char_u *get_tv_string_chk __ARGS((typval_T *varp)); diff --git a/src/proto/hashtable.pro b/src/proto/hashtable.pro index aebb458d6..90723765c 100644 --- a/src/proto/hashtable.pro +++ b/src/proto/hashtable.pro @@ -1,6 +1,7 @@ /* hashtable.c */ void hash_init __ARGS((hashtab_T *ht)); void hash_clear __ARGS((hashtab_T *ht)); +void hash_clear_all __ARGS((hashtab_T *ht, int off)); hashitem_T *hash_find __ARGS((hashtab_T *ht, char_u *key)); hashitem_T *hash_lookup __ARGS((hashtab_T *ht, char_u *key, hash_T hash)); void hash_debug_results __ARGS((void)); diff --git a/src/proto/memline.pro b/src/proto/memline.pro index 90d328559..de75a7dcf 100644 --- a/src/proto/memline.pro +++ b/src/proto/memline.pro @@ -1,32 +1,33 @@ /* memline.c */ -extern int ml_open __ARGS((void)); -extern void ml_setname __ARGS((buf_T *buf)); -extern void ml_open_files __ARGS((void)); -extern void ml_open_file __ARGS((buf_T *buf)); -extern void check_need_swap __ARGS((int newfile)); -extern void ml_close __ARGS((buf_T *buf, int del_file)); -extern void ml_close_all __ARGS((int del_file)); -extern void ml_close_notmod __ARGS((void)); -extern void ml_timestamp __ARGS((buf_T *buf)); -extern void ml_recover __ARGS((void)); -extern int recover_names __ARGS((char_u **fname, int list, int nr)); -extern void ml_sync_all __ARGS((int check_file, int check_char)); -extern void ml_preserve __ARGS((buf_T *buf, int message)); -extern char_u *ml_get __ARGS((linenr_T lnum)); -extern char_u *ml_get_pos __ARGS((pos_T *pos)); -extern char_u *ml_get_curline __ARGS((void)); -extern char_u *ml_get_cursor __ARGS((void)); -extern char_u *ml_get_buf __ARGS((buf_T *buf, linenr_T lnum, int will_change)); -extern int ml_line_alloced __ARGS((void)); -extern int ml_append __ARGS((linenr_T lnum, char_u *line, colnr_T len, int newfile)); -extern int ml_replace __ARGS((linenr_T lnum, char_u *line, int copy)); -extern int ml_delete __ARGS((linenr_T lnum, int message)); -extern void ml_setmarked __ARGS((linenr_T lnum)); -extern linenr_T ml_firstmarked __ARGS((void)); -extern void ml_clearmarked __ARGS((void)); -extern char_u *makeswapname __ARGS((char_u *fname, char_u *ffname, buf_T *buf, char_u *dir_name)); -extern char_u *get_file_in_dir __ARGS((char_u *fname, char_u *dname)); -extern void ml_setflags __ARGS((buf_T *buf)); -extern long ml_find_line_or_offset __ARGS((buf_T *buf, linenr_T lnum, long *offp)); -extern void goto_byte __ARGS((long cnt)); +int ml_open __ARGS((buf_T *buf)); +void ml_setname __ARGS((buf_T *buf)); +void ml_open_files __ARGS((void)); +void ml_open_file __ARGS((buf_T *buf)); +void check_need_swap __ARGS((int newfile)); +void ml_close __ARGS((buf_T *buf, int del_file)); +void ml_close_all __ARGS((int del_file)); +void ml_close_notmod __ARGS((void)); +void ml_timestamp __ARGS((buf_T *buf)); +void ml_recover __ARGS((void)); +int recover_names __ARGS((char_u **fname, int list, int nr)); +void ml_sync_all __ARGS((int check_file, int check_char)); +void ml_preserve __ARGS((buf_T *buf, int message)); +char_u *ml_get __ARGS((linenr_T lnum)); +char_u *ml_get_pos __ARGS((pos_T *pos)); +char_u *ml_get_curline __ARGS((void)); +char_u *ml_get_cursor __ARGS((void)); +char_u *ml_get_buf __ARGS((buf_T *buf, linenr_T lnum, int will_change)); +int ml_line_alloced __ARGS((void)); +int ml_append __ARGS((linenr_T lnum, char_u *line, colnr_T len, int newfile)); +int ml_append_buf __ARGS((buf_T *buf, linenr_T lnum, char_u *line, colnr_T len, int newfile)); +int ml_replace __ARGS((linenr_T lnum, char_u *line, int copy)); +int ml_delete __ARGS((linenr_T lnum, int message)); +void ml_setmarked __ARGS((linenr_T lnum)); +linenr_T ml_firstmarked __ARGS((void)); +void ml_clearmarked __ARGS((void)); +char_u *makeswapname __ARGS((char_u *fname, char_u *ffname, buf_T *buf, char_u *dir_name)); +char_u *get_file_in_dir __ARGS((char_u *fname, char_u *dname)); +void ml_setflags __ARGS((buf_T *buf)); +long ml_find_line_or_offset __ARGS((buf_T *buf, linenr_T lnum, long *offp)); +void goto_byte __ARGS((long cnt)); /* vim: set ft=c : */ diff --git a/src/proto/spell.pro b/src/proto/spell.pro index 87261a244..791ec240b 100644 --- a/src/proto/spell.pro +++ b/src/proto/spell.pro @@ -1,5 +1,5 @@ /* spell.c */ -int spell_check __ARGS((win_T *wp, char_u *ptr, hlf_T *attrp, int *capcol)); +int spell_check __ARGS((win_T *wp, char_u *ptr, hlf_T *attrp, int *capcol, int docount)); int spell_move_to __ARGS((win_T *wp, int dir, int allwords, int curline, hlf_T *attrp)); void spell_cat_line __ARGS((char_u *buf, char_u *line, int maxlen)); char_u *did_set_spelllang __ARGS((buf_T *buf)); @@ -14,7 +14,7 @@ void init_spell_chartab __ARGS((void)); int spell_check_sps __ARGS((void)); void spell_suggest __ARGS((int count)); void ex_spellrepall __ARGS((exarg_T *eap)); -void spell_suggest_list __ARGS((garray_T *gap, char_u *word, int maxcount, int need_cap)); +void spell_suggest_list __ARGS((garray_T *gap, char_u *word, int maxcount, int need_cap, int interactive)); char_u *eval_soundfold __ARGS((char_u *word)); void ex_spelldump __ARGS((exarg_T *eap)); char_u *spell_to_word_end __ARGS((char_u *start, buf_T *buf)); diff --git a/src/quickfix.c b/src/quickfix.c index d0a2e153e..f550f116a 100644 --- a/src/quickfix.c +++ b/src/quickfix.c @@ -86,6 +86,7 @@ struct eformat /* 'O' overread (partial) message */ char_u flags; /* additional flags given in prefix */ /* '-' do not include this line */ + /* '+' include whole line in message */ }; static int qf_init_ext __ARGS((char_u *efile, buf_T *buf, typval_T *tv, char_u *errorformat, int newlist, linenr_T lnumfirst, linenr_T lnumlast)); @@ -578,7 +579,7 @@ restofline: col = (int)atol((char *)regmatch.startp[i]); if ((i = (int)fmt_ptr->addr[4]) > 0) /* %t */ type = *regmatch.startp[i]; - if (fmt_ptr->flags == '+' && !multiscan) /* %+ */ + if (fmt_ptr->flags == '+' && !multiscan) /* %+ */ STRCPY(errmsg, IObuff); else if ((i = (int)fmt_ptr->addr[5]) > 0) /* %m */ { @@ -613,9 +614,9 @@ restofline: } } multiscan = FALSE; - if (!fmt_ptr || idx == 'D' || idx == 'X') + if (fmt_ptr == NULL || idx == 'D' || idx == 'X') { - if (fmt_ptr) + if (fmt_ptr != NULL) { if (idx == 'D') /* enter directory */ { @@ -634,10 +635,10 @@ restofline: lnum = 0; /* don't jump to this line */ valid = FALSE; STRCPY(errmsg, IObuff); /* copy whole line to error message */ - if (!fmt_ptr) + if (fmt_ptr == NULL) multiline = multiignore = FALSE; } - else if (fmt_ptr) + else if (fmt_ptr != NULL) { if (vim_strchr((char_u *)"AEWI", idx) != NULL) multiline = TRUE; /* start of a multi-line message */ @@ -2747,7 +2748,7 @@ load_dummy_buffer(fname) /* Need to set the filename for autocommands. */ (void)setfname(curbuf, fname, NULL, FALSE); - if (ml_open() == OK) + if (ml_open(curbuf) == OK) { /* Create swap file now to avoid the ATTENTION message. */ check_need_swap(TRUE); @@ -2978,7 +2979,7 @@ ex_cbuffer(eap) #if defined(FEAT_EVAL) || defined(PROTO) /* - * ":cexpr {expr}" command. + * ":cexpr {expr}" and ":caddexpr {expr}" command. */ void ex_cexpr(eap) @@ -2986,16 +2987,23 @@ ex_cexpr(eap) { typval_T *tv; + /* Evaluate the expression. When the result is a string or a list we can + * use it to fill the errorlist. */ tv = eval_expr(eap->arg, NULL); - if (!tv || (tv->v_type != VAR_STRING && tv->v_type != VAR_LIST) || - (tv->v_type == VAR_STRING && !tv->vval.v_string) || - (tv->v_type == VAR_LIST && !tv->vval.v_list)) - return; - - if (qf_init_ext(NULL, NULL, tv, p_efm, TRUE, (linenr_T)0, (linenr_T)0) > 0) - qf_jump(0, 0, eap->forceit); /* display first error */ - - clear_tv(tv); + if (tv != NULL) + { + if ((tv->v_type == VAR_STRING && tv->vval.v_string != NULL) + || (tv->v_type == VAR_LIST && tv->vval.v_list != NULL)) + { + if (qf_init_ext(NULL, NULL, tv, p_efm, eap->cmdidx == CMD_cexpr, + (linenr_T)0, (linenr_T)0) > 0 + && eap->cmdidx == CMD_cexpr) + qf_jump(0, 0, eap->forceit); /* display first error */ + } + else + EMSG(_("E999: String or List expected")); + free_tv(tv); + } } #endif diff --git a/src/screen.c b/src/screen.c index 09821bd1a..fb5593447 100644 --- a/src/screen.c +++ b/src/screen.c @@ -134,7 +134,7 @@ static void fold_line __ARGS((win_T *wp, long fold_count, foldinfo_T *foldinfo, static void fill_foldcolumn __ARGS((char_u *p, win_T *wp, int closed, linenr_T lnum)); static void copy_text_attr __ARGS((int off, char_u *buf, int len, int attr)); #endif -static int win_line __ARGS((win_T *, linenr_T, int, int)); +static int win_line __ARGS((win_T *, linenr_T, int, int, int nochange)); static int char_needs_redraw __ARGS((int off_from, int off_to, int cols)); #ifdef FEAT_RIGHTLEFT static void screen_line __ARGS((int row, int coloff, int endcol, int clear_width, int rlflag)); @@ -1681,7 +1681,7 @@ win_update(wp) /* * Display one line. */ - row = win_line(wp, lnum, srow, wp->w_height); + row = win_line(wp, lnum, srow, wp->w_height, mod_top == 0); #ifdef FEAT_FOLDING wp->w_lines[idx].wl_folded = FALSE; @@ -2446,12 +2446,14 @@ fill_foldcolumn(p, wp, closed, lnum) * * Return the number of last row the line occupies. */ +/* ARGSUSED */ static int -win_line(wp, lnum, startrow, endrow) +win_line(wp, lnum, startrow, endrow, nochange) win_T *wp; linenr_T lnum; int startrow; int endrow; + int nochange; /* not updating for changed text */ { int col; /* visual column on screen */ unsigned off; /* offset in ScreenLines/ScreenAttrs */ @@ -3744,7 +3746,8 @@ win_line(wp, lnum, startrow, endrow) else p = prev_ptr; cap_col -= (prev_ptr - line); - len = spell_check(wp, p, &spell_hlf, &cap_col); + len = spell_check(wp, p, &spell_hlf, &cap_col, + nochange); word_end = v + len; /* In Insert mode only highlight a word that diff --git a/src/spell.c b/src/spell.c index ffe5a207c..a1ab89c82 100644 --- a/src/spell.c +++ b/src/spell.c @@ -43,6 +43,9 @@ * * Thanks to Olaf Seibert for providing an example implementation of this tree * and the compression mechanism. + * LZ trie ideas: + * http://www.irb.hr/hr/home/ristov/papers/RistovLZtrieRevision1.pdf + * More papers: http://www-igm.univ-mlv.fr/~laporte/publi_en.html * * Matching involves checking the caps type: Onecap ALLCAP KeepCap. * @@ -56,16 +59,27 @@ # define SPELL_PRINTTREE #endif +/* Use DEBUG_TRIEWALK to print the changes made in suggest_trie_walk(). */ +#if 0 +# define DEBUG_TRIEWALK +#endif + /* * Use this to adjust the score after finding suggestions, based on the * suggested word sounding like the bad word. This is much faster than doing * it for every possible suggestion. - * Disadvantage: When "the" is typed as "hte" it sounds different and goes - * down in the list. + * Disadvantage: When "the" is typed as "hte" it sounds quite different ("@" + * vs "ht") and goes down in the list. * Used when 'spellsuggest' is set to "best". */ #define RESCORE(word_score, sound_score) ((3 * word_score + sound_score) / 4) +/* + * Do the opposite: based on a maximum end score and a known sound score, + * compute the the maximum word score that can be used. + */ +#define MAXSCORE(word_score, sound_score) ((4 * word_score - sound_score) / 3) + /* * Vim spell file format:

* @@ -133,6 +147,9 @@ * 1 byte length of * N bytes "to" part of replacement * + * sectionID == SN_REPSAL: ... + * just like SN_REP but for soundfolded words + * * sectionID == SN_SAL: ... * 1 byte flags for soundsalike conversion: * SAL_F0LLOWUP @@ -151,6 +168,12 @@ * 2 bytes length of * N bytes "to" part of soundfold * + * sectionID == SN_SUGFILE: + * 8 bytes time in seconds that must match with .sug file + * + * sectionID == SN_WORDS: ... + * N bytes NUL terminated common word + * * sectionID == SN_MAP: * N bytes String with sequences of similar characters, * separated by slashes. @@ -236,6 +259,32 @@ * All text characters are in 'encoding', but stored as single bytes. */ +/* + * Vim .sug file format: + * + * + * + * : + * + * 6 bytes "VIMsug" + * 1 byte VIMSUGVERSION + * 8 bytes timestamp that must match with .spl file + * + * + * : (see above, no flags or region used) + * + * + * : ... + * + * 4 bytes number of following + * + * : ... NUL + * + * : X bytes word number that results in this soundfolded word, + * stored as an offset to the previous number in as + * few bytes as possible, see offset2bytes()) + */ + #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64) # include /* for lseek(), must be before vim.h */ #endif @@ -248,6 +297,10 @@ # include #endif +#ifndef UNIX /* it's in os_unix.h for Unix */ +# include /* for time_t */ +#endif + #define MAXWLEN 250 /* Assume max. word len is this many bytes. Some places assume a word length fits in a byte, thus it can't be above 255. */ @@ -302,8 +355,8 @@ typedef long idx_T; * follow; never used in prefix tree */ #define BY_SPECIAL BY_FLAGS2 /* highest special byte value */ -/* Info from "REP" and "SAL" entries in ".aff" file used in si_rep, sl_rep, - * and si_sal. Not for sl_sal! +/* Info from "REP", "REPSAL" and "SAL" entries in ".aff" file used in si_rep, + * si_repsal, sl_rep, and si_sal. Not for sl_sal! * One replacement: from "ft_from" to "ft_to". */ typedef struct fromto_S { @@ -374,6 +427,8 @@ struct slang_S char_u *sl_midword; /* MIDWORD string or NULL */ + hashtab_T sl_wordcount; /* hashtable with word count, wordcount_T */ + int sl_compmax; /* COMPOUNDMAX (default: MAXWLEN) */ int sl_compminlen; /* COMPOUNDMIN (default: 0) */ int sl_compsylmax; /* COMPOUNDSYLMAX (default: MAXWLEN) */ @@ -394,12 +449,23 @@ struct slang_S garray_T sl_sal; /* list of salitem_T entries from SAL lines */ salfirst_T sl_sal_first[256]; /* indexes where byte first appears, -1 if there is none */ - int sl_sofo; /* SOFOFROM and SOFOTO instead of SAL items: - * "sl_sal_first" maps chars, when has_mbyte - * "sl_sal" is a list of wide char lists. */ int sl_followup; /* SAL followup */ int sl_collapse; /* SAL collapse_result */ int sl_rem_accents; /* SAL remove_accents */ + int sl_sofo; /* SOFOFROM and SOFOTO instead of SAL items: + * "sl_sal_first" maps chars, when has_mbyte + * "sl_sal" is a list of wide char lists. */ + garray_T sl_repsal; /* list of fromto_T entries from REPSAL lines */ + short sl_repsal_first[256]; /* sl_rep_first for REPSAL lines */ + + /* Info from the .sug file. Loaded on demand. */ + time_t sl_sugtime; /* timestamp for .sug file */ + char_u *sl_sbyts; /* soundfolded word bytes */ + idx_T *sl_sidxs; /* soundfolded word indexes */ + buf_T *sl_sugbuf; /* buffer with word number table */ + int sl_sugloaded; /* TRUE when .sug file was loaded or failed to + load */ + int sl_has_map; /* TRUE if there is a MAP line */ #ifdef FEAT_MBYTE hashtab_T sl_map_hash; /* MAP for multi-byte chars */ @@ -407,6 +473,8 @@ struct slang_S #else char_u sl_map_array[256]; /* MAP for first 256 chars */ #endif + hashtab_T sl_sounddone; /* table with soundfolded words that have + handled, see add_sound_suggest() */ }; /* First language that is loaded, start of the linked list of loaded @@ -437,6 +505,10 @@ typedef struct langp_S #define VIMSPELLMAGICL 8 #define VIMSPELLVERSION 50 +#define VIMSUGMAGIC "VIMsug" /* string at start of Vim .sug file */ +#define VIMSUGMAGICL 6 +#define VIMSUGVERSION 1 + /* Section IDs. Only renumber them when VIMSPELLVERSION changes! */ #define SN_REGION 0 /* section */ #define SN_CHARFLAGS 1 /* charflags section */ @@ -449,6 +521,9 @@ typedef struct langp_S #define SN_COMPOUND 8 /* compound words section */ #define SN_SYLLABLE 9 /* syllable section */ #define SN_NOBREAK 10 /* NOBREAK section */ +#define SN_SUGFILE 11 /* timestamp for .sug file */ +#define SN_REPSAL 12 /* REPSAL items section */ +#define SN_WORDS 13 /* common words */ #define SN_END 255 /* end of sections */ #define SNF_REQUIRED 1 /* : required section */ @@ -463,6 +538,17 @@ typedef struct langp_S /* file used for "zG" and "zW" */ static char_u *int_wordlist = NULL; +typedef struct wordcount_S +{ + short_u wc_count; /* nr of times word was seen */ + char_u wc_word[1]; /* word, actually longer */ +} wordcount_T; + +static wordcount_T dumwc; +#define WC_KEY_OFF (dumwc.wc_word - (char_u *)&dumwc) +#define HI2WC(hi) ((wordcount_T *)((hi)->hi_key - WC_KEY_OFF)) +#define MAXWORDCOUNT 0xffff + /* * Information used when looking for suggestions. */ @@ -471,6 +557,7 @@ typedef struct suginfo_S garray_T su_ga; /* suggestions, contains "suggest_T" */ int su_maxcount; /* max. number of suggestions displayed */ int su_maxscore; /* maximum score for adding to su_ga */ + int su_sfmaxscore; /* idem, for when doing soundfold words */ garray_T su_sga; /* like su_ga, sound-folded scoring */ char_u *su_badptr; /* start of bad word in line */ int su_badlen; /* length of detected bad word in line */ @@ -478,7 +565,6 @@ typedef struct suginfo_S char_u su_badword[MAXWLEN]; /* bad word truncated at su_badlen */ char_u su_fbadword[MAXWLEN]; /* su_badword case-folded */ char_u su_sal_badword[MAXWLEN]; /* su_badword soundfolded */ - slang_T *su_slang_first; /* slang_T used for su_sal_badword */ hashtab_T su_banned; /* table with banned words */ slang_T *su_sallang; /* default language for sound folding */ } suginfo_T; @@ -487,6 +573,7 @@ typedef struct suginfo_S typedef struct suggest_S { char_u *st_word; /* suggested word, allocated string */ + int st_wordlen; /* STRLEN(st_word) */ int st_orglen; /* length of replaced text */ int st_score; /* lower is better */ int st_altscore; /* used when st_score compares equal */ @@ -497,21 +584,24 @@ typedef struct suggest_S #define SUG(ga, i) (((suggest_T *)(ga).ga_data)[i]) -/* Number of suggestions kept when cleaning up. When rescore_suggestions() is - * called the score may change, thus we need to keep more than what is - * displayed. */ -#define SUG_CLEAN_COUNT(su) ((su)->su_maxcount < 50 ? 50 : (su)->su_maxcount) +/* TRUE if a word appears in the list of banned words. */ +#define WAS_BANNED(su, word) (!HASHITEM_EMPTY(hash_find(&su->su_banned, word))) + +/* Number of suggestions kept when cleaning up. we need to keep more than + * what is displayed, because when rescore_suggestions() is called the score + * may change and wrong suggestions may be removed later. */ +#define SUG_CLEAN_COUNT(su) ((su)->su_maxcount < 130 ? 150 : (su)->su_maxcount + 20) /* Threshold for sorting and cleaning up suggestions. Don't want to keep lots * of suggestions that are not going to be displayed. */ -#define SUG_MAX_COUNT(su) ((su)->su_maxcount + 50) +#define SUG_MAX_COUNT(su) (SUG_CLEAN_COUNT(su) + 50) /* score for various changes */ #define SCORE_SPLIT 149 /* split bad word */ #define SCORE_ICASE 52 /* slightly different case */ #define SCORE_REGION 200 /* word is for different region */ #define SCORE_RARE 180 /* rare word */ -#define SCORE_SWAP 90 /* swap two characters */ +#define SCORE_SWAP 75 /* swap two characters */ #define SCORE_SWAP3 110 /* swap two characters in three */ #define SCORE_REP 65 /* REP replacement */ #define SCORE_SUBST 93 /* substitute a character */ @@ -529,8 +619,27 @@ typedef struct suggest_S #define SCORE_MAXINIT 350 /* Initial maximum score: higher == slower. * 350 allows for about three changes. */ +#define SCORE_COMMON1 30 /* subtracted for words seen before */ +#define SCORE_COMMON2 40 /* subtracted for words often seen */ +#define SCORE_COMMON3 50 /* subtracted for words very often seen */ +#define SCORE_THRES2 10 /* word count threshold for COMMON2 */ +#define SCORE_THRES3 100 /* word count threshold for COMMON3 */ + +/* When trying changed soundfold words it becomes slow when trying more than + * two changes. With less then two changes it's slightly faster but we miss a + * few good suggestions. In rare cases we need to try three of four changes. + */ +#define SCORE_SFMAX1 200 /* maximum score for first try */ +#define SCORE_SFMAX2 300 /* maximum score for second try */ +#define SCORE_SFMAX3 400 /* maximum score for third try */ + #define SCORE_BIG SCORE_INS * 3 /* big difference */ -#define SCORE_MAXMAX 999999 /* accept any score */ +#define SCORE_MAXMAX 999999 /* accept any score */ +#define SCORE_LIMITMAX 350 /* for spell_edit_score_limit() */ + +/* for spell_edit_score_limit() we need to know the minimum value of + * SCORE_ICASE, SCORE_SWAP, SCORE_DEL, SCORE_SIMILAR and SCORE_INS */ +#define SCORE_EDIT_MIN SCORE_SIMILAR /* * Structure to store info for word matching. @@ -617,6 +726,7 @@ typedef enum STATE_ENDNUL, /* Past NUL bytes at start of the node. */ STATE_PLAIN, /* Use each byte of the node. */ STATE_DEL, /* Delete a byte from the bad word. */ + STATE_INS_PREP, /* Prepare for inserting bytes. */ STATE_INS, /* Insert a byte in the bad word. */ STATE_SWAP, /* Swap two bytes. */ STATE_UNSWAP, /* Undo swap two characters. */ @@ -657,6 +767,8 @@ typedef struct trystate_S char_u ts_complen; /* nr of compound words used */ char_u ts_compsplit; /* index for "compflags" where word was spit */ char_u ts_save_badflags; /* su_badflags saved here */ + char_u ts_delidx; /* index in fword for char that was deleted, + valid when "ts_flags" has TSF_DIDDEL */ } trystate_T; /* values for ts_isdiff */ @@ -667,11 +779,12 @@ typedef struct trystate_S /* values for ts_flags */ #define TSF_PREFIXOK 1 /* already checked that prefix is OK */ #define TSF_DIDSPLIT 2 /* tried split at this point */ +#define TSF_DIDDEL 4 /* did a delete, "ts_delidx" has index */ /* special values ts_prefixdepth */ #define PFD_NOPREFIX 0xff /* not using prefixes */ #define PFD_PREFIXTREE 0xfe /* walking through the prefix tree */ -#define PFD_NOTSPECIAL 0xfd /* first value that's not special */ +#define PFD_NOTSPECIAL 0xfd /* highest value that's not special */ /* mode values for find_word */ #define FIND_FOLDWORD 0 /* find word case-folded */ @@ -683,6 +796,7 @@ typedef struct trystate_S static slang_T *slang_alloc __ARGS((char_u *lang)); static void slang_free __ARGS((slang_T *lp)); static void slang_clear __ARGS((slang_T *lp)); +static void slang_clear_sug __ARGS((slang_T *lp)); static void find_word __ARGS((matchinf_T *mip, int mode)); static int can_compound __ARGS((slang_T *slang, char_u *word, char_u *flags)); static int valid_word_prefix __ARGS((int totprefcnt, int arridx, int flags, char_u *word, slang_T *slang, int cond_req)); @@ -700,8 +814,11 @@ static char_u *read_string __ARGS((FILE *fd, int cnt)); static int read_region_section __ARGS((FILE *fd, slang_T *slang, int len)); static int read_charflags_section __ARGS((FILE *fd)); static int read_prefcond_section __ARGS((FILE *fd, slang_T *lp)); -static int read_rep_section __ARGS((FILE *fd, slang_T *slang)); +static int read_rep_section __ARGS((FILE *fd, garray_T *gap, short *first)); static int read_sal_section __ARGS((FILE *fd, slang_T *slang)); +static int read_words_section __ARGS((FILE *fd, slang_T *lp, int len)); +static void count_common_word __ARGS((slang_T *lp, char_u *word, int len, int count)); +static int score_wordcount_adj __ARGS((slang_T *slang, int score, char_u *word, int split)); static int read_sofo_section __ARGS((FILE *fd, slang_T *slang)); static int read_compound __ARGS((FILE *fd, slang_T *slang, int len)); static int byte_in_str __ARGS((char_u *str, int byte)); @@ -712,7 +829,8 @@ static void set_sal_first __ARGS((slang_T *lp)); #ifdef FEAT_MBYTE static int *mb_str2wide __ARGS((char_u *s)); #endif -static idx_T read_tree __ARGS((FILE *fd, char_u *byts, idx_T *idxs, int maxidx, int startidx, int prefixtree, int maxprefcondnr)); +static int spell_read_tree __ARGS((FILE *fd, char_u **bytsp, idx_T **idxsp, int prefixtree, int prefixcnt)); +static idx_T read_tree_node __ARGS((FILE *fd, char_u *byts, idx_T *idxs, int maxidx, int startidx, int prefixtree, int maxprefcondnr)); static void clear_midword __ARGS((buf_T *buf)); static void use_midword __ARGS((slang_T *lp, buf_T *buf)); static int find_region __ARGS((char_u *rp, char_u *region)); @@ -723,18 +841,21 @@ static void set_spell_charflags __ARGS((char_u *flags, int cnt, char_u *upp)); static int set_spell_chartab __ARGS((char_u *fol, char_u *low, char_u *upp)); static int spell_casefold __ARGS((char_u *p, int len, char_u *buf, int buflen)); static int check_need_cap __ARGS((linenr_T lnum, colnr_T col)); -static void spell_find_suggest __ARGS((char_u *badptr, suginfo_T *su, int maxcount, int banbadword, int need_cap)); +static void spell_find_suggest __ARGS((char_u *badptr, suginfo_T *su, int maxcount, int banbadword, int need_cap, int interactive)); #ifdef FEAT_EVAL static void spell_suggest_expr __ARGS((suginfo_T *su, char_u *expr)); #endif static void spell_suggest_file __ARGS((suginfo_T *su, char_u *fname)); -static void spell_suggest_intern __ARGS((suginfo_T *su)); +static void spell_suggest_intern __ARGS((suginfo_T *su, int interactive)); +static void suggest_load_files __ARGS((void)); +static void tree_count_words __ARGS((char_u *byts, idx_T *idxs)); static void spell_find_cleanup __ARGS((suginfo_T *su)); static void onecap_copy __ARGS((char_u *word, char_u *wcopy, int upper)); static void allcap_copy __ARGS((char_u *word, char_u *wcopy)); static void suggest_try_special __ARGS((suginfo_T *su)); static void suggest_try_change __ARGS((suginfo_T *su)); -static int try_deeper __ARGS((suginfo_T *su, trystate_T *stack, int depth, int score_add)); +static void suggest_trie_walk __ARGS((suginfo_T *su, langp_T *lp, char_u *fword, int soundfold)); +static void go_deeper __ARGS((trystate_T *stack, int depth, int score_add)); #ifdef FEAT_MBYTE static int nofold_len __ARGS((char_u *fword, int flen, char_u *word)); #endif @@ -742,14 +863,17 @@ static void find_keepcap_word __ARGS((slang_T *slang, char_u *fword, char_u *kwo static void score_comp_sal __ARGS((suginfo_T *su)); static void score_combine __ARGS((suginfo_T *su)); static int stp_sal_score __ARGS((suggest_T *stp, suginfo_T *su, slang_T *slang, char_u *badsound)); +static void suggest_try_soundalike_prep __ARGS((void)); static void suggest_try_soundalike __ARGS((suginfo_T *su)); +static void suggest_try_soundalike_finish __ARGS((void)); +static void add_sound_suggest __ARGS((suginfo_T *su, char_u *goodword, int score, langp_T *lp)); +static int soundfold_find __ARGS((slang_T *slang, char_u *word)); static void make_case_word __ARGS((char_u *fword, char_u *cword, int flags)); static void set_map_str __ARGS((slang_T *lp, char_u *map)); static int similar_chars __ARGS((slang_T *slang, int c1, int c2)); -static void add_suggestion __ARGS((suginfo_T *su, garray_T *gap, char_u *goodword, int badlen, int score, int altscore, int had_bonus, slang_T *slang)); +static void add_suggestion __ARGS((suginfo_T *su, garray_T *gap, char_u *goodword, int badlen, int score, int altscore, int had_bonus, slang_T *slang, int maxsf)); +static void check_suggestions __ARGS((suginfo_T *su, garray_T *gap)); static void add_banned __ARGS((suginfo_T *su, char_u *word)); -static int was_banned __ARGS((suginfo_T *su, char_u *word)); -static void free_banned __ARGS((suginfo_T *su)); static void rescore_suggestions __ARGS((suginfo_T *su)); static void rescore_one __ARGS((suginfo_T *su, suggest_T *stp)); static int cleanup_suggestions __ARGS((garray_T *gap, int maxscore, int keep)); @@ -760,9 +884,15 @@ static void spell_soundfold_sal __ARGS((slang_T *slang, char_u *inword, char_u * static void spell_soundfold_wsal __ARGS((slang_T *slang, char_u *inword, char_u *res)); #endif static int soundalike_score __ARGS((char_u *goodsound, char_u *badsound)); -static int spell_edit_score __ARGS((char_u *badword, char_u *goodword)); -static void dump_word __ARGS((char_u *word, int round, int flags, linenr_T lnum)); +static int spell_edit_score __ARGS((slang_T *slang, char_u *badword, char_u *goodword)); +static int spell_edit_score_limit __ARGS((slang_T *slang, char_u *badword, char_u *goodword, int limit)); +#ifdef FEAT_MBYTE +static int spell_edit_score_limit_w __ARGS((slang_T *slang, char_u *badword, char_u *goodword, int limit)); +#endif +static void dump_word __ARGS((slang_T *slang, char_u *word, int round, int flags, linenr_T lnum)); static linenr_T dump_prefixes __ARGS((slang_T *slang, char_u *word, int round, int flags, linenr_T startlnum)); +static buf_T *open_spellbuf __ARGS((void)); +static void close_spellbuf __ARGS((buf_T *buf)); /* * Use our own character-case definitions, because the current locale may @@ -831,11 +961,12 @@ static char *msg_compressing = N_("Compressing word tree..."); * caller can skip over the word. */ int -spell_check(wp, ptr, attrp, capcol) +spell_check(wp, ptr, attrp, capcol, docount) win_T *wp; /* current window */ char_u *ptr; hlf_T *attrp; int *capcol; /* column to check for Capital */ + int docount; /* count good words */ { matchinf_T mi; /* Most things are put in "mi" so that it can be passed to functions quickly. */ @@ -843,6 +974,7 @@ spell_check(wp, ptr, attrp, capcol) int c; int wrongcaplen = 0; int lpi; + int count_word = docount; /* A word never starts at a space or a control character. Return quickly * then, skipping over the character. */ @@ -905,8 +1037,8 @@ spell_check(wp, ptr, attrp, capcol) /* * Loop over the languages specified in 'spelllang'. - * We check them all, because a matching word may be longer than an - * already found matching word. + * We check them all, because a word may be matched longer in another + * language. */ for (lpi = 0; lpi < wp->w_buffer->b_langp.ga_len; ++lpi) { @@ -934,6 +1066,14 @@ spell_check(wp, ptr, attrp, capcol) mi.mi_result = mi.mi_result2; mi.mi_end = mi.mi_end2; } + + /* Count the word in the first language where it's found to be OK. */ + if (count_word && mi.mi_result == SP_OK) + { + count_common_word(mi.mi_lp->lp_slang, ptr, + (int)(mi.mi_end - ptr), 1); + count_word = FALSE; + } } if (mi.mi_result != SP_OK) @@ -1897,7 +2037,7 @@ spell_move_to(wp, dir, allwords, curline, attrp) /* start of word */ attr = HLF_COUNT; - len = spell_check(wp, p, &attr, &capcol); + len = spell_check(wp, p, &attr, &capcol, FALSE); if (attr != HLF_COUNT) { @@ -2140,7 +2280,7 @@ int_wordlist_spl(fname) } /* - * Allocate a new slang_T. + * Allocate a new slang_T for language "lang". "lang" can be NULL. * Caller must fill "sl_next". */ static slang_T * @@ -2152,11 +2292,15 @@ slang_alloc(lang) lp = (slang_T *)alloc_clear(sizeof(slang_T)); if (lp != NULL) { - lp->sl_name = vim_strsave(lang); + if (lang != NULL) + lp->sl_name = vim_strsave(lang); ga_init2(&lp->sl_rep, sizeof(fromto_T), 10); + ga_init2(&lp->sl_repsal, sizeof(fromto_T), 10); lp->sl_compmax = MAXWLEN; lp->sl_compsylmax = MAXWLEN; + hash_init(&lp->sl_wordcount); } + return lp; } @@ -2184,6 +2328,7 @@ slang_clear(lp) fromto_T *ftp; salitem_T *smp; int i; + int round; vim_free(lp->sl_fbyts); lp->sl_fbyts = NULL; @@ -2199,14 +2344,17 @@ slang_clear(lp) vim_free(lp->sl_pidxs); lp->sl_pidxs = NULL; - gap = &lp->sl_rep; - while (gap->ga_len > 0) + for (round = 1; round <= 2; ++round) { - ftp = &((fromto_T *)gap->ga_data)[--gap->ga_len]; - vim_free(ftp->ft_from); - vim_free(ftp->ft_to); + gap = round == 1 ? &lp->sl_rep : &lp->sl_repsal; + while (gap->ga_len > 0) + { + ftp = &((fromto_T *)gap->ga_data)[--gap->ga_len]; + vim_free(ftp->ft_from); + vim_free(ftp->ft_to); + } + ga_clear(gap); } - ga_clear(gap); gap = &lp->sl_sal; if (lp->sl_sofo) @@ -2253,27 +2401,39 @@ slang_clear(lp) lp->sl_syllable = NULL; ga_clear(&lp->sl_syl_items); -#ifdef FEAT_MBYTE - { - int todo = lp->sl_map_hash.ht_used; - hashitem_T *hi; + hash_clear_all(&lp->sl_wordcount, WC_KEY_OFF); + hash_init(&lp->sl_wordcount); - for (hi = lp->sl_map_hash.ht_array; todo > 0; ++hi) - if (!HASHITEM_EMPTY(hi)) - { - --todo; - vim_free(hi->hi_key); - } - } - hash_clear(&lp->sl_map_hash); +#ifdef FEAT_MBYTE + hash_clear_all(&lp->sl_map_hash, 0); #endif + /* Clear info from .sug file. */ + slang_clear_sug(lp); + lp->sl_compmax = MAXWLEN; lp->sl_compminlen = 0; lp->sl_compsylmax = MAXWLEN; lp->sl_regions[0] = NUL; } +/* + * Clear the info from the .sug file in "lp". + */ + static void +slang_clear_sug(lp) + slang_T *lp; +{ + vim_free(lp->sl_sbyts); + lp->sl_sbyts = NULL; + vim_free(lp->sl_sidxs); + lp->sl_sidxs = NULL; + close_spellbuf(lp->sl_sugbuf); + lp->sl_sugbuf = NULL; + lp->sl_sugloaded = FALSE; + lp->sl_sugtime = 0; +} + /* * Load one spell file and store the info into a slang_T. * Invoked through do_in_runtimepath(). @@ -2303,11 +2463,13 @@ spell_load_cb(fname, cookie) /* * Load one spell file and store the info into a slang_T. * - * This is invoked in two ways: + * This is invoked in three ways: * - From spell_load_cb() to load a spell file for the first time. "lang" is * the language name, "old_lp" is NULL. Will allocate an slang_T. * - To reload a spell file that was changed. "lang" is NULL and "old_lp" * points to the existing slang_T. + * - Just after writing a .spl file; it's read back to produce the .sug file. + * "old_lp" is NULL and "lang" is a dummy name. Will allocate an slang_T. * Returns the slang_T the spell file was loaded into. NULL for error. */ static slang_T * @@ -2320,16 +2482,12 @@ spell_load_file(fname, lang, old_lp, silent) FILE *fd; char_u buf[VIMSPELLMAGICL]; char_u *p; - char_u *bp; - idx_T *ip; int i; int n; int len; - int round; char_u *save_sourcing_name = sourcing_name; linenr_T save_sourcing_lnum = sourcing_lnum; slang_T *lp = NULL; - idx_T idx; int c = 0; int res; @@ -2374,7 +2532,8 @@ spell_load_file(fname, lang, old_lp, silent) sourcing_name = fname; sourcing_lnum = 0; - /*
: + /* + *
: */ for (i = 0; i < VIMSPELLMAGICL; ++i) buf[i] = getc(fd); /* */ @@ -2433,7 +2592,11 @@ spell_load_file(fname, lang, old_lp, silent) break; case SN_REP: - res = read_rep_section(fd, lp); + res = read_rep_section(fd, &lp->sl_rep, lp->sl_rep_first); + break; + + case SN_REPSAL: + res = read_rep_section(fd, &lp->sl_repsal, lp->sl_repsal_first); break; case SN_SAL: @@ -2452,6 +2615,15 @@ spell_load_file(fname, lang, old_lp, silent) vim_free(p); break; + case SN_WORDS: + res = read_words_section(fd, lp, len); + break; + + case SN_SUGFILE: + for (i = 7; i >= 0; --i) /* */ + lp->sl_sugtime += getc(fd) << (i * 8); + break; + case SN_COMPOUND: res = read_compound(fd, lp, len); break; @@ -2481,9 +2653,9 @@ spell_load_file(fname, lang, old_lp, silent) goto truncerr; break; } +someerror: if (res == SP_FORMERROR) { -formerr: EMSG(_(e_format)); goto endFAIL; } @@ -2497,48 +2669,21 @@ truncerr: goto endFAIL; } - /* round 1: - * round 2: - * round 3: */ - for (round = 1; round <= 3; ++round) - { - /* The tree size was computed when writing the file, so that we can - * allocate it as one long block. */ - len = (getc(fd) << 24) + (getc(fd) << 16) + (getc(fd) << 8) + getc(fd); - if (len < 0) - goto truncerr; - if (len > 0) - { - /* Allocate the byte array. */ - bp = lalloc((long_u)len, TRUE); - if (bp == NULL) - goto endFAIL; - if (round == 1) - lp->sl_fbyts = bp; - else if (round == 2) - lp->sl_kbyts = bp; - else - lp->sl_pbyts = bp; + /* */ + res = spell_read_tree(fd, &lp->sl_fbyts, &lp->sl_fidxs, FALSE, 0); + if (res != 0) + goto someerror; - /* Allocate the index array. */ - ip = (idx_T *)lalloc_clear((long_u)(len * sizeof(int)), TRUE); - if (ip == NULL) - goto endFAIL; - if (round == 1) - lp->sl_fidxs = ip; - else if (round == 2) - lp->sl_kidxs = ip; - else - lp->sl_pidxs = ip; + /* */ + res = spell_read_tree(fd, &lp->sl_kbyts, &lp->sl_kidxs, FALSE, 0); + if (res != 0) + goto someerror; - /* Read the tree and store it in the array. */ - idx = read_tree(fd, bp, ip, len, 0, round == 3, lp->sl_prefixcnt); - if (idx == -1) - goto truncerr; - if (idx < 0) - goto formerr; - } - } + /* */ + res = spell_read_tree(fd, &lp->sl_pbyts, &lp->sl_pidxs, TRUE, + lp->sl_prefixcnt); + if (res != 0) + goto someerror; /* For a new file link it in the list of spell files. */ if (old_lp == NULL) @@ -2733,25 +2878,23 @@ read_prefcond_section(fd, lp) } /* - * Read REP items section from "fd": ... + * Read REP or REPSAL items section from "fd": ... * Return SP_*ERROR flags. */ static int -read_rep_section(fd, slang) +read_rep_section(fd, gap, first) FILE *fd; - slang_T *slang; + garray_T *gap; + short *first; { int cnt; - garray_T *gap; fromto_T *ftp; - short *first; int i; cnt = (getc(fd) << 8) + getc(fd); /* */ if (cnt < 0) return SP_TRUNCERROR; - gap = &slang->sl_rep; if (ga_grow(gap, cnt) == FAIL) return SP_OTHERERROR; @@ -2775,7 +2918,6 @@ read_rep_section(fd, slang) } /* Fill the first-index table. */ - first = slang->sl_rep_first; for (i = 0; i < 256; ++i) first[i] = -1; for (i = 0; i < gap->ga_len; ++i) @@ -2940,6 +3082,119 @@ read_sal_section(fd, slang) return 0; } +/* + * Read SN_WORDS: ... + * Return SP_*ERROR flags. + */ + static int +read_words_section(fd, lp, len) + FILE *fd; + slang_T *lp; + int len; +{ + int done = 0; + int i; + char_u word[MAXWLEN]; + + while (done < len) + { + /* Read one word at a time. */ + for (i = 0; ; ++i) + { + word[i] = getc(fd); + if (word[i] == NUL) + break; + if (i == MAXWLEN - 1) + return SP_FORMERROR; + } + + /* Init the count to 10. */ + count_common_word(lp, word, -1, 10); + done += i + 1; + } + return 0; +} + +/* + * Add a word to the hashtable of common words. + * If it's already there then the counter is increased. + */ + static void +count_common_word(lp, word, len, count) + slang_T *lp; + char_u *word; + int len; /* word length, -1 for upto NUL */ + int count; /* 1 to count once, 10 to init */ +{ + hash_T hash; + hashitem_T *hi; + wordcount_T *wc; + char_u buf[MAXWLEN]; + char_u *p; + + if (len == -1) + p = word; + else + { + vim_strncpy(buf, word, len); + p = buf; + } + + hash = hash_hash(p); + hi = hash_lookup(&lp->sl_wordcount, p, hash); + if (HASHITEM_EMPTY(hi)) + { + wc = (wordcount_T *)alloc(sizeof(wordcount_T) + STRLEN(p)); + if (wc == NULL) + return; + STRCPY(wc->wc_word, p); + wc->wc_count = count; + hash_add_item(&lp->sl_wordcount, hi, wc->wc_word, hash); + } + else + { + wc = HI2WC(hi); + if ((wc->wc_count += count) < (unsigned)count) /* check for overflow */ + wc->wc_count = MAXWORDCOUNT; + } +} + +/* + * Adjust the score of common words. + */ + static int +score_wordcount_adj(slang, score, word, split) + slang_T *slang; + int score; + char_u *word; + int split; /* word was split, less bonus */ +{ + hashitem_T *hi; + wordcount_T *wc; + int bonus; + int newscore; + + hi = hash_find(&slang->sl_wordcount, word); + if (!HASHITEM_EMPTY(hi)) + { + wc = HI2WC(hi); + if (wc->wc_count < SCORE_THRES2) + bonus = SCORE_COMMON1; + else if (wc->wc_count < SCORE_THRES3) + bonus = SCORE_COMMON2; + else + bonus = SCORE_COMMON3; + if (split) + newscore = score - bonus / 2; + else + newscore = score - bonus; + if (newscore < 0) + return 0; + return newscore; + } + return score; +} + /* * SN_SOFO: * Return SP_*ERROR flags. @@ -3433,18 +3688,64 @@ mb_str2wide(s) } #endif +/* + * Read a tree from the .spl or .sug file. + * Allocates the memory and stores pointers in "bytsp" and "idxsp". + * This is skipped when the tree has zero length. + * Returns zero when OK, SP_ value for an error. + */ + static int +spell_read_tree(fd, bytsp, idxsp, prefixtree, prefixcnt) + FILE *fd; + char_u **bytsp; + idx_T **idxsp; + int prefixtree; /* TRUE for the prefix tree */ + int prefixcnt; /* when "prefixtree" is TRUE: prefix count */ +{ + int len; + int idx; + char_u *bp; + idx_T *ip; + + /* The tree size was computed when writing the file, so that we can + * allocate it as one long block. */ + len = (getc(fd) << 24) + (getc(fd) << 16) + (getc(fd) << 8) + getc(fd); + if (len < 0) + return SP_TRUNCERROR; + if (len > 0) + { + /* Allocate the byte array. */ + bp = lalloc((long_u)len, TRUE); + if (bp == NULL) + return SP_OTHERERROR; + *bytsp = bp; + + /* Allocate the index array. */ + ip = (idx_T *)lalloc_clear((long_u)(len * sizeof(int)), TRUE); + if (ip == NULL) + return SP_OTHERERROR; + *idxsp = ip; + + /* Recursively read the tree and store it in the array. */ + idx = read_tree_node(fd, bp, ip, len, 0, prefixtree, prefixcnt); + if (idx < 0) + return idx; + } + return 0; +} + /* * Read one row of siblings from the spell file and store it in the byte array * "byts" and index array "idxs". Recursively read the children. * - * NOTE: The code here must match put_node(). + * NOTE: The code here must match put_node()! * - * Returns the index follosing the siblings. - * Returns -1 if the file is shorter than expected. - * Returns -2 if there is a format error. + * Returns the index (>= 0) following the siblings. + * Returns SP_TRUNCERROR if the file is shorter than expected. + * Returns SP_FORMERROR if there is a format error. */ static idx_T -read_tree(fd, byts, idxs, maxidx, startidx, prefixtree, maxprefcondnr) +read_tree_node(fd, byts, idxs, maxidx, startidx, prefixtree, maxprefcondnr) FILE *fd; char_u *byts; idx_T *idxs; @@ -3463,10 +3764,10 @@ read_tree(fd, byts, idxs, maxidx, startidx, prefixtree, maxprefcondnr) len = getc(fd); /* */ if (len <= 0) - return -1; + return SP_TRUNCERROR; if (startidx + len >= maxidx) - return -2; + return SP_FORMERROR; byts[idx++] = len; /* Read the byte values, flag/region bytes and shared indexes. */ @@ -3474,7 +3775,7 @@ read_tree(fd, byts, idxs, maxidx, startidx, prefixtree, maxprefcondnr) { c = getc(fd); /* */ if (c < 0) - return -1; + return SP_TRUNCERROR; if (c <= BY_SPECIAL) { if (c == BY_NOFLAGS && !prefixtree) @@ -3500,7 +3801,7 @@ read_tree(fd, byts, idxs, maxidx, startidx, prefixtree, maxprefcondnr) n = (getc(fd) << 8) + getc(fd); /* */ if (n >= maxprefcondnr) - return -2; + return SP_FORMERROR; c |= (n << 8); } else /* c must be BY_FLAGS or BY_FLAGS2 */ @@ -3526,7 +3827,7 @@ read_tree(fd, byts, idxs, maxidx, startidx, prefixtree, maxprefcondnr) /* */ n = (getc(fd) << 16) + (getc(fd) << 8) + getc(fd); if (n < 0 || n >= maxidx) - return -2; + return SP_FORMERROR; idxs[idx] = n + SHARED_MASK; c = getc(fd); /* */ } @@ -3545,7 +3846,7 @@ read_tree(fd, byts, idxs, maxidx, startidx, prefixtree, maxprefcondnr) else { idxs[startidx + i] = idx; - idx = read_tree(fd, byts, idxs, maxidx, idx, + idx = read_tree_node(fd, byts, idxs, maxidx, idx, prefixtree, maxprefcondnr); if (idx < 0) break; @@ -3820,7 +4121,7 @@ did_set_spelllang(buf) /* language has REP items itself */ lp->lp_replang = lp->lp_slang; else - /* find first similar language that does sound folding */ + /* find first similar language that has REP items */ for (j = 0; j < ga.ga_len; ++j) { lp2 = LANGP_ENTRY(ga, j); @@ -4239,11 +4540,15 @@ struct wordnode_S siblings, in following siblings it is always one. */ char_u wn_byte; /* Byte for this node. NUL for word end */ - char_u wn_affixID; /* when "wn_byte" is NUL: supported/required - prefix ID or 0 */ - short_u wn_flags; /* when "wn_byte" is NUL: WF_ flags */ - short wn_region; /* when "wn_byte" is NUL: region mask; for - PREFIXTREE it's the prefcondnr */ + + /* Info for when "wn_byte" is NUL. + * In PREFIXTREE "wn_region" is used for the prefcondnr. + * In the soundfolded word tree "wn_flags" has the MSW of the wordnr and + * "wn_region" the LSW of the wordnr. */ + char_u wn_affixID; /* supported/required prefix ID or 0 */ + short_u wn_flags; /* WF_ flags */ + short wn_region; /* region mask */ + #ifdef SPELL_PRINTTREE int wn_nr; /* sequence nr for printing */ #endif @@ -4266,6 +4571,8 @@ typedef struct spellinfo_S wordnode_T *si_prefroot; /* tree with postponed prefixes */ + long si_sugtree; /* creating the soundfolding trie */ + sblock_T *si_blocks; /* memory blocks used */ long si_blocks_cnt; /* memory blocks allocated */ long si_compress_cnt; /* words to add before lowering @@ -4276,7 +4583,7 @@ typedef struct spellinfo_S #ifdef SPELL_PRINTTREE int si_wordnode_nr; /* sequence nr for nodes */ #endif - + buf_T *si_spellbuf; /* buffer used to store soundfold word table */ int si_ascii; /* handling only ASCII words */ int si_add; /* addition file */ @@ -4292,11 +4599,15 @@ typedef struct spellinfo_S * si_region_count > 1) */ garray_T si_rep; /* list of fromto_T entries from REP lines */ + garray_T si_repsal; /* list of fromto_T entries from REPSAL lines */ garray_T si_sal; /* list of fromto_T entries from SAL lines */ char_u *si_sofofr; /* SOFOFROM text */ char_u *si_sofoto; /* SOFOTO text */ + int si_nosugfile; /* NOSUGFILE item found */ int si_followup; /* soundsalike: ? */ int si_collapse; /* soundsalike: ? */ + hashtab_T si_commonwords; /* hashtable for common words */ + time_t si_sugtime; /* timestamp for .sug file */ int si_rem_accents; /* soundsalike: remove accents */ garray_T si_map; /* MAP info concatenated */ char_u *si_midword; /* MIDWORD chars or NULL */ @@ -4337,15 +4648,24 @@ static wordnode_T *wordtree_alloc __ARGS((spellinfo_T *spin)); static int store_word __ARGS((spellinfo_T *spin, char_u *word, int flags, int region, char_u *pfxlist, int need_affix)); static int tree_add_word __ARGS((spellinfo_T *spin, char_u *word, wordnode_T *tree, int flags, int region, int affixID)); static wordnode_T *get_wordnode __ARGS((spellinfo_T *spin)); -static void deref_wordnode __ARGS((spellinfo_T *spin, wordnode_T *node)); +static int deref_wordnode __ARGS((spellinfo_T *spin, wordnode_T *node)); static void free_wordnode __ARGS((spellinfo_T *spin, wordnode_T *n)); static void wordtree_compress __ARGS((spellinfo_T *spin, wordnode_T *root)); static int node_compress __ARGS((spellinfo_T *spin, wordnode_T *node, hashtab_T *ht, int *tot)); static int node_equal __ARGS((wordnode_T *n1, wordnode_T *n2)); +static void put_sugtime __ARGS((spellinfo_T *spin, FILE *fd)); static int write_vim_spell __ARGS((spellinfo_T *spin, char_u *fname)); static void clear_node __ARGS((wordnode_T *node)); static int put_node __ARGS((FILE *fd, wordnode_T *node, int index, int regionmask, int prefixtree)); +static void spell_make_sugfile __ARGS((spellinfo_T *spin, char_u *wfname)); +static int sug_filltree __ARGS((spellinfo_T *spin, slang_T *slang)); +static int sug_maketable __ARGS((spellinfo_T *spin)); +static int sug_filltable __ARGS((spellinfo_T *spin, wordnode_T *node, int startwordnr, garray_T *gap)); +static int offset2bytes __ARGS((int nr, char_u *buf)); +static int bytes2offset __ARGS((char_u **pp)); +static void sug_write __ARGS((spellinfo_T *spin, char_u *fname)); static void mkspell __ARGS((int fcount, char_u **fnames, int ascii, int overwrite, int added_word)); +static void spell_message __ARGS((spellinfo_T *spin, char_u *str)); static void init_spellfile __ARGS((void)); /* In the postponed prefixes tree wn_flags is used to store the WFP_ flags, @@ -4475,7 +4795,7 @@ spell_read_aff(spin, fname) char_u rline[MAXLINELEN]; char_u *line; char_u *pc = NULL; -#define MAXITEMCNT 7 +#define MAXITEMCNT 30 char_u *(items[MAXITEMCNT]); int itemcnt; char_u *p; @@ -4488,6 +4808,7 @@ spell_read_aff(spin, fname) char_u *fol = NULL; char_u *upp = NULL; int do_rep; + int do_repsal; int do_sal; int do_map; int found_map = FALSE; @@ -4513,19 +4834,15 @@ spell_read_aff(spin, fname) return NULL; } - if (spin->si_verbose || p_verbose > 2) - { - if (!spin->si_verbose) - verbose_enter(); - smsg((char_u *)_("Reading affix file %s ..."), fname); - out_flush(); - if (!spin->si_verbose) - verbose_leave(); - } + vim_snprintf((char *)IObuff, IOSIZE, _("Reading affix file %s ..."), fname); + spell_message(spin, IObuff); /* Only do REP lines when not done in another .aff file already. */ do_rep = spin->si_rep.ga_len == 0; + /* Only do REPSAL lines when not done in another .aff file already. */ + do_repsal = spin->si_repsal.ga_len == 0; + /* Only do SAL lines when not done in another .aff file already. */ do_sal = spin->si_sal.ga_len == 0; @@ -4756,6 +5073,10 @@ spell_read_aff(spin, fname) { spin->si_nobreak = TRUE; } + else if (STRCMP(items[0], "NOSUGFILE") == 0 && itemcnt == 1) + { + spin->si_nosugfile = TRUE; + } else if (STRCMP(items[0], "PFXPOSTPONE") == 0 && itemcnt == 1) { aff->af_pfxpostpone = TRUE; @@ -5061,21 +5382,25 @@ spell_read_aff(spin, fname) { upp = vim_strsave(items[1]); } - else if (STRCMP(items[0], "REP") == 0 && itemcnt == 2) + else if ((STRCMP(items[0], "REP") == 0 + || STRCMP(items[0], "REPSAL") == 0) + && itemcnt == 2) { - /* Ignore REP count */; + /* Ignore REP/REPSAL count */; if (!isdigit(*items[1])) - smsg((char_u *)_("Expected REP count in %s line %d"), + smsg((char_u *)_("Expected REP(SAL) count in %s line %d"), fname, lnum); } - else if (STRCMP(items[0], "REP") == 0 && itemcnt >= 3) + else if ((STRCMP(items[0], "REP") == 0 + || STRCMP(items[0], "REPSAL") == 0) + && itemcnt >= 3) { - /* REP item */ + /* REP/REPSAL item */ /* Myspell ignores extra arguments, we require it starts with * # to detect mistakes. */ if (itemcnt > 3 && items[3][0] != '#') smsg((char_u *)_(e_afftrailing), fname, lnum, items[3]); - if (do_rep) + if (items[0][3] == 'S' ? do_repsal : do_rep) { /* Replace underscore with space (can't include a space * directly). */ @@ -5085,7 +5410,9 @@ spell_read_aff(spin, fname) for (p = items[2]; *p != NUL; mb_ptr_adv(p)) if (*p == '_') *p = ' '; - add_fromto(spin, &spin->si_rep, items[1], items[2]); + add_fromto(spin, items[0][3] == 'S' + ? &spin->si_repsal + : &spin->si_rep, items[1], items[2]); } } else if (STRCMP(items[0], "MAP") == 0 && itemcnt == 2) @@ -5156,6 +5483,22 @@ spell_read_aff(spin, fname) { sofoto = getroom_save(spin, items[1]); } + else if (STRCMP(items[0], "COMMON") == 0) + { + int i; + + for (i = 1; i < itemcnt; ++i) + { + if (HASHITEM_EMPTY(hash_find(&spin->si_commonwords, + items[i]))) + { + p = vim_strsave(items[i]); + if (p == NULL) + break; + hash_add(&spin->si_commonwords, p); + } + } + } else smsg((char_u *)_("Unrecognized or duplicate item in %s line %d: %s"), fname, lnum, items[0]); @@ -5665,15 +6008,9 @@ spell_read_dic(spin, fname, affile) /* The hashtable is only used to detect duplicated words. */ hash_init(&ht); - if (spin->si_verbose || p_verbose > 2) - { - if (!spin->si_verbose) - verbose_enter(); - smsg((char_u *)_("Reading dictionary file %s ..."), fname); - out_flush(); - if (!spin->si_verbose) - verbose_leave(); - } + vim_snprintf((char *)IObuff, IOSIZE, + _("Reading dictionary file %s ..."), fname); + spell_message(spin, IObuff); /* start with a message for the first line */ spin->si_msg_count = 999999; @@ -6122,15 +6459,8 @@ spell_read_wordfile(spin, fname) return FAIL; } - if (spin->si_verbose || p_verbose > 2) - { - if (!spin->si_verbose) - verbose_enter(); - smsg((char_u *)_("Reading word file %s ..."), fname); - out_flush(); - if (!spin->si_verbose) - verbose_leave(); - } + vim_snprintf((char *)IObuff, IOSIZE, _("Reading word file %s ..."), fname); + spell_message(spin, IObuff); /* * Read all the lines in the file one by one. @@ -6294,15 +6624,13 @@ spell_read_wordfile(spin, fname) vim_free(pc); fclose(fd); - if (spin->si_ascii && non_ascii > 0 && (spin->si_verbose || p_verbose > 2)) + if (spin->si_ascii && non_ascii > 0) { - if (p_verbose > 2) - verbose_enter(); - smsg((char_u *)_("Ignored %d words with non-ASCII characters"), - non_ascii); - if (p_verbose > 2) - verbose_leave(); + vim_snprintf((char *)IObuff, IOSIZE, + _("Ignored %d words with non-ASCII characters"), non_ascii); + spell_message(spin, IObuff); } + return retval; } @@ -6442,7 +6770,7 @@ store_word(spin, word, flags, region, pfxlist, need_affix) /* * Add word "word" to a word tree at "root". - * When "flags" < 0 we are adding to the prefix tree where flags is used for + * When "flags" < 0 we are adding to the prefix tree where "flags" is used for * "rare" and "region" is the condition nr. * Returns FAIL when out of memory. */ @@ -6507,10 +6835,13 @@ tree_add_word(spin, word, root, flags, region, affixID) && (node->wn_byte < word[i] || (node->wn_byte == NUL && (flags < 0 - ? node->wn_affixID < affixID - : node->wn_flags < (flags & WN_MASK) + ? node->wn_affixID < (unsigned)affixID + : (node->wn_flags < (unsigned)(flags & WN_MASK) || (node->wn_flags == (flags & WN_MASK) - && node->wn_affixID < affixID))))) + && (spin->si_sugtree + ? (node->wn_region & 0xffff) < region + : node->wn_affixID + < (unsigned)affixID))))))) { prev = &node->wn_sibling; node = *prev; @@ -6519,6 +6850,7 @@ tree_add_word(spin, word, root, flags, region, affixID) || node->wn_byte != word[i] || (word[i] == NUL && (flags < 0 + || spin->si_sugtree || node->wn_flags != (flags & WN_MASK) || node->wn_affixID != affixID))) { @@ -6606,9 +6938,11 @@ tree_add_word(spin, word, root, flags, region, affixID) /* Compress both trees. Either they both have many nodes, which makes * compression useful, or one of them is small, which means - * compression goes fast. */ + * compression goes fast. But when filling the souldfold word tree + * there is no keep-case tree. */ wordtree_compress(spin, spin->si_foldroot); - wordtree_compress(spin, spin->si_keeproot); + if (affixID >= 0) + wordtree_compress(spin, spin->si_keeproot); } return OK; @@ -6684,21 +7018,28 @@ get_wordnode(spin) * Decrement the reference count on a node (which is the head of a list of * siblings). If the reference count becomes zero free the node and its * siblings. + * Returns the number of nodes actually freed. */ - static void + static int deref_wordnode(spin, node) spellinfo_T *spin; wordnode_T *node; { - wordnode_T *np; + wordnode_T *np; + int cnt = 0; if (--node->wn_refs == 0) + { for (np = node; np != NULL; np = np->wn_sibling) { if (np->wn_child != NULL) - deref_wordnode(spin, np->wn_child); + cnt += deref_wordnode(spin, np->wn_child); free_wordnode(spin, np); + ++cnt; } + ++cnt; /* length field */ + } + return cnt; } /* @@ -6739,18 +7080,16 @@ wordtree_compress(spin, root) if (spin->si_verbose || p_verbose > 2) #endif { - if (!spin->si_verbose) - verbose_enter(); if (tot > 1000000) perc = (tot - n) / (tot / 100); else if (tot == 0) perc = 0; else perc = (tot - n) * 100 / tot; - smsg((char_u *)_("Compressed %d of %d nodes; %d%% remaining"), - n, tot, perc); - if (p_verbose > 2) - verbose_leave(); + vim_snprintf((char *)IObuff, IOSIZE, + _("Compressed %d of %d nodes; %d (%d%%) remaining"), + n, tot, tot - n, perc); + spell_message(spin, IObuff); } #ifdef SPELL_PRINTTREE spell_print_tree(root->wn_sibling); @@ -6784,24 +7123,24 @@ node_compress(spin, node, ht, tot) * Go through the list of siblings. Compress each child and then try * finding an identical child to replace it. * Note that with "child" we mean not just the node that is pointed to, - * but the whole list of siblings, of which the node is the first. + * but the whole list of siblings of which the child node is the first. */ for (np = node; np != NULL && !got_int; np = np->wn_sibling) { ++len; if ((child = np->wn_child) != NULL) { - /* Compress the child. This fills hashkey. */ + /* Compress the child first. This fills hashkey. */ compressed += node_compress(spin, child, ht, tot); /* Try to find an identical child. */ hash = hash_hash(child->wn_u1.hashkey); hi = hash_lookup(ht, child->wn_u1.hashkey, hash); - tp = NULL; if (!HASHITEM_EMPTY(hi)) { - /* There are children with an identical hash value. Now check - * if there is one that is really identical. */ + /* There are children we encountered before with a hash value + * identical to the current child. Now check if there is one + * that is really identical. */ for (tp = HI2WN(hi); tp != NULL; tp = tp->wn_u2.next) if (node_equal(child, tp)) { @@ -6809,9 +7148,8 @@ node_compress(spin, node, ht, tot) * current one. This means the current child and all * its siblings is unlinked from the tree. */ ++tp->wn_refs; - deref_wordnode(spin, child); + compressed += deref_wordnode(spin, child); np->wn_child = tp; - ++compressed; break; } if (tp == NULL) @@ -6830,7 +7168,7 @@ node_compress(spin, node, ht, tot) hash_add_item(ht, hi, child->wn_u1.hashkey, hash); } } - *tot += len; + *tot += len + 1; /* add one for the node that stores the length */ /* * Make a hash key for the node and its siblings, so that we can quickly @@ -6906,6 +7244,30 @@ put_bytes(fd, nr, len) putc((int)(nr >> (i * 8)), fd); } +/* + * Write spin->si_sugtime to file "fd". + */ + static void +put_sugtime(spin, fd) + spellinfo_T *spin; + FILE *fd; +{ + int c; + int i; + + /* time_t can be up to 8 bytes in size, more than long_u, thus we + * can't use put_bytes() here. */ + for (i = 7; i >= 0; --i) + if (i + 1 > sizeof(time_t)) + /* ">>" doesn't work well when shifting more bits than avail */ + putc(0, fd); + else + { + c = (unsigned)spin->si_sugtime >> (i * 8); + putc(c, fd); + } +} + static int #ifdef __BORLANDC__ _RTLENTRYF @@ -7056,29 +7418,37 @@ write_vim_spell(spin, fname) } /* SN_REP: ... - * SN_SAL: ... */ - - /* Sort the REP items. */ - qsort(spin->si_rep.ga_data, (size_t)spin->si_rep.ga_len, - sizeof(fromto_T), rep_compare); + * SN_SAL: ... + * SN_REPSAL: ... */ /* round 1: SN_REP section - * round 2: SN_SAL section (unless SN_SOFO is used) */ - for (round = 1; round <= 2; ++round) + * round 2: SN_SAL section (unless SN_SOFO is used) + * round 3: SN_REPSAL section */ + for (round = 1; round <= 3; ++round) { if (round == 1) - { gap = &spin->si_rep; - putc(SN_REP, fd); /* */ - } - else + else if (round == 2) { + /* Don't write SN_SAL when using a SN_SOFO section */ if (spin->si_sofofr != NULL && spin->si_sofoto != NULL) - /* using SN_SOFO section instead of SN_SAL */ - break; + continue; gap = &spin->si_sal; - putc(SN_SAL, fd); /* */ } + else + gap = &spin->si_repsal; + + /* Don't write the section if there are no items. */ + if (gap->ga_len == 0) + continue; + + /* Sort the REP/REPSAL items. */ + if (round != 2) + qsort(gap->ga_data, (size_t)gap->ga_len, + sizeof(fromto_T), rep_compare); + + i = round == 1 ? SN_REP : (round == 2 ? SN_SAL : SN_REPSAL); + putc(i, fd); /* */ /* This is for making suggestions, section is not required. */ putc(0, fd); /* */ @@ -7143,6 +7513,36 @@ write_vim_spell(spin, fname) fwrite(spin->si_sofoto, l, (size_t)1, fd); /* */ } + /* SN_WORDS: ... + * This is for making suggestions, section is not required. */ + if (spin->si_commonwords.ht_used > 0) + { + putc(SN_WORDS, fd); /* */ + putc(0, fd); /* */ + + /* round 1: count the bytes + * round 2: write the bytes */ + for (round = 1; round <= 2; ++round) + { + int todo; + int len = 0; + hashitem_T *hi; + + todo = spin->si_commonwords.ht_used; + for (hi = spin->si_commonwords.ht_array; todo > 0; ++hi) + if (!HASHITEM_EMPTY(hi)) + { + l = STRLEN(hi->hi_key) + 1; + len += l; + if (round == 2) /* */ + fwrite(hi->hi_key, (size_t)l, (size_t)1, fd); + --todo; + } + if (round == 1) + put_bytes(fd, (long_u)len, 4); /* */ + } + } + /* SN_MAP: * This is for making suggestions, section is not required. */ if (spin->si_map.ga_len > 0) @@ -7155,6 +7555,24 @@ write_vim_spell(spin, fname) /* */ } + /* SN_SUGFILE: + * This is used to notify that a .sug file may be available and at the + * same time allows for checking that a .sug file that is found matches + * with this .spl file. That's because the word numbers must be exactly + * right. */ + if (!spin->si_nosugfile + && (spin->si_sal.ga_len > 0 + || (spin->si_sofofr != NULL && spin->si_sofoto != NULL))) + { + putc(SN_SUGFILE, fd); /* */ + putc(0, fd); /* */ + put_bytes(fd, (long_u)8, 4); /* */ + + /* Set si_sugtime and write it to the file. */ + spin->si_sugtime = time(NULL); + put_sugtime(spin, fd); /* */ + } + /* SN_COMPOUND: compound info. * We don't mark it required, when not supported all compound words will * be bad words. */ @@ -7267,9 +7685,9 @@ clear_node(node) * This first writes the list of possible bytes (siblings). Then for each * byte recursively write the children. * - * NOTE: The code here must match the code in read_tree(), since assumptions - * are made about the indexes (so that we don't have to write them in the - * file). + * NOTE: The code here must match the code in read_tree_node(), since + * assumptions are made about the indexes (so that we don't have to write them + * in the file). * * Returns the number of nodes used. */ @@ -7427,250 +7845,749 @@ ex_mkspell(eap) } /* - * Create a Vim spell file from one or more word lists. - * "fnames[0]" is the output file name. - * "fnames[fcount - 1]" is the last input file name. - * Exception: when "fnames[0]" ends in ".add" it's used as the input file name - * and ".spl" is appended to make the output file name. + * Create the .sug file. + * Uses the soundfold info in "spin". + * Writes the file with the name "wfname", with ".spl" changed to ".sug". */ static void -mkspell(fcount, fnames, ascii, overwrite, added_word) - int fcount; - char_u **fnames; - int ascii; /* -ascii argument given */ - int overwrite; /* overwrite existing output file */ - int added_word; /* invoked through "zg" */ +spell_make_sugfile(spin, wfname) + spellinfo_T *spin; + char_u *wfname; { char_u fname[MAXPATHL]; - char_u wfname[MAXPATHL]; - char_u **innames; - int incount; - afffile_T *(afile[8]); - int i; int len; - struct stat st; - int error = FALSE; - spellinfo_T spin; + slang_T *slang; + int free_slang = FALSE; - vim_memset(&spin, 0, sizeof(spin)); - spin.si_verbose = !added_word; - spin.si_ascii = ascii; - spin.si_followup = TRUE; - spin.si_rem_accents = TRUE; - ga_init2(&spin.si_rep, (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_prefcond, (int)sizeof(char_u *), 50); - spin.si_newcompID = 127; /* start compound ID at first maximum */ + /* + * Read back the .spl file that was written. This fills the required + * info for soundfolding. This also uses less memory than the + * pointer-linked version of the trie. And it avoids having two versions + * of the code for the soundfolding stuff. + * It might have been done already by spell_reload_one(). + */ + for (slang = first_lang; slang != NULL; slang = slang->sl_next) + if (fullpathcmp(wfname, slang->sl_fname, FALSE) == FPC_SAME) + break; + if (slang == NULL) + { + spell_message(spin, (char_u *)_("Reading back spell file...")); + slang = spell_load_file(wfname, NULL, NULL, FALSE); + if (slang == NULL) + return; + /* don't want this language in the list */ + if (first_lang == slang) + first_lang = slang->sl_next; + free_slang = TRUE; + } - /* default: fnames[0] is output file, following are input files */ - innames = &fnames[1]; - incount = fcount - 1; + /* + * Clear the info in "spin" that is used. + */ + spin->si_blocks = NULL; + spin->si_blocks_cnt = 0; + spin->si_compress_cnt = 0; /* will stay at 0 all the time*/ + spin->si_free_count = 0; + spin->si_first_free = NULL; + spin->si_foldwcount = 0; - if (fcount >= 1) - { - len = STRLEN(fnames[0]); - if (fcount == 1 && len > 4 && STRCMP(fnames[0] + len - 4, ".add") == 0) - { - /* For ":mkspell path/en.latin1.add" output file is - * "path/en.latin1.add.spl". */ - innames = &fnames[0]; - incount = 1; - vim_snprintf((char *)wfname, sizeof(wfname), "%s.spl", fnames[0]); - } - else if (fcount == 1) - { - /* For ":mkspell path/vim" output file is "path/vim.latin1.spl". */ - innames = &fnames[0]; - incount = 1; - vim_snprintf((char *)wfname, sizeof(wfname), "%s.%s.spl", fnames[0], - spin.si_ascii ? (char_u *)"ascii" : spell_enc()); - } - else if (len > 4 && STRCMP(fnames[0] + len - 4, ".spl") == 0) - { - /* Name ends in ".spl", use as the file name. */ - vim_strncpy(wfname, fnames[0], sizeof(wfname) - 1); - } - else - /* Name should be language, make the file name from it. */ - vim_snprintf((char *)wfname, sizeof(wfname), "%s.%s.spl", fnames[0], - spin.si_ascii ? (char_u *)"ascii" : spell_enc()); + /* + * Go through the trie of good words, soundfold each word and add it to + * the soundfold trie. + */ + spell_message(spin, (char_u *)_("Performing soundfolding...")); + if (sug_filltree(spin, slang) == FAIL) + goto theend; - /* Check for .ascii.spl. */ - if (strstr((char *)gettail(wfname), ".ascii.") != NULL) - spin.si_ascii = TRUE; + /* + * Create the table which links each soundfold word with a list of the + * good words it may come from. Creates buffer "spin->si_spellbuf". + * This also removes the wordnr from the NUL byte entries to make + * compression possible. + */ + if (sug_maketable(spin) == FAIL) + goto theend; - /* Check for .add.spl. */ - if (strstr((char *)gettail(wfname), ".add.") != NULL) - spin.si_add = TRUE; - } + smsg((char_u *)_("Number of words after soundfolding: %ld"), + (long)spin->si_spellbuf->b_ml.ml_line_count); - if (incount <= 0) - EMSG(_(e_invarg)); /* need at least output and input names */ - else if (vim_strchr(gettail(wfname), '_') != NULL) - EMSG(_("E751: Output file name must not have region name")); - else if (incount > 8) - EMSG(_("E754: Only up to 8 regions supported")); - else + /* + * Compress the soundfold trie. + */ + spell_message(spin, (char_u *)_(msg_compressing)); + wordtree_compress(spin, spin->si_foldroot); + + /* + * Write the .sug file. + * Make the file name by changing ".spl" to ".sug". + */ + STRCPY(fname, wfname); + len = STRLEN(fname); + fname[len - 2] = 'u'; + fname[len - 1] = 'g'; + sug_write(spin, fname); + +theend: + if (free_slang) + slang_free(slang); + free_blocks(spin->si_blocks); + close_spellbuf(spin->si_spellbuf); +} + +/* + * Build the soundfold trie for language "slang". + */ + static int +sug_filltree(spin, slang) + spellinfo_T *spin; + slang_T *slang; +{ + char_u *byts; + idx_T *idxs; + int depth; + idx_T arridx[MAXWLEN]; + int curi[MAXWLEN]; + char_u tword[MAXWLEN]; + char_u tsalword[MAXWLEN]; + int c; + idx_T n; + unsigned words_done = 0; + int wordcount[MAXWLEN]; + + /* We use si_foldroot for the souldfolded trie. */ + spin->si_foldroot = wordtree_alloc(spin); + if (spin->si_foldroot == NULL) + return FAIL; + + /* let tree_add_word() know we're adding to the soundfolded tree */ + spin->si_sugtree = TRUE; + + /* + * Go through the whole case-folded tree, soundfold each word and put it + * in the trie. + */ + byts = slang->sl_fbyts; + idxs = slang->sl_fidxs; + + arridx[0] = 0; + curi[0] = 1; + wordcount[0] = 0; + + depth = 0; + while (depth >= 0 && !got_int) { - /* Check for overwriting before doing things that may take a lot of - * time. */ - if (!overwrite && mch_stat((char *)wfname, &st) >= 0) + if (curi[depth] > byts[arridx[depth]]) { - EMSG(_(e_exists)); - return; + /* Done all bytes at this node, go up one level. */ + idxs[arridx[depth]] = wordcount[depth]; + if (depth > 0) + wordcount[depth - 1] += wordcount[depth]; + + --depth; + line_breakcheck(); } - if (mch_isdir(wfname)) + else { - EMSG2(_(e_isadir2), wfname); - return; - } - /* - * Init the aff and dic pointers. - * Get the region names if there are more than 2 arguments. - */ - for (i = 0; i < incount; ++i) - { - afile[i] = NULL; + /* Do one more byte at this node. */ + n = arridx[depth] + curi[depth]; + ++curi[depth]; - if (incount > 1) + c = byts[n]; + if (c == 0) { - len = STRLEN(innames[i]); - if (STRLEN(gettail(innames[i])) < 5 - || innames[i][len - 3] != '_') - { - EMSG2(_("E755: Invalid region in %s"), innames[i]); - return; - } - spin.si_region_name[i * 2] = TOLOWER_ASC(innames[i][len - 2]); - spin.si_region_name[i * 2 + 1] = - TOLOWER_ASC(innames[i][len - 1]); - } - } - spin.si_region_count = incount; + /* Sound-fold the word. */ + tword[depth] = NUL; + spell_soundfold(slang, tword, TRUE, tsalword); - spin.si_foldroot = wordtree_alloc(&spin); - spin.si_keeproot = wordtree_alloc(&spin); - spin.si_prefroot = wordtree_alloc(&spin); - if (spin.si_foldroot == NULL - || spin.si_keeproot == NULL - || spin.si_prefroot == NULL) - { - free_blocks(spin.si_blocks); - return; - } + /* We use the "flags" field for the MSB of the wordnr, + * "region" for the LSB of the wordnr. */ + if (tree_add_word(spin, tsalword, spin->si_foldroot, + words_done >> 16, words_done & 0xffff, + 0) == FAIL) + return FAIL; - /* When not producing a .add.spl file clear the character table when - * we encounter one in the .aff file. This means we dump the current - * one in the .spl file if the .aff file doesn't define one. That's - * better than guessing the contents, the table will match a - * previously loaded spell file. */ - if (!spin.si_add) - spin.si_clear_chartab = TRUE; + ++words_done; + ++wordcount[depth]; - /* - * Read all the .aff and .dic files. - * Text is converted to 'encoding'. - * Words are stored in the case-folded and keep-case trees. - */ - for (i = 0; i < incount && !error; ++i) - { - spin.si_conv.vc_type = CONV_NONE; - spin.si_region = 1 << i; + /* Reset the block count each time to avoid compression + * kicking in. */ + spin->si_blocks_cnt = 0; - vim_snprintf((char *)fname, sizeof(fname), "%s.aff", innames[i]); - if (mch_stat((char *)fname, &st) >= 0) - { - /* Read the .aff file. Will init "spin->si_conv" based on the - * "SET" line. */ - afile[i] = spell_read_aff(&spin, fname); - if (afile[i] == NULL) - error = TRUE; - else + /* Skip over any other NUL bytes (same word with different + * flags). */ + while (byts[n + 1] == 0) { - /* Read the .dic file and store the words in the trees. */ - vim_snprintf((char *)fname, sizeof(fname), "%s.dic", - innames[i]); - if (spell_read_dic(&spin, fname, afile[i]) == FAIL) - error = TRUE; + ++n; + ++curi[depth]; } } else { - /* No .aff file, try reading the file as a word list. Store - * the words in the trees. */ - if (spell_read_wordfile(&spin, innames[i]) == FAIL) - error = TRUE; + /* Normal char, go one level deeper. */ + tword[depth++] = c; + arridx[depth] = idxs[n]; + curi[depth] = 1; + wordcount[depth] = 0; } - -#ifdef FEAT_MBYTE - /* Free any conversion stuff. */ - convert_setup(&spin.si_conv, NULL, NULL); -#endif } + } - if (spin.si_compflags != NULL && spin.si_nobreak) - MSG(_("Warning: both compounding and NOBREAK specified")); - - if (!error) - { - /* - * Combine tails in the tree. - */ - if (spin.si_verbose || p_verbose > 2) - { - if (!spin.si_verbose) - verbose_enter(); - MSG(_(msg_compressing)); - out_flush(); - if (!spin.si_verbose) - verbose_leave(); - } - wordtree_compress(&spin, spin.si_foldroot); - wordtree_compress(&spin, spin.si_keeproot); - wordtree_compress(&spin, spin.si_prefroot); - } + smsg((char_u *)_("Total number of words: %d"), words_done); - if (!error) - { - /* - * Write the info in the spell file. - */ - if (spin.si_verbose || p_verbose > 2) - { - if (!spin.si_verbose) - verbose_enter(); - smsg((char_u *)_("Writing spell file %s ..."), wfname); - out_flush(); - if (!spin.si_verbose) - verbose_leave(); - } + return OK; +} - error = write_vim_spell(&spin, wfname) == FAIL; +/* + * Make the table that links each word in the soundfold trie to the words it + * can be produced from. + * This is not unlike lines in a file, thus use a memfile to be able to access + * the table efficiently. + * Returns FAIL when out of memory. + */ + static int +sug_maketable(spin) + spellinfo_T *spin; +{ + garray_T ga; + int res = OK; + + /* Allocate a buffer, open a memline for it and create the swap file + * (uses a temp file, not a .swp file). */ + spin->si_spellbuf = open_spellbuf(); + if (spin->si_spellbuf == NULL) + return FAIL; + + /* Use a buffer to store the line info, avoids allocating many small + * pieces of memory. */ + ga_init2(&ga, 1, 100); + + /* recursively go through the tree */ + if (sug_filltable(spin, spin->si_foldroot->wn_sibling, 0, &ga) == -1) + res = FAIL; + + ga_clear(&ga); + return res; +} + +/* + * Fill the table for one node and its children. + * Returns the wordnr at the start of the node. + * Returns -1 when out of memory. + */ + static int +sug_filltable(spin, node, startwordnr, gap) + spellinfo_T *spin; + wordnode_T *node; + int startwordnr; + garray_T *gap; /* place to store line of numbers */ +{ + wordnode_T *p, *np; + int wordnr = startwordnr; + int nr; + int prev_nr; + + for (p = node; p != NULL; p = p->wn_sibling) + { + if (p->wn_byte == NUL) + { + gap->ga_len = 0; + prev_nr = 0; + for (np = p; np != NULL && np->wn_byte == NUL; np = np->wn_sibling) + { + if (ga_grow(gap, 10) == FAIL) + return -1; + + nr = (np->wn_flags << 16) + (np->wn_region & 0xffff); + /* Compute the offset from the previous nr and store the + * offset in a way that it takes a minimum number of bytes. + * It's a bit like utf-8, but without the need to mark + * following bytes. */ + nr -= prev_nr; + prev_nr += nr; + gap->ga_len += offset2bytes(nr, + (char_u *)gap->ga_data + gap->ga_len); + } + + /* add the NUL byte */ + ((char_u *)gap->ga_data)[gap->ga_len++] = NUL; + + if (ml_append_buf(spin->si_spellbuf, (linenr_T)wordnr, + gap->ga_data, gap->ga_len, TRUE) == FAIL) + return -1; + ++wordnr; + + /* Remove extra NUL entries, we no longer need them. We don't + * bother freeing the nodes, the won't be reused anyway. */ + while (p->wn_sibling != NULL && p->wn_sibling->wn_byte == NUL) + p->wn_sibling = p->wn_sibling->wn_sibling; + + /* Clear the flags on the remaining NUL node, so that compression + * works a lot better. */ + p->wn_flags = 0; + p->wn_region = 0; + } + else + { + wordnr = sug_filltable(spin, p->wn_child, wordnr, gap); + if (wordnr == -1) + return -1; + } + } + return wordnr; +} + +/* + * Convert an offset into a minimal number of bytes. + * Similar to utf_char2byters, but use 8 bits in followup bytes and avoid NUL + * bytes. + */ + static int +offset2bytes(nr, buf) + int nr; + char_u *buf; +{ + int rem; + int b1, b2, b3, b4; + + /* Split the number in parts of base 255. We need to avoid NUL bytes. */ + b1 = nr % 255 + 1; + rem = nr / 255; + b2 = rem % 255 + 1; + rem = rem / 255; + b3 = rem % 255 + 1; + b4 = rem / 255 + 1; + + if (b4 > 1 || b3 > 0x1f) /* 4 bytes */ + { + buf[0] = 0xe0 + b4; + buf[1] = b3; + buf[2] = b2; + buf[3] = b1; + return 4; + } + if (b3 > 1 || b2 > 0x3f ) /* 3 bytes */ + { + buf[0] = 0xc0 + b3; + buf[1] = b2; + buf[2] = b1; + return 3; + } + if (b2 > 1 || b1 > 0x7f ) /* 2 bytes */ + { + buf[0] = 0x80 + b2; + buf[1] = b1; + return 2; + } + /* 1 byte */ + buf[0] = b1; + return 1; +} + +/* + * Opposite of offset2bytes(). + * "pp" points to the bytes and is advanced over it. + * Returns the offset. + */ + static int +bytes2offset(pp) + char_u **pp; +{ + char_u *p = *pp; + int nr; + int c; + + c = *p++; + if ((c & 0x80) == 0x00) /* 1 byte */ + { + nr = c - 1; + } + else if ((c & 0xc0) == 0x80) /* 2 bytes */ + { + nr = (c & 0x3f) - 1; + nr = nr * 255 + (*p++ - 1); + } + else if ((c & 0xe0) == 0xc0) /* 3 bytes */ + { + nr = (c & 0x1f) - 1; + nr = nr * 255 + (*p++ - 1); + nr = nr * 255 + (*p++ - 1); + } + else /* 4 bytes */ + { + nr = (c & 0x0f) - 1; + nr = nr * 255 + (*p++ - 1); + nr = nr * 255 + (*p++ - 1); + nr = nr * 255 + (*p++ - 1); + } + + *pp = p; + return nr; +} + +/* + * Write the .sug file in "fname". + */ + static void +sug_write(spin, fname) + spellinfo_T *spin; + char_u *fname; +{ + FILE *fd; + wordnode_T *tree; + int nodecount; + int wcount; + char_u *line; + linenr_T lnum; + int len; + + /* Create the file. Note that an existing file is silently overwritten! */ + fd = mch_fopen((char *)fname, "w"); + if (fd == NULL) + { + EMSG2(_(e_notopen), fname); + return; + } + + vim_snprintf((char *)IObuff, IOSIZE, + _("Writing suggestion file %s ..."), fname); + spell_message(spin, IObuff); + + /* + * : + */ + if (fwrite(VIMSUGMAGIC, VIMSUGMAGICL, (size_t)1, fd) != 1) /* */ + { + EMSG(_(e_write)); + goto theend; + } + putc(VIMSUGVERSION, fd); /* */ + + /* Write si_sugtime to the file. */ + put_sugtime(spin, fd); /* */ + + /* + * + */ + spin->si_memtot = 0; + tree = spin->si_foldroot->wn_sibling; + + /* Clear the index and wnode fields in the tree. */ + clear_node(tree); + + /* Count the number of nodes. Needed to be able to allocate the + * memory when reading the nodes. Also fills in index for shared + * nodes. */ + nodecount = put_node(NULL, tree, 0, 0, FALSE); + + /* number of nodes in 4 bytes */ + put_bytes(fd, (long_u)nodecount, 4); /* */ + spin->si_memtot += nodecount + nodecount * sizeof(int); + + /* Write the nodes. */ + (void)put_node(fd, tree, 0, 0, FALSE); + + /* + * : ... + */ + wcount = spin->si_spellbuf->b_ml.ml_line_count; + put_bytes(fd, (long_u)wcount, 4); /* */ + + for (lnum = 1; lnum <= (linenr_T)wcount; ++lnum) + { + /* : ... NUL */ + line = ml_get_buf(spin->si_spellbuf, lnum, FALSE); + len = STRLEN(line) + 1; + if (fwrite(line, (size_t)len, (size_t)1, fd) == 0) + { + EMSG(_(e_write)); + goto theend; + } + spin->si_memtot += len; + } + + /* Write another byte to check for errors. */ + if (putc(0, fd) == EOF) + EMSG(_(e_write)); + + vim_snprintf((char *)IObuff, IOSIZE, + _("Estimated runtime memory use: %d bytes"), spin->si_memtot); + spell_message(spin, IObuff); + +theend: + /* close the file */ + fclose(fd); +} + +/* + * Open a spell buffer. This is a nameless buffer that is not in the buffer + * list and only contains text lines. Can use a swapfile to reduce memory + * use. + * Most other fields are invalid! Esp. watch out for string options being + * NULL and there is no undo info. + * Returns NULL when out of memory. + */ + static buf_T * +open_spellbuf() +{ + buf_T *buf; + + buf = (buf_T *)alloc_clear(sizeof(buf_T)); + if (buf != NULL) + { + buf->b_spell = TRUE; + buf->b_p_swf = TRUE; /* may create a swap file */ + ml_open(buf); + ml_open_file(buf); /* create swap file now */ + } + return buf; +} + +/* + * Close the buffer used for spell info. + */ + static void +close_spellbuf(buf) + buf_T *buf; +{ + if (buf != NULL) + { + ml_close(buf, TRUE); + vim_free(buf); + } +} + + +/* + * Create a Vim spell file from one or more word lists. + * "fnames[0]" is the output file name. + * "fnames[fcount - 1]" is the last input file name. + * Exception: when "fnames[0]" ends in ".add" it's used as the input file name + * and ".spl" is appended to make the output file name. + */ + static void +mkspell(fcount, fnames, ascii, overwrite, added_word) + int fcount; + char_u **fnames; + int ascii; /* -ascii argument given */ + int overwrite; /* overwrite existing output file */ + int added_word; /* invoked through "zg" */ +{ + char_u fname[MAXPATHL]; + char_u wfname[MAXPATHL]; + char_u **innames; + int incount; + afffile_T *(afile[8]); + int i; + int len; + struct stat st; + int error = FALSE; + spellinfo_T spin; + + vim_memset(&spin, 0, sizeof(spin)); + spin.si_verbose = !added_word; + spin.si_ascii = ascii; + spin.si_followup = TRUE; + spin.si_rem_accents = TRUE; + ga_init2(&spin.si_rep, (int)sizeof(fromto_T), 20); + 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_prefcond, (int)sizeof(char_u *), 50); + hash_init(&spin.si_commonwords); + spin.si_newcompID = 127; /* start compound ID at first maximum */ + + /* default: fnames[0] is output file, following are input files */ + innames = &fnames[1]; + incount = fcount - 1; + + if (fcount >= 1) + { + len = STRLEN(fnames[0]); + if (fcount == 1 && len > 4 && STRCMP(fnames[0] + len - 4, ".add") == 0) + { + /* For ":mkspell path/en.latin1.add" output file is + * "path/en.latin1.add.spl". */ + innames = &fnames[0]; + incount = 1; + vim_snprintf((char *)wfname, sizeof(wfname), "%s.spl", fnames[0]); + } + else if (fcount == 1) + { + /* For ":mkspell path/vim" output file is "path/vim.latin1.spl". */ + innames = &fnames[0]; + incount = 1; + vim_snprintf((char *)wfname, sizeof(wfname), "%s.%s.spl", fnames[0], + spin.si_ascii ? (char_u *)"ascii" : spell_enc()); + } + else if (len > 4 && STRCMP(fnames[0] + len - 4, ".spl") == 0) + { + /* Name ends in ".spl", use as the file name. */ + vim_strncpy(wfname, fnames[0], sizeof(wfname) - 1); + } + else + /* Name should be language, make the file name from it. */ + vim_snprintf((char *)wfname, sizeof(wfname), "%s.%s.spl", fnames[0], + spin.si_ascii ? (char_u *)"ascii" : spell_enc()); + + /* Check for .ascii.spl. */ + if (strstr((char *)gettail(wfname), ".ascii.") != NULL) + spin.si_ascii = TRUE; + + /* Check for .add.spl. */ + if (strstr((char *)gettail(wfname), ".add.") != NULL) + spin.si_add = TRUE; + } + + if (incount <= 0) + EMSG(_(e_invarg)); /* need at least output and input names */ + else if (vim_strchr(gettail(wfname), '_') != NULL) + EMSG(_("E751: Output file name must not have region name")); + else if (incount > 8) + EMSG(_("E754: Only up to 8 regions supported")); + else + { + /* Check for overwriting before doing things that may take a lot of + * time. */ + if (!overwrite && mch_stat((char *)wfname, &st) >= 0) + { + EMSG(_(e_exists)); + return; + } + if (mch_isdir(wfname)) + { + EMSG2(_(e_isadir2), wfname); + return; + } + + /* + * Init the aff and dic pointers. + * Get the region names if there are more than 2 arguments. + */ + for (i = 0; i < incount; ++i) + { + afile[i] = NULL; + + if (incount > 1) + { + len = STRLEN(innames[i]); + if (STRLEN(gettail(innames[i])) < 5 + || innames[i][len - 3] != '_') + { + EMSG2(_("E755: Invalid region in %s"), innames[i]); + return; + } + spin.si_region_name[i * 2] = TOLOWER_ASC(innames[i][len - 2]); + spin.si_region_name[i * 2 + 1] = + TOLOWER_ASC(innames[i][len - 1]); + } + } + spin.si_region_count = incount; + + spin.si_foldroot = wordtree_alloc(&spin); + spin.si_keeproot = wordtree_alloc(&spin); + spin.si_prefroot = wordtree_alloc(&spin); + if (spin.si_foldroot == NULL + || spin.si_keeproot == NULL + || spin.si_prefroot == NULL) + { + free_blocks(spin.si_blocks); + return; + } + + /* When not producing a .add.spl file clear the character table when + * we encounter one in the .aff file. This means we dump the current + * one in the .spl file if the .aff file doesn't define one. That's + * better than guessing the contents, the table will match a + * previously loaded spell file. */ + if (!spin.si_add) + spin.si_clear_chartab = TRUE; + + /* + * Read all the .aff and .dic files. + * Text is converted to 'encoding'. + * Words are stored in the case-folded and keep-case trees. + */ + for (i = 0; i < incount && !error; ++i) + { + spin.si_conv.vc_type = CONV_NONE; + spin.si_region = 1 << i; - if (spin.si_verbose || p_verbose > 2) + vim_snprintf((char *)fname, sizeof(fname), "%s.aff", innames[i]); + if (mch_stat((char *)fname, &st) >= 0) + { + /* Read the .aff file. Will init "spin->si_conv" based on the + * "SET" line. */ + afile[i] = spell_read_aff(&spin, fname); + if (afile[i] == NULL) + error = TRUE; + else + { + /* Read the .dic file and store the words in the trees. */ + vim_snprintf((char *)fname, sizeof(fname), "%s.dic", + innames[i]); + if (spell_read_dic(&spin, fname, afile[i]) == FAIL) + error = TRUE; + } + } + else { - if (!spin.si_verbose) - verbose_enter(); - MSG(_("Done!")); - smsg((char_u *)_("Estimated runtime memory use: %d bytes"), - spin.si_memtot); - out_flush(); - if (!spin.si_verbose) - verbose_leave(); + /* No .aff file, try reading the file as a word list. Store + * the words in the trees. */ + if (spell_read_wordfile(&spin, innames[i]) == FAIL) + error = TRUE; } - /* If the file is loaded need to reload it. */ +#ifdef FEAT_MBYTE + /* Free any conversion stuff. */ + convert_setup(&spin.si_conv, NULL, NULL); +#endif + } + + if (spin.si_compflags != NULL && spin.si_nobreak) + MSG(_("Warning: both compounding and NOBREAK specified")); + + if (!error && !got_int) + { + /* + * Combine tails in the tree. + */ + spell_message(&spin, (char_u *)_(msg_compressing)); + wordtree_compress(&spin, spin.si_foldroot); + wordtree_compress(&spin, spin.si_keeproot); + wordtree_compress(&spin, spin.si_prefroot); + } + + if (!error && !got_int) + { + /* + * Write the info in the spell file. + */ + vim_snprintf((char *)IObuff, IOSIZE, + _("Writing spell file %s ..."), wfname); + spell_message(&spin, IObuff); + + error = write_vim_spell(&spin, wfname) == FAIL; + + spell_message(&spin, (char_u *)_("Done!")); + vim_snprintf((char *)IObuff, IOSIZE, + _("Estimated runtime memory use: %d bytes"), spin.si_memtot); + spell_message(&spin, IObuff); + + /* + * If the file is loaded need to reload it. + */ if (!error) spell_reload_one(wfname, added_word); } /* Free the allocated memory. */ ga_clear(&spin.si_rep); + ga_clear(&spin.si_repsal); ga_clear(&spin.si_sal); ga_clear(&spin.si_map); ga_clear(&spin.si_prefcond); + hash_clear_all(&spin.si_commonwords, 0); /* Free the .aff file structures. */ for (i = 0; i < incount; ++i) @@ -7679,9 +8596,36 @@ mkspell(fcount, fnames, ascii, overwrite, added_word) /* Free all the bits and pieces at once. */ free_blocks(spin.si_blocks); + + /* + * If there is soundfolding info and no NOSUGFILE item create the + * .sug file with the soundfolded word trie. + */ + if (spin.si_sugtime != 0 && !error && !got_int) + spell_make_sugfile(&spin, wfname); + } } +/* + * Display a message for spell file processing when 'verbose' is set or using + * ":mkspell". "str" can be IObuff. + */ + static void +spell_message(spin, str) + spellinfo_T *spin; + char_u *str; +{ + if (spin->si_verbose || p_verbose > 2) + { + if (!spin->si_verbose) + verbose_enter(); + MSG(str); + out_flush(); + if (!spin->si_verbose) + verbose_leave(); + } +} /* * ":[count]spellgood {word}" @@ -8334,12 +9278,13 @@ spell_casefold(str, len, buf, buflen) return OK; } +/* values for sps_flags */ #define SPS_BEST 1 #define SPS_FAST 2 #define SPS_DOUBLE 4 -static int sps_flags = SPS_BEST; -static int sps_limit = 9999; +static int sps_flags = SPS_BEST; /* flags from 'spellsuggest' */ +static int sps_limit = 9999; /* max nr of suggestions given */ /* * Check the 'spellsuggest' option. Return FAIL if it's wrong. @@ -8461,7 +9406,7 @@ spell_suggest(count) else limit = sps_limit; spell_find_suggest(line + curwin->w_cursor.col, &sug, limit, - TRUE, need_cap); + TRUE, need_cap, TRUE); if (sug.su_ga.ga_len == 0) MSG(_("Sorry, no suggestions")); @@ -8512,7 +9457,7 @@ spell_suggest(count) * the not replaced part. */ STRCPY(wcopy, stp->st_word); if (sug.su_badlen > stp->st_orglen) - vim_strncpy(wcopy + STRLEN(wcopy), + vim_strncpy(wcopy + stp->st_wordlen, sug.su_badptr + stp->st_orglen, sug.su_badlen - stp->st_orglen); vim_snprintf((char *)IObuff, IOSIZE, "%2d", i + 1); @@ -8586,7 +9531,7 @@ spell_suggest(count) } /* Replace the word. */ - p = alloc(STRLEN(line) - stp->st_orglen + STRLEN(stp->st_word) + 1); + p = alloc(STRLEN(line) - stp->st_orglen + stp->st_wordlen + 1); if (p != NULL) { c = sug.su_badptr - line; @@ -8601,7 +9546,7 @@ spell_suggest(count) ResetRedobuff(); AppendToRedobuff((char_u *)"ciw"); AppendToRedobuffLit(p + c, - STRLEN(stp->st_word) + sug.su_badlen - stp->st_orglen); + stp->st_wordlen + sug.su_badlen - stp->st_orglen); AppendCharToRedobuff(ESC); } } @@ -8759,18 +9704,19 @@ ex_spellrepall(eap) * a list of allocated strings. */ void -spell_suggest_list(gap, word, maxcount, need_cap) +spell_suggest_list(gap, word, maxcount, need_cap, interactive) garray_T *gap; char_u *word; int maxcount; /* maximum nr of suggestions */ int need_cap; /* 'spellcapcheck' matched */ + int interactive; { suginfo_T sug; int i; suggest_T *stp; char_u *wcopy; - spell_find_suggest(word, &sug, maxcount, FALSE, need_cap); + spell_find_suggest(word, &sug, maxcount, FALSE, need_cap, interactive); /* Make room in "gap". */ ga_init2(gap, sizeof(char_u *), sug.su_ga.ga_len + 1); @@ -8783,12 +9729,12 @@ spell_suggest_list(gap, word, maxcount, need_cap) /* The suggested word may replace only part of "word", add the not * replaced part. */ - wcopy = alloc(STRLEN(stp->st_word) + wcopy = alloc(stp->st_wordlen + STRLEN(sug.su_badptr + stp->st_orglen) + 1); if (wcopy == NULL) break; STRCPY(wcopy, stp->st_word); - STRCAT(wcopy, sug.su_badptr + stp->st_orglen); + STRCPY(wcopy + stp->st_wordlen, sug.su_badptr + stp->st_orglen); ((char_u **)gap->ga_data)[gap->ga_len++] = wcopy; } @@ -8803,12 +9749,13 @@ spell_suggest_list(gap, word, maxcount, need_cap) * This is based on the mechanisms of Aspell, but completely reimplemented. */ static void -spell_find_suggest(badptr, su, maxcount, banbadword, need_cap) +spell_find_suggest(badptr, su, maxcount, banbadword, need_cap, interactive) char_u *badptr; suginfo_T *su; int maxcount; int banbadword; /* don't include badword in suggestions */ int need_cap; /* word should start with capital */ + int interactive; { hlf_T attr = HLF_COUNT; char_u buf[MAXPATHL]; @@ -8833,7 +9780,7 @@ spell_find_suggest(badptr, su, maxcount, banbadword, need_cap) hash_init(&su->su_banned); su->su_badptr = badptr; - su->su_badlen = spell_check(curwin, su->su_badptr, &attr, NULL); + su->su_badlen = spell_check(curwin, su->su_badptr, &attr, NULL, FALSE); su->su_maxcount = maxcount; su->su_maxscore = SCORE_MAXINIT; @@ -8876,7 +9823,7 @@ spell_find_suggest(badptr, su, maxcount, banbadword, need_cap) { make_case_word(su->su_badword, buf, WF_ONECAP); add_suggestion(su, &su->su_ga, buf, su->su_badlen, SCORE_ICASE, - 0, TRUE, su->su_sallang); + 0, TRUE, su->su_sallang, FALSE); } /* Ban the bad word itself. It may appear in another region. */ @@ -8912,7 +9859,7 @@ spell_find_suggest(badptr, su, maxcount, banbadword, need_cap) else { /* Use internal method. */ - spell_suggest_intern(su); + spell_suggest_intern(su, interactive); if (sps_flags & SPS_DOUBLE) do_combine = TRUE; } @@ -8952,14 +9899,15 @@ spell_suggest_expr(su, expr) { /* Get the word and the score from the items. */ score = get_spellword(li->li_tv.vval.v_list, &p); - if (score >= 0) - add_suggestion(su, &su->su_ga, p, - su->su_badlen, score, 0, TRUE, su->su_sallang); + if (score >= 0 && score <= su->su_maxscore) + add_suggestion(su, &su->su_ga, p, su->su_badlen, + score, 0, TRUE, su->su_sallang, FALSE); } list_unref(list); } - /* Sort the suggestions and truncate at "maxcount". */ + /* Remove bogus suggestions, sort and truncate at "maxcount". */ + check_suggestions(su, &su->su_ga); (void)cleanup_suggestions(&su->su_ga, su->su_maxscore, su->su_maxcount); } #endif @@ -9011,13 +9959,14 @@ spell_suggest_file(su, fname) } add_suggestion(su, &su->su_ga, p, su->su_badlen, - SCORE_FILE, 0, TRUE, su->su_sallang); + SCORE_FILE, 0, TRUE, su->su_sallang, FALSE); } } fclose(fd); - /* Sort the suggestions and truncate at "maxcount". */ + /* Remove bogus suggestions, sort and truncate at "maxcount". */ + check_suggestions(su, &su->su_ga); (void)cleanup_suggestions(&su->su_ga, su->su_maxscore, su->su_maxcount); } @@ -9025,9 +9974,15 @@ spell_suggest_file(su, fname) * Find suggestions for the internal method indicated by "sps_flags". */ static void -spell_suggest_intern(su) +spell_suggest_intern(su, interactive) suginfo_T *su; + int interactive; { + /* + * Load the .sug file(s) that are available and not done yet. + */ + suggest_load_files(); + /* * 1. Try special cases, such as repeating a word: "the the" -> "the". * @@ -9048,22 +10003,50 @@ spell_suggest_intern(su) /* * 3. Try finding sound-a-like words. - * - * Only do this when we don't have a lot of suggestions yet, because it's - * very slow and often doesn't find new suggestions. */ - if ((sps_flags & SPS_DOUBLE) - || (!(sps_flags & SPS_FAST) - && su->su_ga.ga_len < SUG_CLEAN_COUNT(su))) + if ((sps_flags & SPS_FAST) == 0) { - /* Allow a higher score now. */ - su->su_maxscore = SCORE_MAXMAX; + if (sps_flags & SPS_BEST) + /* Adjust the word score for the suggestions found so far for how + * they sounds like. */ + rescore_suggestions(su); + + /* + * While going throught the soundfold tree "su_maxscore" is the score + * for the soundfold word, limits the changes that are being tried, + * and "su_sfmaxscore" the rescored score, which is set by + * cleanup_suggestions(). + * First find words with a small edit distance, because this is much + * faster and often already finds the top-N suggestions. If we didn't + * find many suggestions try again with a higher edit distance. + * "sl_sounddone" is used to avoid doing the same word twice. + */ + suggest_try_soundalike_prep(); + su->su_maxscore = SCORE_SFMAX1; + su->su_sfmaxscore = SCORE_MAXINIT * 3; suggest_try_soundalike(su); + if (su->su_ga.ga_len < SUG_CLEAN_COUNT(su)) + { + /* We didn't find enough matches, try again, allowing more + * changes to the soundfold word. */ + su->su_maxscore = SCORE_SFMAX2; + suggest_try_soundalike(su); + if (su->su_ga.ga_len < SUG_CLEAN_COUNT(su)) + { + /* Still didn't find enough matches, try again, allowing even + * more changes to the soundfold word. */ + su->su_maxscore = SCORE_SFMAX3; + suggest_try_soundalike(su); + } + } + su->su_maxscore = su->su_sfmaxscore; + suggest_try_soundalike_finish(); } - /* When CTRL-C was hit while searching do show the results. */ + /* When CTRL-C was hit while searching do show the results. Only clear + * got_int when using a command, not for spellsuggest(). */ ui_breakcheck(); - if (got_int) + if (interactive && got_int) { (void)vgetc(); got_int = FALSE; @@ -9075,11 +10058,219 @@ spell_suggest_intern(su) /* Adjust the word score for how it sounds like. */ rescore_suggestions(su); - /* Sort the suggestions and truncate at "maxcount". */ + /* Remove bogus suggestions, sort and truncate at "maxcount". */ + check_suggestions(su, &su->su_ga); (void)cleanup_suggestions(&su->su_ga, su->su_maxscore, su->su_maxcount); } } +/* + * Load the .sug files for languages that have one and weren't loaded yet. + */ + static void +suggest_load_files() +{ + langp_T *lp; + int lpi; + slang_T *slang; + char_u *dotp; + FILE *fd; + char_u buf[MAXWLEN]; + int i; + time_t timestamp; + int wcount; + int wordnr; + garray_T ga; + int c; + + /* Do this for all languages that support sound folding. */ + for (lpi = 0; lpi < curbuf->b_langp.ga_len; ++lpi) + { + lp = LANGP_ENTRY(curbuf->b_langp, lpi); + slang = lp->lp_slang; + if (slang->sl_sugtime != 0 && !slang->sl_sugloaded) + { + /* Change ".spl" to ".sug" and open the file. When the file isn't + * found silently skip it. Do set "sl_sugloaded" so that we + * don't try again and again. */ + slang->sl_sugloaded = TRUE; + + dotp = vim_strrchr(slang->sl_fname, '.'); + if (dotp == NULL || fnamecmp(dotp, ".spl") != 0) + continue; + STRCPY(dotp, ".sug"); + fd = fopen((char *)slang->sl_fname, "r"); + if (fd == NULL) + goto nextone; + + /* + * : + */ + for (i = 0; i < VIMSUGMAGICL; ++i) + buf[i] = getc(fd); /* */ + if (STRNCMP(buf, VIMSUGMAGIC, VIMSUGMAGICL) != 0) + { + EMSG2(_("E999: This does not look like a .sug file: %s"), + slang->sl_fname); + goto nextone; + } + c = getc(fd); /* */ + if (c < VIMSUGVERSION) + { + EMSG2(_("E999: Old .sug file, needs to be updated: %s"), + slang->sl_fname); + goto nextone; + } + else if (c > VIMSUGVERSION) + { + EMSG2(_("E999: .sug file is for newer version of Vim: %s"), + slang->sl_fname); + goto nextone; + } + + /* Check the timestamp, it must be exactly the same as the one in + * the .spl file. Otherwise the word numbers won't match. */ + timestamp = 0; + for (i = 7; i >= 0; --i) /* */ + timestamp += getc(fd) << (i * 8); + if (timestamp != slang->sl_sugtime) + { + EMSG2(_("E999: .sug file doesn't match .spl file: %s"), + slang->sl_fname); + goto nextone; + } + + /* + * : + * Read the trie with the soundfolded words. + */ + if (spell_read_tree(fd, &slang->sl_sbyts, &slang->sl_sidxs, + FALSE, 0) != 0) + { +someerror: + EMSG2(_("E999: error while reading .sug file: %s"), + slang->sl_fname); + slang_clear_sug(slang); + goto nextone; + } + + /* + * : ... + * + * Read the table with word numbers. We use a file buffer for + * this, because it's so much like a file with lines. Makes it + * possible to swap the info and save on memory use. + */ + slang->sl_sugbuf = open_spellbuf(); + if (slang->sl_sugbuf == NULL) + goto someerror; + /* */ + wcount = (getc(fd) << 24) + (getc(fd) << 16) + (getc(fd) << 8) + + getc(fd); + if (wcount < 0) + goto someerror; + + /* Read all the wordnr lists into the buffer, one NUL terminated + * list per line. */ + ga_init2(&ga, 1, 100); + for (wordnr = 0; wordnr < wcount; ++wordnr) + { + ga.ga_len = 0; + for (;;) + { + c = getc(fd); /* */ + if (c < 0 || ga_grow(&ga, 1) == FAIL) + goto someerror; + ((char_u *)ga.ga_data)[ga.ga_len++] = c; + if (c == NUL) + break; + } + if (ml_append_buf(slang->sl_sugbuf, (linenr_T)wordnr, + ga.ga_data, ga.ga_len, TRUE) == FAIL) + goto someerror; + } + ga_clear(&ga); + + /* + * Need to put word counts in the word tries, so that we can find + * a word by its number. + */ + tree_count_words(slang->sl_fbyts, slang->sl_fidxs); + tree_count_words(slang->sl_sbyts, slang->sl_sidxs); + +nextone: + if (fd != NULL) + fclose(fd); + STRCPY(dotp, ".spl"); + } + } +} + + +/* + * Fill in the wordcount fields for a trie. + * Returns the total number of words. + */ + static void +tree_count_words(byts, idxs) + char_u *byts; + idx_T *idxs; +{ + int depth; + idx_T arridx[MAXWLEN]; + int curi[MAXWLEN]; + int c; + idx_T n; + int wordcount[MAXWLEN]; + + arridx[0] = 0; + curi[0] = 1; + wordcount[0] = 0; + depth = 0; + while (depth >= 0 && !got_int) + { + if (curi[depth] > byts[arridx[depth]]) + { + /* Done all bytes at this node, go up one level. */ + idxs[arridx[depth]] = wordcount[depth]; + if (depth > 0) + wordcount[depth - 1] += wordcount[depth]; + + --depth; + fast_breakcheck(); + } + else + { + /* Do one more byte at this node. */ + n = arridx[depth] + curi[depth]; + ++curi[depth]; + + c = byts[n]; + if (c == 0) + { + /* End of word, count it. */ + ++wordcount[depth]; + + /* Skip over any other NUL bytes (same word with different + * flags). */ + while (byts[n + 1] == 0) + { + ++n; + ++curi[depth]; + } + } + else + { + /* Normal char, go one level deeper to count the words. */ + ++depth; + arridx[depth] = idxs[n]; + curi[depth] = 1; + wordcount[depth] = 0; + } + } + } +} + /* * Free the info put in "*su" by spell_find_suggest(). */ @@ -9098,7 +10289,7 @@ spell_find_cleanup(su) ga_clear(&su->su_sga); /* Free the banned words. */ - free_banned(su); + hash_clear_all(&su->su_banned, 0); } /* @@ -9224,31 +10415,87 @@ suggest_try_special(su) /* Give a soundalike score of 0, compute the score as if deleting one * character. */ add_suggestion(su, &su->su_ga, word, su->su_badlen, - RESCORE(SCORE_REP, 0), 0, TRUE, su->su_sallang); + RESCORE(SCORE_REP, 0), 0, TRUE, su->su_sallang, FALSE); + } +} + +/* + * Try finding suggestions by adding/removing/swapping letters. + */ + static void +suggest_try_change(su) + suginfo_T *su; +{ + char_u fword[MAXWLEN]; /* copy of the bad word, case-folded */ + int n; + char_u *p; + int lpi; + langp_T *lp; + + /* We make a copy of the case-folded bad word, so that we can modify it + * to find matches (esp. REP items). Append some more text, changing + * chars after the bad word may help. */ + STRCPY(fword, su->su_fbadword); + n = STRLEN(fword); + p = su->su_badptr + su->su_badlen; + (void)spell_casefold(p, STRLEN(p), fword + n, MAXWLEN - n); + + for (lpi = 0; lpi < curbuf->b_langp.ga_len; ++lpi) + { + lp = LANGP_ENTRY(curbuf->b_langp, lpi); + + /* If reloading a spell file fails it's still in the list but + * everything has been cleared. */ + if (lp->lp_slang->sl_fbyts == NULL) + continue; + + /* Try it for this language. Will add possible suggestions. */ + suggest_trie_walk(su, lp, fword, FALSE); } } +/* Check the maximum score, if we go over it we won't try this change. */ +#define TRY_DEEPER(su, stack, depth, add) \ + (stack[depth].ts_score + (add) < su->su_maxscore) + /* * Try finding suggestions by adding/removing/swapping letters. * * This uses a state machine. At each node in the tree we try various - * operations. When trying if an operation work "depth" is increased and the + * operations. When trying if an operation works "depth" is increased and the * stack[] is used to store info. This allows combinations, thus insert one * character, replace one and delete another. The number of changes is - * limited by su->su_maxscore, checked in try_deeper(). + * limited by su->su_maxscore. * * After implementing this I noticed an article by Kemal Oflazer that * describes something similar: "Error-tolerant Finite State Recognition with * Applications to Morphological Analysis and Spelling Correction" (1996). * The implementation in the article is simplified and requires a stack of - * unknown depth. The implementation here only needs a stack depth of the - * length of the word. + * unknown depth. The implementation here only needs a stack depth equal to + * the length of the word. + * + * This is also used for the sound-folded word, "soundfold" is TRUE then. + * The mechanism is the same, but we find a match with a sound-folded word + * that comes from one or more original words. Each of these words may be + * added, this is done by add_sound_suggest(). + * Don't use: + * the prefix tree or the keep-case tree + * "su->su_badlen" + * anything to do with upper and lower case + * anything to do with word or non-word characters ("spell_iswordp()") + * banned words + * word flags (rare, region, compounding) + * word splitting for now + * "similar_chars()" + * use "slang->sl_repsal" instead of "lp->lp_replang->sl_rep" */ static void -suggest_try_change(su) +suggest_trie_walk(su, lp, fword, soundfold) suginfo_T *su; + langp_T *lp; + char_u *fword; + int soundfold; { - char_u fword[MAXWLEN]; /* copy of the bad word, case-folded */ char_u tword[MAXWLEN]; /* good word collected so far */ trystate_T stack[MAXWLEN]; char_u preword[MAXWLEN * 3]; /* word found with proper case; @@ -9259,12 +10506,12 @@ suggest_try_change(su) char_u compflags[MAXWLEN]; /* compound flags, one for each word */ trystate_T *sp; int newscore; - langp_T *lp; + int score; char_u *byts, *fbyts, *pbyts; idx_T *idxs, *fidxs, *pidxs; int depth; int c, c2, c3; - int n; + int n = 0; int flags; garray_T *gap; idx_T arridx; @@ -9273,41 +10520,39 @@ suggest_try_change(su) fromto_T *ftp; int fl = 0, tl; int repextra = 0; /* extra bytes in fword[] from REP item */ - slang_T *slang; + slang_T *slang = lp->lp_slang; int fword_ends; - int lpi; - int maysplit; int goodword_ends; +#ifdef DEBUG_TRIEWALK + /* Stores the name of the change made at each level. */ + char_u changename[MAXWLEN][80]; +#endif + int breakcheckcount = 1000; + int compound_ok; - /* We make a copy of the case-folded bad word, so that we can modify it - * to find matches (esp. REP items). Append some more text, changing - * chars after the bad word may help. */ - STRCPY(fword, su->su_fbadword); - n = STRLEN(fword); - p = su->su_badptr + su->su_badlen; - (void)spell_casefold(p, STRLEN(p), fword + n, MAXWLEN - n); + /* + * Go through the whole case-fold tree, try changes at each node. + * "tword[]" contains the word collected from nodes in the tree. + * "fword[]" the word we are trying to match with (initially the bad + * word). + */ + depth = 0; + sp = &stack[0]; + vim_memset(sp, 0, sizeof(trystate_T)); + sp->ts_curi = 1; - for (lpi = 0; lpi < curbuf->b_langp.ga_len; ++lpi) + if (soundfold) + { + /* Going through the soundfold tree. */ + byts = fbyts = slang->sl_sbyts; + idxs = fidxs = slang->sl_sidxs; + pbyts = NULL; + pidxs = NULL; + sp->ts_prefixdepth = PFD_NOPREFIX; + sp->ts_state = STATE_START; + } + else { - lp = LANGP_ENTRY(curbuf->b_langp, lpi); - slang = lp->lp_slang; - - /* If reloading a spell file fails it's still in the list but - * everything has been cleared. */ - if (slang->sl_fbyts == NULL) - continue; - - /* - * Go through the whole case-fold tree, try changes at each node. - * "tword[]" contains the word collected from nodes in the tree. - * "fword[]" the word we are trying to match with (initially the bad - * word). - */ - depth = 0; - sp = &stack[0]; - vim_memset(sp, 0, sizeof(trystate_T)); - sp->ts_curi = 1; - /* * When there are postponed prefixes we need to use these first. At * the end of the prefix we continue in the case-fold tree. @@ -9330,232 +10575,243 @@ suggest_try_change(su) sp->ts_prefixdepth = PFD_NOPREFIX; sp->ts_state = STATE_START; } + } - /* - * Loop to find all suggestions. At each round we either: - * - For the current state try one operation, advance "ts_curi", - * increase "depth". - * - When a state is done go to the next, set "ts_state". - * - When all states are tried decrease "depth". - */ - while (depth >= 0 && !got_int) + /* + * Loop to find all suggestions. At each round we either: + * - For the current state try one operation, advance "ts_curi", + * increase "depth". + * - When a state is done go to the next, set "ts_state". + * - When all states are tried decrease "depth". + */ + while (depth >= 0 && !got_int) + { + sp = &stack[depth]; + switch (sp->ts_state) { - sp = &stack[depth]; - switch (sp->ts_state) + case STATE_START: + case STATE_NOPREFIX: + /* + * Start of node: Deal with NUL bytes, which means + * tword[] may end here. + */ + arridx = sp->ts_arridx; /* current node in the tree */ + len = byts[arridx]; /* bytes in this node */ + arridx += sp->ts_curi; /* index of current byte */ + + if (sp->ts_prefixdepth == PFD_PREFIXTREE) { - case STATE_START: - case STATE_NOPREFIX: - /* - * Start of node: Deal with NUL bytes, which means - * tword[] may end here. - */ - arridx = sp->ts_arridx; /* current node in the tree */ - len = byts[arridx]; /* bytes in this node */ - arridx += sp->ts_curi; /* index of current byte */ + /* Skip over the NUL bytes, we use them later. */ + for (n = 0; n < len && byts[arridx + n] == 0; ++n) + ; + sp->ts_curi += n; + + /* Always past NUL bytes now. */ + n = (int)sp->ts_state; + sp->ts_state = STATE_ENDNUL; + sp->ts_save_badflags = su->su_badflags; - if (sp->ts_prefixdepth == PFD_PREFIXTREE) + /* At end of a prefix or at start of prefixtree: check for + * following word. */ + if (byts[arridx] == 0 || n == (int)STATE_NOPREFIX) { - /* Skip over the NUL bytes, we use them later. */ - for (n = 0; n < len && byts[arridx + n] == 0; ++n) - ; - sp->ts_curi += n; - - /* Always past NUL bytes now. */ - n = (int)sp->ts_state; - sp->ts_state = STATE_ENDNUL; - sp->ts_save_badflags = su->su_badflags; - - /* At end of a prefix or at start of prefixtree: check for - * following word. */ - if (byts[arridx] == 0 || n == (int)STATE_NOPREFIX) - { - /* Set su->su_badflags to the caps type at this - * position. Use the caps type until here for the - * prefix itself. */ + /* Set su->su_badflags to the caps type at this position. + * Use the caps type until here for the prefix itself. */ #ifdef FEAT_MBYTE - if (has_mbyte) - n = nofold_len(fword, sp->ts_fidx, su->su_badptr); - else + if (has_mbyte) + n = nofold_len(fword, sp->ts_fidx, su->su_badptr); + else #endif - n = sp->ts_fidx; - flags = badword_captype(su->su_badptr, - su->su_badptr + n); - su->su_badflags = badword_captype(su->su_badptr + n, + n = sp->ts_fidx; + flags = badword_captype(su->su_badptr, su->su_badptr + n); + su->su_badflags = badword_captype(su->su_badptr + n, su->su_badptr + su->su_badlen); - ++depth; - stack[depth] = stack[depth - 1]; - sp = &stack[depth]; - sp->ts_prefixdepth = depth - 1; - byts = fbyts; - idxs = fidxs; - sp->ts_state = STATE_START; - sp->ts_curi = 1; /* start just after length byte */ - sp->ts_arridx = 0; - - /* Move the prefix to preword[] with the right case - * and make find_keepcap_word() works. */ - tword[sp->ts_twordlen] = NUL; - make_case_word(tword + sp->ts_splitoff, - preword + sp->ts_prewordlen, - flags); - sp->ts_prewordlen = STRLEN(preword); - sp->ts_splitoff = sp->ts_twordlen; - } - break; +#ifdef DEBUG_TRIEWALK + sprintf(changename[depth], "prefix"); +#endif + go_deeper(stack, depth, 0); + ++depth; + sp = &stack[depth]; + sp->ts_prefixdepth = depth - 1; + byts = fbyts; + idxs = fidxs; + sp->ts_arridx = 0; + + /* Move the prefix to preword[] with the right case + * and make find_keepcap_word() works. */ + tword[sp->ts_twordlen] = NUL; + make_case_word(tword + sp->ts_splitoff, + preword + sp->ts_prewordlen, flags); + sp->ts_prewordlen = STRLEN(preword); + sp->ts_splitoff = sp->ts_twordlen; } + break; + } - if (sp->ts_curi > len || byts[arridx] != 0) - { - /* Past bytes in node and/or past NUL bytes. */ - sp->ts_state = STATE_ENDNUL; - sp->ts_save_badflags = su->su_badflags; - break; - } + if (sp->ts_curi > len || byts[arridx] != 0) + { + /* Past bytes in node and/or past NUL bytes. */ + sp->ts_state = STATE_ENDNUL; + sp->ts_save_badflags = su->su_badflags; + break; + } - /* - * End of word in tree. - */ - ++sp->ts_curi; /* eat one NUL byte */ + /* + * End of word in tree. + */ + ++sp->ts_curi; /* eat one NUL byte */ - flags = (int)idxs[arridx]; - fword_ends = (fword[sp->ts_fidx] == NUL - || !spell_iswordp(fword + sp->ts_fidx, curbuf)); - tword[sp->ts_twordlen] = NUL; + flags = (int)idxs[arridx]; + fword_ends = (fword[sp->ts_fidx] == NUL + || (soundfold + ? vim_iswhite(fword[sp->ts_fidx]) + : !spell_iswordp(fword + sp->ts_fidx, curbuf))); + tword[sp->ts_twordlen] = NUL; - if (sp->ts_prefixdepth <= PFD_NOTSPECIAL + if (sp->ts_prefixdepth <= PFD_NOTSPECIAL && (sp->ts_flags & TSF_PREFIXOK) == 0) + { + /* There was a prefix before the word. Check that the prefix + * can be used with this word. */ + /* Count the length of the NULs in the prefix. If there are + * none this must be the first try without a prefix. */ + n = stack[sp->ts_prefixdepth].ts_arridx; + len = pbyts[n++]; + for (c = 0; c < len && pbyts[n + c] == 0; ++c) + ; + if (c > 0) { - /* There was a prefix before the word. Check that the - * prefix can be used with this word. */ - /* Count the length of the NULs in the prefix. If there - * are none this must be the first try without a prefix. - */ - n = stack[sp->ts_prefixdepth].ts_arridx; - len = pbyts[n++]; - for (c = 0; c < len && pbyts[n + c] == 0; ++c) - ; - if (c > 0) - { - c = valid_word_prefix(c, n, flags, + c = valid_word_prefix(c, n, flags, tword + sp->ts_splitoff, slang, FALSE); - if (c == 0) - break; + if (c == 0) + break; - /* Use the WF_RARE flag for a rare prefix. */ - if (c & WF_RAREPFX) - flags |= WF_RARE; + /* Use the WF_RARE flag for a rare prefix. */ + if (c & WF_RAREPFX) + flags |= WF_RARE; - /* Tricky: when checking for both prefix and - * compounding we run into the prefix flag first. - * Remember that it's OK, so that we accept the prefix - * when arriving at a compound flag. */ - sp->ts_flags |= TSF_PREFIXOK; - } + /* Tricky: when checking for both prefix and compounding + * we run into the prefix flag first. + * Remember that it's OK, so that we accept the prefix + * when arriving at a compound flag. */ + sp->ts_flags |= TSF_PREFIXOK; } + } - /* Check NEEDCOMPOUND: can't use word without compounding. Do - * try appending another compound word below. */ - if (sp->ts_complen == sp->ts_compsplit && fword_ends + /* Check NEEDCOMPOUND: can't use word without compounding. Do try + * appending another compound word below. */ + if (sp->ts_complen == sp->ts_compsplit && fword_ends && (flags & WF_NEEDCOMP)) - goodword_ends = FALSE; - else - goodword_ends = TRUE; + goodword_ends = FALSE; + else + goodword_ends = TRUE; - if (sp->ts_complen > sp->ts_compsplit) + p = NULL; + compound_ok = TRUE; + if (sp->ts_complen > sp->ts_compsplit) + { + if (slang->sl_nobreak) { - if (slang->sl_nobreak) - { - /* There was a word before this word. When there was - * no change in this word (it was correct) add the - * first word as a suggestion. If this word was - * corrected too, we need to check if a correct word - * follows. */ - if (sp->ts_fidx - sp->ts_splitfidx + /* There was a word before this word. When there was no + * change in this word (it was correct) add the first word + * as a suggestion. If this word was corrected too, we + * need to check if a correct word follows. */ + if (sp->ts_fidx - sp->ts_splitfidx == sp->ts_twordlen - sp->ts_splitoff - && STRNCMP(fword + sp->ts_splitfidx, - tword + sp->ts_splitoff, + && STRNCMP(fword + sp->ts_splitfidx, + tword + sp->ts_splitoff, sp->ts_fidx - sp->ts_splitfidx) == 0) - { - preword[sp->ts_prewordlen] = NUL; + { + preword[sp->ts_prewordlen] = NUL; + newscore = score_wordcount_adj(slang, sp->ts_score, + preword + sp->ts_prewordlen, + sp->ts_prewordlen > 0); + /* Add the suggestion if the score isn't too bad. */ + if (newscore <= su->su_maxscore) add_suggestion(su, &su->su_ga, preword, sp->ts_splitfidx - repextra, - sp->ts_score, 0, FALSE, - lp->lp_sallang); - break; - } + newscore, 0, FALSE, + lp->lp_sallang, FALSE); + break; } - else - { - /* There was a compound word before this word. If - * this word does not support compounding then give up - * (splitting is tried for the word without compound - * flag). */ - if (((unsigned)flags >> 24) == 0 - || sp->ts_twordlen - sp->ts_splitoff + } + else + { + /* There was a compound word before this word. If this + * word does not support compounding then give up + * (splitting is tried for the word without compound + * flag). */ + if (((unsigned)flags >> 24) == 0 + || sp->ts_twordlen - sp->ts_splitoff < slang->sl_compminlen) - break; + break; #ifdef FEAT_MBYTE - /* For multi-byte chars check character length against - * COMPOUNDMIN. */ - if (has_mbyte - && slang->sl_compminlen > 0 - && mb_charlen(tword + sp->ts_splitoff) + /* For multi-byte chars check character length against + * COMPOUNDMIN. */ + if (has_mbyte + && slang->sl_compminlen > 0 + && mb_charlen(tword + sp->ts_splitoff) < slang->sl_compminlen) - break; + break; #endif - compflags[sp->ts_complen] = ((unsigned)flags >> 24); - compflags[sp->ts_complen + 1] = NUL; - vim_strncpy(preword + sp->ts_prewordlen, - tword + sp->ts_splitoff, - sp->ts_twordlen - sp->ts_splitoff); - p = preword; - while (*skiptowhite(p) != NUL) - p = skipwhite(skiptowhite(p)); - if (fword_ends && !can_compound(slang, p, + compflags[sp->ts_complen] = ((unsigned)flags >> 24); + compflags[sp->ts_complen + 1] = NUL; + vim_strncpy(preword + sp->ts_prewordlen, + tword + sp->ts_splitoff, + sp->ts_twordlen - sp->ts_splitoff); + p = preword; + while (*skiptowhite(p) != NUL) + p = skipwhite(skiptowhite(p)); + if (fword_ends && !can_compound(slang, p, compflags + sp->ts_compsplit)) - break; + /* Compound is not allowed. But it may still be + * possible if we add another (short) word. */ + compound_ok = FALSE; - /* Get pointer to last char of previous word. */ - p = preword + sp->ts_prewordlen; - mb_ptr_back(preword, p); - } + /* Get pointer to last char of previous word. */ + p = preword + sp->ts_prewordlen; + mb_ptr_back(preword, p); } - else - p = NULL; + } - /* - * Form the word with proper case in preword. - * If there is a word from a previous split, append. - */ - if (flags & WF_KEEPCAP) - /* Must find the word in the keep-case tree. */ - find_keepcap_word(slang, tword + sp->ts_splitoff, + /* + * Form the word with proper case in preword. + * If there is a word from a previous split, append. + * For the soundfold tree don't change the case, simply append. + */ + if (soundfold) + STRCPY(preword + sp->ts_prewordlen, tword + sp->ts_splitoff); + else if (flags & WF_KEEPCAP) + /* Must find the word in the keep-case tree. */ + find_keepcap_word(slang, tword + sp->ts_splitoff, preword + sp->ts_prewordlen); - else - { - /* Include badflags: if the badword is onecap or allcap - * use that for the goodword too. But if the badword is - * allcap and it's only one char long use onecap. */ - c = su->su_badflags; - if ((c & WF_ALLCAP) + else + { + /* Include badflags: If the badword is onecap or allcap + * use that for the goodword too. But if the badword is + * allcap and it's only one char long use onecap. */ + c = su->su_badflags; + if ((c & WF_ALLCAP) #ifdef FEAT_MBYTE - && su->su_badlen == (*mb_ptr2len)(su->su_badptr) + && su->su_badlen == (*mb_ptr2len)(su->su_badptr) #else - && su->su_badlen == 1 + && su->su_badlen == 1 #endif - ) - c = WF_ONECAP; - c |= flags; - - /* When appending a compound word after a word character - * don't use Onecap. */ - if (p != NULL && spell_iswordp_nmw(p)) - c &= ~WF_ONECAP; - make_case_word(tword + sp->ts_splitoff, + ) + c = WF_ONECAP; + c |= flags; + + /* When appending a compound word after a word character don't + * use Onecap. */ + if (p != NULL && spell_iswordp_nmw(p)) + c &= ~WF_ONECAP; + make_case_word(tword + sp->ts_splitoff, preword + sp->ts_prewordlen, c); - } + } + if (!soundfold) + { /* Don't use a banned word. It may appear again as a good * word, thus remember it. */ if (flags & WF_BANNED) @@ -9564,16 +10820,19 @@ suggest_try_change(su) break; } if ((sp->ts_complen == sp->ts_compsplit - && was_banned(su, preword + sp->ts_prewordlen)) - || was_banned(su, preword)) + && WAS_BANNED(su, preword + sp->ts_prewordlen)) + || WAS_BANNED(su, preword)) { if (slang->sl_compprog == NULL) break; /* the word so far was banned but we may try compounding */ goodword_ends = FALSE; } + } - newscore = 0; + newscore = 0; + if (!soundfold) /* soundfold words don't have flags */ + { if ((flags & WF_REGION) && (((unsigned)flags >> 16) & lp->lp_region) == 0) newscore += SCORE_REGION; @@ -9583,113 +10842,141 @@ suggest_try_change(su) if (!spell_valid_case(su->su_badflags, captype(preword + sp->ts_prewordlen, NULL))) newscore += SCORE_ICASE; + } - maysplit = TRUE; - if (fword_ends && goodword_ends - && sp->ts_fidx >= sp->ts_fidxtry) + /* TODO: how about splitting in the soundfold tree? */ + if (fword_ends + && goodword_ends + && sp->ts_fidx >= sp->ts_fidxtry + && compound_ok) + { + /* The badword also ends: add suggestions. */ +#ifdef DEBUG_TRIEWALK + if (soundfold && STRCMP(preword, "smwrd") == 0) { - /* The badword also ends: add suggestions. Give a penalty - * when changing non-word char to word char, e.g., "thes," - * -> "these". */ - p = fword + sp->ts_fidx; -#ifdef FEAT_MBYTE - if (has_mbyte) - mb_ptr_back(fword, p); - else + int j; + + /* print the stack of changes that brought us here */ + smsg("------ %s -------", fword); + for (j = 0; j < depth; ++j) + smsg("%s", changename[j]); + } #endif - --p; + if (soundfold) + { + /* For soundfolded words we need to find the original + * words, the edit distrance and then add them. */ + add_sound_suggest(su, preword, sp->ts_score, lp); + } + else + { + /* Give a penalty when changing non-word char to word + * char, e.g., "thes," -> "these". */ + p = fword + sp->ts_fidx; + mb_ptr_back(fword, p); if (!spell_iswordp(p, curbuf)) { p = preword + STRLEN(preword); -#ifdef FEAT_MBYTE - if (has_mbyte) - mb_ptr_back(preword, p); - else -#endif - --p; + mb_ptr_back(preword, p); if (spell_iswordp(p, curbuf)) newscore += SCORE_NONWORD; } - add_suggestion(su, &su->su_ga, preword, - sp->ts_fidx - repextra, - sp->ts_score + newscore, 0, FALSE, - lp->lp_sallang); - - /* When the bad word doesn't end yet, try changing the - * next word. E.g., find suggestions for "the the" where - * the second "the" is different. It's done like a split. - */ - if (sp->ts_fidx - repextra >= su->su_badlen) - maysplit = FALSE; + /* Give a bonus to words seen before. */ + score = score_wordcount_adj(slang, + sp->ts_score + newscore, + preword + sp->ts_prewordlen, + sp->ts_prewordlen > 0); + + /* Add the suggestion if the score isn't too bad. */ + if (score <= su->su_maxscore) + add_suggestion(su, &su->su_ga, preword, + sp->ts_fidx - repextra, + score, 0, FALSE, lp->lp_sallang, FALSE); } + } - if (maysplit - && (sp->ts_fidx >= sp->ts_fidxtry || fword_ends) + /* + * Try word split and/or compounding. + */ + if ((sp->ts_fidx >= sp->ts_fidxtry || fword_ends) #ifdef FEAT_MBYTE - /* Don't split halfway a character. */ - && (!has_mbyte || sp->ts_tcharlen == 0) -#endif - ) - { - int try_compound; - - /* Get here in two situations: - * 1. The word in the tree ends but the badword continues: - * If the word allows compounding try that. Otherwise - * try a split by inserting a space. For both check - * that a valid words starts at fword[sp->ts_fidx]. - * For NOBREAK do like compounding to be able to check - * if the next word is valid. - * 2. The badword does end, but it was due to a change - * (e.g., a swap). No need to split, but do check that - * the following word is valid. - */ - try_compound = FALSE; - if ((!fword_ends || !goodword_ends) - && slang->sl_compprog != NULL - && ((unsigned)flags >> 24) != 0 - && sp->ts_twordlen - sp->ts_splitoff - >= slang->sl_compminlen + /* Don't split halfway a character. */ + && (!has_mbyte || sp->ts_tcharlen == 0) +#endif + ) + { + int try_compound; + int try_split; + + /* If past the end of the bad word don't try a split. + * Otherwise try changing the next word. E.g., find + * suggestions for "the the" where the second "the" is + * different. It's done like a split. + * TODO: word split for soundfold words */ + try_split = (sp->ts_fidx - repextra < su->su_badlen) + && !soundfold; + + /* Get here in several situations: + * 1. The word in the tree ends: + * If the word allows compounding try that. Otherwise try + * a split by inserting a space. For both check that a + * valid words starts at fword[sp->ts_fidx]. + * For NOBREAK do like compounding to be able to check if + * the next word is valid. + * 2. The badword does end, but it was due to a change (e.g., + * a swap). No need to split, but do check that the + * following word is valid. + * 3. The badword and the word in the tree end. It may still + * be possible to compound another (short) word. + */ + try_compound = FALSE; + if (!soundfold + && slang->sl_compprog != NULL + && ((unsigned)flags >> 24) != 0 + && sp->ts_twordlen - sp->ts_splitoff + >= slang->sl_compminlen #ifdef FEAT_MBYTE - && (!has_mbyte - || slang->sl_compminlen == 0 - || mb_charlen(tword + sp->ts_splitoff) + && (!has_mbyte + || slang->sl_compminlen == 0 + || mb_charlen(tword + sp->ts_splitoff) >= slang->sl_compminlen) #endif - && (slang->sl_compsylmax < MAXWLEN - || sp->ts_complen + 1 - sp->ts_compsplit - < slang->sl_compmax) - && (byte_in_str(sp->ts_complen == sp->ts_compsplit - ? slang->sl_compstartflags - : slang->sl_compallflags, + && (slang->sl_compsylmax < MAXWLEN + || sp->ts_complen + 1 - sp->ts_compsplit + < slang->sl_compmax) + && (byte_in_str(sp->ts_complen == sp->ts_compsplit + ? slang->sl_compstartflags + : slang->sl_compallflags, ((unsigned)flags >> 24)))) - { - try_compound = TRUE; - compflags[sp->ts_complen] = ((unsigned)flags >> 24); - compflags[sp->ts_complen + 1] = NUL; - } + { + try_compound = TRUE; + compflags[sp->ts_complen] = ((unsigned)flags >> 24); + compflags[sp->ts_complen + 1] = NUL; + } - /* For NOBREAK we never try splitting, it won't make any - * word valid. */ - if (slang->sl_nobreak) - try_compound = TRUE; - - /* If we could add a compound word, and it's also possible - * to split at this point, do the split first and set - * TSF_DIDSPLIT to avoid doing it again. */ - else if (!fword_ends - && try_compound - && (sp->ts_flags & TSF_DIDSPLIT) == 0) - { - try_compound = FALSE; - sp->ts_flags |= TSF_DIDSPLIT; - --sp->ts_curi; /* do the same NUL again */ - compflags[sp->ts_complen] = NUL; - } - else - sp->ts_flags &= ~TSF_DIDSPLIT; + /* For NOBREAK we never try splitting, it won't make any word + * valid. */ + if (slang->sl_nobreak) + try_compound = TRUE; + + /* If we could add a compound word, and it's also possible to + * split at this point, do the split first and set + * TSF_DIDSPLIT to avoid doing it again. */ + else if (!fword_ends + && try_compound + && (sp->ts_flags & TSF_DIDSPLIT) == 0) + { + try_compound = FALSE; + sp->ts_flags |= TSF_DIDSPLIT; + --sp->ts_curi; /* do the same NUL again */ + compflags[sp->ts_complen] = NUL; + } + else + sp->ts_flags &= ~TSF_DIDSPLIT; + if (try_split || try_compound) + { if (!try_compound && (!fword_ends || !goodword_ends)) { /* If we're going to split need to check that the @@ -9707,10 +10994,23 @@ suggest_try_change(su) compflags + sp->ts_compsplit)) break; newscore += SCORE_SPLIT; + + /* Give a bonus to words seen before. */ + newscore = score_wordcount_adj(slang, newscore, + preword + sp->ts_prewordlen, TRUE); } - if (try_deeper(su, stack, depth, newscore)) + if (TRY_DEEPER(su, stack, depth, newscore)) { + go_deeper(stack, depth, newscore); +#ifdef DEBUG_TRIEWALK + if (!try_compound && !fword_ends) + sprintf(changename[depth], "%.*s-%s: split", + sp->ts_twordlen, tword, fword + sp->ts_fidx); + else + sprintf(changename[depth], "%.*s-%s: compound", + sp->ts_twordlen, tword, fword + sp->ts_fidx); +#endif /* Save things to be restored at STATE_SPLITUNDO. */ sp->ts_save_badflags = su->su_badflags; sp->ts_state = STATE_SPLITUNDO; @@ -9730,10 +11030,11 @@ suggest_try_change(su) * non-word character with a space. Always skip a * character when the word ends. But only when the * good word can end. */ - if (((!try_compound - && !spell_iswordp_nmw(fword + sp->ts_fidx)) - || fword_ends) - && goodword_ends) + if (((!try_compound && !spell_iswordp_nmw(fword + + sp->ts_fidx)) + || fword_ends) + && fword[sp->ts_fidx] != NUL + && goodword_ends) { int l; @@ -9789,508 +11090,644 @@ suggest_try_change(su) } } } - break; + } + break; - case STATE_SPLITUNDO: - /* Undo the changes done for word split or compound word. */ - su->su_badflags = sp->ts_save_badflags; + case STATE_SPLITUNDO: + /* Undo the changes done for word split or compound word. */ + su->su_badflags = sp->ts_save_badflags; - /* Continue looking for NUL bytes. */ - sp->ts_state = STATE_START; + /* Continue looking for NUL bytes. */ + sp->ts_state = STATE_START; - /* In case we went into the prefix tree. */ - byts = fbyts; - idxs = fidxs; - break; + /* In case we went into the prefix tree. */ + byts = fbyts; + idxs = fidxs; + break; - case STATE_ENDNUL: - /* Past the NUL bytes in the node. */ - su->su_badflags = sp->ts_save_badflags; - if (fword[sp->ts_fidx] == NUL + case STATE_ENDNUL: + /* Past the NUL bytes in the node. */ + su->su_badflags = sp->ts_save_badflags; + if (fword[sp->ts_fidx] == NUL #ifdef FEAT_MBYTE - && sp->ts_tcharlen == 0 + && sp->ts_tcharlen == 0 #endif - ) - { - /* The badword ends, can't use the bytes in this node. */ - sp->ts_state = STATE_DEL; - break; - } - sp->ts_state = STATE_PLAIN; - /*FALLTHROUGH*/ + ) + { + /* The badword ends, can't use STATE_PLAIN. */ + sp->ts_state = STATE_DEL; + break; + } + sp->ts_state = STATE_PLAIN; + /*FALLTHROUGH*/ - case STATE_PLAIN: - /* - * Go over all possible bytes at this node, add each to - * tword[] and use child node. "ts_curi" is the index. - */ - arridx = sp->ts_arridx; - if (sp->ts_curi > byts[arridx]) - { - /* Done all bytes at this node, do next state. When still - * at already changed bytes skip the other tricks. */ - if (sp->ts_fidx >= sp->ts_fidxtry) - sp->ts_state = STATE_DEL; - else - sp->ts_state = STATE_FINAL; - } + case STATE_PLAIN: + /* + * Go over all possible bytes at this node, add each to tword[] + * and use child node. "ts_curi" is the index. + */ + arridx = sp->ts_arridx; + if (sp->ts_curi > byts[arridx]) + { + /* Done all bytes at this node, do next state. When still at + * already changed bytes skip the other tricks. */ + if (sp->ts_fidx >= sp->ts_fidxtry) + sp->ts_state = STATE_DEL; else - { - arridx += sp->ts_curi++; - c = byts[arridx]; + sp->ts_state = STATE_FINAL; + } + else + { + arridx += sp->ts_curi++; + c = byts[arridx]; - /* Normal byte, go one level deeper. If it's not equal to - * the byte in the bad word adjust the score. But don't - * even try when the byte was already changed. */ - if (c == fword[sp->ts_fidx] + /* Normal byte, go one level deeper. If it's not equal to the + * byte in the bad word adjust the score. But don't even try + * when the byte was already changed. And don't try when we + * just deleted this byte, accepting it is always cheaper then + * delete + substitute. */ + if (c == fword[sp->ts_fidx] #ifdef FEAT_MBYTE - || (sp->ts_tcharlen > 0 - && sp->ts_isdiff != DIFF_NONE) + || (sp->ts_tcharlen > 0 && sp->ts_isdiff != DIFF_NONE) #endif - ) - newscore = 0; + ) + newscore = 0; + else + newscore = SCORE_SUBST; + if ((newscore == 0 + || (sp->ts_fidx >= sp->ts_fidxtry + && ((sp->ts_flags & TSF_DIDDEL) == 0 + || c != fword[sp->ts_delidx]))) + && TRY_DEEPER(su, stack, depth, newscore)) + { + go_deeper(stack, depth, newscore); +#ifdef DEBUG_TRIEWALK + if (newscore > 0) + sprintf(changename[depth], "%.*s-%s: subst %c to %c", + sp->ts_twordlen, tword, fword + sp->ts_fidx, + fword[sp->ts_fidx], c); else - newscore = SCORE_SUBST; - if ((newscore == 0 || sp->ts_fidx >= sp->ts_fidxtry) - && try_deeper(su, stack, depth, newscore)) - { - ++depth; - sp = &stack[depth]; - ++sp->ts_fidx; - tword[sp->ts_twordlen++] = c; - sp->ts_arridx = idxs[arridx]; + sprintf(changename[depth], "%.*s-%s: accept %c", + sp->ts_twordlen, tword, fword + sp->ts_fidx, + fword[sp->ts_fidx]); +#endif + ++depth; + sp = &stack[depth]; + ++sp->ts_fidx; + tword[sp->ts_twordlen++] = c; + sp->ts_arridx = idxs[arridx]; #ifdef FEAT_MBYTE - if (newscore == SCORE_SUBST) - sp->ts_isdiff = DIFF_YES; - if (has_mbyte) + if (newscore == SCORE_SUBST) + sp->ts_isdiff = DIFF_YES; + if (has_mbyte) + { + /* Multi-byte characters are a bit complicated to + * handle: They differ when any of the bytes differ + * and then their length may also differ. */ + if (sp->ts_tcharlen == 0) { - /* Multi-byte characters are a bit complicated to - * handle: They differ when any of the bytes - * differ and then their length may also differ. */ - if (sp->ts_tcharlen == 0) - { - /* First byte. */ - sp->ts_tcharidx = 0; - sp->ts_tcharlen = MB_BYTE2LEN(c); - sp->ts_fcharstart = sp->ts_fidx - 1; - sp->ts_isdiff = (newscore != 0) + /* First byte. */ + sp->ts_tcharidx = 0; + sp->ts_tcharlen = MB_BYTE2LEN(c); + sp->ts_fcharstart = sp->ts_fidx - 1; + sp->ts_isdiff = (newscore != 0) ? DIFF_YES : DIFF_NONE; - } - else if (sp->ts_isdiff == DIFF_INSERT) - /* When inserting trail bytes don't advance in - * the bad word. */ - --sp->ts_fidx; - if (++sp->ts_tcharidx == sp->ts_tcharlen) + } + else if (sp->ts_isdiff == DIFF_INSERT) + /* When inserting trail bytes don't advance in the + * bad word. */ + --sp->ts_fidx; + if (++sp->ts_tcharidx == sp->ts_tcharlen) + { + /* Last byte of character. */ + if (sp->ts_isdiff == DIFF_YES) { - /* Last byte of character. */ - if (sp->ts_isdiff == DIFF_YES) - { - /* Correct ts_fidx for the byte length of - * the character (we didn't check that - * before). */ - sp->ts_fidx = sp->ts_fcharstart - + MB_BYTE2LEN( + /* Correct ts_fidx for the byte length of the + * character (we didn't check that before). */ + sp->ts_fidx = sp->ts_fcharstart + + MB_BYTE2LEN( fword[sp->ts_fcharstart]); - /* For changing a composing character - * adjust the score from SCORE_SUBST to - * SCORE_SUBCOMP. */ - if (enc_utf8 - && utf_iscomposing( - mb_ptr2char(tword - + sp->ts_twordlen + /* For changing a composing character adjust + * the score from SCORE_SUBST to + * SCORE_SUBCOMP. */ + if (enc_utf8 + && utf_iscomposing( + mb_ptr2char(tword + + sp->ts_twordlen - sp->ts_tcharlen)) - && utf_iscomposing( - mb_ptr2char(fword + && utf_iscomposing( + mb_ptr2char(fword + sp->ts_fcharstart))) - sp->ts_score -= + sp->ts_score -= SCORE_SUBST - SCORE_SUBCOMP; - /* For a similar character adjust score - * from SCORE_SUBST to SCORE_SIMILAR. */ - else if (slang->sl_has_map - && similar_chars(slang, - mb_ptr2char(tword - + sp->ts_twordlen + /* For a similar character adjust score from + * SCORE_SUBST to SCORE_SIMILAR. */ + else if (!soundfold + && slang->sl_has_map + && similar_chars(slang, + mb_ptr2char(tword + + sp->ts_twordlen - sp->ts_tcharlen), - mb_ptr2char(fword + mb_ptr2char(fword + sp->ts_fcharstart))) - sp->ts_score -= + sp->ts_score -= SCORE_SUBST - SCORE_SIMILAR; + } + else if (sp->ts_isdiff == DIFF_INSERT + && sp->ts_twordlen > sp->ts_tcharlen) + { + p = tword + sp->ts_twordlen - sp->ts_tcharlen; + c = mb_ptr2char(p); + if (enc_utf8 && utf_iscomposing(c)) + { + /* Inserting a composing char doesn't + * count that much. */ + sp->ts_score -= SCORE_INS - SCORE_INSCOMP; } - else if (sp->ts_isdiff == DIFF_INSERT - && sp->ts_twordlen > sp->ts_tcharlen) + else { - p = tword + sp->ts_twordlen - - sp->ts_tcharlen; - c = mb_ptr2char(p); - if (enc_utf8 && utf_iscomposing(c)) - { - /* Inserting a composing char doesn't - * count that much. */ + /* If the previous character was the same, + * thus doubling a character, give a bonus + * to the score. Also for the soundfold + * tree (might seem illogical but does + * give better scores). */ + mb_ptr_back(tword, p); + if (c == mb_ptr2char(p)) sp->ts_score -= SCORE_INS - - SCORE_INSCOMP; - } - else - { - /* If the previous character was the - * same, thus doubling a character, - * give a bonus to the score. */ - mb_ptr_back(tword, p); - if (c == mb_ptr2char(p)) - sp->ts_score -= SCORE_INS - SCORE_INSDUP; - } } - - /* Starting a new char, reset the length. */ - sp->ts_tcharlen = 0; } + + /* Starting a new char, reset the length. */ + sp->ts_tcharlen = 0; } - else + } + else #endif - { - /* If we found a similar char adjust the score. - * We do this after calling try_deeper() because - * it's slow. */ - if (newscore != 0 - && slang->sl_has_map - && similar_chars(slang, + { + /* If we found a similar char adjust the score. + * We do this after calling go_deeper() because + * it's slow. */ + if (newscore != 0 + && !soundfold + && slang->sl_has_map + && similar_chars(slang, c, fword[sp->ts_fidx - 1])) - sp->ts_score -= SCORE_SUBST - SCORE_SIMILAR; - } + sp->ts_score -= SCORE_SUBST - SCORE_SIMILAR; } } - break; - - case STATE_DEL: -#ifdef FEAT_MBYTE - /* When past the first byte of a multi-byte char don't try - * delete/insert/swap a character. */ - if (has_mbyte && sp->ts_tcharlen > 0) - { - sp->ts_state = STATE_FINAL; - break; - } -#endif - /* - * Try skipping one character in the bad word (delete it). - */ - sp->ts_state = STATE_INS; - sp->ts_curi = 1; - if (fword[sp->ts_fidx] != NUL - && try_deeper(su, stack, depth, SCORE_DEL)) - { - ++depth; + } + break; - /* Advance over the character in fword[]. Give a bonus to - * the score if the same character is following "nn" -> - * "n". */ + case STATE_DEL: #ifdef FEAT_MBYTE - if (has_mbyte) - { - c = mb_ptr2char(fword + sp->ts_fidx); - stack[depth].ts_fidx += MB_BYTE2LEN(fword[sp->ts_fidx]); - if (enc_utf8 && utf_iscomposing(c)) - stack[depth].ts_score -= SCORE_DEL - SCORE_DELCOMP; - else if (c == mb_ptr2char(fword + stack[depth].ts_fidx)) - stack[depth].ts_score -= SCORE_DEL - SCORE_DELDUP; - } - else + /* When past the first byte of a multi-byte char don't try + * delete/insert/swap a character. */ + if (has_mbyte && sp->ts_tcharlen > 0) + { + sp->ts_state = STATE_FINAL; + break; + } #endif - { - ++stack[depth].ts_fidx; - if (fword[sp->ts_fidx] == fword[sp->ts_fidx + 1]) - stack[depth].ts_score -= SCORE_DEL - SCORE_DELDUP; - } - break; - } - /*FALLTHROUGH*/ + /* + * Try skipping one character in the bad word (delete it). + */ + sp->ts_state = STATE_INS_PREP; + sp->ts_curi = 1; + if (soundfold && sp->ts_fidx == 0 && fword[sp->ts_fidx] == '*') + /* Deleting a vowel at the start of a word counts less, see + * soundalike_score(). */ + newscore = 2 * SCORE_DEL / 3; + else + newscore = SCORE_DEL; + if (fword[sp->ts_fidx] != NUL + && TRY_DEEPER(su, stack, depth, newscore)) + { + go_deeper(stack, depth, newscore); +#ifdef DEBUG_TRIEWALK + sprintf(changename[depth], "%.*s-%s: delete %c", + sp->ts_twordlen, tword, fword + sp->ts_fidx, + fword[sp->ts_fidx]); +#endif + ++depth; - case STATE_INS: - /* Insert one byte. Do this for each possible byte at this - * node. */ - n = sp->ts_arridx; - if (sp->ts_curi > byts[n]) + /* Remember what character we deleted, so that we can avoid + * inserting it again. */ + stack[depth].ts_flags |= TSF_DIDDEL; + stack[depth].ts_delidx = sp->ts_fidx; + + /* Advance over the character in fword[]. Give a bonus to the + * score if the same character is following "nn" -> "n". It's + * a bit illogical for soundfold tree but it does give better + * results. */ +#ifdef FEAT_MBYTE + if (has_mbyte) { - /* Done all bytes at this node, do next state. */ - sp->ts_state = STATE_SWAP; + c = mb_ptr2char(fword + sp->ts_fidx); + stack[depth].ts_fidx += MB_BYTE2LEN(fword[sp->ts_fidx]); + if (enc_utf8 && utf_iscomposing(c)) + stack[depth].ts_score -= SCORE_DEL - SCORE_DELCOMP; + else if (c == mb_ptr2char(fword + stack[depth].ts_fidx)) + stack[depth].ts_score -= SCORE_DEL - SCORE_DELDUP; } else - { - /* Do one more byte at this node. Skip NUL bytes. */ - n += sp->ts_curi++; - c = byts[n]; - if (c != 0 && try_deeper(su, stack, depth, SCORE_INS)) - { - ++depth; - sp = &stack[depth]; - tword[sp->ts_twordlen++] = c; - sp->ts_arridx = idxs[n]; -#ifdef FEAT_MBYTE - if (has_mbyte) - { - fl = MB_BYTE2LEN(c); - if (fl > 1) - { - /* There are following bytes for the same - * character. We must find all bytes before - * trying delete/insert/swap/etc. */ - sp->ts_tcharlen = fl; - sp->ts_tcharidx = 1; - sp->ts_isdiff = DIFF_INSERT; - } - } - else - fl = 1; - if (fl == 1) #endif - { - /* If the previous character was the same, thus - * doubling a character, give a bonus to the - * score. */ - if (sp->ts_twordlen >= 2 - && tword[sp->ts_twordlen - 2] == c) - sp->ts_score -= SCORE_INS - SCORE_INSDUP; - } - } + { + ++stack[depth].ts_fidx; + if (fword[sp->ts_fidx] == fword[sp->ts_fidx + 1]) + stack[depth].ts_score -= SCORE_DEL - SCORE_DELDUP; } break; + } + /*FALLTHROUGH*/ - case STATE_SWAP: - /* - * Swap two bytes in the bad word: "12" -> "21". - * We change "fword" here, it's changed back afterwards. - */ - p = fword + sp->ts_fidx; - c = *p; - if (c == NUL) + case STATE_INS_PREP: + if (sp->ts_flags & TSF_DIDDEL) + { + /* If we just deleted a byte then inserting won't make sense, + * a substitute is always cheaper. */ + sp->ts_state = STATE_SWAP; + break; + } + + /* skip over NUL bytes */ + n = sp->ts_arridx; + for (;;) + { + if (sp->ts_curi > byts[n]) { - /* End of word, can't swap or replace. */ - sp->ts_state = STATE_FINAL; + /* Only NUL bytes at this node, go to next state. */ + sp->ts_state = STATE_SWAP; break; } - - /* Don't swap if the first character is not a word character. - * SWAP3 etc. also don't make sense then. */ - if (!spell_iswordp(p, curbuf)) + if (byts[n + sp->ts_curi] != NUL) { - sp->ts_state = STATE_REP_INI; + /* Found a byte to insert. */ + sp->ts_state = STATE_INS; break; } + ++sp->ts_curi; + } + break; + + /*FALLTHROUGH*/ + + case STATE_INS: + /* Insert one byte. Repeat this for each possible byte at this + * node. */ + n = sp->ts_arridx; + if (sp->ts_curi > byts[n]) + { + /* Done all bytes at this node, go to next state. */ + sp->ts_state = STATE_SWAP; + break; + } + /* Do one more byte at this node, but: + * - Skip NUL bytes. + * - Skip the byte if it's equal to the byte in the word, + * accepting that byte is always better. + */ + n += sp->ts_curi++; + c = byts[n]; + if (soundfold && sp->ts_twordlen == 0 && c == '*') + /* Inserting a vowel at the start of a word counts less, + * see soundalike_score(). */ + newscore = 2 * SCORE_INS / 3; + else + newscore = SCORE_INS; + if (c != fword[sp->ts_fidx] + && TRY_DEEPER(su, stack, depth, newscore)) + { + go_deeper(stack, depth, newscore); +#ifdef DEBUG_TRIEWALK + sprintf(changename[depth], "%.*s-%s: insert %c", + sp->ts_twordlen, tword, fword + sp->ts_fidx, + c); +#endif + ++depth; + sp = &stack[depth]; + tword[sp->ts_twordlen++] = c; + sp->ts_arridx = idxs[n]; #ifdef FEAT_MBYTE if (has_mbyte) { - n = mb_cptr2len(p); - c = mb_ptr2char(p); - if (!spell_iswordp(p + n, curbuf)) - c2 = c; /* don't swap non-word char */ - else - c2 = mb_ptr2char(p + n); + fl = MB_BYTE2LEN(c); + if (fl > 1) + { + /* There are following bytes for the same character. + * We must find all bytes before trying + * delete/insert/swap/etc. */ + sp->ts_tcharlen = fl; + sp->ts_tcharidx = 1; + sp->ts_isdiff = DIFF_INSERT; + } } else + fl = 1; + if (fl == 1) #endif { - if (!spell_iswordp(p + 1, curbuf)) - c2 = c; /* don't swap non-word char */ - else - c2 = p[1]; + /* If the previous character was the same, thus doubling a + * character, give a bonus to the score. Also for + * soundfold words (illogical but does give a better + * score). */ + if (sp->ts_twordlen >= 2 + && tword[sp->ts_twordlen - 2] == c) + sp->ts_score -= SCORE_INS - SCORE_INSDUP; } + } + break; + + case STATE_SWAP: + /* + * Swap two bytes in the bad word: "12" -> "21". + * We change "fword" here, it's changed back afterwards at + * STATE_UNSWAP. + */ + p = fword + sp->ts_fidx; + c = *p; + if (c == NUL) + { + /* End of word, can't swap or replace. */ + sp->ts_state = STATE_FINAL; + break; + } + + /* Don't swap if the first character is not a word character. + * SWAP3 etc. also don't make sense then. */ + if (!soundfold && !spell_iswordp(p, curbuf)) + { + sp->ts_state = STATE_REP_INI; + break; + } - /* When characters are identical, swap won't do anything. - * Also get here if the second char is not a word character. */ - if (c == c2) - { - sp->ts_state = STATE_SWAP3; - break; - } - if (c2 != NUL && try_deeper(su, stack, depth, SCORE_SWAP)) - { - sp->ts_state = STATE_UNSWAP; - ++depth; #ifdef FEAT_MBYTE - if (has_mbyte) - { - fl = mb_char2len(c2); - mch_memmove(p, p + n, fl); - mb_char2bytes(c, p + fl); - stack[depth].ts_fidxtry = sp->ts_fidx + n + fl; - } - else + if (has_mbyte) + { + n = mb_cptr2len(p); + c = mb_ptr2char(p); + if (!soundfold && !spell_iswordp(p + n, curbuf)) + c2 = c; /* don't swap non-word char */ + else + c2 = mb_ptr2char(p + n); + } + else #endif - { - p[0] = c2; - p[1] = c; - stack[depth].ts_fidxtry = sp->ts_fidx + 2; - } - } + { + if (!soundfold && !spell_iswordp(p + 1, curbuf)) + c2 = c; /* don't swap non-word char */ else - /* If this swap doesn't work then SWAP3 won't either. */ - sp->ts_state = STATE_REP_INI; - break; + c2 = p[1]; + } - case STATE_UNSWAP: - /* Undo the STATE_SWAP swap: "21" -> "12". */ - p = fword + sp->ts_fidx; + /* When characters are identical, swap won't do anything. + * Also get here if the second char is not a word character. */ + if (c == c2) + { + sp->ts_state = STATE_SWAP3; + break; + } + if (c2 != NUL && TRY_DEEPER(su, stack, depth, SCORE_SWAP)) + { + go_deeper(stack, depth, SCORE_SWAP); +#ifdef DEBUG_TRIEWALK + sprintf(changename[depth], "%.*s-%s: swap %c and %c", + sp->ts_twordlen, tword, fword + sp->ts_fidx, + c, c2); +#endif + sp->ts_state = STATE_UNSWAP; + ++depth; #ifdef FEAT_MBYTE if (has_mbyte) { - n = MB_BYTE2LEN(*p); - c = mb_ptr2char(p + n); - mch_memmove(p + MB_BYTE2LEN(p[n]), p, n); - mb_char2bytes(c, p); + fl = mb_char2len(c2); + mch_memmove(p, p + n, fl); + mb_char2bytes(c, p + fl); + stack[depth].ts_fidxtry = sp->ts_fidx + n + fl; } else #endif { - c = *p; - *p = p[1]; + p[0] = c2; p[1] = c; + stack[depth].ts_fidxtry = sp->ts_fidx + 2; } - /*FALLTHROUGH*/ + } + else + /* If this swap doesn't work then SWAP3 won't either. */ + sp->ts_state = STATE_REP_INI; + break; - case STATE_SWAP3: - /* Swap two bytes, skipping one: "123" -> "321". We change - * "fword" here, it's changed back afterwards. */ - p = fword + sp->ts_fidx; + case STATE_UNSWAP: + /* Undo the STATE_SWAP swap: "21" -> "12". */ + p = fword + sp->ts_fidx; +#ifdef FEAT_MBYTE + if (has_mbyte) + { + n = MB_BYTE2LEN(*p); + c = mb_ptr2char(p + n); + mch_memmove(p + MB_BYTE2LEN(p[n]), p, n); + mb_char2bytes(c, p); + } + else +#endif + { + c = *p; + *p = p[1]; + p[1] = c; + } + /*FALLTHROUGH*/ + + case STATE_SWAP3: + /* Swap two bytes, skipping one: "123" -> "321". We change + * "fword" here, it's changed back afterwards at STATE_UNSWAP3. */ + p = fword + sp->ts_fidx; +#ifdef FEAT_MBYTE + if (has_mbyte) + { + n = mb_cptr2len(p); + c = mb_ptr2char(p); + fl = mb_cptr2len(p + n); + c2 = mb_ptr2char(p + n); + if (!soundfold && !spell_iswordp(p + n + fl, curbuf)) + c3 = c; /* don't swap non-word char */ + else + c3 = mb_ptr2char(p + n + fl); + } + else +#endif + { + c = *p; + c2 = p[1]; + if (!soundfold && !spell_iswordp(p + 2, curbuf)) + c3 = c; /* don't swap non-word char */ + else + c3 = p[2]; + } + + /* When characters are identical: "121" then SWAP3 result is + * identical, ROT3L result is same as SWAP: "211", ROT3L result is + * same as SWAP on next char: "112". Thus skip all swapping. + * Also skip when c3 is NUL. + * Also get here when the third character is not a word character. + * Second character may any char: "a.b" -> "b.a" */ + if (c == c3 || c3 == NUL) + { + sp->ts_state = STATE_REP_INI; + break; + } + if (TRY_DEEPER(su, stack, depth, SCORE_SWAP3)) + { + go_deeper(stack, depth, SCORE_SWAP3); +#ifdef DEBUG_TRIEWALK + sprintf(changename[depth], "%.*s-%s: swap3 %c and %c", + sp->ts_twordlen, tword, fword + sp->ts_fidx, + c, c3); +#endif + sp->ts_state = STATE_UNSWAP3; + ++depth; #ifdef FEAT_MBYTE if (has_mbyte) { - n = mb_cptr2len(p); - c = mb_ptr2char(p); - fl = mb_cptr2len(p + n); - c2 = mb_ptr2char(p + n); - if (!spell_iswordp(p + n + fl, curbuf)) - c3 = c; /* don't swap non-word char */ - else - c3 = mb_ptr2char(p + n + fl); + tl = mb_char2len(c3); + mch_memmove(p, p + n + fl, tl); + mb_char2bytes(c2, p + tl); + mb_char2bytes(c, p + fl + tl); + stack[depth].ts_fidxtry = sp->ts_fidx + n + fl + tl; } else #endif { - c = *p; - c2 = p[1]; - if (!spell_iswordp(p + 2, curbuf)) - c3 = c; /* don't swap non-word char */ - else - c3 = p[2]; + p[0] = p[2]; + p[2] = c; + stack[depth].ts_fidxtry = sp->ts_fidx + 3; } + } + else + sp->ts_state = STATE_REP_INI; + break; - /* When characters are identical: "121" then SWAP3 result is - * identical, ROT3L result is same as SWAP: "211", ROT3L - * result is same as SWAP on next char: "112". Thus skip all - * swapping. Also skip when c3 is NUL. - * Also get here when the third character is not a word - * character. Second character may any char: "a.b" -> "b.a" */ - if (c == c3 || c3 == NUL) - { - sp->ts_state = STATE_REP_INI; - break; - } - if (try_deeper(su, stack, depth, SCORE_SWAP3)) - { - sp->ts_state = STATE_UNSWAP3; - ++depth; + case STATE_UNSWAP3: + /* Undo STATE_SWAP3: "321" -> "123" */ + p = fword + sp->ts_fidx; #ifdef FEAT_MBYTE - if (has_mbyte) - { - tl = mb_char2len(c3); - mch_memmove(p, p + n + fl, tl); - mb_char2bytes(c2, p + tl); - mb_char2bytes(c, p + fl + tl); - stack[depth].ts_fidxtry = sp->ts_fidx + n + fl + tl; - } - else + if (has_mbyte) + { + n = MB_BYTE2LEN(*p); + c2 = mb_ptr2char(p + n); + fl = MB_BYTE2LEN(p[n]); + c = mb_ptr2char(p + n + fl); + tl = MB_BYTE2LEN(p[n + fl]); + mch_memmove(p + fl + tl, p, n); + mb_char2bytes(c, p); + mb_char2bytes(c2, p + tl); + p = p + tl; + } + else #endif - { - p[0] = p[2]; - p[2] = c; - stack[depth].ts_fidxtry = sp->ts_fidx + 3; - } - } - else - sp->ts_state = STATE_REP_INI; + { + c = *p; + *p = p[2]; + p[2] = c; + ++p; + } + + if (!soundfold && !spell_iswordp(p, curbuf)) + { + /* Middle char is not a word char, skip the rotate. First and + * third char were already checked at swap and swap3. */ + sp->ts_state = STATE_REP_INI; break; + } - case STATE_UNSWAP3: - /* Undo STATE_SWAP3: "321" -> "123" */ + /* Rotate three characters left: "123" -> "231". We change + * "fword" here, it's changed back afterwards at STATE_UNROT3L. */ + if (TRY_DEEPER(su, stack, depth, SCORE_SWAP3)) + { + go_deeper(stack, depth, SCORE_SWAP3); +#ifdef DEBUG_TRIEWALK + p = fword + sp->ts_fidx; + sprintf(changename[depth], "%.*s-%s: rotate left %c%c%c", + sp->ts_twordlen, tword, fword + sp->ts_fidx, + p[0], p[1], p[2]); +#endif + sp->ts_state = STATE_UNROT3L; + ++depth; p = fword + sp->ts_fidx; #ifdef FEAT_MBYTE if (has_mbyte) { - n = MB_BYTE2LEN(*p); - c2 = mb_ptr2char(p + n); - fl = MB_BYTE2LEN(p[n]); - c = mb_ptr2char(p + n + fl); - tl = MB_BYTE2LEN(p[n + fl]); - mch_memmove(p + fl + tl, p, n); - mb_char2bytes(c, p); - mb_char2bytes(c2, p + tl); - p = p + tl; + n = mb_cptr2len(p); + c = mb_ptr2char(p); + fl = mb_cptr2len(p + n); + fl += mb_cptr2len(p + n + fl); + mch_memmove(p, p + n, fl); + mb_char2bytes(c, p + fl); + stack[depth].ts_fidxtry = sp->ts_fidx + n + fl; } else #endif { c = *p; - *p = p[2]; + *p = p[1]; + p[1] = p[2]; p[2] = c; - ++p; - } - - if (!spell_iswordp(p, curbuf)) - { - /* Middle char is not a word char, skip the rotate. - * First and third char were already checked at swap - * and swap3. */ - sp->ts_state = STATE_REP_INI; - break; + stack[depth].ts_fidxtry = sp->ts_fidx + 3; } + } + else + sp->ts_state = STATE_REP_INI; + break; - /* Rotate three characters left: "123" -> "231". We change - * "fword" here, it's changed back afterwards. */ - if (try_deeper(su, stack, depth, SCORE_SWAP3)) - { - sp->ts_state = STATE_UNROT3L; - ++depth; - p = fword + sp->ts_fidx; + case STATE_UNROT3L: + /* Undo ROT3L: "231" -> "123" */ + p = fword + sp->ts_fidx; #ifdef FEAT_MBYTE - if (has_mbyte) - { - n = mb_cptr2len(p); - c = mb_ptr2char(p); - fl = mb_cptr2len(p + n); - fl += mb_cptr2len(p + n + fl); - mch_memmove(p, p + n, fl); - mb_char2bytes(c, p + fl); - stack[depth].ts_fidxtry = sp->ts_fidx + n + fl; - } - else + if (has_mbyte) + { + n = MB_BYTE2LEN(*p); + n += MB_BYTE2LEN(p[n]); + c = mb_ptr2char(p + n); + tl = MB_BYTE2LEN(p[n]); + mch_memmove(p + tl, p, n); + mb_char2bytes(c, p); + } + else #endif - { - c = *p; - *p = p[1]; - p[1] = p[2]; - p[2] = c; - stack[depth].ts_fidxtry = sp->ts_fidx + 3; - } - } - else - sp->ts_state = STATE_REP_INI; - break; + { + c = p[2]; + p[2] = p[1]; + p[1] = *p; + *p = c; + } - case STATE_UNROT3L: - /* Undo ROT3L: "231" -> "123" */ + /* Rotate three bytes right: "123" -> "312". We change "fword" + * here, it's changed back afterwards at STATE_UNROT3R. */ + if (TRY_DEEPER(su, stack, depth, SCORE_SWAP3)) + { + go_deeper(stack, depth, SCORE_SWAP3); +#ifdef DEBUG_TRIEWALK + p = fword + sp->ts_fidx; + sprintf(changename[depth], "%.*s-%s: rotate right %c%c%c", + sp->ts_twordlen, tword, fword + sp->ts_fidx, + p[0], p[1], p[2]); +#endif + sp->ts_state = STATE_UNROT3R; + ++depth; p = fword + sp->ts_fidx; #ifdef FEAT_MBYTE if (has_mbyte) { - n = MB_BYTE2LEN(*p); - n += MB_BYTE2LEN(p[n]); + n = mb_cptr2len(p); + n += mb_cptr2len(p + n); c = mb_ptr2char(p + n); - tl = MB_BYTE2LEN(p[n]); + tl = mb_cptr2len(p + n); mch_memmove(p + tl, p, n); mb_char2bytes(c, p); + stack[depth].ts_fidxtry = sp->ts_fidx + n + tl; } else #endif @@ -10299,193 +11736,176 @@ suggest_try_change(su) p[2] = p[1]; p[1] = *p; *p = c; + stack[depth].ts_fidxtry = sp->ts_fidx + 3; } + } + else + sp->ts_state = STATE_REP_INI; + break; - /* Rotate three bytes right: "123" -> "312". We change - * "fword" here, it's changed back afterwards. */ - if (try_deeper(su, stack, depth, SCORE_SWAP3)) - { - sp->ts_state = STATE_UNROT3R; - ++depth; - p = fword + sp->ts_fidx; -#ifdef FEAT_MBYTE - if (has_mbyte) - { - n = mb_cptr2len(p); - n += mb_cptr2len(p + n); - c = mb_ptr2char(p + n); - tl = mb_cptr2len(p + n); - mch_memmove(p + tl, p, n); - mb_char2bytes(c, p); - stack[depth].ts_fidxtry = sp->ts_fidx + n + tl; - } - else -#endif - { - c = p[2]; - p[2] = p[1]; - p[1] = *p; - *p = c; - stack[depth].ts_fidxtry = sp->ts_fidx + 3; - } - } - else - sp->ts_state = STATE_REP_INI; - break; - - case STATE_UNROT3R: - /* Undo ROT3R: "312" -> "123" */ - p = fword + sp->ts_fidx; + case STATE_UNROT3R: + /* Undo ROT3R: "312" -> "123" */ + p = fword + sp->ts_fidx; #ifdef FEAT_MBYTE - if (has_mbyte) - { - c = mb_ptr2char(p); - tl = MB_BYTE2LEN(*p); - n = MB_BYTE2LEN(p[tl]); - n += MB_BYTE2LEN(p[tl + n]); - mch_memmove(p, p + tl, n); - mb_char2bytes(c, p + n); - } - else -#endif - { - c = *p; - *p = p[1]; - p[1] = p[2]; - p[2] = c; - } - /*FALLTHROUGH*/ - - case STATE_REP_INI: - /* Check if matching with REP items from the .aff file would - * work. Quickly skip if: - * - there are no REP items - * - the score is going to be too high anyway - * - already applied a REP item or swapped here */ - if (lp->lp_replang == NULL - || sp->ts_score + SCORE_REP >= su->su_maxscore - || sp->ts_fidx < sp->ts_fidxtry) - { - sp->ts_state = STATE_FINAL; - break; - } - gap = &lp->lp_replang->sl_rep; + if (has_mbyte) + { + c = mb_ptr2char(p); + tl = MB_BYTE2LEN(*p); + n = MB_BYTE2LEN(p[tl]); + n += MB_BYTE2LEN(p[tl + n]); + mch_memmove(p, p + tl, n); + mb_char2bytes(c, p + n); + } + else +#endif + { + c = *p; + *p = p[1]; + p[1] = p[2]; + p[2] = c; + } + /*FALLTHROUGH*/ + + case STATE_REP_INI: + /* Check if matching with REP items from the .aff file would work. + * Quickly skip if: + * - there are no REP items and we are not in the soundfold trie + * - the score is going to be too high anyway + * - already applied a REP item or swapped here */ + if ((lp->lp_replang == NULL && !soundfold) + || sp->ts_score + SCORE_REP >= su->su_maxscore + || sp->ts_fidx < sp->ts_fidxtry) + { + sp->ts_state = STATE_FINAL; + break; + } - /* Use the first byte to quickly find the first entry that - * may match. If the index is -1 there is none. */ + /* Use the first byte to quickly find the first entry that may + * match. If the index is -1 there is none. */ + if (soundfold) + sp->ts_curi = slang->sl_repsal_first[fword[sp->ts_fidx]]; + else sp->ts_curi = lp->lp_replang->sl_rep_first[fword[sp->ts_fidx]]; - if (sp->ts_curi < 0) - { - sp->ts_state = STATE_FINAL; - break; - } - sp->ts_state = STATE_REP; - /*FALLTHROUGH*/ + if (sp->ts_curi < 0) + { + sp->ts_state = STATE_FINAL; + break; + } + + sp->ts_state = STATE_REP; + /*FALLTHROUGH*/ - case STATE_REP: - /* Try matching with REP items from the .aff file. For each - * match replace the characters and check if the resulting - * word is valid. */ - p = fword + sp->ts_fidx; + case STATE_REP: + /* Try matching with REP items from the .aff file. For each match + * replace the characters and check if the resulting word is + * valid. */ + p = fword + sp->ts_fidx; + if (soundfold) + gap = &slang->sl_repsal; + else gap = &lp->lp_replang->sl_rep; - while (sp->ts_curi < gap->ga_len) + while (sp->ts_curi < gap->ga_len) + { + ftp = (fromto_T *)gap->ga_data + sp->ts_curi++; + if (*ftp->ft_from != *p) + { + /* past possible matching entries */ + sp->ts_curi = gap->ga_len; + break; + } + if (STRNCMP(ftp->ft_from, p, STRLEN(ftp->ft_from)) == 0 + && TRY_DEEPER(su, stack, depth, SCORE_REP)) { - ftp = (fromto_T *)gap->ga_data + sp->ts_curi++; - if (*ftp->ft_from != *p) + go_deeper(stack, depth, SCORE_REP); +#ifdef DEBUG_TRIEWALK + sprintf(changename[depth], "%.*s-%s: replace %s with %s", + sp->ts_twordlen, tword, fword + sp->ts_fidx, + ftp->ft_from, ftp->ft_to); +#endif + /* Need to undo this afterwards. */ + sp->ts_state = STATE_REP_UNDO; + + /* Change the "from" to the "to" string. */ + ++depth; + fl = STRLEN(ftp->ft_from); + tl = STRLEN(ftp->ft_to); + if (fl != tl) { - /* past possible matching entries */ - sp->ts_curi = gap->ga_len; - break; + mch_memmove(p + tl, p + fl, STRLEN(p + fl) + 1); + repextra += tl - fl; } - if (STRNCMP(ftp->ft_from, p, STRLEN(ftp->ft_from)) == 0 - && try_deeper(su, stack, depth, SCORE_REP)) - { - /* Need to undo this afterwards. */ - sp->ts_state = STATE_REP_UNDO; - - /* Change the "from" to the "to" string. */ - ++depth; - fl = STRLEN(ftp->ft_from); - tl = STRLEN(ftp->ft_to); - if (fl != tl) - { - mch_memmove(p + tl, p + fl, STRLEN(p + fl) + 1); - repextra += tl - fl; - } - mch_memmove(p, ftp->ft_to, tl); - stack[depth].ts_fidxtry = sp->ts_fidx + tl; + mch_memmove(p, ftp->ft_to, tl); + stack[depth].ts_fidxtry = sp->ts_fidx + tl; #ifdef FEAT_MBYTE - stack[depth].ts_tcharlen = 0; + stack[depth].ts_tcharlen = 0; #endif - break; - } + break; } + } - if (sp->ts_curi >= gap->ga_len && sp->ts_state == STATE_REP) - /* No (more) matches. */ - sp->ts_state = STATE_FINAL; + if (sp->ts_curi >= gap->ga_len && sp->ts_state == STATE_REP) + /* No (more) matches. */ + sp->ts_state = STATE_FINAL; - break; + break; - case STATE_REP_UNDO: - /* Undo a REP replacement and continue with the next one. */ - ftp = (fromto_T *)lp->lp_replang->sl_rep.ga_data - + sp->ts_curi - 1; - fl = STRLEN(ftp->ft_from); - tl = STRLEN(ftp->ft_to); - p = fword + sp->ts_fidx; - if (fl != tl) - { - mch_memmove(p + fl, p + tl, STRLEN(p + tl) + 1); - repextra -= tl - fl; - } - mch_memmove(p, ftp->ft_from, fl); - sp->ts_state = STATE_REP; - break; + case STATE_REP_UNDO: + /* Undo a REP replacement and continue with the next one. */ + if (soundfold) + gap = &slang->sl_repsal; + else + gap = &lp->lp_replang->sl_rep; + ftp = (fromto_T *)gap->ga_data + sp->ts_curi - 1; + fl = STRLEN(ftp->ft_from); + tl = STRLEN(ftp->ft_to); + p = fword + sp->ts_fidx; + if (fl != tl) + { + mch_memmove(p + fl, p + tl, STRLEN(p + tl) + 1); + repextra -= tl - fl; + } + mch_memmove(p, ftp->ft_from, fl); + sp->ts_state = STATE_REP; + break; - default: - /* Did all possible states at this level, go up one level. */ - --depth; + default: + /* Did all possible states at this level, go up one level. */ + --depth; - if (depth >= 0 && stack[depth].ts_prefixdepth == PFD_PREFIXTREE) - { - /* Continue in or go back to the prefix tree. */ - byts = pbyts; - idxs = pidxs; - } + if (depth >= 0 && stack[depth].ts_prefixdepth == PFD_PREFIXTREE) + { + /* Continue in or go back to the prefix tree. */ + byts = pbyts; + idxs = pidxs; + } - /* Don't check for CTRL-C too often, it takes time. */ - line_breakcheck(); + /* Don't check for CTRL-C too often, it takes time. */ + if (--breakcheckcount == 0) + { + ui_breakcheck(); + breakcheckcount = 1000; } } } } + /* - * Try going one level deeper in the tree. + * Go one level deeper in the tree. */ - static int -try_deeper(su, stack, depth, score_add) - suginfo_T *su; + static void +go_deeper(stack, depth, score_add) trystate_T *stack; int depth; int score_add; { - int newscore; - - /* Refuse to go deeper if the scrore is getting too big. */ - newscore = stack[depth].ts_score + score_add; - if (newscore >= su->su_maxscore) - return FALSE; - stack[depth + 1] = stack[depth]; stack[depth + 1].ts_state = STATE_START; - stack[depth + 1].ts_score = newscore; + stack[depth + 1].ts_score = stack[depth].ts_score + score_add; stack[depth + 1].ts_curi = 1; /* start just after length byte */ stack[depth + 1].ts_flags = 0; - return TRUE; } #ifdef FEAT_MBYTE @@ -10713,6 +12133,7 @@ score_comp_sal(su) sstp->st_word = vim_strsave(stp->st_word); if (sstp->st_word != NULL) { + sstp->st_wordlen = stp->st_wordlen; sstp->st_score = score; sstp->st_altscore = 0; sstp->st_orglen = stp->st_orglen; @@ -10743,6 +12164,7 @@ score_combine(su) char_u badsound[MAXWLEN]; int round; int lpi; + slang_T *slang = NULL; /* Add the alternate score to su_ga. */ for (lpi = 0; lpi < curbuf->b_langp.ga_len; ++lpi) @@ -10751,13 +12173,13 @@ score_combine(su) if (lp->lp_slang->sl_sal.ga_len > 0) { /* soundfold the bad word */ - spell_soundfold(lp->lp_slang, su->su_fbadword, TRUE, badsound); + slang = lp->lp_slang; + spell_soundfold(slang, su->su_fbadword, TRUE, badsound); for (i = 0; i < su->su_ga.ga_len; ++i) { stp = &SUG(su->su_ga, i); - stp->st_altscore = stp_sal_score(stp, su, lp->lp_slang, - badsound); + stp->st_altscore = stp_sal_score(stp, su, slang, badsound); if (stp->st_altscore == SCORE_MAXMAX) stp->st_score = (stp->st_score * 3 + SCORE_BIG) / 4; else @@ -10769,11 +12191,15 @@ score_combine(su) } } + if (slang == NULL) /* just in case */ + return; + /* Add the alternate score to su_sga. */ for (i = 0; i < su->su_sga.ga_len; ++i) { stp = &SUG(su->su_sga, i); - stp->st_altscore = spell_edit_score(su->su_badword, stp->st_word); + stp->st_altscore = spell_edit_score(slang, + su->su_badword, stp->st_word); if (stp->st_score == SCORE_MAXMAX) stp->st_score = (SCORE_BIG * 7 + stp->st_altscore) / 8; else @@ -10781,8 +12207,11 @@ score_combine(su) stp->st_salscore = TRUE; } - /* Sort the suggestions and truncate at "maxcount" for both lists. */ + /* Remove bad suggestions, sort the suggestions and truncate at "maxcount" + * for both lists. */ + check_suggestions(su, &su->su_ga); (void)cleanup_suggestions(&su->su_ga, su->su_maxscore, su->su_maxcount); + check_suggestions(su, &su->su_sga); (void)cleanup_suggestions(&su->su_sga, su->su_maxscore, su->su_maxcount); ga_init2(&ga, (int)sizeof(suginfo_T), 1); @@ -10872,7 +12301,8 @@ stp_sal_score(stp, su, slang, badsound) /* Add part of the bad word to the good word, so that we soundfold * what replaces the bad word. */ STRCPY(goodword, stp->st_word); - STRNCAT(goodword, su->su_badptr + su->su_badlen - lendiff, lendiff); + vim_strncpy(goodword + stp->st_wordlen, + su->su_badptr + su->su_badlen - lendiff, lendiff); pgood = goodword; } else @@ -10884,6 +12314,40 @@ stp_sal_score(stp, su, slang, badsound) return soundalike_score(goodsound, pbad); } +/* structure used to store soundfolded words that add_sound_suggest() has + * handled already. */ +typedef struct +{ + short sft_score; /* lowest score used */ + char_u sft_word[1]; /* soundfolded word, actually longer */ +} sftword_T; + +static sftword_T dumsft; +#define HIKEY2SFT(p) ((sftword_T *)(p - (dumsft.sft_word - (char_u *)&dumsft))) +#define HI2SFT(hi) HIKEY2SFT((hi)->hi_key) + +/* + * Prepare for calling suggest_try_soundalike(). + */ + static void +suggest_try_soundalike_prep() +{ + langp_T *lp; + int lpi; + slang_T *slang; + + /* Do this for all languages that support sound folding and for which a + * .sug file has been loaded. */ + for (lpi = 0; lpi < curbuf->b_langp.ga_len; ++lpi) + { + lp = LANGP_ENTRY(curbuf->b_langp, lpi); + slang = lp->lp_slang; + if (slang->sl_sal.ga_len > 0 && slang->sl_sbyts != NULL) + /* prepare the hashtable used by add_sound_suggest() */ + hash_init(&slang->sl_sounddone); + } +} + /* * Find suggestions by comparing the word in a sound-a-like form. * Note: This doesn't support postponed prefixes. @@ -10893,161 +12357,340 @@ suggest_try_soundalike(su) suginfo_T *su; { char_u salword[MAXWLEN]; - char_u tword[MAXWLEN]; - char_u tsalword[MAXWLEN]; - idx_T arridx[MAXWLEN]; - int curi[MAXWLEN]; langp_T *lp; - char_u *byts; - idx_T *idxs; - int depth; - int c; - idx_T n; - int round; - int flags; - int sound_score; - int local_score; int lpi; slang_T *slang; - /* Do this for all languages that support sound folding. */ + /* Do this for all languages that support sound folding and for which a + * .sug file has been loaded. */ for (lpi = 0; lpi < curbuf->b_langp.ga_len; ++lpi) { lp = LANGP_ENTRY(curbuf->b_langp, lpi); slang = lp->lp_slang; - if (slang->sl_sal.ga_len > 0) + if (slang->sl_sal.ga_len > 0 && slang->sl_sbyts != NULL) { /* soundfold the bad word */ spell_soundfold(slang, su->su_fbadword, TRUE, salword); - /* - * Go through the whole tree, soundfold each word and compare. - * round 1: use the case-folded tree. - * round 2: use the keep-case tree. - */ - for (round = 1; round <= 2; ++round) + /* try all kinds of inserts/deletes/swaps/etc. */ + /* TODO: also soundfold the next words, so that we can try joining + * and splitting */ + suggest_trie_walk(su, lp, salword, TRUE); + } + } +} + +/* + * Finish up after calling suggest_try_soundalike(). + */ + static void +suggest_try_soundalike_finish() +{ + langp_T *lp; + int lpi; + slang_T *slang; + int todo; + hashitem_T *hi; + + /* Do this for all languages that support sound folding and for which a + * .sug file has been loaded. */ + for (lpi = 0; lpi < curbuf->b_langp.ga_len; ++lpi) + { + lp = LANGP_ENTRY(curbuf->b_langp, lpi); + slang = lp->lp_slang; + if (slang->sl_sal.ga_len > 0 && slang->sl_sbyts != NULL) + { + /* Free the info about handled words. */ + todo = slang->sl_sounddone.ht_used; + for (hi = slang->sl_sounddone.ht_array; todo > 0; ++hi) + if (!HASHITEM_EMPTY(hi)) + { + vim_free(HI2SFT(hi)); + --todo; + } + hash_clear(&slang->sl_sounddone); + } + } +} + +/* + * A match with a soundfolded word is found. Add the good word(s) that + * produce this soundfolded word. + */ + static void +add_sound_suggest(su, goodword, score, lp) + suginfo_T *su; + char_u *goodword; + int score; /* soundfold score */ + langp_T *lp; +{ + slang_T *slang = lp->lp_slang; /* language for sound folding */ + int sfwordnr; + char_u *nrline; + int orgnr; + char_u theword[MAXWLEN]; + int i; + int wlen; + char_u *byts; + idx_T *idxs; + int n; + int wordcount; + int wc; + int goodscore; + hash_T hash; + hashitem_T *hi; + sftword_T *sft; + int bc, gc; + int limit; + + /* + * It's very well possible that the same soundfold word is found several + * times with different scores. Since the following is quite slow only do + * the words that have a better score than before. Use a hashtable to + * remember the words that have been done. + */ + hash = hash_hash(goodword); + hi = hash_lookup(&slang->sl_sounddone, goodword, hash); + if (HASHITEM_EMPTY(hi)) + { + sft = (sftword_T *)alloc(sizeof(sftword_T) + STRLEN(goodword)); + if (sft != NULL) + { + sft->sft_score = score; + STRCPY(sft->sft_word, goodword); + hash_add_item(&slang->sl_sounddone, hi, sft->sft_word, hash); + } + } + else + { + sft = HI2SFT(hi); + if (score >= sft->sft_score) + return; + sft->sft_score = score; + } + + /* + * Find the word nr in the soundfold tree. + */ + sfwordnr = soundfold_find(slang, goodword); + if (sfwordnr < 0) + { + EMSG2(_(e_intern2), "add_sound_suggest()"); + return; + } + + /* + * go over the list of good words that produce this soundfold word + */ + nrline = ml_get_buf(slang->sl_sugbuf, (linenr_T)(sfwordnr + 1), FALSE); + orgnr = 0; + while (*nrline != NUL) + { + /* The wordnr was stored in a minimal nr of bytes as an offset to the + * previous wordnr. */ + orgnr += bytes2offset(&nrline); + + byts = slang->sl_fbyts; + idxs = slang->sl_fidxs; + + /* Lookup the word "orgnr" one of the two tries. */ + n = 0; + wlen = 0; + wordcount = 0; + for (;;) + { + i = 1; + if (wordcount == orgnr && byts[n + 1] == NUL) + break; /* found end of word */ + + if (byts[n + 1] == NUL) + ++wordcount; + + /* skip over the NUL bytes */ + for ( ; byts[n + i] == NUL; ++i) + if (i > byts[n]) /* safety check */ + { + STRCPY(theword + wlen, "BAD"); + goto badword; + } + + /* One of the siblings must have the word. */ + for ( ; i < byts[n]; ++i) + { + wc = idxs[idxs[n + i]]; /* nr of words under this byte */ + if (wordcount + wc > orgnr) + break; + wordcount += wc; + } + + theword[wlen++] = byts[n + i]; + n = idxs[n + i]; + } +badword: + theword[wlen] = NUL; + + /* Go over the possible flags and regions. */ + for (; i <= byts[n] && byts[n + i] == NUL; ++i) + { + char_u cword[MAXWLEN]; + char_u *p; + int flags = (int)idxs[n + i]; + + if (flags & WF_KEEPCAP) + { + /* Must find the word in the keep-case tree. */ + find_keepcap_word(slang, theword, cword); + p = cword; + } + else { - if (round == 1) + flags |= su->su_badflags; + if ((flags & WF_CAPMASK) != 0) { - byts = slang->sl_fbyts; - idxs = slang->sl_fidxs; + /* Need to fix case according to "flags". */ + make_case_word(theword, cword, flags); + p = cword; } else + p = theword; + } + + /* Add the suggestion. */ + if (sps_flags & SPS_DOUBLE) + { + /* Add the suggestion if the score isn't too bad. */ + if (score <= su->su_maxscore) + add_suggestion(su, &su->su_sga, p, su->su_badlen, + score, 0, FALSE, slang, FALSE); + } + else + { + /* Add a penalty for words in another region. */ + if ((flags & WF_REGION) + && (((unsigned)flags >> 16) & lp->lp_region) == 0) + goodscore = SCORE_REGION; + else + goodscore = 0; + + /* Add a small penalty for changing the first letter from + * lower to upper case. Helps for "tath" -> "Kath", which is + * less common thatn "tath" -> "path". Don't do it when the + * letter is the same, that has already been counted. */ + gc = PTR2CHAR(p); + if (SPELL_ISUPPER(gc)) { - byts = slang->sl_kbyts; - idxs = slang->sl_kidxs; - if (byts == NULL) /* no keep-case words */ - continue; + bc = PTR2CHAR(su->su_badword); + if (!SPELL_ISUPPER(bc) + && SPELL_TOFOLD(bc) != SPELL_TOFOLD(gc)) + goodscore += SCORE_ICASE / 2; } - depth = 0; - arridx[0] = 0; - curi[0] = 1; - while (depth >= 0 && !got_int) + /* Compute the score for the good word. This only does letter + * insert/delete/swap/replace. REP items are not considered, + * which may make the score a bit higher. + * Use a limit for the score to make it work faster. Use + * MAXSCORE(), because RESCORE() will change the score. + * If the limit is very high then the iterative method is + * inefficient, using an array is quicker. */ + limit = MAXSCORE(su->su_sfmaxscore - goodscore, score); + if (limit > SCORE_LIMITMAX) + goodscore += spell_edit_score(slang, su->su_badword, p); + else + goodscore += spell_edit_score_limit(slang, su->su_badword, + p, limit); + + /* When going over the limit don't bother to do the rest. */ + if (goodscore < SCORE_MAXMAX) { - if (curi[depth] > byts[arridx[depth]]) - { - /* Done all bytes at this node, go up one level. */ - --depth; - line_breakcheck(); - } - else - { - /* Do one more byte at this node. */ - n = arridx[depth] + curi[depth]; - ++curi[depth]; - c = byts[n]; - if (c == 0) - { - /* End of word, deal with the word. */ - flags = (int)idxs[n]; - if (round == 2 || (flags & WF_KEEPCAP) == 0) - { - tword[depth] = NUL; - /* Sound-fold. Only in keep-case tree need to - * case-fold the word. */ - spell_soundfold(slang, tword, - round == 1, tsalword); - - /* Compute the edit distance between the - * sound-a-like words. */ - sound_score = soundalike_score(salword, - tsalword); - - /* Add a penalty for words in another region. */ - if ((flags & WF_REGION) && (((unsigned)flags - >> 16) & lp->lp_region) == 0) - local_score = SCORE_REGION; - else - local_score = 0; - sound_score += local_score; + /* Give a bonus to words seen before. */ + goodscore = score_wordcount_adj(slang, goodscore, p, FALSE); + + /* Add the suggestion if the score isn't too bad. */ + goodscore = RESCORE(goodscore, score); + if (goodscore <= su->su_sfmaxscore) + add_suggestion(su, &su->su_ga, p, su->su_badlen, + goodscore, score, TRUE, slang, TRUE); + } + } + } + /* smsg("word %s (%d): %s (%d)", sftword, sftnr, theword, orgnr); */ + } +} - if (sound_score < SCORE_MAXMAX) - { - char_u cword[MAXWLEN]; - char_u *p; - int score; +/* + * Find word "word" in fold-case tree for "slang" and return the word number. + */ + static int +soundfold_find(slang, word) + slang_T *slang; + char_u *word; +{ + idx_T arridx = 0; + int len; + int wlen = 0; + int c; + char_u *ptr = word; + char_u *byts; + idx_T *idxs; + int wordnr = 0; - flags |= su->su_badflags; - if (round == 1 && (flags & WF_CAPMASK) != 0) - { - /* Need to fix case according to - * "flags". */ - make_case_word(tword, cword, flags); - p = cword; - } - else - p = tword; - - if (sps_flags & SPS_DOUBLE) - add_suggestion(su, &su->su_sga, p, - su->su_badlen, - sound_score, 0, FALSE, - lp->lp_sallang); - else - { - /* Compute the score. */ - score = spell_edit_score( - su->su_badword, p) - + local_score; - if (sps_flags & SPS_BEST) - /* give a bonus for the good word - * sounding the same as the bad - * word */ - add_suggestion(su, &su->su_ga, p, - su->su_badlen, - RESCORE(score, sound_score), - sound_score, TRUE, - lp->lp_sallang); - else - add_suggestion(su, &su->su_ga, p, - su->su_badlen, - score + sound_score, - 0, FALSE, - lp->lp_sallang); - } - } - } + byts = slang->sl_sbyts; + idxs = slang->sl_sidxs; - /* Skip over other NUL bytes. */ - while (byts[n + 1] == 0) - { - ++n; - ++curi[depth]; - } - } - else - { - /* Normal char, go one level deeper. */ - tword[depth++] = c; - arridx[depth] = idxs[n]; - curi[depth] = 1; - } - } - } + for (;;) + { + /* First byte is the number of possible bytes. */ + len = byts[arridx++]; + + /* If the first possible byte is a zero the word could end here. + * If the word ends we found the word. If not skip the NUL bytes. */ + c = ptr[wlen]; + if (byts[arridx] == NUL) + { + if (c == NUL) + break; + + /* Skip over the zeros, there can be several. */ + while (len > 0 && byts[arridx] == NUL) + { + ++arridx; + --len; } + if (len == 0) + return -1; /* no children, word should have ended here */ + ++wordnr; + } + + /* If the word ends we didn't find it. */ + if (c == NUL) + return -1; + + /* Perform a binary search in the list of accepted bytes. */ + if (c == TAB) /* is handled like */ + c = ' '; + while (byts[arridx] < c) + { + /* The word count is in the first idxs[] entry of the child. */ + wordnr += idxs[idxs[arridx]]; + ++arridx; + if (--len == 0) /* end of the bytes, didn't find it */ + return -1; } + if (byts[arridx] != c) /* didn't find the byte */ + return -1; + + /* Continue at the child (if there is one). */ + arridx = idxs[arridx]; + ++wlen; + + /* One space in the good word may stand for several spaces in the + * checked word. */ + if (c == ' ') + while (ptr[wlen] == ' ' || ptr[wlen] == TAB) + ++wlen; } + + return wordnr; } /* @@ -11090,7 +12733,7 @@ set_map_str(lp, map) } lp->sl_has_map = TRUE; - /* Init the array and hash table empty. */ + /* Init the array and hash tables empty. */ for (i = 0; i < 256; ++i) lp->sl_map_array[i] = 0; #ifdef FEAT_MBYTE @@ -11204,45 +12847,39 @@ similar_chars(slang, c1, c2) /* * Add a suggestion to the list of suggestions. - * Do not add a duplicate suggestion or suggestions with a bad score. - * When "use_score" is not zero it's used, otherwise the score is computed - * with spell_edit_score(). + * For a suggestion that is already in the list the lowest score is remembered. */ static void -add_suggestion(su, gap, goodword, badlenarg, score, altscore, had_bonus, slang) +add_suggestion(su, gap, goodword, badlenarg, score, altscore, had_bonus, + slang, maxsf) suginfo_T *su; - garray_T *gap; + garray_T *gap; /* either su_ga or su_sga */ char_u *goodword; int badlenarg; /* len of bad word replaced with "goodword" */ int score; int altscore; int had_bonus; /* value for st_had_bonus */ slang_T *slang; /* language for sound folding */ + int maxsf; /* su_maxscore applies to soundfold score, + su_sfmaxscore to the total score. */ { - int goodlen = STRLEN(goodword); /* len of goodword changed */ - int badlen = badlenarg; /* len of bad word changed */ + int goodlen; /* len of goodword changed */ + int badlen; /* len of bad word changed */ suggest_T *stp; suggest_T new_sug; int i; - hlf_T attr = HLF_COUNT; - char_u longword[MAXWLEN + 1]; char_u *pgood, *pbad; - /* Check that the word really is valid. Esp. for banned words and for - * split words, such as "the the". Need to append what follows to check - * for that. */ - STRCPY(longword, goodword); - vim_strncpy(longword + goodlen, su->su_badptr + badlen, MAXWLEN - goodlen); - (void)spell_check(curwin, longword, &attr, NULL); - if (attr != HLF_COUNT) - return; - /* Minimize "badlen" for consistency. Avoids that changing "the the" to * "thee the" is added next to changing the first "the" the "thee". */ pgood = goodword + STRLEN(goodword); - pbad = su->su_badptr + badlen; - while (pgood > goodword && pbad > su->su_badptr) + pbad = su->su_badptr + badlenarg; + for (;;) { + goodlen = pgood - goodword; + badlen = pbad - su->su_badptr; + if (goodlen <= 0 || badlen <= 0) + break; mb_ptr_back(goodword, pgood); mb_ptr_back(su->su_badptr, pbad); #ifdef FEAT_MBYTE @@ -11255,143 +12892,152 @@ add_suggestion(su, gap, goodword, badlenarg, score, altscore, had_bonus, slang) #endif if (*pgood != *pbad) break; - badlen = pbad - su->su_badptr; - goodlen = pgood - goodword; } + if (badlen == 0 && goodlen == 0) /* goodword doesn't change anything; may happen for "the the" changing * the first "the" to itself. */ return; - if (score <= su->su_maxscore) - { - /* Check if the word is already there. Also check the length that is - * being replaced "thes," -> "these" is a different suggestion from - * "thes" -> "these". */ - stp = &SUG(*gap, 0); - for (i = gap->ga_len - 1; i >= 0; --i) - if ((int)STRLEN(stp[i].st_word) == goodlen - && STRNCMP(stp[i].st_word, goodword, goodlen) == 0 - && stp[i].st_orglen == badlen) - { - /* - * Found it. Remember the word with the lowest score. - */ - if (stp[i].st_slang == NULL) - stp[i].st_slang = slang; + /* Check if the word is already there. Also check the length that is + * being replaced "thes," -> "these" is a different suggestion from + * "thes" -> "these". */ + stp = &SUG(*gap, 0); + for (i = gap->ga_len; --i >= 0; ++stp) + if (stp->st_wordlen == goodlen + && stp->st_orglen == badlen + && STRNCMP(stp->st_word, goodword, goodlen) == 0) + { + /* + * Found it. Remember the word with the lowest score. + */ + if (stp->st_slang == NULL) + stp->st_slang = slang; - new_sug.st_score = score; - new_sug.st_altscore = altscore; - new_sug.st_had_bonus = had_bonus; + new_sug.st_score = score; + new_sug.st_altscore = altscore; + new_sug.st_had_bonus = had_bonus; - if (stp[i].st_had_bonus != had_bonus) + if (stp->st_had_bonus != had_bonus) + { + /* Only one of the two had the soundalike score computed. + * Need to do that for the other one now, otherwise the + * scores can't be compared. This happens because + * suggest_try_change() doesn't compute the soundalike + * word to keep it fast, while some special methods set + * the soundalike score to zero. */ + if (had_bonus) + rescore_one(su, stp); + else { - /* Only one of the two had the soundalike score computed. - * Need to do that for the other one now, otherwise the - * scores can't be compared. This happens because - * suggest_try_change() doesn't compute the soundalike - * word to keep it fast, while some special methods set - * the soundalike score to zero. */ - if (had_bonus) - rescore_one(su, &stp[i]); - else - { - new_sug.st_word = goodword; - new_sug.st_slang = stp[i].st_slang; - new_sug.st_orglen = badlen; - rescore_one(su, &new_sug); - } + new_sug.st_word = stp->st_word; + new_sug.st_wordlen = stp->st_wordlen; + new_sug.st_slang = stp->st_slang; + new_sug.st_orglen = badlen; + rescore_one(su, &new_sug); } + } - if (stp[i].st_score > new_sug.st_score) - { - stp[i].st_score = new_sug.st_score; - stp[i].st_altscore = new_sug.st_altscore; - stp[i].st_had_bonus = new_sug.st_had_bonus; - } - break; + if (stp->st_score > new_sug.st_score) + { + stp->st_score = new_sug.st_score; + stp->st_altscore = new_sug.st_altscore; + stp->st_had_bonus = new_sug.st_had_bonus; } + break; + } - if (i < 0 && ga_grow(gap, 1) == OK) + if (i < 0 && ga_grow(gap, 1) == OK) + { + /* Add a suggestion. */ + stp = &SUG(*gap, gap->ga_len); + stp->st_word = vim_strnsave(goodword, goodlen); + if (stp->st_word != NULL) { - /* Add a suggestion. */ - stp = &SUG(*gap, gap->ga_len); - stp->st_word = vim_strnsave(goodword, goodlen); - if (stp->st_word != NULL) - { - stp->st_score = score; - stp->st_altscore = altscore; - stp->st_had_bonus = had_bonus; - stp->st_orglen = badlen; - stp->st_slang = slang; - ++gap->ga_len; + stp->st_wordlen = goodlen; + stp->st_score = score; + stp->st_altscore = altscore; + stp->st_had_bonus = had_bonus; + stp->st_orglen = badlen; + stp->st_slang = slang; + ++gap->ga_len; - /* If we have too many suggestions now, sort the list and keep - * the best suggestions. */ - if (gap->ga_len > SUG_MAX_COUNT(su)) - su->su_maxscore = cleanup_suggestions(gap, su->su_maxscore, - SUG_CLEAN_COUNT(su)); + /* If we have too many suggestions now, sort the list and keep + * the best suggestions. */ + if (gap->ga_len > SUG_MAX_COUNT(su)) + { + if (maxsf) + su->su_sfmaxscore = cleanup_suggestions(gap, + su->su_sfmaxscore, SUG_CLEAN_COUNT(su)); + else + { + i = su->su_maxscore; + su->su_maxscore = cleanup_suggestions(gap, + su->su_maxscore, SUG_CLEAN_COUNT(su)); + } } } } } /* - * Add a word to be banned. + * Suggestions may in fact be flagged as errors. Esp. for banned words and + * for split words, such as "the the". Remove these from the list here. */ static void -add_banned(su, word) +check_suggestions(su, gap) suginfo_T *su; - char_u *word; + garray_T *gap; /* either su_ga or su_sga */ { - char_u *s = vim_strsave(word); - hash_T hash; - hashitem_T *hi; + suggest_T *stp; + int i; + char_u longword[MAXWLEN + 1]; + int len; + hlf_T attr; - if (s != NULL) + stp = &SUG(*gap, 0); + for (i = gap->ga_len - 1; i >= 0; --i) { - hash = hash_hash(s); - hi = hash_lookup(&su->su_banned, s, hash); - if (HASHITEM_EMPTY(hi)) - hash_add_item(&su->su_banned, hi, s, hash); - else - vim_free(s); + /* Need to append what follows to check for "the the". */ + STRCPY(longword, stp[i].st_word); + len = stp[i].st_wordlen; + vim_strncpy(longword + len, su->su_badptr + stp[i].st_orglen, + MAXWLEN - len); + attr = HLF_COUNT; + (void)spell_check(curwin, longword, &attr, NULL, FALSE); + if (attr != HLF_COUNT) + { + /* Remove this entry. */ + vim_free(stp[i].st_word); + --gap->ga_len; + if (i < gap->ga_len) + mch_memmove(stp + i, stp + i + 1, + sizeof(suggest_T) * (gap->ga_len - i)); + } } } -/* - * Return TRUE if a word appears in the list of banned words. - */ - static int -was_banned(su, word) - suginfo_T *su; - char_u *word; -{ - hashitem_T *hi = hash_find(&su->su_banned, word); - - return !HASHITEM_EMPTY(hi); -} /* - * Free the banned words in "su". + * Add a word to be banned. */ static void -free_banned(su) +add_banned(su, word) suginfo_T *su; + char_u *word; { - int todo; + char_u *s = vim_strsave(word); + hash_T hash; hashitem_T *hi; - todo = su->su_banned.ht_used; - for (hi = su->su_banned.ht_array; todo > 0; ++hi) + hash = hash_hash(word); + hi = hash_lookup(&su->su_banned, word, hash); + if (HASHITEM_EMPTY(hi)) { - if (!HASHITEM_EMPTY(hi)) - { - vim_free(hi->hi_key); - --todo; - } + s = vim_strsave(word); + if (s != NULL) + hash_add_item(&su->su_banned, hi, s, hash); } - hash_clear(&su->su_banned); } /* @@ -12270,11 +13916,21 @@ soundalike_score(goodstart, badstart) * counted so much, vowels halfway the word aren't counted at all. */ if ((*badsound == '*' || *goodsound == '*') && *badsound != *goodsound) { - score = SCORE_DEL / 2; - if (*badsound == '*') - ++badsound; + if (badsound[1] == goodsound[1] + || (badsound[1] != NUL + && goodsound[1] != NUL + && badsound[2] == goodsound[2])) + { + /* handle like a substitute */ + } else - ++goodsound; + { + score = 2 * SCORE_DEL / 3; + if (*badsound == '*') + ++badsound; + else + ++goodsound; + } } goodlen = STRLEN(goodsound); @@ -12470,7 +14126,8 @@ soundalike_score(goodstart, badstart) * support multi-byte characters. */ static int -spell_edit_score(badword, goodword) +spell_edit_score(slang, badword, goodword) + slang_T *slang; char_u *badword; char_u *goodword; { @@ -12512,11 +14169,11 @@ spell_edit_score(badword, goodword) CNT(0, 0) = 0; for (j = 1; j <= goodlen; ++j) - CNT(0, j) = CNT(0, j - 1) + SCORE_DEL; + CNT(0, j) = CNT(0, j - 1) + SCORE_INS; for (i = 1; i <= badlen; ++i) { - CNT(i, 0) = CNT(i - 1, 0) + SCORE_INS; + CNT(i, 0) = CNT(i - 1, 0) + SCORE_DEL; for (j = 1; j <= goodlen; ++j) { #ifdef FEAT_MBYTE @@ -12539,7 +14196,15 @@ spell_edit_score(badword, goodword) if (SPELL_TOFOLD(bc) == SPELL_TOFOLD(gc)) CNT(i, j) = SCORE_ICASE + CNT(i - 1, j - 1); else - CNT(i, j) = SCORE_SUBST + CNT(i - 1, j - 1); + { + /* For a similar character use SCORE_SIMILAR. */ + if (slang != NULL + && slang->sl_has_map + && similar_chars(slang, gc, bc)) + CNT(i, j) = SCORE_SIMILAR + CNT(i - 1, j - 1); + else + CNT(i, j) = SCORE_SUBST + CNT(i - 1, j - 1); + } if (i > 1 && j > 1) { @@ -12577,6 +14242,392 @@ spell_edit_score(badword, goodword) return i; } +typedef struct +{ + int badi; + int goodi; + int score; +} limitscore_T; + +/* + * Like spell_edit_score(), but with a limit on the score to make it faster. + * May return SCORE_MAXMAX when the score is higher than "limit". + * + * This uses a stack for the edits still to be tried. + * The idea comes from Aspell leditdist.cpp. Rewritten in C and added support + * for multi-byte characters. + */ + static int +spell_edit_score_limit(slang, badword, goodword, limit) + slang_T *slang; + char_u *badword; + char_u *goodword; + int limit; +{ + limitscore_T stack[10]; /* allow for over 3 * 2 edits */ + int stackidx; + int bi, gi; + int bi2, gi2; + int bc, gc; + int score; + int score_off; + int minscore; + int round; + +#ifdef FEAT_MBYTE + /* Multi-byte characters require a bit more work, use a different function + * to avoid testing "has_mbyte" quite often. */ + if (has_mbyte) + return spell_edit_score_limit_w(slang, badword, goodword, limit); +#endif + + /* + * The idea is to go from start to end over the words. So long as + * characters are equal just continue, this always gives the lowest score. + * When there is a difference try several alternatives. Each alternative + * increases "score" for the edit distance. Some of the alternatives are + * pushed unto a stack and tried later, some are tried right away. At the + * end of the word the score for one alternative is known. The lowest + * possible score is stored in "minscore". + */ + stackidx = 0; + bi = 0; + gi = 0; + score = 0; + minscore = limit + 1; + + for (;;) + { + /* Skip over an equal part, score remains the same. */ + for (;;) + { + bc = badword[bi]; + gc = goodword[gi]; + if (bc != gc) /* stop at a char that's different */ + break; + if (bc == NUL) /* both words end */ + { + if (score < minscore) + minscore = score; + goto pop; /* do next alternative */ + } + ++bi; + ++gi; + } + + if (gc == NUL) /* goodword ends, delete badword chars */ + { + do + { + if ((score += SCORE_DEL) >= minscore) + goto pop; /* do next alternative */ + } while (badword[++bi] != NUL); + minscore = score; + } + else if (bc == NUL) /* badword ends, insert badword chars */ + { + do + { + if ((score += SCORE_INS) >= minscore) + goto pop; /* do next alternative */ + } while (goodword[++gi] != NUL); + minscore = score; + } + else /* both words continue */ + { + /* If not close to the limit, perform a change. Only try changes + * that may lead to a lower score than "minscore". + * round 0: try deleting a char from badword + * round 1: try inserting a char in badword */ + for (round = 0; round <= 1; ++round) + { + score_off = score + (round == 0 ? SCORE_DEL : SCORE_INS); + if (score_off < minscore) + { + if (score_off + SCORE_EDIT_MIN >= minscore) + { + /* Near the limit, rest of the words must match. We + * can check that right now, no need to push an item + * onto the stack. */ + bi2 = bi + 1 - round; + gi2 = gi + round; + while (goodword[gi2] == badword[bi2]) + { + if (goodword[gi2] == NUL) + { + minscore = score_off; + break; + } + ++bi2; + ++gi2; + } + } + else + { + /* try deleting/inserting a character later */ + stack[stackidx].badi = bi + 1 - round; + stack[stackidx].goodi = gi + round; + stack[stackidx].score = score_off; + ++stackidx; + } + } + } + + if (score + SCORE_SWAP < minscore) + { + /* If swapping two characters makes a match then the + * substitution is more expensive, thus there is no need to + * try both. */ + if (gc == badword[bi + 1] && bc == goodword[gi + 1]) + { + /* Swap two characters, that is: skip them. */ + gi += 2; + bi += 2; + score += SCORE_SWAP; + continue; + } + } + + /* Substitute one character for another which is the same + * thing as deleting a character from both goodword and badword. + * Use a better score when there is only a case difference. */ + if (SPELL_TOFOLD(bc) == SPELL_TOFOLD(gc)) + score += SCORE_ICASE; + else + { + /* For a similar character use SCORE_SIMILAR. */ + if (slang != NULL + && slang->sl_has_map + && similar_chars(slang, gc, bc)) + score += SCORE_SIMILAR; + else + score += SCORE_SUBST; + } + + if (score < minscore) + { + /* Do the substitution. */ + ++gi; + ++bi; + continue; + } + } +pop: + /* + * Get here to try the next alternative, pop it from the stack. + */ + if (stackidx == 0) /* stack is empty, finished */ + break; + + /* pop an item from the stack */ + --stackidx; + gi = stack[stackidx].goodi; + bi = stack[stackidx].badi; + score = stack[stackidx].score; + } + + /* When the score goes over "limit" it may actually be much higher. + * Return a very large number to avoid going below the limit when giving a + * bonus. */ + if (minscore > limit) + return SCORE_MAXMAX; + return minscore; +} + +#ifdef FEAT_MBYTE +/* + * Multi-byte version of spell_edit_score_limit(). + * Keep it in sync with the above! + */ + static int +spell_edit_score_limit_w(slang, badword, goodword, limit) + slang_T *slang; + char_u *badword; + char_u *goodword; + int limit; +{ + limitscore_T stack[10]; /* allow for over 3 * 2 edits */ + int stackidx; + int bi, gi; + int bi2, gi2; + int bc, gc; + int score; + int score_off; + int minscore; + int round; + char_u *p; + int wbadword[MAXWLEN]; + int wgoodword[MAXWLEN]; + + /* Get the characters from the multi-byte strings and put them in an + * int array for easy access. */ + bi = 0; + for (p = badword; *p != NUL; ) + wbadword[bi++] = mb_cptr2char_adv(&p); + wbadword[bi++] = 0; + gi = 0; + for (p = goodword; *p != NUL; ) + wgoodword[gi++] = mb_cptr2char_adv(&p); + wgoodword[gi++] = 0; + + /* + * The idea is to go from start to end over the words. So long as + * characters are equal just continue, this always gives the lowest score. + * When there is a difference try several alternatives. Each alternative + * increases "score" for the edit distance. Some of the alternatives are + * pushed unto a stack and tried later, some are tried right away. At the + * end of the word the score for one alternative is known. The lowest + * possible score is stored in "minscore". + */ + stackidx = 0; + bi = 0; + gi = 0; + score = 0; + minscore = limit + 1; + + for (;;) + { + /* Skip over an equal part, score remains the same. */ + for (;;) + { + bc = wbadword[bi]; + gc = wgoodword[gi]; + + if (bc != gc) /* stop at a char that's different */ + break; + if (bc == NUL) /* both words end */ + { + if (score < minscore) + minscore = score; + goto pop; /* do next alternative */ + } + ++bi; + ++gi; + } + + if (gc == NUL) /* goodword ends, delete badword chars */ + { + do + { + if ((score += SCORE_DEL) >= minscore) + goto pop; /* do next alternative */ + } while (wbadword[++bi] != NUL); + minscore = score; + } + else if (bc == NUL) /* badword ends, insert badword chars */ + { + do + { + if ((score += SCORE_INS) >= minscore) + goto pop; /* do next alternative */ + } while (wgoodword[++gi] != NUL); + minscore = score; + } + else /* both words continue */ + { + /* If not close to the limit, perform a change. Only try changes + * that may lead to a lower score than "minscore". + * round 0: try deleting a char from badword + * round 1: try inserting a char in badword */ + for (round = 0; round <= 1; ++round) + { + score_off = score + (round == 0 ? SCORE_DEL : SCORE_INS); + if (score_off < minscore) + { + if (score_off + SCORE_EDIT_MIN >= minscore) + { + /* Near the limit, rest of the words must match. We + * can check that right now, no need to push an item + * onto the stack. */ + bi2 = bi + 1 - round; + gi2 = gi + round; + while (wgoodword[gi2] == wbadword[bi2]) + { + if (wgoodword[gi2] == NUL) + { + minscore = score_off; + break; + } + ++bi2; + ++gi2; + } + } + else + { + /* try deleting a character from badword later */ + stack[stackidx].badi = bi + 1 - round; + stack[stackidx].goodi = gi + round; + stack[stackidx].score = score_off; + ++stackidx; + } + } + } + + if (score + SCORE_SWAP < minscore) + { + /* If swapping two characters makes a match then the + * substitution is more expensive, thus there is no need to + * try both. */ + if (gc == wbadword[bi + 1] && bc == wgoodword[gi + 1]) + { + /* Swap two characters, that is: skip them. */ + gi += 2; + bi += 2; + score += SCORE_SWAP; + continue; + } + } + + /* Substitute one character for another which is the same + * thing as deleting a character from both goodword and badword. + * Use a better score when there is only a case difference. */ + if (SPELL_TOFOLD(bc) == SPELL_TOFOLD(gc)) + score += SCORE_ICASE; + else + { + /* For a similar character use SCORE_SIMILAR. */ + if (slang != NULL + && slang->sl_has_map + && similar_chars(slang, gc, bc)) + score += SCORE_SIMILAR; + else + score += SCORE_SUBST; + } + + if (score < minscore) + { + /* Do the substitution. */ + ++gi; + ++bi; + continue; + } + } +pop: + /* + * Get here to try the next alternative, pop it from the stack. + */ + if (stackidx == 0) /* stack is empty, finished */ + break; + + /* pop an item from the stack */ + --stackidx; + gi = stack[stackidx].goodi; + bi = stack[stackidx].badi; + score = stack[stackidx].score; + } + + /* When the score goes over "limit" it may actually be much higher. + * Return a very large number to avoid going below the limit when giving a + * bonus. */ + if (minscore > limit) + return SCORE_MAXMAX; + return minscore; +} +#endif + +#define DUMPFLAG_KEEPCASE 1 /* round 2: keep-case tree */ +#define DUMPFLAG_COUNT 2 /* include word count */ + /* * ":spelldump" */ @@ -12603,6 +14654,7 @@ ex_spelldump(eap) int do_region = TRUE; /* dump region names and numbers */ char_u *p; int lpi; + int dumpflags; if (no_spell_checking(curwin)) return; @@ -12657,17 +14709,22 @@ ex_spelldump(eap) { if (round == 1) { + dumpflags = 0; byts = slang->sl_fbyts; idxs = slang->sl_fidxs; } else { + dumpflags = DUMPFLAG_KEEPCASE; byts = slang->sl_kbyts; idxs = slang->sl_kidxs; } if (byts == NULL) continue; /* array is empty */ + if (eap->forceit) + dumpflags |= DUMPFLAG_COUNT; + depth = 0; arridx[0] = 0; curi[0] = 1; @@ -12707,11 +14764,12 @@ ex_spelldump(eap) * when it's the first one. */ c = (unsigned)flags >> 24; if (c == 0 || curi[depth] == 2) - dump_word(word, round, flags, lnum++); + dump_word(slang, word, dumpflags, + flags, lnum++); /* Apply the prefix, if there is one. */ if (c != 0) - lnum = dump_prefixes(slang, word, round, + lnum = dump_prefixes(slang, word, dumpflags, flags, lnum); } } @@ -12738,19 +14796,21 @@ ex_spelldump(eap) * Dump one word: apply case modifications and append a line to the buffer. */ static void -dump_word(word, round, flags, lnum) +dump_word(slang, word, dumpflags, flags, lnum) + slang_T *slang; char_u *word; - int round; + int dumpflags; int flags; linenr_T lnum; { int keepcap = FALSE; char_u *p; + char_u *tw; char_u cword[MAXWLEN]; char_u badword[MAXWLEN + 10]; int i; - if (round == 1 && (flags & WF_CAPMASK) != 0) + if ((dumpflags & DUMPFLAG_KEEPCASE) == 0 && (flags & WF_CAPMASK) != 0) { /* Need to fix case according to "flags". */ make_case_word(word, cword, flags); @@ -12759,10 +14819,12 @@ dump_word(word, round, flags, lnum) else { p = word; - if (round == 2 && ((captype(word, NULL) & WF_KEEPCAP) == 0 + if ((dumpflags & DUMPFLAG_KEEPCASE) + && ((captype(word, NULL) & WF_KEEPCAP) == 0 || (flags & WF_FIXCAP) != 0)) keepcap = TRUE; } + tw = p; /* Add flags and regions after a slash. */ if ((flags & (WF_BANNED | WF_RARE | WF_REGION)) || keepcap) @@ -12782,6 +14844,20 @@ dump_word(word, round, flags, lnum) p = badword; } + if (dumpflags & DUMPFLAG_COUNT) + { + hashitem_T *hi; + + /* Include the word count for ":spelldump!". */ + hi = hash_find(&slang->sl_wordcount, tw); + if (!HASHITEM_EMPTY(hi)) + { + vim_snprintf((char *)IObuff, IOSIZE, "%s\t%d", + tw, HI2WC(hi)->wc_count); + p = IObuff; + } + } + ml_append(lnum, p, (colnr_T)0, FALSE); } @@ -12791,10 +14867,10 @@ dump_word(word, round, flags, lnum) * Return the updated line number. */ static linenr_T -dump_prefixes(slang, word, round, flags, startlnum) +dump_prefixes(slang, word, dumpflags, flags, startlnum) slang_T *slang; char_u *word; /* case-folded word */ - int round; + int dumpflags; int flags; /* flags with prefix ID */ linenr_T startlnum; { @@ -12860,7 +14936,7 @@ dump_prefixes(slang, word, round, flags, startlnum) if (c != 0) { vim_strncpy(prefix + depth, word, MAXWLEN - depth - 1); - dump_word(prefix, round, + dump_word(slang, prefix, dumpflags, (c & WF_RAREPFX) ? (flags | WF_RARE) : flags, lnum++); } @@ -12876,7 +14952,7 @@ dump_prefixes(slang, word, round, flags, startlnum) { vim_strncpy(prefix + depth, word_up, MAXWLEN - depth - 1); - dump_word(prefix, round, + dump_word(slang, prefix, dumpflags, (c & WF_RAREPFX) ? (flags | WF_RARE) : flags, lnum++); } @@ -12981,7 +15057,7 @@ expand_spelling(lnum, col, pat, matchp) { garray_T ga; - spell_suggest_list(&ga, pat, 100, spell_expand_need_cap); + spell_suggest_list(&ga, pat, 100, spell_expand_need_cap, TRUE); *matchp = ga.ga_data; return ga.ga_len; } diff --git a/src/structs.h b/src/structs.h index 5b91cecb6..5420b4e4b 100644 --- a/src/structs.h +++ b/src/structs.h @@ -1074,6 +1074,13 @@ struct dictvar_S #define SYNSPL_TOP 1 /* spell check toplevel text */ #define SYNSPL_NOTOP 2 /* don't spell check toplevel text */ +/* avoid #ifdefs for when b_spell is not available */ +#ifdef FEAT_SYN_HL +# define B_SPELL(buf) ((buf)->b_spell) +#else +# define B_SPELL(buf) (0) +#endif + /* * buffer: structure that holds information about one file @@ -1407,8 +1414,19 @@ struct file_buffer int b_may_swap; int b_did_warn; /* Set to 1 if user has been warned on first change of a read-only file */ - int b_help; /* buffer for help file (when set b_p_bt is - "help") */ + + /* Two special kinds of buffers: + * help buffer - used for help files, won't use a swap file. + * spell buffer - used for spell info, never displayed and doesn't have a + * file name. + */ + int b_help; /* TRUE for help file buffer (when set b_p_bt + is "help") */ +#ifdef FEAT_SYN_HL + int b_spell; /* TRUE for a spell file buffer, most fields + are not used! Use the B_SPELL macro to + access b_spell without #ifdef. */ +#endif #ifndef SHORT_FNAME int b_shortname; /* this file has an 8.3 file name */ diff --git a/src/testdir/test58.ok b/src/testdir/test58.ok index 75caa7e66..b7ed09466 100644 --- a/src/testdir/test58.ok +++ b/src/testdir/test58.ok @@ -20,11 +20,11 @@ uk wrong ------- bad -['put', 'OK', 'uk'] +['put', 'uk', 'OK'] inputs ['input', 'puts', 'outputs'] comment -['Comment'] +['Comment', 'outtest', 'the end'] ok ['OK', 'uk', 'put'] Ok @@ -34,7 +34,7 @@ test déôl ['deol', 'déôr', 'test'] end -['put', 'OK', 'test'] +['put', 'uk', 'test'] the ['put', 'uk', 'test'] gebletegek @@ -141,7 +141,7 @@ bad wordutilize ['word utilize', 'wordutils', 'wordutil'] pro -['bork', 'end', 'word'] +['bork', 'word', 'end'] borkborkborkborkborkbork ['bork borkborkborkborkbork', 'borkbork borkborkborkbork', 'borkborkbork borkborkbork'] tomatotomatotomato @@ -185,7 +185,7 @@ probarbirk middle [] startmiddle -['startmiddleend'] +['startmiddleend', 'startmiddlebar'] middleend [] endstart @@ -217,7 +217,7 @@ probarbirk middle [] leadmiddle -['leadmiddleend'] +['leadmiddleend', 'leadmiddlebar'] middleend [] endlead @@ -249,7 +249,7 @@ probarmaat middle [] leadmiddle -[] +['leadmiddlebar'] middletail [] taillead diff --git a/src/testdir/test59.ok b/src/testdir/test59.ok index 9c49be4cb..29c9696e8 100644 --- a/src/testdir/test59.ok +++ b/src/testdir/test59.ok @@ -20,11 +20,11 @@ uk wrong ------- bad -['put', 'OK', 'uk'] +['put', 'uk', 'OK'] inputs ['input', 'puts', 'outputs'] comment -['Comment'] +['Comment', 'outtest', 'the end'] ok ['OK', 'uk', 'put'] Ok @@ -34,7 +34,7 @@ test déôl ['deol', 'déôr', 'test'] end -['put', 'OK', 'test'] +['put', 'uk', 'test'] the ['put', 'uk', 'test'] gebletegek @@ -141,7 +141,7 @@ bad wordutilize ['word utilize', 'wordutils', 'wordutil'] pro -['bork', 'end', 'word'] +['bork', 'word', 'end'] borkborkborkborkborkbork ['bork borkborkborkborkbork', 'borkbork borkborkborkbork', 'borkborkbork borkborkbork'] tomatotomatotomato @@ -185,7 +185,7 @@ probarbirk middle [] startmiddle -['startmiddleend'] +['startmiddleend', 'startmiddlebar'] middleend [] endstart @@ -217,7 +217,7 @@ probarbirk middle [] leadmiddle -['leadmiddleend'] +['leadmiddleend', 'leadmiddlebar'] middleend [] endlead @@ -249,7 +249,7 @@ probarmaat middle [] leadmiddle -[] +['leadmiddlebar'] middletail [] taillead diff --git a/src/testdir/test60.in b/src/testdir/test60.in index 9899a94eb..2c414b38e 100644 --- a/src/testdir/test60.in +++ b/src/testdir/test60.in @@ -51,6 +51,10 @@ endfunction let test_cases += [['&textwidth', 1]] " Existing and working option (short form) let test_cases += [['&tw', 1]] + " Global option + let test_cases += [['&g:errorformat', 1]] + " Local option + let test_cases += [['&l:errorformat', 1]] " Negative form of existing and working option (long form) let test_cases += [['&nojoinspaces', 0]] " Negative form of existing and working option (short form) @@ -212,6 +216,26 @@ endfunction echo "FAILED" endif + " Existing local curly-brace variable + let str = "local" + let curly_{str}_var = 1 + echo 'curly_' . str . '_var: 1' + if exists('curly_{str}_var') + echo "OK" + else + echo "FAILED" + endif + + " Non-existing local curly-brace variable + unlet curly_{str}_var + echo 'curly_' . str . '_var: 0' + if !exists('curly_{str}_var') + echo "OK" + else + echo "FAILED" + endif + + " Existing global variable let g:global_var = 1 echo 'g:global_var: 1' @@ -230,29 +254,46 @@ endfunction echo "FAILED" endif - " Existing local curly-brace variable - let curly_local_var = 1 - let str = "local" - echo 'curly_{str}_var: 1' - if exists('curly_{str}_var') + " Existing global list + let g:global_list = ["blue", "orange"] + echo 'g:global_list: 1' + if exists('g:global_list') echo "OK" else echo "FAILED" endif - " Non-existing local curly-brace variable - unlet curly_local_var - echo 'curly_{str}_var: 0' - if !exists('curly_{str}_var') + " Non-existing global list + unlet g:global_list + echo 'g:global_list: 0' + if !exists('g:global_list') + echo "OK" + else + echo "FAILED" + endif + + " Existing global dictionary + let g:global_dict = {"xcord":100, "ycord":2} + echo 'g:global_dict: 1' + if exists('g:global_dict') + echo "OK" + else + echo "FAILED" + endif + + " Non-existing global dictionary + unlet g:global_dict + echo 'g:global_dict: 0' + if !exists('g:global_dict') echo "OK" else echo "FAILED" endif " Existing global curly-brace variable - let g:curly_global_var = 1 let str = "global" - echo 'g:curly_{str}_var: 1' + let g:curly_{str}_var = 1 + echo 'g:curly_' . str . '_var: 1' if exists('g:curly_{str}_var') echo "OK" else @@ -260,17 +301,212 @@ endfunction endif " Non-existing global curly-brace variable - unlet g:curly_global_var - echo 'g:curly_{str}_var: 0' + unlet g:curly_{str}_var + echo 'g:curly_' . str . '_var: 0' if !exists('g:curly_{str}_var') echo "OK" else echo "FAILED" endif + " Existing window variable + echo 'w:window_var: 1' + let w:window_var = 1 + if exists('w:window_var') + echo "OK" + else + echo "FAILED" + endif + + " Non-existing window variable + unlet w:window_var + echo 'w:window_var: 0' + if !exists('w:window_var') + echo "OK" + else + echo "FAILED" + endif + + " Existing window list + let w:window_list = ["blue", "orange"] + echo 'w:window_list: 1' + if exists('w:window_list') + echo "OK" + else + echo "FAILED" + endif + + " Non-existing window list + unlet w:window_list + echo 'w:window_list: 0' + if !exists('w:window_list') + echo "OK" + else + echo "FAILED" + endif + + " Existing window dictionary + let w:window_dict = {"xcord":100, "ycord":2} + echo 'w:window_dict: 1' + if exists('w:window_dict') + echo "OK" + else + echo "FAILED" + endif + + " Non-existing window dictionary + unlet w:window_dict + echo 'w:window_dict: 0' + if !exists('w:window_dict') + echo "OK" + else + echo "FAILED" + endif + + " Existing window curly-brace variable + let str = "window" + let w:curly_{str}_var = 1 + echo 'w:curly_' . str . '_var: 1' + if exists('w:curly_{str}_var') + echo "OK" + else + echo "FAILED" + endif + + " Non-existing window curly-brace variable + unlet w:curly_{str}_var + echo 'w:curly_' . str . '_var: 0' + if !exists('w:curly_{str}_var') + echo "OK" + else + echo "FAILED" + endif + + " Existing buffer variable + echo 'b:buffer_var: 1' + let b:buffer_var = 1 + if exists('b:buffer_var') + echo "OK" + else + echo "FAILED" + endif + + " Non-existing buffer variable + unlet b:buffer_var + echo 'b:buffer_var: 0' + if !exists('b:buffer_var') + echo "OK" + else + echo "FAILED" + endif + + " Existing buffer list + let b:buffer_list = ["blue", "orange"] + echo 'b:buffer_list: 1' + if exists('b:buffer_list') + echo "OK" + else + echo "FAILED" + endif + + " Non-existing buffer list + unlet b:buffer_list + echo 'b:buffer_list: 0' + if !exists('b:buffer_list') + echo "OK" + else + echo "FAILED" + endif + + " Existing buffer dictionary + let b:buffer_dict = {"xcord":100, "ycord":2} + echo 'b:buffer_dict: 1' + if exists('b:buffer_dict') + echo "OK" + else + echo "FAILED" + endif + + " Non-existing buffer dictionary + unlet b:buffer_dict + echo 'b:buffer_dict: 0' + if !exists('b:buffer_dict') + echo "OK" + else + echo "FAILED" + endif + + " Existing buffer curly-brace variable + let str = "buffer" + let b:curly_{str}_var = 1 + echo 'b:curly_' . str . '_var: 1' + if exists('b:curly_{str}_var') + echo "OK" + else + echo "FAILED" + endif + + " Non-existing buffer curly-brace variable + unlet b:curly_{str}_var + echo 'b:curly_' . str . '_var: 0' + if !exists('b:curly_{str}_var') + echo "OK" + else + echo "FAILED" + endif + " Script-local tests source test60.vim + " Existing Vim internal variable + echo 'v:version: 1' + if exists('v:version') + echo "OK" + else + echo "FAILED" + endif + + " Non-existing Vim internal variable + echo 'v:non_exists_var: 0' + if !exists('v:non_exists_var') + echo "OK" + else + echo "FAILED" + endif + + " Function arguments + function TestFuncArg(func_arg, ...) + echo 'a:func_arg: 1' + if exists('a:func_arg') + echo "OK" + else + echo "FAILED" + endif + + echo 'a:non_exists_arg: 0' + if !exists('a:non_exists_arg') + echo "OK" + else + echo "FAILED" + endif + + echo 'a:1: 1' + if exists('a:1') + echo "OK" + else + echo "FAILED" + endif + + echo 'a:2: 0' + if !exists('a:2') + echo "OK" + else + echo "FAILED" + endif + endfunction + + call TestFuncArg("arg1", "arg2") + redir END endfunction :call TestExists() diff --git a/src/testdir/test60.ok b/src/testdir/test60.ok index fe6c4b765..46a72e4d2 100644 --- a/src/testdir/test60.ok +++ b/src/testdir/test60.ok @@ -33,6 +33,10 @@ OK OK &tw: 1 OK +&g:errorformat: 1 +OK +&l:errorformat: 1 +OK &nojoinspaces: 0 OK &nojs: 0 @@ -85,27 +89,87 @@ local_dict: 1 OK local_dict: 0 OK +curly_local_var: 1 +OK +curly_local_var: 0 +OK g:global_var: 1 OK g:global_var: 0 OK -curly_{str}_var: 1 +g:global_list: 1 +OK +g:global_list: 0 +OK +g:global_dict: 1 +OK +g:global_dict: 0 +OK +g:curly_global_var: 1 +OK +g:curly_global_var: 0 +OK +w:window_var: 1 +OK +w:window_var: 0 +OK +w:window_list: 1 +OK +w:window_list: 0 +OK +w:window_dict: 1 +OK +w:window_dict: 0 +OK +w:curly_window_var: 1 OK -curly_{str}_var: 0 +w:curly_window_var: 0 OK -g:curly_{str}_var: 1 +b:buffer_var: 1 OK -g:curly_{str}_var: 0 +b:buffer_var: 0 +OK +b:buffer_list: 1 +OK +b:buffer_list: 0 +OK +b:buffer_dict: 1 +OK +b:buffer_dict: 0 +OK +b:curly_buffer_var: 1 +OK +b:curly_buffer_var: 0 OK s:script_var: 1 OK s:script_var: 0 OK -s:curly_{str}_var: 1 +s:script_list: 1 +OK +s:script_list: 0 +OK +s:script_dict: 1 OK -s:curly_{str}_var: 0 +s:script_dict: 0 +OK +s:curly_script_var: 1 +OK +s:curly_script_var: 0 OK *s:my_script_func: 1 OK *s:my_script_func: 0 OK +v:version: 1 +OK +v:non_exists_var: 0 +OK +a:func_arg: 1 +OK +a:non_exists_arg: 0 +OK +a:1: 1 +OK +a:2: 0 +OK diff --git a/src/testdir/test60.vim b/src/testdir/test60.vim new file mode 100644 index 000000000..48eea4279 --- /dev/null +++ b/src/testdir/test60.vim @@ -0,0 +1,97 @@ +" Vim script for exists() function test +" Script-local variables are checked here + +" Existing script-local variable +let s:script_var = 1 +echo 's:script_var: 1' +if exists('s:script_var') + echo "OK" +else + echo "FAILED" +endif + +" Non-existing script-local variable +unlet s:script_var +echo 's:script_var: 0' +if !exists('s:script_var') + echo "OK" +else + echo "FAILED" +endif + +" Existing script-local list +let s:script_list = ["blue", "orange"] +echo 's:script_list: 1' +if exists('s:script_list') + echo "OK" +else + echo "FAILED" +endif + +" Non-existing script-local list +unlet s:script_list +echo 's:script_list: 0' +if !exists('s:script_list') + echo "OK" +else + echo "FAILED" +endif + +" Existing script-local dictionary +let s:script_dict = {"xcord":100, "ycord":2} +echo 's:script_dict: 1' +if exists('s:script_dict') + echo "OK" +else + echo "FAILED" +endif + +" Non-existing script-local dictionary +unlet s:script_dict +echo 's:script_dict: 0' +if !exists('s:script_dict') + echo "OK" +else + echo "FAILED" +endif + +" Existing script curly-brace variable +let str = "script" +let s:curly_{str}_var = 1 +echo 's:curly_' . str . '_var: 1' +if exists('s:curly_{str}_var') + echo "OK" +else + echo "FAILED" +endif + +" Non-existing script-local curly-brace variable +unlet s:curly_{str}_var +echo 's:curly_' . str . '_var: 0' +if !exists('s:curly_{str}_var') + echo "OK" +else + echo "FAILED" +endif + +" Existing script-local function +function! s:my_script_func() +endfunction + +echo '*s:my_script_func: 1' +if exists('*s:my_script_func') + echo "OK" +else + echo "FAILED" +endif + +" Non-existing script-local function +delfunction s:my_script_func + +echo '*s:my_script_func: 0' +if !exists('*s:my_script_func') + echo "OK" +else + echo "FAILED" +endif + diff --git a/src/version.h b/src/version.h index 253102b52..447f4fa0b 100644 --- a/src/version.h +++ b/src/version.h @@ -36,5 +36,5 @@ #define VIM_VERSION_NODOT "vim70aa" #define VIM_VERSION_SHORT "7.0aa" #define VIM_VERSION_MEDIUM "7.0aa ALPHA" -#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Dec 29)" -#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Dec 29, compiled " +#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2006 Jan 12)" +#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2006 Jan 12, compiled " -- 2.50.1