diff options
Diffstat (limited to 'src/lisp.h')
| -rw-r--r-- | src/lisp.h | 291 |
1 files changed, 161 insertions, 130 deletions
diff --git a/src/lisp.h b/src/lisp.h index e9a525a32b5..ed8eb2720b5 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -372,14 +372,13 @@ typedef EMACS_INT Lisp_Object; | |||
| 372 | #define LISP_MAKE_RVALUE(o) (0+(o)) | 372 | #define LISP_MAKE_RVALUE(o) (0+(o)) |
| 373 | #endif /* USE_LISP_UNION_TYPE */ | 373 | #endif /* USE_LISP_UNION_TYPE */ |
| 374 | 374 | ||
| 375 | /* In the size word of a vector, this bit means the vector has been marked. | 375 | /* In the size word of a vector, this bit means the vector has been marked. */ |
| 376 | (Shift -1 left, not 1, to avoid provoking overflow diagnostics.) */ | ||
| 377 | 376 | ||
| 378 | #define ARRAY_MARK_FLAG ((EMACS_INT) -1 << (BITS_PER_EMACS_INT - 1)) | 377 | #define ARRAY_MARK_FLAG PTRDIFF_MIN |
| 379 | 378 | ||
| 380 | /* In the size word of a struct Lisp_Vector, this bit means it's really | 379 | /* In the size word of a struct Lisp_Vector, this bit means it's really |
| 381 | some other vector-like object. */ | 380 | some other vector-like object. */ |
| 382 | #define PSEUDOVECTOR_FLAG ((EMACS_INT) 1 << (BITS_PER_EMACS_INT - 2)) | 381 | #define PSEUDOVECTOR_FLAG (PTRDIFF_MAX - PTRDIFF_MAX / 2) |
| 383 | 382 | ||
| 384 | /* In a pseudovector, the size field actually contains a word with one | 383 | /* In a pseudovector, the size field actually contains a word with one |
| 385 | PSEUDOVECTOR_FLAG bit set, and exactly one of the following bits to | 384 | PSEUDOVECTOR_FLAG bit set, and exactly one of the following bits to |
| @@ -582,6 +581,12 @@ extern Lisp_Object make_number (EMACS_INT); | |||
| 582 | #define FIXNUM_OVERFLOW_P(i) \ | 581 | #define FIXNUM_OVERFLOW_P(i) \ |
| 583 | (! ((0 <= (i) || MOST_NEGATIVE_FIXNUM <= (i)) && (i) <= MOST_POSITIVE_FIXNUM)) | 582 | (! ((0 <= (i) || MOST_NEGATIVE_FIXNUM <= (i)) && (i) <= MOST_POSITIVE_FIXNUM)) |
| 584 | 583 | ||
| 584 | static inline ptrdiff_t | ||
| 585 | clip_to_bounds (ptrdiff_t lower, EMACS_INT num, ptrdiff_t upper) | ||
| 586 | { | ||
| 587 | return num < lower ? lower : num <= upper ? num : upper; | ||
| 588 | } | ||
| 589 | |||
| 585 | /* Extract a value or address from a Lisp_Object. */ | 590 | /* Extract a value or address from a Lisp_Object. */ |
| 586 | 591 | ||
| 587 | #define XCONS(a) (eassert (CONSP (a)), (struct Lisp_Cons *) XPNTR (a)) | 592 | #define XCONS(a) (eassert (CONSP (a)), (struct Lisp_Cons *) XPNTR (a)) |
| @@ -659,8 +664,7 @@ extern Lisp_Object make_number (EMACS_INT); | |||
| 659 | #define XSETWINDOW(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_WINDOW)) | 664 | #define XSETWINDOW(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_WINDOW)) |
| 660 | #define XSETTERMINAL(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_TERMINAL)) | 665 | #define XSETTERMINAL(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_TERMINAL)) |
| 661 | /* XSETSUBR is special since Lisp_Subr lacks struct vectorlike_header. */ | 666 | /* XSETSUBR is special since Lisp_Subr lacks struct vectorlike_header. */ |
| 662 | #define XSETSUBR(a, b) \ | 667 | #define XSETSUBR(a, b) XSETTYPED_PSEUDOVECTOR (a, b, 0, PVEC_SUBR) |
| 663 | XSETTYPED_PSEUDOVECTOR (a, b, XSUBR (a)->size, PVEC_SUBR) | ||
| 664 | #define XSETCOMPILED(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_COMPILED)) | 668 | #define XSETCOMPILED(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_COMPILED)) |
| 665 | #define XSETBUFFER(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_BUFFER)) | 669 | #define XSETBUFFER(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_BUFFER)) |
| 666 | #define XSETCHAR_TABLE(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_CHAR_TABLE)) | 670 | #define XSETCHAR_TABLE(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_CHAR_TABLE)) |
| @@ -788,7 +792,7 @@ struct Lisp_Cons | |||
| 788 | #ifdef GC_CHECK_STRING_BYTES | 792 | #ifdef GC_CHECK_STRING_BYTES |
| 789 | 793 | ||
| 790 | struct Lisp_String; | 794 | struct Lisp_String; |
| 791 | extern EMACS_INT string_bytes (struct Lisp_String *); | 795 | extern ptrdiff_t string_bytes (struct Lisp_String *); |
| 792 | #define STRING_BYTES(S) string_bytes ((S)) | 796 | #define STRING_BYTES(S) string_bytes ((S)) |
| 793 | 797 | ||
| 794 | #else /* not GC_CHECK_STRING_BYTES */ | 798 | #else /* not GC_CHECK_STRING_BYTES */ |
| @@ -835,8 +839,8 @@ extern EMACS_INT string_bytes (struct Lisp_String *); | |||
| 835 | 839 | ||
| 836 | struct Lisp_String | 840 | struct Lisp_String |
| 837 | { | 841 | { |
| 838 | EMACS_INT size; | 842 | ptrdiff_t size; |
| 839 | EMACS_INT size_byte; | 843 | ptrdiff_t size_byte; |
| 840 | INTERVAL intervals; /* text properties in this string */ | 844 | INTERVAL intervals; /* text properties in this string */ |
| 841 | unsigned char *data; | 845 | unsigned char *data; |
| 842 | }; | 846 | }; |
| @@ -850,7 +854,7 @@ struct Lisp_String | |||
| 850 | <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8546>. */ | 854 | <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8546>. */ |
| 851 | struct vectorlike_header | 855 | struct vectorlike_header |
| 852 | { | 856 | { |
| 853 | EMACS_INT size; | 857 | ptrdiff_t size; |
| 854 | 858 | ||
| 855 | /* Pointer to the next vector-like object. It is generally a buffer or a | 859 | /* Pointer to the next vector-like object. It is generally a buffer or a |
| 856 | Lisp_Vector alias, so for convenience it is a union instead of a | 860 | Lisp_Vector alias, so for convenience it is a union instead of a |
| @@ -1045,7 +1049,7 @@ struct Lisp_Bool_Vector | |||
| 1045 | 1049 | ||
| 1046 | struct Lisp_Subr | 1050 | struct Lisp_Subr |
| 1047 | { | 1051 | { |
| 1048 | EMACS_INT size; | 1052 | ptrdiff_t size; |
| 1049 | union { | 1053 | union { |
| 1050 | Lisp_Object (*a0) (void); | 1054 | Lisp_Object (*a0) (void); |
| 1051 | Lisp_Object (*a1) (Lisp_Object); | 1055 | Lisp_Object (*a1) (Lisp_Object); |
| @@ -1238,7 +1242,7 @@ struct Lisp_Hash_Table | |||
| 1238 | a special way (e.g. because of weakness). */ | 1242 | a special way (e.g. because of weakness). */ |
| 1239 | 1243 | ||
| 1240 | /* Number of key/value entries in the table. */ | 1244 | /* Number of key/value entries in the table. */ |
| 1241 | EMACS_INT count; | 1245 | ptrdiff_t count; |
| 1242 | 1246 | ||
| 1243 | /* Vector of keys and values. The key of item I is found at index | 1247 | /* Vector of keys and values. The key of item I is found at index |
| 1244 | 2 * I, the value is found at index 2 * I + 1. | 1248 | 2 * I, the value is found at index 2 * I + 1. |
| @@ -1355,12 +1359,12 @@ struct Lisp_Marker | |||
| 1355 | That would also allow to preserve it ordered. */ | 1359 | That would also allow to preserve it ordered. */ |
| 1356 | struct Lisp_Marker *next; | 1360 | struct Lisp_Marker *next; |
| 1357 | /* This is the char position where the marker points. */ | 1361 | /* This is the char position where the marker points. */ |
| 1358 | EMACS_INT charpos; | 1362 | ptrdiff_t charpos; |
| 1359 | /* This is the byte position. | 1363 | /* This is the byte position. |
| 1360 | It's mostly used as a charpos<->bytepos cache (i.e. it's not directly | 1364 | It's mostly used as a charpos<->bytepos cache (i.e. it's not directly |
| 1361 | used to implement the functionality of markers, but rather to (ab)use | 1365 | used to implement the functionality of markers, but rather to (ab)use |
| 1362 | markers as a cache for char<->byte mappings). */ | 1366 | markers as a cache for char<->byte mappings). */ |
| 1363 | EMACS_INT bytepos; | 1367 | ptrdiff_t bytepos; |
| 1364 | }; | 1368 | }; |
| 1365 | 1369 | ||
| 1366 | /* Forwarding pointer to an int variable. | 1370 | /* Forwarding pointer to an int variable. |
| @@ -1626,18 +1630,24 @@ typedef struct { | |||
| 1626 | encodes a char code in the lower CHARACTERBITS bits and a (very small) | 1630 | encodes a char code in the lower CHARACTERBITS bits and a (very small) |
| 1627 | face-id in the upper bits, or it may be a cons (CHAR . FACE-ID). */ | 1631 | face-id in the upper bits, or it may be a cons (CHAR . FACE-ID). */ |
| 1628 | 1632 | ||
| 1629 | #define GLYPH_CODE_CHAR(gc) \ | 1633 | #define GLYPH_CODE_P(gc) \ |
| 1630 | (CONSP (gc) ? XINT (XCAR (gc)) : INTEGERP (gc) ? (XINT (gc) & ((1 << CHARACTERBITS)-1)) : 0) | 1634 | (CONSP (gc) \ |
| 1635 | ? (CHARACTERP (XCAR (gc)) \ | ||
| 1636 | && RANGED_INTEGERP (0, XCDR (gc), MAX_FACE_ID)) \ | ||
| 1637 | : (RANGED_INTEGERP \ | ||
| 1638 | (0, gc, \ | ||
| 1639 | (MAX_FACE_ID < TYPE_MAXIMUM (EMACS_INT) >> CHARACTERBITS \ | ||
| 1640 | ? ((EMACS_INT) MAX_FACE_ID << CHARACTERBITS) | MAX_CHAR \ | ||
| 1641 | : TYPE_MAXIMUM (EMACS_INT))))) | ||
| 1631 | 1642 | ||
| 1632 | #define GLYPH_CODE_FACE(gc) \ | 1643 | /* The following are valid only if GLYPH_CODE_P (gc). */ |
| 1633 | (CONSP (gc) ? XINT (XCDR (gc)) : INTEGERP (gc) ? (XINT (gc) >> CHARACTERBITS) : DEFAULT_FACE_ID) | ||
| 1634 | 1644 | ||
| 1635 | /* Return 1 if glyph code from display vector contains valid character code. */ | 1645 | #define GLYPH_CODE_CHAR(gc) \ |
| 1636 | #define GLYPH_CODE_CHAR_VALID_P(gc) CHAR_VALID_P (GLYPH_CODE_CHAR (gc)) | 1646 | (CONSP (gc) ? XINT (XCAR (gc)) : XINT (gc) & ((1 << CHARACTERBITS) - 1)) |
| 1637 | 1647 | ||
| 1638 | #define GLYPH_CODE_P(gc) ((CONSP (gc) && INTEGERP (XCAR (gc)) && INTEGERP (XCDR (gc))) || INTEGERP (gc)) | 1648 | #define GLYPH_CODE_FACE(gc) \ |
| 1649 | (CONSP (gc) ? XINT (XCDR (gc)) : XINT (gc) >> CHARACTERBITS) | ||
| 1639 | 1650 | ||
| 1640 | /* Only called when GLYPH_CODE_P (gc) is true. */ | ||
| 1641 | #define SET_GLYPH_FROM_GLYPH_CODE(glyph, gc) \ | 1651 | #define SET_GLYPH_FROM_GLYPH_CODE(glyph, gc) \ |
| 1642 | do \ | 1652 | do \ |
| 1643 | { \ | 1653 | { \ |
| @@ -1697,7 +1707,9 @@ typedef struct { | |||
| 1697 | #define RANGED_INTEGERP(lo, x, hi) \ | 1707 | #define RANGED_INTEGERP(lo, x, hi) \ |
| 1698 | (INTEGERP (x) && (lo) <= XINT (x) && XINT (x) <= (hi)) | 1708 | (INTEGERP (x) && (lo) <= XINT (x) && XINT (x) <= (hi)) |
| 1699 | #define TYPE_RANGED_INTEGERP(type, x) \ | 1709 | #define TYPE_RANGED_INTEGERP(type, x) \ |
| 1700 | RANGED_INTEGERP (TYPE_MINIMUM (type), x, TYPE_MAXIMUM (type)) | 1710 | (TYPE_SIGNED (type) \ |
| 1711 | ? RANGED_INTEGERP (TYPE_MINIMUM (type), x, TYPE_MAXIMUM (type)) \ | ||
| 1712 | : RANGED_INTEGERP (0, x, TYPE_MAXIMUM (type))) | ||
| 1701 | 1713 | ||
| 1702 | #define INTEGERP(x) (LISP_INT_TAG_P (XTYPE ((x)))) | 1714 | #define INTEGERP(x) (LISP_INT_TAG_P (XTYPE ((x)))) |
| 1703 | #define SYMBOLP(x) (XTYPE ((x)) == Lisp_Symbol) | 1715 | #define SYMBOLP(x) (XTYPE ((x)) == Lisp_Symbol) |
| @@ -1820,6 +1832,25 @@ typedef struct { | |||
| 1820 | #define CHECK_NATNUM(x) \ | 1832 | #define CHECK_NATNUM(x) \ |
| 1821 | CHECK_TYPE (NATNUMP (x), Qwholenump, x) | 1833 | CHECK_TYPE (NATNUMP (x), Qwholenump, x) |
| 1822 | 1834 | ||
| 1835 | #define CHECK_RANGED_INTEGER(lo, x, hi) \ | ||
| 1836 | do { \ | ||
| 1837 | CHECK_NUMBER (x); \ | ||
| 1838 | if (! ((lo) <= XINT (x) && XINT (x) <= (hi))) \ | ||
| 1839 | args_out_of_range_3 \ | ||
| 1840 | (x, \ | ||
| 1841 | make_number ((lo) < 0 && (lo) < MOST_NEGATIVE_FIXNUM \ | ||
| 1842 | ? MOST_NEGATIVE_FIXNUM \ | ||
| 1843 | : (lo)), \ | ||
| 1844 | make_number (min (hi, MOST_POSITIVE_FIXNUM))); \ | ||
| 1845 | } while (0) | ||
| 1846 | #define CHECK_TYPE_RANGED_INTEGER(type, x) \ | ||
| 1847 | do { \ | ||
| 1848 | if (TYPE_SIGNED (type)) \ | ||
| 1849 | CHECK_RANGED_INTEGER (TYPE_MINIMUM (type), x, TYPE_MAXIMUM (type)); \ | ||
| 1850 | else \ | ||
| 1851 | CHECK_RANGED_INTEGER (0, x, TYPE_MAXIMUM (type)); \ | ||
| 1852 | } while (0) | ||
| 1853 | |||
| 1823 | #define CHECK_MARKER(x) \ | 1854 | #define CHECK_MARKER(x) \ |
| 1824 | CHECK_TYPE (MARKERP (x), Qmarkerp, x) | 1855 | CHECK_TYPE (MARKERP (x), Qmarkerp, x) |
| 1825 | 1856 | ||
| @@ -2031,9 +2062,9 @@ struct specbinding | |||
| 2031 | 2062 | ||
| 2032 | extern struct specbinding *specpdl; | 2063 | extern struct specbinding *specpdl; |
| 2033 | extern struct specbinding *specpdl_ptr; | 2064 | extern struct specbinding *specpdl_ptr; |
| 2034 | extern EMACS_INT specpdl_size; | 2065 | extern ptrdiff_t specpdl_size; |
| 2035 | 2066 | ||
| 2036 | #define SPECPDL_INDEX() ((int) (specpdl_ptr - specpdl)) | 2067 | #define SPECPDL_INDEX() (specpdl_ptr - specpdl) |
| 2037 | 2068 | ||
| 2038 | /* Everything needed to describe an active condition case. */ | 2069 | /* Everything needed to describe an active condition case. */ |
| 2039 | struct handler | 2070 | struct handler |
| @@ -2086,8 +2117,8 @@ struct catchtag | |||
| 2086 | jmp_buf jmp; | 2117 | jmp_buf jmp; |
| 2087 | struct backtrace *backlist; | 2118 | struct backtrace *backlist; |
| 2088 | struct handler *handlerlist; | 2119 | struct handler *handlerlist; |
| 2089 | int lisp_eval_depth; | 2120 | EMACS_INT lisp_eval_depth; |
| 2090 | int pdlcount; | 2121 | ptrdiff_t pdlcount; |
| 2091 | int poll_suppress_count; | 2122 | int poll_suppress_count; |
| 2092 | int interrupt_input_blocked; | 2123 | int interrupt_input_blocked; |
| 2093 | struct byte_stack *byte_stack; | 2124 | struct byte_stack *byte_stack; |
| @@ -2511,8 +2542,8 @@ EXFUN (Fread_coding_system, 2); | |||
| 2511 | EXFUN (Fread_non_nil_coding_system, 1); | 2542 | EXFUN (Fread_non_nil_coding_system, 1); |
| 2512 | EXFUN (Ffind_operation_coding_system, MANY); | 2543 | EXFUN (Ffind_operation_coding_system, MANY); |
| 2513 | EXFUN (Fdecode_coding_string, 4); | 2544 | EXFUN (Fdecode_coding_string, 4); |
| 2514 | extern Lisp_Object detect_coding_system (const unsigned char *, EMACS_INT, | 2545 | extern Lisp_Object detect_coding_system (const unsigned char *, ptrdiff_t, |
| 2515 | EMACS_INT, int, int, Lisp_Object); | 2546 | ptrdiff_t, int, int, Lisp_Object); |
| 2516 | extern void init_coding (void); | 2547 | extern void init_coding (void); |
| 2517 | extern void init_coding_once (void); | 2548 | extern void init_coding_once (void); |
| 2518 | extern void syms_of_coding (void); | 2549 | extern void syms_of_coding (void); |
| @@ -2520,8 +2551,8 @@ extern void syms_of_coding (void); | |||
| 2520 | /* Defined in character.c */ | 2551 | /* Defined in character.c */ |
| 2521 | EXFUN (Fchar_width, 1); | 2552 | EXFUN (Fchar_width, 1); |
| 2522 | EXFUN (Fstring, MANY); | 2553 | EXFUN (Fstring, MANY); |
| 2523 | extern EMACS_INT chars_in_text (const unsigned char *, EMACS_INT); | 2554 | extern ptrdiff_t chars_in_text (const unsigned char *, ptrdiff_t); |
| 2524 | extern EMACS_INT multibyte_chars_in_text (const unsigned char *, EMACS_INT); | 2555 | extern ptrdiff_t multibyte_chars_in_text (const unsigned char *, ptrdiff_t); |
| 2525 | extern int multibyte_char_to_unibyte (int); | 2556 | extern int multibyte_char_to_unibyte (int); |
| 2526 | extern int multibyte_char_to_unibyte_safe (int); | 2557 | extern int multibyte_char_to_unibyte_safe (int); |
| 2527 | extern void init_character_once (void); | 2558 | extern void init_character_once (void); |
| @@ -2548,7 +2579,7 @@ extern void syms_of_syntax (void); | |||
| 2548 | extern Lisp_Object QCrehash_size, QCrehash_threshold; | 2579 | extern Lisp_Object QCrehash_size, QCrehash_threshold; |
| 2549 | enum { NEXT_ALMOST_PRIME_LIMIT = 11 }; | 2580 | enum { NEXT_ALMOST_PRIME_LIMIT = 11 }; |
| 2550 | extern EMACS_INT next_almost_prime (EMACS_INT); | 2581 | extern EMACS_INT next_almost_prime (EMACS_INT); |
| 2551 | extern Lisp_Object larger_vector (Lisp_Object, EMACS_INT, Lisp_Object); | 2582 | extern Lisp_Object larger_vector (Lisp_Object, ptrdiff_t, ptrdiff_t); |
| 2552 | extern void sweep_weak_hash_tables (void); | 2583 | extern void sweep_weak_hash_tables (void); |
| 2553 | extern Lisp_Object Qcursor_in_echo_area; | 2584 | extern Lisp_Object Qcursor_in_echo_area; |
| 2554 | extern Lisp_Object Qstring_lessp; | 2585 | extern Lisp_Object Qstring_lessp; |
| @@ -2580,8 +2611,8 @@ EXFUN (Fstring_as_multibyte, 1); | |||
| 2580 | EXFUN (Fstring_as_unibyte, 1); | 2611 | EXFUN (Fstring_as_unibyte, 1); |
| 2581 | EXFUN (Fstring_to_multibyte, 1); | 2612 | EXFUN (Fstring_to_multibyte, 1); |
| 2582 | EXFUN (Fsubstring, 3); | 2613 | EXFUN (Fsubstring, 3); |
| 2583 | extern Lisp_Object substring_both (Lisp_Object, EMACS_INT, EMACS_INT, | 2614 | extern Lisp_Object substring_both (Lisp_Object, ptrdiff_t, ptrdiff_t, |
| 2584 | EMACS_INT, EMACS_INT); | 2615 | ptrdiff_t, ptrdiff_t); |
| 2585 | EXFUN (Fnth, 2); | 2616 | EXFUN (Fnth, 2); |
| 2586 | EXFUN (Fnthcdr, 2); | 2617 | EXFUN (Fnthcdr, 2); |
| 2587 | EXFUN (Fmemq, 2); | 2618 | EXFUN (Fmemq, 2); |
| @@ -2609,8 +2640,8 @@ extern Lisp_Object nconc2 (Lisp_Object, Lisp_Object); | |||
| 2609 | extern Lisp_Object assq_no_quit (Lisp_Object, Lisp_Object); | 2640 | extern Lisp_Object assq_no_quit (Lisp_Object, Lisp_Object); |
| 2610 | extern Lisp_Object assoc_no_quit (Lisp_Object, Lisp_Object); | 2641 | extern Lisp_Object assoc_no_quit (Lisp_Object, Lisp_Object); |
| 2611 | extern void clear_string_char_byte_cache (void); | 2642 | extern void clear_string_char_byte_cache (void); |
| 2612 | extern EMACS_INT string_char_to_byte (Lisp_Object, EMACS_INT); | 2643 | extern ptrdiff_t string_char_to_byte (Lisp_Object, ptrdiff_t); |
| 2613 | extern EMACS_INT string_byte_to_char (Lisp_Object, EMACS_INT); | 2644 | extern ptrdiff_t string_byte_to_char (Lisp_Object, ptrdiff_t); |
| 2614 | extern Lisp_Object string_to_multibyte (Lisp_Object); | 2645 | extern Lisp_Object string_to_multibyte (Lisp_Object); |
| 2615 | extern Lisp_Object string_make_unibyte (Lisp_Object); | 2646 | extern Lisp_Object string_make_unibyte (Lisp_Object); |
| 2616 | EXFUN (Fcopy_alist, 1); | 2647 | EXFUN (Fcopy_alist, 1); |
| @@ -2648,48 +2679,48 @@ extern void init_image (void); | |||
| 2648 | 2679 | ||
| 2649 | /* Defined in insdel.c */ | 2680 | /* Defined in insdel.c */ |
| 2650 | extern Lisp_Object Qinhibit_modification_hooks; | 2681 | extern Lisp_Object Qinhibit_modification_hooks; |
| 2651 | extern void move_gap (EMACS_INT); | 2682 | extern void move_gap (ptrdiff_t); |
| 2652 | extern void move_gap_both (EMACS_INT, EMACS_INT); | 2683 | extern void move_gap_both (ptrdiff_t, ptrdiff_t); |
| 2653 | extern void buffer_overflow (void) NO_RETURN; | 2684 | extern void buffer_overflow (void) NO_RETURN; |
| 2654 | extern void make_gap (EMACS_INT); | 2685 | extern void make_gap (ptrdiff_t); |
| 2655 | extern EMACS_INT copy_text (const unsigned char *, unsigned char *, | 2686 | extern ptrdiff_t copy_text (const unsigned char *, unsigned char *, |
| 2656 | EMACS_INT, int, int); | 2687 | ptrdiff_t, int, int); |
| 2657 | extern int count_combining_before (const unsigned char *, | 2688 | extern int count_combining_before (const unsigned char *, |
| 2658 | EMACS_INT, EMACS_INT, EMACS_INT); | 2689 | ptrdiff_t, ptrdiff_t, ptrdiff_t); |
| 2659 | extern int count_combining_after (const unsigned char *, | 2690 | extern int count_combining_after (const unsigned char *, |
| 2660 | EMACS_INT, EMACS_INT, EMACS_INT); | 2691 | ptrdiff_t, ptrdiff_t, ptrdiff_t); |
| 2661 | extern void insert (const char *, EMACS_INT); | 2692 | extern void insert (const char *, ptrdiff_t); |
| 2662 | extern void insert_and_inherit (const char *, EMACS_INT); | 2693 | extern void insert_and_inherit (const char *, ptrdiff_t); |
| 2663 | extern void insert_1 (const char *, EMACS_INT, int, int, int); | 2694 | extern void insert_1 (const char *, ptrdiff_t, int, int, int); |
| 2664 | extern void insert_1_both (const char *, EMACS_INT, EMACS_INT, | 2695 | extern void insert_1_both (const char *, ptrdiff_t, ptrdiff_t, |
| 2665 | int, int, int); | 2696 | int, int, int); |
| 2666 | extern void insert_from_gap (EMACS_INT, EMACS_INT); | 2697 | extern void insert_from_gap (ptrdiff_t, ptrdiff_t); |
| 2667 | extern void insert_from_string (Lisp_Object, EMACS_INT, EMACS_INT, | 2698 | extern void insert_from_string (Lisp_Object, ptrdiff_t, ptrdiff_t, |
| 2668 | EMACS_INT, EMACS_INT, int); | 2699 | ptrdiff_t, ptrdiff_t, int); |
| 2669 | extern void insert_from_buffer (struct buffer *, EMACS_INT, EMACS_INT, int); | 2700 | extern void insert_from_buffer (struct buffer *, ptrdiff_t, ptrdiff_t, int); |
| 2670 | extern void insert_char (int); | 2701 | extern void insert_char (int); |
| 2671 | extern void insert_string (const char *); | 2702 | extern void insert_string (const char *); |
| 2672 | extern void insert_before_markers (const char *, EMACS_INT); | 2703 | extern void insert_before_markers (const char *, ptrdiff_t); |
| 2673 | extern void insert_before_markers_and_inherit (const char *, EMACS_INT); | 2704 | extern void insert_before_markers_and_inherit (const char *, ptrdiff_t); |
| 2674 | extern void insert_from_string_before_markers (Lisp_Object, EMACS_INT, | 2705 | extern void insert_from_string_before_markers (Lisp_Object, ptrdiff_t, |
| 2675 | EMACS_INT, EMACS_INT, | 2706 | ptrdiff_t, ptrdiff_t, |
| 2676 | EMACS_INT, int); | 2707 | ptrdiff_t, int); |
| 2677 | extern void del_range (EMACS_INT, EMACS_INT); | 2708 | extern void del_range (ptrdiff_t, ptrdiff_t); |
| 2678 | extern Lisp_Object del_range_1 (EMACS_INT, EMACS_INT, int, int); | 2709 | extern Lisp_Object del_range_1 (ptrdiff_t, ptrdiff_t, int, int); |
| 2679 | extern void del_range_byte (EMACS_INT, EMACS_INT, int); | 2710 | extern void del_range_byte (ptrdiff_t, ptrdiff_t, int); |
| 2680 | extern void del_range_both (EMACS_INT, EMACS_INT, EMACS_INT, EMACS_INT, int); | 2711 | extern void del_range_both (ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, int); |
| 2681 | extern Lisp_Object del_range_2 (EMACS_INT, EMACS_INT, | 2712 | extern Lisp_Object del_range_2 (ptrdiff_t, ptrdiff_t, |
| 2682 | EMACS_INT, EMACS_INT, int); | 2713 | ptrdiff_t, ptrdiff_t, int); |
| 2683 | extern void modify_region (struct buffer *, EMACS_INT, EMACS_INT, int); | 2714 | extern void modify_region (struct buffer *, ptrdiff_t, ptrdiff_t, int); |
| 2684 | extern void prepare_to_modify_buffer (EMACS_INT, EMACS_INT, EMACS_INT *); | 2715 | extern void prepare_to_modify_buffer (ptrdiff_t, ptrdiff_t, ptrdiff_t *); |
| 2685 | extern void signal_after_change (EMACS_INT, EMACS_INT, EMACS_INT); | 2716 | extern void signal_after_change (ptrdiff_t, ptrdiff_t, ptrdiff_t); |
| 2686 | extern void adjust_after_insert (EMACS_INT, EMACS_INT, EMACS_INT, | 2717 | extern void adjust_after_insert (ptrdiff_t, ptrdiff_t, ptrdiff_t, |
| 2687 | EMACS_INT, EMACS_INT); | 2718 | ptrdiff_t, ptrdiff_t); |
| 2688 | extern void adjust_markers_for_delete (EMACS_INT, EMACS_INT, | 2719 | extern void adjust_markers_for_delete (ptrdiff_t, ptrdiff_t, |
| 2689 | EMACS_INT, EMACS_INT); | 2720 | ptrdiff_t, ptrdiff_t); |
| 2690 | extern void replace_range (EMACS_INT, EMACS_INT, Lisp_Object, int, int, int); | 2721 | extern void replace_range (ptrdiff_t, ptrdiff_t, Lisp_Object, int, int, int); |
| 2691 | extern void replace_range_2 (EMACS_INT, EMACS_INT, EMACS_INT, EMACS_INT, | 2722 | extern void replace_range_2 (ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, |
| 2692 | const char *, EMACS_INT, EMACS_INT, int); | 2723 | const char *, ptrdiff_t, ptrdiff_t, int); |
| 2693 | extern void syms_of_insdel (void); | 2724 | extern void syms_of_insdel (void); |
| 2694 | 2725 | ||
| 2695 | /* Defined in dispnew.c */ | 2726 | /* Defined in dispnew.c */ |
| @@ -2697,6 +2728,7 @@ extern Lisp_Object selected_frame; | |||
| 2697 | extern Lisp_Object Vwindow_system; | 2728 | extern Lisp_Object Vwindow_system; |
| 2698 | EXFUN (Fding, 1); | 2729 | EXFUN (Fding, 1); |
| 2699 | EXFUN (Fredraw_frame, 1); | 2730 | EXFUN (Fredraw_frame, 1); |
| 2731 | void duration_to_sec_usec (double, int *, int *); | ||
| 2700 | EXFUN (Fsleep_for, 2); | 2732 | EXFUN (Fsleep_for, 2); |
| 2701 | EXFUN (Fredisplay, 1); | 2733 | EXFUN (Fredisplay, 1); |
| 2702 | extern Lisp_Object sit_for (Lisp_Object, int, int); | 2734 | extern Lisp_Object sit_for (Lisp_Object, int, int); |
| @@ -2718,7 +2750,7 @@ extern Lisp_Object QCdata, QCfile; | |||
| 2718 | extern Lisp_Object QCmap; | 2750 | extern Lisp_Object QCmap; |
| 2719 | extern Lisp_Object Qrisky_local_variable; | 2751 | extern Lisp_Object Qrisky_local_variable; |
| 2720 | extern struct frame *last_glyphless_glyph_frame; | 2752 | extern struct frame *last_glyphless_glyph_frame; |
| 2721 | extern unsigned last_glyphless_glyph_face_id; | 2753 | extern int last_glyphless_glyph_face_id; |
| 2722 | extern int last_glyphless_glyph_merged_face_id; | 2754 | extern int last_glyphless_glyph_merged_face_id; |
| 2723 | extern int noninteractive_need_newline; | 2755 | extern int noninteractive_need_newline; |
| 2724 | extern Lisp_Object echo_area_buffer[2]; | 2756 | extern Lisp_Object echo_area_buffer[2]; |
| @@ -2734,15 +2766,15 @@ extern void clear_message (int, int); | |||
| 2734 | extern void message (const char *, ...) ATTRIBUTE_FORMAT_PRINTF (1, 2); | 2766 | extern void message (const char *, ...) ATTRIBUTE_FORMAT_PRINTF (1, 2); |
| 2735 | extern void message1 (const char *); | 2767 | extern void message1 (const char *); |
| 2736 | extern void message1_nolog (const char *); | 2768 | extern void message1_nolog (const char *); |
| 2737 | extern void message2 (const char *, EMACS_INT, int); | 2769 | extern void message2 (const char *, ptrdiff_t, int); |
| 2738 | extern void message2_nolog (const char *, EMACS_INT, int); | 2770 | extern void message2_nolog (const char *, ptrdiff_t, int); |
| 2739 | extern void message3 (Lisp_Object, EMACS_INT, int); | 2771 | extern void message3 (Lisp_Object, ptrdiff_t, int); |
| 2740 | extern void message3_nolog (Lisp_Object, EMACS_INT, int); | 2772 | extern void message3_nolog (Lisp_Object, ptrdiff_t, int); |
| 2741 | extern void message_dolog (const char *, EMACS_INT, int, int); | 2773 | extern void message_dolog (const char *, ptrdiff_t, int, int); |
| 2742 | extern void message_with_string (const char *, Lisp_Object, int); | 2774 | extern void message_with_string (const char *, Lisp_Object, int); |
| 2743 | extern void message_log_maybe_newline (void); | 2775 | extern void message_log_maybe_newline (void); |
| 2744 | extern void update_echo_area (void); | 2776 | extern void update_echo_area (void); |
| 2745 | extern void truncate_echo_area (EMACS_INT); | 2777 | extern void truncate_echo_area (ptrdiff_t); |
| 2746 | extern void redisplay (void); | 2778 | extern void redisplay (void); |
| 2747 | extern void redisplay_preserve_echo_area (int); | 2779 | extern void redisplay_preserve_echo_area (int); |
| 2748 | extern void prepare_menu_bars (void); | 2780 | extern void prepare_menu_bars (void); |
| @@ -2751,7 +2783,7 @@ void set_frame_cursor_types (struct frame *, Lisp_Object); | |||
| 2751 | extern void syms_of_xdisp (void); | 2783 | extern void syms_of_xdisp (void); |
| 2752 | extern void init_xdisp (void); | 2784 | extern void init_xdisp (void); |
| 2753 | extern Lisp_Object safe_eval (Lisp_Object); | 2785 | extern Lisp_Object safe_eval (Lisp_Object); |
| 2754 | extern int pos_visible_p (struct window *, EMACS_INT, int *, | 2786 | extern int pos_visible_p (struct window *, ptrdiff_t, int *, |
| 2755 | int *, int *, int *, int *, int *); | 2787 | int *, int *, int *, int *, int *); |
| 2756 | 2788 | ||
| 2757 | /* Defined in xsettings.c */ | 2789 | /* Defined in xsettings.c */ |
| @@ -2767,7 +2799,7 @@ extern void reset_malloc_hooks (void); | |||
| 2767 | extern void uninterrupt_malloc (void); | 2799 | extern void uninterrupt_malloc (void); |
| 2768 | extern void malloc_warning (const char *); | 2800 | extern void malloc_warning (const char *); |
| 2769 | extern void memory_full (size_t) NO_RETURN; | 2801 | extern void memory_full (size_t) NO_RETURN; |
| 2770 | extern void buffer_memory_full (EMACS_INT) NO_RETURN; | 2802 | extern void buffer_memory_full (ptrdiff_t) NO_RETURN; |
| 2771 | extern int survives_gc_p (Lisp_Object); | 2803 | extern int survives_gc_p (Lisp_Object); |
| 2772 | extern void mark_object (Lisp_Object); | 2804 | extern void mark_object (Lisp_Object); |
| 2773 | #if defined REL_ALLOC && !defined SYSTEM_MALLOC | 2805 | #if defined REL_ALLOC && !defined SYSTEM_MALLOC |
| @@ -2792,26 +2824,26 @@ EXFUN (Fmake_marker, 0); | |||
| 2792 | extern void string_overflow (void) NO_RETURN; | 2824 | extern void string_overflow (void) NO_RETURN; |
| 2793 | EXFUN (Fmake_string, 2); | 2825 | EXFUN (Fmake_string, 2); |
| 2794 | extern Lisp_Object build_string (const char *); | 2826 | extern Lisp_Object build_string (const char *); |
| 2795 | extern Lisp_Object make_string (const char *, EMACS_INT); | 2827 | extern Lisp_Object make_string (const char *, ptrdiff_t); |
| 2796 | extern Lisp_Object make_unibyte_string (const char *, EMACS_INT); | 2828 | extern Lisp_Object make_unibyte_string (const char *, ptrdiff_t); |
| 2797 | extern Lisp_Object make_multibyte_string (const char *, EMACS_INT, EMACS_INT); | 2829 | extern Lisp_Object make_multibyte_string (const char *, ptrdiff_t, ptrdiff_t); |
| 2798 | extern Lisp_Object make_event_array (int, Lisp_Object *); | 2830 | extern Lisp_Object make_event_array (int, Lisp_Object *); |
| 2799 | extern Lisp_Object make_uninit_string (EMACS_INT); | 2831 | extern Lisp_Object make_uninit_string (EMACS_INT); |
| 2800 | extern Lisp_Object make_uninit_multibyte_string (EMACS_INT, EMACS_INT); | 2832 | extern Lisp_Object make_uninit_multibyte_string (EMACS_INT, EMACS_INT); |
| 2801 | extern Lisp_Object make_string_from_bytes (const char *, EMACS_INT, EMACS_INT); | 2833 | extern Lisp_Object make_string_from_bytes (const char *, ptrdiff_t, ptrdiff_t); |
| 2802 | extern Lisp_Object make_specified_string (const char *, | 2834 | extern Lisp_Object make_specified_string (const char *, |
| 2803 | EMACS_INT, EMACS_INT, int); | 2835 | ptrdiff_t, ptrdiff_t, int); |
| 2804 | EXFUN (Fpurecopy, 1); | 2836 | EXFUN (Fpurecopy, 1); |
| 2805 | extern Lisp_Object make_pure_string (const char *, EMACS_INT, EMACS_INT, int); | 2837 | extern Lisp_Object make_pure_string (const char *, ptrdiff_t, ptrdiff_t, int); |
| 2806 | extern Lisp_Object make_pure_c_string (const char *data); | 2838 | extern Lisp_Object make_pure_c_string (const char *data); |
| 2807 | extern Lisp_Object pure_cons (Lisp_Object, Lisp_Object); | 2839 | extern Lisp_Object pure_cons (Lisp_Object, Lisp_Object); |
| 2808 | extern Lisp_Object make_pure_vector (EMACS_INT); | 2840 | extern Lisp_Object make_pure_vector (ptrdiff_t); |
| 2809 | EXFUN (Fgarbage_collect, 0); | 2841 | EXFUN (Fgarbage_collect, 0); |
| 2810 | EXFUN (Fmake_byte_code, MANY); | 2842 | EXFUN (Fmake_byte_code, MANY); |
| 2811 | EXFUN (Fmake_bool_vector, 2); | 2843 | EXFUN (Fmake_bool_vector, 2); |
| 2812 | extern Lisp_Object Qchar_table_extra_slots; | 2844 | extern Lisp_Object Qchar_table_extra_slots; |
| 2813 | extern struct Lisp_Vector *allocate_vector (EMACS_INT); | 2845 | extern struct Lisp_Vector *allocate_vector (EMACS_INT); |
| 2814 | extern struct Lisp_Vector *allocate_pseudovector (int memlen, int lisplen, EMACS_INT tag); | 2846 | extern struct Lisp_Vector *allocate_pseudovector (int memlen, int lisplen, int tag); |
| 2815 | #define ALLOCATE_PSEUDOVECTOR(typ,field,tag) \ | 2847 | #define ALLOCATE_PSEUDOVECTOR(typ,field,tag) \ |
| 2816 | ((typ*) \ | 2848 | ((typ*) \ |
| 2817 | allocate_pseudovector \ | 2849 | allocate_pseudovector \ |
| @@ -2825,7 +2857,7 @@ extern int gc_in_progress; | |||
| 2825 | extern int abort_on_gc; | 2857 | extern int abort_on_gc; |
| 2826 | extern Lisp_Object make_float (double); | 2858 | extern Lisp_Object make_float (double); |
| 2827 | extern void display_malloc_warning (void); | 2859 | extern void display_malloc_warning (void); |
| 2828 | extern int inhibit_garbage_collection (void); | 2860 | extern ptrdiff_t inhibit_garbage_collection (void); |
| 2829 | extern Lisp_Object make_save_value (void *, ptrdiff_t); | 2861 | extern Lisp_Object make_save_value (void *, ptrdiff_t); |
| 2830 | extern void free_marker (Lisp_Object); | 2862 | extern void free_marker (Lisp_Object); |
| 2831 | extern void free_cons (struct Lisp_Cons *); | 2863 | extern void free_cons (struct Lisp_Cons *); |
| @@ -2909,7 +2941,7 @@ EXFUN (Fread_event, 3); | |||
| 2909 | extern Lisp_Object check_obarray (Lisp_Object); | 2941 | extern Lisp_Object check_obarray (Lisp_Object); |
| 2910 | extern Lisp_Object intern (const char *); | 2942 | extern Lisp_Object intern (const char *); |
| 2911 | extern Lisp_Object intern_c_string (const char *); | 2943 | extern Lisp_Object intern_c_string (const char *); |
| 2912 | extern Lisp_Object oblookup (Lisp_Object, const char *, EMACS_INT, EMACS_INT); | 2944 | extern Lisp_Object oblookup (Lisp_Object, const char *, ptrdiff_t, ptrdiff_t); |
| 2913 | #define LOADHIST_ATTACH(x) \ | 2945 | #define LOADHIST_ATTACH(x) \ |
| 2914 | do { \ | 2946 | do { \ |
| 2915 | if (initialized) Vcurrent_load_list = Fcons (x, Vcurrent_load_list); \ | 2947 | if (initialized) Vcurrent_load_list = Fcons (x, Vcurrent_load_list); \ |
| @@ -2985,7 +3017,7 @@ extern Lisp_Object internal_condition_case_2 (Lisp_Object (*) (Lisp_Object, Lisp | |||
| 2985 | extern Lisp_Object internal_condition_case_n (Lisp_Object (*) (ptrdiff_t, Lisp_Object *), ptrdiff_t, Lisp_Object *, Lisp_Object, Lisp_Object (*) (Lisp_Object)); | 3017 | extern Lisp_Object internal_condition_case_n (Lisp_Object (*) (ptrdiff_t, Lisp_Object *), ptrdiff_t, Lisp_Object *, Lisp_Object, Lisp_Object (*) (Lisp_Object)); |
| 2986 | extern void specbind (Lisp_Object, Lisp_Object); | 3018 | extern void specbind (Lisp_Object, Lisp_Object); |
| 2987 | extern void record_unwind_protect (Lisp_Object (*) (Lisp_Object), Lisp_Object); | 3019 | extern void record_unwind_protect (Lisp_Object (*) (Lisp_Object), Lisp_Object); |
| 2988 | extern Lisp_Object unbind_to (int, Lisp_Object); | 3020 | extern Lisp_Object unbind_to (ptrdiff_t, Lisp_Object); |
| 2989 | extern void error (const char *, ...) NO_RETURN ATTRIBUTE_FORMAT_PRINTF (1, 2); | 3021 | extern void error (const char *, ...) NO_RETURN ATTRIBUTE_FORMAT_PRINTF (1, 2); |
| 2990 | extern void verror (const char *, va_list) | 3022 | extern void verror (const char *, va_list) |
| 2991 | NO_RETURN ATTRIBUTE_FORMAT_PRINTF (1, 0); | 3023 | NO_RETURN ATTRIBUTE_FORMAT_PRINTF (1, 0); |
| @@ -3037,10 +3069,9 @@ EXFUN (Fuser_login_name, 1); | |||
| 3037 | EXFUN (Fsystem_name, 0); | 3069 | EXFUN (Fsystem_name, 0); |
| 3038 | EXFUN (Fcurrent_time, 0); | 3070 | EXFUN (Fcurrent_time, 0); |
| 3039 | EXFUN (Fget_internal_run_time, 0); | 3071 | EXFUN (Fget_internal_run_time, 0); |
| 3040 | extern EMACS_INT clip_to_bounds (EMACS_INT, EMACS_INT, EMACS_INT); | 3072 | extern Lisp_Object make_buffer_string (ptrdiff_t, ptrdiff_t, int); |
| 3041 | extern Lisp_Object make_buffer_string (EMACS_INT, EMACS_INT, int); | 3073 | extern Lisp_Object make_buffer_string_both (ptrdiff_t, ptrdiff_t, ptrdiff_t, |
| 3042 | extern Lisp_Object make_buffer_string_both (EMACS_INT, EMACS_INT, EMACS_INT, | 3074 | ptrdiff_t, int); |
| 3043 | EMACS_INT, int); | ||
| 3044 | extern void init_editfns (void); | 3075 | extern void init_editfns (void); |
| 3045 | const char *get_system_name (void); | 3076 | const char *get_system_name (void); |
| 3046 | extern void syms_of_editfns (void); | 3077 | extern void syms_of_editfns (void); |
| @@ -3054,12 +3085,12 @@ extern void nsberror (Lisp_Object) NO_RETURN; | |||
| 3054 | EXFUN (Fset_buffer_multibyte, 1); | 3085 | EXFUN (Fset_buffer_multibyte, 1); |
| 3055 | EXFUN (Foverlay_start, 1); | 3086 | EXFUN (Foverlay_start, 1); |
| 3056 | EXFUN (Foverlay_end, 1); | 3087 | EXFUN (Foverlay_end, 1); |
| 3057 | extern void adjust_overlays_for_insert (EMACS_INT, EMACS_INT); | 3088 | extern void adjust_overlays_for_insert (ptrdiff_t, ptrdiff_t); |
| 3058 | extern void adjust_overlays_for_delete (EMACS_INT, EMACS_INT); | 3089 | extern void adjust_overlays_for_delete (ptrdiff_t, ptrdiff_t); |
| 3059 | extern void fix_start_end_in_overlays (EMACS_INT, EMACS_INT); | 3090 | extern void fix_start_end_in_overlays (ptrdiff_t, ptrdiff_t); |
| 3060 | extern void report_overlay_modification (Lisp_Object, Lisp_Object, int, | 3091 | extern void report_overlay_modification (Lisp_Object, Lisp_Object, int, |
| 3061 | Lisp_Object, Lisp_Object, Lisp_Object); | 3092 | Lisp_Object, Lisp_Object, Lisp_Object); |
| 3062 | extern int overlay_touches_p (EMACS_INT); | 3093 | extern int overlay_touches_p (ptrdiff_t); |
| 3063 | extern Lisp_Object Vbuffer_alist; | 3094 | extern Lisp_Object Vbuffer_alist; |
| 3064 | EXFUN (Fget_buffer, 1); | 3095 | EXFUN (Fget_buffer, 1); |
| 3065 | EXFUN (Fget_buffer_create, 1); | 3096 | EXFUN (Fget_buffer_create, 1); |
| @@ -3093,17 +3124,17 @@ EXFUN (Fmarker_position, 1); | |||
| 3093 | EXFUN (Fmarker_buffer, 1); | 3124 | EXFUN (Fmarker_buffer, 1); |
| 3094 | EXFUN (Fcopy_marker, 2); | 3125 | EXFUN (Fcopy_marker, 2); |
| 3095 | EXFUN (Fset_marker, 3); | 3126 | EXFUN (Fset_marker, 3); |
| 3096 | extern EMACS_INT marker_position (Lisp_Object); | 3127 | extern ptrdiff_t marker_position (Lisp_Object); |
| 3097 | extern EMACS_INT marker_byte_position (Lisp_Object); | 3128 | extern ptrdiff_t marker_byte_position (Lisp_Object); |
| 3098 | extern void clear_charpos_cache (struct buffer *); | 3129 | extern void clear_charpos_cache (struct buffer *); |
| 3099 | extern EMACS_INT charpos_to_bytepos (EMACS_INT); | 3130 | extern ptrdiff_t charpos_to_bytepos (ptrdiff_t); |
| 3100 | extern EMACS_INT buf_charpos_to_bytepos (struct buffer *, EMACS_INT); | 3131 | extern ptrdiff_t buf_charpos_to_bytepos (struct buffer *, ptrdiff_t); |
| 3101 | extern EMACS_INT buf_bytepos_to_charpos (struct buffer *, EMACS_INT); | 3132 | extern ptrdiff_t buf_bytepos_to_charpos (struct buffer *, ptrdiff_t); |
| 3102 | extern void unchain_marker (struct Lisp_Marker *marker); | 3133 | extern void unchain_marker (struct Lisp_Marker *marker); |
| 3103 | extern Lisp_Object set_marker_restricted (Lisp_Object, Lisp_Object, Lisp_Object); | 3134 | extern Lisp_Object set_marker_restricted (Lisp_Object, Lisp_Object, Lisp_Object); |
| 3104 | extern Lisp_Object set_marker_both (Lisp_Object, Lisp_Object, EMACS_INT, EMACS_INT); | 3135 | extern Lisp_Object set_marker_both (Lisp_Object, Lisp_Object, ptrdiff_t, ptrdiff_t); |
| 3105 | extern Lisp_Object set_marker_restricted_both (Lisp_Object, Lisp_Object, | 3136 | extern Lisp_Object set_marker_restricted_both (Lisp_Object, Lisp_Object, |
| 3106 | EMACS_INT, EMACS_INT); | 3137 | ptrdiff_t, ptrdiff_t); |
| 3107 | extern void syms_of_marker (void); | 3138 | extern void syms_of_marker (void); |
| 3108 | 3139 | ||
| 3109 | /* Defined in fileio.c */ | 3140 | /* Defined in fileio.c */ |
| @@ -3156,18 +3187,18 @@ struct re_registers; | |||
| 3156 | extern struct re_pattern_buffer *compile_pattern (Lisp_Object, | 3187 | extern struct re_pattern_buffer *compile_pattern (Lisp_Object, |
| 3157 | struct re_registers *, | 3188 | struct re_registers *, |
| 3158 | Lisp_Object, int, int); | 3189 | Lisp_Object, int, int); |
| 3159 | extern EMACS_INT fast_string_match (Lisp_Object, Lisp_Object); | 3190 | extern ptrdiff_t fast_string_match (Lisp_Object, Lisp_Object); |
| 3160 | extern EMACS_INT fast_c_string_match_ignore_case (Lisp_Object, const char *); | 3191 | extern ptrdiff_t fast_c_string_match_ignore_case (Lisp_Object, const char *); |
| 3161 | extern EMACS_INT fast_string_match_ignore_case (Lisp_Object, Lisp_Object); | 3192 | extern ptrdiff_t fast_string_match_ignore_case (Lisp_Object, Lisp_Object); |
| 3162 | extern EMACS_INT fast_looking_at (Lisp_Object, EMACS_INT, EMACS_INT, | 3193 | extern ptrdiff_t fast_looking_at (Lisp_Object, ptrdiff_t, ptrdiff_t, |
| 3163 | EMACS_INT, EMACS_INT, Lisp_Object); | 3194 | ptrdiff_t, ptrdiff_t, Lisp_Object); |
| 3164 | extern EMACS_INT scan_buffer (int, EMACS_INT, EMACS_INT, EMACS_INT, | 3195 | extern ptrdiff_t scan_buffer (int, ptrdiff_t, ptrdiff_t, ptrdiff_t, |
| 3165 | EMACS_INT *, int); | 3196 | ptrdiff_t *, int); |
| 3166 | extern EMACS_INT scan_newline (EMACS_INT, EMACS_INT, EMACS_INT, EMACS_INT, | 3197 | extern EMACS_INT scan_newline (ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, |
| 3167 | EMACS_INT, int); | 3198 | EMACS_INT, int); |
| 3168 | extern EMACS_INT find_next_newline (EMACS_INT, int); | 3199 | extern ptrdiff_t find_next_newline (ptrdiff_t, int); |
| 3169 | extern EMACS_INT find_next_newline_no_quit (EMACS_INT, EMACS_INT); | 3200 | extern ptrdiff_t find_next_newline_no_quit (ptrdiff_t, ptrdiff_t); |
| 3170 | extern EMACS_INT find_before_next_newline (EMACS_INT, EMACS_INT, EMACS_INT); | 3201 | extern ptrdiff_t find_before_next_newline (ptrdiff_t, ptrdiff_t, ptrdiff_t); |
| 3171 | extern void syms_of_search (void); | 3202 | extern void syms_of_search (void); |
| 3172 | extern void clear_regexp_cache (void); | 3203 | extern void clear_regexp_cache (void); |
| 3173 | 3204 | ||
| @@ -3253,9 +3284,9 @@ extern void keys_of_keyboard (void); | |||
| 3253 | EXFUN (Fvertical_motion, 2); | 3284 | EXFUN (Fvertical_motion, 2); |
| 3254 | EXFUN (Findent_to, 2); | 3285 | EXFUN (Findent_to, 2); |
| 3255 | EXFUN (Fmove_to_column, 2); | 3286 | EXFUN (Fmove_to_column, 2); |
| 3256 | extern EMACS_INT current_column (void); | 3287 | extern ptrdiff_t current_column (void); |
| 3257 | extern void invalidate_current_column (void); | 3288 | extern void invalidate_current_column (void); |
| 3258 | extern int indented_beyond_p (EMACS_INT, EMACS_INT, EMACS_INT); | 3289 | extern int indented_beyond_p (ptrdiff_t, ptrdiff_t, EMACS_INT); |
| 3259 | extern void syms_of_indent (void); | 3290 | extern void syms_of_indent (void); |
| 3260 | 3291 | ||
| 3261 | /* Defined in frame.c */ | 3292 | /* Defined in frame.c */ |
| @@ -3386,12 +3417,12 @@ extern Lisp_Object Qapply; | |||
| 3386 | extern Lisp_Object Qinhibit_read_only; | 3417 | extern Lisp_Object Qinhibit_read_only; |
| 3387 | EXFUN (Fundo_boundary, 0); | 3418 | EXFUN (Fundo_boundary, 0); |
| 3388 | extern void truncate_undo_list (struct buffer *); | 3419 | extern void truncate_undo_list (struct buffer *); |
| 3389 | extern void record_marker_adjustment (Lisp_Object, EMACS_INT); | 3420 | extern void record_marker_adjustment (Lisp_Object, ptrdiff_t); |
| 3390 | extern void record_insert (EMACS_INT, EMACS_INT); | 3421 | extern void record_insert (ptrdiff_t, ptrdiff_t); |
| 3391 | extern void record_delete (EMACS_INT, Lisp_Object); | 3422 | extern void record_delete (ptrdiff_t, Lisp_Object); |
| 3392 | extern void record_first_change (void); | 3423 | extern void record_first_change (void); |
| 3393 | extern void record_change (EMACS_INT, EMACS_INT); | 3424 | extern void record_change (ptrdiff_t, ptrdiff_t); |
| 3394 | extern void record_property_change (EMACS_INT, EMACS_INT, | 3425 | extern void record_property_change (ptrdiff_t, ptrdiff_t, |
| 3395 | Lisp_Object, Lisp_Object, | 3426 | Lisp_Object, Lisp_Object, |
| 3396 | Lisp_Object); | 3427 | Lisp_Object); |
| 3397 | extern void syms_of_undo (void); | 3428 | extern void syms_of_undo (void); |
| @@ -3437,8 +3468,8 @@ extern void init_sys_modes (struct tty_display_info *); | |||
| 3437 | extern void reset_sys_modes (struct tty_display_info *); | 3468 | extern void reset_sys_modes (struct tty_display_info *); |
| 3438 | extern void init_all_sys_modes (void); | 3469 | extern void init_all_sys_modes (void); |
| 3439 | extern void reset_all_sys_modes (void); | 3470 | extern void reset_all_sys_modes (void); |
| 3440 | extern void wait_for_termination (int); | 3471 | extern void wait_for_termination (pid_t); |
| 3441 | extern void interruptible_wait_for_termination (int); | 3472 | extern void interruptible_wait_for_termination (pid_t); |
| 3442 | extern void flush_pending_output (int); | 3473 | extern void flush_pending_output (int); |
| 3443 | extern void child_setup_tty (int); | 3474 | extern void child_setup_tty (int); |
| 3444 | extern void setup_pty (int); | 3475 | extern void setup_pty (int); |
| @@ -3447,8 +3478,8 @@ extern EMACS_INT get_random (void); | |||
| 3447 | extern void seed_random (long); | 3478 | extern void seed_random (long); |
| 3448 | extern int emacs_open (const char *, int, int); | 3479 | extern int emacs_open (const char *, int, int); |
| 3449 | extern int emacs_close (int); | 3480 | extern int emacs_close (int); |
| 3450 | extern EMACS_INT emacs_read (int, char *, EMACS_INT); | 3481 | extern ptrdiff_t emacs_read (int, char *, ptrdiff_t); |
| 3451 | extern EMACS_INT emacs_write (int, const char *, EMACS_INT); | 3482 | extern ptrdiff_t emacs_write (int, const char *, ptrdiff_t); |
| 3452 | enum { READLINK_BUFSIZE = 1024 }; | 3483 | enum { READLINK_BUFSIZE = 1024 }; |
| 3453 | extern char *emacs_readlink (const char *, char [READLINK_BUFSIZE]); | 3484 | extern char *emacs_readlink (const char *, char [READLINK_BUFSIZE]); |
| 3454 | 3485 | ||
| @@ -3674,7 +3705,7 @@ extern void init_system_name (void); | |||
| 3674 | extern Lisp_Object safe_alloca_unwind (Lisp_Object); | 3705 | extern Lisp_Object safe_alloca_unwind (Lisp_Object); |
| 3675 | 3706 | ||
| 3676 | #define USE_SAFE_ALLOCA \ | 3707 | #define USE_SAFE_ALLOCA \ |
| 3677 | int sa_count = (int) SPECPDL_INDEX (), sa_must_free = 0 | 3708 | ptrdiff_t sa_count = SPECPDL_INDEX (); int sa_must_free = 0 |
| 3678 | 3709 | ||
| 3679 | /* SAFE_ALLOCA allocates a simple buffer. */ | 3710 | /* SAFE_ALLOCA allocates a simple buffer. */ |
| 3680 | 3711 | ||