summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2005-08-22 22:59:46 +0000
committerBram Moolenaar <Bram@vim.org>2005-08-22 22:59:46 +0000
commita6c840d7d4d51af2a15f64db5e5b908457b572cf (patch)
tree5779c3b1a4aa0cad9d46e56f85add8826d6b181a
parente52325c254d929c7c8d68efb9ace0c7868433675 (diff)
updated for version 7.0134v7.0134
-rw-r--r--runtime/doc/spell.txt19
-rw-r--r--runtime/doc/tags1
-rw-r--r--runtime/doc/todo.txt49
-rw-r--r--src/Makefile4
-rw-r--r--src/eval.c12
-rw-r--r--src/testdir/test58.in6
-rw-r--r--src/testdir/test58.ok18
-rw-r--r--src/version.h4
8 files changed, 90 insertions, 23 deletions
diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt
index f49abd300e..04b3132499 100644
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -1,4 +1,4 @@
-*spell.txt* For Vim version 7.0aa. Last change: 2005 Aug 21
+*spell.txt* For Vim version 7.0aa. Last change: 2005 Aug 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -927,6 +927,19 @@ examples with the sequence of word flags they require:
COMPOUNDFLAGS sm*e se sme smme smmme etc.
COMPOUNDFLAGS s[xyz]*e se sxe sxye sxyxe sye syze sze szye szyxe etc.
+A specific example: Allow a compound to be made of two words and a dash:
+ In the .aff file:
+ COMPOUNDFLAGS sde ~
+ NEEDAFFIX x ~
+ COMPOUNDMAX 3 ~
+ COMPOUNDMIN 1 ~
+ In the .dic file:
+ start/s ~
+ end/e ~
+ -/xd ~
+
+This allows for the word "start-end", but not "startend".
+
*spell-COMPOUNDMIN*
The minimal byte length of a word used for concatenation is specified with
COMPOUNDMIN. Example:
@@ -954,6 +967,10 @@ with COMPOUNDSYLMAX. Example:
This has no effect if there is no SYLLABLE item. Without COMPOUNDSYLMAX there
is no limit on the number of syllables.
+If both COMPOUNDMAX and COMPOUNDSYLMAX are defined, a compound word is
+accepted if it fits one of the criteria, thus is either made from up to
+COMPOUNDMAX words or contains up to COMPOUNDSYLMAX syllables.
+
*spell-SYLLABLE*
The SYLLABLE item defines characters or character sequences that are used to
count the number of syllables in a word. Example:
diff --git a/runtime/doc/tags b/runtime/doc/tags
index d996509471..f18ce2424a 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5219,7 +5219,6 @@ hebrew hebrew.txt /*hebrew*
hebrew.txt hebrew.txt /*hebrew.txt*
help various.txt /*help*
help-context help.txt /*help-context*
-help-tags tags 1
help-translated various.txt /*help-translated*
help-xterm-window various.txt /*help-xterm-window*
help.txt help.txt /*help.txt*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 6d0e70ac34..362c7e395c 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.0aa. Last change: 2005 Aug 21
+*todo.txt* For Vim version 7.0aa. Last change: 2005 Aug 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -31,7 +31,54 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
-------------------- Known bugs and current work -----------------------
Spelling:
+- For Thai: Use longest matching word without checking that non-word character
+ is following. If there is no match, look for character at which there is a
+ match, the chars up to there are marked as bad.
+
+- ALLCAP: for German replace sharp s with SS. Can we do that always?
+
+- Compound word is accepted if nr of words is <= COMPOUNDMAX OR nr of
+ syllables <= COMPOUNDSYLMAX. Specify AND in the affix file?
+
+- Much of the spell-checking code is repeated in the suggestion code. Can
+ this be merged?
+
+- Do we need a flag for the rule that when compounding is done the following
+ word doesn't have a capital after a word character, even for Onecap words?
+
- New hunspell home page: http://hunspell.sourceforge.net/
+- Also see tklspell: http://tkltrans.sourceforge.net/
+
+- Lots of code depends on LANG, that isn't right. Enable each mechanism
+ in the affix file separately.
+- Make COMPOUNDMIN 3 characters instead of 3 bytes?
+- Example with compounding dash is bad, gets in the way of setting
+ COMPOUNDMIN and COMPOUNDMAX to a reasonable value.
+- COMPOUNDMAX -> COMPOUNDWORDMAX?
+- PSEUDOROOT == NEEDAFFIX
+- ONLYINCOMPOUND -> NEEDCOMPOUND (also used for affix? or use "needcomp"
+ after affix)
+- Use "comp" flag on affix to allow compounding for word that uses this
+ affix. However, also need to define which compound flag to be used.
+ "comp/m"? Alternative: use flags after add string.
+- CIRCUMFIX: when a word uses a prefix marked with the CIRCUMFIX flag,
+ then the word must also have a suffix marked with the CIRCUMFIX flag.
+ It's a bit primitive, since only one flag is used, which doesn't allow
+ matching specific prefixes with suffixes.
+ Alternative:
+ PSFX {flag} {pchop} {padd} {pcond} {schop} {sadd}[/flags] {scond}
+- Support two suffixes by adding "/flags" to add part of suffix.
+- When a suffix has more than one syllable, it may count as a word for
+ COMPOUNDMAX.
+- Add flags to count extra syllables in a word. SYLLABLEADDONE
+ SYLLABLEADDTWO, etc.? Or make it possible to specify the syllable count
+ of a word directly, after another slash: /abc/3
+- MORPHO items ignores morphological items: after word and affix
+- Support flags of two characters, numbers (comma separated) and HUH
+ flags: [^A-Z], A[^A-Z], ..., Z[^A-Z]? Problem: room in idxs[]!
+ FLAG long
+ FLAG num
+ FLAG mix
- Implement multiple flags for compound words and CMP item?
Await comments from other spell checking authors.
diff --git a/src/Makefile b/src/Makefile
index 72f036b29d..cebbbc3d7c 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1844,8 +1844,8 @@ installtutor: $(DEST_VIM) $(DEST_RT) $(DEST_TUTOR)
# spell file is there.
installspell: $(DEST_VIM) $(DEST_RT) $(DEST_SPELL)
if test -f $(SPELLSOURCE)/en.latin1.spl; then \
- $(INSTALL_DATA) $(SPELLSOURCE)/*.spl *.vim $(DEST_SPELL); \
- chmod $(HELPMOD) $(DEST_SPELL)/*.spl *.vim; \
+ $(INSTALL_DATA) $(SPELLSOURCE)/*.spl $(SPELLSOURCE)/*.vim $(DEST_SPELL); \
+ chmod $(HELPMOD) $(DEST_SPELL)/*.spl $(DEST_SPELL)/*.vim; \
fi
# install helper program xxd
diff --git a/src/eval.c b/src/eval.c
index 3cb3bd7e1f..a7fc6b31d4 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -11944,6 +11944,14 @@ f_prevnonblank(argvars, rettv)
rettv->vval.v_number = lnum;
}
+#ifdef HAVE_STDARG_H
+/* This dummy va_list is here because:
+ * - passing a NULL pointer doesn't work when va_list isn't a pointer
+ * - locally in the function results in a "used before set" warning
+ * - using va_start() to initialize it gives "function with fixed args" error */
+static va_list ap;
+#endif
+
/*
* "printf()" function
*/
@@ -11961,10 +11969,6 @@ f_printf(argvars, rettv)
char_u *s;
int saved_did_emsg = did_emsg;
char *fmt;
- va_list ap; /* dummy */
-
- /* Avoid warning for "ap" used before set; it's unused. */
- va_start(ap, rettv);
/* Get the required length, allocate the buffer and do it for real. */
did_emsg = FALSE;
diff --git a/src/testdir/test58.in b/src/testdir/test58.in
index 1beb457360..530b27a05c 100644
--- a/src/testdir/test58.in
+++ b/src/testdir/test58.in
@@ -120,7 +120,7 @@ gg:/^compdicstart/+1,/^compdicend/-1w! Xtest.dic
1GyG:q
:$put
/^comptest:
-:for i in range(12)
+:for i in range(11)
normal ]smm
let str = spellbadword()
$put =str
@@ -481,9 +481,11 @@ word util
wordutil wordutils wordutilize
pro pro-ok
bork borkbork borkborkbork borkborkborkbork borkborkborkborkbork
+borkborkborkborkborkbork
tomato tomatotomato tomatotomatotomato
-startend endstart endend startstart
+startend endstart endend startstart wordend
startword startwordword wordstart startwordend startwordwordend
+startwordwordwordend startwordwordwordwordend
prebork preborkprebork preborkborkprebork preborkpreborkbork
borkpreborkpreborkbork
diff --git a/src/testdir/test58.ok b/src/testdir/test58.ok
index 4a1f94835a..570ab7d7e3 100644
--- a/src/testdir/test58.ok
+++ b/src/testdir/test58.ok
@@ -87,23 +87,21 @@ wordutilize
['word utilize', 'wordutils', 'wordutil']
pro
['bork', 'end', 'word']
-borkborkborkbork
-['borkbork borkbork', 'borkborkbork bork', 'bork borkborkbork']
-borkborkborkborkbork
-['borkbork borkborkbork', 'borkborkbork borkbork', 'bork borkborkbork bork']
-tomatotomato
-['tomatotomato', 'tomato tomato']
+borkborkborkborkborkbork
+['borkbork borkborkborkbork', 'borkborkbork borkborkbork', 'borkborkborkborkbork bork']
tomatotomatotomato
-['tomatotomatotomato', 'tomato tomatotomato', 'tomatotomato tomato']
+['tomato tomatotomato', 'tomatotomato tomato', 'tomato tomato tomato']
endstart
['end start', 'start']
endend
['end end', 'end']
startstart
['start start']
+wordend
+['word end', 'wordword', 'word']
wordstart
['word start', 'bork start']
-startwordwordend
-['startwordword end', 'startwordword', 'start wordword end']
+startwordwordwordwordend
+['startwordwordwordword end', 'startwordwordwordword', 'start wordwordwordword end']
borkpreborkpreborkbork
-['bork preborkpreborkbork', 'borkpreborkprebork bork', 'borkprebork preborkbork']
+['borkpreborkprebork bork', 'borkprebork preborkbork', 'bork preborkpreborkbork']
diff --git a/src/version.h b/src/version.h
index 336d3b2709..7e4ca1483e 100644
--- a/src/version.h
+++ b/src/version.h
@@ -36,5 +36,5 @@
#define VIM_VERSION_NODOT "vim70aa"
#define VIM_VERSION_SHORT "7.0aa"
#define VIM_VERSION_MEDIUM "7.0aa ALPHA"
-#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Aug 22)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Aug 22, compiled "
+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Aug 23)"
+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Aug 23, compiled "