diff options
| author | Andreas Schwab | 1998-04-14 12:59:32 +0000 |
|---|---|---|
| committer | Andreas Schwab | 1998-04-14 12:59:32 +0000 |
| commit | 21ab867fb9a2c4bbcb31f62203f9b81f4e0213a9 (patch) | |
| tree | cf94515e8fc0a82138e3e149919339f4bfd6e5b3 /src | |
| parent | b266ae04d722c6ee06c62b949f7f3eba49788b14 (diff) | |
| download | emacs-21ab867fb9a2c4bbcb31f62203f9b81f4e0213a9.tar.gz emacs-21ab867fb9a2c4bbcb31f62203f9b81f4e0213a9.zip | |
(Fsubstring, substring_both, Fchar_table_range,
Fset_char_table_range): Fix mixing of Lisp_Object and int.
Diffstat (limited to 'src')
| -rw-r--r-- | src/fns.c | 22 |
1 files changed, 15 insertions, 7 deletions
| @@ -975,8 +975,8 @@ This function allows vectors as well as strings.") | |||
| 975 | res = make_specified_string (XSTRING (string)->data + from_byte, | 975 | res = make_specified_string (XSTRING (string)->data + from_byte, |
| 976 | to_char - from_char, to_byte - from_byte, | 976 | to_char - from_char, to_byte - from_byte, |
| 977 | STRING_MULTIBYTE (string)); | 977 | STRING_MULTIBYTE (string)); |
| 978 | copy_text_properties (from_char, to_char, string, | 978 | copy_text_properties (make_number (from_char), make_number (to_char), |
| 979 | make_number (0), res, Qnil); | 979 | string, make_number (0), res, Qnil); |
| 980 | } | 980 | } |
| 981 | else | 981 | else |
| 982 | res = Fvector (to_char - from_char, | 982 | res = Fvector (to_char - from_char, |
| @@ -1016,7 +1016,8 @@ substring_both (string, from, from_byte, to, to_byte) | |||
| 1016 | res = make_specified_string (XSTRING (string)->data + from_byte, | 1016 | res = make_specified_string (XSTRING (string)->data + from_byte, |
| 1017 | to - from, to_byte - from_byte, | 1017 | to - from, to_byte - from_byte, |
| 1018 | STRING_MULTIBYTE (string)); | 1018 | STRING_MULTIBYTE (string)); |
| 1019 | copy_text_properties (from, to, string, make_number (0), res, Qnil); | 1019 | copy_text_properties (make_number (from), make_number (to), |
| 1020 | string, make_number (0), res, Qnil); | ||
| 1020 | } | 1021 | } |
| 1021 | else | 1022 | else |
| 1022 | res = Fvector (to - from, | 1023 | res = Fvector (to - from, |
| @@ -1763,12 +1764,15 @@ a character set name, or a character code.") | |||
| 1763 | charset_info = Fget (range, Qcharset); | 1764 | charset_info = Fget (range, Qcharset); |
| 1764 | CHECK_VECTOR (charset_info, 0); | 1765 | CHECK_VECTOR (charset_info, 0); |
| 1765 | 1766 | ||
| 1766 | return Faref (char_table, XVECTOR (charset_info)->contents[0] + 128); | 1767 | return Faref (char_table, |
| 1768 | make_number (XINT (XVECTOR (charset_info)->contents[0]) | ||
| 1769 | + 128)); | ||
| 1767 | } | 1770 | } |
| 1768 | else if (VECTORP (range)) | 1771 | else if (VECTORP (range)) |
| 1769 | { | 1772 | { |
| 1770 | if (XVECTOR (range)->size == 1) | 1773 | if (XVECTOR (range)->size == 1) |
| 1771 | return Faref (char_table, XVECTOR (range)->contents[0] + 128); | 1774 | return Faref (char_table, |
| 1775 | make_number (XINT (XVECTOR (range)->contents[0]) + 128)); | ||
| 1772 | else | 1776 | else |
| 1773 | { | 1777 | { |
| 1774 | int size = XVECTOR (range)->size; | 1778 | int size = XVECTOR (range)->size; |
| @@ -1808,7 +1812,9 @@ a coding system, or a character code.") | |||
| 1808 | charset_info = Fget (range, Qcharset); | 1812 | charset_info = Fget (range, Qcharset); |
| 1809 | CHECK_VECTOR (charset_info, 0); | 1813 | CHECK_VECTOR (charset_info, 0); |
| 1810 | 1814 | ||
| 1811 | return Faset (char_table, XVECTOR (charset_info)->contents[0] + 128, | 1815 | return Faset (char_table, |
| 1816 | make_number (XINT (XVECTOR (charset_info)->contents[0]) | ||
| 1817 | + 128), | ||
| 1812 | value); | 1818 | value); |
| 1813 | } | 1819 | } |
| 1814 | else if (INTEGERP (range)) | 1820 | else if (INTEGERP (range)) |
| @@ -1816,7 +1822,9 @@ a coding system, or a character code.") | |||
| 1816 | else if (VECTORP (range)) | 1822 | else if (VECTORP (range)) |
| 1817 | { | 1823 | { |
| 1818 | if (XVECTOR (range)->size == 1) | 1824 | if (XVECTOR (range)->size == 1) |
| 1819 | return Faset (char_table, XVECTOR (range)->contents[0] + 128, value); | 1825 | return Faset (char_table, |
| 1826 | make_number (XINT (XVECTOR (range)->contents[0]) + 128), | ||
| 1827 | value); | ||
| 1820 | else | 1828 | else |
| 1821 | { | 1829 | { |
| 1822 | int size = XVECTOR (range)->size; | 1830 | int size = XVECTOR (range)->size; |