# HG changeset patch # User Stefan Monnier # Date 1130125865 0 # Node ID a80af18dfc7ea4fc411e160b071475ffca0eb0f4 # Parent 83b1c90a7db46f7db1f93cf1c0110eca7f0f3cca (Fcompare_buffer_substrings): Handle multibyte chars. diff -r 83b1c90a7db4 -r a80af18dfc7e src/editfns.c --- a/src/editfns.c Mon Oct 24 03:37:47 2005 +0000 +++ b/src/editfns.c Mon Oct 24 03:51:05 2005 +0000 @@ -2472,9 +2472,9 @@ { register int begp1, endp1, begp2, endp2, temp; register struct buffer *bp1, *bp2; - register Lisp_Object *trt + register Lisp_Object trt = (!NILP (current_buffer->case_fold_search) - ? XCHAR_TABLE (current_buffer->case_canon_table)->contents : 0); + ? XCHAR_TABLE (current_buffer->case_canon_table) : Qnil); int chars = 0; int i1, i2, i1_byte, i2_byte; @@ -2593,10 +2593,10 @@ i2++; } - if (trt) + if (!NILP (trt)) { - c1 = XINT (trt[c1]); - c2 = XINT (trt[c2]); + c1 = CHAR_TABLE_TRANSLATE (trt, c1); + c2 = CHAR_TABLE_TRANSLATE (trt, c2); } if (c1 < c2) return make_number (- 1 - chars);