mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-17 11:20:39 -08:00
Use "ASET (a, i, v)" rather than "AREF (a, i) = v".
This how ASET and AREF are supposed to work, and makes it easier to think about future improvements. See <http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00026.html>. * charset.h (set_charset_attr): New function. All lvalue-style uses of CHARSET_DECODER etc. changed to use it. * lisp.h (ASET): Rewrite so as not to use AREF in an lvalue style. (aref_addr): New function. All uses of &AREF(...) changed. (set_hash_key, set_hash_value, set_hash_next, set_hash_hash) (set_hash_index): New functions. All lvalue-style uses of HASH_KEY etc. changed. * keyboard.c (set_prop): New function. All lvalue-style uses of PROP changed.
This commit is contained in:
parent
947b2afddc
commit
4939150cb4
17 changed files with 266 additions and 189 deletions
89
src/coding.c
89
src/coding.c
|
|
@ -2674,8 +2674,8 @@ encode_coding_emacs_mule (struct coding_system *coding)
|
|||
CODING_GET_INFO (coding, attrs, charset_list);
|
||||
if (! EQ (charset_list, Vemacs_mule_charset_list))
|
||||
{
|
||||
CODING_ATTR_CHARSET_LIST (attrs)
|
||||
= charset_list = Vemacs_mule_charset_list;
|
||||
charset_list = Vemacs_mule_charset_list;
|
||||
ASET (attrs, coding_attr_charset_list, charset_list);
|
||||
}
|
||||
|
||||
while (charbuf < charbuf_end)
|
||||
|
|
@ -2967,8 +2967,8 @@ setup_iso_safe_charsets (Lisp_Object attrs)
|
|||
if ((flags & CODING_ISO_FLAG_FULL_SUPPORT)
|
||||
&& ! EQ (charset_list, Viso_2022_charset_list))
|
||||
{
|
||||
CODING_ATTR_CHARSET_LIST (attrs)
|
||||
= charset_list = Viso_2022_charset_list;
|
||||
charset_list = Viso_2022_charset_list;
|
||||
ASET (attrs, coding_attr_charset_list, charset_list);
|
||||
ASET (attrs, coding_attr_safe_charsets, Qnil);
|
||||
}
|
||||
|
||||
|
|
@ -9603,16 +9603,16 @@ usage: (define-coding-system-internal ...) */)
|
|||
|
||||
name = args[coding_arg_name];
|
||||
CHECK_SYMBOL (name);
|
||||
CODING_ATTR_BASE_NAME (attrs) = name;
|
||||
ASET (attrs, coding_attr_base_name, name);
|
||||
|
||||
val = args[coding_arg_mnemonic];
|
||||
if (! STRINGP (val))
|
||||
CHECK_CHARACTER (val);
|
||||
CODING_ATTR_MNEMONIC (attrs) = val;
|
||||
ASET (attrs, coding_attr_mnemonic, val);
|
||||
|
||||
coding_type = args[coding_arg_coding_type];
|
||||
CHECK_SYMBOL (coding_type);
|
||||
CODING_ATTR_TYPE (attrs) = coding_type;
|
||||
ASET (attrs, coding_attr_type, coding_type);
|
||||
|
||||
charset_list = args[coding_arg_charset_list];
|
||||
if (SYMBOLP (charset_list))
|
||||
|
|
@ -9659,49 +9659,49 @@ usage: (define-coding-system-internal ...) */)
|
|||
max_charset_id = charset->id;
|
||||
}
|
||||
}
|
||||
CODING_ATTR_CHARSET_LIST (attrs) = charset_list;
|
||||
ASET (attrs, coding_attr_charset_list, charset_list);
|
||||
|
||||
safe_charsets = make_uninit_string (max_charset_id + 1);
|
||||
memset (SDATA (safe_charsets), 255, max_charset_id + 1);
|
||||
for (tail = charset_list; CONSP (tail); tail = XCDR (tail))
|
||||
SSET (safe_charsets, XFASTINT (XCAR (tail)), 0);
|
||||
CODING_ATTR_SAFE_CHARSETS (attrs) = safe_charsets;
|
||||
ASET (attrs, coding_attr_safe_charsets, safe_charsets);
|
||||
|
||||
CODING_ATTR_ASCII_COMPAT (attrs) = args[coding_arg_ascii_compatible_p];
|
||||
ASET (attrs, coding_attr_ascii_compat, args[coding_arg_ascii_compatible_p]);
|
||||
|
||||
val = args[coding_arg_decode_translation_table];
|
||||
if (! CHAR_TABLE_P (val) && ! CONSP (val))
|
||||
CHECK_SYMBOL (val);
|
||||
CODING_ATTR_DECODE_TBL (attrs) = val;
|
||||
ASET (attrs, coding_attr_decode_tbl, val);
|
||||
|
||||
val = args[coding_arg_encode_translation_table];
|
||||
if (! CHAR_TABLE_P (val) && ! CONSP (val))
|
||||
CHECK_SYMBOL (val);
|
||||
CODING_ATTR_ENCODE_TBL (attrs) = val;
|
||||
ASET (attrs, coding_attr_encode_tbl, val);
|
||||
|
||||
val = args[coding_arg_post_read_conversion];
|
||||
CHECK_SYMBOL (val);
|
||||
CODING_ATTR_POST_READ (attrs) = val;
|
||||
ASET (attrs, coding_attr_post_read, val);
|
||||
|
||||
val = args[coding_arg_pre_write_conversion];
|
||||
CHECK_SYMBOL (val);
|
||||
CODING_ATTR_PRE_WRITE (attrs) = val;
|
||||
ASET (attrs, coding_attr_pre_write, val);
|
||||
|
||||
val = args[coding_arg_default_char];
|
||||
if (NILP (val))
|
||||
CODING_ATTR_DEFAULT_CHAR (attrs) = make_number (' ');
|
||||
ASET (attrs, coding_attr_default_char, make_number (' '));
|
||||
else
|
||||
{
|
||||
CHECK_CHARACTER (val);
|
||||
CODING_ATTR_DEFAULT_CHAR (attrs) = val;
|
||||
ASET (attrs, coding_attr_default_char, val);
|
||||
}
|
||||
|
||||
val = args[coding_arg_for_unibyte];
|
||||
CODING_ATTR_FOR_UNIBYTE (attrs) = NILP (val) ? Qnil : Qt;
|
||||
ASET (attrs, coding_attr_for_unibyte, NILP (val) ? Qnil : Qt);
|
||||
|
||||
val = args[coding_arg_plist];
|
||||
CHECK_LIST (val);
|
||||
CODING_ATTR_PLIST (attrs) = val;
|
||||
ASET (attrs, coding_attr_plist, val);
|
||||
|
||||
if (EQ (coding_type, Qcharset))
|
||||
{
|
||||
|
|
@ -9726,7 +9726,7 @@ usage: (define-coding-system-internal ...) */)
|
|||
int idx = (dim - 1) * 4;
|
||||
|
||||
if (CHARSET_ASCII_COMPATIBLE_P (charset))
|
||||
CODING_ATTR_ASCII_COMPAT (attrs) = Qt;
|
||||
ASET (attrs, coding_attr_ascii_compat, Qt);
|
||||
|
||||
for (i = charset->code_space[idx];
|
||||
i <= charset->code_space[idx + 1]; i++)
|
||||
|
|
@ -9824,7 +9824,7 @@ usage: (define-coding-system-internal ...) */)
|
|||
{
|
||||
Lisp_Object bom, endian;
|
||||
|
||||
CODING_ATTR_ASCII_COMPAT (attrs) = Qnil;
|
||||
ASET (attrs, coding_attr_ascii_compat, Qnil);
|
||||
|
||||
if (nargs < coding_arg_utf16_max)
|
||||
goto short_args;
|
||||
|
|
@ -9877,7 +9877,7 @@ usage: (define-coding-system-internal ...) */)
|
|||
CHECK_CHARSET_GET_CHARSET (val, charset);
|
||||
ASET (initial, i, make_number (CHARSET_ID (charset)));
|
||||
if (i == 0 && CHARSET_ASCII_COMPATIBLE_P (charset))
|
||||
CODING_ATTR_ASCII_COMPAT (attrs) = Qt;
|
||||
ASET (attrs, coding_attr_ascii_compat, Qt);
|
||||
}
|
||||
else
|
||||
ASET (initial, i, make_number (-1));
|
||||
|
|
@ -9938,13 +9938,13 @@ usage: (define-coding-system-internal ...) */)
|
|||
}
|
||||
if (category != coding_category_iso_8_1
|
||||
&& category != coding_category_iso_8_2)
|
||||
CODING_ATTR_ASCII_COMPAT (attrs) = Qnil;
|
||||
ASET (attrs, coding_attr_ascii_compat, Qnil);
|
||||
}
|
||||
else if (EQ (coding_type, Qemacs_mule))
|
||||
{
|
||||
if (EQ (args[coding_arg_charset_list], Qemacs_mule))
|
||||
ASET (attrs, coding_attr_emacs_mule_full, Qt);
|
||||
CODING_ATTR_ASCII_COMPAT (attrs) = Qt;
|
||||
ASET (attrs, coding_attr_ascii_compat, Qt);
|
||||
category = coding_category_emacs_mule;
|
||||
}
|
||||
else if (EQ (coding_type, Qshift_jis))
|
||||
|
|
@ -9961,7 +9961,7 @@ usage: (define-coding-system-internal ...) */)
|
|||
error ("Dimension of charset %s is not one",
|
||||
SDATA (SYMBOL_NAME (CHARSET_NAME (charset))));
|
||||
if (CHARSET_ASCII_COMPATIBLE_P (charset))
|
||||
CODING_ATTR_ASCII_COMPAT (attrs) = Qt;
|
||||
ASET (attrs, coding_attr_ascii_compat, Qt);
|
||||
|
||||
charset_list = XCDR (charset_list);
|
||||
charset = CHARSET_FROM_ID (XINT (XCAR (charset_list)));
|
||||
|
|
@ -9999,7 +9999,7 @@ usage: (define-coding-system-internal ...) */)
|
|||
error ("Dimension of charset %s is not one",
|
||||
SDATA (SYMBOL_NAME (CHARSET_NAME (charset))));
|
||||
if (CHARSET_ASCII_COMPATIBLE_P (charset))
|
||||
CODING_ATTR_ASCII_COMPAT (attrs) = Qt;
|
||||
ASET (attrs, coding_attr_ascii_compat, Qt);
|
||||
|
||||
charset_list = XCDR (charset_list);
|
||||
charset = CHARSET_FROM_ID (XINT (XCAR (charset_list)));
|
||||
|
|
@ -10013,7 +10013,7 @@ usage: (define-coding-system-internal ...) */)
|
|||
else if (EQ (coding_type, Qraw_text))
|
||||
{
|
||||
category = coding_category_raw_text;
|
||||
CODING_ATTR_ASCII_COMPAT (attrs) = Qt;
|
||||
ASET (attrs, coding_attr_ascii_compat, Qt);
|
||||
}
|
||||
else if (EQ (coding_type, Qutf_8))
|
||||
{
|
||||
|
|
@ -10033,7 +10033,7 @@ usage: (define-coding-system-internal ...) */)
|
|||
}
|
||||
ASET (attrs, coding_attr_utf_bom, bom);
|
||||
if (NILP (bom))
|
||||
CODING_ATTR_ASCII_COMPAT (attrs) = Qt;
|
||||
ASET (attrs, coding_attr_ascii_compat, Qt);
|
||||
|
||||
category = (CONSP (bom) ? coding_category_utf_8_auto
|
||||
: NILP (bom) ? coding_category_utf_8_nosig
|
||||
|
|
@ -10045,14 +10045,15 @@ usage: (define-coding-system-internal ...) */)
|
|||
error ("Invalid coding system type: %s",
|
||||
SDATA (SYMBOL_NAME (coding_type)));
|
||||
|
||||
CODING_ATTR_CATEGORY (attrs) = make_number (category);
|
||||
CODING_ATTR_PLIST (attrs)
|
||||
= Fcons (QCcategory, Fcons (AREF (Vcoding_category_table, category),
|
||||
CODING_ATTR_PLIST (attrs)));
|
||||
CODING_ATTR_PLIST (attrs)
|
||||
= Fcons (QCascii_compatible_p,
|
||||
Fcons (CODING_ATTR_ASCII_COMPAT (attrs),
|
||||
CODING_ATTR_PLIST (attrs)));
|
||||
ASET (attrs, coding_attr_category, make_number (category));
|
||||
ASET (attrs, coding_attr_plist,
|
||||
Fcons (QCcategory,
|
||||
Fcons (AREF (Vcoding_category_table, category),
|
||||
CODING_ATTR_PLIST (attrs))));
|
||||
ASET (attrs, coding_attr_plist,
|
||||
Fcons (QCascii_compatible_p,
|
||||
Fcons (CODING_ATTR_ASCII_COMPAT (attrs),
|
||||
CODING_ATTR_PLIST (attrs))));
|
||||
|
||||
eol_type = args[coding_arg_eol_type];
|
||||
if (! NILP (eol_type)
|
||||
|
|
@ -10126,7 +10127,7 @@ DEFUN ("coding-system-put", Fcoding_system_put, Scoding_system_put,
|
|||
{
|
||||
if (! STRINGP (val))
|
||||
CHECK_CHARACTER (val);
|
||||
CODING_ATTR_MNEMONIC (attrs) = val;
|
||||
ASET (attrs, coding_attr_mnemonic, val);
|
||||
}
|
||||
else if (EQ (prop, QCdefault_char))
|
||||
{
|
||||
|
|
@ -10134,37 +10135,37 @@ DEFUN ("coding-system-put", Fcoding_system_put, Scoding_system_put,
|
|||
val = make_number (' ');
|
||||
else
|
||||
CHECK_CHARACTER (val);
|
||||
CODING_ATTR_DEFAULT_CHAR (attrs) = val;
|
||||
ASET (attrs, coding_attr_default_char, val);
|
||||
}
|
||||
else if (EQ (prop, QCdecode_translation_table))
|
||||
{
|
||||
if (! CHAR_TABLE_P (val) && ! CONSP (val))
|
||||
CHECK_SYMBOL (val);
|
||||
CODING_ATTR_DECODE_TBL (attrs) = val;
|
||||
ASET (attrs, coding_attr_decode_tbl, val);
|
||||
}
|
||||
else if (EQ (prop, QCencode_translation_table))
|
||||
{
|
||||
if (! CHAR_TABLE_P (val) && ! CONSP (val))
|
||||
CHECK_SYMBOL (val);
|
||||
CODING_ATTR_ENCODE_TBL (attrs) = val;
|
||||
ASET (attrs, coding_attr_encode_tbl, val);
|
||||
}
|
||||
else if (EQ (prop, QCpost_read_conversion))
|
||||
{
|
||||
CHECK_SYMBOL (val);
|
||||
CODING_ATTR_POST_READ (attrs) = val;
|
||||
ASET (attrs, coding_attr_post_read, val);
|
||||
}
|
||||
else if (EQ (prop, QCpre_write_conversion))
|
||||
{
|
||||
CHECK_SYMBOL (val);
|
||||
CODING_ATTR_PRE_WRITE (attrs) = val;
|
||||
ASET (attrs, coding_attr_pre_write, val);
|
||||
}
|
||||
else if (EQ (prop, QCascii_compatible_p))
|
||||
{
|
||||
CODING_ATTR_ASCII_COMPAT (attrs) = val;
|
||||
ASET (attrs, coding_attr_ascii_compat, val);
|
||||
}
|
||||
|
||||
CODING_ATTR_PLIST (attrs)
|
||||
= Fplist_put (CODING_ATTR_PLIST (attrs), prop, val);
|
||||
ASET (attrs, coding_attr_plist,
|
||||
Fplist_put (CODING_ATTR_PLIST (attrs), prop, val));
|
||||
return val;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue