diff options
-rw-r--r-- | Filelist | 5 | ||||
-rw-r--r-- | runtime/doc/eval.txt | 22 | ||||
-rw-r--r-- | runtime/doc/spell.txt | 16 | ||||
-rw-r--r-- | runtime/doc/tags | 1 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 66 | ||||
-rw-r--r-- | runtime/spell/README.txt | 929 | ||||
-rw-r--r-- | runtime/spell/de/de_DE.diff | 14 | ||||
-rw-r--r-- | runtime/spell/de/main.aap | 82 | ||||
-rw-r--r-- | runtime/spell/en.ascii.spl | bin | 559946 -> 566599 bytes | |||
-rw-r--r-- | runtime/spell/en.latin1.spl | bin | 561981 -> 568694 bytes | |||
-rw-r--r-- | runtime/spell/en.utf-8.spl | bin | 562404 -> 569125 bytes | |||
-rw-r--r-- | runtime/spell/en/en_AU.diff (renamed from src/spell/en_AU.diff) | 4 | ||||
-rw-r--r-- | runtime/spell/en/en_CA.diff (renamed from src/spell/en_CA.diff) | 4 | ||||
-rw-r--r-- | runtime/spell/en/en_GB.diff (renamed from src/spell/en_GB.diff) | 942 | ||||
-rw-r--r-- | runtime/spell/en/en_NZ.diff (renamed from src/spell/en_NZ.diff) | 4 | ||||
-rw-r--r-- | runtime/spell/en/en_US.diff (renamed from src/spell/en_US.diff) | 4 | ||||
-rw-r--r-- | runtime/spell/en/main.aap | 232 | ||||
-rw-r--r-- | runtime/spell/fr/fr_FR.diff (renamed from src/spell/fr_FR.diff) | 0 | ||||
-rw-r--r-- | runtime/spell/fr/main.aap | 77 | ||||
-rw-r--r-- | runtime/spell/he/he_IL.diff (renamed from src/spell/he_IL.diff) | 0 | ||||
-rw-r--r-- | runtime/spell/he/main.aap | 73 | ||||
-rw-r--r-- | runtime/spell/main.aap | 6 | ||||
-rw-r--r-- | runtime/spell/nl/main.aap | 77 | ||||
-rw-r--r-- | runtime/spell/nl/nl_NL.diff (renamed from src/spell/nl_NL.diff) | 0 | ||||
-rw-r--r-- | runtime/spell/pl/main.aap | 75 | ||||
-rw-r--r-- | runtime/spell/pl/pl_PL.diff (renamed from src/spell/pl_PL.diff) | 0 | ||||
-rw-r--r-- | src/Make_mvc.mak | 14 | ||||
-rw-r--r-- | src/eval.c | 82 | ||||
-rw-r--r-- | src/farsi.c | 8 | ||||
-rw-r--r-- | src/if_ole.cpp | 2 | ||||
-rw-r--r-- | src/spell.c | 72 | ||||
-rw-r--r-- | src/spell/Makefile | 117 | ||||
-rw-r--r-- | src/spell/de_DE.diff | 24 | ||||
-rw-r--r-- | src/version.h | 4 |
34 files changed, 1252 insertions, 1704 deletions
@@ -122,8 +122,6 @@ SRC_ALL2 = \ src/proto/undo.pro \ src/proto/version.pro \ src/proto/window.pro \ - src/spell/*.diff \ - src/spell/Makefile \ # source files for Unix only @@ -684,6 +682,9 @@ LANG_GEN = \ runtime/tutor/tutor.ru.* \ runtime/tutor/tutor.zh.* \ runtime/spell/README.txt \ + runtime/spell/??/*.diff \ + runtime/spell/??/main.aap \ + runtime/spell/main.aap \ # generic language files, binary LANG_GEN_BIN = \ diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 9ee13e393..9eb1ba645 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 Jun 29 +*eval.txt* For Vim version 7.0aa. Last change: 2005 Jul 03 VIM REFERENCE MANUAL by Bram Moolenaar @@ -241,15 +241,23 @@ the same value. > Note about comparing lists: Two lists are considered equal if they have the same length and all items compare equal, as with using "==". There is one -exception: When comparing a number with a string and the string contains extra -characters beside the number they are not equal. Example: > - echo 4 == "4x" +exception: When comparing a number with a string they are considered +different. There is no automatic type conversion, as with using "==" on +variables. Example: > + echo 4 == "4" < 1 > - echo [4] == ["4x"] + echo [4] == ["4"] < 0 -This is to fix the odd behavior of == that can't be changed for backward -compatibility reasons. +Thus comparing Lists is more strict than comparing numbers and strings. You +can compare simple values this way too by putting them in a string: > + + :let a = 5 + :let b = "5" + echo a == b +< 1 > + echo [a] == [b] +< 0 List unpack ~ diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt index 9ccfbefb8..46d1b70da 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 Jul 02 +*spell.txt* For Vim version 7.0aa. Last change: 2005 Jul 03 VIM REFERENCE MANUAL by Bram Moolenaar @@ -27,7 +27,7 @@ This switches on the 'spell' option and specifies to check for US English. The words that are not recognized are highlighted with one of these: SpellBad word not recognized |hl-SpellBad| - SpellCap word not capatilized |hl-SpellCap| + SpellCap word not capitalised |hl-SpellCap| SpellRare rare word |hl-SpellRare| SpellLocal wrong spelling for selected region |hl-SpellLocal| @@ -321,6 +321,10 @@ find them here: You can also use a plain word list. The results are the same, the choice depends on what word lists you can find. +If you install Aap (from www.a-a-p.org) you can use the recipes in the +runtime/spell/??/ directories. Aap will take care of downloading the files, +apply patches needed for Vim and build the .spl file. + Make sure your current locale is set properly, otherwise Vim doesn't know what characters are upper/lower case letters. If the locale isn't available (e.g., when using an MS-Windows codepage on Unix) add tables to the .aff file @@ -389,7 +393,7 @@ following procedure is recommended: 4. Start Vim with the right locale and use |:mkspell| to generate the Vim spell file. 5. Try out the spell file with ":set spell spelllang=xx" if you wrote it in - a spell directory in 'runtimepath, or ":set spelllang=xx.enc.spl" if you + a spell directory in 'runtimepath', or ":set spelllang=xx.enc.spl" if you wrote it somewhere else. When the Myspell files are updated you can merge the differences: @@ -436,7 +440,7 @@ highlighted. Person and company names will not appear in a dictionary, but do appear in a word list. And some old words are rarely used while they are common misspellings. These do appear in a dictionary but not in a word list. -There are two formats: A straigth list of words and a list using affix +There are two formats: A straight list of words and a list using affix compression. The files with affix compression are used by Myspell (Mozilla and OpenOffice.org). This requires two files, one with .aff and one with .dic extension. @@ -760,7 +764,7 @@ Simplistic example: SAL C K ~ SAL K K ~ -There are a few rules and this can become quite complicated. An explantion +There are a few rules and this can become quite complicated. An explanation how it works can be found in the Aspell manual: http://aspell.net/man-html/Phonetic-Code.html. @@ -780,7 +784,7 @@ characters to another character, mapping similar sounding characters to the same character. At the same time this does case folding. You can not have both SAL items and simple soundfolding. -There are two items required: one to speficy the characters that are mapped +There are two items required: one to specify the characters that are mapped and one that specifies the characters they are mapped to. They must have exactly the same number of characters. Example: diff --git a/runtime/doc/tags b/runtime/doc/tags index 2b19ebcb4..f231debf8 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -5148,7 +5148,6 @@ hebrew hebrew.txt /*hebrew* hebrew.txt hebrew.txt /*hebrew.txt* help various.txt /*help* help-context help.txt /*help-context* -help-tags tags 1 help-translated various.txt /*help-translated* help-xterm-window various.txt /*help-xterm-window* help.txt help.txt /*help.txt* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 4d0e93c4d..9d0a96691 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 Jul 02 +*todo.txt* For Vim version 7.0aa. Last change: 2005 Jul 03 VIM REFERENCE MANUAL by Bram Moolenaar @@ -81,9 +81,6 @@ autoload: helpfile doc/myscript.txt For the "helpfile" item ":helptags" is run. -For List comparing, consider [4] and ['4'] different? (Servatius Brandt) -Also allows strict comparing for ordinary variables. - Patch to alternate fold highlighting. (Anthony Iano-Fletcher, 2005 May 12) More levels? @@ -96,40 +93,6 @@ Awaiting response: PLANNED FOR VERSION 7.0: -- Spell checking todo's: - - When making suggestions check for 'spellcapcheck' and empty line to - figure out the word should be capitalised. - - Distribution: Need wordlists for many languages; "language pack" - Put them on the ftp site, ready to download. Include README for - copyrights. - - Work together with OpenOffice.org to update the wordlists. (Adri - Verhoef, Aad Nales) Setup vim-spell maillist? - - Charles Campbell asks for method to add "contained" groups to - existing syntax items (to add @Spell). - Add ":syntax contains {pattern} add=@Spell" command? A bit like ":syn - cluster" but change the contains list directly for matching syntax - items. - - Install spell files with src/main.aap. - Later: - - References: MySpell library (in OpenOffice.org). - http://spellchecker.mozdev.org/source.html - http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/ - author: Kevin Hendricks <kevin.hendricks@sympatico.ca> - - Make "en-rare" spell file? Ask Charles Campbell. - - The English dictionaries for different regions are not consistent in - their use of words with a dash. - - Alternate Dutch word list at www.nederlandsewoorden.nl (use script to - obtain). But new Myspell wordlist will come (Hagen) - - Insert mode completion mechanism that uses the spell word lists. - - Add hl groups to 'spelllang'? - :set spelllang=en_us,en-rare/SpellRare,en-math/SpellMath - More complicated: Regions with different languages? E.g., comments - in English, strings in German (po file). - - Implement compound words when it works for Myspell. Current idea has - the problem that "foo/X" always allows "foofoo", there is no way to - specify a word can only be at the start or end, or that only certain - words combine. - - Support using "**" in filename for ":next", ":vimgrep", etc., so that a directory tree can be searched. - REFACTORING: The main() function is very long. Move parts to separate @@ -1309,6 +1272,33 @@ User Friendlier: window can be displayed. (Eduard) +Spell checking: +9 Work together with OpenOffice.org to update the wordlists. (Adri Verhoef, + Aad Nales) Setup vim-spell maillist? +8 Charles Campbell asks for method to add "contained" groups to existing + syntax items (to add @Spell). + Add ":syntax contains {pattern} add=@Spell" command? A bit like ":syn + cluster" but change the contains list directly for matching syntax items. +8 Install spell files with src/main.aap. +- References: MySpell library (in OpenOffice.org). + http://spellchecker.mozdev.org/source.html + http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/ + author: Kevin Hendricks <kevin.hendricks@sympatico.ca> +8 Make "en-rare" spell file? Ask Charles Campbell. +8 The English dictionaries for different regions are not consistent in their + use of words with a dash. +8 Alternate Dutch word list at www.nederlandsewoorden.nl (use script to + obtain). But new Myspell wordlist will come (Hagen) +7 Insert mode completion mechanism that uses the spell word lists. +8 Add hl groups to 'spelllang'? + :set spelllang=en_us,en-rare/SpellRare,en-math/SpellMath + More complicated: Regions with different languages? E.g., comments + in English, strings in German (po file). +8 Implement compound words when it works for Myspell. Current idea has the + problem that "foo/X" always allows "foofoo", there is no way to specify a + word can only be at the start or end, or that only certain words combine. + + Diff mode: 8 Use diff mode to show the changes made in a buffer (compared to the file). Use an unnamed buffer, like doing: diff --git a/runtime/spell/README.txt b/runtime/spell/README.txt index ff56acc25..8ea5272f0 100644 --- a/runtime/spell/README.txt +++ b/runtime/spell/README.txt @@ -7,929 +7,6 @@ Copyright The files used as input for the spell files come from the OpenOffice.org spell files. Most of them go under the LGPL or a similar license. -Copyright notices for specific languages follow. Note that the files for -different regions are merged, both to save space and to make it possible to -highlight words for another region different from bad words. - --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -en_US - -20040623 release. --- -This dictionary is based on a subset of the original -English wordlist created by Kevin Atkinson for Pspell -and Aspell and thus is covered by his original -LGPL license. The affix file is a heavily modified -version of the original english.aff file which was -released as part of Geoff Kuenning's Ispell and as -such is covered by his BSD license. - -Thanks to both authors for there wonderful work. - --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -en_AU - -This dictionary was based on the en_GB Myspell dictionary -which in turn was initially based on a subset of the -original English wordlist created by Kevin Atkinson for -Pspell and Aspell and thus is covered by his original -LGPL licence. - -The credit for this en_AU dictionary goes to: - -Kelvin Eldridge (maintainer) -Jean Hollis Weber -David Wilson - -- Words incorrect in Australian English removed -- a list from the previously removed words with corrected spelling was added -- a list of major rivers was added -- a list of place names was added -- a list of Australian mammals was added -- a list of Aboriginal/Koori words commonly used was added - -A total of 119,267 words are now recognized -by the dictionary. - -Of course, special thanks go to the editors of the -en_GB dictionary (David Bartlett, Brian Kelk and -Andrew Brown) which provided the starting point -for this dictionary. - -The affix file is currently a duplicate of the en_AU.aff -created completely from scratch by David Bartlett and -Andrew Brown, based on the published -rules for MySpell and is also provided under the LGPL. - -If you find omissions or bugs or have new words to -add to the dictionary, please contact the en_AU -maintainer at: - - "Kelvin" <audictionary@onlineconnections.com.au> - --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -en_CA - -The dictionary file was created using the "final" English and Canadian SCOWL -(Spell Checker Oriented Word Lists) wordlists available at Kevin's Word Lists -Page (http://wordlist.sourceforge.net). Lists with the suffixes 10, 20, 35, -50, 65 and 65 were used. Lists with the suffixes 70, 80 and 95 were excluded. -Copyright information for SCOWL and the wordlists used in creating it is -reproduced below. - -The affix file is identical to the MySpell English (United States) affix file. -It is a heavily modified version of the original english.aff file which was -released as part of Geoff Kuenning's Ispell and as such is covered by his BSD -license. - ---- - -COPYRIGHT, SOURCES, and CREDITS from SCOWL readme file: - -The collective work is Copyright 2000 by Kevin Atkinson as well as any -of the copyrights mentioned below: - - Copyright 2000 by Kevin Atkinson - - Permission to use, copy, modify, distribute and sell these word - lists, the associated scripts, the output created from the scripts, - and its documentation for any purpose is hereby granted without fee, - provided that the above copyright notice appears in all copies and - that both that copyright notice and this permission notice appear in - supporting documentation. Kevin Atkinson makes no representations - about the suitability of this array for any purpose. It is provided - "as is" without express or implied warranty. - -Alan Beale <biljir@pobox.com> also deserves special credit as he has, -in addition to providing the 12Dicts package and being a major -contributor to the ENABLE word list, given me an incredible amount of -feedback and created a number of special lists (those found in the -Supplement) in order to help improve the overall quality of SCOWL. - -The 10 level includes the 1000 most common English words (according to -the Moby (TM) Words II [MWords] package), a subset of the 1000 most -common words on the Internet (again, according to Moby Words II), and -frequently class 16 from Brian Kelk's "UK English Wordlist -with Frequency Classification". - -The MWords package was explicitly placed in the public domain: - - The Moby lexicon project is complete and has - been place into the public domain. Use, sell, - rework, excerpt and use in any way on any platform. - - Placing this material on internal or public servers is - also encouraged. The compiler is not aware of any - export restrictions so freely distribute world-wide. - - You can verify the public domain status by contacting - - Grady Ward - 3449 Martha Ct. - Arcata, CA 95521-4884 - - grady@netcom.com - grady@northcoast.com - -The "UK English Wordlist With Frequency Classification" is also in the -Public Domain: - - Date: Sat, 08 Jul 2000 20:27:21 +0100 - From: Brian Kelk <Brian.Kelk@cl.cam.ac.uk> - -> I was wondering what the copyright status of your "UK English - > Wordlist With Frequency Classification" word list as it seems to - > be lacking any copyright notice. - - There were many many sources in total, but any text marked - "copyright" was avoided. Locally-written documentation was one - source. An earlier version of the list resided in a filespace called - PUBLIC on the University mainframe, because it was considered public - domain. - - Date: Tue, 11 Jul 2000 19:31:34 +0100 - - > So are you saying your word list is also in the public domain? - - That is the intention. - -The 20 level includes frequency classes 7-15 from Brian's word list. - -The 35 level includes frequency classes 2-6 and words appearing in at -least 11 of 12 dictionaries as indicated in the 12Dicts package. All -words from the 12Dicts package have had likely inflections added via -my inflection database. - -The 12Dicts package and Supplement is in the Public Domain. - -The WordNet database, which was used in the creation of the -Inflections database, is under the following copyright: - - This software and database is being provided to you, the LICENSEE, - by Princeton University under the following license. By obtaining, - using and/or copying this software and database, you agree that you - have read, understood, and will comply with these terms and - conditions.: - - Permission to use, copy, modify and distribute this software and - database and its documentation for any purpose and without fee or - royalty is hereby granted, provided that you agree to comply with - the following copyright notice and statements, including the - disclaimer, and that the same appear on ALL copies of the software, - database and documentation, including modifications that you make - for internal use or for distribution. - - WordNet 1.6 Copyright 1997 by Princeton University. All rights - reserved. - - THIS SOFTWARE AND DATABASE IS PROVIDED "AS IS" AND PRINCETON - UNIVERSITY MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR - IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PRINCETON - UNIVERSITY MAKES NO REPRESENTATIONS OR WARRANTIES OF MERCHANT- - ABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE - LICENSED SOFTWARE, DATABASE OR DOCUMENTATION WILL NOT INFRINGE ANY - THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - - The name of Princeton University or Princeton may not be used in - advertising or publicity pertaining to distribution of the software - and/or database. Title to copyright in this software, database and - any associated documentation shall at all times remain with - Princeton University and LICENSEE agrees to preserve same. - -The 50 level includes Brian's frequency class 1, words words appearing -in at least 5 of 12 of the dictionaries as indicated in the 12Dicts -package, and uppercase words in at least 4 of the previous 12 -dictionaries. A decent number of proper names is also included: The -top 1000 male, female, and Last names from the 1990 Census report; a -list of names sent to me by Alan Beale; and a few names that I added -myself. Finally a small list of abbreviations not commonly found in -other word lists is included. - -The name files form the Census report is a government document which I -don't think can be copyrighted. - -The name list from Alan Beale is also derived from the linux words -list, which is derived from the DEC list. He also added a bunch of -miscellaneous names to the list, which he released to the Public Domain. - -The DEC Word list doesn't have a formal name. It is labeled as "FILE: -english.words; VERSION: DEC-SRC-92-04-05" and was put together by Jorge -Stolfi <stolfi@src.dec.com> DEC Systems Research Center. The DEC Word -list has the following copyright statement: - - (NON-)COPYRIGHT STATUS - - To the best of my knowledge, all the files I used to build these - wordlists were available for public distribution and use, at least - for non-commercial purposes. I have confirmed this assumption with - the authors of the lists, whenever they were known. - - Therefore, it is safe to assume that the wordlists in this package - can also be freely copied, distributed, modified, and used for - personal, educational, and research purposes. (Use of these files in - commercial products may require written permission from DEC and/or - the authors of the original lists.) - - Whenever you distribute any of these wordlists, please distribute - also the accompanying README file. If you distribute a modified - copy of one of these wordlists, please include the original README - file with a note explaining your modifications. Your users will - surely appreciate that. - - (NO-)WARRANTY DISCLAIMER - - These files, like the original wordlists on which they are based, - are still very incomplete, uneven, and inconsitent, and probably - contain many errors. They are offered "as is" without any warranty - of correctness or fitness for any particular purpose. Neither I nor - my employer can be held responsible for any losses or damages that - may result from their use. - -However since this Word List is used in the linux.words package which -the author claims is free of any copyright I assume it is OK to use -for most purposes. If you want to use this in a commercial project -and this concerns you the information from the DEC word list can -easily be removed without much sacrifice in quality as only the name -lists were used. - -The file special-jargon.50 uses common.lst and word.lst from the -"Unofficial Jargon File Word Lists" which is derived from "The Jargon -File". All of which is in the Public Domain. This file also contain -a few extra UNIX terms which are found in the file "unix-terms" in the -special/ directory. - -The 60 level includes Brian's frequency class 0 and all words -appearing in at least 2 of the 12 dictionaries as indicated by the -12Dicts package. A large number of names are also included: The 4,946 -female names and 3,897 male names from the MWords package and the -files "computer.names", "misc.names", and "org.names" from the DEC -package. - -The 65 level includes words found in the Ispell "medium" word list. -The Ispell word lists are under the same copyright of Ispell itself -which is: - - Copyright 1993, Geoff Kuenning, Granada Hills, CA - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. All modifications to the source code must be clearly marked as - such. Binary redistributions based on modified source code - must be clearly marked as modified versions in the documentation - and/or other materials provided with the distribution. - 4. All advertising materials mentioning features or use of this software - must display the following acknowledgment: - This product includes software developed by Geoff Kuenning and - other unpaid contributors. - 5. The name of Geoff Kuenning may not be used to endorse or promote - products derived from this software without specific prior - written permission. - - THIS SOFTWARE IS PROVIDED BY GEOFF KUENNING AND CONTRIBUTORS ``AS - IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GEOFF - KUENNING OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - -The 70 level includes the 74,550 common dictionary words and the 21,986 names -list from the MWords package. The common dictionary words, like those -from the 12Dicts package, have had all likely inflections added. - -The 80 level includes the ENABLE word list, all the lists in the -ENABLE supplement package (except for ABLE), the "UK Advanced Cryptics -Dictionary" (UKACD), the list of signature words in from YAWL package, -and the 10,196 places list from the MWords package. - -The ENABLE package, mainted by M\Cooper <thegrendel@theriver.com>, -is in the Public Domain: - - The ENABLE master word list, WORD.LST, is herewith formally released - into the Public Domain. Anyone is free to use it or distribute it in - any manner they see fit. No fee or registration is required for its - use nor are "contributions" solicited (if you feel you absolutely - must contribute something for your own peace of mind, the authors of - the ENABLE list ask that you make a donation on their behalf to your - favorite charity). This word list is our gift to the Scrabble - community, as an alternate to "official" word lists. Game designers - may feel free to incorporate the WORD.LST into their games. Please - mention the source and credit us as originators of the list. Note - that if you, as a game designer, use the WORD.LST in your product, - you may still copyright and protect your product, but you may *not* - legally copyright or in any way restrict redistribution of the - WORD.LST portion of your product. This *may* under law restrict your - rights to restrict your users' rights, but that is only fair. - -UKACD, by J Ross Beresford <ross@bryson.demon.co.uk>, is under the -following copyright: - - Copyright (c) J Ross Beresford 1993-1999. All Rights Reserved. - - The following restriction is placed on the use of this publication: - if The UK Advanced Cryptics Dictionary is used in a software package - or redistributed in any form, the copyright notice must be - prominently displayed and the text of this document must be included - verbatim. - - There are no other restrictions: I would like to see the list - distributed as widely as possible. - -The 95 level includes the 354,984 single words and 256,772 compound -words from the MWords package, ABLE.LST from the ENABLE Supplement, -and some additional words found in my part-of-speech database that -were not found anywhere else. - -Accent information was taken from UKACD. - -My VARCON package was used to create the American, British, and -Canadian word list. - -Since the original word lists used used in the -VARCON package came from the Ispell distribution they are under the -Ispell copyright. - -The variant word lists were created from a list of variants found in -the 12dicts supplement package as well as a list of variants I created -myself. - --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -en_GB - -This dictionary was initially based on a subset of the -original English wordlist created by Kevin Atkinson for -Pspell and Aspell and thus is covered by his original -LGPL licence. - -It has been extensively updated by David Bartlett, Brian Kelk -and Andrew Brown: -- numerous Americanism have been removed -- numerous American spellings have been corrected -- missing words have been added -- many errors have been corrected -- compound hyphenated words have been added where appropriate - -Valuable inputs to this process were received from many other -people - far too numerous to name. Serious thanks to you all -for your greatly appreciated help. - -This word list is intended to be a good representation of -current modern British English and thus it should be a good -basis for Commonwealth English in most countries of the world -outside North America. - -The affix file has been created completely from scratch -by David Bartlett and Andrew Brown, based on the published -rules for MySpell and is also provided under the LGPL. - -In creating the affix rules an attempt has been made to -reproduce the most general rules for English word -formation, rather than merely use it as a means to -compress the size of the dictionary. It is hoped that this -will facilitate future localisation to other variants of -English. - -Please let David Bartlett <dbartlett@iee.org> know of any -errors that you find. - -The current release is R 1.14, 15/12/02 or later - --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -en_NZ - -I. Copyright -II. Copying (Licence) ----------------------------- - -I. Copyright - -NZ English Dictionary v0.9 beta - Build 06SEP03 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -NB This is an initial version, please check: -http://lingucomponent.openoffice.org/download_dictionary.html -or -http://www.girlza.com/dictionary/download.html -for a final version, after a little while (no hurry). - -This dictionary is based on the en_GB Myspell dictionary -which in turn was initially based on a subset of the -original English wordlist created by Kevin Atkinson for -Pspell and Aspell and thus is covered by his original -LGPL licence. - - -Introduction -~~~~~~~~~~~~ -en_NZ.dic has been altered to include New Zealand places, -including major cities and towns, and major suburbs. It -also contains NZ words, organisations and expressions. - -en_NZ.aff has had a few REPlace strings added, but is -basically unchanged. - - -Acknowledgements -~~~~~~~~~~~~~~~~ -Thanks must go to the original creators of the British -dictionary, David Bartlett, Brian Kelk and Andrew Brown. - -I wouldn't have started this without seeing the Australian -dictionary, thanks Kelvin Eldridge, Jean Hollis Weber and -David Wilson. - -And thank you to all who've contributed to OpenOffice.org. - - -License -~~~~~~~ -This dictionary is covered by the GNU Lesser General Public -License, viewable at http://www.gnu.org/copyleft/lesser.html - - -Issues -~~~~~~ -Many of the proper nouns already in the dictionary do not have -an affix for 's. -All my new words start after the z's of the original dictionary. - - -Contact -~~~~~~~ -Contact Tristan Burtenshaw (hooty@slingshot.co.nz) with any words, -places or other suggestions for the dictionary. - - - -II. Copying - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS +Copyright notices for specific languages are in README_??.txt. Note that the +files for different regions are merged, both to save space and to make it +possible to highlight words for another region different from bad words. diff --git a/runtime/spell/de/de_DE.diff b/runtime/spell/de/de_DE.diff new file mode 100644 index 000000000..f376dc931 --- /dev/null +++ b/runtime/spell/de/de_DE.diff @@ -0,0 +1,14 @@ +*** de_DE.orig.aff Fri Feb 25 12:50:10 2005 +--- de_DE.aff Sun Jul 3 19:04:32 2005 +*************** +*** 2,3 **** +--- 2,10 ---- + TRY esianrtolcdugmphbyfvkwäüößáéêàâñESIANRTOLCDUGMPHBYFVKWÄÜÖ ++ ++ FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ ++ LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ ++ UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ ++ ++ MIDWORD ' ++ + # diff --git a/runtime/spell/de/main.aap b/runtime/spell/de/main.aap new file mode 100644 index 000000000..dfd2a996a --- /dev/null +++ b/runtime/spell/de/main.aap @@ -0,0 +1,82 @@ +# Aap recipe for Dutch Vim spell files. + +# Use a freshly compiled Vim if it exists. +@if os.path.exists('../../../src/vim'): + VIM = ../../../src/vim +@else: + VIM = vim + +SPELLDIR = .. +FILES = de_DE.aff de_DE.dic +ZIPFILE = de_DE_comb.zip + +all: $(SPELLDIR)/de.latin1.spl $(SPELLDIR)/de.utf-8.spl ../README_de.txt + +$(SPELLDIR)/de.latin1.spl : $(VIM) $(FILES) + :sys env LANG=de_DE.ISO8859-1 + $(VIM) -e -c "mkspell! $(SPELLDIR)/de de_DE" -c q + +$(SPELLDIR)/de.utf-8.spl : $(VIM) $(FILES) + :sys env LANG=de_DE.UTF-8 + $(VIM) -e -c "mkspell! $(SPELLDIR)/de de_DE" -c q + +../README_de.txt: README_de_DE_comb.txt + :copy $source $target + +# +# Fetching the files from OpenOffice.org. +# +OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries +:attr {fetch = $(OODIR)/%file%} $(ZIPFILE) + +# The files don't depend on the .zip file so that we can delete it. +# Only download the zip file if the targets don't exist. +de_DE.aff de_DE.dic: {buildcheck=} + :assertpkg unzip patch + :fetch $(ZIPFILE) + :sys $(UNZIP) $(ZIPFILE) + :delete $(ZIPFILE) + :move de_DE_comb.aff de_DE.aff + :move de_DE_comb.dic de_DE.dic + @if not os.path.exists('de_DE.orig.aff'): + :copy de_DE.aff de_DE.orig.aff + @if not os.path.exists('de_DE.orig.dic'): + :copy de_DE.aff de_DE.orig.dic + :sys patch <de_DE.diff + + +# Generate diff files, so that others can get the OpenOffice files and apply +# the diffs to get the Vim versions. + +diff: + :assertpkg diff + :sys {force} diff -a -C 1 de_DE.orig.aff de_DE.aff >de_DE.diff + :sys {force} diff -a -C 1 de_DE.orig.dic de_DE.dic >>de_DE.diff + + +# Check for updated OpenOffice spell files. When there are changes the +# ".new.aff" and ".new.dic" files are left behind for manual inspection. + +check: + :assertpkg unzip diff + :fetch $(ZIPFILE) + :mkdir tmp + :cd tmp + @try: + @import stat + :sys $(UNZIP) ../$(ZIPFILE) + :move de_DE_comb.aff de_DE.aff + :move de_DE_comb.dic de_DE.dic + :sys {force} diff ../de_DE.orig.aff de_DE.aff >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy de_DE.aff ../de_DE.new.aff + :sys {force} diff ../de_DE.orig.dic de_DE.dic >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy de_DE.dic ../de_DE.new.dic + @finally: + :cd .. + :delete {r}{f}{q} tmp + :delete $(ZIPFILE) + + +# vim: set sts=4 sw=4 : diff --git a/runtime/spell/en.ascii.spl b/runtime/spell/en.ascii.spl Binary files differindex b59856c1f..1b51921ed 100644 --- a/runtime/spell/en.ascii.spl +++ b/runtime/spell/en.ascii.spl diff --git a/runtime/spell/en.latin1.spl b/runtime/spell/en.latin1.spl Binary files differindex 5286a4f83..b759d2f16 100644 --- a/runtime/spell/en.latin1.spl +++ b/runtime/spell/en.latin1.spl diff --git a/runtime/spell/en.utf-8.spl b/runtime/spell/en.utf-8.spl Binary files differindex cf522c755..420d3af06 100644 --- a/runtime/spell/en.utf-8.spl +++ b/runtime/spell/en.utf-8.spl diff --git a/src/spell/en_AU.diff b/runtime/spell/en/en_AU.diff index ff3c56e03..1b45c8f30 100644 --- a/src/spell/en_AU.diff +++ b/runtime/spell/en/en_AU.diff @@ -1,5 +1,5 @@ *** en_AU.orig.aff Fri Apr 15 13:20:36 2005 ---- en_AU.aff Mon Jun 27 19:42:32 2005 +--- en_AU.aff Sun Jul 3 17:11:07 2005 *************** *** 7,9 **** SET ISO8859-1 @@ -2352,7 +2352,7 @@ ! SAL ZZ- _ ! SAL Z S *** en_AU.orig.dic Fri Apr 15 13:20:36 2005 ---- en_AU.dic Mon Jun 27 09:31:13 2005 +--- en_AU.dic Sun Jul 3 17:11:07 2005 *************** *** 912,914 **** Alaska/M diff --git a/src/spell/en_CA.diff b/runtime/spell/en/en_CA.diff index 2a555dedc..0ae8ff808 100644 --- a/src/spell/en_CA.diff +++ b/runtime/spell/en/en_CA.diff @@ -1,5 +1,5 @@ *** en_CA.orig.aff Fri Apr 15 13:20:36 2005 ---- en_CA.aff Mon Jun 27 19:42:38 2005 +--- en_CA.aff Sun Jul 3 17:09:40 2005 *************** *** 3,4 **** --- 3,13 ---- @@ -169,7 +169,7 @@ + SAL ZZ- _ + SAL Z S *** en_CA.orig.dic Sat Apr 16 14:40:06 2005 ---- en_CA.dic Mon Jun 27 09:31:15 2005 +--- en_CA.dic Sun Jul 3 17:09:40 2005 *************** *** 46,48 **** R/G diff --git a/src/spell/en_GB.diff b/runtime/spell/en/en_GB.diff index fe1b7dd92..ab6e8dac2 100644 --- a/src/spell/en_GB.diff +++ b/runtime/spell/en/en_GB.diff @@ -1,26 +1,22 @@ -*** en_GB.orig.aff Fri Apr 15 13:20:36 2005 ---- en_GB.aff Mon Jun 27 19:42:42 2005 +*** en_GB.orig.aff Sun Jul 3 17:53:13 2005 +--- en_GB.aff Sun Jul 3 17:59:15 2005 *************** -*** 7,9 **** - SET ISO8859-1 -! TRY esiaénrtolcdugmphbyfvkw-'.zqjxSNRTLCGDMPHBEAUYOFIVKWöâôZQJXÅçèîêàïüäñ - REP 24 ---- 7,19 ---- - SET ISO8859-1 -! TRY esiaénrtolcdugmphbyfvkw-'.zqjxSNRTLCGDMPHBEAUYOFIVKWöâôZQJXÅçèîêàïüäñ -! -! FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ -! LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ -! UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ -! -! MIDWORD ' -! -! RAR ? -! BAD ! -! - REP 24 +*** 8,9 **** +--- 8,19 ---- + TRY esiaénrtolcdugmfphbyvkw-'.zqjxSNRTLCGDMFPHBEAUYOIVKWóöâôZQJXÅçèîêàïüäñ ++ ++ FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ ++ LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ ++ UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ ++ ++ MIDWORD ' ++ ++ RAR ? ++ BAD ! ++ + REP 27 *************** -*** 34,53 **** +*** 37,56 **** PFX A Y 2 ! PFX A 0 re [^e] ! PFX A 0 re- e @@ -41,7 +37,7 @@ PFX E Y 1 ! PFX E 0 dis . PFX F Y 5 ---- 44,63 ---- +--- 47,66 ---- PFX A Y 2 ! PFX A 0 re [^e] ! PFX A 0 re- e @@ -63,7 +59,7 @@ ! PFX E 0 dis . PFX F Y 5 *************** -*** 57,451 **** +*** 60,454 **** PFX F 0 col l ! PFX F 0 con [^abehilmopru]. PFX K Y 1 @@ -459,7 +455,7 @@ SFX T y iest [^aeiou]y ! SFX T 0 er [aeiou]y SFX T 0 est [aeiou]y ---- 67,461 ---- +--- 70,464 ---- PFX F 0 col l ! PFX F 0 con [^abehilmopru]. PFX K Y 1 @@ -856,7 +852,7 @@ ! SFX T 0 er [aeiou]y SFX T 0 est [aeiou]y *************** -*** 458,1143 **** +*** 461,1150 **** SFX R Y 72 ! SFX R 0 r e ! SFX R 0 rs e @@ -1023,7 +1019,7 @@ ! SFX p 0 ess ll ! SFX p 0 less [^l]l ! SFX p 0 less [^ly] - SFX Q Y 88 + SFX Q Y 44 ! SFX Q 0 tise a ! SFX Q e ise [^l]e ! SFX Q le ilise [^aeiou]le @@ -1068,51 +1064,52 @@ ! SFX Q y ising [^aeiou]y ! SFX Q 0 ising [aeiou]y ! SFX Q 0 ising [^aemsy] -! SFX Q 0 tize a -! SFX Q e ize [^l]e -! SFX Q le ilize [^aeiou]le -! SFX Q e ize [aeiou]le -! SFX Q um ize um -! SFX Q 0 ize [^u]m -! SFX Q s ze is -! SFX Q 0 ize [^i]s -! SFX Q y ize [^aeiou]y -! SFX Q 0 ize [aeiou]y -! SFX Q 0 ize [^aemsy] -! SFX Q 0 tizes a -! SFX Q e izes [^l]e -! SFX Q le ilizes [^aeiou]le -! SFX Q e izes [aeiou]le -! SFX Q um izes um -! SFX Q 0 izes [^u]m -! SFX Q s zes is -! SFX Q 0 izes [^i]s -! SFX Q y izes [^aeiou]y -! SFX Q 0 izes [aeiou]y -! SFX Q 0 izes [^aemsy] -! SFX Q 0 tized a -! SFX Q e ized [^l]e -! SFX Q le ilized [^aeiou]le -! SFX Q e ized [aeiou]le -! SFX Q um ized um -! SFX Q 0 ized [^u]m -! SFX Q s zed is -! SFX Q 0 ized [^i]s -! SFX Q y ized [^aeiou]y -! SFX Q 0 ized [aeiou]y -! SFX Q 0 ized [^aemsy] -! SFX Q 0 tizing a -! SFX Q e izing [^l]e -! SFX Q le ilizing [^aeiou]le -! SFX Q e izing [aeiou]le -! SFX Q um izing um -! SFX Q 0 izing [^u]m -! SFX Q s zing is -! SFX Q 0 izing [^i]s -! SFX Q y izing [^aeiou]y -! SFX Q 0 izing [aeiou]y -! SFX Q 0 izing [^aemsy] - SFX q Y 44 + SFX 8 Y 44 +! SFX 8 0 tize a +! SFX 8 e ize [^l]e +! SFX 8 le ilize [^aeiou]le +! SFX 8 e ize [aeiou]le +! SFX 8 um ize um +! SFX 8 0 ize [^u]m +! SFX 8 s ze is +! SFX 8 0 ize [^i]s +! SFX 8 y ize [^aeiou]y +! SFX 8 0 ize [aeiou]y +! SFX 8 0 ize [^aemsy] +! SFX 8 0 tizes a +! SFX 8 e izes [^l]e +! SFX 8 le ilizes [^aeiou]le +! SFX 8 e izes [aeiou]le +! SFX 8 um izes um +! SFX 8 0 izes [^u]m +! SFX 8 s zes is +! SFX 8 0 izes [^i]s +! SFX 8 y izes [^aeiou]y +! SFX 8 0 izes [aeiou]y +! SFX 8 0 izes [^aemsy] +! SFX 8 0 tized a +! SFX 8 e ized [^l]e +! SFX 8 le ilized [^aeiou]le +! SFX 8 e ized [aeiou]le +! SFX 8 um ized um +! SFX 8 0 ized [^u]m +! SFX 8 s zed is +! SFX 8 0 ized [^i]s +! SFX 8 y ized [^aeiou]y +! SFX 8 0 ized [aeiou]y +! SFX 8 0 ized [^aemsy] +! SFX 8 0 tizing a +! SFX 8 e izing [^l]e +! SFX 8 le ilizing [^aeiou]le +! SFX 8 e izing [aeiou]le +! SFX 8 um izing um +! SFX 8 0 izing [^u]m +! SFX 8 s zing is +! SFX 8 0 izing [^i]s +! SFX 8 y izing [^aeiou]y +! SFX 8 0 izing [aeiou]y +! SFX 8 0 izing [^aemsy] + SFX q Y 22 ! SFX q 0 tisation a ! SFX q e isation [^l]e ! SFX q le ilisation [^aeiou]le @@ -1135,29 +1132,30 @@ ! SFX q y isations [^aeiou]y ! SFX q 0 isations [aeiou]y ! SFX q 0 isations [^aemsy] -! SFX q 0 tization a -! SFX q e ization [^l]e -! SFX q le ilization [^aeiou]le -! SFX q e ization [aeiou]le -! SFX q um ization um -! SFX q 0 ization [^u]m -! SFX q s zation is -! SFX q 0 ization [^i]s -! SFX q y ization [^aeiou]y -! SFX q 0 ization [aeiou]y -! SFX q 0 ization [^aemsy] -! SFX q 0 tizations a -! SFX q e izations [^l]e -! SFX q le ilizations [^aeiou]le -! SFX q e izations [aeiou]le -! SFX q um izations um -! SFX q 0 izations [^u]m -! SFX q s zations is -! SFX q 0 izations [^i]s -! SFX q y izations [^aeiou]y -! SFX q 0 izations [aeiou]y -! SFX q 0 izations [^aemsy] - SFX s Y 66 + SFX - Y 22 +! SFX - 0 tization a +! SFX - e ization [^l]e +! SFX - le ilization [^aeiou]le +! SFX - e ization [aeiou]le +! SFX - um ization um +! SFX - 0 ization [^u]m +! SFX - s zation is +! SFX - 0 ization [^i]s +! SFX - y ization [^aeiou]y +! SFX - 0 ization [aeiou]y +! SFX - 0 ization [^aemsy] +! SFX - 0 tizations a +! SFX - e izations [^l]e +! SFX - le ilizations [^aeiou]le +! SFX - e izations [aeiou]le +! SFX - um izations um +! SFX - 0 izations [^u]m +! SFX - s zations is +! SFX - 0 izations [^i]s +! SFX - y izations [^aeiou]y +! SFX - 0 izations [aeiou]y +! SFX - 0 izations [^aemsy] + SFX s Y 33 ! SFX s 0 tiser a ! SFX s e iser [^l]e ! SFX s le iliser [^aeiou]le @@ -1191,40 +1189,41 @@ ! SFX s y iser's [^aeiou]y ! SFX s 0 iser's [aeiou]y ! SFX s 0 iser's [^aemsy] -! SFX s 0 tizer a -! SFX s e izer [^l]e -! SFX s le ilizer [^aeiou]le -! SFX s e izer [aeiou]le -! SFX s um izer um -! SFX s 0 izer [^u]m -! SFX s s zer is -! SFX s 0 izer [^i]s -! SFX s y izer [^aeiou]y -! SFX s 0 izer [aeiou]y -! SFX s 0 izer [^aemsy] -! SFX s 0 tizers a -! SFX s e izers [^l]e -! SFX s le ilizers [^aeiou]le -! SFX s e izers [aeiou]le -! SFX s um izers um -! SFX s 0 izers [^u]m -! SFX s s zers is -! SFX s 0 izers [^i]s -! SFX s y izers [^aeiou]y -! SFX s 0 izers [aeiou]y -! SFX s 0 izers [^aemsy] -! SFX s 0 tizer's a -! SFX s e izer's [^l]e -! SFX s le ilizer's [^aeiou]le -! SFX s e izer's [aeiou]le -! SFX s um izer's um -! SFX s 0 izer's [^u]m -! SFX s s zer's is -! SFX s 0 izer's [^i]s -! SFX s y izer's [^aeiou]y -! SFX s 0 izer's [aeiou]y -! SFX s 0 izer's [^aemsy] - SFX t Y 44 + SFX 9 Y 33 +! SFX 9 0 tizer a +! SFX 9 e izer [^l]e +! SFX 9 le ilizer [^aeiou]le +! SFX 9 e izer [aeiou]le +! SFX 9 um izer um +! SFX 9 0 izer [^u]m +! SFX 9 s zer is +! SFX 9 0 izer [^i]s +! SFX 9 y izer [^aeiou]y +! SFX 9 0 izer [aeiou]y +! SFX 9 0 izer [^aemsy] +! SFX 9 0 tizers a +! SFX 9 e izers [^l]e +! SFX 9 le ilizers [^aeiou]le +! SFX 9 e izers [aeiou]le +! SFX 9 um izers um +! SFX 9 0 izers [^u]m +! SFX 9 s zers is +! SFX 9 0 izers [^i]s +! SFX 9 y izers [^aeiou]y +! SFX 9 0 izers [aeiou]y +! SFX 9 0 izers [^aemsy] +! SFX 9 0 tizer's a +! SFX 9 e izer's [^l]e +! SFX 9 le ilizer's [^aeiou]le +! SFX 9 e izer's [aeiou]le +! SFX 9 um izer's um +! SFX 9 0 izer's [^u]m +! SFX 9 s zer's is +! SFX 9 0 izer's [^i]s +! SFX 9 y izer's [^aeiou]y +! SFX 9 0 izer's [aeiou]y +! SFX 9 0 izer's [^aemsy] + SFX t Y 22 ! SFX t 0 tisable a ! SFX t e isable [^l]e ! SFX t le ilisable [^aeiou]le @@ -1236,17 +1235,6 @@ ! SFX t y isable [^aeiou]y ! SFX t 0 isable [aeiou]y ! SFX t 0 isable [^aemsy] -! SFX t 0 tizable a -! SFX t e izable [^l]e -! SFX t le ilizable [^aeiou]le -! SFX t e izable [aeiou]le -! SFX t um izable um -! SFX t 0 izable [^u]m -! SFX t s zable is -! SFX t 0 izable [^i]s -! SFX t y izable [^aeiou]y -! SFX t 0 izable [aeiou]y -! SFX t 0 izable [^aemsy] ! SFX t 0 tisability a ! SFX t e isability [^l]e ! SFX t le ilisability [^aeiou]le @@ -1258,17 +1246,29 @@ ! SFX t y isability [^aeiou]y ! SFX t 0 isability [aeiou]y ! SFX t 0 isability [^aemsy] -! SFX t 0 tizability a -! SFX t e izability [^l]e -! SFX t le ilizability [^aeiou]le -! SFX t e izability [aeiou]le -! SFX t um izability um -! SFX t 0 izability [^u]m -! SFX t s zability is -! SFX t 0 izability [^i]s -! SFX t y izability [^aeiou]y -! SFX t 0 izability [aeiou]y -! SFX t 0 izability [^aemsy] + SFX + Y 22 +! SFX + 0 tizable a +! SFX + e izable [^l]e +! SFX + le ilizable [^aeiou]le +! SFX + e izable [aeiou]le +! SFX + um izable um +! SFX + 0 izable [^u]m +! SFX + s zable is +! SFX + 0 izable [^i]s +! SFX + y izable [^aeiou]y +! SFX + 0 izable [aeiou]y +! SFX + 0 izable [^aemsy] +! SFX + 0 tizability a +! SFX + e izability [^l]e +! SFX + le ilizability [^aeiou]le +! SFX + e izability [aeiou]le +! SFX + um izability um +! SFX + 0 izability [^u]m +! SFX + s zability is +! SFX + 0 izability [^i]s +! SFX + y izability [^aeiou]y +! SFX + 0 izability [aeiou]y +! SFX + 0 izability [^aemsy] SFX M Y 1 ! SFX M 0 's . SFX B Y 48 @@ -1467,7 +1467,7 @@ ! SFX O 0 al [^ipux]t ! SFX O 0 al [^aebcrtxmy] SFX o Y 12 -! SFZ o 0 lly a +! SFX o 0 lly a ! SFX o e ally [^bcgv]e ! SFX o e ially [bcgv]e ! SFX o 0 ially [bcrx] @@ -1543,7 +1543,7 @@ ! SFX 3 0 ist's [aeioubp]y ! SFX 3 o ist's o ! SFX 3 0 ist's [^eoy] ---- 468,1274 ---- +--- 471,1281 ---- SFX R Y 72 ! SFX R 0 r e ! SFX R 0 rs e @@ -1710,7 +1710,7 @@ ! SFX p 0 ess ll ! SFX p 0 less [^l]l ! SFX p 0 less [^ly] - SFX Q Y 88 + SFX Q Y 44 ! SFX Q 0 tise a ! SFX Q e ise [^l]e ! SFX Q le ilise [^aeiou]le @@ -1755,51 +1755,52 @@ ! SFX Q y ising [^aeiou]y ! SFX Q 0 ising [aeiou]y ! SFX Q 0 ising [^aemsy] -! SFX Q 0 tize a -! SFX Q e ize [^l]e -! SFX Q le ilize [^aeiou]le -! SFX Q e ize [aeiou]le -! SFX Q um ize um -! SFX Q 0 ize [^u]m -! SFX Q s ze is -! SFX Q 0 ize [^i]s -! SFX Q y ize [^aeiou]y -! SFX Q 0 ize [aeiou]y -! SFX Q 0 ize [^aemsy] -! SFX Q 0 tizes a -! SFX Q e izes [^l]e -! SFX Q le ilizes [^aeiou]le -! SFX Q e izes [aeiou]le -! SFX Q um izes um -! SFX Q 0 izes [^u]m -! SFX Q s zes is -! SFX Q 0 izes [^i]s -! SFX Q y izes [^aeiou]y -! SFX Q 0 izes [aeiou]y -! SFX Q 0 izes [^aemsy] -! SFX Q 0 tized a -! SFX Q e ized [^l]e -! SFX Q le ilized [^aeiou]le -! SFX Q e ized [aeiou]le -! SFX Q um ized um -! SFX Q 0 ized [^u]m -! SFX Q s zed is -! SFX Q 0 ized [^i]s -! SFX Q y ized [^aeiou]y -! SFX Q 0 ized [aeiou]y -! SFX Q 0 ized [^aemsy] -! SFX Q 0 tizing a -! SFX Q e izing [^l]e -! SFX Q le ilizing [^aeiou]le -! SFX Q e izing [aeiou]le -! SFX Q um izing um -! SFX Q 0 izing [^u]m -! SFX Q s zing is -! SFX Q 0 izing [^i]s -! SFX Q y izing [^aeiou]y -! SFX Q 0 izing [aeiou]y -! SFX Q 0 izing [^aemsy] - SFX q Y 44 + SFX 8 Y 44 +! SFX 8 0 tize a +! SFX 8 e ize [^l]e +! SFX 8 le ilize [^aeiou]le +! SFX 8 e ize [aeiou]le +! SFX 8 um ize um +! SFX 8 0 ize [^u]m +! SFX 8 s ze is +! SFX 8 0 ize [^i]s +! SFX 8 y ize [^aeiou]y +! SFX 8 0 ize [aeiou]y +! SFX 8 0 ize [^aemsy] +! SFX 8 0 tizes a +! SFX 8 e izes [^l]e +! SFX 8 le ilizes [^aeiou]le +! SFX 8 e izes [aeiou]le +! SFX 8 um izes um +! SFX 8 0 izes [^u]m +! SFX 8 s zes is +! SFX 8 0 izes [^i]s +! SFX 8 y izes [^aeiou]y +! SFX 8 0 izes [aeiou]y +! SFX 8 0 izes [^aemsy] +! SFX 8 0 tized a +! SFX 8 e ized [^l]e +! SFX 8 le ilized [^aeiou]le +! SFX 8 e ized [aeiou]le +! SFX 8 um ized um +! SFX 8 0 ized [^u]m +! SFX 8 s zed is +! SFX 8 0 ized [^i]s +! SFX 8 y ized [^aeiou]y +! SFX 8 0 ized [aeiou]y +! SFX 8 0 ized [^aemsy] +! SFX 8 0 tizing a +! SFX 8 e izing [^l]e +! SFX 8 le ilizing [^aeiou]le +! SFX 8 e izing [aeiou]le +! SFX 8 um izing um +! SFX 8 0 izing [^u]m +! SFX 8 s zing is +! SFX 8 0 izing [^i]s +! SFX 8 y izing [^aeiou]y +! SFX 8 0 izing [aeiou]y +! SFX 8 0 izing [^aemsy] + SFX q Y 22 ! SFX q 0 tisation a ! SFX q e isation [^l]e ! SFX q le ilisation [^aeiou]le @@ -1822,29 +1823,30 @@ ! SFX q y isations [^aeiou]y ! SFX q 0 isations [aeiou]y ! SFX q 0 isations [^aemsy] -! SFX q 0 tization a -! SFX q e ization [^l]e -! SFX q le ilization [^aeiou]le -! SFX q e ization [aeiou]le -! SFX q um ization um -! SFX q 0 ization [^u]m -! SFX q s zation is -! SFX q 0 ization [^i]s -! SFX q y ization [^aeiou]y -! SFX q 0 ization [aeiou]y -! SFX q 0 ization [^aemsy] -! SFX q 0 tizations a -! SFX q e izations [^l]e -! SFX q le ilizations [^aeiou]le -! SFX q e izations [aeiou]le -! SFX q um izations um -! SFX q 0 izations [^u]m -! SFX q s zations is -! SFX q 0 izations [^i]s -! SFX q y izations [^aeiou]y -! SFX q 0 izations [aeiou]y -! SFX q 0 izations [^aemsy] - SFX s Y 66 + SFX - Y 22 +! SFX - 0 tization a +! SFX - e ization [^l]e +! SFX - le ilization [^aeiou]le +! SFX - e ization [aeiou]le +! SFX - um ization um +! SFX - 0 ization [^u]m +! SFX - s zation is +! SFX - 0 ization [^i]s +! SFX - y ization [^aeiou]y +! SFX - 0 ization [aeiou]y +! SFX - 0 ization [^aemsy] +! SFX - 0 tizations a +! SFX - e izations [^l]e +! SFX - le ilizations [^aeiou]le +! SFX - e izations [aeiou]le +! SFX - um izations um +! SFX - 0 izations [^u]m +! SFX - s zations is +! SFX - 0 izations [^i]s +! SFX - y izations [^aeiou]y +! SFX - 0 izations [aeiou]y +! SFX - 0 izations [^aemsy] + SFX s Y 33 ! SFX s 0 tiser a ! SFX s e iser [^l]e ! SFX s le iliser [^aeiou]le @@ -1878,40 +1880,41 @@ ! SFX s y iser's [^aeiou]y ! SFX s 0 iser's [aeiou]y ! SFX s 0 iser's [^aemsy] -! SFX s 0 tizer a -! SFX s e izer [^l]e -! SFX s le ilizer [^aeiou]le -! SFX s e izer [aeiou]le -! SFX s um izer um -! SFX s 0 izer [^u]m -! SFX s s zer is -! SFX s 0 izer [^i]s -! SFX s y izer [^aeiou]y -! SFX s 0 izer [aeiou]y -! SFX s 0 izer [^aemsy] -! SFX s 0 tizers a -! SFX s e izers [^l]e -! SFX s le ilizers [^aeiou]le -! SFX s e izers [aeiou]le -! SFX s um izers um -! SFX s 0 izers [^u]m -! SFX s s zers is -! SFX s 0 izers [^i]s -! SFX s y izers [^aeiou]y -! SFX s 0 izers [aeiou]y -! SFX s 0 izers [^aemsy] -! SFX s 0 tizer's a -! SFX s e izer's [^l]e -! SFX s le ilizer's [^aeiou]le -! SFX s e izer's [aeiou]le -! SFX s um izer's um -! SFX s 0 izer's [^u]m -! SFX s s zer's is -! SFX s 0 izer's [^i]s -! SFX s y izer's [^aeiou]y -! SFX s 0 izer's [aeiou]y -! SFX s 0 izer's [^aemsy] - SFX t Y 44 + SFX 9 Y 33 +! SFX 9 0 tizer a +! SFX 9 e izer [^l]e +! SFX 9 le ilizer [^aeiou]le +! SFX 9 e izer [aeiou]le +! SFX 9 um izer um +! SFX 9 0 izer [^u]m +! SFX 9 s zer is +! SFX 9 0 izer [^i]s +! SFX 9 y izer [^aeiou]y +! SFX 9 0 izer [aeiou]y +! SFX 9 0 izer [^aemsy] +! SFX 9 0 tizers a +! SFX 9 e izers [^l]e +! SFX 9 le ilizers [^aeiou]le +! SFX 9 e izers [aeiou]le +! SFX 9 um izers um +! SFX 9 0 izers [^u]m +! SFX 9 s zers is +! SFX 9 0 izers [^i]s +! SFX 9 y izers [^aeiou]y +! SFX 9 0 izers [aeiou]y +! SFX 9 0 izers [^aemsy] +! SFX 9 0 tizer's a +! SFX 9 e izer's [^l]e +! SFX 9 le ilizer's [^aeiou]le +! SFX 9 e izer's [aeiou]le +! SFX 9 um izer's um +! SFX 9 0 izer's [^u]m +! SFX 9 s zer's is +! SFX 9 0 izer's [^i]s +! SFX 9 y izer's [^aeiou]y +! SFX 9 0 izer's [aeiou]y +! SFX 9 0 izer's [^aemsy] + SFX t Y 22 ! SFX t 0 tisable a ! SFX t e isable [^l]e ! SFX t le ilisable [^aeiou]le @@ -1923,17 +1926,6 @@ ! SFX t y isable [^aeiou]y ! SFX t 0 isable [aeiou]y ! SFX t 0 isable [^aemsy] -! SFX t 0 tizable a -! SFX t e izable [^l]e -! SFX t le ilizable [^aeiou]le -! SFX t e izable [aeiou]le -! SFX t um izable um -! SFX t 0 izable [^u]m -! SFX t s zable is -! SFX t 0 izable [^i]s -! SFX t y izable [^aeiou]y -! SFX t 0 izable [aeiou]y -! SFX t 0 izable [^aemsy] ! SFX t 0 tisability a ! SFX t e isability [^l]e ! SFX t le ilisability [^aeiou]le @@ -1945,17 +1937,29 @@ ! SFX t y isability [^aeiou]y ! SFX t 0 isability [aeiou]y ! SFX t 0 isability [^aemsy] -! SFX t 0 tizability a -! SFX t e izability [^l]e -! SFX t le ilizability [^aeiou]le -! SFX t e izability [aeiou]le -! SFX t um izability um -! SFX t 0 izability [^u]m -! SFX t s zability is -! SFX t 0 izability [^i]s -! SFX t y izability [^aeiou]y -! SFX t 0 izability [aeiou]y -! SFX t 0 izability [^aemsy] + SFX + Y 22 +! SFX + 0 tizable a +! SFX + e izable [^l]e +! SFX + le ilizable [^aeiou]le +! SFX + e izable [aeiou]le +! SFX + um izable um +! SFX + 0 izable [^u]m +! SFX + s zable is +! SFX + 0 izable [^i]s +! SFX + y izable [^aeiou]y +! SFX + 0 izable [aeiou]y +! SFX + 0 izable [^aemsy] +! SFX + 0 tizability a +! SFX + e izability [^l]e +! SFX + le ilizability [^aeiou]le +! SFX + e izability [aeiou]le +! SFX + um izability um +! SFX + 0 izability [^u]m +! SFX + s zability is +! SFX + 0 izability [^i]s +! SFX + y izability [^aeiou]y +! SFX + 0 izability [aeiou]y +! SFX + 0 izability [^aemsy] SFX M Y 1 ! SFX M 0 's . SFX B Y 48 @@ -2351,266 +2355,200 @@ ! SAL Y(AEIOU)- Y ! SAL ZZ- _ ! SAL Z S -*** en_GB.orig.dic Sun Apr 17 18:08:50 2005 ---- en_GB.dic Mon Jun 27 09:31:17 2005 +*** en_GB.orig.dic Sun Jul 3 18:05:07 2005 +--- en_GB.dic Sun Jul 3 18:19:25 2005 *************** -*** 187,189 **** - aitch/SM -- al/FAC - al-Jazeera ---- 187,188 ---- +*** 630,632 **** + Byrne/M +- c/nN + cab/GMDXVSN +--- 630,631 ---- *************** -*** 1795,1796 **** ---- 1794,1796 ---- - conic/S -+ conj. - conjectural +*** 2588,2590 **** + KwaZulu +- l/3 + lab/oMS +--- 2587,2588 ---- *************** -*** 2103,2105 **** - czarship -- d/o - d'art ---- 2103,2104 ---- +*** 5221,5223 **** + Ajax +- al/AFC + Alabamian/M +--- 5219,5220 ---- *************** -*** 2148,2150 **** - dazzle/DRkGJS -- dBm - DC ---- 2147,2148 ---- +*** 6256,6258 **** + czarist +- d/to + damaged/U +--- 6253,6254 ---- *************** -*** 4637,4639 **** - lass/MS -- last-minute - lasts/e ---- 4635,4636 ---- -*************** -*** 5470,5472 **** - Münchhausen/M -- n/NxnVvu - N'Djamena ---- 5467,5468 ---- -*************** -*** 5499,5501 **** - natch +*** 8168,8170 **** + Natasha/M ! nation/M - nationalises/A ---- 5495,5497 ---- - natch + navigable/P +--- 8164,8166 ---- + Natasha/M ! nation/MS - nationalises/A + navigable/P *************** -*** 6316,6317 **** ---- 6312,6314 ---- - pompom/SM -+ pompon/M - ponce/M -*************** -*** 7048,7050 **** - régime/SM -! s/ok7 - Saab/M ---- 7045,7047 ---- - régime/SM -! singly - Saab/M -*************** -*** 11148,11149 **** ---- 11145,11148 ---- - dBi -+ dBm -+ dBd - DCB +*** 9959,9961 **** + Uzbekistan/M +- v + vacation/M +--- 9955,9956 ---- *************** -*** 11591,11593 **** - dérailleur/SM +*** 11546,11548 **** + DZ - e - e'en ---- 11590,11591 ---- -*************** -*** 14591,14592 **** ---- 14589,14591 ---- - native/SP -+ natively - nativity/SM + each +--- 11541,11542 ---- *************** -*** 16172,16174 **** - RSPCA -- rte - rubati ---- 16171,16172 ---- +*** 13189,13191 **** + mythology/SQM31w +- n/NnxVvu + nacho/S +--- 13183,13184 ---- *************** -*** 17251,17253 **** - séance/SM -- t/ac - T'ang ---- 17249,17250 ---- +*** 16038,16040 **** + Catholics +! cation/MW + catnap/DMSG +--- 16031,16033 ---- + Catholics +! cation/MWS + catnap/DMSG *************** -*** 17808,17809 **** ---- 17805,17807 ---- - unsearchable -+ searchable - unshakable/Y +*** 16954,16956 **** + eyewash/SM +- f/F7 + fabricator/SM +--- 16947,16948 ---- *************** -*** 18268,18270 **** - xylophone/SM -- y/K - yachters ---- 18266,18267 ---- +*** 17874,17877 **** + lass/MS +- last-ditch +- last-minute + latchkey/SM +--- 17866,17867 ---- *************** -*** 18322,18323 **** ---- 18319,18321 ---- - émigré/S -+ nd - 3GPP +*** 22365,22367 **** + futuristic/S +- g/7 + gabbiness/S +--- 22355,22356 ---- *************** -*** 19303,19304 **** ---- 19301,19303 ---- - Brampton/M -+ Bram/M - brand/MRDGSZ +*** 22692,22694 **** + HMS +! hobbit + hobnob/DGS +--- 22681,22683 ---- + HMS +! hobbit/MS + hobnob/DGS *************** -*** 21097,21099 **** - estimative -! et - etalon ---- 21096,21099 ---- - estimative -! et cetera -! et al. - etalon +*** 23909,23911 **** + ozone/M +- p/AYFI + p.a. +--- 23898,23899 ---- *************** -*** 21228,21230 **** - Ezra -- f/37 - Faber/M ---- 21228,21229 ---- +*** 24558,24560 **** + Rt. +- rte + Ru/M +--- 24546,24547 ---- *************** -*** 22734,22736 **** - justification/M -- k/E - Kabul ---- 22733,22734 ---- +*** 25697,25699 **** + xylem/SM +- y/K + Yamaha/M +--- 25684,25685 ---- *************** -*** 23632,23633 **** ---- 23630,23632 ---- - Moog -+ Moolenaar/M - moonlight/GRDSM +*** 27778,27780 **** + gyrfalcon/MS +- h/E + habitual/YP +--- 27764,27765 ---- *************** -*** 24242,24244 **** - oxygenation/M -- p/FYAI - Pablo/M ---- 24241,24242 ---- +*** 29532,29534 **** + pyrotechny/Ww +- q + QoS +--- 29517,29518 ---- *************** -*** 27223,27225 **** - Villiers +*** 30776,30778 **** + villein/SM ! vim/M - Vinci/M ---- 27221,27223 ---- - Villiers + vindaloo/S +--- 30760,30763 ---- + villein/SM +! vim/M? ! Vim/M - Vinci/M + vindaloo/S *************** -*** 27568,27570 **** - Yvette +*** 30956,30958 **** + YWCA - z/d - Zealanders ---- 27566,27567 ---- + Zamia +--- 30941,30942 ---- *************** -*** 28174,28176 **** - Aztec/M -- b/bp - Baal/M ---- 28171,28172 ---- -*************** -*** 28890,28892 **** - Cathy -! cation/MW - catnip/SM ---- 28886,28888 ---- - Cathy -! cation/MWS - catnip/SM +*** 34732,34734 **** + quizzes +- r/sd + rabbet/SMd +--- 34716,34717 ---- *************** -*** 30587,30589 **** - fissionable/S -! fist/6GD - fit/6TRGMYJPSDj ---- 30583,30585 ---- - fissionable/S -! fist/6GDMS - fit/6TRGMYJPSDj -*************** -*** 30846,30848 **** - fuzzy/TP -- g/73 - Ga/y ---- 30842,30843 ---- -*************** -*** 31409,31411 **** - hob/MDGZS -! hobbit - Hobbs ---- 31404,31406 ---- - hob/MDGZS -! hobbit/MS - Hobbs +*** 37265,37266 **** +--- 37248,37250 ---- + dBi ++ dBd + dBW *************** -*** 32110,32112 **** - kWh -! l/F - lab/MoS ---- 32105,32107 ---- - kWh -! coll - lab/MoS +*** 37691,37693 **** + establishment/A +- et + eternity/SM +--- 37675,37676 ---- *************** -*** 32174,32176 **** - lasso/GMDS -- last-ditch - Laszlo/M ---- 32169,32170 ---- -*************** -*** 34188,34190 **** - pâté/M -- q - Qatar ---- 34182,34183 ---- +*** 39974,39976 **** + rustproof/GD +! s/ko7 + Sabine/M +--- 39957,39959 ---- + rustproof/GD +! singly + Sabine/M *************** -*** 36324,36326 **** - uttermost -- v - vacate/nDGNS ---- 36317,36318 ---- +*** 41473,41475 **** + azalea/MS +- b/pb + Baal/M +--- 41456,41457 ---- *************** -*** 37916,37918 **** - bys -- c/nN - Ca/y ---- 37908,37909 ---- +*** 43612,43614 **** + justnesses +- k/k + kabob's +--- 43594,43595 ---- *************** -*** 40468,40470 **** - Gödel/M -- h/E - ha'p'orth ---- 40459,40460 ---- +*** 45690,45692 **** + syringe/SMGD +- t/7k + Tabasco/M +--- 45671,45672 ---- *************** -*** 43275,43276 **** ---- 43265,43267 ---- - pneumonia/MS +*** 46281 **** +--- 46261,46276 ---- + Zurich/M ++ conj. ++ pompon ++ natively ++ nd ++ Bram/M ++ et al. ++ et cetera ++ Moolenaar/M + pneumonic - PO -*************** -*** 43665,43667 **** - qwerty -- r/d - Ra ---- 43656,43657 ---- -*************** -*** 46148 **** ---- 46138,46144 ---- - à + the the/! + a a/! + a an/! diff --git a/src/spell/en_NZ.diff b/runtime/spell/en/en_NZ.diff index 98c6cab06..5c9562228 100644 --- a/src/spell/en_NZ.diff +++ b/runtime/spell/en/en_NZ.diff @@ -1,5 +1,5 @@ *** en_NZ.orig.aff Fri Apr 15 13:20:36 2005 ---- en_NZ.aff Mon Jun 27 19:42:45 2005 +--- en_NZ.aff Sun Jul 3 17:11:34 2005 *************** *** 7,9 **** SET ISO8859-1 @@ -2353,7 +2353,7 @@ ! SAL ZZ- _ ! SAL Z S *** en_NZ.orig.dic Fri Apr 15 13:20:36 2005 ---- en_NZ.dic Mon Jun 27 09:31:19 2005 +--- en_NZ.dic Sun Jul 3 17:11:34 2005 *************** *** 4,6 **** 2ZB diff --git a/src/spell/en_US.diff b/runtime/spell/en/en_US.diff index b097609a9..e2321a0e4 100644 --- a/src/spell/en_US.diff +++ b/runtime/spell/en/en_US.diff @@ -1,5 +1,5 @@ *** en_US.orig.aff Fri Apr 15 13:20:36 2005 ---- en_US.aff Mon Jun 27 19:42:49 2005 +--- en_US.aff Sun Jul 3 16:59:28 2005 *************** *** 3,4 **** --- 3,13 ---- @@ -176,7 +176,7 @@ + SAL ZZ- _ + SAL Z S *** en_US.orig.dic Fri Apr 15 13:20:36 2005 ---- en_US.dic Mon Jun 27 09:31:21 2005 +--- en_US.dic Sun Jul 3 16:59:28 2005 *************** *** 5944,5946 **** bk diff --git a/runtime/spell/en/main.aap b/runtime/spell/en/main.aap new file mode 100644 index 000000000..03aae6d41 --- /dev/null +++ b/runtime/spell/en/main.aap @@ -0,0 +1,232 @@ +# Aap recipe for English Vim spell files. + +# Use a freshly compiled Vim if it exists. +@if os.path.exists('../../../src/vim'): + VIM = ../../../src/vim +@else: + VIM = vim + +SPELLDIR = .. +FILES = en_US.aff en_US.dic + en_AU.aff en_AU.dic + en_CA.aff en_CA.dic + en_GB.aff en_GB.dic + en_NZ.aff en_NZ.dic + +all: $(SPELLDIR)/en.latin1.spl $(SPELLDIR)/en.utf-8.spl \ + $(SPELLDIR)/en.ascii.spl ../README_en.txt + +$(SPELLDIR)/en.latin1.spl : $(VIM) $(FILES) + :sys env LANG=en_US.ISO8859-1 + $(VIM) -e -c "mkspell! $(SPELLDIR)/en en_US en_AU en_CA en_GB + en_NZ" -c q + +$(SPELLDIR)/en.utf-8.spl : $(VIM) $(FILES) + :sys env LANG=en_US.UTF-8 + $(VIM) -e -c "mkspell! $(SPELLDIR)/en en_US en_AU en_CA en_GB + en_NZ" -c q + +$(SPELLDIR)/en.ascii.spl : $(VIM) $(FILES) + :sys $(VIM) -e -c "mkspell! -ascii $(SPELLDIR)/en + en_US en_AU en_CA en_GB en_NZ" -c q + +../README_en.txt: README_en_US.txt README_en_AU.txt + :print en_US >!$target + :cat README_en_US.txt | :eval re.sub('\r', '', stdin) >>$target + :print =================================================== >>$target + :print en_AU: >>$target + :cat README_en_AU.txt | :eval re.sub('\r', '', stdin) >>$target + :print =================================================== >>$target + :print en_CA: >>$target + :cat README_en_CA.txt | :eval re.sub('\r', '', stdin) >>$target + :print =================================================== >>$target + :print en_GB: >>$target + :cat README_en_GB.txt | :eval re.sub('\r', '', stdin) >>$target + :print =================================================== >>$target + :print en_NZ: >>$target + :cat README_en_NZ.txt | :eval re.sub('\r', '', stdin) >>$target + +# +# Fetching the files from OpenOffice.org. +# +OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries +:attr {fetch = $(OODIR)/%file%} en_US.zip en_CA.zip en_NZ.zip + en_GB.zip en_AU.zip + +# The files don't depend on the .zip file so that we can delete it. +# Only download the zip file if the targets don't exist. +en_US.aff en_US.dic: {buildcheck=} + :assertpkg unzip patch + :fetch en_US.zip + :sys $(UNZIP) en_US.zip + :delete en_US.zip + @if not os.path.exists('en_US.orig.aff'): + :copy en_US.aff en_US.orig.aff + @if not os.path.exists('en_US.orig.dic'): + :copy en_US.aff en_US.orig.dic + :sys patch <en_US.diff + +en_AU.aff en_AU.dic: {buildcheck=} + :assertpkg unzip patch + :fetch en_AU.zip + :sys $(UNZIP) en_AU.zip + :delete en_AU.zip + @if not os.path.exists('en_AU.orig.aff'): + :copy en_AU.aff en_AU.orig.aff + @if not os.path.exists('en_AU.orig.dic'): + :copy en_AU.aff en_AU.orig.dic + :sys patch <en_AU.diff + +en_CA.aff en_CA.dic: {buildcheck=} + :assertpkg unzip patch + :fetch en_CA.zip + :sys $(UNZIP) en_CA.zip + :delete en_CA.zip + @if not os.path.exists('en_CA.orig.aff'): + :copy en_CA.aff en_CA.orig.aff + @if not os.path.exists('en_CA.orig.dic'): + :copy en_CA.aff en_CA.orig.dic + :sys patch <en_CA.diff + +en_GB.aff en_GB.dic: {buildcheck=} + :assertpkg unzip patch + :fetch en_GB.zip + :sys $(UNZIP) en_GB.zip + :delete en_GB.zip + :delete dictionary.lst.example + @if not os.path.exists('en_GB.orig.aff'): + :copy en_GB.aff en_GB.orig.aff + @if not os.path.exists('en_GB.orig.dic'): + :copy en_GB.aff en_GB.orig.dic + :sys patch <en_GB.diff + +en_NZ.aff en_NZ.dic: {buildcheck=} + :assertpkg unzip patch + :fetch en_NZ.zip + :sys $(UNZIP) en_NZ.zip + :delete en_NZ.zip + @if not os.path.exists('en_NZ.orig.aff'): + :copy en_NZ.aff en_NZ.orig.aff + @if not os.path.exists('en_NZ.orig.dic'): + :copy en_NZ.aff en_NZ.orig.dic + :sys patch <en_NZ.diff + + +# Generate diff files, so that others can get the OpenOffice files and apply +# the diffs to get the Vim versions. + +diff: + :assertpkg diff + :sys {force} diff -a -C 1 en_US.orig.aff en_US.aff >en_US.diff + :sys {force} diff -a -C 1 en_US.orig.dic en_US.dic >>en_US.diff + :sys {force} diff -a -C 1 en_AU.orig.aff en_AU.aff >en_AU.diff + :sys {force} diff -a -C 1 en_AU.orig.dic en_AU.dic >>en_AU.diff + :sys {force} diff -a -C 1 en_CA.orig.aff en_CA.aff >en_CA.diff + :sys {force} diff -a -C 1 en_CA.orig.dic en_CA.dic >>en_CA.diff + :sys {force} diff -a -C 1 en_GB.orig.aff en_GB.aff >en_GB.diff + :sys {force} diff -a -C 1 en_GB.orig.dic en_GB.dic >>en_GB.diff + :sys {force} diff -a -C 1 en_NZ.orig.aff en_NZ.aff >en_NZ.diff + :sys {force} diff -a -C 1 en_NZ.orig.dic en_NZ.dic >>en_NZ.diff + + +# Check for updated OpenOffice spell files. When there are changes the +# ".new.aff" and ".new.dic" files are left behind for manual inspection. + +check: check-us check-au check-ca check-gb check-nz + +check-us: + :assertpkg unzip diff + :fetch en_US.zip + :mkdir tmp + :cd tmp + @try: + @import stat + :sys $(UNZIP) ../en_US.zip + :sys {force} diff ../en_US.orig.aff en_US.aff >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy en_US.aff ../en_US.new.aff + :sys {force} diff ../en_US.orig.dic en_US.dic >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy en_US.dic ../en_US.new.dic + @finally: + :cd .. + :delete {r}{f}{q} tmp + :delete en_US.zip + +check-au: + :assertpkg unzip diff + :fetch en_AU.zip + :mkdir tmp + :cd tmp + @try: + @import stat + :sys $(UNZIP) ../en_AU.zip + :sys {force} diff ../en_AU.orig.aff en_AU.aff >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy en_AU.aff ../en_AU.new.aff + :sys {force} diff ../en_AU.orig.dic en_AU.dic >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy en_AU.dic ../en_AU.new.dic + @finally: + :cd .. + :delete {r}{f}{q} tmp + :delete en_AU.zip + +check-ca: + :assertpkg unzip diff + :fetch en_CA.zip + :mkdir tmp + :cd tmp + @try: + @import stat + :sys $(UNZIP) ../en_CA.zip + :sys {force} diff ../en_CA.orig.aff en_CA.aff >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy en_CA.aff ../en_CA.new.aff + :sys {force} diff ../en_CA.orig.dic en_CA.dic >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy en_CA.dic ../en_CA.new.dic + @finally: + :cd .. + :delete {r}{f}{q} tmp + :delete en_CA.zip + +check-gb: + :assertpkg unzip diff + :fetch en_GB.zip + :mkdir tmp + :cd tmp + @try: + @import stat + :sys $(UNZIP) ../en_GB.zip + :sys {force} diff ../en_GB.orig.aff en_GB.aff >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy en_GB.aff ../en_GB.new.aff + :sys {force} diff ../en_GB.orig.dic en_GB.dic >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy en_GB.dic ../en_GB.new.dic + @finally: + :cd .. + :delete {r}{f}{q} tmp + :delete en_GB.zip + +check-nz: + :assertpkg unzip diff + :fetch en_NZ.zip + :mkdir tmp + :cd tmp + @try: + @import stat + :sys $(UNZIP) ../en_NZ.zip + :sys {force} diff ../en_NZ.orig.aff en_NZ.aff >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy en_NZ.aff ../en_NZ.new.aff + :sys {force} diff ../en_NZ.orig.dic en_NZ.dic >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy en_NZ.dic ../en_NZ.new.dic + @finally: + :cd .. + :delete {r}{f}{q} tmp + :delete en_NZ.zip + +# vim: set sts=4 sw=4 : diff --git a/src/spell/fr_FR.diff b/runtime/spell/fr/fr_FR.diff index b00f3b7a4..b00f3b7a4 100644 --- a/src/spell/fr_FR.diff +++ b/runtime/spell/fr/fr_FR.diff diff --git a/runtime/spell/fr/main.aap b/runtime/spell/fr/main.aap new file mode 100644 index 000000000..e7f142771 --- /dev/null +++ b/runtime/spell/fr/main.aap @@ -0,0 +1,77 @@ +# Aap recipe for Dutch Vim spell files. + +# Use a freshly compiled Vim if it exists. +@if os.path.exists('../../../src/vim'): + VIM = ../../../src/vim +@else: + VIM = vim + +SPELLDIR = .. +FILES = fr_FR.aff fr_FR.dic + +all: $(SPELLDIR)/fr.latin1.spl $(SPELLDIR)/fr.utf-8.spl ../README_fr.txt + +$(SPELLDIR)/fr.latin1.spl : $(VIM) $(FILES) + :sys env LANG=fr_FR.ISO8859-1 + $(VIM) -e -c "mkspell! $(SPELLDIR)/fr fr_FR" -c q + +$(SPELLDIR)/fr.utf-8.spl : $(VIM) $(FILES) + :sys env LANG=fr_FR.UTF-8 + $(VIM) -e -c "mkspell! $(SPELLDIR)/fr fr_FR" -c q + +../README_fr.txt : lisez-moi.txt + :copy $source $target + +# +# Fetching the files from OpenOffice.org. +# +OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries +:attr {fetch = $(OODIR)/%file%} fr_FR.zip + +# The files don't depend on the .zip file so that we can delete it. +# Only download the zip file if the targets don't exist. +fr_FR.aff fr_FR.dic: {buildcheck=} + :assertpkg unzip patch + :fetch fr_FR.zip + :sys $(UNZIP) fr_FR.zip + :delete fr_FR.zip + @if not os.path.exists('fr_FR.orig.aff'): + :copy fr_FR.aff fr_FR.orig.aff + @if not os.path.exists('fr_FR.orig.dic'): + :copy fr_FR.aff fr_FR.orig.dic + :sys patch <fr_FR.diff + + +# Generate diff files, so that others can get the OpenOffice files and apply +# the diffs to get the Vim versions. + +diff: + :assertpkg diff + :sys {force} diff -a -C 1 fr_FR.orig.aff fr_FR.aff >fr_FR.diff + :sys {force} diff -a -C 1 fr_FR.orig.dic fr_FR.dic >>fr_FR.diff + + +# Check for updated OpenOffice spell files. When there are changes the +# ".new.aff" and ".new.dic" files are left behind for manual inspection. + +check: + :assertpkg unzip diff + :fetch fr_FR.zip + :mkdir tmp + :cd tmp + @try: + @import stat + :sys $(UNZIP) ../fr_FR.zip + :sys {force} diff ../fr_FR.orig.aff fr_FR.aff >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy fr_FR.aff ../fr_FR.new.aff + :sys {force} diff ../fr_FR.orig.dic fr_FR.dic >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy fr_FR.dic ../fr_FR.new.dic + @finally: + :cd .. + :delete {r}{f}{q} tmp + :delete fr_FR.zip + + +# vim: set sts=4 sw=4 : diff --git a/src/spell/he_IL.diff b/runtime/spell/he/he_IL.diff index 2947c2882..2947c2882 100644 --- a/src/spell/he_IL.diff +++ b/runtime/spell/he/he_IL.diff diff --git a/runtime/spell/he/main.aap b/runtime/spell/he/main.aap new file mode 100644 index 000000000..413c5e2c3 --- /dev/null +++ b/runtime/spell/he/main.aap @@ -0,0 +1,73 @@ +# Aap recipe for Dutch Vim spell files. + +# Use a freshly compiled Vim if it exists. +@if os.path.exists('../../../src/vim'): + VIM = ../../../src/vim +@else: + VIM = vim + +SPELLDIR = .. +FILES = he_IL.aff he_IL.dic + +all: $(SPELLDIR)/he.utf-8.spl ../README_he.txt + +$(SPELLDIR)/he.utf-8.spl : $(VIM) $(FILES) + :sys env LANG=he_IL.UTF-8 + $(VIM) -e -c "mkspell! $(SPELLDIR)/he he_IL" -c q + +../README_he.txt : README_he_IL.txt + :copy $source $target + +# +# Fetching the files from OpenOffice.org. +# +OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries +:attr {fetch = $(OODIR)/%file%} he_IL.zip + +# The files don't depend on the .zip file so that we can delete it. +# Only download the zip file if the targets don't exist. +he_IL.aff he_IL.dic: {buildcheck=} + :assertpkg unzip patch + :fetch he_IL.zip + :sys $(UNZIP) he_IL.zip + :delete he_IL.zip + @if not os.path.exists('he_IL.orig.aff'): + :copy he_IL.aff he_IL.orig.aff + @if not os.path.exists('he_IL.orig.dic'): + :copy he_IL.aff he_IL.orig.dic + :sys patch <he_IL.diff + + +# Generate diff files, so that others can get the OpenOffice files and apply +# the diffs to get the Vim versions. + +diff: + :assertpkg diff + :sys {force} diff -a -C 1 he_IL.orig.aff he_IL.aff >he_IL.diff + :sys {force} diff -a -C 1 he_IL.orig.dic he_IL.dic >>he_IL.diff + + +# Check for updated OpenOffice spell files. When there are changes the +# ".new.aff" and ".new.dic" files are left behind for manual inspection. + +check: + :assertpkg unzip diff + :fetch he_IL.zip + :mkdir tmp + :cd tmp + @try: + @import stat + :sys $(UNZIP) ../he_IL.zip + :sys {force} diff ../he_IL.orig.aff he_IL.aff >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy he_IL.aff ../he_IL.new.aff + :sys {force} diff ../he_IL.orig.dic he_IL.dic >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy he_IL.dic ../he_IL.new.dic + @finally: + :cd .. + :delete {r}{f}{q} tmp + :delete he_IL.zip + + +# vim: set sts=4 sw=4 : diff --git a/runtime/spell/main.aap b/runtime/spell/main.aap new file mode 100644 index 000000000..ded1bc098 --- /dev/null +++ b/runtime/spell/main.aap @@ -0,0 +1,6 @@ +:child de/main.aap +:child en/main.aap +:child fr/main.aap +:child he/main.aap +:child nl/main.aap +:child pl/main.aap diff --git a/runtime/spell/nl/main.aap b/runtime/spell/nl/main.aap new file mode 100644 index 000000000..80e5f7480 --- /dev/null +++ b/runtime/spell/nl/main.aap @@ -0,0 +1,77 @@ +# Aap recipe for Dutch Vim spell files. + +# Use a freshly compiled Vim if it exists. +@if os.path.exists('../../../src/vim'): + VIM = ../../../src/vim +@else: + VIM = vim + +SPELLDIR = .. +FILES = nl_NL.aff nl_NL.dic + +all: $(SPELLDIR)/nl.latin1.spl $(SPELLDIR)/nl.utf-8.spl ../README_nl.txt + +$(SPELLDIR)/nl.latin1.spl : $(VIM) $(FILES) + :sys env LANG=nl_NL.ISO8859-1 + $(VIM) -e -c "mkspell! $(SPELLDIR)/nl nl_NL" -c q + +$(SPELLDIR)/nl.utf-8.spl : $(VIM) $(FILES) + :sys env LANG=nl_NL.UTF-8 + $(VIM) -e -c "mkspell! $(SPELLDIR)/nl nl_NL" -c q + +../README_nl.txt : README_nl_NL.txt + :copy $source $target + +# +# Fetching the files from OpenOffice.org. +# +OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries +:attr {fetch = $(OODIR)/%file%} nl_NL.zip + +# The files don't depend on the .zip file so that we can delete it. +# Only download the zip file if the targets don't exist. +nl_NL.aff nl_NL.dic: {buildcheck=} + :assertpkg unzip patch + :fetch nl_NL.zip + :sys $(UNZIP) nl_NL.zip + :delete nl_NL.zip + @if not os.path.exists('nl_NL.orig.aff'): + :copy nl_NL.aff nl_NL.orig.aff + @if not os.path.exists('nl_NL.orig.dic'): + :copy nl_NL.aff nl_NL.orig.dic + :sys patch <nl_NL.diff + + +# Generate diff files, so that others can get the OpenOffice files and apply +# the diffs to get the Vim versions. + +diff: + :assertpkg diff + :sys {force} diff -a -C 1 nl_NL.orig.aff nl_NL.aff >nl_NL.diff + :sys {force} diff -a -C 1 nl_NL.orig.dic nl_NL.dic >>nl_NL.diff + + +# Check for updated OpenOffice spell files. When there are changes the +# ".new.aff" and ".new.dic" files are left behind for manual inspection. + +check: + :assertpkg unzip diff + :fetch nl_NL.zip + :mkdir tmp + :cd tmp + @try: + @import stat + :sys $(UNZIP) ../nl_NL.zip + :sys {force} diff ../nl_NL.orig.aff nl_NL.aff >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy nl_NL.aff ../nl_NL.new.aff + :sys {force} diff ../nl_NL.orig.dic nl_NL.dic >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy nl_NL.dic ../nl_NL.new.dic + @finally: + :cd .. + :delete {r}{f}{q} tmp + :delete nl_NL.zip + + +# vim: set sts=4 sw=4 : diff --git a/src/spell/nl_NL.diff b/runtime/spell/nl/nl_NL.diff index 070dd9148..070dd9148 100644 --- a/src/spell/nl_NL.diff +++ b/runtime/spell/nl/nl_NL.diff diff --git a/runtime/spell/pl/main.aap b/runtime/spell/pl/main.aap new file mode 100644 index 000000000..b28477d02 --- /dev/null +++ b/runtime/spell/pl/main.aap @@ -0,0 +1,75 @@ +# Aap recipe for Dutch Vim spell files. + +# Use a freshly compiled Vim if it exists. +@if os.path.exists('../../../src/vim'): + VIM = ../../../src/vim +@else: + VIM = vim + +SPELLDIR = .. +FILES = pl_PL.aff pl_PL.dic + +all: $(SPELLDIR)/pl.iso-8859-2.spl $(SPELLDIR)/pl.utf-8.spl ../README_pl.txt + +$(SPELLDIR)/pl.iso-8859-2.spl : $(VIM) $(FILES) + :sys env LANG=pl_PL.ISO8859-2 $(VIM) -e -c "mkspell! $(SPELLDIR)/pl pl_PL" -c q + +$(SPELLDIR)/pl.utf-8.spl : $(VIM) $(FILES) + :sys env LANG=pl_PL.UTF-8 $(VIM) -e -c "mkspell! $(SPELLDIR)/pl pl_PL" -c q + +../README_pl.txt: README_pl_PL.txt + :copy $source $target + +# +# Fetching the files from OpenOffice.org. +# +OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries +:attr {fetch = $(OODIR)/%file%} pl_PL.zip + +# The files don't depend on the .zip file so that we can delete it. +# Only download the zip file if the targets don't exist. +pl_PL.aff pl_PL.dic: {buildcheck=} + :assertpkg unzip patch + :fetch pl_PL.zip + :sys $(UNZIP) pl_PL.zip + :delete pl_PL.zip + @if not os.path.exists('pl_PL.orig.aff'): + :copy pl_PL.aff pl_PL.orig.aff + @if not os.path.exists('pl_PL.orig.dic'): + :copy pl_PL.aff pl_PL.orig.dic + :sys patch <pl_PL.diff + + +# Generate diff files, so that others can get the OpenOffice files and apply +# the diffs to get the Vim versions. + +diff: + :assertpkg diff + :sys {force} diff -a -C 1 pl_PL.orig.aff pl_PL.aff >pl_PL.diff + :sys {force} diff -a -C 1 pl_PL.orig.dic pl_PL.dic >>pl_PL.diff + + +# Check for updated OpenOffice spell files. When there are changes the +# ".new.aff" and ".new.dic" files are left behind for manual inspection. + +check: + :assertpkg unzip diff + :fetch pl_PL.zip + :mkdir tmp + :cd tmp + @try: + @import stat + :sys $(UNZIP) ../pl_PL.zip + :sys {force} diff ../pl_PL.orig.aff pl_PL.aff >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy pl_PL.aff ../pl_PL.new.aff + :sys {force} diff ../pl_PL.orig.dic pl_PL.dic >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy pl_PL.dic ../pl_PL.new.dic + @finally: + :cd .. + :delete {r}{f}{q} tmp + :delete pl_PL.zip + + +# vim: set sts=4 sw=4 : diff --git a/src/spell/pl_PL.diff b/runtime/spell/pl/pl_PL.diff index 562d59a58..562d59a58 100644 --- a/src/spell/pl_PL.diff +++ b/runtime/spell/pl/pl_PL.diff diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak index 757aa7380..e74019fce 100644 --- a/src/Make_mvc.mak +++ b/src/Make_mvc.mak @@ -679,16 +679,16 @@ LINKARGS2 = $(CON_LIB) $(GUI_LIB) $(LIBC) $(OLE_LIB) user32.lib $(SNIFF_LIB) \ $(MZSCHEME_LIB) $(PERL_LIB) $(PYTHON_LIB) $(RUBY_LIB) $(TCL_LIB) \ $(NETBEANS_LIB) $(XPM_LIB) $(LINK_PDB) -all: $(VIM) vimrun.exe install.exe uninstal.exe xxd/xxd.exe GvimExt/gvimext.dll +all: $(VIM).exe vimrun.exe install.exe uninstal.exe xxd/xxd.exe GvimExt/gvimext.dll -$(VIM): $(OUTDIR) $(OBJ) $(GUI_OBJ) $(OLE_OBJ) $(OLE_IDL) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(RUBY_OBJ) $(TCL_OBJ) $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(XPM_OBJ) version.c version.h +$(VIM).exe: $(OUTDIR) $(OBJ) $(GUI_OBJ) $(OLE_OBJ) $(OLE_IDL) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(RUBY_OBJ) $(TCL_OBJ) $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(XPM_OBJ) version.c version.h $(CC) $(CFLAGS) version.c /Fo$(OUTDIR)/version.obj $(PDB) - $(link) $(LINKARGS1) -out:$*.exe $(OBJ) $(GUI_OBJ) $(OLE_OBJ) \ + $(link) $(LINKARGS1) -out:$* $(OBJ) $(GUI_OBJ) $(OLE_OBJ) \ $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(RUBY_OBJ) $(TCL_OBJ) $(SNIFF_OBJ) \ $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(XPM_OBJ) \ $(OUTDIR)\version.obj $(LINKARGS2) -$(VIM).exe: $(VIM) +$(VIM): $(VIM).exe $(OUTDIR): if not exist $(OUTDIR)/nul mkdir $(OUTDIR) @@ -907,11 +907,11 @@ $(OUTDIR)/xpm_w32.obj: $(OUTDIR) xpm_w32.c $(OUTDIR)/vim.res: $(OUTDIR) vim.rc version.h tools.bmp tearoff.bmp vim.ico vim_error.ico vim_alert.ico vim_info.ico vim_quest.ico $(RC) /l 0x409 /Fo$(OUTDIR)/vim.res $(RCFLAGS) vim.rc -iid_ole.c if_ole.h vim.tlb: if_ole.idl $(INTDIR) $(OUTDIR) - midl /nologo /proxy nul /iid iid_ole.c /tlb vim.tlb /header if_ole.h if_ole.idl +iid_ole.c if_ole.h vim.tlb: if_ole.idl + midl /nologo /error none /proxy nul /iid iid_ole.c /tlb vim.tlb /header if_ole.h if_ole.idl dimm.h dimm_i.c: dimm.idl - midl /nologo /proxy nul dimm.idl + midl /nologo /error none /proxy nul dimm.idl $(OUTDIR)/dimm_i.obj: $(OUTDIR) dimm_i.c $(INCL) diff --git a/src/eval.c b/src/eval.c index af2c73d7f..c1762265f 100644 --- a/src/eval.c +++ b/src/eval.c @@ -375,7 +375,6 @@ static long list_len __ARGS((list_T *l)); static int list_equal __ARGS((list_T *l1, list_T *l2, int ic)); static int dict_equal __ARGS((dict_T *d1, dict_T *d2, int ic)); static int tv_equal __ARGS((typval_T *tv1, typval_T *tv2, int ic)); -static int string_isa_number __ARGS((char_u *s)); static listitem_T *list_find __ARGS((list_T *l, long n)); static long list_idx_of_item __ARGS((list_T *l, listitem_T *item)); static void list_append __ARGS((list_T *l, listitem_T *item)); @@ -5179,7 +5178,8 @@ dict_equal(d1, d2, ic) /* * Return TRUE if "tv1" and "tv2" have the same value. - * Compares the items just like "==" would compare them. + * Compares the items just like "==" would compare them, but strings and + * numbers are different. */ static int tv_equal(tv1, tv2, ic) @@ -5190,61 +5190,35 @@ tv_equal(tv1, tv2, ic) char_u buf1[NUMBUFLEN], buf2[NUMBUFLEN]; char_u *s1, *s2; - if (tv1->v_type == VAR_LIST || tv2->v_type == VAR_LIST) - { - /* recursive! */ - if (tv1->v_type != tv2->v_type - || !list_equal(tv1->vval.v_list, tv2->vval.v_list, ic)) - return FALSE; - } - else if (tv1->v_type == VAR_DICT || tv2->v_type == VAR_DICT) - { - /* recursive! */ - if (tv1->v_type != tv2->v_type - || !dict_equal(tv1->vval.v_dict, tv2->vval.v_dict, ic)) - return FALSE; - } - else if (tv1->v_type == VAR_FUNC || tv2->v_type == VAR_FUNC) - { - if (tv1->v_type != tv2->v_type - || tv1->vval.v_string == NULL - || tv2->vval.v_string == NULL - || STRCMP(tv1->vval.v_string, tv2->vval.v_string) != 0) - return FALSE; - } - else if (tv1->v_type == VAR_NUMBER || tv2->v_type == VAR_NUMBER) - { - /* "4" is equal to 4. But don't consider 'a' and zero to be equal. - * Don't consider "4x" to be equal to 4. */ - if ((tv1->v_type == VAR_STRING - && !string_isa_number(tv1->vval.v_string)) - || (tv2->v_type == VAR_STRING - && !string_isa_number(tv2->vval.v_string))) - return FALSE; - if (get_tv_number(tv1) != get_tv_number(tv2)) - return FALSE; - } - else + if (tv1->v_type != tv2->v_type) + return FALSE; + + switch (tv1->v_type) { - s1 = get_tv_string_buf(tv1, buf1); - s2 = get_tv_string_buf(tv2, buf2); - if ((ic ? MB_STRICMP(s1, s2) : STRCMP(s1, s2)) != 0) - return FALSE; - } - return TRUE; -} + case VAR_LIST: + /* recursive! */ + return list_equal(tv1->vval.v_list, tv2->vval.v_list, ic); -/* - * Return TRUE if "tv" is a number without other non-white characters. - */ - static int -string_isa_number(s) - char_u *s; -{ - int len; + case VAR_DICT: + /* recursive! */ + return dict_equal(tv1->vval.v_dict, tv2->vval.v_dict, ic); + + case VAR_FUNC: + return (tv1->vval.v_string != NULL + && tv2->vval.v_string != NULL + && STRCMP(tv1->vval.v_string, tv2->vval.v_string) == 0); + + case VAR_NUMBER: + return tv1->vval.v_number == tv2->vval.v_number; - vim_str2nr(s, NULL, &len, TRUE, TRUE, NULL, NULL); - return len > 0 && *skipwhite(s + len) == NUL; + case VAR_STRING: + s1 = get_tv_string_buf(tv1, buf1); + s2 = get_tv_string_buf(tv2, buf2); + return ((ic ? MB_STRICMP(s1, s2) : STRCMP(s1, s2)) == 0); + } + + EMSG2(_(e_intern2), "tv_equal()"); + return TRUE; } /* diff --git a/src/farsi.c b/src/farsi.c index f74447f76..f325b32e0 100644 --- a/src/farsi.c +++ b/src/farsi.c @@ -1939,7 +1939,7 @@ lrFswap(cmdbuf, len) } /* - * Reverse the characters in the seach path and substitude section accordingly + * Reverse the characters in the search path and substitute section accordingly */ char_u * lrF_sub(ibuf) @@ -1950,8 +1950,8 @@ lrF_sub(ibuf) p = ibuf; - /* Find the boundry of the search path */ - while (((p = vim_strchr(++p, '/')) != NULL) && p[-1] == '\\') + /* Find the boundary of the search path */ + while (++p, ((p = vim_strchr(p, '/')) != NULL) && p[-1] == '\\') ; if (p == NULL) @@ -1960,7 +1960,7 @@ lrF_sub(ibuf) /* Reverse the Farsi characters in the search path. */ lrFswap(ibuf, (int)(p-ibuf)); - /* Now find the boundry of the substitute section */ + /* Now find the boundary of the substitute section */ if ((ep = (char_u *)strrchr((char *)++p, '/')) != NULL) cnt = (int)(ep - p); else diff --git a/src/if_ole.cpp b/src/if_ole.cpp index de6faad07..544ea16fb 100644 --- a/src/if_ole.cpp +++ b/src/if_ole.cpp @@ -651,7 +651,7 @@ static void RecursiveDeleteKey(HKEY hKeyParent, const char *child) } // Create a key and set its value -static void SetKeyAndValue(const char *key, const char subkey, const char *value) +static void SetKeyAndValue(const char *key, const char *subkey, const char *value) { HKEY hKey; char buffer[1024]; diff --git a/src/spell.c b/src/spell.c index f8b846033..015a7108b 100644 --- a/src/spell.c +++ b/src/spell.c @@ -607,7 +607,7 @@ static int set_spell_charflags __ARGS((char_u *flags, char_u *upp)); static int set_spell_chartab __ARGS((char_u *fol, char_u *low, char_u *upp)); static void write_spell_chartab __ARGS((FILE *fd)); static int spell_casefold __ARGS((char_u *p, int len, char_u *buf, int buflen)); -static void spell_find_suggest __ARGS((char_u *badptr, suginfo_T *su, int maxcount, int banbadword)); +static void spell_find_suggest __ARGS((char_u *badptr, suginfo_T *su, int maxcount, int banbadword, int need_cap)); #ifdef FEAT_EVAL static void spell_suggest_expr __ARGS((suginfo_T *su, char_u *expr)); #endif @@ -5952,6 +5952,10 @@ spell_suggest() suginfo_T sug; suggest_T *stp; int mouse_used; + int need_cap; + regmatch_T regmatch; + int endcol; + char_u *line_copy = NULL; /* Find the start of the badly spelled word. */ if (spell_move_to(FORWARD, TRUE, TRUE) == FAIL @@ -5983,8 +5987,62 @@ spell_suggest() /* Get the word and its length. */ line = ml_get_curline(); + /* Figure out if the word should be capitalised. */ + need_cap = FALSE; + if (curbuf->b_cap_prog != NULL) + { + endcol = 0; + if (skipwhite(line) - line == curwin->w_cursor.col) + { + /* At start of line, check if previous line is empty or sentence + * ends there. */ + if (curwin->w_cursor.lnum == 1) + need_cap = TRUE; + else + { + line = ml_get(curwin->w_cursor.lnum - 1); + if (*skipwhite(line) == NUL) + need_cap = TRUE; + else + { + /* Append a space in place of the line break. */ + line_copy = concat_str(line, (char_u *)" "); + line = line_copy; + endcol = STRLEN(line); + } + } + } + else + endcol = curwin->w_cursor.col; + + if (endcol > 0) + { + /* Check if sentence ends before the bad word. */ + regmatch.regprog = curbuf->b_cap_prog; + regmatch.rm_ic = FALSE; + p = line + endcol; + for (;;) + { + mb_ptr_back(line, p); + if (p == line || SPELL_ISWORDP(p)) + break; + if (vim_regexec(®match, p, 0) + && regmatch.endp[0] == line + endcol) + { + need_cap = TRUE; + break; + } + } + } + + /* get the line again, we may have been using the previous one */ + line = ml_get_curline(); + vim_free(line_copy); + } + /* Get the list of suggestions */ - spell_find_suggest(line + curwin->w_cursor.col, &sug, (int)Rows - 2, TRUE); + spell_find_suggest(line + curwin->w_cursor.col, &sug, (int)Rows - 2, + TRUE, need_cap); if (sug.su_ga.ga_len == 0) MSG(_("Sorry, no suggestions")); @@ -6159,7 +6217,7 @@ spell_suggest_list(gap, word, maxcount) suggest_T *stp; char_u *wcopy; - spell_find_suggest(word, &sug, maxcount, FALSE); + spell_find_suggest(word, &sug, maxcount, FALSE, FALSE); /* Make room in "gap". */ ga_init2(gap, sizeof(char_u *), sug.su_ga.ga_len + 1); @@ -6192,11 +6250,12 @@ spell_suggest_list(gap, word, maxcount) * This is based on the mechanisms of Aspell, but completely reimplemented. */ static void -spell_find_suggest(badptr, su, maxcount, banbadword) +spell_find_suggest(badptr, su, maxcount, banbadword, need_cap) 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 attr = 0; char_u buf[MAXPATHL]; @@ -6230,6 +6289,8 @@ spell_find_suggest(badptr, su, maxcount, banbadword) su->su_fbadword, MAXWLEN); /* get caps flags for bad word */ su->su_badflags = captype(su->su_badptr, su->su_badptr + su->su_badlen); + if (need_cap) + su->su_badflags |= WF_ONECAP; /* If the word is not capitalised and spell_check() doesn't consider the * word to be bad then it might need to be capitalised. Add a suggestion @@ -6237,7 +6298,7 @@ spell_find_suggest(badptr, su, maxcount, banbadword) #ifdef FEAT_MBYTE c = mb_ptr2char(su->su_badptr); #else - c = *p; + c = *su->su_badptr; #endif if (!SPELL_ISUPPER(c) && attr == 0) { @@ -7972,6 +8033,7 @@ suggest_try_soundalike(su) char_u *p; int score; + flags |= su->su_badflags; if (round == 1 && (flags & WF_CAPMASK) != 0) { /* Need to fix case according to diff --git a/src/spell/Makefile b/src/spell/Makefile deleted file mode 100644 index 838e603ab..000000000 --- a/src/spell/Makefile +++ /dev/null @@ -1,117 +0,0 @@ -# Makefile for Vim spell files. - -SPELLDIR = ../../runtime/spell -VIM = ../vim - -all: en pl nl de fr - -en: $(SPELLDIR)/en.latin1.spl \ - $(SPELLDIR)/en.utf-8.spl \ - $(SPELLDIR)/en.ascii.spl - -pl: $(SPELLDIR)/pl.iso-8859-2.spl \ - $(SPELLDIR)/pl.utf-8.spl - -nl: $(SPELLDIR)/nl.latin1.spl \ - $(SPELLDIR)/nl.utf-8.spl - -de: $(SPELLDIR)/de.latin1.spl \ - $(SPELLDIR)/de.utf-8.spl - -fr: $(SPELLDIR)/fr.latin1.spl \ - $(SPELLDIR)/fr.utf-8.spl - -he: $(SPELLDIR)/he.utf-8.spl - -diff: - -diff -a -C 1 en_US.orig.aff en_US.aff >en_US.diff - -diff -a -C 1 en_US.orig.dic en_US.dic >>en_US.diff - -diff -a -C 1 en_AU.orig.aff en_AU.aff >en_AU.diff - -diff -a -C 1 en_AU.orig.dic en_AU.dic >>en_AU.diff - -diff -a -C 1 en_CA.orig.aff en_CA.aff >en_CA.diff - -diff -a -C 1 en_CA.orig.dic en_CA.dic >>en_CA.diff - -diff -a -C 1 en_GB.orig.aff en_GB.aff >en_GB.diff - -diff -a -C 1 en_GB.orig.dic en_GB.dic >>en_GB.diff - -diff -a -C 1 en_NZ.orig.aff en_NZ.aff >en_NZ.diff - -diff -a -C 1 en_NZ.orig.dic en_NZ.dic >>en_NZ.diff - - -diff -a -C 1 nl_NL.orig.aff nl_NL.aff >nl_NL.diff - -diff -a -C 1 nl_NL.orig.dic nl_NL.dic >>nl_NL.diff - - -diff -a -C 1 pl_PL.orig.aff pl_PL.aff >pl_PL.diff - -diff -a -C 1 pl_PL.orig.dic pl_PL.dic >>pl_PL.diff - - -diff -a -C 1 de_DE.orig.aff de_DE.aff >de_DE.diff - -diff -a -C 1 de_DE.orig.dic de_DE.dic >>de_DE.diff - - -diff -a -C 1 fr_FR.orig.aff fr_FR.aff >fr_FR.diff - -diff -a -C 1 fr_FR.orig.dic fr_FR.dic >>fr_FR.diff - - -diff -a -C 1 he_IL.orig.aff he_IL.aff >he_IL.diff - -diff -a -C 1 he_IL.orig.dic he_IL.dic >>he_IL.diff - -$(SPELLDIR)/en.latin1.spl : $(VIM) \ - en_US.aff en_US.dic \ - en_AU.aff en_AU.dic \ - en_CA.aff en_CA.dic \ - en_GB.aff en_GB.dic \ - en_NZ.aff en_NZ.dic - env LANG=en_US.ISO8859-1 \ - $(VIM) -e -c "mkspell! $(SPELLDIR)/en en_US en_AU en_CA en_GB \ - en_NZ" -c q - -$(SPELLDIR)/en.utf-8.spl : $(VIM) \ - en_US.aff en_US.dic \ - en_AU.aff en_AU.dic \ - en_CA.aff en_CA.dic \ - en_GB.aff en_GB.dic \ - en_NZ.aff en_NZ.dic - env LANG=en_US.UTF-8 \ - $(VIM) -e -c "mkspell! $(SPELLDIR)/en en_US en_AU en_CA en_GB \ - en_NZ" -c q - -$(SPELLDIR)/en.ascii.spl : $(VIM) \ - en_US.aff en_US.dic \ - en_AU.aff en_AU.dic \ - en_CA.aff en_CA.dic \ - en_GB.aff en_GB.dic \ - en_NZ.aff en_NZ.dic - $(VIM) -e -c "mkspell! -ascii $(SPELLDIR)/en en_US en_AU en_CA en_GB \ - en_NZ" -c q - -$(SPELLDIR)/pl.iso-8859-2.spl : $(VIM) \ - pl_PL.aff pl_PL.dic - env LANG=pl_PL.ISO8859-2 $(VIM) -e -c "mkspell! $(SPELLDIR)/pl pl_PL" -c q - -$(SPELLDIR)/pl.utf-8.spl : $(VIM) \ - pl_PL.aff pl_PL.dic - env LANG=pl_PL.UTF-8 $(VIM) -e -c "mkspell! $(SPELLDIR)/pl pl_PL" -c q - -$(SPELLDIR)/nl.latin1.spl : $(VIM) \ - nl_NL.aff nl_NL.dic - env LANG=nl_NL.ISO8859-1 $(VIM) -e -c "mkspell! $(SPELLDIR)/nl nl_NL" -c q - -$(SPELLDIR)/nl.utf-8.spl : $(VIM) \ - nl_NL.aff nl_NL.dic - env LANG=nl_NL.UTF-8 $(VIM) -e -c "mkspell! $(SPELLDIR)/nl nl_NL" -c q - -$(SPELLDIR)/de.latin1.spl : $(VIM) \ - de_DE.aff de_DE.dic - env LANG=de_DE.ISO8859-1 $(VIM) -e -c "mkspell! $(SPELLDIR)/de de_DE" -c q - -$(SPELLDIR)/de.utf-8.spl : $(VIM) \ - de_DE.aff de_DE.dic - env LANG=de_DE.UTF-8 $(VIM) -e -c "mkspell! $(SPELLDIR)/de de_DE" -c q - -$(SPELLDIR)/fr.latin1.spl : $(VIM) \ - fr_FR.aff fr_FR.dic - env LANG=fr_FR.ISO8859-1 $(VIM) -e -c "mkspell! $(SPELLDIR)/fr fr_FR" -c q - -$(SPELLDIR)/fr.utf-8.spl : $(VIM) \ - fr_FR.aff fr_FR.dic - env LANG=fr_FR.UTF-8 $(VIM) -e -c "mkspell! $(SPELLDIR)/fr fr_FR" -c q - - -$(SPELLDIR)/he.utf-8.spl : $(VIM) \ - he_IL.aff he_IL.dic - env LANG=he_IL.UTF-8 $(VIM) -e -c "mkspell! $(SPELLDIR)/he he_IL" -c q diff --git a/src/spell/de_DE.diff b/src/spell/de_DE.diff deleted file mode 100644 index a7b056a24..000000000 --- a/src/spell/de_DE.diff +++ /dev/null @@ -1,24 +0,0 @@ -*** de_DE.orig.aff Fri Jun 17 10:01:18 2005 ---- de_DE.aff Mon Jun 27 19:42:20 2005 -*************** -*** 3,4 **** ---- 3,10 ---- - -+ FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ -+ LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ -+ UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ -+ -+ MIDWORD ' -+ - # (c) copyright by Bjoern Jacke <bjoern@j3e.de> -*** de_DE.orig.dic Fri Jun 17 10:01:27 2005 ---- de_DE.dic Sat Jun 18 19:57:07 2005 -*************** -*** 76258,76259 **** - zynismusfördernd/A -! zzgl -\ No newline at end of file ---- 76258,76260 ---- - zynismusfördernd/A -! zzgl -! diff --git a/src/version.h b/src/version.h index 7728e9ade..e168db284 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 Jul 2)" -#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 2, compiled " +#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 3)" +#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 3, compiled " |