Re: [patch] fixed E763 when using a spell checker
- Dominique Pelle wrote:
> When I generate spelling checker files using main.aap inThanks, I'll look into it soon.
> vim/runtime/spell/* with Vim-7.2.411 using Ubuntu-9.10,
> I then get error E763 when trying to use the dictionaries.
> Attached patch fixes it.
> I initially saw this when creating the Breton dictionary but
> I see this error for all other dictionaries that I tried to create:
> - it.utf-8.spl
> - es.utf-8.spl
> - eo.utf-8.spl
> - cy.utf-8.spl
> - br.utf-8.spl
> After generating the dictionary and copying it into ~/.vim/spell,
> E763 happens when doing this for example:
> vim -u NONE
> :set spell
> :setlocal spelllang=cy
> The problem happens because spelltab.st_fold is of type 'char_u'
> but init_spell_chartab() initializes it with utf_fold(i) which can return
> a value greater than 256. So value gets truncated (which does not
> make sense). It happens at least when i is 181=0xb5 since foldCase
> table contains entry...
> ... so utf_fold(181) returns 181 + 775 == 0x3BC which then becomes
> 0xBC = 188 when converted to char_u.
> Attached patch fixes it but please verify it.
> A few things a unclear to me though:
> - why is a table of 256 char needed when using Unicode?
> - why is spelltab.st_fold table initialized differently
> whether clear_spell_chartab() or init_spell_chartab()
> is called?
> - why don't I get E763 with official Vim dictionary files,
> but I got it (before my patch) when I generated dictionary
ALL: A witch! A witch!
WITCH: It's a fair cop.
ALL: Burn her! Burn her! Let's make her into a ladder.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
To unsubscribe, reply using "remove me" as the subject.