aboutsummaryrefslogtreecommitdiffstats
path: root/src/coding.c
diff options
context:
space:
mode:
authorPaul Eggert2012-08-01 13:51:44 -0700
committerPaul Eggert2012-08-01 13:51:44 -0700
commit4939150cb43137980c49b318bc70119b9d8ff6f7 (patch)
treebcee8eb23f3a6388789bd808a5539dae6e2fc854 /src/coding.c
parent947b2afddc9f54a999125aa7e8c9a705ecb51e18 (diff)
downloademacs-4939150cb43137980c49b318bc70119b9d8ff6f7.tar.gz
emacs-4939150cb43137980c49b318bc70119b9d8ff6f7.zip
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.
Diffstat (limited to 'src/coding.c')
-rw-r--r--src/coding.c89
1 files changed, 45 insertions, 44 deletions
diff --git a/src/coding.c b/src/coding.c
index e4ed65079d9..12a7cf93c46 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -2674,8 +2674,8 @@ encode_coding_emacs_mule (struct coding_system *coding)
2674 CODING_GET_INFO (coding, attrs, charset_list); 2674 CODING_GET_INFO (coding, attrs, charset_list);
2675 if (! EQ (charset_list, Vemacs_mule_charset_list)) 2675 if (! EQ (charset_list, Vemacs_mule_charset_list))
2676 { 2676 {
2677 CODING_ATTR_CHARSET_LIST (attrs) 2677 charset_list = Vemacs_mule_charset_list;
2678 = charset_list = Vemacs_mule_charset_list; 2678 ASET (attrs, coding_attr_charset_list, charset_list);
2679 } 2679 }
2680 2680
2681 while (charbuf < charbuf_end) 2681 while (charbuf < charbuf_end)
@@ -2967,8 +2967,8 @@ setup_iso_safe_charsets (Lisp_Object attrs)
2967 if ((flags & CODING_ISO_FLAG_FULL_SUPPORT) 2967 if ((flags & CODING_ISO_FLAG_FULL_SUPPORT)
2968 && ! EQ (charset_list, Viso_2022_charset_list)) 2968 && ! EQ (charset_list, Viso_2022_charset_list))
2969 { 2969 {
2970 CODING_ATTR_CHARSET_LIST (attrs) 2970 charset_list = Viso_2022_charset_list;
2971 = charset_list = Viso_2022_charset_list; 2971 ASET (attrs, coding_attr_charset_list, charset_list);
2972 ASET (attrs, coding_attr_safe_charsets, Qnil); 2972 ASET (attrs, coding_attr_safe_charsets, Qnil);
2973 } 2973 }
2974 2974
@@ -9603,16 +9603,16 @@ usage: (define-coding-system-internal ...) */)
9603 9603
9604 name = args[coding_arg_name]; 9604 name = args[coding_arg_name];
9605 CHECK_SYMBOL (name); 9605 CHECK_SYMBOL (name);
9606 CODING_ATTR_BASE_NAME (attrs) = name; 9606 ASET (attrs, coding_attr_base_name, name);
9607 9607
9608 val = args[coding_arg_mnemonic]; 9608 val = args[coding_arg_mnemonic];
9609 if (! STRINGP (val)) 9609 if (! STRINGP (val))
9610 CHECK_CHARACTER (val); 9610 CHECK_CHARACTER (val);
9611 CODING_ATTR_MNEMONIC (attrs) = val; 9611 ASET (attrs, coding_attr_mnemonic, val);
9612 9612
9613 coding_type = args[coding_arg_coding_type]; 9613 coding_type = args[coding_arg_coding_type];
9614 CHECK_SYMBOL (coding_type); 9614 CHECK_SYMBOL (coding_type);
9615 CODING_ATTR_TYPE (attrs) = coding_type; 9615 ASET (attrs, coding_attr_type, coding_type);
9616 9616
9617 charset_list = args[coding_arg_charset_list]; 9617 charset_list = args[coding_arg_charset_list];
9618 if (SYMBOLP (charset_list)) 9618 if (SYMBOLP (charset_list))
@@ -9659,49 +9659,49 @@ usage: (define-coding-system-internal ...) */)
9659 max_charset_id = charset->id; 9659 max_charset_id = charset->id;
9660 } 9660 }
9661 } 9661 }
9662 CODING_ATTR_CHARSET_LIST (attrs) = charset_list; 9662 ASET (attrs, coding_attr_charset_list, charset_list);
9663 9663
9664 safe_charsets = make_uninit_string (max_charset_id + 1); 9664 safe_charsets = make_uninit_string (max_charset_id + 1);
9665 memset (SDATA (safe_charsets), 255, max_charset_id + 1); 9665 memset (SDATA (safe_charsets), 255, max_charset_id + 1);
9666 for (tail = charset_list; CONSP (tail); tail = XCDR (tail)) 9666 for (tail = charset_list; CONSP (tail); tail = XCDR (tail))
9667 SSET (safe_charsets, XFASTINT (XCAR (tail)), 0); 9667 SSET (safe_charsets, XFASTINT (XCAR (tail)), 0);
9668 CODING_ATTR_SAFE_CHARSETS (attrs) = safe_charsets; 9668 ASET (attrs, coding_attr_safe_charsets, safe_charsets);
9669 9669
9670 CODING_ATTR_ASCII_COMPAT (attrs) = args[coding_arg_ascii_compatible_p]; 9670 ASET (attrs, coding_attr_ascii_compat, args[coding_arg_ascii_compatible_p]);
9671 9671
9672 val = args[coding_arg_decode_translation_table]; 9672 val = args[coding_arg_decode_translation_table];
9673 if (! CHAR_TABLE_P (val) && ! CONSP (val)) 9673 if (! CHAR_TABLE_P (val) && ! CONSP (val))
9674 CHECK_SYMBOL (val); 9674 CHECK_SYMBOL (val);
9675 CODING_ATTR_DECODE_TBL (attrs) = val; 9675 ASET (attrs, coding_attr_decode_tbl, val);
9676 9676
9677 val = args[coding_arg_encode_translation_table]; 9677 val = args[coding_arg_encode_translation_table];
9678 if (! CHAR_TABLE_P (val) && ! CONSP (val)) 9678 if (! CHAR_TABLE_P (val) && ! CONSP (val))
9679 CHECK_SYMBOL (val); 9679 CHECK_SYMBOL (val);
9680 CODING_ATTR_ENCODE_TBL (attrs) = val; 9680 ASET (attrs, coding_attr_encode_tbl, val);
9681 9681
9682 val = args[coding_arg_post_read_conversion]; 9682 val = args[coding_arg_post_read_conversion];
9683 CHECK_SYMBOL (val); 9683 CHECK_SYMBOL (val);
9684 CODING_ATTR_POST_READ (attrs) = val; 9684 ASET (attrs, coding_attr_post_read, val);
9685 9685
9686 val = args[coding_arg_pre_write_conversion]; 9686 val = args[coding_arg_pre_write_conversion];
9687 CHECK_SYMBOL (val); 9687 CHECK_SYMBOL (val);
9688 CODING_ATTR_PRE_WRITE (attrs) = val; 9688 ASET (attrs, coding_attr_pre_write, val);
9689 9689
9690 val = args[coding_arg_default_char]; 9690 val = args[coding_arg_default_char];
9691 if (NILP (val)) 9691 if (NILP (val))
9692 CODING_ATTR_DEFAULT_CHAR (attrs) = make_number (' '); 9692 ASET (attrs, coding_attr_default_char, make_number (' '));
9693 else 9693 else
9694 { 9694 {
9695 CHECK_CHARACTER (val); 9695 CHECK_CHARACTER (val);
9696 CODING_ATTR_DEFAULT_CHAR (attrs) = val; 9696 ASET (attrs, coding_attr_default_char, val);
9697 } 9697 }
9698 9698
9699 val = args[coding_arg_for_unibyte]; 9699 val = args[coding_arg_for_unibyte];
9700 CODING_ATTR_FOR_UNIBYTE (attrs) = NILP (val) ? Qnil : Qt; 9700 ASET (attrs, coding_attr_for_unibyte, NILP (val) ? Qnil : Qt);
9701 9701
9702 val = args[coding_arg_plist]; 9702 val = args[coding_arg_plist];
9703 CHECK_LIST (val); 9703 CHECK_LIST (val);
9704 CODING_ATTR_PLIST (attrs) = val; 9704 ASET (attrs, coding_attr_plist, val);
9705 9705
9706 if (EQ (coding_type, Qcharset)) 9706 if (EQ (coding_type, Qcharset))
9707 { 9707 {
@@ -9726,7 +9726,7 @@ usage: (define-coding-system-internal ...) */)
9726 int idx = (dim - 1) * 4; 9726 int idx = (dim - 1) * 4;
9727 9727
9728 if (CHARSET_ASCII_COMPATIBLE_P (charset)) 9728 if (CHARSET_ASCII_COMPATIBLE_P (charset))
9729 CODING_ATTR_ASCII_COMPAT (attrs) = Qt; 9729 ASET (attrs, coding_attr_ascii_compat, Qt);
9730 9730
9731 for (i = charset->code_space[idx]; 9731 for (i = charset->code_space[idx];
9732 i <= charset->code_space[idx + 1]; i++) 9732 i <= charset->code_space[idx + 1]; i++)
@@ -9824,7 +9824,7 @@ usage: (define-coding-system-internal ...) */)
9824 { 9824 {
9825 Lisp_Object bom, endian; 9825 Lisp_Object bom, endian;
9826 9826
9827 CODING_ATTR_ASCII_COMPAT (attrs) = Qnil; 9827 ASET (attrs, coding_attr_ascii_compat, Qnil);
9828 9828
9829 if (nargs < coding_arg_utf16_max) 9829 if (nargs < coding_arg_utf16_max)
9830 goto short_args; 9830 goto short_args;
@@ -9877,7 +9877,7 @@ usage: (define-coding-system-internal ...) */)
9877 CHECK_CHARSET_GET_CHARSET (val, charset); 9877 CHECK_CHARSET_GET_CHARSET (val, charset);
9878 ASET (initial, i, make_number (CHARSET_ID (charset))); 9878 ASET (initial, i, make_number (CHARSET_ID (charset)));
9879 if (i == 0 && CHARSET_ASCII_COMPATIBLE_P (charset)) 9879 if (i == 0 && CHARSET_ASCII_COMPATIBLE_P (charset))
9880 CODING_ATTR_ASCII_COMPAT (attrs) = Qt; 9880 ASET (attrs, coding_attr_ascii_compat, Qt);
9881 } 9881 }
9882 else 9882 else
9883 ASET (initial, i, make_number (-1)); 9883 ASET (initial, i, make_number (-1));
@@ -9938,13 +9938,13 @@ usage: (define-coding-system-internal ...) */)
9938 } 9938 }
9939 if (category != coding_category_iso_8_1 9939 if (category != coding_category_iso_8_1
9940 && category != coding_category_iso_8_2) 9940 && category != coding_category_iso_8_2)
9941 CODING_ATTR_ASCII_COMPAT (attrs) = Qnil; 9941 ASET (attrs, coding_attr_ascii_compat, Qnil);
9942 } 9942 }
9943 else if (EQ (coding_type, Qemacs_mule)) 9943 else if (EQ (coding_type, Qemacs_mule))
9944 { 9944 {
9945 if (EQ (args[coding_arg_charset_list], Qemacs_mule)) 9945 if (EQ (args[coding_arg_charset_list], Qemacs_mule))
9946 ASET (attrs, coding_attr_emacs_mule_full, Qt); 9946 ASET (attrs, coding_attr_emacs_mule_full, Qt);
9947 CODING_ATTR_ASCII_COMPAT (attrs) = Qt; 9947 ASET (attrs, coding_attr_ascii_compat, Qt);
9948 category = coding_category_emacs_mule; 9948 category = coding_category_emacs_mule;
9949 } 9949 }
9950 else if (EQ (coding_type, Qshift_jis)) 9950 else if (EQ (coding_type, Qshift_jis))
@@ -9961,7 +9961,7 @@ usage: (define-coding-system-internal ...) */)
9961 error ("Dimension of charset %s is not one", 9961 error ("Dimension of charset %s is not one",
9962 SDATA (SYMBOL_NAME (CHARSET_NAME (charset)))); 9962 SDATA (SYMBOL_NAME (CHARSET_NAME (charset))));
9963 if (CHARSET_ASCII_COMPATIBLE_P (charset)) 9963 if (CHARSET_ASCII_COMPATIBLE_P (charset))
9964 CODING_ATTR_ASCII_COMPAT (attrs) = Qt; 9964 ASET (attrs, coding_attr_ascii_compat, Qt);
9965 9965
9966 charset_list = XCDR (charset_list); 9966 charset_list = XCDR (charset_list);
9967 charset = CHARSET_FROM_ID (XINT (XCAR (charset_list))); 9967 charset = CHARSET_FROM_ID (XINT (XCAR (charset_list)));
@@ -9999,7 +9999,7 @@ usage: (define-coding-system-internal ...) */)
9999 error ("Dimension of charset %s is not one", 9999 error ("Dimension of charset %s is not one",
10000 SDATA (SYMBOL_NAME (CHARSET_NAME (charset)))); 10000 SDATA (SYMBOL_NAME (CHARSET_NAME (charset))));
10001 if (CHARSET_ASCII_COMPATIBLE_P (charset)) 10001 if (CHARSET_ASCII_COMPATIBLE_P (charset))
10002 CODING_ATTR_ASCII_COMPAT (attrs) = Qt; 10002 ASET (attrs, coding_attr_ascii_compat, Qt);
10003 10003
10004 charset_list = XCDR (charset_list); 10004 charset_list = XCDR (charset_list);
10005 charset = CHARSET_FROM_ID (XINT (XCAR (charset_list))); 10005 charset = CHARSET_FROM_ID (XINT (XCAR (charset_list)));
@@ -10013,7 +10013,7 @@ usage: (define-coding-system-internal ...) */)
10013 else if (EQ (coding_type, Qraw_text)) 10013 else if (EQ (coding_type, Qraw_text))
10014 { 10014 {
10015 category = coding_category_raw_text; 10015 category = coding_category_raw_text;
10016 CODING_ATTR_ASCII_COMPAT (attrs) = Qt; 10016 ASET (attrs, coding_attr_ascii_compat, Qt);
10017 } 10017 }
10018 else if (EQ (coding_type, Qutf_8)) 10018 else if (EQ (coding_type, Qutf_8))
10019 { 10019 {
@@ -10033,7 +10033,7 @@ usage: (define-coding-system-internal ...) */)
10033 } 10033 }
10034 ASET (attrs, coding_attr_utf_bom, bom); 10034 ASET (attrs, coding_attr_utf_bom, bom);
10035 if (NILP (bom)) 10035 if (NILP (bom))
10036 CODING_ATTR_ASCII_COMPAT (attrs) = Qt; 10036 ASET (attrs, coding_attr_ascii_compat, Qt);
10037 10037
10038 category = (CONSP (bom) ? coding_category_utf_8_auto 10038 category = (CONSP (bom) ? coding_category_utf_8_auto
10039 : NILP (bom) ? coding_category_utf_8_nosig 10039 : NILP (bom) ? coding_category_utf_8_nosig
@@ -10045,14 +10045,15 @@ usage: (define-coding-system-internal ...) */)
10045 error ("Invalid coding system type: %s", 10045 error ("Invalid coding system type: %s",
10046 SDATA (SYMBOL_NAME (coding_type))); 10046 SDATA (SYMBOL_NAME (coding_type)));
10047 10047
10048 CODING_ATTR_CATEGORY (attrs) = make_number (category); 10048 ASET (attrs, coding_attr_category, make_number (category));
10049 CODING_ATTR_PLIST (attrs) 10049 ASET (attrs, coding_attr_plist,
10050 = Fcons (QCcategory, Fcons (AREF (Vcoding_category_table, category), 10050 Fcons (QCcategory,
10051 CODING_ATTR_PLIST (attrs))); 10051 Fcons (AREF (Vcoding_category_table, category),
10052 CODING_ATTR_PLIST (attrs) 10052 CODING_ATTR_PLIST (attrs))));
10053 = Fcons (QCascii_compatible_p, 10053 ASET (attrs, coding_attr_plist,
10054 Fcons (CODING_ATTR_ASCII_COMPAT (attrs), 10054 Fcons (QCascii_compatible_p,
10055 CODING_ATTR_PLIST (attrs))); 10055 Fcons (CODING_ATTR_ASCII_COMPAT (attrs),
10056 CODING_ATTR_PLIST (attrs))));
10056 10057
10057 eol_type = args[coding_arg_eol_type]; 10058 eol_type = args[coding_arg_eol_type];
10058 if (! NILP (eol_type) 10059 if (! NILP (eol_type)
@@ -10126,7 +10127,7 @@ DEFUN ("coding-system-put", Fcoding_system_put, Scoding_system_put,
10126 { 10127 {
10127 if (! STRINGP (val)) 10128 if (! STRINGP (val))
10128 CHECK_CHARACTER (val); 10129 CHECK_CHARACTER (val);
10129 CODING_ATTR_MNEMONIC (attrs) = val; 10130 ASET (attrs, coding_attr_mnemonic, val);
10130 } 10131 }
10131 else if (EQ (prop, QCdefault_char)) 10132 else if (EQ (prop, QCdefault_char))
10132 { 10133 {
@@ -10134,37 +10135,37 @@ DEFUN ("coding-system-put", Fcoding_system_put, Scoding_system_put,
10134 val = make_number (' '); 10135 val = make_number (' ');
10135 else 10136 else
10136 CHECK_CHARACTER (val); 10137 CHECK_CHARACTER (val);
10137 CODING_ATTR_DEFAULT_CHAR (attrs) = val; 10138 ASET (attrs, coding_attr_default_char, val);
10138 } 10139 }
10139 else if (EQ (prop, QCdecode_translation_table)) 10140 else if (EQ (prop, QCdecode_translation_table))
10140 { 10141 {
10141 if (! CHAR_TABLE_P (val) && ! CONSP (val)) 10142 if (! CHAR_TABLE_P (val) && ! CONSP (val))
10142 CHECK_SYMBOL (val); 10143 CHECK_SYMBOL (val);
10143 CODING_ATTR_DECODE_TBL (attrs) = val; 10144 ASET (attrs, coding_attr_decode_tbl, val);
10144 } 10145 }
10145 else if (EQ (prop, QCencode_translation_table)) 10146 else if (EQ (prop, QCencode_translation_table))
10146 { 10147 {
10147 if (! CHAR_TABLE_P (val) && ! CONSP (val)) 10148 if (! CHAR_TABLE_P (val) && ! CONSP (val))
10148 CHECK_SYMBOL (val); 10149 CHECK_SYMBOL (val);
10149 CODING_ATTR_ENCODE_TBL (attrs) = val; 10150 ASET (attrs, coding_attr_encode_tbl, val);
10150 } 10151 }
10151 else if (EQ (prop, QCpost_read_conversion)) 10152 else if (EQ (prop, QCpost_read_conversion))
10152 { 10153 {
10153 CHECK_SYMBOL (val); 10154 CHECK_SYMBOL (val);
10154 CODING_ATTR_POST_READ (attrs) = val; 10155 ASET (attrs, coding_attr_post_read, val);
10155 } 10156 }
10156 else if (EQ (prop, QCpre_write_conversion)) 10157 else if (EQ (prop, QCpre_write_conversion))
10157 { 10158 {
10158 CHECK_SYMBOL (val); 10159 CHECK_SYMBOL (val);
10159 CODING_ATTR_PRE_WRITE (attrs) = val; 10160 ASET (attrs, coding_attr_pre_write, val);
10160 } 10161 }
10161 else if (EQ (prop, QCascii_compatible_p)) 10162 else if (EQ (prop, QCascii_compatible_p))
10162 { 10163 {
10163 CODING_ATTR_ASCII_COMPAT (attrs) = val; 10164 ASET (attrs, coding_attr_ascii_compat, val);
10164 } 10165 }
10165 10166
10166 CODING_ATTR_PLIST (attrs) 10167 ASET (attrs, coding_attr_plist,
10167 = Fplist_put (CODING_ATTR_PLIST (attrs), prop, val); 10168 Fplist_put (CODING_ATTR_PLIST (attrs), prop, val));
10168 return val; 10169 return val;
10169} 10170}
10170 10171