Mercurial > vim
annotate runtime/spell/README.txt @ 21417:53ff4dfe6e11 v8.2.1259
patch 8.2.1259: empty group in 'tabline' may cause using an invalid pointer
Commit: https://github.com/vim/vim/commit/f56c95fdad5af521887f8cd7bc15729b5355231d
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jul 21 19:25:18 2020 +0200
patch 8.2.1259: empty group in 'tabline' may cause using an invalid pointer
Problem: Empty group in 'tabline' may cause using an invalid pointer.
Solution: Set the group start position. (closes https://github.com/vim/vim/issues/6505)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 21 Jul 2020 19:30:04 +0200 |
parents | 7cfe57329284 |
children |
rev | line source |
---|---|
236 | 1 The spell files included here are in Vim's special format. You can't edit |
2 them. See ":help spell" for more information. | |
3 | |
4 | |
391 | 5 COPYRIGHT |
236 | 6 |
7 The files used as input for the spell files come from the OpenOffice.org spell | |
8 files. Most of them go under the LGPL or a similar license. | |
9 | |
388 | 10 Copyright notices for specific languages are in README_??.txt. Note that the |
11 files for different regions are merged, both to save space and to make it | |
12 possible to highlight words for another region different from bad words. | |
391 | 13 |
536 | 14 Most of the soundslike mappings come from Aspell ??_phonet.dat files: |
15 ftp://ftp.gnu.org/gnu/aspell/dict/. Most go under the GPL or LGPL copyright. | |
16 | |
391 | 17 |
18 GENERATING .SPL FILES | |
19 | |
15640 | 20 This involves downloading the files from the github server, applying a |
391 | 21 patch and running Vim to generate the .spl file. To do this all in one go use |
22 the Aap program (www.a-a-p.org). It's simple to install, it only requires | |
15640 | 23 Python (http://www.a-a-p.org/download.html) |
391 | 24 |
2293
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
25 Before generating spell files, verify your system has the required locale |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
26 support. Source the check_locales.vim script to find out. If something is |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
27 missing, see LOCALE below. |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
28 |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
29 |
391 | 30 You can also do it manually: |
31 1. Fetch the right spell file from: | |
15640 | 32 https://github.com/LibreOffice/dictionaries |
391 | 33 |
34 2. Unzip the archive: | |
35 unzip LL_RR.zip | |
36 | |
37 3. Apply the patch: | |
38 patch < LL_RR.diff | |
39 | |
40 4. If the language has multiple regions do the above for each region. E.g., | |
41 for English there are five regions: US, CA, AU, NZ and GB. | |
42 | |
43 5. Run Vim and execute ":mkspell". Make sure you do this with the correct | |
44 locale, that influences the upper/lower case letters and word characters. | |
45 On Unix it's something like: | |
46 env LANG=en_US.UTF-8 vim | |
47 mkspell! en en_US en_AU en_CA en_GB en_NZ | |
48 | |
49 6. Repeat step 5 for other locales. For English you could generate a spell | |
50 file for latin1, utf-8 and ASCII. ASCII only makes sense for languages | |
51 that have very few words with non-ASCII letters. | |
52 | |
53 Now you understand why I prefer using the Aap recipe :-). | |
54 | |
55 | |
56 MAINTAINING A LANGUAGE | |
57 | |
58 Every language should have a maintainer. His tasks are to track the changes | |
15640 | 59 in the spell files and make updated patches. Words that haven't been |
60 added/removed from the LibreOffice lists can also be handled by the patches. | |
391 | 61 |
62 It is important to keep the version of the .dic and .aff files that you | |
15640 | 63 started with. When LibreOffice brings out new versions of these files you can |
391 | 64 find out what changed and take over these changes in your patch. When there |
65 are very many changes you can do it the other way around: re-apply the changes | |
66 for Vim to the new versions of the .dic and .aff files. | |
67 | |
68 This procedure should work well: | |
69 | |
70 1. Obtain the zip archive with the .aff and .dic files. Unpack it as | |
71 explained above and copy (don't rename!) the .aff and .dic files to | |
72 .orig.aff and .orig.dic. Using the Aap recipe should work, it will make | |
73 the copies for you. | |
74 | |
75 2. Tweak the .aff and .dic files to generate the perfect .spl file. Don't | |
76 change too much, the OpenOffice people are not stupid. However, you may | |
77 want to remove obvious mistakes. And remove single-letter words that | |
78 aren't really words, they mess up the suggestions (English has this | |
2034 | 79 problem). You can use the "fixdup.vim" Vim script to find duplicate words. |
391 | 80 |
15640 | 81 3. Include needed parts from the aspell phonetic dictionary to the aff files. For |
82 example add the relevant SAL lines to the .aff file (this is needed to make good | |
83 suggestions). The aspell dictionaries can be found here: | |
84 https://ftp.gnu.org/gnu/aspell/dict/0index.html | |
85 | |
86 4. Make the diff file. "aap diff" will do this for you. If a diff would be | |
391 | 87 too big you might consider writing a Vim script to do systematic changes. |
88 Do check that someone else can reproduce building the spell file. Send the | |
89 result to Bram for inclusion in the distribution. Bram will generate the | |
90 .spl file and upload it to the ftp server (if he can't generate it you will | |
91 have to send him the .spl file too). | |
92 | |
15640 | 93 5. When OpenOffice makes a new zip file available you need to update the |
391 | 94 patch. "aap check" should do most of the work for you: if there are |
95 changes the .new.dic and .new.aff files will appear. You can now figure | |
96 out the differences with .orig.dic and .orig.aff, adjust the .dic and .aff | |
97 files and finally move the .new.dic to .orig.dic and .new.aff to .orig.aff. | |
98 | |
15640 | 99 6. Repeat step 5. regularly. |
2293
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
100 |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
101 |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
102 LOCALE |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
103 |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
104 For proper spell file generation the required locale must be installed. |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
105 Otherwise Vim doesn't know what are letters and upper-lower case differences. |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
106 Modern systems use UTF-8, but we also generate spell files for 8-bit locales |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
107 for users with older systems. |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
108 |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
109 On Ubuntu the default is to only support locales for your own language. To |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
110 add others you need to do this: |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
111 sudo vim /var/lib/locales/supported.d/local |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
112 Add needed lines from /usr/share/i18n/SUPPORTED |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
113 sudo dpkg-reconfigure locales |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
114 |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
115 When using the check_locales.vim script, you need to exit Vim and restart it |
e0fabd886db6
Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
116 to pickup the newly installed locales. |