(Fexpand_abbrev): Pass both kinds of size to oblookup.
(Fexpand_abbrev): Pass new args to insert_from_string. (Funexpand_abbrev): Likewise. Use size_byte.
This commit is contained in:
16
src/abbrev.c
16
src/abbrev.c
@@ -284,11 +284,13 @@ Returns the abbrev symbol, if expansion took place.")
|
||||
}
|
||||
|
||||
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 @@ Returns the abbrev symbol, if expansion took place.")
|
||||
|
||||
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 @@ is not undone.")
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user