1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-29 07:58:28 +00:00

* alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand non-union-type

versions of XMARK and friends here, because XMARK and friends won't work on an
integer field if NO_UNION_TYPE is not defined.
(make_number): Define as a function if it's not defined as a macro.
This commit is contained in:
Ken Raeburn 2000-04-02 01:52:58 +00:00
parent ccf5869a2e
commit cc2d8c6b3d
2 changed files with 26 additions and 4 deletions

View File

@ -1,3 +1,12 @@
2000-04-01 Ken Raeburn <raeburn@gnu.org>
* alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
non-union-type versions of XMARK and friends here, because XMARK
and friends won't work on an integer field if NO_UNION_TYPE is not
defined.
(make_number): Define as a function if it's not defined as a
macro.
2000-04-01 Gerd Moellmann <gerd@gnu.org>
* term.c (TN_no_color_video): New variable.

View File

@ -97,9 +97,9 @@ static __malloc_size_t bytes_used_when_full;
/* Mark, unmark, query mark bit of a Lisp string. S must be a pointer
to a struct Lisp_String. */
#define MARK_STRING(S) XMARK ((S)->size)
#define UNMARK_STRING(S) XUNMARK ((S)->size)
#define STRING_MARKED_P(S) XMARKBIT ((S)->size)
#define MARK_STRING(S) ((S)->size |= MARKBIT)
#define UNMARK_STRING(S) ((S)->size &= ~MARKBIT)
#define STRING_MARKED_P(S) ((S)->size & MARKBIT)
/* Value is the number of bytes/chars of S, a pointer to a struct
Lisp_String. This must be used instead of STRING_BYTES (S) or
@ -798,7 +798,20 @@ mark_interval_tree (tree)
} \
} while (0)
/* Number support. If NO_UNION_TYPE isn't in effect, we
can't create number objects in macros. */
#ifndef make_number
Lisp_Object
make_number (n)
int n;
{
Lisp_Object obj;
obj.s.val = n;
obj.s.type = Lisp_Int;
return obj;
}
#endif
/***********************************************************************
String Allocation