aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKen Raeburn1999-09-13 02:23:04 +0000
committerKen Raeburn1999-09-13 02:23:04 +0000
commit03699b140e13aee5b49fa4678e97dff5855e789c (patch)
tree79213225b326eeaa5385bf863f2e3c2df62963e5
parent926106201f8bfebbaac3c5b0f5e36192b7f00f1b (diff)
downloademacs-03699b140e13aee5b49fa4678e97dff5855e789c.tar.gz
emacs-03699b140e13aee5b49fa4678e97dff5855e789c.zip
Use XCAR, XCDR, and XFLOAT_DATA instead of explicit member access.
-rw-r--r--src/category.c12
-rw-r--r--src/ccl.c28
-rw-r--r--src/coding.c76
-rw-r--r--src/doc.c14
-rw-r--r--src/editfns.c10
-rw-r--r--src/eval.c82
-rw-r--r--src/fileio.c38
-rw-r--r--src/filelock.c4
-rw-r--r--src/insdel.c14
-rw-r--r--src/intervals.c2
-rw-r--r--src/keymap.c312
11 files changed, 296 insertions, 296 deletions
diff --git a/src/category.c b/src/category.c
index 734634bd6aa..99f8a5a3bf2 100644
--- a/src/category.c
+++ b/src/category.c
@@ -591,15 +591,15 @@ word_boundary_p (c1, c2)
591 if (NILP (category_set2)) 591 if (NILP (category_set2))
592 return default_result; 592 return default_result;
593 593
594 for (; CONSP (tail); tail = XCONS (tail)->cdr) 594 for (; CONSP (tail); tail = XCDR (tail))
595 { 595 {
596 Lisp_Object elt = XCONS(tail)->car; 596 Lisp_Object elt = XCAR (tail);
597 597
598 if (CONSP (elt) 598 if (CONSP (elt)
599 && CATEGORYP (XCONS (elt)->car) 599 && CATEGORYP (XCAR (elt))
600 && CATEGORYP (XCONS (elt)->cdr) 600 && CATEGORYP (XCDR (elt))
601 && CATEGORY_MEMBER (XFASTINT (XCONS (elt)->car), category_set1) 601 && CATEGORY_MEMBER (XFASTINT (XCAR (elt)), category_set1)
602 && CATEGORY_MEMBER (XFASTINT (XCONS (elt)->cdr), category_set2)) 602 && CATEGORY_MEMBER (XFASTINT (XCDR (elt)), category_set2))
603 return !default_result; 603 return !default_result;
604 } 604 }
605 return default_result; 605 return default_result;
diff --git a/src/ccl.c b/src/ccl.c
index 46c5f0fa7ed..fb9fbf60e4a 100644
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -1328,7 +1328,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
1328 1328
1329 /* Check map varidity. */ 1329 /* Check map varidity. */
1330 if (!CONSP (map)) continue; 1330 if (!CONSP (map)) continue;
1331 map = XCONS(map)->cdr; 1331 map = XCDR (map);
1332 if (!VECTORP (map)) continue; 1332 if (!VECTORP (map)) continue;
1333 size = XVECTOR (map)->size; 1333 size = XVECTOR (map)->size;
1334 if (size <= 1) continue; 1334 if (size <= 1) continue;
@@ -1372,8 +1372,8 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
1372 } 1372 }
1373 else if (CONSP (content)) 1373 else if (CONSP (content))
1374 { 1374 {
1375 attrib = XCONS (content)->car; 1375 attrib = XCAR (content);
1376 value = XCONS (content)->cdr; 1376 value = XCDR (content);
1377 if (!NUMBERP (attrib) || !NUMBERP (value)) 1377 if (!NUMBERP (attrib) || !NUMBERP (value))
1378 continue; 1378 continue;
1379 reg[RRR] = i; 1379 reg[RRR] = i;
@@ -1437,7 +1437,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
1437 1437
1438 /* Check map varidity. */ 1438 /* Check map varidity. */
1439 if (!CONSP (map)) continue; 1439 if (!CONSP (map)) continue;
1440 map = XCONS (map)->cdr; 1440 map = XCDR (map);
1441 if (!VECTORP (map)) continue; 1441 if (!VECTORP (map)) continue;
1442 size = XVECTOR (map)->size; 1442 size = XVECTOR (map)->size;
1443 if (size <= 1) continue; 1443 if (size <= 1) continue;
@@ -1477,8 +1477,8 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
1477 } 1477 }
1478 else if (CONSP (content)) 1478 else if (CONSP (content))
1479 { 1479 {
1480 attrib = XCONS (content)->car; 1480 attrib = XCAR (content);
1481 value = XCONS (content)->cdr; 1481 value = XCDR (content);
1482 if (!NUMBERP (attrib) || !NUMBERP (value)) 1482 if (!NUMBERP (attrib) || !NUMBERP (value))
1483 continue; 1483 continue;
1484 reg[RRR] = i; 1484 reg[RRR] = i;
@@ -1522,7 +1522,7 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
1522 reg[RRR] = -1; 1522 reg[RRR] = -1;
1523 break; 1523 break;
1524 } 1524 }
1525 map = XCONS(map)->cdr; 1525 map = XCDR (map);
1526 if (!VECTORP (map)) 1526 if (!VECTORP (map))
1527 { 1527 {
1528 reg[RRR] = -1; 1528 reg[RRR] = -1;
@@ -1546,8 +1546,8 @@ ccl_driver (ccl, source, destination, src_bytes, dst_bytes, consumed)
1546 reg[RRR] = i; 1546 reg[RRR] = i;
1547 else if (CONSP (content)) 1547 else if (CONSP (content))
1548 { 1548 {
1549 attrib = XCONS (content)->car; 1549 attrib = XCAR (content);
1550 value = XCONS (content)->cdr; 1550 value = XCDR (content);
1551 if (!NUMBERP (attrib) || !NUMBERP (value)) 1551 if (!NUMBERP (attrib) || !NUMBERP (value))
1552 continue; 1552 continue;
1553 reg[rrr] = XUINT(value); 1553 reg[rrr] = XUINT(value);
@@ -1663,8 +1663,8 @@ resolve_symbol_ccl_program (ccl)
1663 if (INTEGERP (contents)) 1663 if (INTEGERP (contents))
1664 continue; 1664 continue;
1665 else if (CONSP (contents) 1665 else if (CONSP (contents)
1666 && SYMBOLP (XCONS (contents)->car) 1666 && SYMBOLP (XCAR (contents))
1667 && SYMBOLP (XCONS (contents)->cdr)) 1667 && SYMBOLP (XCDR (contents)))
1668 { 1668 {
1669 /* This is the new style for embedding symbols. The form is 1669 /* This is the new style for embedding symbols. The form is
1670 (SYMBOL . PROPERTY). (get SYMBOL PROPERTY) should give 1670 (SYMBOL . PROPERTY). (get SYMBOL PROPERTY) should give
@@ -1673,7 +1673,7 @@ resolve_symbol_ccl_program (ccl)
1673 if (EQ (result, ccl)) 1673 if (EQ (result, ccl))
1674 result = Fcopy_sequence (ccl); 1674 result = Fcopy_sequence (ccl);
1675 1675
1676 val = Fget (XCONS (contents)->car, XCONS (contents)->cdr); 1676 val = Fget (XCAR (contents), XCDR (contents));
1677 if (NATNUMP (val)) 1677 if (NATNUMP (val))
1678 XVECTOR (result)->contents[i] = val; 1678 XVECTOR (result)->contents[i] = val;
1679 else 1679 else
@@ -2038,10 +2038,10 @@ Return index number of the registered map.")
2038 if (!CONSP (slot)) 2038 if (!CONSP (slot))
2039 break; 2039 break;
2040 2040
2041 if (EQ (symbol, XCONS (slot)->car)) 2041 if (EQ (symbol, XCAR (slot)))
2042 { 2042 {
2043 index = make_number (i); 2043 index = make_number (i);
2044 XCONS (slot)->cdr = map; 2044 XCDR (slot) = map;
2045 Fput (symbol, Qcode_conversion_map, map); 2045 Fput (symbol, Qcode_conversion_map, map);
2046 Fput (symbol, Qcode_conversion_map_id, index); 2046 Fput (symbol, Qcode_conversion_map_id, index);
2047 return index; 2047 return index;
diff --git a/src/coding.c b/src/coding.c
index ee15e64603c..534a5f75d23 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -2974,9 +2974,9 @@ setup_coding_system (coding_system, coding)
2974 bzero (coding->safe_charsets, MAX_CHARSET + 1); 2974 bzero (coding->safe_charsets, MAX_CHARSET + 1);
2975 while (CONSP (val)) 2975 while (CONSP (val))
2976 { 2976 {
2977 if ((i = get_charset_id (XCONS (val)->car)) >= 0) 2977 if ((i = get_charset_id (XCAR (val))) >= 0)
2978 coding->safe_charsets[i] = 1; 2978 coding->safe_charsets[i] = 1;
2979 val = XCONS (val)->cdr; 2979 val = XCDR (val);
2980 } 2980 }
2981 } 2981 }
2982 2982
@@ -3042,12 +3042,12 @@ setup_coding_system (coding_system, coding)
3042 val = Vcharset_revision_alist; 3042 val = Vcharset_revision_alist;
3043 while (CONSP (val)) 3043 while (CONSP (val))
3044 { 3044 {
3045 charset = get_charset_id (Fcar_safe (XCONS (val)->car)); 3045 charset = get_charset_id (Fcar_safe (XCAR (val)));
3046 if (charset >= 0 3046 if (charset >= 0
3047 && (temp = Fcdr_safe (XCONS (val)->car), INTEGERP (temp)) 3047 && (temp = Fcdr_safe (XCAR (val)), INTEGERP (temp))
3048 && (i = XINT (temp), (i >= 0 && (i + '@') < 128))) 3048 && (i = XINT (temp), (i >= 0 && (i + '@') < 128)))
3049 CODING_SPEC_ISO_REVISION_NUMBER (coding, charset) = i; 3049 CODING_SPEC_ISO_REVISION_NUMBER (coding, charset) = i;
3050 val = XCONS (val)->cdr; 3050 val = XCDR (val);
3051 } 3051 }
3052 3052
3053 /* Checks FLAGS[REG] (REG = 0, 1, 2 3) and decide designations. 3053 /* Checks FLAGS[REG] (REG = 0, 1, 2 3) and decide designations.
@@ -3084,28 +3084,28 @@ setup_coding_system (coding_system, coding)
3084 tail = flags[i]; 3084 tail = flags[i];
3085 3085
3086 coding->flags |= CODING_FLAG_ISO_DESIGNATION; 3086 coding->flags |= CODING_FLAG_ISO_DESIGNATION;
3087 if (INTEGERP (XCONS (tail)->car) 3087 if (INTEGERP (XCAR (tail))
3088 && (charset = XINT (XCONS (tail)->car), 3088 && (charset = XINT (XCAR (tail)),
3089 CHARSET_VALID_P (charset)) 3089 CHARSET_VALID_P (charset))
3090 || (charset = get_charset_id (XCONS (tail)->car)) >= 0) 3090 || (charset = get_charset_id (XCAR (tail))) >= 0)
3091 { 3091 {
3092 CODING_SPEC_ISO_INITIAL_DESIGNATION (coding, i) = charset; 3092 CODING_SPEC_ISO_INITIAL_DESIGNATION (coding, i) = charset;
3093 CODING_SPEC_ISO_REQUESTED_DESIGNATION (coding, charset) =i; 3093 CODING_SPEC_ISO_REQUESTED_DESIGNATION (coding, charset) =i;
3094 } 3094 }
3095 else 3095 else
3096 CODING_SPEC_ISO_INITIAL_DESIGNATION (coding, i) = -1; 3096 CODING_SPEC_ISO_INITIAL_DESIGNATION (coding, i) = -1;
3097 tail = XCONS (tail)->cdr; 3097 tail = XCDR (tail);
3098 while (CONSP (tail)) 3098 while (CONSP (tail))
3099 { 3099 {
3100 if (INTEGERP (XCONS (tail)->car) 3100 if (INTEGERP (XCAR (tail))
3101 && (charset = XINT (XCONS (tail)->car), 3101 && (charset = XINT (XCAR (tail)),
3102 CHARSET_VALID_P (charset)) 3102 CHARSET_VALID_P (charset))
3103 || (charset = get_charset_id (XCONS (tail)->car)) >= 0) 3103 || (charset = get_charset_id (XCAR (tail))) >= 0)
3104 CODING_SPEC_ISO_REQUESTED_DESIGNATION (coding, charset) 3104 CODING_SPEC_ISO_REQUESTED_DESIGNATION (coding, charset)
3105 = i; 3105 = i;
3106 else if (EQ (XCONS (tail)->car, Qt)) 3106 else if (EQ (XCAR (tail), Qt))
3107 reg_bits |= 1 << i; 3107 reg_bits |= 1 << i;
3108 tail = XCONS (tail)->cdr; 3108 tail = XCDR (tail);
3109 } 3109 }
3110 } 3110 }
3111 else 3111 else
@@ -3168,9 +3168,9 @@ setup_coding_system (coding_system, coding)
3168 val = XVECTOR (coding_spec)->contents[4]; 3168 val = XVECTOR (coding_spec)->contents[4];
3169 if (! CONSP (val) 3169 if (! CONSP (val)
3170 || setup_ccl_program (&(coding->spec.ccl.decoder), 3170 || setup_ccl_program (&(coding->spec.ccl.decoder),
3171 XCONS (val)->car) < 0 3171 XCAR (val)) < 0
3172 || setup_ccl_program (&(coding->spec.ccl.encoder), 3172 || setup_ccl_program (&(coding->spec.ccl.encoder),
3173 XCONS (val)->cdr) < 0) 3173 XCDR (val)) < 0)
3174 goto label_invalid_coding_system; 3174 goto label_invalid_coding_system;
3175 3175
3176 bzero (coding->spec.ccl.valid_codes, 256); 3176 bzero (coding->spec.ccl.valid_codes, 256);
@@ -3179,18 +3179,18 @@ setup_coding_system (coding_system, coding)
3179 { 3179 {
3180 Lisp_Object this; 3180 Lisp_Object this;
3181 3181
3182 for (; CONSP (val); val = XCONS (val)->cdr) 3182 for (; CONSP (val); val = XCDR (val))
3183 { 3183 {
3184 this = XCONS (val)->car; 3184 this = XCAR (val);
3185 if (INTEGERP (this) 3185 if (INTEGERP (this)
3186 && XINT (this) >= 0 && XINT (this) < 256) 3186 && XINT (this) >= 0 && XINT (this) < 256)
3187 coding->spec.ccl.valid_codes[XINT (this)] = 1; 3187 coding->spec.ccl.valid_codes[XINT (this)] = 1;
3188 else if (CONSP (this) 3188 else if (CONSP (this)
3189 && INTEGERP (XCONS (this)->car) 3189 && INTEGERP (XCAR (this))
3190 && INTEGERP (XCONS (this)->cdr)) 3190 && INTEGERP (XCDR (this)))
3191 { 3191 {
3192 int start = XINT (XCONS (this)->car); 3192 int start = XINT (XCAR (this));
3193 int end = XINT (XCONS (this)->cdr); 3193 int end = XINT (XCDR (this));
3194 3194
3195 if (start >= 0 && start <= end && end < 256) 3195 if (start >= 0 && start <= end && end < 256)
3196 while (start <= end) 3196 while (start <= end)
@@ -4876,13 +4876,13 @@ detect_coding_system (src, src_bytes, highest)
4876 4876
4877 /* At first, gather possible coding systems in VAL. */ 4877 /* At first, gather possible coding systems in VAL. */
4878 val = Qnil; 4878 val = Qnil;
4879 for (tmp = Vcoding_category_list; !NILP (tmp); tmp = XCONS (tmp)->cdr) 4879 for (tmp = Vcoding_category_list; !NILP (tmp); tmp = XCDR (tmp))
4880 { 4880 {
4881 int idx 4881 int idx
4882 = XFASTINT (Fget (XCONS (tmp)->car, Qcoding_category_index)); 4882 = XFASTINT (Fget (XCAR (tmp), Qcoding_category_index));
4883 if (coding_mask & (1 << idx)) 4883 if (coding_mask & (1 << idx))
4884 { 4884 {
4885 val = Fcons (Fsymbol_value (XCONS (tmp)->car), val); 4885 val = Fcons (Fsymbol_value (XCAR (tmp)), val);
4886 if (highest) 4886 if (highest)
4887 break; 4887 break;
4888 } 4888 }
@@ -4891,18 +4891,18 @@ detect_coding_system (src, src_bytes, highest)
4891 val = Fnreverse (val); 4891 val = Fnreverse (val);
4892 4892
4893 /* Then, replace the elements with subsidiary coding systems. */ 4893 /* Then, replace the elements with subsidiary coding systems. */
4894 for (tmp = val; !NILP (tmp); tmp = XCONS (tmp)->cdr) 4894 for (tmp = val; !NILP (tmp); tmp = XCDR (tmp))
4895 { 4895 {
4896 if (eol_type != CODING_EOL_UNDECIDED 4896 if (eol_type != CODING_EOL_UNDECIDED
4897 && eol_type != CODING_EOL_INCONSISTENT) 4897 && eol_type != CODING_EOL_INCONSISTENT)
4898 { 4898 {
4899 Lisp_Object eol; 4899 Lisp_Object eol;
4900 eol = Fget (XCONS (tmp)->car, Qeol_type); 4900 eol = Fget (XCAR (tmp), Qeol_type);
4901 if (VECTORP (eol)) 4901 if (VECTORP (eol))
4902 XCONS (tmp)->car = XVECTOR (eol)->contents[eol_type]; 4902 XCAR (tmp) = XVECTOR (eol)->contents[eol_type];
4903 } 4903 }
4904 } 4904 }
4905 return (highest ? XCONS (val)->car : val); 4905 return (highest ? XCAR (val) : val);
4906} 4906}
4907 4907
4908DEFUN ("detect-coding-region", Fdetect_coding_region, Sdetect_coding_region, 4908DEFUN ("detect-coding-region", Fdetect_coding_region, Sdetect_coding_region,
@@ -5324,18 +5324,18 @@ which is a list of all the arguments given to this function.")
5324 if (NILP (chain)) 5324 if (NILP (chain))
5325 return Qnil; 5325 return Qnil;
5326 5326
5327 for (; CONSP (chain); chain = XCONS (chain)->cdr) 5327 for (; CONSP (chain); chain = XCDR (chain))
5328 { 5328 {
5329 Lisp_Object elt; 5329 Lisp_Object elt;
5330 elt = XCONS (chain)->car; 5330 elt = XCAR (chain);
5331 5331
5332 if (CONSP (elt) 5332 if (CONSP (elt)
5333 && ((STRINGP (target) 5333 && ((STRINGP (target)
5334 && STRINGP (XCONS (elt)->car) 5334 && STRINGP (XCAR (elt))
5335 && fast_string_match (XCONS (elt)->car, target) >= 0) 5335 && fast_string_match (XCAR (elt), target) >= 0)
5336 || (INTEGERP (target) && EQ (target, XCONS (elt)->car)))) 5336 || (INTEGERP (target) && EQ (target, XCAR (elt)))))
5337 { 5337 {
5338 val = XCONS (elt)->cdr; 5338 val = XCDR (elt);
5339 /* Here, if VAL is both a valid coding system and a valid 5339 /* Here, if VAL is both a valid coding system and a valid
5340 function symbol, we return VAL as a coding system. */ 5340 function symbol, we return VAL as a coding system. */
5341 if (CONSP (val)) 5341 if (CONSP (val))
@@ -5406,13 +5406,13 @@ This function is internal use only.")
5406 5406
5407 while (CONSP (val) && i < CODING_CATEGORY_IDX_MAX) 5407 while (CONSP (val) && i < CODING_CATEGORY_IDX_MAX)
5408 { 5408 {
5409 if (! SYMBOLP (XCONS (val)->car)) 5409 if (! SYMBOLP (XCAR (val)))
5410 break; 5410 break;
5411 idx = XFASTINT (Fget (XCONS (val)->car, Qcoding_category_index)); 5411 idx = XFASTINT (Fget (XCAR (val), Qcoding_category_index));
5412 if (idx >= CODING_CATEGORY_IDX_MAX) 5412 if (idx >= CODING_CATEGORY_IDX_MAX)
5413 break; 5413 break;
5414 coding_priorities[i++] = (1 << idx); 5414 coding_priorities[i++] = (1 << idx);
5415 val = XCONS (val)->cdr; 5415 val = XCDR (val);
5416 } 5416 }
5417 /* If coding-category-list is valid and contains all coding 5417 /* If coding-category-list is valid and contains all coding
5418 categories, `i' should be CODING_CATEGORY_IDX_MAX now. If not, 5418 categories, `i' should be CODING_CATEGORY_IDX_MAX now. If not,
diff --git a/src/doc.c b/src/doc.c
index af7c55e0b20..78b005b852b 100644
--- a/src/doc.c
+++ b/src/doc.c
@@ -126,8 +126,8 @@ get_doc_string (filepos, unibyte, definition)
126 } 126 }
127 else if (CONSP (filepos)) 127 else if (CONSP (filepos))
128 { 128 {
129 file = XCONS (filepos)->car; 129 file = XCAR (filepos);
130 position = XINT (XCONS (filepos)->cdr); 130 position = XINT (XCDR (filepos));
131 if (position < 0) 131 if (position < 0)
132 position = - position; 132 position = - position;
133 } 133 }
@@ -353,7 +353,7 @@ string is passed through `substitute-command-keys'.")
353 /* Handle a doc reference--but these never come last 353 /* Handle a doc reference--but these never come last
354 in the function body, so reject them if they are last. */ 354 in the function body, so reject them if they are last. */
355 else if ((NATNUMP (tem) || CONSP (tem)) 355 else if ((NATNUMP (tem) || CONSP (tem))
356 && ! NILP (XCONS (tem1)->cdr)) 356 && ! NILP (XCDR (tem1)))
357 doc = get_doc_string (tem, 0, 0); 357 doc = get_doc_string (tem, 0, 0);
358 else 358 else
359 return Qnil; 359 return Qnil;
@@ -424,15 +424,15 @@ store_function_docstring (fun, offset)
424 { 424 {
425 Lisp_Object tem; 425 Lisp_Object tem;
426 426
427 tem = XCONS (fun)->car; 427 tem = XCAR (fun);
428 if (EQ (tem, Qlambda) || EQ (tem, Qautoload)) 428 if (EQ (tem, Qlambda) || EQ (tem, Qautoload))
429 { 429 {
430 tem = Fcdr (Fcdr (fun)); 430 tem = Fcdr (Fcdr (fun));
431 if (CONSP (tem) && INTEGERP (XCONS (tem)->car)) 431 if (CONSP (tem) && INTEGERP (XCAR (tem)))
432 XSETFASTINT (XCONS (tem)->car, offset); 432 XSETFASTINT (XCAR (tem), offset);
433 } 433 }
434 else if (EQ (tem, Qmacro)) 434 else if (EQ (tem, Qmacro))
435 store_function_docstring (XCONS (fun)->cdr, offset); 435 store_function_docstring (XCDR (fun), offset);
436 } 436 }
437 437
438 /* Bytecode objects sometimes have slots for it. */ 438 /* Bytecode objects sometimes have slots for it. */
diff --git a/src/editfns.c b/src/editfns.c
index 7b5eefc1d0e..c08017ded80 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -2288,13 +2288,13 @@ save_restriction_restore (data)
2288 register Lisp_Object tem; 2288 register Lisp_Object tem;
2289 int obegv, ozv; 2289 int obegv, ozv;
2290 2290
2291 buf = XBUFFER (XCONS (data)->car); 2291 buf = XBUFFER (XCAR (data));
2292 2292
2293 data = XCONS (data)->cdr; 2293 data = XCDR (data);
2294 2294
2295 tem = XCONS (data)->car; 2295 tem = XCAR (data);
2296 newhead = XINT (tem); 2296 newhead = XINT (tem);
2297 tem = XCONS (data)->cdr; 2297 tem = XCDR (data);
2298 newtail = XINT (tem); 2298 newtail = XINT (tem);
2299 if (newhead + newtail > BUF_Z (buf) - BUF_BEG (buf)) 2299 if (newhead + newtail > BUF_Z (buf) - BUF_BEG (buf))
2300 { 2300 {
@@ -2761,7 +2761,7 @@ Use %% to put a single % into the output.")
2761 if (INTEGERP (args[n])) 2761 if (INTEGERP (args[n]))
2762 sprintf (p, this_format, XINT (args[n])); 2762 sprintf (p, this_format, XINT (args[n]));
2763 else 2763 else
2764 sprintf (p, this_format, XFLOAT (args[n])->data); 2764 sprintf (p, this_format, XFLOAT_DATA (args[n]));
2765 2765
2766 if (p > buf 2766 if (p > buf
2767 && multibyte 2767 && multibyte
diff --git a/src/eval.c b/src/eval.c
index b7e29f068c9..7052bec2586 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -322,11 +322,11 @@ CONDITION's value if non-nil is returned from the cond-form.")
322 val = Feval (Fcar (clause)); 322 val = Feval (Fcar (clause));
323 if (!NILP (val)) 323 if (!NILP (val))
324 { 324 {
325 if (!EQ (XCONS (clause)->cdr, Qnil)) 325 if (!EQ (XCDR (clause), Qnil))
326 val = Fprogn (XCONS (clause)->cdr); 326 val = Fprogn (XCDR (clause));
327 break; 327 break;
328 } 328 }
329 args = XCONS (args)->cdr; 329 args = XCDR (args);
330 } 330 }
331 UNGCPRO; 331 UNGCPRO;
332 332
@@ -670,9 +670,9 @@ for the variable is `*'.")
670 return Qt; 670 return Qt;
671 /* If it is (STRING . INTEGER), a negative integer means a user variable. */ 671 /* If it is (STRING . INTEGER), a negative integer means a user variable. */
672 if (CONSP (documentation) 672 if (CONSP (documentation)
673 && STRINGP (XCONS (documentation)->car) 673 && STRINGP (XCAR (documentation))
674 && INTEGERP (XCONS (documentation)->cdr) 674 && INTEGERP (XCDR (documentation))
675 && XINT (XCONS (documentation)->cdr) < 0) 675 && XINT (XCDR (documentation)) < 0)
676 return Qt; 676 return Qt;
677 return Qnil; 677 return Qnil;
678} 678}
@@ -818,7 +818,7 @@ definitions to shadow the loaded ones for use in file byte-compilation.")
818 if (!CONSP (form)) 818 if (!CONSP (form))
819 break; 819 break;
820 /* Set SYM, give DEF and TEM right values in case SYM is not a symbol. */ 820 /* Set SYM, give DEF and TEM right values in case SYM is not a symbol. */
821 def = sym = XCONS (form)->car; 821 def = sym = XCAR (form);
822 tem = Qnil; 822 tem = Qnil;
823 /* Trace symbols aliases to other symbols 823 /* Trace symbols aliases to other symbols
824 until we get a symbol that is not an alias. */ 824 until we get a symbol that is not an alias. */
@@ -844,7 +844,7 @@ definitions to shadow the loaded ones for use in file byte-compilation.")
844 if (EQ (def, Qunbound) || !CONSP (def)) 844 if (EQ (def, Qunbound) || !CONSP (def))
845 /* Not defined or definition not suitable */ 845 /* Not defined or definition not suitable */
846 break; 846 break;
847 if (EQ (XCONS (def)->car, Qautoload)) 847 if (EQ (XCAR (def), Qautoload))
848 { 848 {
849 /* Autoloading function: will it be a macro when loaded? */ 849 /* Autoloading function: will it be a macro when loaded? */
850 tem = Fnth (make_number (4), def); 850 tem = Fnth (make_number (4), def);
@@ -860,17 +860,17 @@ definitions to shadow the loaded ones for use in file byte-compilation.")
860 else 860 else
861 break; 861 break;
862 } 862 }
863 else if (!EQ (XCONS (def)->car, Qmacro)) 863 else if (!EQ (XCAR (def), Qmacro))
864 break; 864 break;
865 else expander = XCONS (def)->cdr; 865 else expander = XCDR (def);
866 } 866 }
867 else 867 else
868 { 868 {
869 expander = XCONS (tem)->cdr; 869 expander = XCDR (tem);
870 if (NILP (expander)) 870 if (NILP (expander))
871 break; 871 break;
872 } 872 }
873 form = apply1 (expander, XCONS (form)->cdr); 873 form = apply1 (expander, XCDR (form));
874 } 874 }
875 return form; 875 return form;
876} 876}
@@ -1062,8 +1062,8 @@ See also the function `signal' for more info.")
1062 tem = Fcar (val); 1062 tem = Fcar (val);
1063 if (! (NILP (tem) 1063 if (! (NILP (tem)
1064 || (CONSP (tem) 1064 || (CONSP (tem)
1065 && (SYMBOLP (XCONS (tem)->car) 1065 && (SYMBOLP (XCAR (tem))
1066 || CONSP (XCONS (tem)->car))))) 1066 || CONSP (XCAR (tem))))))
1067 error ("Invalid condition handler", tem); 1067 error ("Invalid condition handler", tem);
1068 } 1068 }
1069 1069
@@ -1311,11 +1311,11 @@ wants_debugger (list, conditions)
1311 while (CONSP (conditions)) 1311 while (CONSP (conditions))
1312 { 1312 {
1313 Lisp_Object this, tail; 1313 Lisp_Object this, tail;
1314 this = XCONS (conditions)->car; 1314 this = XCAR (conditions);
1315 for (tail = list; CONSP (tail); tail = XCONS (tail)->cdr) 1315 for (tail = list; CONSP (tail); tail = XCDR (tail))
1316 if (EQ (XCONS (tail)->car, this)) 1316 if (EQ (XCAR (tail), this))
1317 return 1; 1317 return 1;
1318 conditions = XCONS (conditions)->cdr; 1318 conditions = XCDR (conditions);
1319 } 1319 }
1320 return 0; 1320 return 0;
1321} 1321}
@@ -1333,16 +1333,16 @@ skip_debugger (conditions, data)
1333 Lisp_Object error_message; 1333 Lisp_Object error_message;
1334 1334
1335 for (tail = Vdebug_ignored_errors; CONSP (tail); 1335 for (tail = Vdebug_ignored_errors; CONSP (tail);
1336 tail = XCONS (tail)->cdr) 1336 tail = XCDR (tail))
1337 { 1337 {
1338 if (STRINGP (XCONS (tail)->car)) 1338 if (STRINGP (XCAR (tail)))
1339 { 1339 {
1340 if (first_string) 1340 if (first_string)
1341 { 1341 {
1342 error_message = Ferror_message_string (data); 1342 error_message = Ferror_message_string (data);
1343 first_string = 0; 1343 first_string = 0;
1344 } 1344 }
1345 if (fast_string_match (XCONS (tail)->car, error_message) >= 0) 1345 if (fast_string_match (XCAR (tail), error_message) >= 0)
1346 return 1; 1346 return 1;
1347 } 1347 }
1348 else 1348 else
@@ -1350,8 +1350,8 @@ skip_debugger (conditions, data)
1350 Lisp_Object contail; 1350 Lisp_Object contail;
1351 1351
1352 for (contail = conditions; CONSP (contail); 1352 for (contail = conditions; CONSP (contail);
1353 contail = XCONS (contail)->cdr) 1353 contail = XCDR (contail))
1354 if (EQ (XCONS (tail)->car, XCONS (contail)->car)) 1354 if (EQ (XCAR (tail), XCAR (contail)))
1355 return 1; 1355 return 1;
1356 } 1356 }
1357 } 1357 }
@@ -1458,7 +1458,7 @@ find_handler_clause (handlers, conditions, sig, data, debugger_value_ptr)
1458 tem = Fmemq (Fcar (condit), conditions); 1458 tem = Fmemq (Fcar (condit), conditions);
1459 if (!NILP (tem)) 1459 if (!NILP (tem))
1460 return handler; 1460 return handler;
1461 condit = XCONS (condit)->cdr; 1461 condit = XCDR (condit);
1462 } 1462 }
1463 } 1463 }
1464 } 1464 }
@@ -1599,7 +1599,7 @@ this does nothing and returns nil.")
1599 /* If function is defined and not as an autoload, don't override */ 1599 /* If function is defined and not as an autoload, don't override */
1600 if (!EQ (XSYMBOL (function)->function, Qunbound) 1600 if (!EQ (XSYMBOL (function)->function, Qunbound)
1601 && !(CONSP (XSYMBOL (function)->function) 1601 && !(CONSP (XSYMBOL (function)->function)
1602 && EQ (XCONS (XSYMBOL (function)->function)->car, Qautoload))) 1602 && EQ (XCAR (XSYMBOL (function)->function), Qautoload)))
1603 return Qnil; 1603 return Qnil;
1604 1604
1605#ifdef NO_ARG_ARRAY 1605#ifdef NO_ARG_ARRAY
@@ -1929,7 +1929,7 @@ Thus, (apply '+ 1 2 '(3 4)) returns 10.")
1929 return Ffuncall (nargs - 1, args); 1929 return Ffuncall (nargs - 1, args);
1930 else if (numargs == 1) 1930 else if (numargs == 1)
1931 { 1931 {
1932 args [nargs - 1] = XCONS (spread_arg)->car; 1932 args [nargs - 1] = XCAR (spread_arg);
1933 return Ffuncall (nargs, args); 1933 return Ffuncall (nargs, args);
1934 } 1934 }
1935 1935
@@ -1977,8 +1977,8 @@ Thus, (apply '+ 1 2 '(3 4)) returns 10.")
1977 i = nargs - 1; 1977 i = nargs - 1;
1978 while (!NILP (spread_arg)) 1978 while (!NILP (spread_arg))
1979 { 1979 {
1980 funcall_args [i++] = XCONS (spread_arg)->car; 1980 funcall_args [i++] = XCAR (spread_arg);
1981 spread_arg = XCONS (spread_arg)->cdr; 1981 spread_arg = XCDR (spread_arg);
1982 } 1982 }
1983 1983
1984 RETURN_UNGCPRO (Ffuncall (gcpro1.nvars, funcall_args)); 1984 RETURN_UNGCPRO (Ffuncall (gcpro1.nvars, funcall_args));
@@ -2101,7 +2101,7 @@ run_hook_with_args (nargs, args, cond)
2101 2101
2102 if (EQ (val, Qunbound) || NILP (val)) 2102 if (EQ (val, Qunbound) || NILP (val))
2103 return ret; 2103 return ret;
2104 else if (!CONSP (val) || EQ (XCONS (val)->car, Qlambda)) 2104 else if (!CONSP (val) || EQ (XCAR (val), Qlambda))
2105 { 2105 {
2106 args[0] = val; 2106 args[0] = val;
2107 return Ffuncall (nargs, args); 2107 return Ffuncall (nargs, args);
@@ -2115,9 +2115,9 @@ run_hook_with_args (nargs, args, cond)
2115 CONSP (val) && ((cond == to_completion) 2115 CONSP (val) && ((cond == to_completion)
2116 || (cond == until_success ? NILP (ret) 2116 || (cond == until_success ? NILP (ret)
2117 : !NILP (ret))); 2117 : !NILP (ret)));
2118 val = XCONS (val)->cdr) 2118 val = XCDR (val))
2119 { 2119 {
2120 if (EQ (XCONS (val)->car, Qt)) 2120 if (EQ (XCAR (val), Qt))
2121 { 2121 {
2122 /* t indicates this hook has a local binding; 2122 /* t indicates this hook has a local binding;
2123 it means to run the global binding too. */ 2123 it means to run the global binding too. */
@@ -2126,9 +2126,9 @@ run_hook_with_args (nargs, args, cond)
2126 CONSP (globals) && ((cond == to_completion) 2126 CONSP (globals) && ((cond == to_completion)
2127 || (cond == until_success ? NILP (ret) 2127 || (cond == until_success ? NILP (ret)
2128 : !NILP (ret))); 2128 : !NILP (ret)));
2129 globals = XCONS (globals)->cdr) 2129 globals = XCDR (globals))
2130 { 2130 {
2131 args[0] = XCONS (globals)->car; 2131 args[0] = XCAR (globals);
2132 /* In a global value, t should not occur. If it does, we 2132 /* In a global value, t should not occur. If it does, we
2133 must ignore it to avoid an endless loop. */ 2133 must ignore it to avoid an endless loop. */
2134 if (!EQ (args[0], Qt)) 2134 if (!EQ (args[0], Qt))
@@ -2137,7 +2137,7 @@ run_hook_with_args (nargs, args, cond)
2137 } 2137 }
2138 else 2138 else
2139 { 2139 {
2140 args[0] = XCONS (val)->car; 2140 args[0] = XCAR (val);
2141 ret = Ffuncall (nargs, args); 2141 ret = Ffuncall (nargs, args);
2142 } 2142 }
2143 } 2143 }
@@ -2169,18 +2169,18 @@ run_hook_list_with_args (funlist, nargs, args)
2169 globals = Qnil; 2169 globals = Qnil;
2170 GCPRO3 (sym, val, globals); 2170 GCPRO3 (sym, val, globals);
2171 2171
2172 for (val = funlist; CONSP (val); val = XCONS (val)->cdr) 2172 for (val = funlist; CONSP (val); val = XCDR (val))
2173 { 2173 {
2174 if (EQ (XCONS (val)->car, Qt)) 2174 if (EQ (XCAR (val), Qt))
2175 { 2175 {
2176 /* t indicates this hook has a local binding; 2176 /* t indicates this hook has a local binding;
2177 it means to run the global binding too. */ 2177 it means to run the global binding too. */
2178 2178
2179 for (globals = Fdefault_value (sym); 2179 for (globals = Fdefault_value (sym);
2180 CONSP (globals); 2180 CONSP (globals);
2181 globals = XCONS (globals)->cdr) 2181 globals = XCDR (globals))
2182 { 2182 {
2183 args[0] = XCONS (globals)->car; 2183 args[0] = XCAR (globals);
2184 /* In a global value, t should not occur. If it does, we 2184 /* In a global value, t should not occur. If it does, we
2185 must ignore it to avoid an endless loop. */ 2185 must ignore it to avoid an endless loop. */
2186 if (!EQ (args[0], Qt)) 2186 if (!EQ (args[0], Qt))
@@ -2189,7 +2189,7 @@ run_hook_list_with_args (funlist, nargs, args)
2189 } 2189 }
2190 else 2190 else
2191 { 2191 {
2192 args[0] = XCONS (val)->car; 2192 args[0] = XCAR (val);
2193 Ffuncall (nargs, args); 2193 Ffuncall (nargs, args);
2194 } 2194 }
2195 } 2195 }
@@ -2675,8 +2675,8 @@ DEFUN ("fetch-bytecode", Ffetch_bytecode, Sfetch_bytecode,
2675 tem = read_doc_string (XVECTOR (object)->contents[COMPILED_BYTECODE]); 2675 tem = read_doc_string (XVECTOR (object)->contents[COMPILED_BYTECODE]);
2676 if (!CONSP (tem)) 2676 if (!CONSP (tem))
2677 error ("invalid byte code"); 2677 error ("invalid byte code");
2678 XVECTOR (object)->contents[COMPILED_BYTECODE] = XCONS (tem)->car; 2678 XVECTOR (object)->contents[COMPILED_BYTECODE] = XCAR (tem);
2679 XVECTOR (object)->contents[COMPILED_CONSTANTS] = XCONS (tem)->cdr; 2679 XVECTOR (object)->contents[COMPILED_CONSTANTS] = XCDR (tem);
2680 } 2680 }
2681 return object; 2681 return object;
2682} 2682}
diff --git a/src/fileio.c b/src/fileio.c
index efe7f432e2a..8d5e32eb426 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -344,19 +344,19 @@ use the standard functions without calling themselves recursively.")
344 inhibited_handlers = Qnil; 344 inhibited_handlers = Qnil;
345 345
346 for (chain = Vfile_name_handler_alist; CONSP (chain); 346 for (chain = Vfile_name_handler_alist; CONSP (chain);
347 chain = XCONS (chain)->cdr) 347 chain = XCDR (chain))
348 { 348 {
349 Lisp_Object elt; 349 Lisp_Object elt;
350 elt = XCONS (chain)->car; 350 elt = XCAR (chain);
351 if (CONSP (elt)) 351 if (CONSP (elt))
352 { 352 {
353 Lisp_Object string; 353 Lisp_Object string;
354 string = XCONS (elt)->car; 354 string = XCAR (elt);
355 if (STRINGP (string) && fast_string_match (string, filename) >= 0) 355 if (STRINGP (string) && fast_string_match (string, filename) >= 0)
356 { 356 {
357 Lisp_Object handler, tem; 357 Lisp_Object handler, tem;
358 358
359 handler = XCONS (elt)->cdr; 359 handler = XCDR (elt);
360 tem = Fmemq (handler, inhibited_handlers); 360 tem = Fmemq (handler, inhibited_handlers);
361 if (NILP (tem)) 361 if (NILP (tem))
362 return handler; 362 return handler;
@@ -3375,8 +3375,8 @@ actually used.")
3375 { 3375 {
3376 val = call6 (handler, Qinsert_file_contents, filename, 3376 val = call6 (handler, Qinsert_file_contents, filename,
3377 visit, beg, end, replace); 3377 visit, beg, end, replace);
3378 if (CONSP (val) && CONSP (XCONS (val)->cdr)) 3378 if (CONSP (val) && CONSP (XCDR (val)))
3379 inserted = XINT (XCONS (XCONS (val)->cdr)->car); 3379 inserted = XINT (XCAR (XCDR (val)));
3380 goto handled; 3380 goto handled;
3381 } 3381 }
3382 3382
@@ -3550,7 +3550,7 @@ actually used.")
3550 args[2] = visit, args[3] = beg, args[4] = end, args[5] = replace; 3550 args[2] = visit, args[3] = beg, args[4] = end, args[5] = replace;
3551 coding_systems = Ffind_operation_coding_system (6, args); 3551 coding_systems = Ffind_operation_coding_system (6, args);
3552 if (CONSP (coding_systems)) 3552 if (CONSP (coding_systems))
3553 val = XCONS (coding_systems)->car; 3553 val = XCAR (coding_systems);
3554 } 3554 }
3555 } 3555 }
3556 3556
@@ -4083,7 +4083,7 @@ actually used.")
4083 args[2] = visit, args[3] = beg, args[4] = end, args[5] = Qnil; 4083 args[2] = visit, args[3] = beg, args[4] = end, args[5] = Qnil;
4084 coding_systems = Ffind_operation_coding_system (6, args); 4084 coding_systems = Ffind_operation_coding_system (6, args);
4085 if (CONSP (coding_systems)) 4085 if (CONSP (coding_systems))
4086 val = XCONS (coding_systems)->car; 4086 val = XCAR (coding_systems);
4087 } 4087 }
4088 } 4088 }
4089 4089
@@ -4357,8 +4357,8 @@ This does code conversion according to the value of\n\
4357 args[3] = filename; args[4] = append; args[5] = visit; 4357 args[3] = filename; args[4] = append; args[5] = visit;
4358 args[6] = lockname; 4358 args[6] = lockname;
4359 coding_systems = Ffind_operation_coding_system (7, args); 4359 coding_systems = Ffind_operation_coding_system (7, args);
4360 if (CONSP (coding_systems) && !NILP (XCONS (coding_systems)->cdr)) 4360 if (CONSP (coding_systems) && !NILP (XCDR (coding_systems)))
4361 val = XCONS (coding_systems)->cdr; 4361 val = XCDR (coding_systems);
4362 } 4362 }
4363 4363
4364 if (NILP (val) 4364 if (NILP (val)
@@ -5079,8 +5079,8 @@ do_auto_save_unwind (stream) /* used as unwind-protect function */
5079{ 5079{
5080 auto_saving = 0; 5080 auto_saving = 0;
5081 if (!NILP (stream)) 5081 if (!NILP (stream))
5082 fclose ((FILE *) (XFASTINT (XCONS (stream)->car) << 16 5082 fclose ((FILE *) (XFASTINT (XCAR (stream)) << 16
5083 | XFASTINT (XCONS (stream)->cdr))); 5083 | XFASTINT (XCDR (stream))));
5084 return Qnil; 5084 return Qnil;
5085} 5085}
5086 5086
@@ -5141,8 +5141,8 @@ A non-nil CURRENT-ONLY argument means save only current buffer.")
5141 /* Arrange to close that file whether or not we get an error. 5141 /* Arrange to close that file whether or not we get an error.
5142 Also reset auto_saving to 0. */ 5142 Also reset auto_saving to 0. */
5143 lispstream = Fcons (Qnil, Qnil); 5143 lispstream = Fcons (Qnil, Qnil);
5144 XSETFASTINT (XCONS (lispstream)->car, (EMACS_UINT)stream >> 16); 5144 XSETFASTINT (XCAR (lispstream), (EMACS_UINT)stream >> 16);
5145 XSETFASTINT (XCONS (lispstream)->cdr, (EMACS_UINT)stream & 0xffff); 5145 XSETFASTINT (XCDR (lispstream), (EMACS_UINT)stream & 0xffff);
5146 } 5146 }
5147 else 5147 else
5148 lispstream = Qnil; 5148 lispstream = Qnil;
@@ -5165,9 +5165,9 @@ A non-nil CURRENT-ONLY argument means save only current buffer.")
5165 autosave perfectly ordinary files because it couldn't handle some 5165 autosave perfectly ordinary files because it couldn't handle some
5166 ange-ftp'd file. */ 5166 ange-ftp'd file. */
5167 for (do_handled_files = 0; do_handled_files < 2; do_handled_files++) 5167 for (do_handled_files = 0; do_handled_files < 2; do_handled_files++)
5168 for (tail = Vbuffer_alist; GC_CONSP (tail); tail = XCONS (tail)->cdr) 5168 for (tail = Vbuffer_alist; GC_CONSP (tail); tail = XCDR (tail))
5169 { 5169 {
5170 buf = XCONS (XCONS (tail)->car)->cdr; 5170 buf = XCDR (XCAR (tail));
5171 b = XBUFFER (buf); 5171 b = XBUFFER (buf);
5172 5172
5173 /* Record all the buffers that have auto save mode 5173 /* Record all the buffers that have auto save mode
@@ -5524,7 +5524,7 @@ DIR defaults to current buffer's directory default.")
5524 Qfile_name_history, default_filename, Qnil); 5524 Qfile_name_history, default_filename, Qnil);
5525 5525
5526 tem = Fsymbol_value (Qfile_name_history); 5526 tem = Fsymbol_value (Qfile_name_history);
5527 if (CONSP (tem) && EQ (XCONS (tem)->car, val)) 5527 if (CONSP (tem) && EQ (XCAR (tem), val))
5528 replace_in_history = 1; 5528 replace_in_history = 1;
5529 5529
5530 /* If Fcompleting_read returned the inserted default string itself 5530 /* If Fcompleting_read returned the inserted default string itself
@@ -5563,14 +5563,14 @@ DIR defaults to current buffer's directory default.")
5563 if (replace_in_history) 5563 if (replace_in_history)
5564 /* Replace what Fcompleting_read added to the history 5564 /* Replace what Fcompleting_read added to the history
5565 with what we will actually return. */ 5565 with what we will actually return. */
5566 XCONS (Fsymbol_value (Qfile_name_history))->car = double_dollars (val); 5566 XCAR (Fsymbol_value (Qfile_name_history)) = double_dollars (val);
5567 else if (add_to_history) 5567 else if (add_to_history)
5568 { 5568 {
5569 /* Add the value to the history--but not if it matches 5569 /* Add the value to the history--but not if it matches
5570 the last value already there. */ 5570 the last value already there. */
5571 Lisp_Object val1 = double_dollars (val); 5571 Lisp_Object val1 = double_dollars (val);
5572 tem = Fsymbol_value (Qfile_name_history); 5572 tem = Fsymbol_value (Qfile_name_history);
5573 if (! CONSP (tem) || NILP (Fequal (XCONS (tem)->car, val1))) 5573 if (! CONSP (tem) || NILP (Fequal (XCAR (tem), val1)))
5574 Fset (Qfile_name_history, 5574 Fset (Qfile_name_history,
5575 Fcons (val1, tem)); 5575 Fcons (val1, tem));
5576 } 5576 }
diff --git a/src/filelock.c b/src/filelock.c
index f1f9955f8f5..241835221d1 100644
--- a/src/filelock.c
+++ b/src/filelock.c
@@ -623,9 +623,9 @@ unlock_all_files ()
623 register Lisp_Object tail; 623 register Lisp_Object tail;
624 register struct buffer *b; 624 register struct buffer *b;
625 625
626 for (tail = Vbuffer_alist; GC_CONSP (tail); tail = XCONS (tail)->cdr) 626 for (tail = Vbuffer_alist; GC_CONSP (tail); tail = XCDR (tail))
627 { 627 {
628 b = XBUFFER (XCONS (XCONS (tail)->car)->cdr); 628 b = XBUFFER (XCDR (XCAR (tail)));
629 if (STRINGP (b->file_truename) && BUF_SAVE_MODIFF (b) < BUF_MODIFF (b)) 629 if (STRINGP (b->file_truename) && BUF_SAVE_MODIFF (b) < BUF_MODIFF (b))
630 { 630 {
631 register char *lfname; 631 register char *lfname;
diff --git a/src/insdel.c b/src/insdel.c
index c0157772f13..83424a019bc 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -2660,26 +2660,26 @@ DEFUN ("combine-after-change-execute", Fcombine_after_change_execute,
2660 /* Scan the various individual changes, 2660 /* Scan the various individual changes,
2661 accumulating the range info in BEG, END and CHANGE. */ 2661 accumulating the range info in BEG, END and CHANGE. */
2662 for (tail = combine_after_change_list; CONSP (tail); 2662 for (tail = combine_after_change_list; CONSP (tail);
2663 tail = XCONS (tail)->cdr) 2663 tail = XCDR (tail))
2664 { 2664 {
2665 Lisp_Object elt; 2665 Lisp_Object elt;
2666 int thisbeg, thisend, thischange; 2666 int thisbeg, thisend, thischange;
2667 2667
2668 /* Extract the info from the next element. */ 2668 /* Extract the info from the next element. */
2669 elt = XCONS (tail)->car; 2669 elt = XCAR (tail);
2670 if (! CONSP (elt)) 2670 if (! CONSP (elt))
2671 continue; 2671 continue;
2672 thisbeg = XINT (XCONS (elt)->car); 2672 thisbeg = XINT (XCAR (elt));
2673 2673
2674 elt = XCONS (elt)->cdr; 2674 elt = XCDR (elt);
2675 if (! CONSP (elt)) 2675 if (! CONSP (elt))
2676 continue; 2676 continue;
2677 thisend = XINT (XCONS (elt)->car); 2677 thisend = XINT (XCAR (elt));
2678 2678
2679 elt = XCONS (elt)->cdr; 2679 elt = XCDR (elt);
2680 if (! CONSP (elt)) 2680 if (! CONSP (elt))
2681 continue; 2681 continue;
2682 thischange = XINT (XCONS (elt)->car); 2682 thischange = XINT (XCAR (elt));
2683 2683
2684 /* Merge this range into the accumulated range. */ 2684 /* Merge this range into the accumulated range. */
2685 change += thischange; 2685 change += thischange;
diff --git a/src/intervals.c b/src/intervals.c
index 159cc3693ac..73e2e675568 100644
--- a/src/intervals.c
+++ b/src/intervals.c
@@ -867,7 +867,7 @@ adjust_intervals_for_insertion (tree, position, length)
867 for (tail = i->plist; ! NILP (tail); tail = Fcdr (Fcdr (tail))) 867 for (tail = i->plist; ! NILP (tail); tail = Fcdr (Fcdr (tail)))
868 { 868 {
869 Lisp_Object prop; 869 Lisp_Object prop;
870 prop = XCONS (tail)->car; 870 prop = XCAR (tail);
871 871
872 /* Is this particular property rear-sticky? 872 /* Is this particular property rear-sticky?
873 Note, if REAR isn't a cons, it must be non-nil, 873 Note, if REAR isn't a cons, it must be non-nil,
diff --git a/src/keymap.c b/src/keymap.c
index c209a690226..aa1ec28c284 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -231,7 +231,7 @@ get_keymap_1 (object, error, autoload)
231 else 231 else
232 { 232 {
233 tem = indirect_function (object); 233 tem = indirect_function (object);
234 if (CONSP (tem) && EQ (XCONS (tem)->car, Qkeymap)) 234 if (CONSP (tem) && EQ (XCAR (tem), Qkeymap))
235 return tem; 235 return tem;
236 } 236 }
237 237
@@ -240,7 +240,7 @@ get_keymap_1 (object, error, autoload)
240 if (autoload 240 if (autoload
241 && SYMBOLP (object) 241 && SYMBOLP (object)
242 && CONSP (tem) 242 && CONSP (tem)
243 && EQ (XCONS (tem)->car, Qautoload)) 243 && EQ (XCAR (tem), Qautoload))
244 { 244 {
245 Lisp_Object tail; 245 Lisp_Object tail;
246 246
@@ -287,11 +287,11 @@ DEFUN ("keymap-parent", Fkeymap_parent, Skeymap_parent, 1, 1, 0,
287 keymap = get_keymap_1 (keymap, 1, 1); 287 keymap = get_keymap_1 (keymap, 1, 1);
288 288
289 /* Skip past the initial element `keymap'. */ 289 /* Skip past the initial element `keymap'. */
290 list = XCONS (keymap)->cdr; 290 list = XCDR (keymap);
291 for (; CONSP (list); list = XCONS (list)->cdr) 291 for (; CONSP (list); list = XCDR (list))
292 { 292 {
293 /* See if there is another `keymap'. */ 293 /* See if there is another `keymap'. */
294 if (EQ (Qkeymap, XCONS (list)->car)) 294 if (EQ (Qkeymap, XCAR (list)))
295 return list; 295 return list;
296 } 296 }
297 297
@@ -317,17 +317,17 @@ PARENT should be nil or another keymap.")
317 prev = keymap; 317 prev = keymap;
318 while (1) 318 while (1)
319 { 319 {
320 list = XCONS (prev)->cdr; 320 list = XCDR (prev);
321 /* If there is a parent keymap here, replace it. 321 /* If there is a parent keymap here, replace it.
322 If we came to the end, add the parent in PREV. */ 322 If we came to the end, add the parent in PREV. */
323 if (! CONSP (list) || EQ (Qkeymap, XCONS (list)->car)) 323 if (! CONSP (list) || EQ (Qkeymap, XCAR (list)))
324 { 324 {
325 /* If we already have the right parent, return now 325 /* If we already have the right parent, return now
326 so that we avoid the loops below. */ 326 so that we avoid the loops below. */
327 if (EQ (XCONS (prev)->cdr, parent)) 327 if (EQ (XCDR (prev), parent))
328 return parent; 328 return parent;
329 329
330 XCONS (prev)->cdr = parent; 330 XCDR (prev) = parent;
331 break; 331 break;
332 } 332 }
333 prev = list; 333 prev = list;
@@ -335,29 +335,29 @@ PARENT should be nil or another keymap.")
335 335
336 /* Scan through for submaps, and set their parents too. */ 336 /* Scan through for submaps, and set their parents too. */
337 337
338 for (list = XCONS (keymap)->cdr; CONSP (list); list = XCONS (list)->cdr) 338 for (list = XCDR (keymap); CONSP (list); list = XCDR (list))
339 { 339 {
340 /* Stop the scan when we come to the parent. */ 340 /* Stop the scan when we come to the parent. */
341 if (EQ (XCONS (list)->car, Qkeymap)) 341 if (EQ (XCAR (list), Qkeymap))
342 break; 342 break;
343 343
344 /* If this element holds a prefix map, deal with it. */ 344 /* If this element holds a prefix map, deal with it. */
345 if (CONSP (XCONS (list)->car) 345 if (CONSP (XCAR (list))
346 && CONSP (XCONS (XCONS (list)->car)->cdr)) 346 && CONSP (XCDR (XCAR (list))))
347 fix_submap_inheritance (keymap, XCONS (XCONS (list)->car)->car, 347 fix_submap_inheritance (keymap, XCAR (XCAR (list)),
348 XCONS (XCONS (list)->car)->cdr); 348 XCDR (XCAR (list)));
349 349
350 if (VECTORP (XCONS (list)->car)) 350 if (VECTORP (XCAR (list)))
351 for (i = 0; i < XVECTOR (XCONS (list)->car)->size; i++) 351 for (i = 0; i < XVECTOR (XCAR (list))->size; i++)
352 if (CONSP (XVECTOR (XCONS (list)->car)->contents[i])) 352 if (CONSP (XVECTOR (XCAR (list))->contents[i]))
353 fix_submap_inheritance (keymap, make_number (i), 353 fix_submap_inheritance (keymap, make_number (i),
354 XVECTOR (XCONS (list)->car)->contents[i]); 354 XVECTOR (XCAR (list))->contents[i]);
355 355
356 if (CHAR_TABLE_P (XCONS (list)->car)) 356 if (CHAR_TABLE_P (XCAR (list)))
357 { 357 {
358 Lisp_Object indices[3]; 358 Lisp_Object indices[3];
359 359
360 map_char_table (fix_submap_inheritance, Qnil, XCONS (list)->car, 360 map_char_table (fix_submap_inheritance, Qnil, XCAR (list),
361 keymap, 0, indices); 361 keymap, 0, indices);
362 } 362 }
363 } 363 }
@@ -381,37 +381,37 @@ fix_submap_inheritance (map, event, submap)
381 if (CONSP (submap)) 381 if (CONSP (submap))
382 { 382 {
383 /* May be an old format menu item */ 383 /* May be an old format menu item */
384 if (STRINGP (XCONS (submap)->car)) 384 if (STRINGP (XCAR (submap)))
385 { 385 {
386 submap = XCONS (submap)->cdr; 386 submap = XCDR (submap);
387 /* Also remove a menu help string, if any, 387 /* Also remove a menu help string, if any,
388 following the menu item name. */ 388 following the menu item name. */
389 if (CONSP (submap) && STRINGP (XCONS (submap)->car)) 389 if (CONSP (submap) && STRINGP (XCAR (submap)))
390 submap = XCONS (submap)->cdr; 390 submap = XCDR (submap);
391 /* Also remove the sublist that caches key equivalences, if any. */ 391 /* Also remove the sublist that caches key equivalences, if any. */
392 if (CONSP (submap) 392 if (CONSP (submap)
393 && CONSP (XCONS (submap)->car)) 393 && CONSP (XCAR (submap)))
394 { 394 {
395 Lisp_Object carcar; 395 Lisp_Object carcar;
396 carcar = XCONS (XCONS (submap)->car)->car; 396 carcar = XCAR (XCAR (submap));
397 if (NILP (carcar) || VECTORP (carcar)) 397 if (NILP (carcar) || VECTORP (carcar))
398 submap = XCONS (submap)->cdr; 398 submap = XCDR (submap);
399 } 399 }
400 } 400 }
401 401
402 /* Or a new format menu item */ 402 /* Or a new format menu item */
403 else if (EQ (XCONS (submap)->car, Qmenu_item) 403 else if (EQ (XCAR (submap), Qmenu_item)
404 && CONSP (XCONS (submap)->cdr)) 404 && CONSP (XCDR (submap)))
405 { 405 {
406 submap = XCONS (XCONS (submap)->cdr)->cdr; 406 submap = XCDR (XCDR (submap));
407 if (CONSP (submap)) 407 if (CONSP (submap))
408 submap = XCONS (submap)->car; 408 submap = XCAR (submap);
409 } 409 }
410 } 410 }
411 411
412 /* If it isn't a keymap now, there's no work to do. */ 412 /* If it isn't a keymap now, there's no work to do. */
413 if (! CONSP (submap) 413 if (! CONSP (submap)
414 || ! EQ (XCONS (submap)->car, Qkeymap)) 414 || ! EQ (XCAR (submap), Qkeymap))
415 return; 415 return;
416 416
417 map_parent = Fkeymap_parent (map); 417 map_parent = Fkeymap_parent (map);
@@ -422,7 +422,7 @@ fix_submap_inheritance (map, event, submap)
422 422
423 /* If MAP's parent has something other than a keymap, 423 /* If MAP's parent has something other than a keymap,
424 our own submap shadows it completely, so use nil as SUBMAP's parent. */ 424 our own submap shadows it completely, so use nil as SUBMAP's parent. */
425 if (! (CONSP (parent_entry) && EQ (XCONS (parent_entry)->car, Qkeymap))) 425 if (! (CONSP (parent_entry) && EQ (XCAR (parent_entry), Qkeymap)))
426 parent_entry = Qnil; 426 parent_entry = Qnil;
427 427
428 if (! EQ (parent_entry, submap)) 428 if (! EQ (parent_entry, submap))
@@ -436,7 +436,7 @@ fix_submap_inheritance (map, event, submap)
436 if (EQ (tem, parent_entry)) 436 if (EQ (tem, parent_entry))
437 return; 437 return;
438 if (CONSP (tem) 438 if (CONSP (tem)
439 && EQ (XCONS (tem)->car, Qkeymap)) 439 && EQ (XCAR (tem), Qkeymap))
440 submap_parent = tem; 440 submap_parent = tem;
441 else 441 else
442 break; 442 break;
@@ -486,11 +486,11 @@ access_keymap (map, idx, t_ok, noinherit)
486 Lisp_Object t_binding; 486 Lisp_Object t_binding;
487 487
488 t_binding = Qnil; 488 t_binding = Qnil;
489 for (tail = map; CONSP (tail); tail = XCONS (tail)->cdr) 489 for (tail = map; CONSP (tail); tail = XCDR (tail))
490 { 490 {
491 Lisp_Object binding; 491 Lisp_Object binding;
492 492
493 binding = XCONS (tail)->car; 493 binding = XCAR (tail);
494 if (SYMBOLP (binding)) 494 if (SYMBOLP (binding))
495 { 495 {
496 /* If NOINHERIT, stop finding prefix definitions 496 /* If NOINHERIT, stop finding prefix definitions
@@ -500,24 +500,24 @@ access_keymap (map, idx, t_ok, noinherit)
500 } 500 }
501 else if (CONSP (binding)) 501 else if (CONSP (binding))
502 { 502 {
503 if (EQ (XCONS (binding)->car, idx)) 503 if (EQ (XCAR (binding), idx))
504 { 504 {
505 val = XCONS (binding)->cdr; 505 val = XCDR (binding);
506 if (noprefix && CONSP (val) && EQ (XCONS (val)->car, Qkeymap)) 506 if (noprefix && CONSP (val) && EQ (XCAR (val), Qkeymap))
507 return Qnil; 507 return Qnil;
508 if (CONSP (val)) 508 if (CONSP (val))
509 fix_submap_inheritance (map, idx, val); 509 fix_submap_inheritance (map, idx, val);
510 return val; 510 return val;
511 } 511 }
512 if (t_ok && EQ (XCONS (binding)->car, Qt)) 512 if (t_ok && EQ (XCAR (binding), Qt))
513 t_binding = XCONS (binding)->cdr; 513 t_binding = XCDR (binding);
514 } 514 }
515 else if (VECTORP (binding)) 515 else if (VECTORP (binding))
516 { 516 {
517 if (NATNUMP (idx) && XFASTINT (idx) < XVECTOR (binding)->size) 517 if (NATNUMP (idx) && XFASTINT (idx) < XVECTOR (binding)->size)
518 { 518 {
519 val = XVECTOR (binding)->contents[XFASTINT (idx)]; 519 val = XVECTOR (binding)->contents[XFASTINT (idx)];
520 if (noprefix && CONSP (val) && EQ (XCONS (val)->car, Qkeymap)) 520 if (noprefix && CONSP (val) && EQ (XCAR (val), Qkeymap))
521 return Qnil; 521 return Qnil;
522 if (CONSP (val)) 522 if (CONSP (val))
523 fix_submap_inheritance (map, idx, val); 523 fix_submap_inheritance (map, idx, val);
@@ -535,7 +535,7 @@ access_keymap (map, idx, t_ok, noinherit)
535 | CHAR_SHIFT | CHAR_CTL | CHAR_META))) 535 | CHAR_SHIFT | CHAR_CTL | CHAR_META)))
536 { 536 {
537 val = Faref (binding, idx); 537 val = Faref (binding, idx);
538 if (noprefix && CONSP (val) && EQ (XCONS (val)->car, Qkeymap)) 538 if (noprefix && CONSP (val) && EQ (XCAR (val), Qkeymap))
539 return Qnil; 539 return Qnil;
540 if (CONSP (val)) 540 if (CONSP (val))
541 fix_submap_inheritance (map, idx, val); 541 fix_submap_inheritance (map, idx, val);
@@ -651,10 +651,10 @@ store_in_keymap (keymap, idx, def)
651 /* If we are preparing to dump, and DEF is a menu element 651 /* If we are preparing to dump, and DEF is a menu element
652 with a menu item indicator, copy it to ensure it is not pure. */ 652 with a menu item indicator, copy it to ensure it is not pure. */
653 if (CONSP (def) && PURE_P (def) 653 if (CONSP (def) && PURE_P (def)
654 && (EQ (XCONS (def)->car, Qmenu_item) || STRINGP (XCONS (def)->car))) 654 && (EQ (XCAR (def), Qmenu_item) || STRINGP (XCAR (def))))
655 def = Fcons (XCONS (def)->car, XCONS (def)->cdr); 655 def = Fcons (XCAR (def), XCDR (def));
656 656
657 if (!CONSP (keymap) || ! EQ (XCONS (keymap)->car, Qkeymap)) 657 if (!CONSP (keymap) || ! EQ (XCAR (keymap), Qkeymap))
658 error ("attempt to define a key in a non-keymap"); 658 error ("attempt to define a key in a non-keymap");
659 659
660 /* If idx is a list (some sort of mouse click, perhaps?), 660 /* If idx is a list (some sort of mouse click, perhaps?),
@@ -684,11 +684,11 @@ store_in_keymap (keymap, idx, def)
684 Lisp_Object insertion_point; 684 Lisp_Object insertion_point;
685 685
686 insertion_point = keymap; 686 insertion_point = keymap;
687 for (tail = XCONS (keymap)->cdr; CONSP (tail); tail = XCONS (tail)->cdr) 687 for (tail = XCDR (keymap); CONSP (tail); tail = XCDR (tail))
688 { 688 {
689 Lisp_Object elt; 689 Lisp_Object elt;
690 690
691 elt = XCONS (tail)->car; 691 elt = XCAR (tail);
692 if (VECTORP (elt)) 692 if (VECTORP (elt))
693 { 693 {
694 if (NATNUMP (idx) && XFASTINT (idx) < XVECTOR (elt)->size) 694 if (NATNUMP (idx) && XFASTINT (idx) < XVECTOR (elt)->size)
@@ -715,9 +715,9 @@ store_in_keymap (keymap, idx, def)
715 } 715 }
716 else if (CONSP (elt)) 716 else if (CONSP (elt))
717 { 717 {
718 if (EQ (idx, XCONS (elt)->car)) 718 if (EQ (idx, XCAR (elt)))
719 { 719 {
720 XCONS (elt)->cdr = def; 720 XCDR (elt) = def;
721 return def; 721 return def;
722 } 722 }
723 } 723 }
@@ -737,8 +737,8 @@ store_in_keymap (keymap, idx, def)
737 keymap_end: 737 keymap_end:
738 /* We have scanned the entire keymap, and not found a binding for 738 /* We have scanned the entire keymap, and not found a binding for
739 IDX. Let's add one. */ 739 IDX. Let's add one. */
740 XCONS (insertion_point)->cdr 740 XCDR (insertion_point)
741 = Fcons (Fcons (idx, def), XCONS (insertion_point)->cdr); 741 = Fcons (Fcons (idx, def), XCDR (insertion_point));
742 } 742 }
743 743
744 return def; 744 return def;
@@ -766,17 +766,17 @@ is not copied.")
766 766
767 copy = Fcopy_alist (get_keymap (keymap)); 767 copy = Fcopy_alist (get_keymap (keymap));
768 768
769 for (tail = copy; CONSP (tail); tail = XCONS (tail)->cdr) 769 for (tail = copy; CONSP (tail); tail = XCDR (tail))
770 { 770 {
771 Lisp_Object elt; 771 Lisp_Object elt;
772 772
773 elt = XCONS (tail)->car; 773 elt = XCAR (tail);
774 if (CHAR_TABLE_P (elt)) 774 if (CHAR_TABLE_P (elt))
775 { 775 {
776 Lisp_Object indices[3]; 776 Lisp_Object indices[3];
777 777
778 elt = Fcopy_sequence (elt); 778 elt = Fcopy_sequence (elt);
779 XCONS (tail)->car = elt; 779 XCAR (tail) = elt;
780 780
781 map_char_table (copy_keymap_1, Qnil, elt, elt, 0, indices); 781 map_char_table (copy_keymap_1, Qnil, elt, elt, 0, indices);
782 } 782 }
@@ -785,7 +785,7 @@ is not copied.")
785 int i; 785 int i;
786 786
787 elt = Fcopy_sequence (elt); 787 elt = Fcopy_sequence (elt);
788 XCONS (tail)->car = elt; 788 XCAR (tail) = elt;
789 789
790 for (i = 0; i < XVECTOR (elt)->size; i++) 790 for (i = 0; i < XVECTOR (elt)->size; i++)
791 if (!SYMBOLP (XVECTOR (elt)->contents[i]) 791 if (!SYMBOLP (XVECTOR (elt)->contents[i])
@@ -793,41 +793,41 @@ is not copied.")
793 XVECTOR (elt)->contents[i] 793 XVECTOR (elt)->contents[i]
794 = Fcopy_keymap (XVECTOR (elt)->contents[i]); 794 = Fcopy_keymap (XVECTOR (elt)->contents[i]);
795 } 795 }
796 else if (CONSP (elt) && CONSP (XCONS (elt)->cdr)) 796 else if (CONSP (elt) && CONSP (XCDR (elt)))
797 { 797 {
798 Lisp_Object tem; 798 Lisp_Object tem;
799 tem = XCONS (elt)->cdr; 799 tem = XCDR (elt);
800 800
801 /* Is this a new format menu item. */ 801 /* Is this a new format menu item. */
802 if (EQ (XCONS (tem)->car,Qmenu_item)) 802 if (EQ (XCAR (tem),Qmenu_item))
803 { 803 {
804 /* Copy cell with menu-item marker. */ 804 /* Copy cell with menu-item marker. */
805 XCONS (elt)->cdr 805 XCDR (elt)
806 = Fcons (XCONS (tem)->car, XCONS (tem)->cdr); 806 = Fcons (XCAR (tem), XCDR (tem));
807 elt = XCONS (elt)->cdr; 807 elt = XCDR (elt);
808 tem = XCONS (elt)->cdr; 808 tem = XCDR (elt);
809 if (CONSP (tem)) 809 if (CONSP (tem))
810 { 810 {
811 /* Copy cell with menu-item name. */ 811 /* Copy cell with menu-item name. */
812 XCONS (elt)->cdr 812 XCDR (elt)
813 = Fcons (XCONS (tem)->car, XCONS (tem)->cdr); 813 = Fcons (XCAR (tem), XCDR (tem));
814 elt = XCONS (elt)->cdr; 814 elt = XCDR (elt);
815 tem = XCONS (elt)->cdr; 815 tem = XCDR (elt);
816 }; 816 };
817 if (CONSP (tem)) 817 if (CONSP (tem))
818 { 818 {
819 /* Copy cell with binding and if the binding is a keymap, 819 /* Copy cell with binding and if the binding is a keymap,
820 copy that. */ 820 copy that. */
821 XCONS (elt)->cdr 821 XCDR (elt)
822 = Fcons (XCONS (tem)->car, XCONS (tem)->cdr); 822 = Fcons (XCAR (tem), XCDR (tem));
823 elt = XCONS (elt)->cdr; 823 elt = XCDR (elt);
824 tem = XCONS (elt)->car; 824 tem = XCAR (elt);
825 if (!(SYMBOLP (tem) || NILP (Fkeymapp (tem)))) 825 if (!(SYMBOLP (tem) || NILP (Fkeymapp (tem))))
826 XCONS (elt)->car = Fcopy_keymap (tem); 826 XCAR (elt) = Fcopy_keymap (tem);
827 tem = XCONS (elt)->cdr; 827 tem = XCDR (elt);
828 if (CONSP (tem) && CONSP (XCONS (tem)->car)) 828 if (CONSP (tem) && CONSP (XCAR (tem)))
829 /* Delete cache for key equivalences. */ 829 /* Delete cache for key equivalences. */
830 XCONS (elt)->cdr = XCONS (tem)->cdr; 830 XCDR (elt) = XCDR (tem);
831 } 831 }
832 } 832 }
833 else 833 else
@@ -835,33 +835,33 @@ is not copied.")
835 /* It may be an old fomat menu item. 835 /* It may be an old fomat menu item.
836 Skip the optional menu string. 836 Skip the optional menu string.
837 */ 837 */
838 if (STRINGP (XCONS (tem)->car)) 838 if (STRINGP (XCAR (tem)))
839 { 839 {
840 /* Copy the cell, since copy-alist didn't go this deep. */ 840 /* Copy the cell, since copy-alist didn't go this deep. */
841 XCONS (elt)->cdr 841 XCDR (elt)
842 = Fcons (XCONS (tem)->car, XCONS (tem)->cdr); 842 = Fcons (XCAR (tem), XCDR (tem));
843 elt = XCONS (elt)->cdr; 843 elt = XCDR (elt);
844 tem = XCONS (elt)->cdr; 844 tem = XCDR (elt);
845 /* Also skip the optional menu help string. */ 845 /* Also skip the optional menu help string. */
846 if (CONSP (tem) && STRINGP (XCONS (tem)->car)) 846 if (CONSP (tem) && STRINGP (XCAR (tem)))
847 { 847 {
848 XCONS (elt)->cdr 848 XCDR (elt)
849 = Fcons (XCONS (tem)->car, XCONS (tem)->cdr); 849 = Fcons (XCAR (tem), XCDR (tem));
850 elt = XCONS (elt)->cdr; 850 elt = XCDR (elt);
851 tem = XCONS (elt)->cdr; 851 tem = XCDR (elt);
852 } 852 }
853 /* There may also be a list that caches key equivalences. 853 /* There may also be a list that caches key equivalences.
854 Just delete it for the new keymap. */ 854 Just delete it for the new keymap. */
855 if (CONSP (tem) 855 if (CONSP (tem)
856 && CONSP (XCONS (tem)->car) 856 && CONSP (XCAR (tem))
857 && (NILP (XCONS (XCONS (tem)->car)->car) 857 && (NILP (XCAR (XCAR (tem)))
858 || VECTORP (XCONS (XCONS (tem)->car)->car))) 858 || VECTORP (XCAR (XCAR (tem)))))
859 XCONS (elt)->cdr = XCONS (tem)->cdr; 859 XCDR (elt) = XCDR (tem);
860 } 860 }
861 if (CONSP (elt) 861 if (CONSP (elt)
862 && ! SYMBOLP (XCONS (elt)->cdr) 862 && ! SYMBOLP (XCDR (elt))
863 && ! NILP (Fkeymapp (XCONS (elt)->cdr))) 863 && ! NILP (Fkeymapp (XCDR (elt))))
864 XCONS (elt)->cdr = Fcopy_keymap (XCONS (elt)->cdr); 864 XCDR (elt) = Fcopy_keymap (XCDR (elt));
865 } 865 }
866 866
867 } 867 }
@@ -1093,8 +1093,8 @@ define_as_prefix (keymap, c)
1093 make it define this key. */ 1093 make it define this key. */
1094 Lisp_Object tail; 1094 Lisp_Object tail;
1095 1095
1096 for (tail = Fcdr (keymap); CONSP (tail); tail = XCONS (tail)->cdr) 1096 for (tail = Fcdr (keymap); CONSP (tail); tail = XCDR (tail))
1097 if (EQ (XCONS (tail)->car, Qkeymap)) 1097 if (EQ (XCAR (tail), Qkeymap))
1098 break; 1098 break;
1099 1099
1100 if (!NILP (tail)) 1100 if (!NILP (tail))
@@ -1169,9 +1169,9 @@ current_minor_maps (modeptr, mapptr)
1169 for (list_number = 0; list_number < 2; list_number++) 1169 for (list_number = 0; list_number < 2; list_number++)
1170 for (alist = lists[list_number]; 1170 for (alist = lists[list_number];
1171 CONSP (alist); 1171 CONSP (alist);
1172 alist = XCONS (alist)->cdr) 1172 alist = XCDR (alist))
1173 if ((assoc = XCONS (alist)->car, CONSP (assoc)) 1173 if ((assoc = XCAR (alist), CONSP (assoc))
1174 && (var = XCONS (assoc)->car, SYMBOLP (var)) 1174 && (var = XCAR (assoc), SYMBOLP (var))
1175 && (val = find_symbol_value (var), ! EQ (val, Qunbound)) 1175 && (val = find_symbol_value (var), ! EQ (val, Qunbound))
1176 && ! NILP (val)) 1176 && ! NILP (val))
1177 { 1177 {
@@ -1225,7 +1225,7 @@ current_minor_maps (modeptr, mapptr)
1225 1225
1226 /* Get the keymap definition--or nil if it is not defined. */ 1226 /* Get the keymap definition--or nil if it is not defined. */
1227 temp = internal_condition_case_1 (Findirect_function, 1227 temp = internal_condition_case_1 (Findirect_function,
1228 XCONS (assoc)->cdr, 1228 XCDR (assoc),
1229 Qerror, current_minor_maps_error); 1229 Qerror, current_minor_maps_error);
1230 if (!NILP (temp)) 1230 if (!NILP (temp))
1231 { 1231 {
@@ -1536,7 +1536,7 @@ then the value includes only maps for prefixes that start with PREFIX.")
1536 This is a breadth-first traversal, where tail is the queue of 1536 This is a breadth-first traversal, where tail is the queue of
1537 nodes, and maps accumulates a list of all nodes visited. */ 1537 nodes, and maps accumulates a list of all nodes visited. */
1538 1538
1539 for (tail = maps; CONSP (tail); tail = XCONS (tail)->cdr) 1539 for (tail = maps; CONSP (tail); tail = XCDR (tail))
1540 { 1540 {
1541 register Lisp_Object thisseq, thismap; 1541 register Lisp_Object thisseq, thismap;
1542 Lisp_Object last; 1542 Lisp_Object last;
@@ -1551,11 +1551,11 @@ then the value includes only maps for prefixes that start with PREFIX.")
1551 && XINT (last) >= prefixlen 1551 && XINT (last) >= prefixlen
1552 && EQ (Faref (thisseq, last), meta_prefix_char)); 1552 && EQ (Faref (thisseq, last), meta_prefix_char));
1553 1553
1554 for (; CONSP (thismap); thismap = XCONS (thismap)->cdr) 1554 for (; CONSP (thismap); thismap = XCDR (thismap))
1555 { 1555 {
1556 Lisp_Object elt; 1556 Lisp_Object elt;
1557 1557
1558 elt = XCONS (thismap)->car; 1558 elt = XCAR (thismap);
1559 1559
1560 QUIT; 1560 QUIT;
1561 1561
@@ -1602,8 +1602,8 @@ then the value includes only maps for prefixes that start with PREFIX.")
1602 /* This new sequence is the same length as 1602 /* This new sequence is the same length as
1603 thisseq, so stick it in the list right 1603 thisseq, so stick it in the list right
1604 after this one. */ 1604 after this one. */
1605 XCONS (tail)->cdr 1605 XCDR (tail)
1606 = Fcons (Fcons (tem, cmd), XCONS (tail)->cdr); 1606 = Fcons (Fcons (tem, cmd), XCDR (tail));
1607 } 1607 }
1608 else 1608 else
1609 { 1609 {
@@ -1618,7 +1618,7 @@ then the value includes only maps for prefixes that start with PREFIX.")
1618 { 1618 {
1619 register Lisp_Object cmd, tem, filter; 1619 register Lisp_Object cmd, tem, filter;
1620 1620
1621 cmd = get_keyelt (XCONS (elt)->cdr, 0); 1621 cmd = get_keyelt (XCDR (elt), 0);
1622 /* Ignore definitions that aren't keymaps themselves. */ 1622 /* Ignore definitions that aren't keymaps themselves. */
1623 tem = Fkeymapp (cmd); 1623 tem = Fkeymapp (cmd);
1624 if (!NILP (tem)) 1624 if (!NILP (tem))
@@ -1629,7 +1629,7 @@ then the value includes only maps for prefixes that start with PREFIX.")
1629 if (NILP (tem)) 1629 if (NILP (tem))
1630 { 1630 {
1631 /* Let elt be the event defined by this map entry. */ 1631 /* Let elt be the event defined by this map entry. */
1632 elt = XCONS (elt)->car; 1632 elt = XCAR (elt);
1633 1633
1634 /* If the last key in thisseq is meta-prefix-char, and 1634 /* If the last key in thisseq is meta-prefix-char, and
1635 this entry is a binding for an ascii keystroke, 1635 this entry is a binding for an ascii keystroke,
@@ -1646,8 +1646,8 @@ then the value includes only maps for prefixes that start with PREFIX.")
1646 /* This new sequence is the same length as 1646 /* This new sequence is the same length as
1647 thisseq, so stick it in the list right 1647 thisseq, so stick it in the list right
1648 after this one. */ 1648 after this one. */
1649 XCONS (tail)->cdr 1649 XCDR (tail)
1650 = Fcons (Fcons (tem, cmd), XCONS (tail)->cdr); 1650 = Fcons (Fcons (tem, cmd), XCDR (tail));
1651 } 1651 }
1652 else 1652 else
1653 nconc2 (tail, 1653 nconc2 (tail,
@@ -1665,11 +1665,11 @@ then the value includes only maps for prefixes that start with PREFIX.")
1665 /* Now find just the maps whose access prefixes start with PREFIX. */ 1665 /* Now find just the maps whose access prefixes start with PREFIX. */
1666 1666
1667 good_maps = Qnil; 1667 good_maps = Qnil;
1668 for (; CONSP (maps); maps = XCONS (maps)->cdr) 1668 for (; CONSP (maps); maps = XCDR (maps))
1669 { 1669 {
1670 Lisp_Object elt, thisseq; 1670 Lisp_Object elt, thisseq;
1671 elt = XCONS (maps)->car; 1671 elt = XCAR (maps);
1672 thisseq = XCONS (elt)->car; 1672 thisseq = XCAR (elt);
1673 /* The access prefix must be at least as long as PREFIX, 1673 /* The access prefix must be at least as long as PREFIX,
1674 and the first elements must match those of PREFIX. */ 1674 and the first elements must match those of PREFIX. */
1675 if (XINT (Flength (thisseq)) >= prefixlen) 1675 if (XINT (Flength (thisseq)) >= prefixlen)
@@ -1700,9 +1700,9 @@ accessible_keymaps_char_table (args, index, cmd)
1700 if (NILP (cmd)) 1700 if (NILP (cmd))
1701 return; 1701 return;
1702 1702
1703 maps = XCONS (args)->car; 1703 maps = XCAR (args);
1704 tail = XCONS (XCONS (args)->cdr)->car; 1704 tail = XCAR (XCDR (args));
1705 thisseq = XCONS (XCONS (args)->cdr)->cdr; 1705 thisseq = XCDR (XCDR (args));
1706 1706
1707 tem = Fkeymapp (cmd); 1707 tem = Fkeymapp (cmd);
1708 if (!NILP (tem)) 1708 if (!NILP (tem))
@@ -1787,9 +1787,9 @@ spaces are put between sequence elements, etc.")
1787 1787
1788 for (i = 0; i < len; i++) 1788 for (i = 0; i < len; i++)
1789 { 1789 {
1790 args[i * 2] = Fsingle_key_description (XCONS (keys)->car); 1790 args[i * 2] = Fsingle_key_description (XCAR (keys));
1791 args[i * 2 + 1] = sep; 1791 args[i * 2 + 1] = sep;
1792 keys = XCONS (keys)->cdr; 1792 keys = XCDR (keys);
1793 } 1793 }
1794 } 1794 }
1795 else 1795 else
@@ -2106,10 +2106,10 @@ indirect definition itself.")
2106 minors = Fnreverse (Fcurrent_minor_mode_maps ()); 2106 minors = Fnreverse (Fcurrent_minor_mode_maps ());
2107 while (!NILP (minors)) 2107 while (!NILP (minors))
2108 { 2108 {
2109 maps = nconc2 (Faccessible_keymaps (get_keymap (XCONS (minors)->car), 2109 maps = nconc2 (Faccessible_keymaps (get_keymap (XCAR (minors)),
2110 Qnil), 2110 Qnil),
2111 maps); 2111 maps);
2112 minors = XCONS (minors)->cdr; 2112 minors = XCDR (minors);
2113 } 2113 }
2114 } 2114 }
2115 2115
@@ -2147,8 +2147,8 @@ indirect definition itself.")
2147 advance map to the next element until i indicates that we 2147 advance map to the next element until i indicates that we
2148 have finished off the vector. */ 2148 have finished off the vector. */
2149 Lisp_Object elt, key, binding; 2149 Lisp_Object elt, key, binding;
2150 elt = XCONS (map)->car; 2150 elt = XCAR (map);
2151 map = XCONS (map)->cdr; 2151 map = XCDR (map);
2152 2152
2153 sequences = Qnil; 2153 sequences = Qnil;
2154 2154
@@ -2185,14 +2185,14 @@ indirect definition itself.")
2185 2185
2186 map_char_table (where_is_internal_2, Qnil, elt, args, 2186 map_char_table (where_is_internal_2, Qnil, elt, args,
2187 0, indices); 2187 0, indices);
2188 sequences = XCONS (XCONS (XCONS (args)->car)->cdr)->cdr; 2188 sequences = XCDR (XCDR (XCAR (args)));
2189 } 2189 }
2190 else if (CONSP (elt)) 2190 else if (CONSP (elt))
2191 { 2191 {
2192 Lisp_Object sequence; 2192 Lisp_Object sequence;
2193 2193
2194 key = XCONS (elt)->car; 2194 key = XCAR (elt);
2195 binding = XCONS (elt)->cdr; 2195 binding = XCDR (elt);
2196 2196
2197 sequence = where_is_internal_1 (binding, key, definition, 2197 sequence = where_is_internal_1 (binding, key, definition,
2198 noindirect, keymap, this, 2198 noindirect, keymap, this,
@@ -2202,11 +2202,11 @@ indirect definition itself.")
2202 } 2202 }
2203 2203
2204 2204
2205 for (; ! NILP (sequences); sequences = XCONS (sequences)->cdr) 2205 for (; ! NILP (sequences); sequences = XCDR (sequences))
2206 { 2206 {
2207 Lisp_Object sequence; 2207 Lisp_Object sequence;
2208 2208
2209 sequence = XCONS (sequences)->car; 2209 sequence = XCAR (sequences);
2210 2210
2211 /* It is a true unshadowed match. Record it, unless it's already 2211 /* It is a true unshadowed match. Record it, unless it's already
2212 been seen (as could happen when inheriting keymaps). */ 2212 been seen (as could happen when inheriting keymaps). */
@@ -2254,20 +2254,20 @@ where_is_internal_2 (args, key, binding)
2254 Lisp_Object result, sequence; 2254 Lisp_Object result, sequence;
2255 int nomenus, last_is_meta; 2255 int nomenus, last_is_meta;
2256 2256
2257 result = XCONS (XCONS (XCONS (args)->car)->cdr)->cdr; 2257 result = XCDR (XCDR (XCAR (args)));
2258 definition = XCONS (XCONS (XCONS (args)->car)->car)->car; 2258 definition = XCAR (XCAR (XCAR (args)));
2259 noindirect = XCONS (XCONS (XCONS (args)->car)->car)->cdr; 2259 noindirect = XCDR (XCAR (XCAR (args)));
2260 keymap = XCONS (XCONS (XCONS (args)->car)->cdr)->car; 2260 keymap = XCAR (XCDR (XCAR (args)));
2261 this = XCONS (XCONS (XCONS (args)->cdr)->car)->car; 2261 this = XCAR (XCAR (XCDR (args)));
2262 last = XCONS (XCONS (XCONS (args)->cdr)->car)->cdr; 2262 last = XCDR (XCAR (XCDR (args)));
2263 nomenus = XFASTINT (XCONS (XCONS (XCONS (args)->cdr)->cdr)->car); 2263 nomenus = XFASTINT (XCAR (XCDR (XCDR (args))));
2264 last_is_meta = XFASTINT (XCONS (XCONS (XCONS (args)->cdr)->cdr)->cdr); 2264 last_is_meta = XFASTINT (XCDR (XCDR (XCDR (args))));
2265 2265
2266 sequence = where_is_internal_1 (binding, key, definition, noindirect, keymap, 2266 sequence = where_is_internal_1 (binding, key, definition, noindirect, keymap,
2267 this, last, nomenus, last_is_meta); 2267 this, last, nomenus, last_is_meta);
2268 2268
2269 if (!NILP (sequence)) 2269 if (!NILP (sequence))
2270 XCONS (XCONS (XCONS (args)->car)->cdr)->cdr 2270 XCDR (XCDR (XCAR (args)))
2271 = Fcons (sequence, result); 2271 = Fcons (sequence, result);
2272} 2272}
2273 2273
@@ -2298,8 +2298,8 @@ where_is_internal_1 (binding, key, definition, noindirect, keymap, this, last,
2298 } 2298 }
2299 /* If the contents are (menu-item ...) or (STRING ...), reject. */ 2299 /* If the contents are (menu-item ...) or (STRING ...), reject. */
2300 if (CONSP (definition) 2300 if (CONSP (definition)
2301 && (EQ (XCONS (definition)->car,Qmenu_item) 2301 && (EQ (XCAR (definition),Qmenu_item)
2302 || STRINGP (XCONS (definition)->car))) 2302 || STRINGP (XCAR (definition))))
2303 return Qnil; 2303 return Qnil;
2304 } 2304 }
2305 else 2305 else
@@ -2404,11 +2404,11 @@ Keyboard translations:\n\n\
2404You type Translation\n\ 2404You type Translation\n\
2405-------- -----------\n"; 2405-------- -----------\n";
2406 2406
2407 descbuf = XCONS (arg)->car; 2407 descbuf = XCAR (arg);
2408 arg = XCONS (arg)->cdr; 2408 arg = XCDR (arg);
2409 prefix = XCONS (arg)->car; 2409 prefix = XCAR (arg);
2410 arg = XCONS (arg)->cdr; 2410 arg = XCDR (arg);
2411 nomenu = NILP (XCONS (arg)->car); 2411 nomenu = NILP (XCAR (arg));
2412 2412
2413 shadow = Qnil; 2413 shadow = Qnil;
2414 GCPRO1 (shadow); 2414 GCPRO1 (shadow);
@@ -2566,7 +2566,7 @@ key binding\n\
2566 Lisp_Object list; 2566 Lisp_Object list;
2567 2567
2568 /* Delete from MAPS each element that is for the menu bar. */ 2568 /* Delete from MAPS each element that is for the menu bar. */
2569 for (list = maps; !NILP (list); list = XCONS (list)->cdr) 2569 for (list = maps; !NILP (list); list = XCDR (list))
2570 { 2570 {
2571 Lisp_Object elt, prefix, tem; 2571 Lisp_Object elt, prefix, tem;
2572 2572
@@ -2606,11 +2606,11 @@ key binding\n\
2606 2606
2607 sub_shadows = Qnil; 2607 sub_shadows = Qnil;
2608 2608
2609 for (tail = shadow; CONSP (tail); tail = XCONS (tail)->cdr) 2609 for (tail = shadow; CONSP (tail); tail = XCDR (tail))
2610 { 2610 {
2611 Lisp_Object shmap; 2611 Lisp_Object shmap;
2612 2612
2613 shmap = XCONS (tail)->car; 2613 shmap = XCAR (tail);
2614 2614
2615 /* If the sequence by which we reach this keymap is zero-length, 2615 /* If the sequence by which we reach this keymap is zero-length,
2616 then the shadow map for this keymap is just SHADOW. */ 2616 then the shadow map for this keymap is just SHADOW. */
@@ -2740,9 +2740,9 @@ shadow_lookup (shadow, key, flag)
2740{ 2740{
2741 Lisp_Object tail, value; 2741 Lisp_Object tail, value;
2742 2742
2743 for (tail = shadow; CONSP (tail); tail = XCONS (tail)->cdr) 2743 for (tail = shadow; CONSP (tail); tail = XCDR (tail))
2744 { 2744 {
2745 value = Flookup_key (XCONS (tail)->car, key, flag); 2745 value = Flookup_key (XCAR (tail), key, flag);
2746 if (!NILP (value)) 2746 if (!NILP (value))
2747 return value; 2747 return value;
2748 } 2748 }
@@ -2791,18 +2791,18 @@ describe_map (map, keys, elt_describer, partial, shadow, seen, nomenu)
2791 2791
2792 GCPRO3 (elt_prefix, definition, kludge); 2792 GCPRO3 (elt_prefix, definition, kludge);
2793 2793
2794 for (tail = map; CONSP (tail); tail = XCONS (tail)->cdr) 2794 for (tail = map; CONSP (tail); tail = XCDR (tail))
2795 { 2795 {
2796 QUIT; 2796 QUIT;
2797 2797
2798 if (VECTORP (XCONS (tail)->car) 2798 if (VECTORP (XCAR (tail))
2799 || CHAR_TABLE_P (XCONS (tail)->car)) 2799 || CHAR_TABLE_P (XCAR (tail)))
2800 describe_vector (XCONS (tail)->car, 2800 describe_vector (XCAR (tail),
2801 elt_prefix, elt_describer, partial, shadow, map, 2801 elt_prefix, elt_describer, partial, shadow, map,
2802 (int *)0, 0); 2802 (int *)0, 0);
2803 else if (CONSP (XCONS (tail)->car)) 2803 else if (CONSP (XCAR (tail)))
2804 { 2804 {
2805 event = XCONS (XCONS (tail)->car)->car; 2805 event = XCAR (XCAR (tail));
2806 2806
2807 /* Ignore bindings whose "keys" are not really valid events. 2807 /* Ignore bindings whose "keys" are not really valid events.
2808 (We get these in the frames and buffers menu.) */ 2808 (We get these in the frames and buffers menu.) */
@@ -2812,7 +2812,7 @@ describe_map (map, keys, elt_describer, partial, shadow, seen, nomenu)
2812 if (nomenu && EQ (event, Qmenu_bar)) 2812 if (nomenu && EQ (event, Qmenu_bar))
2813 continue; 2813 continue;
2814 2814
2815 definition = get_keyelt (XCONS (XCONS (tail)->car)->cdr, 0); 2815 definition = get_keyelt (XCDR (XCAR (tail)), 0);
2816 2816
2817 /* Don't show undefined commands or suppressed commands. */ 2817 /* Don't show undefined commands or suppressed commands. */
2818 if (NILP (definition)) continue; 2818 if (NILP (definition)) continue;
@@ -2854,13 +2854,13 @@ describe_map (map, keys, elt_describer, partial, shadow, seen, nomenu)
2854 for alignment purposes. */ 2854 for alignment purposes. */
2855 (*elt_describer) (definition); 2855 (*elt_describer) (definition);
2856 } 2856 }
2857 else if (EQ (XCONS (tail)->car, Qkeymap)) 2857 else if (EQ (XCAR (tail), Qkeymap))
2858 { 2858 {
2859 /* The same keymap might be in the structure twice, if we're 2859 /* The same keymap might be in the structure twice, if we're
2860 using an inherited keymap. So skip anything we've already 2860 using an inherited keymap. So skip anything we've already
2861 encountered. */ 2861 encountered. */
2862 tem = Fassq (tail, *seen); 2862 tem = Fassq (tail, *seen);
2863 if (CONSP (tem) && !NILP (Fequal (XCONS (tem)->car, keys))) 2863 if (CONSP (tem) && !NILP (Fequal (XCAR (tem), keys)))
2864 break; 2864 break;
2865 *seen = Fcons (Fcons (tail, keys), *seen); 2865 *seen = Fcons (Fcons (tail, keys), *seen);
2866 } 2866 }