summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2005-04-20 19:48:33 +0000
committerBram Moolenaar <Bram@vim.org>2005-04-20 19:48:33 +0000
commit54ff3419c7836d2668444f9ac893b3722d54d8c4 (patch)
treecbcb39e99d1c5bd6b078d49d705cdc5835a1e143
parent9d0ec2e49a83161f0c75e87381ba1499bc21ecbc (diff)
updated for version 7.0069v7.0069
-rw-r--r--runtime/doc/todo.txt26
-rw-r--r--src/eval.c12
2 files changed, 15 insertions, 23 deletions
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index b4f586973c..345d88d397 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 Apr 19
+*todo.txt* For Vim version 7.0aa. Last change: 2005 Apr 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -103,29 +103,26 @@ PLANNED FOR VERSION 7.0:
- Add SPELLCHECKER, with support for many languages.
- Use "engspchk" from Charles Campbell for ideas.
- Spell checking code todo's:
- - Can have prefixes with addstring and suffixes with leadstring. Use
- separate basic word for this, like for different caps?
- Verify French spell checking works efficiently.
- - use BWF_ADDS and BWF_ADDSM for more than 256, only one byte for count.
- Implement user and project word lists. Commands to add words and to
mark words as wrong.
- Case folding only works when locale is set properly.
E.g., when C locale is active then 'enc' is "latin1" but Ångström
isn't seen as a ONECAP.
Use our own character tables for encodings used in spell files?
- Use iswupper() if possible?
+ Use iswupper() if possible? Same locale/'encoding' problems.
Put the character tables in the .aff file?
- Implement = flag in .dic: KEEPCASE for lower case word.
's morgens/= does not match 'S morgens
- Implement compound words?
- - remove fw_prefix and fw_suffix, use fw_len (word length) and put
- prefixes and suffixes right after it.
- Make "en-rare" spell file.
Convention: use en_US (language_region) and en-rare (language-field)
Add hl groups to 'spelllang'?
:set spelllang=en_us,en-rare/SpellRare,en-math/SpellMath
- - Polish: Anio and Hanio are wrong words, even though Myspell allows
- them. Problem with not ignoring case in conditions.
+ - How about making suggestions? Use an external program like aspell?
+ Or include the myspell suggestion code in Vim?
+ - Some word lists are inefficient. Remove affixes from a word when it
+ results in another basic word.
- References MySpell library (in OpenOffice.org).
http://spellchecker.mozdev.org/source.html
http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/
@@ -138,17 +135,12 @@ PLANNED FOR VERSION 7.0:
add word to private dict: wrong and OK (in popup menu for evim)
:spell good <word> zg
:spell wrong <word> zw
- [s move to previous spell error [S also rare word
- ]s move to next spell error ]S also rare word
- (only "]s" is currently implemented)
- Make this work like displaying, check @Spell in syntax.
- Support a count.
- Update option window for 'spell' and 'spelllang'.
- - Use an external program like aspell for suggestions to correct the
- spelling? Or include the myspell suggestion code in Vim?
- Distribution: Need wordlists for many languages; "language pack"
+ Put them on the ftp site, ready to download. Include README for
+ copyrights.
- Work together with OpenOffice.org to update the wordlists. (Adri
- Verhoef, Aad Nales)
+ Verhoef, Aad Nales) Setup vim-spell maillist?
- Support for approximate-regexps will help with finding similar words
(agrep http://www.tgries.de/agrep/).
- Charles Campbell asks for method to add "contained" groups to
diff --git a/src/eval.c b/src/eval.c
index 5311e8e5f5..edcb2fa44b 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -12996,7 +12996,7 @@ f_substitute(argvars, rettv)
}
/*
- * "synID(line, col, trans)" function
+ * "synID(lnum, col, trans)" function
*/
/*ARGSUSED*/
static void
@@ -13006,17 +13006,17 @@ f_synID(argvars, rettv)
{
int id = 0;
#ifdef FEAT_SYN_HL
- long line;
+ long lnum;
long col;
int trans;
- line = get_tv_lnum(argvars);
+ lnum = get_tv_lnum(argvars);
col = get_tv_number(&argvars[1]) - 1;
trans = get_tv_number(&argvars[2]);
- if (line >= 1 && line <= curbuf->b_ml.ml_line_count
- && col >= 0 && col < (long)STRLEN(ml_get(line)))
- id = syn_get_id(line, col, trans);
+ if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count
+ && col >= 0 && col < (long)STRLEN(ml_get(lnum)))
+ id = syn_get_id(lnum, (colnr_T)col, trans, NULL);
#endif
rettv->vval.v_number = id;