]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
updated for version 7.3.927 v7.3.927
authorBram Moolenaar <Bram@vim.org>
Mon, 6 May 2013 03:50:28 +0000 (05:50 +0200)
committerBram Moolenaar <Bram@vim.org>
Mon, 6 May 2013 03:50:28 +0000 (05:50 +0200)
Problem:    Missing combining characters when putting text in a register.
Solution:   Include combining characters. (David Bürgin)

src/getchar.c
src/testdir/test44.in
src/testdir/test44.ok
src/version.c

index ba034bf2e8eefe518081a0b353314cde74a4af9e..946e757d647797024b2933954b10588cf40017eb 100644 (file)
@@ -4616,9 +4616,21 @@ vim_strsave_escape_csi(p)
            }
            else
            {
+#ifdef FEAT_MBYTE
+               int len  = mb_char2len(PTR2CHAR(s));
+               int len2 = mb_ptr2len(s);
+#endif
                /* Add character, possibly multi-byte to destination, escaping
                 * CSI and K_SPECIAL. */
                d = add_char2buf(PTR2CHAR(s), d);
+#ifdef FEAT_MBYTE
+               while (len < len2)
+               {
+                   /* add following combining char */
+                   d = add_char2buf(PTR2CHAR(s + len), d);
+                   len += mb_char2len(PTR2CHAR(s + len));
+               }
+#endif
                mb_ptr_adv(s);
            }
        }
index e4868697d682cc14149262398c83e343e1393f90..0c5b6db04d2a71c75b0330acd718f936eee70862 100644 (file)
@@ -32,7 +32,9 @@ x/ [[=a=]]* [[=b=]]* [[=c=]]* [[=d=]]* [[=e=]]* [[=f=]]* [[=g=]]* [[=h=]]* [[=i=
 x:" Test backwards search from a multi-byte char
 /x
 x?.
-x:?^1?,$w! test.out
+x:let @w=':%s#comb[i]nations#œ̄ṣ́m̥̄ᾱ̆́#g'
+:@w
+:?^1?,$w! test.out
 :e! test.out
 G:put =matchstr(\"אבגד\", \".\", 0, 2) " ב
 :put =matchstr(\"אבגד\", \"..\", 0, 2) " בג
@@ -61,3 +63,4 @@ g a啷bb
 h AÀÁÂÃÄÅĀĂĄǍǞǠẢ BḂḆ CÇĆĈĊČ DĎĐḊḎḐ EÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÌÍÎÏĨĪĬĮİǏỈ JĴ KĶǨḰḴ LĹĻĽĿŁḺ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎŐƠǑǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ VṼ WŴẀẂẄẆ XẊẌ YÝŶŸẎỲỶỸ ZŹŻŽƵẐẔ
 i aàáâãäåāăąǎǟǡả bḃḇ cçćĉċč dďđḋḏḑ eèéêëēĕėęěẻẽ fḟ gĝğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįǐỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṁ nñńņňʼnṅṉ oòóôõöøōŏőơǒǫǭỏ pṕṗ q rŕŗřṙṟ sśŝşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vṽ wŵẁẃẅẇẘ xẋẍ yýÿŷẏẙỳỷỹ zźżžƶẑẕ
 j 0123❤x
+k combinations
index d98ac2ef5d426b8217ff776044d4072f3f590259..0bd0b8ab7341ca9d34a028111fc33250054eb53c 100644 (file)
@@ -17,6 +17,7 @@ g abb
 h AÀÁÂÃÄÅĀĂĄǍǞǠẢ BḂḆ CÇĆĈĊČ DĎĐḊḎḐ EÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÌÍÎÏĨĪĬĮİǏỈ JĴ KĶǨḰḴ LĹĻĽĿŁḺ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎŐƠǑǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ VṼ WŴẀẂẄẆ XẊẌ YÝŶŸẎỲỶỸ ZŹŻŽƵẐ
 i aàáâãäåāăąǎǟǡả bḃḇ cçćĉċč dďđḋḏḑ eèéêëēĕėęěẻẽ fḟ gĝğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįǐỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṁ nñńņňʼnṅṉ oòóôõöøōŏőơǒǫǭỏ pṕṗ q rŕŗřṙṟ sśŝşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vṽ wŵẁẃẅẇẘ xẋẍ yýÿŷẏẙỳỷỹ zźżžƶẑ
 j 012❤
+k œ̄ṣ́m̥̄ᾱ̆́
 ב
 בג
 א
index 02d93d924a587b61b7593f200d69e76582a8fae5..76d60a74df4cca386dd81977e4abaf72ed1ba4f6 100644 (file)
@@ -728,6 +728,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    927,
 /**/
     926,
 /**/