/* Primitives for word-abbrev mode.
- Copyright (C) 1985, 1986, 1993, 1996, 1998, 2001
+ Copyright (C) 1985, 1986, 1993, 1996, 1998, 2001,02,03,04
Free Software Foundation, Inc.
This file is part of GNU Emacs.
c = FETCH_BYTE (idx_byte);
idx++, idx_byte++;
}
-
+
if (UPPERCASEP (c))
c = DOWNCASE (c), uccount++;
else if (! NOCASEP (c))
{
SET_PT (wordstart);
- del_range_both (wordstart, wordstart_byte, wordend, wordend_byte, 1);
-
insert_from_string (expansion, 0, 0, SCHARS (expansion),
SBYTES (expansion), 1);
+ del_range_both (PT, PT_BYTE,
+ wordend + (PT - wordstart),
+ wordend_byte + (PT_BYTE - wordstart_byte),
+ 1);
+
SET_PT (PT + whitecnt);
if (uccount && !lccount)
a call to `define-abbrev-table', which would
define the abbrev table NAME exactly as it is currently defined.
-Abbrevs marked as "system abbrevs" are omitted. */)
+Abbrevs marked as "system abbrevs" are normally omitted. However, if
+READABLE is non-nil, they are listed. */)
(name, readable)
Lisp_Object name, readable;
{
}
CHECK_VECTOR (table);
- for (; !NILP (definitions); definitions = Fcdr (definitions))
+ for (; CONSP (definitions); definitions = XCDR (definitions))
{
- elt = Fcar (definitions);
+ elt = XCAR (definitions);
name = Fcar (elt); elt = Fcdr (elt);
exp = Fcar (elt); elt = Fcdr (elt);
hook = Fcar (elt); elt = Fcdr (elt);
defsubr (&Sinsert_abbrev_table_description);
defsubr (&Sdefine_abbrev_table);
}
+
+/* arch-tag: b721db69-f633-44a8-a361-c275acbdad7d
+ (do not change this comment) */