comparison src/ccl.c @ 25662:0a7261c1d487

Use XCAR, XCDR, and XFLOAT_DATA instead of explicit member access.
author Ken Raeburn <raeburn@raeburn.org>
date Mon, 13 Sep 1999 02:23:04 +0000
parents 8b8e54912f5c
children b7aa6ac26872
comparison
equal deleted inserted replaced
25661:a6e2ae7964fb 25662:0a7261c1d487
1326 map = 1326 map =
1327 XVECTOR (Vcode_conversion_map_vector)->contents[point]; 1327 XVECTOR (Vcode_conversion_map_vector)->contents[point];
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;
1335 1335
1336 content = XVECTOR (map)->contents[0]; 1336 content = XVECTOR (map)->contents[0];
1370 reg[RRR] = i; 1370 reg[RRR] = i;
1371 break; 1371 break;
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;
1380 reg[rrr] = XUINT (value); 1380 reg[rrr] = XUINT (value);
1381 break; 1381 break;
1435 map = (XVECTOR (Vcode_conversion_map_vector) 1435 map = (XVECTOR (Vcode_conversion_map_vector)
1436 ->contents[point]); 1436 ->contents[point]);
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;
1444 1444
1445 content = XVECTOR (map)->contents[0]; 1445 content = XVECTOR (map)->contents[0];
1475 i += map_set_rest_length; 1475 i += map_set_rest_length;
1476 POP_MAPPING_STACK (map_set_rest_length, reg[rrr]); 1476 POP_MAPPING_STACK (map_set_rest_length, reg[rrr]);
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;
1485 op = XUINT (value); 1485 op = XUINT (value);
1486 i += map_set_rest_length; 1486 i += map_set_rest_length;
1520 if (!CONSP (map)) 1520 if (!CONSP (map))
1521 { 1521 {
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;
1529 break; 1529 break;
1530 } 1530 }
1544 reg[rrr] = XINT (content); 1544 reg[rrr] = XINT (content);
1545 else if (EQ (content, Qt)) 1545 else if (EQ (content, Qt))
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);
1554 break; 1554 break;
1555 } 1555 }
1661 { 1661 {
1662 contents = XVECTOR (result)->contents[i]; 1662 contents = XVECTOR (result)->contents[i];
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
1671 an index number. */ 1671 an index number. */
1672 1672
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
1680 unresolved = 1; 1680 unresolved = 1;
1681 continue; 1681 continue;
2036 Lisp_Object slot = XVECTOR (Vcode_conversion_map_vector)->contents[i]; 2036 Lisp_Object slot = XVECTOR (Vcode_conversion_map_vector)->contents[i];
2037 2037
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;
2048 } 2048 }
2049 } 2049 }