# HG changeset patch
# User Richard M. Stallman <rms@gnu.org>
# Date 884021139 0
# Node ID bf079eb81bd3d8cdc429e58e2beeaecd84bd9a82
# Parent  3acb053e757eee3e4d4c6468ce204f16597b500f
(Fexpand_abbrev): Pass both kinds of size to oblookup.

(Fexpand_abbrev): Pass new args to insert_from_string.
(Funexpand_abbrev): Likewise.  Use size_byte.

diff -r 3acb053e757e -r bf079eb81bd3 src/abbrev.c
--- a/src/abbrev.c	Mon Jan 05 17:23:54 1998 +0000
+++ b/src/abbrev.c	Mon Jan 05 17:25:39 1998 +0000
@@ -284,11 +284,13 @@
     }
 
   if (VECTORP (current_buffer->abbrev_table))
-    sym = oblookup (current_buffer->abbrev_table, buffer, p - buffer);
+    sym = oblookup (current_buffer->abbrev_table, buffer,
+		    wordend - wordstart, wordend_byte - wordstart_byte);
   else
     XSETFASTINT (sym, 0);
   if (INTEGERP (sym) || NILP (XSYMBOL (sym)->value))
-    sym = oblookup (Vglobal_abbrev_table, buffer, p - buffer);
+    sym = oblookup (Vglobal_abbrev_table, buffer,
+		    wordend - wordstart, wordend_byte - wordstart_byte);
   if (INTEGERP (sym) || NILP (XSYMBOL (sym)->value))
     return value;
 
@@ -321,7 +323,8 @@
 
       del_range_both (wordstart, wordend, wordstart_byte, wordend_byte, 1);
 
-      insert_from_string (expansion, 0, XSTRING (expansion)->size, 1);
+      insert_from_string (expansion, 0, 0, XSTRING (expansion)->size,
+			  XSTRING (expansion)->size_byte, 1);
       SET_PT (PT + whitecnt);
 
       if (uccount && !lccount)
@@ -387,10 +390,11 @@
       if (!STRINGP (val))
 	error ("value of abbrev-symbol must be a string");
       zv_before = ZV;
-      del_range_byte (PT_BYTE, PT_BYTE + XSTRING (val)->size, 1);
+      del_range_byte (PT_BYTE, PT_BYTE + XSTRING (val)->size_byte, 1);
       /* Don't inherit properties here; just copy from old contents.  */
-      insert_from_string (Vlast_abbrev_text, 0,
-			  XSTRING (Vlast_abbrev_text)->size, 0);
+      insert_from_string (Vlast_abbrev_text, 0, 0,
+			  XSTRING (Vlast_abbrev_text)->size,
+			  XSTRING (Vlast_abbrev_text)->size_byte, 0);
       Vlast_abbrev_text = Qnil;
       /* Total number of characters deleted.  */
       adjust = ZV - zv_before;