diff options
Diffstat (limited to 'src/intervals.c')
| -rw-r--r-- | src/intervals.c | 134 |
1 files changed, 67 insertions, 67 deletions
diff --git a/src/intervals.c b/src/intervals.c index a750ccd13f7..0b332caf897 100644 --- a/src/intervals.c +++ b/src/intervals.c | |||
| @@ -223,7 +223,7 @@ traverse_intervals_noorder (INTERVAL tree, void (*function) (INTERVAL, Lisp_Obje | |||
| 223 | Pass FUNCTION two args: an interval, and ARG. */ | 223 | Pass FUNCTION two args: an interval, and ARG. */ |
| 224 | 224 | ||
| 225 | void | 225 | void |
| 226 | traverse_intervals (INTERVAL tree, EMACS_INT position, | 226 | traverse_intervals (INTERVAL tree, ptrdiff_t position, |
| 227 | void (*function) (INTERVAL, Lisp_Object), Lisp_Object arg) | 227 | void (*function) (INTERVAL, Lisp_Object), Lisp_Object arg) |
| 228 | { | 228 | { |
| 229 | while (!NULL_INTERVAL_P (tree)) | 229 | while (!NULL_INTERVAL_P (tree)) |
| @@ -313,7 +313,7 @@ rotate_right (INTERVAL interval) | |||
| 313 | { | 313 | { |
| 314 | INTERVAL i; | 314 | INTERVAL i; |
| 315 | INTERVAL B = interval->left; | 315 | INTERVAL B = interval->left; |
| 316 | EMACS_INT old_total = interval->total_length; | 316 | ptrdiff_t old_total = interval->total_length; |
| 317 | 317 | ||
| 318 | /* Deal with any Parent of A; make it point to B. */ | 318 | /* Deal with any Parent of A; make it point to B. */ |
| 319 | if (! ROOT_INTERVAL_P (interval)) | 319 | if (! ROOT_INTERVAL_P (interval)) |
| @@ -360,7 +360,7 @@ rotate_left (INTERVAL interval) | |||
| 360 | { | 360 | { |
| 361 | INTERVAL i; | 361 | INTERVAL i; |
| 362 | INTERVAL B = interval->right; | 362 | INTERVAL B = interval->right; |
| 363 | EMACS_INT old_total = interval->total_length; | 363 | ptrdiff_t old_total = interval->total_length; |
| 364 | 364 | ||
| 365 | /* Deal with any parent of A; make it point to B. */ | 365 | /* Deal with any parent of A; make it point to B. */ |
| 366 | if (! ROOT_INTERVAL_P (interval)) | 366 | if (! ROOT_INTERVAL_P (interval)) |
| @@ -399,7 +399,7 @@ rotate_left (INTERVAL interval) | |||
| 399 | static INTERVAL | 399 | static INTERVAL |
| 400 | balance_an_interval (INTERVAL i) | 400 | balance_an_interval (INTERVAL i) |
| 401 | { | 401 | { |
| 402 | register EMACS_INT old_diff, new_diff; | 402 | register ptrdiff_t old_diff, new_diff; |
| 403 | 403 | ||
| 404 | while (1) | 404 | while (1) |
| 405 | { | 405 | { |
| @@ -499,11 +499,11 @@ balance_intervals (INTERVAL tree) | |||
| 499 | it is still a root after this operation. */ | 499 | it is still a root after this operation. */ |
| 500 | 500 | ||
| 501 | INTERVAL | 501 | INTERVAL |
| 502 | split_interval_right (INTERVAL interval, EMACS_INT offset) | 502 | split_interval_right (INTERVAL interval, ptrdiff_t offset) |
| 503 | { | 503 | { |
| 504 | INTERVAL new = make_interval (); | 504 | INTERVAL new = make_interval (); |
| 505 | EMACS_INT position = interval->position; | 505 | ptrdiff_t position = interval->position; |
| 506 | EMACS_INT new_length = LENGTH (interval) - offset; | 506 | ptrdiff_t new_length = LENGTH (interval) - offset; |
| 507 | 507 | ||
| 508 | new->position = position + offset; | 508 | new->position = position + offset; |
| 509 | SET_INTERVAL_PARENT (new, interval); | 509 | SET_INTERVAL_PARENT (new, interval); |
| @@ -544,10 +544,10 @@ split_interval_right (INTERVAL interval, EMACS_INT offset) | |||
| 544 | it is still a root after this operation. */ | 544 | it is still a root after this operation. */ |
| 545 | 545 | ||
| 546 | INTERVAL | 546 | INTERVAL |
| 547 | split_interval_left (INTERVAL interval, EMACS_INT offset) | 547 | split_interval_left (INTERVAL interval, ptrdiff_t offset) |
| 548 | { | 548 | { |
| 549 | INTERVAL new = make_interval (); | 549 | INTERVAL new = make_interval (); |
| 550 | EMACS_INT new_length = offset; | 550 | ptrdiff_t new_length = offset; |
| 551 | 551 | ||
| 552 | new->position = interval->position; | 552 | new->position = interval->position; |
| 553 | interval->position = interval->position + offset; | 553 | interval->position = interval->position + offset; |
| @@ -610,11 +610,11 @@ interval_start_pos (INTERVAL source) | |||
| 610 | will update this cache based on the result of find_interval. */ | 610 | will update this cache based on the result of find_interval. */ |
| 611 | 611 | ||
| 612 | INTERVAL | 612 | INTERVAL |
| 613 | find_interval (register INTERVAL tree, register EMACS_INT position) | 613 | find_interval (register INTERVAL tree, register ptrdiff_t position) |
| 614 | { | 614 | { |
| 615 | /* The distance from the left edge of the subtree at TREE | 615 | /* The distance from the left edge of the subtree at TREE |
| 616 | to POSITION. */ | 616 | to POSITION. */ |
| 617 | register EMACS_INT relative_position; | 617 | register ptrdiff_t relative_position; |
| 618 | 618 | ||
| 619 | if (NULL_INTERVAL_P (tree)) | 619 | if (NULL_INTERVAL_P (tree)) |
| 620 | return NULL_INTERVAL; | 620 | return NULL_INTERVAL; |
| @@ -667,7 +667,7 @@ INTERVAL | |||
| 667 | next_interval (register INTERVAL interval) | 667 | next_interval (register INTERVAL interval) |
| 668 | { | 668 | { |
| 669 | register INTERVAL i = interval; | 669 | register INTERVAL i = interval; |
| 670 | register EMACS_INT next_position; | 670 | register ptrdiff_t next_position; |
| 671 | 671 | ||
| 672 | if (NULL_INTERVAL_P (i)) | 672 | if (NULL_INTERVAL_P (i)) |
| 673 | return NULL_INTERVAL; | 673 | return NULL_INTERVAL; |
| @@ -742,7 +742,7 @@ previous_interval (register INTERVAL interval) | |||
| 742 | To speed up the process, we assume that the ->position of | 742 | To speed up the process, we assume that the ->position of |
| 743 | I and all its parents is already uptodate. */ | 743 | I and all its parents is already uptodate. */ |
| 744 | INTERVAL | 744 | INTERVAL |
| 745 | update_interval (register INTERVAL i, EMACS_INT pos) | 745 | update_interval (register INTERVAL i, ptrdiff_t pos) |
| 746 | { | 746 | { |
| 747 | if (NULL_INTERVAL_P (i)) | 747 | if (NULL_INTERVAL_P (i)) |
| 748 | return NULL_INTERVAL; | 748 | return NULL_INTERVAL; |
| @@ -774,7 +774,7 @@ update_interval (register INTERVAL i, EMACS_INT pos) | |||
| 774 | i = i->right; /* Move to the right child */ | 774 | i = i->right; /* Move to the right child */ |
| 775 | } | 775 | } |
| 776 | else if (NULL_PARENT (i)) | 776 | else if (NULL_PARENT (i)) |
| 777 | error ("Point %"pI"d after end of properties", pos); | 777 | error ("Point %"pD"d after end of properties", pos); |
| 778 | else | 778 | else |
| 779 | i = INTERVAL_PARENT (i); | 779 | i = INTERVAL_PARENT (i); |
| 780 | continue; | 780 | continue; |
| @@ -799,10 +799,10 @@ update_interval (register INTERVAL i, EMACS_INT pos) | |||
| 799 | to the root. */ | 799 | to the root. */ |
| 800 | 800 | ||
| 801 | static INTERVAL | 801 | static INTERVAL |
| 802 | adjust_intervals_for_insertion (INTERVAL tree, EMACS_INT position, | 802 | adjust_intervals_for_insertion (INTERVAL tree, ptrdiff_t position, |
| 803 | EMACS_INT length) | 803 | ptrdiff_t length) |
| 804 | { | 804 | { |
| 805 | register EMACS_INT relative_position; | 805 | register ptrdiff_t relative_position; |
| 806 | register INTERVAL this; | 806 | register INTERVAL this; |
| 807 | 807 | ||
| 808 | if (TOTAL_LENGTH (tree) == 0) /* Paranoia */ | 808 | if (TOTAL_LENGTH (tree) == 0) /* Paranoia */ |
| @@ -861,13 +861,13 @@ adjust_intervals_for_insertion (INTERVAL tree, EMACS_INT position, | |||
| 861 | 861 | ||
| 862 | static INTERVAL | 862 | static INTERVAL |
| 863 | adjust_intervals_for_insertion (INTERVAL tree, | 863 | adjust_intervals_for_insertion (INTERVAL tree, |
| 864 | EMACS_INT position, EMACS_INT length) | 864 | ptrdiff_t position, ptrdiff_t length) |
| 865 | { | 865 | { |
| 866 | register INTERVAL i; | 866 | register INTERVAL i; |
| 867 | register INTERVAL temp; | 867 | register INTERVAL temp; |
| 868 | int eobp = 0; | 868 | int eobp = 0; |
| 869 | Lisp_Object parent; | 869 | Lisp_Object parent; |
| 870 | EMACS_INT offset; | 870 | ptrdiff_t offset; |
| 871 | 871 | ||
| 872 | if (TOTAL_LENGTH (tree) == 0) /* Paranoia */ | 872 | if (TOTAL_LENGTH (tree) == 0) /* Paranoia */ |
| 873 | abort (); | 873 | abort (); |
| @@ -1226,7 +1226,7 @@ static INTERVAL | |||
| 1226 | delete_node (register INTERVAL i) | 1226 | delete_node (register INTERVAL i) |
| 1227 | { | 1227 | { |
| 1228 | register INTERVAL migrate, this; | 1228 | register INTERVAL migrate, this; |
| 1229 | register EMACS_INT migrate_amt; | 1229 | register ptrdiff_t migrate_amt; |
| 1230 | 1230 | ||
| 1231 | if (NULL_INTERVAL_P (i->left)) | 1231 | if (NULL_INTERVAL_P (i->left)) |
| 1232 | return i->right; | 1232 | return i->right; |
| @@ -1259,7 +1259,7 @@ static void | |||
| 1259 | delete_interval (register INTERVAL i) | 1259 | delete_interval (register INTERVAL i) |
| 1260 | { | 1260 | { |
| 1261 | register INTERVAL parent; | 1261 | register INTERVAL parent; |
| 1262 | EMACS_INT amt = LENGTH (i); | 1262 | ptrdiff_t amt = LENGTH (i); |
| 1263 | 1263 | ||
| 1264 | if (amt > 0) /* Only used on zero-length intervals now. */ | 1264 | if (amt > 0) /* Only used on zero-length intervals now. */ |
| 1265 | abort (); | 1265 | abort (); |
| @@ -1309,11 +1309,11 @@ delete_interval (register INTERVAL i) | |||
| 1309 | Do this by recursing down TREE to the interval in question, and | 1309 | Do this by recursing down TREE to the interval in question, and |
| 1310 | deleting the appropriate amount of text. */ | 1310 | deleting the appropriate amount of text. */ |
| 1311 | 1311 | ||
| 1312 | static EMACS_INT | 1312 | static ptrdiff_t |
| 1313 | interval_deletion_adjustment (register INTERVAL tree, register EMACS_INT from, | 1313 | interval_deletion_adjustment (register INTERVAL tree, register ptrdiff_t from, |
| 1314 | register EMACS_INT amount) | 1314 | register ptrdiff_t amount) |
| 1315 | { | 1315 | { |
| 1316 | register EMACS_INT relative_position = from; | 1316 | register ptrdiff_t relative_position = from; |
| 1317 | 1317 | ||
| 1318 | if (NULL_INTERVAL_P (tree)) | 1318 | if (NULL_INTERVAL_P (tree)) |
| 1319 | return 0; | 1319 | return 0; |
| @@ -1321,7 +1321,7 @@ interval_deletion_adjustment (register INTERVAL tree, register EMACS_INT from, | |||
| 1321 | /* Left branch. */ | 1321 | /* Left branch. */ |
| 1322 | if (relative_position < LEFT_TOTAL_LENGTH (tree)) | 1322 | if (relative_position < LEFT_TOTAL_LENGTH (tree)) |
| 1323 | { | 1323 | { |
| 1324 | EMACS_INT subtract = interval_deletion_adjustment (tree->left, | 1324 | ptrdiff_t subtract = interval_deletion_adjustment (tree->left, |
| 1325 | relative_position, | 1325 | relative_position, |
| 1326 | amount); | 1326 | amount); |
| 1327 | tree->total_length -= subtract; | 1327 | tree->total_length -= subtract; |
| @@ -1332,7 +1332,7 @@ interval_deletion_adjustment (register INTERVAL tree, register EMACS_INT from, | |||
| 1332 | else if (relative_position >= (TOTAL_LENGTH (tree) | 1332 | else if (relative_position >= (TOTAL_LENGTH (tree) |
| 1333 | - RIGHT_TOTAL_LENGTH (tree))) | 1333 | - RIGHT_TOTAL_LENGTH (tree))) |
| 1334 | { | 1334 | { |
| 1335 | EMACS_INT subtract; | 1335 | ptrdiff_t subtract; |
| 1336 | 1336 | ||
| 1337 | relative_position -= (tree->total_length | 1337 | relative_position -= (tree->total_length |
| 1338 | - RIGHT_TOTAL_LENGTH (tree)); | 1338 | - RIGHT_TOTAL_LENGTH (tree)); |
| @@ -1347,7 +1347,7 @@ interval_deletion_adjustment (register INTERVAL tree, register EMACS_INT from, | |||
| 1347 | else | 1347 | else |
| 1348 | { | 1348 | { |
| 1349 | /* How much can we delete from this interval? */ | 1349 | /* How much can we delete from this interval? */ |
| 1350 | EMACS_INT my_amount = ((tree->total_length | 1350 | ptrdiff_t my_amount = ((tree->total_length |
| 1351 | - RIGHT_TOTAL_LENGTH (tree)) | 1351 | - RIGHT_TOTAL_LENGTH (tree)) |
| 1352 | - relative_position); | 1352 | - relative_position); |
| 1353 | 1353 | ||
| @@ -1372,12 +1372,12 @@ interval_deletion_adjustment (register INTERVAL tree, register EMACS_INT from, | |||
| 1372 | 1372 | ||
| 1373 | static void | 1373 | static void |
| 1374 | adjust_intervals_for_deletion (struct buffer *buffer, | 1374 | adjust_intervals_for_deletion (struct buffer *buffer, |
| 1375 | EMACS_INT start, EMACS_INT length) | 1375 | ptrdiff_t start, ptrdiff_t length) |
| 1376 | { | 1376 | { |
| 1377 | register EMACS_INT left_to_delete = length; | 1377 | register ptrdiff_t left_to_delete = length; |
| 1378 | register INTERVAL tree = BUF_INTERVALS (buffer); | 1378 | register INTERVAL tree = BUF_INTERVALS (buffer); |
| 1379 | Lisp_Object parent; | 1379 | Lisp_Object parent; |
| 1380 | EMACS_INT offset; | 1380 | ptrdiff_t offset; |
| 1381 | 1381 | ||
| 1382 | GET_INTERVAL_OBJECT (parent, tree); | 1382 | GET_INTERVAL_OBJECT (parent, tree); |
| 1383 | offset = (BUFFERP (parent) ? BUF_BEG (XBUFFER (parent)) : 0); | 1383 | offset = (BUFFERP (parent) ? BUF_BEG (XBUFFER (parent)) : 0); |
| @@ -1427,7 +1427,7 @@ adjust_intervals_for_deletion (struct buffer *buffer, | |||
| 1427 | adjust_intervals_for_deletion) from a non-static inline function. */ | 1427 | adjust_intervals_for_deletion) from a non-static inline function. */ |
| 1428 | 1428 | ||
| 1429 | void | 1429 | void |
| 1430 | offset_intervals (struct buffer *buffer, EMACS_INT start, EMACS_INT length) | 1430 | offset_intervals (struct buffer *buffer, ptrdiff_t start, ptrdiff_t length) |
| 1431 | { | 1431 | { |
| 1432 | if (NULL_INTERVAL_P (BUF_INTERVALS (buffer)) || length == 0) | 1432 | if (NULL_INTERVAL_P (BUF_INTERVALS (buffer)) || length == 0) |
| 1433 | return; | 1433 | return; |
| @@ -1436,7 +1436,7 @@ offset_intervals (struct buffer *buffer, EMACS_INT start, EMACS_INT length) | |||
| 1436 | adjust_intervals_for_insertion (BUF_INTERVALS (buffer), start, length); | 1436 | adjust_intervals_for_insertion (BUF_INTERVALS (buffer), start, length); |
| 1437 | else | 1437 | else |
| 1438 | { | 1438 | { |
| 1439 | IF_LINT (if (length < - TYPE_MAXIMUM (EMACS_INT)) abort ();) | 1439 | IF_LINT (if (length < - TYPE_MAXIMUM (ptrdiff_t)) abort ();) |
| 1440 | adjust_intervals_for_deletion (buffer, start, -length); | 1440 | adjust_intervals_for_deletion (buffer, start, -length); |
| 1441 | } | 1441 | } |
| 1442 | } | 1442 | } |
| @@ -1453,7 +1453,7 @@ offset_intervals (struct buffer *buffer, EMACS_INT start, EMACS_INT length) | |||
| 1453 | static INTERVAL | 1453 | static INTERVAL |
| 1454 | merge_interval_right (register INTERVAL i) | 1454 | merge_interval_right (register INTERVAL i) |
| 1455 | { | 1455 | { |
| 1456 | register EMACS_INT absorb = LENGTH (i); | 1456 | register ptrdiff_t absorb = LENGTH (i); |
| 1457 | register INTERVAL successor; | 1457 | register INTERVAL successor; |
| 1458 | 1458 | ||
| 1459 | /* Zero out this interval. */ | 1459 | /* Zero out this interval. */ |
| @@ -1509,7 +1509,7 @@ merge_interval_right (register INTERVAL i) | |||
| 1509 | INTERVAL | 1509 | INTERVAL |
| 1510 | merge_interval_left (register INTERVAL i) | 1510 | merge_interval_left (register INTERVAL i) |
| 1511 | { | 1511 | { |
| 1512 | register EMACS_INT absorb = LENGTH (i); | 1512 | register ptrdiff_t absorb = LENGTH (i); |
| 1513 | register INTERVAL predecessor; | 1513 | register INTERVAL predecessor; |
| 1514 | 1514 | ||
| 1515 | /* Zero out this interval. */ | 1515 | /* Zero out this interval. */ |
| @@ -1603,7 +1603,7 @@ reproduce_tree_obj (INTERVAL source, Lisp_Object parent) | |||
| 1603 | interval. */ | 1603 | interval. */ |
| 1604 | 1604 | ||
| 1605 | static INTERVAL | 1605 | static INTERVAL |
| 1606 | make_new_interval (INTERVAL intervals, EMACS_INT start, EMACS_INT length) | 1606 | make_new_interval (INTERVAL intervals, ptrdiff_t start, ptrdiff_t length) |
| 1607 | { | 1607 | { |
| 1608 | INTERVAL slot; | 1608 | INTERVAL slot; |
| 1609 | 1609 | ||
| @@ -1675,13 +1675,13 @@ make_new_interval (INTERVAL intervals, EMACS_INT start, EMACS_INT length) | |||
| 1675 | text... */ | 1675 | text... */ |
| 1676 | 1676 | ||
| 1677 | void | 1677 | void |
| 1678 | graft_intervals_into_buffer (INTERVAL source, EMACS_INT position, | 1678 | graft_intervals_into_buffer (INTERVAL source, ptrdiff_t position, |
| 1679 | EMACS_INT length, struct buffer *buffer, | 1679 | ptrdiff_t length, struct buffer *buffer, |
| 1680 | int inherit) | 1680 | int inherit) |
| 1681 | { | 1681 | { |
| 1682 | register INTERVAL under, over, this; | 1682 | register INTERVAL under, over, this; |
| 1683 | register INTERVAL tree; | 1683 | register INTERVAL tree; |
| 1684 | EMACS_INT over_used; | 1684 | ptrdiff_t over_used; |
| 1685 | 1685 | ||
| 1686 | tree = BUF_INTERVALS (buffer); | 1686 | tree = BUF_INTERVALS (buffer); |
| 1687 | 1687 | ||
| @@ -1863,7 +1863,7 @@ lookup_char_property (Lisp_Object plist, register Lisp_Object prop, int textprop | |||
| 1863 | 1863 | ||
| 1864 | void | 1864 | void |
| 1865 | temp_set_point_both (struct buffer *buffer, | 1865 | temp_set_point_both (struct buffer *buffer, |
| 1866 | EMACS_INT charpos, EMACS_INT bytepos) | 1866 | ptrdiff_t charpos, ptrdiff_t bytepos) |
| 1867 | { | 1867 | { |
| 1868 | /* In a single-byte buffer, the two positions must be equal. */ | 1868 | /* In a single-byte buffer, the two positions must be equal. */ |
| 1869 | if (BUF_ZV (buffer) == BUF_ZV_BYTE (buffer) | 1869 | if (BUF_ZV (buffer) == BUF_ZV_BYTE (buffer) |
| @@ -1882,7 +1882,7 @@ temp_set_point_both (struct buffer *buffer, | |||
| 1882 | /* Set point "temporarily", without checking any text properties. */ | 1882 | /* Set point "temporarily", without checking any text properties. */ |
| 1883 | 1883 | ||
| 1884 | void | 1884 | void |
| 1885 | temp_set_point (struct buffer *buffer, EMACS_INT charpos) | 1885 | temp_set_point (struct buffer *buffer, ptrdiff_t charpos) |
| 1886 | { | 1886 | { |
| 1887 | temp_set_point_both (buffer, charpos, | 1887 | temp_set_point_both (buffer, charpos, |
| 1888 | buf_charpos_to_bytepos (buffer, charpos)); | 1888 | buf_charpos_to_bytepos (buffer, charpos)); |
| @@ -1892,7 +1892,7 @@ temp_set_point (struct buffer *buffer, EMACS_INT charpos) | |||
| 1892 | before an intangible character, move to an ok place. */ | 1892 | before an intangible character, move to an ok place. */ |
| 1893 | 1893 | ||
| 1894 | void | 1894 | void |
| 1895 | set_point (EMACS_INT charpos) | 1895 | set_point (ptrdiff_t charpos) |
| 1896 | { | 1896 | { |
| 1897 | set_point_both (charpos, buf_charpos_to_bytepos (current_buffer, charpos)); | 1897 | set_point_both (charpos, buf_charpos_to_bytepos (current_buffer, charpos)); |
| 1898 | } | 1898 | } |
| @@ -1908,8 +1908,8 @@ set_point (EMACS_INT charpos) | |||
| 1908 | Note that `stickiness' is determined by overlay marker insertion types, | 1908 | Note that `stickiness' is determined by overlay marker insertion types, |
| 1909 | if the invisible property comes from an overlay. */ | 1909 | if the invisible property comes from an overlay. */ |
| 1910 | 1910 | ||
| 1911 | static EMACS_INT | 1911 | static ptrdiff_t |
| 1912 | adjust_for_invis_intang (EMACS_INT pos, EMACS_INT test_offs, EMACS_INT adj, | 1912 | adjust_for_invis_intang (ptrdiff_t pos, ptrdiff_t test_offs, ptrdiff_t adj, |
| 1913 | int test_intang) | 1913 | int test_intang) |
| 1914 | { | 1914 | { |
| 1915 | Lisp_Object invis_propval, invis_overlay; | 1915 | Lisp_Object invis_propval, invis_overlay; |
| @@ -1948,18 +1948,18 @@ adjust_for_invis_intang (EMACS_INT pos, EMACS_INT test_offs, EMACS_INT adj, | |||
| 1948 | before an intangible character, move to an ok place. */ | 1948 | before an intangible character, move to an ok place. */ |
| 1949 | 1949 | ||
| 1950 | void | 1950 | void |
| 1951 | set_point_both (EMACS_INT charpos, EMACS_INT bytepos) | 1951 | set_point_both (ptrdiff_t charpos, ptrdiff_t bytepos) |
| 1952 | { | 1952 | { |
| 1953 | register INTERVAL to, from, toprev, fromprev; | 1953 | register INTERVAL to, from, toprev, fromprev; |
| 1954 | EMACS_INT buffer_point; | 1954 | ptrdiff_t buffer_point; |
| 1955 | EMACS_INT old_position = PT; | 1955 | ptrdiff_t old_position = PT; |
| 1956 | /* This ensures that we move forward past intangible text when the | 1956 | /* This ensures that we move forward past intangible text when the |
| 1957 | initial position is the same as the destination, in the rare | 1957 | initial position is the same as the destination, in the rare |
| 1958 | instances where this is important, e.g. in line-move-finish | 1958 | instances where this is important, e.g. in line-move-finish |
| 1959 | (simple.el). */ | 1959 | (simple.el). */ |
| 1960 | int backwards = (charpos < old_position ? 1 : 0); | 1960 | int backwards = (charpos < old_position ? 1 : 0); |
| 1961 | int have_overlays; | 1961 | int have_overlays; |
| 1962 | EMACS_INT original_position; | 1962 | ptrdiff_t original_position; |
| 1963 | 1963 | ||
| 1964 | BVAR (current_buffer, point_before_scroll) = Qnil; | 1964 | BVAR (current_buffer, point_before_scroll) = Qnil; |
| 1965 | 1965 | ||
| @@ -2172,7 +2172,7 @@ set_point_both (EMACS_INT charpos, EMACS_INT bytepos) | |||
| 2172 | segment that reaches all the way to point. */ | 2172 | segment that reaches all the way to point. */ |
| 2173 | 2173 | ||
| 2174 | void | 2174 | void |
| 2175 | move_if_not_intangible (EMACS_INT position) | 2175 | move_if_not_intangible (ptrdiff_t position) |
| 2176 | { | 2176 | { |
| 2177 | Lisp_Object pos; | 2177 | Lisp_Object pos; |
| 2178 | Lisp_Object intangible_propval; | 2178 | Lisp_Object intangible_propval; |
| @@ -2235,8 +2235,8 @@ move_if_not_intangible (EMACS_INT position) | |||
| 2235 | nil means the current buffer. */ | 2235 | nil means the current buffer. */ |
| 2236 | 2236 | ||
| 2237 | int | 2237 | int |
| 2238 | get_property_and_range (EMACS_INT pos, Lisp_Object prop, Lisp_Object *val, | 2238 | get_property_and_range (ptrdiff_t pos, Lisp_Object prop, Lisp_Object *val, |
| 2239 | EMACS_INT *start, EMACS_INT *end, Lisp_Object object) | 2239 | ptrdiff_t *start, ptrdiff_t *end, Lisp_Object object) |
| 2240 | { | 2240 | { |
| 2241 | INTERVAL i, prev, next; | 2241 | INTERVAL i, prev, next; |
| 2242 | 2242 | ||
| @@ -2279,11 +2279,11 @@ get_property_and_range (EMACS_INT pos, Lisp_Object prop, Lisp_Object *val, | |||
| 2279 | POSITION must be in the accessible part of BUFFER. */ | 2279 | POSITION must be in the accessible part of BUFFER. */ |
| 2280 | 2280 | ||
| 2281 | Lisp_Object | 2281 | Lisp_Object |
| 2282 | get_local_map (register EMACS_INT position, register struct buffer *buffer, | 2282 | get_local_map (register ptrdiff_t position, register struct buffer *buffer, |
| 2283 | Lisp_Object type) | 2283 | Lisp_Object type) |
| 2284 | { | 2284 | { |
| 2285 | Lisp_Object prop, lispy_position, lispy_buffer; | 2285 | Lisp_Object prop, lispy_position, lispy_buffer; |
| 2286 | EMACS_INT old_begv, old_zv, old_begv_byte, old_zv_byte; | 2286 | ptrdiff_t old_begv, old_zv, old_begv_byte, old_zv_byte; |
| 2287 | 2287 | ||
| 2288 | /* Perhaps we should just change `position' to the limit. */ | 2288 | /* Perhaps we should just change `position' to the limit. */ |
| 2289 | if (position > BUF_ZV (buffer) || position < BUF_BEGV (buffer)) | 2289 | if (position > BUF_ZV (buffer) || position < BUF_BEGV (buffer)) |
| @@ -2330,10 +2330,10 @@ get_local_map (register EMACS_INT position, register struct buffer *buffer, | |||
| 2330 | The new interval tree has no parent and has a starting-position of 0. */ | 2330 | The new interval tree has no parent and has a starting-position of 0. */ |
| 2331 | 2331 | ||
| 2332 | INTERVAL | 2332 | INTERVAL |
| 2333 | copy_intervals (INTERVAL tree, EMACS_INT start, EMACS_INT length) | 2333 | copy_intervals (INTERVAL tree, ptrdiff_t start, ptrdiff_t length) |
| 2334 | { | 2334 | { |
| 2335 | register INTERVAL i, new, t; | 2335 | register INTERVAL i, new, t; |
| 2336 | register EMACS_INT got, prevlen; | 2336 | register ptrdiff_t got, prevlen; |
| 2337 | 2337 | ||
| 2338 | if (NULL_INTERVAL_P (tree) || length <= 0) | 2338 | if (NULL_INTERVAL_P (tree) || length <= 0) |
| 2339 | return NULL_INTERVAL; | 2339 | return NULL_INTERVAL; |
| @@ -2372,7 +2372,7 @@ copy_intervals (INTERVAL tree, EMACS_INT start, EMACS_INT length) | |||
| 2372 | 2372 | ||
| 2373 | void | 2373 | void |
| 2374 | copy_intervals_to_string (Lisp_Object string, struct buffer *buffer, | 2374 | copy_intervals_to_string (Lisp_Object string, struct buffer *buffer, |
| 2375 | EMACS_INT position, EMACS_INT length) | 2375 | ptrdiff_t position, ptrdiff_t length) |
| 2376 | { | 2376 | { |
| 2377 | INTERVAL interval_copy = copy_intervals (BUF_INTERVALS (buffer), | 2377 | INTERVAL interval_copy = copy_intervals (BUF_INTERVALS (buffer), |
| 2378 | position, length); | 2378 | position, length); |
| @@ -2390,8 +2390,8 @@ int | |||
| 2390 | compare_string_intervals (Lisp_Object s1, Lisp_Object s2) | 2390 | compare_string_intervals (Lisp_Object s1, Lisp_Object s2) |
| 2391 | { | 2391 | { |
| 2392 | INTERVAL i1, i2; | 2392 | INTERVAL i1, i2; |
| 2393 | EMACS_INT pos = 0; | 2393 | ptrdiff_t pos = 0; |
| 2394 | EMACS_INT end = SCHARS (s1); | 2394 | ptrdiff_t end = SCHARS (s1); |
| 2395 | 2395 | ||
| 2396 | i1 = find_interval (STRING_INTERVALS (s1), 0); | 2396 | i1 = find_interval (STRING_INTERVALS (s1), 0); |
| 2397 | i2 = find_interval (STRING_INTERVALS (s2), 0); | 2397 | i2 = find_interval (STRING_INTERVALS (s2), 0); |
| @@ -2399,9 +2399,9 @@ compare_string_intervals (Lisp_Object s1, Lisp_Object s2) | |||
| 2399 | while (pos < end) | 2399 | while (pos < end) |
| 2400 | { | 2400 | { |
| 2401 | /* Determine how far we can go before we reach the end of I1 or I2. */ | 2401 | /* Determine how far we can go before we reach the end of I1 or I2. */ |
| 2402 | EMACS_INT len1 = (i1 != 0 ? INTERVAL_LAST_POS (i1) : end) - pos; | 2402 | ptrdiff_t len1 = (i1 != 0 ? INTERVAL_LAST_POS (i1) : end) - pos; |
| 2403 | EMACS_INT len2 = (i2 != 0 ? INTERVAL_LAST_POS (i2) : end) - pos; | 2403 | ptrdiff_t len2 = (i2 != 0 ? INTERVAL_LAST_POS (i2) : end) - pos; |
| 2404 | EMACS_INT distance = min (len1, len2); | 2404 | ptrdiff_t distance = min (len1, len2); |
| 2405 | 2405 | ||
| 2406 | /* If we ever find a mismatch between the strings, | 2406 | /* If we ever find a mismatch between the strings, |
| 2407 | they differ. */ | 2407 | they differ. */ |
| @@ -2426,8 +2426,8 @@ compare_string_intervals (Lisp_Object s1, Lisp_Object s2) | |||
| 2426 | 2426 | ||
| 2427 | static void | 2427 | static void |
| 2428 | set_intervals_multibyte_1 (INTERVAL i, int multi_flag, | 2428 | set_intervals_multibyte_1 (INTERVAL i, int multi_flag, |
| 2429 | EMACS_INT start, EMACS_INT start_byte, | 2429 | ptrdiff_t start, ptrdiff_t start_byte, |
| 2430 | EMACS_INT end, EMACS_INT end_byte) | 2430 | ptrdiff_t end, ptrdiff_t end_byte) |
| 2431 | { | 2431 | { |
| 2432 | /* Fix the length of this interval. */ | 2432 | /* Fix the length of this interval. */ |
| 2433 | if (multi_flag) | 2433 | if (multi_flag) |
| @@ -2445,11 +2445,11 @@ set_intervals_multibyte_1 (INTERVAL i, int multi_flag, | |||
| 2445 | /* Recursively fix the length of the subintervals. */ | 2445 | /* Recursively fix the length of the subintervals. */ |
| 2446 | if (i->left) | 2446 | if (i->left) |
| 2447 | { | 2447 | { |
| 2448 | EMACS_INT left_end, left_end_byte; | 2448 | ptrdiff_t left_end, left_end_byte; |
| 2449 | 2449 | ||
| 2450 | if (multi_flag) | 2450 | if (multi_flag) |
| 2451 | { | 2451 | { |
| 2452 | EMACS_INT temp; | 2452 | ptrdiff_t temp; |
| 2453 | left_end_byte = start_byte + LEFT_TOTAL_LENGTH (i); | 2453 | left_end_byte = start_byte + LEFT_TOTAL_LENGTH (i); |
| 2454 | left_end = BYTE_TO_CHAR (left_end_byte); | 2454 | left_end = BYTE_TO_CHAR (left_end_byte); |
| 2455 | 2455 | ||
| @@ -2478,11 +2478,11 @@ set_intervals_multibyte_1 (INTERVAL i, int multi_flag, | |||
| 2478 | } | 2478 | } |
| 2479 | if (i->right) | 2479 | if (i->right) |
| 2480 | { | 2480 | { |
| 2481 | EMACS_INT right_start_byte, right_start; | 2481 | ptrdiff_t right_start_byte, right_start; |
| 2482 | 2482 | ||
| 2483 | if (multi_flag) | 2483 | if (multi_flag) |
| 2484 | { | 2484 | { |
| 2485 | EMACS_INT temp; | 2485 | ptrdiff_t temp; |
| 2486 | 2486 | ||
| 2487 | right_start_byte = end_byte - RIGHT_TOTAL_LENGTH (i); | 2487 | right_start_byte = end_byte - RIGHT_TOTAL_LENGTH (i); |
| 2488 | right_start = BYTE_TO_CHAR (right_start_byte); | 2488 | right_start = BYTE_TO_CHAR (right_start_byte); |