changeset 479:147da3983fca

updated for version 7.0129
author vimboss
date Fri, 12 Aug 2005 19:48:49 +0000
parents 87ac4be38952
children bf5ba8a0cdee
files runtime/doc/uganda.txt src/ex_docmd.c src/spell.c
diffstat 3 files changed, 31 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/uganda.txt
+++ b/runtime/doc/uganda.txt
@@ -1,4 +1,4 @@
-*uganda.txt*    For Vim version 7.0aa.  Last change: 2005 Feb 24
+*uganda.txt*    For Vim version 7.0aa.  Last change: 2005 Aug 12
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -249,10 +249,11 @@ Europe:		Use a bank transfer if possible
 Credit Card:	You can use PayPal to send money with a Credit card.  This is
 		the most widely used Internet based payment system.  It's
 		really simple to use.  Use this link to find more info:
-			https://www.paypal.com/affil/pal=Bram%40moolenaar.net
+		    https://www.paypal.com/affil/pal=Bram%40iccf-holland.org
 		The e-mail address for sending the money to is:
-			Bram@iccf-holland.org
-		For amounts above $150 sending a cheque is preferred.
+		    Bram@iccf-holland.org
+		For amounts above 400 Euro ($500) sending a cheque is
+		preferred.
 
 Others:		Transfer to one of these accounts if possible:
 		    Postbank, account 4548774
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -10051,16 +10051,16 @@ ex_filetype(eap)
     {
 	if (*arg == 'o' || !filetype_detect)
 	{
-	    cmd_runtime((char_u *)FILETYPE_FILE, TRUE);
+	    source_runtime((char_u *)FILETYPE_FILE, TRUE);
 	    filetype_detect = TRUE;
 	    if (plugin)
 	    {
-		cmd_runtime((char_u *)FTPLUGIN_FILE, TRUE);
+		source_runtime((char_u *)FTPLUGIN_FILE, TRUE);
 		filetype_plugin = TRUE;
 	    }
 	    if (indent)
 	    {
-		cmd_runtime((char_u *)INDENT_FILE, TRUE);
+		source_runtime((char_u *)INDENT_FILE, TRUE);
 		filetype_indent = TRUE;
 	    }
 	}
@@ -10076,18 +10076,18 @@ ex_filetype(eap)
 	{
 	    if (plugin)
 	    {
-		cmd_runtime((char_u *)FTPLUGOF_FILE, TRUE);
+		source_runtime((char_u *)FTPLUGOF_FILE, TRUE);
 		filetype_plugin = FALSE;
 	    }
 	    if (indent)
 	    {
-		cmd_runtime((char_u *)INDOFF_FILE, TRUE);
+		source_runtime((char_u *)INDOFF_FILE, TRUE);
 		filetype_indent = FALSE;
 	    }
 	}
 	else
 	{
-	    cmd_runtime((char_u *)FTOFF_FILE, TRUE);
+	    source_runtime((char_u *)FTOFF_FILE, TRUE);
 	    filetype_detect = FALSE;
 	}
     }
--- a/src/spell.c
+++ b/src/spell.c
@@ -474,8 +474,10 @@ typedef struct suggest_S
 #define SCORE_REP	87	/* REP replacement */
 #define SCORE_SUBST	93	/* substitute a character */
 #define SCORE_SIMILAR	33	/* substitute a similar character */
+#define SCORE_SUBCOMP	33	/* substitute a composing character */
 #define SCORE_DEL	94	/* delete a character */
 #define SCORE_DELDUP	64	/* delete a duplicated character */
+#define SCORE_DELCOMP	28	/* delete a composing character */
 #define SCORE_INS	96	/* insert a character */
 #define SCORE_INSDUP	66	/* insert a duplicate character */
 #define SCORE_INSCOMP	30	/* insert a composing character */
@@ -7740,9 +7742,23 @@ suggest_try_change(su)
 						+ MB_BYTE2LEN(
 						    fword[sp->ts_fcharstart]);
 
+				    /* For changing a composing character
+				     * adjust the score from SCORE_SUBST to
+				     * SCORE_SUBCOMP. */
+				    if (enc_utf8
+					    && utf_iscomposing(
+						mb_ptr2char(tword
+						    + sp->ts_twordlen
+							   - sp->ts_tcharlen))
+					    && utf_iscomposing(
+						mb_ptr2char(fword
+							+ sp->ts_fcharstart)))
+					sp->ts_score -=
+						  SCORE_SUBST - SCORE_SUBCOMP;
+
 				    /* For a similar character adjust score
 				     * from SCORE_SUBST to SCORE_SIMILAR. */
-				    if (lp->lp_slang->sl_has_map
+				    else if (lp->lp_slang->sl_has_map
 					    && similar_chars(lp->lp_slang,
 						mb_ptr2char(tword
 						    + sp->ts_twordlen
@@ -7825,7 +7841,9 @@ suggest_try_change(su)
 		    {
 			c = mb_ptr2char(fword + sp->ts_fidx);
 			stack[depth].ts_fidx += MB_BYTE2LEN(fword[sp->ts_fidx]);
-			if (c == mb_ptr2char(fword + stack[depth].ts_fidx))
+			if (enc_utf8 && utf_iscomposing(c))
+			    stack[depth].ts_score -= SCORE_DEL - SCORE_DELCOMP;
+			else if (c == mb_ptr2char(fword + stack[depth].ts_fidx))
 			    stack[depth].ts_score -= SCORE_DEL - SCORE_DELDUP;
 		    }
 		    else