diff options
| author | Paul Eggert | 2018-12-09 17:07:16 -0800 |
|---|---|---|
| committer | Paul Eggert | 2018-12-09 17:11:37 -0800 |
| commit | 48d7720993283a3387807fa5582bb10b1636bba5 (patch) | |
| tree | 74c7b2935470fcb39383390caec8485172243d84 /src | |
| parent | 87bc518afcc3adc23762944ef49f89d375f90260 (diff) | |
| download | emacs-48d7720993283a3387807fa5582bb10b1636bba5.tar.gz emacs-48d7720993283a3387807fa5582bb10b1636bba5.zip | |
Remove CHECK_FIXNUM_CAR etc.
* src/coding.c (CHECK_FIXNAT_CAR, CHECK_FIXNAT_CDR):
* src/lisp.h (CHECK_FIXNUM_CAR, CHECK_FIXNUM_CDR):
Remove. All uses removed. These seem to have been based on
the assumption that the argument cons needs to be modified,
an assumption that is incorrect for fixnums.
(Fdefine_coding_system_internal): Use CHECK_RANGED_INTEGER
instead of a special diagnostic for graphic register numbers.
Diffstat (limited to 'src')
| -rw-r--r-- | src/coding.c | 41 | ||||
| -rw-r--r-- | src/indent.c | 12 | ||||
| -rw-r--r-- | src/lisp.h | 18 | ||||
| -rw-r--r-- | src/w32proc.c | 4 |
4 files changed, 15 insertions, 60 deletions
diff --git a/src/coding.c b/src/coding.c index 398691fc864..c2945707e23 100644 --- a/src/coding.c +++ b/src/coding.c | |||
| @@ -617,23 +617,7 @@ inhibit_flag (int encoded_flag, bool var) | |||
| 617 | do { \ | 617 | do { \ |
| 618 | (attrs) = CODING_ID_ATTRS ((coding)->id); \ | 618 | (attrs) = CODING_ID_ATTRS ((coding)->id); \ |
| 619 | (charset_list) = CODING_ATTR_CHARSET_LIST (attrs); \ | 619 | (charset_list) = CODING_ATTR_CHARSET_LIST (attrs); \ |
| 620 | } while (0) | 620 | } while (false) |
| 621 | |||
| 622 | static void | ||
| 623 | CHECK_FIXNAT_CAR (Lisp_Object x) | ||
| 624 | { | ||
| 625 | Lisp_Object tmp = XCAR (x); | ||
| 626 | CHECK_FIXNAT (tmp); | ||
| 627 | XSETCAR (x, tmp); | ||
| 628 | } | ||
| 629 | |||
| 630 | static void | ||
| 631 | CHECK_FIXNAT_CDR (Lisp_Object x) | ||
| 632 | { | ||
| 633 | Lisp_Object tmp = XCDR (x); | ||
| 634 | CHECK_FIXNAT (tmp); | ||
| 635 | XSETCDR (x, tmp); | ||
| 636 | } | ||
| 637 | 621 | ||
| 638 | /* True if CODING's destination can be grown. */ | 622 | /* True if CODING's destination can be grown. */ |
| 639 | 623 | ||
| @@ -10271,15 +10255,9 @@ usage: (define-coding-system-internal ...) */) | |||
| 10271 | else | 10255 | else |
| 10272 | { | 10256 | { |
| 10273 | CHECK_CONS (val); | 10257 | CHECK_CONS (val); |
| 10274 | CHECK_FIXNAT_CAR (val); | 10258 | CHECK_RANGED_INTEGER (XCAR (val), 0, 255); |
| 10275 | CHECK_FIXNUM_CDR (val); | ||
| 10276 | if (XFIXNUM (XCAR (val)) > 255) | ||
| 10277 | args_out_of_range_3 (XCAR (val), | ||
| 10278 | make_fixnum (0), make_fixnum (255)); | ||
| 10279 | from = XFIXNUM (XCAR (val)); | 10259 | from = XFIXNUM (XCAR (val)); |
| 10280 | if (! (from <= XFIXNUM (XCDR (val)) && XFIXNUM (XCDR (val)) <= 255)) | 10260 | CHECK_RANGED_INTEGER (XCDR (val), from, 255); |
| 10281 | args_out_of_range_3 (XCDR (val), | ||
| 10282 | XCAR (val), make_fixnum (255)); | ||
| 10283 | to = XFIXNUM (XCDR (val)); | 10261 | to = XFIXNUM (XCDR (val)); |
| 10284 | } | 10262 | } |
| 10285 | for (int i = from; i <= to; i++) | 10263 | for (int i = from; i <= to; i++) |
| @@ -10354,23 +10332,18 @@ usage: (define-coding-system-internal ...) */) | |||
| 10354 | 10332 | ||
| 10355 | reg_usage = args[coding_arg_iso2022_reg_usage]; | 10333 | reg_usage = args[coding_arg_iso2022_reg_usage]; |
| 10356 | CHECK_CONS (reg_usage); | 10334 | CHECK_CONS (reg_usage); |
| 10357 | CHECK_FIXNUM_CAR (reg_usage); | 10335 | CHECK_FIXNUM (XCAR (reg_usage)); |
| 10358 | CHECK_FIXNUM_CDR (reg_usage); | 10336 | CHECK_FIXNUM (XCDR (reg_usage)); |
| 10359 | 10337 | ||
| 10360 | request = Fcopy_sequence (args[coding_arg_iso2022_request]); | 10338 | request = Fcopy_sequence (args[coding_arg_iso2022_request]); |
| 10361 | for (Lisp_Object tail = request; CONSP (tail); tail = XCDR (tail)) | 10339 | for (Lisp_Object tail = request; CONSP (tail); tail = XCDR (tail)) |
| 10362 | { | 10340 | { |
| 10363 | int id; | 10341 | int id; |
| 10364 | Lisp_Object tmp1; | ||
| 10365 | 10342 | ||
| 10366 | val = XCAR (tail); | 10343 | val = XCAR (tail); |
| 10367 | CHECK_CONS (val); | 10344 | CHECK_CONS (val); |
| 10368 | tmp1 = XCAR (val); | 10345 | CHECK_CHARSET_GET_ID (XCAR (val), id); |
| 10369 | CHECK_CHARSET_GET_ID (tmp1, id); | 10346 | CHECK_RANGED_INTEGER (XCDR (val), 0, 3); |
| 10370 | CHECK_FIXNAT_CDR (val); | ||
| 10371 | if (XFIXNUM (XCDR (val)) >= 4) | ||
| 10372 | error ("Invalid graphic register number: %"pI"d", | ||
| 10373 | XFIXNUM (XCDR (val))); | ||
| 10374 | XSETCAR (val, make_fixnum (id)); | 10347 | XSETCAR (val, make_fixnum (id)); |
| 10375 | } | 10348 | } |
| 10376 | 10349 | ||
diff --git a/src/indent.c b/src/indent.c index 18855768d37..8761388b856 100644 --- a/src/indent.c +++ b/src/indent.c | |||
| @@ -1756,14 +1756,14 @@ visible section of the buffer, and pass LINE and COL as TOPOS. */) | |||
| 1756 | 1756 | ||
| 1757 | CHECK_FIXNUM_COERCE_MARKER (from); | 1757 | CHECK_FIXNUM_COERCE_MARKER (from); |
| 1758 | CHECK_CONS (frompos); | 1758 | CHECK_CONS (frompos); |
| 1759 | CHECK_FIXNUM_CAR (frompos); | 1759 | CHECK_FIXNUM (XCAR (frompos)); |
| 1760 | CHECK_FIXNUM_CDR (frompos); | 1760 | CHECK_FIXNUM (XCDR (frompos)); |
| 1761 | CHECK_FIXNUM_COERCE_MARKER (to); | 1761 | CHECK_FIXNUM_COERCE_MARKER (to); |
| 1762 | if (!NILP (topos)) | 1762 | if (!NILP (topos)) |
| 1763 | { | 1763 | { |
| 1764 | CHECK_CONS (topos); | 1764 | CHECK_CONS (topos); |
| 1765 | CHECK_FIXNUM_CAR (topos); | 1765 | CHECK_FIXNUM (XCAR (topos)); |
| 1766 | CHECK_FIXNUM_CDR (topos); | 1766 | CHECK_FIXNUM (XCDR (topos)); |
| 1767 | } | 1767 | } |
| 1768 | if (!NILP (width)) | 1768 | if (!NILP (width)) |
| 1769 | CHECK_FIXNUM (width); | 1769 | CHECK_FIXNUM (width); |
| @@ -1771,8 +1771,8 @@ visible section of the buffer, and pass LINE and COL as TOPOS. */) | |||
| 1771 | if (!NILP (offsets)) | 1771 | if (!NILP (offsets)) |
| 1772 | { | 1772 | { |
| 1773 | CHECK_CONS (offsets); | 1773 | CHECK_CONS (offsets); |
| 1774 | CHECK_FIXNUM_CAR (offsets); | 1774 | CHECK_FIXNUM (XCAR (offsets)); |
| 1775 | CHECK_FIXNUM_CDR (offsets); | 1775 | CHECK_FIXNUM (XCDR (offsets)); |
| 1776 | if (! (0 <= XFIXNUM (XCAR (offsets)) && XFIXNUM (XCAR (offsets)) <= PTRDIFF_MAX | 1776 | if (! (0 <= XFIXNUM (XCAR (offsets)) && XFIXNUM (XCAR (offsets)) <= PTRDIFF_MAX |
| 1777 | && 0 <= XFIXNUM (XCDR (offsets)) && XFIXNUM (XCDR (offsets)) <= INT_MAX)) | 1777 | && 0 <= XFIXNUM (XCDR (offsets)) && XFIXNUM (XCDR (offsets)) <= INT_MAX)) |
| 1778 | args_out_of_range (XCAR (offsets), XCDR (offsets)); | 1778 | args_out_of_range (XCAR (offsets), XCDR (offsets)); |
diff --git a/src/lisp.h b/src/lisp.h index 3943bf63ee7..bda848430a2 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -2906,24 +2906,6 @@ CHECK_INTEGER (Lisp_Object x) | |||
| 2906 | else \ | 2906 | else \ |
| 2907 | CHECK_TYPE (INTEGERP (x), Qnumber_or_marker_p, x); \ | 2907 | CHECK_TYPE (INTEGERP (x), Qnumber_or_marker_p, x); \ |
| 2908 | } while (false) | 2908 | } while (false) |
| 2909 | |||
| 2910 | /* Since we can't assign directly to the CAR or CDR fields of a cons | ||
| 2911 | cell, use these when checking that those fields contain numbers. */ | ||
| 2912 | INLINE void | ||
| 2913 | CHECK_FIXNUM_CAR (Lisp_Object x) | ||
| 2914 | { | ||
| 2915 | Lisp_Object tmp = XCAR (x); | ||
| 2916 | CHECK_FIXNUM (tmp); | ||
| 2917 | XSETCAR (x, tmp); | ||
| 2918 | } | ||
| 2919 | |||
| 2920 | INLINE void | ||
| 2921 | CHECK_FIXNUM_CDR (Lisp_Object x) | ||
| 2922 | { | ||
| 2923 | Lisp_Object tmp = XCDR (x); | ||
| 2924 | CHECK_FIXNUM (tmp); | ||
| 2925 | XSETCDR (x, tmp); | ||
| 2926 | } | ||
| 2927 | 2909 | ||
| 2928 | /* Define a built-in function for calling from Lisp. | 2910 | /* Define a built-in function for calling from Lisp. |
| 2929 | `lname' should be the name to give the function in Lisp, | 2911 | `lname' should be the name to give the function in Lisp, |
diff --git a/src/w32proc.c b/src/w32proc.c index cb02ba63412..5a075ff1a9a 100644 --- a/src/w32proc.c +++ b/src/w32proc.c | |||
| @@ -3476,8 +3476,8 @@ If successful, the new layout id is returned, otherwise nil. */) | |||
| 3476 | HKL kl; | 3476 | HKL kl; |
| 3477 | 3477 | ||
| 3478 | CHECK_CONS (layout); | 3478 | CHECK_CONS (layout); |
| 3479 | CHECK_FIXNUM_CAR (layout); | 3479 | CHECK_FIXNUM (XCAR (layout)); |
| 3480 | CHECK_FIXNUM_CDR (layout); | 3480 | CHECK_FIXNUM (XCDR (layout)); |
| 3481 | 3481 | ||
| 3482 | kl = (HKL) (UINT_PTR) ((XFIXNUM (XCAR (layout)) & 0xffff) | 3482 | kl = (HKL) (UINT_PTR) ((XFIXNUM (XCAR (layout)) & 0xffff) |
| 3483 | | (XFIXNUM (XCDR (layout)) << 16)); | 3483 | | (XFIXNUM (XCDR (layout)) << 16)); |