author | Danek Duvall <danek.duvall@oracle.com> |
Thu, 07 Apr 2011 16:25:07 -0700 | |
changeset 198 | 172fc01ce997 |
permissions | -rw-r--r-- |
198
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1 |
To: [email protected] |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
2 |
Subject: Patch 7.2.060 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
3 |
Fcc: outbox |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
4 |
From: Bram Moolenaar <[email protected]> |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
5 |
Mime-Version: 1.0 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
6 |
Content-Type: text/plain; charset=ISO-8859-1 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
7 |
Content-Transfer-Encoding: 8bit |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
8 |
------------ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
9 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
10 |
Patch 7.2.060 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
11 |
Problem: When a spell files has many compound rules it may take a very long |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
12 |
time making the list of suggestions. Displaying also can be slow |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
13 |
when there are misspelled words. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
14 |
Can't parse some Hunspell .aff files. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
15 |
Solution: Check if a compounding can possibly work before trying a |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
16 |
combination, if the compound rules don't contain wildcards. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
17 |
Implement using CHECKCOMPOUNDPATTERN. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
18 |
Ignore COMPOUNDRULES. Ignore a comment after most items. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
19 |
Accept ONLYINCOMPOUND as an alias for NEEDCOMPOUND. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
20 |
Accept FORBIDDENWORD as an alias for BAD. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
21 |
Files: runtime/doc/spell.txt, src/spell.c |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
22 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
23 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
24 |
*** ../vim-7.2.059/runtime/doc/spell.txt Sat Aug 9 19:36:52 2008 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
25 |
--- runtime/doc/spell.txt Sun Nov 30 16:30:02 2008 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
26 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
27 |
*** 1,4 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
28 |
! *spell.txt* For Vim version 7.2. Last change: 2008 Jun 21 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
29 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
30 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
31 |
VIM REFERENCE MANUAL by Bram Moolenaar |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
32 |
--- 1,4 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
33 |
! *spell.txt* For Vim version 7.2. Last change: 2008 Nov 30 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
34 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
35 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
36 |
VIM REFERENCE MANUAL by Bram Moolenaar |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
37 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
38 |
*** 831,838 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
39 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
40 |
# comment line ~ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
41 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
42 |
! With some items it's also possible to put a comment after it, but this isn't |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
43 |
! supported in general. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
44 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
45 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
46 |
ENCODING *spell-SET* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
47 |
--- 831,841 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
48 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
49 |
# comment line ~ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
50 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
51 |
! Items with a fixed number of arguments can be followed by a comment. But only |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
52 |
! if none of the arguments can contain white space. The comment must start with |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
53 |
! a "#" character. Example: |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
54 |
! |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
55 |
! KEEPCASE = # fix case for words with this flag ~ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
56 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
57 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
58 |
ENCODING *spell-SET* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
59 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
60 |
*** 965,970 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
61 |
--- 968,976 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
62 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
63 |
Note: When using utf-8 only characters up to 65000 may be used for flags. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
64 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
65 |
+ Note: even when using "num" or "long" the number of flags available to |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
66 |
+ compounding and prefixes is limited to about 250. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
67 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
68 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
69 |
AFFIXES |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
70 |
*spell-PFX* *spell-SFX* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
71 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
72 |
*** 1178,1183 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
73 |
--- 1185,1193 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
74 |
The flag also applies to the word with affixes, thus this can be used to mark |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
75 |
a whole bunch of related words as bad. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
76 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
77 |
+ *spell-FORBIDDENWORD* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
78 |
+ FORBIDDENWORD can be used just like BAD. For compatibility with Hunspell. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
79 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
80 |
*spell-NEEDAFFIX* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
81 |
The NEEDAFFIX flag is used to require that a word is used with an affix. The |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
82 |
word itself is not a good word (unless there is an empty affix). Example: |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
83 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
84 |
*** 1268,1273 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
85 |
--- 1278,1287 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
86 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
87 |
NEEDCOMPOUND & ~ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
88 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
89 |
+ *spell-ONLYINCOMPOUND* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
90 |
+ The ONLYINCOMPOUND does exactly the same as NEEDCOMPOUND. Supported for |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
91 |
+ compatiblity with Hunspell. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
92 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
93 |
*spell-COMPOUNDMIN* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
94 |
The minimal character length of a word used for compounding is specified with |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
95 |
COMPOUNDMIN. Example: |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
96 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
97 |
*** 1328,1333 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
98 |
--- 1342,1361 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
99 |
rules. Can also be used for an affix to count the affix as a compounding |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
100 |
word. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
101 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
102 |
+ *spell-CHECKCOMPOUNDPATTERN* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
103 |
+ CHECKCOMPOUNDPATTERN is used to define patterns that, when matching at the |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
104 |
+ position where two words are compounded together forbids the compound. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
105 |
+ For example: |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
106 |
+ CHECKCOMPOUNDPATTERN o e ~ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
107 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
108 |
+ This forbids compounding if the first word ends in "o" and the second word |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
109 |
+ starts with "e". |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
110 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
111 |
+ The arguments must be plain text, no patterns are actually supported, despite |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
112 |
+ the item name. Case is always ignored. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
113 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
114 |
+ The Hunspell feature to use three arguments and flags is not supported. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
115 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
116 |
*spell-SYLLABLE* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
117 |
The SYLLABLE item defines characters or character sequences that are used to |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
118 |
count the number of syllables in a word. Example: |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
119 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
120 |
*** 1496,1501 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
121 |
--- 1524,1533 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
122 |
ACCENT (Hunspell) *spell-ACCENT* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
123 |
Use MAP instead. |spell-MAP| |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
124 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
125 |
+ BREAK (Hunspell) *spell-BREAK* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
126 |
+ Define break points. Unclear how it works exactly. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
127 |
+ Not supported. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
128 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
129 |
CHECKCOMPOUNDCASE (Hunspell) *spell-CHECKCOMPOUNDCASE* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
130 |
Disallow uppercase letters at compound word boundaries. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
131 |
Not supported. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
132 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
133 |
*** 1512,1520 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
134 |
Forbid three identical characters when compounding. Not |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
135 |
supported. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
136 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
137 |
- CHECKCOMPOUNDPATTERN (Hunspell) *spell-CHECKCOMPOUNDPATTERN* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
138 |
- Forbid compounding when patterns match. Not supported. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
139 |
- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
140 |
COMPLEXPREFIXES (Hunspell) *spell-COMPLEXPREFIXES* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
141 |
Enables using two prefixes. Not supported. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
142 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
143 |
--- 1544,1549 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
144 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
145 |
*** 1536,1548 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
146 |
COMPOUNDMIDDLE (Hunspell) *spell-COMPOUNDMIDDLE* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
147 |
Use COMPOUNDRULE instead. |spell-COMPOUNDRULE| |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
148 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
149 |
COMPOUNDSYLLABLE (Hunspell) *spell-COMPOUNDSYLLABLE* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
150 |
Use SYLLABLE and COMPOUNDSYLMAX instead. |spell-SYLLABLE| |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
151 |
|spell-COMPOUNDSYLMAX| |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
152 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
153 |
! FORBIDDENWORD (Hunspell) *spell-FORBIDDENWORD* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
154 |
! Use BAD instead. |spell-BAD| |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
155 |
! |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
156 |
LANG (Hunspell) *spell-LANG* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
157 |
This specifies language-specific behavior. This actually |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
158 |
moves part of the language knowledge into the program, |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
159 |
--- 1565,1582 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
160 |
COMPOUNDMIDDLE (Hunspell) *spell-COMPOUNDMIDDLE* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
161 |
Use COMPOUNDRULE instead. |spell-COMPOUNDRULE| |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
162 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
163 |
+ COMPOUNDRULES (Hunspell) *spell-COMPOUNDRULES* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
164 |
+ Number of COMPOUNDRULE lines following. Ignored, but the |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
165 |
+ argument must be a number. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
166 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
167 |
COMPOUNDSYLLABLE (Hunspell) *spell-COMPOUNDSYLLABLE* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
168 |
Use SYLLABLE and COMPOUNDSYLMAX instead. |spell-SYLLABLE| |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
169 |
|spell-COMPOUNDSYLMAX| |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
170 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
171 |
! KEY (Hunspell) *spell-KEY* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
172 |
! Define characters that are close together on the keyboard. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
173 |
! Used to give better suggestions. Not supported. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
174 |
! |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
175 |
LANG (Hunspell) *spell-LANG* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
176 |
This specifies language-specific behavior. This actually |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
177 |
moves part of the language knowledge into the program, |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
178 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
179 |
*** 1553,1562 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
180 |
Only needed for morphological analysis. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
181 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
182 |
MAXNGRAMSUGS (Hunspell) *spell-MAXNGRAMSUGS* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
183 |
! Not supported. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
184 |
! |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
185 |
! ONLYINCOMPOUND (Hunspell) *spell-ONLYINCOMPOUND* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
186 |
! Use NEEDCOMPOUND instead. |spell-NEEDCOMPOUND| |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
187 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
188 |
PSEUDOROOT (Hunspell) *spell-PSEUDOROOT* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
189 |
Use NEEDAFFIX instead. |spell-NEEDAFFIX| |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
190 |
--- 1587,1593 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
191 |
Only needed for morphological analysis. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
192 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
193 |
MAXNGRAMSUGS (Hunspell) *spell-MAXNGRAMSUGS* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
194 |
! Set number of n-gram suggestions. Not supported. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
195 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
196 |
PSEUDOROOT (Hunspell) *spell-PSEUDOROOT* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
197 |
Use NEEDAFFIX instead. |spell-NEEDAFFIX| |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
198 |
*** ../vim-7.2.059/src/spell.c Sat Nov 29 20:18:44 2008 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
199 |
--- src/spell.c Sun Nov 30 20:59:13 2008 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
200 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
201 |
*** 469,474 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
202 |
--- 469,475 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
203 |
garray_T sl_comppat; /* CHECKCOMPOUNDPATTERN items */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
204 |
regprog_T *sl_compprog; /* COMPOUNDRULE turned into a regexp progrm |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
205 |
* (NULL when no compounding) */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
206 |
+ char_u *sl_comprules; /* all COMPOUNDRULE concatenated (or NULL) */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
207 |
char_u *sl_compstartflags; /* flags for first compound word */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
208 |
char_u *sl_compallflags; /* all flags for compound words */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
209 |
char_u sl_nobreak; /* When TRUE: no spaces between words */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
210 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
211 |
*** 839,845 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
212 |
--- 840,849 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
213 |
static void slang_clear __ARGS((slang_T *lp)); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
214 |
static void slang_clear_sug __ARGS((slang_T *lp)); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
215 |
static void find_word __ARGS((matchinf_T *mip, int mode)); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
216 |
+ static int match_checkcompoundpattern __ARGS((char_u *ptr, int wlen, garray_T *gap)); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
217 |
static int can_compound __ARGS((slang_T *slang, char_u *word, char_u *flags)); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
218 |
+ static int can_be_compound __ARGS((trystate_T *sp, slang_T *slang, char_u *compflags, int flag)); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
219 |
+ static int match_compoundrule __ARGS((slang_T *slang, char_u *compflags)); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
220 |
static int valid_word_prefix __ARGS((int totprefcnt, int arridx, int flags, char_u *word, slang_T *slang, int cond_req)); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
221 |
static void find_prefix __ARGS((matchinf_T *mip, int mode)); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
222 |
static int fold_more __ARGS((matchinf_T *mip)); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
223 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
224 |
*** 1519,1524 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
225 |
--- 1523,1533 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
226 |
((unsigned)flags >> 24))) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
227 |
continue; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
228 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
229 |
+ /* If there is a match with a CHECKCOMPOUNDPATTERN rule |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
230 |
+ * discard the compound word. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
231 |
+ if (match_checkcompoundpattern(ptr, wlen, &slang->sl_comppat)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
232 |
+ continue; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
233 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
234 |
if (mode == FIND_COMPOUND) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
235 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
236 |
int capflags; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
237 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
238 |
*** 1577,1582 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
239 |
--- 1586,1596 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
240 |
if (!can_compound(slang, fword, mip->mi_compflags)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
241 |
continue; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
242 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
243 |
+ else if (slang->sl_comprules != NULL |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
244 |
+ && !match_compoundrule(slang, mip->mi_compflags)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
245 |
+ /* The compound flags collected so far do not match any |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
246 |
+ * COMPOUNDRULE, discard the compounded word. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
247 |
+ continue; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
248 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
249 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
250 |
/* Check NEEDCOMPOUND: can't use word without compounding. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
251 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
252 |
*** 1727,1732 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
253 |
--- 1741,1779 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
254 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
255 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
256 |
/* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
257 |
+ * Return TRUE if there is a match between the word ptr[wlen] and |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
258 |
+ * CHECKCOMPOUNDPATTERN rules, assuming that we will concatenate with another |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
259 |
+ * word. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
260 |
+ * A match means that the first part of CHECKCOMPOUNDPATTERN matches at the |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
261 |
+ * end of ptr[wlen] and the second part matches after it. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
262 |
+ */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
263 |
+ static int |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
264 |
+ match_checkcompoundpattern(ptr, wlen, gap) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
265 |
+ char_u *ptr; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
266 |
+ int wlen; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
267 |
+ garray_T *gap; /* &sl_comppat */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
268 |
+ { |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
269 |
+ int i; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
270 |
+ char_u *p; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
271 |
+ int len; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
272 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
273 |
+ for (i = 0; i + 1 < gap->ga_len; i += 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
274 |
+ { |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
275 |
+ p = ((char_u **)gap->ga_data)[i + 1]; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
276 |
+ if (STRNCMP(ptr + wlen, p, STRLEN(p)) == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
277 |
+ { |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
278 |
+ /* Second part matches at start of following compound word, now |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
279 |
+ * check if first part matches at end of previous word. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
280 |
+ p = ((char_u **)gap->ga_data)[i]; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
281 |
+ len = STRLEN(p); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
282 |
+ if (len <= wlen && STRNCMP(ptr + wlen - len, p, len) == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
283 |
+ return TRUE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
284 |
+ } |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
285 |
+ } |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
286 |
+ return FALSE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
287 |
+ } |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
288 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
289 |
+ /* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
290 |
* Return TRUE if "flags" is a valid sequence of compound flags and "word" |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
291 |
* does not have too many syllables. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
292 |
*/ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
293 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
294 |
*** 1773,1778 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
295 |
--- 1820,1917 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
296 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
297 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
298 |
/* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
299 |
+ * Return TRUE when the sequence of flags in "compflags" plus "flag" can |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
300 |
+ * possibly form a valid compounded word. This also checks the COMPOUNDRULE |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
301 |
+ * lines if they don't contain wildcards. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
302 |
+ */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
303 |
+ static int |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
304 |
+ can_be_compound(sp, slang, compflags, flag) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
305 |
+ trystate_T *sp; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
306 |
+ slang_T *slang; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
307 |
+ char_u *compflags; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
308 |
+ int flag; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
309 |
+ { |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
310 |
+ /* If the flag doesn't appear in sl_compstartflags or sl_compallflags |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
311 |
+ * then it can't possibly compound. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
312 |
+ if (!byte_in_str(sp->ts_complen == sp->ts_compsplit |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
313 |
+ ? slang->sl_compstartflags : slang->sl_compallflags, flag)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
314 |
+ return FALSE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
315 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
316 |
+ /* If there are no wildcards, we can check if the flags collected so far |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
317 |
+ * possibly can form a match with COMPOUNDRULE patterns. This only |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
318 |
+ * makes sense when we have two or more words. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
319 |
+ if (slang->sl_comprules != NULL && sp->ts_complen > sp->ts_compsplit) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
320 |
+ { |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
321 |
+ int v; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
322 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
323 |
+ compflags[sp->ts_complen] = flag; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
324 |
+ compflags[sp->ts_complen + 1] = NUL; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
325 |
+ v = match_compoundrule(slang, compflags + sp->ts_compsplit); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
326 |
+ compflags[sp->ts_complen] = NUL; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
327 |
+ return v; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
328 |
+ } |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
329 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
330 |
+ return TRUE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
331 |
+ } |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
332 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
333 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
334 |
+ /* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
335 |
+ * Return TRUE if the compound flags in compflags[] match the start of any |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
336 |
+ * compound rule. This is used to stop trying a compound if the flags |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
337 |
+ * collected so far can't possibly match any compound rule. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
338 |
+ * Caller must check that slang->sl_comprules is not NULL. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
339 |
+ */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
340 |
+ static int |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
341 |
+ match_compoundrule(slang, compflags) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
342 |
+ slang_T *slang; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
343 |
+ char_u *compflags; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
344 |
+ { |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
345 |
+ char_u *p; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
346 |
+ int i; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
347 |
+ int c; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
348 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
349 |
+ /* loop over all the COMPOUNDRULE entries */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
350 |
+ for (p = slang->sl_comprules; *p != NUL; ++p) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
351 |
+ { |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
352 |
+ /* loop over the flags in the compound word we have made, match |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
353 |
+ * them against the current rule entry */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
354 |
+ for (i = 0; ; ++i) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
355 |
+ { |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
356 |
+ c = compflags[i]; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
357 |
+ if (c == NUL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
358 |
+ /* found a rule that matches for the flags we have so far */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
359 |
+ return TRUE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
360 |
+ if (*p == '/' || *p == NUL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
361 |
+ break; /* end of rule, it's too short */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
362 |
+ if (*p == '[') |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
363 |
+ { |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
364 |
+ int match = FALSE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
365 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
366 |
+ /* compare against all the flags in [] */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
367 |
+ ++p; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
368 |
+ while (*p != ']' && *p != NUL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
369 |
+ if (*p++ == c) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
370 |
+ match = TRUE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
371 |
+ if (!match) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
372 |
+ break; /* none matches */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
373 |
+ } |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
374 |
+ else if (*p != c) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
375 |
+ break; /* flag of word doesn't match flag in pattern */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
376 |
+ ++p; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
377 |
+ } |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
378 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
379 |
+ /* Skip to the next "/", where the next pattern starts. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
380 |
+ p = vim_strchr(p, '/'); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
381 |
+ if (p == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
382 |
+ break; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
383 |
+ } |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
384 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
385 |
+ /* Checked all the rules and none of them match the flags, so there |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
386 |
+ * can't possibly be a compound starting with these flags. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
387 |
+ return FALSE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
388 |
+ } |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
389 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
390 |
+ /* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
391 |
* Return non-zero if the prefix indicated by "arridx" matches with the prefix |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
392 |
* ID in "flags" for the word "word". |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
393 |
* The WF_RAREPFX flag is included in the return value for a rare prefix. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
394 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
395 |
*** 2513,2521 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
396 |
--- 2652,2662 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
397 |
lp->sl_midword = NULL; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
398 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
399 |
vim_free(lp->sl_compprog); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
400 |
+ vim_free(lp->sl_comprules); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
401 |
vim_free(lp->sl_compstartflags); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
402 |
vim_free(lp->sl_compallflags); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
403 |
lp->sl_compprog = NULL; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
404 |
+ lp->sl_comprules = NULL; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
405 |
lp->sl_compstartflags = NULL; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
406 |
lp->sl_compallflags = NULL; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
407 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
408 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
409 |
*** 3460,3465 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
410 |
--- 3601,3607 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
411 |
char_u *pp; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
412 |
char_u *cp; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
413 |
char_u *ap; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
414 |
+ char_u *crp; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
415 |
int cnt; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
416 |
garray_T *gap; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
417 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
418 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
419 |
*** 3545,3550 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
420 |
--- 3687,3698 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
421 |
slang->sl_compallflags = ap; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
422 |
*ap = NUL; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
423 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
424 |
+ /* And a list of all patterns in their original form, for checking whether |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
425 |
+ * compounding may work in match_compoundrule(). This is freed when we |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
426 |
+ * encounter a wildcard, the check doesn't work then. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
427 |
+ crp = alloc(todo + 1); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
428 |
+ slang->sl_comprules = crp; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
429 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
430 |
pp = pat; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
431 |
*pp++ = '^'; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
432 |
*pp++ = '\\'; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
433 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
434 |
*** 3587,3592 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
435 |
--- 3735,3754 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
436 |
atstart = 0; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
437 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
438 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
439 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
440 |
+ /* Copy flag to "sl_comprules", unless we run into a wildcard. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
441 |
+ if (crp != NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
442 |
+ { |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
443 |
+ if (c == '+' || c == '*') |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
444 |
+ { |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
445 |
+ vim_free(slang->sl_comprules); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
446 |
+ slang->sl_comprules = NULL; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
447 |
+ crp = NULL; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
448 |
+ } |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
449 |
+ else |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
450 |
+ *crp++ = c; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
451 |
+ } |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
452 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
453 |
if (c == '/') /* slash separates two items */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
454 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
455 |
*pp++ = '\\'; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
456 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
457 |
*** 3611,3616 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
458 |
--- 3773,3781 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
459 |
*pp++ = '$'; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
460 |
*pp = NUL; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
461 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
462 |
+ if (crp != NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
463 |
+ *crp = NUL; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
464 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
465 |
slang->sl_compprog = vim_regcomp(pat, RE_MAGIC + RE_STRING + RE_STRICT); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
466 |
vim_free(pat); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
467 |
if (slang->sl_compprog == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
468 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
469 |
*** 4915,4920 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
470 |
--- 5080,5086 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
471 |
} spellinfo_T; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
472 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
473 |
static afffile_T *spell_read_aff __ARGS((spellinfo_T *spin, char_u *fname)); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
474 |
+ static int is_aff_rule __ARGS((char_u **items, int itemcnt, char *rulename, int mincount)); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
475 |
static void aff_process_flags __ARGS((afffile_T *affile, affentry_T *entry)); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
476 |
static int spell_info_item __ARGS((char_u *s)); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
477 |
static unsigned affitem2flag __ARGS((int flagtype, char_u *item, char_u *fname, int lnum)); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
478 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
479 |
*** 5223,5230 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
480 |
/* Handle non-empty lines. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
481 |
if (itemcnt > 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
482 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
483 |
! if (STRCMP(items[0], "SET") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
484 |
! && aff->af_enc == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
485 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
486 |
#ifdef FEAT_MBYTE |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
487 |
/* Setup for conversion from "ENC" to 'encoding'. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
488 |
--- 5389,5395 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
489 |
/* Handle non-empty lines. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
490 |
if (itemcnt > 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
491 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
492 |
! if (is_aff_rule(items, itemcnt, "SET", 2) && aff->af_enc == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
493 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
494 |
#ifdef FEAT_MBYTE |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
495 |
/* Setup for conversion from "ENC" to 'encoding'. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
496 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
497 |
*** 5239,5245 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
498 |
smsg((char_u *)_("Conversion in %s not supported"), fname); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
499 |
#endif |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
500 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
501 |
! else if (STRCMP(items[0], "FLAG") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
502 |
&& aff->af_flagtype == AFT_CHAR) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
503 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
504 |
if (STRCMP(items[1], "long") == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
505 |
--- 5404,5410 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
506 |
smsg((char_u *)_("Conversion in %s not supported"), fname); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
507 |
#endif |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
508 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
509 |
! else if (is_aff_rule(items, itemcnt, "FLAG", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
510 |
&& aff->af_flagtype == AFT_CHAR) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
511 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
512 |
if (STRCMP(items[1], "long") == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
513 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
514 |
*** 5284,5352 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
515 |
spin->si_info = p; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
516 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
517 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
518 |
! else if (STRCMP(items[0], "MIDWORD") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
519 |
&& midword == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
520 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
521 |
midword = getroom_save(spin, items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
522 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
523 |
! else if (STRCMP(items[0], "TRY") == 0 && itemcnt == 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
524 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
525 |
/* ignored, we look in the tree for what chars may appear */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
526 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
527 |
/* TODO: remove "RAR" later */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
528 |
! else if ((STRCMP(items[0], "RAR") == 0 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
529 |
! || STRCMP(items[0], "RARE") == 0) && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
530 |
! && aff->af_rare == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
531 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
532 |
aff->af_rare = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
533 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
534 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
535 |
/* TODO: remove "KEP" later */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
536 |
! else if ((STRCMP(items[0], "KEP") == 0 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
537 |
! || STRCMP(items[0], "KEEPCASE") == 0) && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
538 |
&& aff->af_keepcase == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
539 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
540 |
aff->af_keepcase = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
541 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
542 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
543 |
! else if (STRCMP(items[0], "BAD") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
544 |
! && aff->af_bad == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
545 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
546 |
aff->af_bad = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
547 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
548 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
549 |
! else if (STRCMP(items[0], "NEEDAFFIX") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
550 |
&& aff->af_needaffix == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
551 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
552 |
aff->af_needaffix = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
553 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
554 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
555 |
! else if (STRCMP(items[0], "CIRCUMFIX") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
556 |
&& aff->af_circumfix == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
557 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
558 |
aff->af_circumfix = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
559 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
560 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
561 |
! else if (STRCMP(items[0], "NOSUGGEST") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
562 |
&& aff->af_nosuggest == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
563 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
564 |
aff->af_nosuggest = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
565 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
566 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
567 |
! else if (STRCMP(items[0], "NEEDCOMPOUND") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
568 |
&& aff->af_needcomp == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
569 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
570 |
aff->af_needcomp = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
571 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
572 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
573 |
! else if (STRCMP(items[0], "COMPOUNDROOT") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
574 |
&& aff->af_comproot == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
575 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
576 |
aff->af_comproot = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
577 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
578 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
579 |
! else if (STRCMP(items[0], "COMPOUNDFORBIDFLAG") == 0 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
580 |
! && itemcnt == 2 && aff->af_compforbid == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
581 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
582 |
aff->af_compforbid = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
583 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
584 |
--- 5449,5519 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
585 |
spin->si_info = p; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
586 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
587 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
588 |
! else if (is_aff_rule(items, itemcnt, "MIDWORD", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
589 |
&& midword == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
590 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
591 |
midword = getroom_save(spin, items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
592 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
593 |
! else if (is_aff_rule(items, itemcnt, "TRY", 2)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
594 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
595 |
/* ignored, we look in the tree for what chars may appear */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
596 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
597 |
/* TODO: remove "RAR" later */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
598 |
! else if ((is_aff_rule(items, itemcnt, "RAR", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
599 |
! || is_aff_rule(items, itemcnt, "RARE", 2)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
600 |
! && aff->af_rare == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
601 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
602 |
aff->af_rare = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
603 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
604 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
605 |
/* TODO: remove "KEP" later */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
606 |
! else if ((is_aff_rule(items, itemcnt, "KEP", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
607 |
! || is_aff_rule(items, itemcnt, "KEEPCASE", 2)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
608 |
&& aff->af_keepcase == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
609 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
610 |
aff->af_keepcase = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
611 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
612 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
613 |
! else if ((is_aff_rule(items, itemcnt, "BAD", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
614 |
! || is_aff_rule(items, itemcnt, "FORBIDDENWORD", 2)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
615 |
! && aff->af_bad == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
616 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
617 |
aff->af_bad = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
618 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
619 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
620 |
! else if (is_aff_rule(items, itemcnt, "NEEDAFFIX", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
621 |
&& aff->af_needaffix == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
622 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
623 |
aff->af_needaffix = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
624 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
625 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
626 |
! else if (is_aff_rule(items, itemcnt, "CIRCUMFIX", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
627 |
&& aff->af_circumfix == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
628 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
629 |
aff->af_circumfix = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
630 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
631 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
632 |
! else if (is_aff_rule(items, itemcnt, "NOSUGGEST", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
633 |
&& aff->af_nosuggest == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
634 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
635 |
aff->af_nosuggest = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
636 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
637 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
638 |
! else if ((is_aff_rule(items, itemcnt, "NEEDCOMPOUND", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
639 |
! || is_aff_rule(items, itemcnt, "ONLYINCOMPOUND", 2)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
640 |
&& aff->af_needcomp == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
641 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
642 |
aff->af_needcomp = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
643 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
644 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
645 |
! else if (is_aff_rule(items, itemcnt, "COMPOUNDROOT", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
646 |
&& aff->af_comproot == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
647 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
648 |
aff->af_comproot = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
649 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
650 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
651 |
! else if (is_aff_rule(items, itemcnt, "COMPOUNDFORBIDFLAG", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
652 |
! && aff->af_compforbid == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
653 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
654 |
aff->af_compforbid = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
655 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
656 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
657 |
*** 5354,5361 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
658 |
smsg((char_u *)_("Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line %d"), |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
659 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
660 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
661 |
! else if (STRCMP(items[0], "COMPOUNDPERMITFLAG") == 0 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
662 |
! && itemcnt == 2 && aff->af_comppermit == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
663 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
664 |
aff->af_comppermit = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
665 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
666 |
--- 5521,5528 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
667 |
smsg((char_u *)_("Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line %d"), |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
668 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
669 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
670 |
! else if (is_aff_rule(items, itemcnt, "COMPOUNDPERMITFLAG", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
671 |
! && aff->af_comppermit == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
672 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
673 |
aff->af_comppermit = affitem2flag(aff->af_flagtype, items[1], |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
674 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
675 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
676 |
*** 5363,5369 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
677 |
smsg((char_u *)_("Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line %d"), |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
678 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
679 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
680 |
! else if (STRCMP(items[0], "COMPOUNDFLAG") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
681 |
&& compflags == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
682 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
683 |
/* Turn flag "c" into COMPOUNDRULE compatible string "c+", |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
684 |
--- 5530,5536 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
685 |
smsg((char_u *)_("Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line %d"), |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
686 |
fname, lnum); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
687 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
688 |
! else if (is_aff_rule(items, itemcnt, "COMPOUNDFLAG", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
689 |
&& compflags == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
690 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
691 |
/* Turn flag "c" into COMPOUNDRULE compatible string "c+", |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
692 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
693 |
*** 5376,5382 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
694 |
compflags = p; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
695 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
696 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
697 |
! else if (STRCMP(items[0], "COMPOUNDRULE") == 0 && itemcnt == 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
698 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
699 |
/* Concatenate this string to previously defined ones, using a |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
700 |
* slash to separate them. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
701 |
--- 5543,5557 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
702 |
compflags = p; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
703 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
704 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
705 |
! else if (is_aff_rule(items, itemcnt, "COMPOUNDRULES", 2)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
706 |
! { |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
707 |
! /* We don't use the count, but do check that it's a number and |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
708 |
! * not COMPOUNDRULE mistyped. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
709 |
! if (atoi((char *)items[1]) == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
710 |
! smsg((char_u *)_("Wrong COMPOUNDRULES value in %s line %d: %s"), |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
711 |
! fname, lnum, items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
712 |
! } |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
713 |
! else if (is_aff_rule(items, itemcnt, "COMPOUNDRULE", 2)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
714 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
715 |
/* Concatenate this string to previously defined ones, using a |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
716 |
* slash to separate them. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
717 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
718 |
*** 5395,5401 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
719 |
compflags = p; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
720 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
721 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
722 |
! else if (STRCMP(items[0], "COMPOUNDWORDMAX") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
723 |
&& compmax == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
724 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
725 |
compmax = atoi((char *)items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
726 |
--- 5570,5576 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
727 |
compflags = p; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
728 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
729 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
730 |
! else if (is_aff_rule(items, itemcnt, "COMPOUNDWORDMAX", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
731 |
&& compmax == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
732 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
733 |
compmax = atoi((char *)items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
734 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
735 |
*** 5403,5409 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
736 |
smsg((char_u *)_("Wrong COMPOUNDWORDMAX value in %s line %d: %s"), |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
737 |
fname, lnum, items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
738 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
739 |
! else if (STRCMP(items[0], "COMPOUNDMIN") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
740 |
&& compminlen == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
741 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
742 |
compminlen = atoi((char *)items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
743 |
--- 5578,5584 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
744 |
smsg((char_u *)_("Wrong COMPOUNDWORDMAX value in %s line %d: %s"), |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
745 |
fname, lnum, items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
746 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
747 |
! else if (is_aff_rule(items, itemcnt, "COMPOUNDMIN", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
748 |
&& compminlen == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
749 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
750 |
compminlen = atoi((char *)items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
751 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
752 |
*** 5411,5417 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
753 |
smsg((char_u *)_("Wrong COMPOUNDMIN value in %s line %d: %s"), |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
754 |
fname, lnum, items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
755 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
756 |
! else if (STRCMP(items[0], "COMPOUNDSYLMAX") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
757 |
&& compsylmax == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
758 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
759 |
compsylmax = atoi((char *)items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
760 |
--- 5586,5592 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
761 |
smsg((char_u *)_("Wrong COMPOUNDMIN value in %s line %d: %s"), |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
762 |
fname, lnum, items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
763 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
764 |
! else if (is_aff_rule(items, itemcnt, "COMPOUNDSYLMAX", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
765 |
&& compsylmax == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
766 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
767 |
compsylmax = atoi((char *)items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
768 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
769 |
*** 5419,5450 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
770 |
smsg((char_u *)_("Wrong COMPOUNDSYLMAX value in %s line %d: %s"), |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
771 |
fname, lnum, items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
772 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
773 |
! else if (STRCMP(items[0], "CHECKCOMPOUNDDUP") == 0 && itemcnt == 1) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
774 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
775 |
compoptions |= COMP_CHECKDUP; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
776 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
777 |
! else if (STRCMP(items[0], "CHECKCOMPOUNDREP") == 0 && itemcnt == 1) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
778 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
779 |
compoptions |= COMP_CHECKREP; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
780 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
781 |
! else if (STRCMP(items[0], "CHECKCOMPOUNDCASE") == 0 && itemcnt == 1) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
782 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
783 |
compoptions |= COMP_CHECKCASE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
784 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
785 |
! else if (STRCMP(items[0], "CHECKCOMPOUNDTRIPLE") == 0 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
786 |
! && itemcnt == 1) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
787 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
788 |
compoptions |= COMP_CHECKTRIPLE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
789 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
790 |
! else if (STRCMP(items[0], "CHECKCOMPOUNDPATTERN") == 0 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
791 |
! && itemcnt == 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
792 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
793 |
if (atoi((char *)items[1]) == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
794 |
smsg((char_u *)_("Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"), |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
795 |
fname, lnum, items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
796 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
797 |
! else if (STRCMP(items[0], "CHECKCOMPOUNDPATTERN") == 0 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
798 |
! && itemcnt == 3) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
799 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
800 |
garray_T *gap = &spin->si_comppat; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
801 |
int i; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
802 |
--- 5594,5622 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
803 |
smsg((char_u *)_("Wrong COMPOUNDSYLMAX value in %s line %d: %s"), |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
804 |
fname, lnum, items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
805 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
806 |
! else if (is_aff_rule(items, itemcnt, "CHECKCOMPOUNDDUP", 1)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
807 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
808 |
compoptions |= COMP_CHECKDUP; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
809 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
810 |
! else if (is_aff_rule(items, itemcnt, "CHECKCOMPOUNDREP", 1)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
811 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
812 |
compoptions |= COMP_CHECKREP; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
813 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
814 |
! else if (is_aff_rule(items, itemcnt, "CHECKCOMPOUNDCASE", 1)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
815 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
816 |
compoptions |= COMP_CHECKCASE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
817 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
818 |
! else if (is_aff_rule(items, itemcnt, "CHECKCOMPOUNDTRIPLE", 1)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
819 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
820 |
compoptions |= COMP_CHECKTRIPLE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
821 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
822 |
! else if (is_aff_rule(items, itemcnt, "CHECKCOMPOUNDPATTERN", 2)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
823 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
824 |
if (atoi((char *)items[1]) == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
825 |
smsg((char_u *)_("Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"), |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
826 |
fname, lnum, items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
827 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
828 |
! else if (is_aff_rule(items, itemcnt, "CHECKCOMPOUNDPATTERN", 3)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
829 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
830 |
garray_T *gap = &spin->si_comppat; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
831 |
int i; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
832 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
833 |
*** 5463,5486 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
834 |
= getroom_save(spin, items[2]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
835 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
836 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
837 |
! else if (STRCMP(items[0], "SYLLABLE") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
838 |
&& syllable == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
839 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
840 |
syllable = getroom_save(spin, items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
841 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
842 |
! else if (STRCMP(items[0], "NOBREAK") == 0 && itemcnt == 1) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
843 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
844 |
spin->si_nobreak = TRUE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
845 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
846 |
! else if (STRCMP(items[0], "NOSPLITSUGS") == 0 && itemcnt == 1) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
847 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
848 |
spin->si_nosplitsugs = TRUE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
849 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
850 |
! else if (STRCMP(items[0], "NOSUGFILE") == 0 && itemcnt == 1) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
851 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
852 |
spin->si_nosugfile = TRUE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
853 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
854 |
! else if (STRCMP(items[0], "PFXPOSTPONE") == 0 && itemcnt == 1) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
855 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
856 |
aff->af_pfxpostpone = TRUE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
857 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
858 |
--- 5635,5658 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
859 |
= getroom_save(spin, items[2]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
860 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
861 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
862 |
! else if (is_aff_rule(items, itemcnt, "SYLLABLE", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
863 |
&& syllable == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
864 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
865 |
syllable = getroom_save(spin, items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
866 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
867 |
! else if (is_aff_rule(items, itemcnt, "NOBREAK", 1)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
868 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
869 |
spin->si_nobreak = TRUE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
870 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
871 |
! else if (is_aff_rule(items, itemcnt, "NOSPLITSUGS", 1)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
872 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
873 |
spin->si_nosplitsugs = TRUE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
874 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
875 |
! else if (is_aff_rule(items, itemcnt, "NOSUGFILE", 1)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
876 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
877 |
spin->si_nosugfile = TRUE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
878 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
879 |
! else if (is_aff_rule(items, itemcnt, "PFXPOSTPONE", 1)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
880 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
881 |
aff->af_pfxpostpone = TRUE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
882 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
883 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
884 |
*** 5771,5794 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
885 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
886 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
887 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
888 |
! else if (STRCMP(items[0], "FOL") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
889 |
! && fol == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
890 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
891 |
fol = vim_strsave(items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
892 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
893 |
! else if (STRCMP(items[0], "LOW") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
894 |
! && low == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
895 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
896 |
low = vim_strsave(items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
897 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
898 |
! else if (STRCMP(items[0], "UPP") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
899 |
! && upp == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
900 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
901 |
upp = vim_strsave(items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
902 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
903 |
! else if ((STRCMP(items[0], "REP") == 0 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
904 |
! || STRCMP(items[0], "REPSAL") == 0) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
905 |
! && itemcnt == 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
906 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
907 |
/* Ignore REP/REPSAL count */; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
908 |
if (!isdigit(*items[1])) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
909 |
--- 5943,5962 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
910 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
911 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
912 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
913 |
! else if (is_aff_rule(items, itemcnt, "FOL", 2) && fol == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
914 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
915 |
fol = vim_strsave(items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
916 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
917 |
! else if (is_aff_rule(items, itemcnt, "LOW", 2) && low == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
918 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
919 |
low = vim_strsave(items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
920 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
921 |
! else if (is_aff_rule(items, itemcnt, "UPP", 2) && upp == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
922 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
923 |
upp = vim_strsave(items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
924 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
925 |
! else if (is_aff_rule(items, itemcnt, "REP", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
926 |
! || is_aff_rule(items, itemcnt, "REPSAL", 2)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
927 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
928 |
/* Ignore REP/REPSAL count */; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
929 |
if (!isdigit(*items[1])) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
930 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
931 |
*** 5819,5825 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
932 |
: &spin->si_rep, items[1], items[2]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
933 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
934 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
935 |
! else if (STRCMP(items[0], "MAP") == 0 && itemcnt == 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
936 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
937 |
/* MAP item or count */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
938 |
if (!found_map) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
939 |
--- 5987,5993 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
940 |
: &spin->si_rep, items[1], items[2]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
941 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
942 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
943 |
! else if (is_aff_rule(items, itemcnt, "MAP", 2)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
944 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
945 |
/* MAP item or count */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
946 |
if (!found_map) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
947 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
948 |
*** 5856,5864 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
949 |
ga_append(&spin->si_map, '/'); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
950 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
951 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
952 |
! /* Accept "SAL from to" and "SAL from to # comment". */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
953 |
! else if (STRCMP(items[0], "SAL") == 0 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
954 |
! && (itemcnt == 3 || (itemcnt > 3 && items[3][0] == '#'))) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
955 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
956 |
if (do_sal) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
957 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
958 |
--- 6024,6031 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
959 |
ga_append(&spin->si_map, '/'); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
960 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
961 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
962 |
! /* Accept "SAL from to" and "SAL from to #comment". */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
963 |
! else if (is_aff_rule(items, itemcnt, "SAL", 3)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
964 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
965 |
if (do_sal) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
966 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
967 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
968 |
*** 5877,5888 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
969 |
: items[2]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
970 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
971 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
972 |
! else if (STRCMP(items[0], "SOFOFROM") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
973 |
&& sofofrom == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
974 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
975 |
sofofrom = getroom_save(spin, items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
976 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
977 |
! else if (STRCMP(items[0], "SOFOTO") == 0 && itemcnt == 2 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
978 |
&& sofoto == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
979 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
980 |
sofoto = getroom_save(spin, items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
981 |
--- 6044,6055 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
982 |
: items[2]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
983 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
984 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
985 |
! else if (is_aff_rule(items, itemcnt, "SOFOFROM", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
986 |
&& sofofrom == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
987 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
988 |
sofofrom = getroom_save(spin, items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
989 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
990 |
! else if (is_aff_rule(items, itemcnt, "SOFOTO", 2) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
991 |
&& sofoto == NULL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
992 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
993 |
sofoto = getroom_save(spin, items[1]); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
994 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
995 |
*** 6017,6022 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
996 |
--- 6184,6205 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
997 |
} |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
998 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
999 |
/* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1000 |
+ * Return TRUE when items[0] equals "rulename", there are "mincount" items or |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1001 |
+ * a comment is following after item "mincount". |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1002 |
+ */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1003 |
+ static int |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1004 |
+ is_aff_rule(items, itemcnt, rulename, mincount) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1005 |
+ char_u **items; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1006 |
+ int itemcnt; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1007 |
+ char *rulename; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1008 |
+ int mincount; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1009 |
+ { |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1010 |
+ return (STRCMP(items[0], rulename) == 0 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1011 |
+ && (itemcnt == mincount |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1012 |
+ || (itemcnt > mincount && items[mincount][0] == '#'))); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1013 |
+ } |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1014 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1015 |
+ /* |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1016 |
* For affix "entry" move COMPOUNDFORBIDFLAG and COMPOUNDPERMITFLAG from |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1017 |
* ae_flags to ae_comppermit and ae_compforbid. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1018 |
*/ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1019 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1020 |
*** 11492,11506 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1021 |
vim_strncpy(preword + sp->ts_prewordlen, |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1022 |
tword + sp->ts_splitoff, |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1023 |
sp->ts_twordlen - sp->ts_splitoff); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1024 |
! p = preword; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1025 |
! while (*skiptowhite(p) != NUL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1026 |
! p = skipwhite(skiptowhite(p)); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1027 |
! if (fword_ends && !can_compound(slang, p, |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1028 |
! compflags + sp->ts_compsplit)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1029 |
! /* Compound is not allowed. But it may still be |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1030 |
! * possible if we add another (short) word. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1031 |
compound_ok = FALSE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1032 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1033 |
/* Get pointer to last char of previous word. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1034 |
p = preword + sp->ts_prewordlen; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1035 |
mb_ptr_back(preword, p); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1036 |
--- 11675,11698 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1037 |
vim_strncpy(preword + sp->ts_prewordlen, |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1038 |
tword + sp->ts_splitoff, |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1039 |
sp->ts_twordlen - sp->ts_splitoff); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1040 |
! |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1041 |
! /* Verify CHECKCOMPOUNDPATTERN rules. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1042 |
! if (match_checkcompoundpattern(preword, sp->ts_prewordlen, |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1043 |
! &slang->sl_comppat)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1044 |
compound_ok = FALSE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1045 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1046 |
+ if (compound_ok) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1047 |
+ { |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1048 |
+ p = preword; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1049 |
+ while (*skiptowhite(p) != NUL) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1050 |
+ p = skipwhite(skiptowhite(p)); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1051 |
+ if (fword_ends && !can_compound(slang, p, |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1052 |
+ compflags + sp->ts_compsplit)) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1053 |
+ /* Compound is not allowed. But it may still be |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1054 |
+ * possible if we add another (short) word. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1055 |
+ compound_ok = FALSE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1056 |
+ } |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1057 |
+ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1058 |
/* Get pointer to last char of previous word. */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1059 |
p = preword + sp->ts_prewordlen; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1060 |
mb_ptr_back(preword, p); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1061 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1062 |
*** 11697,11706 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1063 |
&& (slang->sl_compsylmax < MAXWLEN |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1064 |
|| sp->ts_complen + 1 - sp->ts_compsplit |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1065 |
< slang->sl_compmax) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1066 |
! && (byte_in_str(sp->ts_complen == sp->ts_compsplit |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1067 |
! ? slang->sl_compstartflags |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1068 |
! : slang->sl_compallflags, |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1069 |
! ((unsigned)flags >> 24)))) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1070 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1071 |
try_compound = TRUE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1072 |
compflags[sp->ts_complen] = ((unsigned)flags >> 24); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1073 |
--- 11889,11897 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1074 |
&& (slang->sl_compsylmax < MAXWLEN |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1075 |
|| sp->ts_complen + 1 - sp->ts_compsplit |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1076 |
< slang->sl_compmax) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1077 |
! && (can_be_compound(sp, slang, |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1078 |
! compflags, ((unsigned)flags >> 24)))) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1079 |
! |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1080 |
{ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1081 |
try_compound = TRUE; |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1082 |
compflags[sp->ts_complen] = ((unsigned)flags >> 24); |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1083 |
*** ../vim-7.2.059/src/version.c Sun Nov 30 15:15:56 2008 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1084 |
--- src/version.c Sun Nov 30 21:09:23 2008 |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1085 |
*************** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1086 |
*** 678,679 **** |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1087 |
--- 678,681 ---- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1088 |
{ /* Add new patch number below this line */ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1089 |
+ /**/ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1090 |
+ 60, |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1091 |
/**/ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1092 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1093 |
-- |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1094 |
DEAD PERSON: I'm getting better! |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1095 |
CUSTOMER: No, you're not -- you'll be stone dead in a moment. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1096 |
MORTICIAN: Oh, I can't take him like that -- it's against regulations. |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1097 |
The Quest for the Holy Grail (Monty Python) |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1098 |
|
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1099 |
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1100 |
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1101 |
\\\ download, build and distribute -- http://www.A-A-P.org /// |
172fc01ce997
7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1102 |
\\\ help me help AIDS victims -- http://ICCF-Holland.org /// |