The case_Lisp_Int macro was originally introduced with different
definitions depending on USE_2_TAGS_FOR_INTS. However, since commit
2b5701247845, we have assumed that USE_2_TAGS_FOR_INTS is always
defined, and the macro has only a single definition. As a result, the
macro is now unnecessary, and replacing it with standard C case labels
improves readability and understanding.
* src/lisp.h (case_Lisp_Int): Delete macro.
* src/alloc.c (process_mark_stack, survives_gc_p):
* src/data.c (Fcl_type_of):
* src/fns.c (value_cmp, sxhash_obj):
* src/pdumper.c (dump_object):
* src/print.c (print_object):
* src/xfaces.c (face_attr_equal_p): Remove uses of above macro.
(cherry picked from commit
278d1994af4c52a5590c793d27d8fd2867fe7a66)
break;
}
- case_Lisp_Int:
+ case Lisp_Int0:
+ case Lisp_Int1:
break;
default:
switch (XTYPE (obj))
{
- case_Lisp_Int:
+ case Lisp_Int0:
+ case Lisp_Int1:
survives_p = true;
break;
{
switch (XTYPE (object))
{
- case_Lisp_Int:
+ case Lisp_Int0:
+ case Lisp_Int1:
return Qfixnum;
case Lisp_Symbol:
switch (XTYPE (a))
{
- case_Lisp_Int:
+ case Lisp_Int0:
+ case Lisp_Int1:
{
EMACS_INT ia = XFIXNUM (a);
if (FIXNUMP (b))
switch (XTYPE (obj))
{
- case_Lisp_Int:
+ case Lisp_Int0:
+ case Lisp_Int1:
return XUFIXNUM (obj);
case Lisp_Symbol:
/* Fixnums use 2 tags, to give them one extra bit, thus
extending their range from, e.g., -2^28..2^28-1 to -2^29..2^29-1. */
#define INTMASK (EMACS_INT_MAX >> (INTTYPEBITS - 1))
-#define case_Lisp_Int case Lisp_Int0: case Lisp_Int1
/* Idea stolen from GDB. Pedantic GCC complains about enum bitfields,
and xlc and Oracle Studio c99 complain vociferously about them. */
case Lisp_Float:
offset = dump_float (ctx, XFLOAT (object));
break;
- case_Lisp_Int:
+ case Lisp_Int0:
+ case Lisp_Int1:
eassert ("should not be dumping int: is self-representing" && 0);
abort ();
default:
switch (XTYPE (obj))
{
- case_Lisp_Int:
+ case Lisp_Int0:
+ case Lisp_Int1:
{
EMACS_INT i = XFIXNUM (obj);
char escaped_name;
return memcmp (SDATA (v1), SDATA (v2), SBYTES (v1)) == 0;
- case_Lisp_Int:
+ case Lisp_Int0:
+ case Lisp_Int1:
case Lisp_Symbol:
return false;