core: Remove macros from cell creation: make_char .. make_string.
* src/gc.c (make_char, make_continuation, make_macro, make_number, make_ref, make_string0, make_string_port): New function. (make_string): Move from string.c. * include/mes/macros.h (MAKE_CHAR, MAKE_CONTINUATION, MAKE_MACRO, MAKE_NUMBER, MAKE_REF, MAKE_STRING0, MAKE_STRING_PORT): Remove macro. Update users. * include/mes/m2.h: Likewise.
This commit is contained in:
parent
1d1387f069
commit
8eca568745
|
@ -90,14 +90,6 @@ struct timeval
|
||||||
|
|
||||||
#define CSTRING(x) CBYTES (STRING (x))
|
#define CSTRING(x) CBYTES (STRING (x))
|
||||||
|
|
||||||
#define MAKE_CHAR(n) make_cell (TCHAR, 0, n)
|
|
||||||
#define MAKE_CONTINUATION(n) make_cell (TCONTINUATION, n, g_stack)
|
|
||||||
#define MAKE_NUMBER(n) make_cell (TNUMBER, 0, n)
|
|
||||||
#define MAKE_REF(n) make_cell (TREF, n, 0)
|
|
||||||
#define MAKE_STRING0(x) make_string (x, strlen (x))
|
|
||||||
#define MAKE_STRING_PORT(x) make_cell (TPORT, -length__ (g_ports) - 2, x)
|
|
||||||
#define MAKE_MACRO(name, x) make_cell (TMACRO, x, STRING (name))
|
|
||||||
|
|
||||||
#define CAAR(x) CAR (CAR (x))
|
#define CAAR(x) CAR (CAR (x))
|
||||||
#define CADR(x) CAR (CDR (x))
|
#define CADR(x) CAR (CDR (x))
|
||||||
#define CDAR(x) CDR (CAR (x))
|
#define CDAR(x) CDR (CAR (x))
|
||||||
|
|
|
@ -58,14 +58,6 @@
|
||||||
|
|
||||||
#define CSTRING(x) CBYTES (STRING (x))
|
#define CSTRING(x) CBYTES (STRING (x))
|
||||||
|
|
||||||
#define MAKE_CHAR(n) make_cell (TCHAR, 0, n)
|
|
||||||
#define MAKE_CONTINUATION(n) make_cell (TCONTINUATION, n, g_stack)
|
|
||||||
#define MAKE_NUMBER(n) make_cell (TNUMBER, 0, (long)n)
|
|
||||||
#define MAKE_REF(n) make_cell (TREF, n, 0)
|
|
||||||
#define MAKE_STRING0(x) make_string (x, strlen (x))
|
|
||||||
#define MAKE_STRING_PORT(x) make_cell (TPORT, -length__ (g_ports) - 2, x)
|
|
||||||
#define MAKE_MACRO(name, x) make_cell (TMACRO, x, STRING (name))
|
|
||||||
|
|
||||||
#define CAAR(x) CAR (CAR (x))
|
#define CAAR(x) CAR (CAR (x))
|
||||||
#define CADR(x) CAR (CDR (x))
|
#define CADR(x) CAR (CDR (x))
|
||||||
#define CDAR(x) CDR (CAR (x))
|
#define CDAR(x) CDR (CAR (x))
|
||||||
|
|
|
@ -91,10 +91,17 @@ SCM init_time (SCM a);
|
||||||
SCM make_builtin_type ();
|
SCM make_builtin_type ();
|
||||||
SCM make_bytes (char const *s, size_t length);
|
SCM make_bytes (char const *s, size_t length);
|
||||||
SCM make_cell (long type, SCM car, SCM cdr);
|
SCM make_cell (long type, SCM car, SCM cdr);
|
||||||
|
SCM make_char (int n);
|
||||||
|
SCM make_continuation (long n);
|
||||||
SCM make_hash_table_ (long size);
|
SCM make_hash_table_ (long size);
|
||||||
SCM make_hashq_type ();
|
SCM make_hashq_type ();
|
||||||
SCM make_initial_module (SCM a);
|
SCM make_initial_module (SCM a);
|
||||||
|
SCM make_macro (SCM name, SCM x);
|
||||||
|
SCM make_number (long n);
|
||||||
|
SCM make_ref (SCM x);
|
||||||
SCM make_string (char const *s, size_t length);
|
SCM make_string (char const *s, size_t length);
|
||||||
|
SCM make_string0 (char const *s);
|
||||||
|
SCM make_string_port (SCM x);
|
||||||
SCM make_vector__ (long k);
|
SCM make_vector__ (long k);
|
||||||
SCM mes_builtins (SCM a);
|
SCM mes_builtins (SCM a);
|
||||||
SCM push_cc (SCM p1, SCM p2, SCM a, SCM c);
|
SCM push_cc (SCM p1, SCM p2, SCM a, SCM c);
|
||||||
|
|
|
@ -99,8 +99,8 @@ init_builtin (SCM builtin_type, char const *name, int arity, FUNCTION function,
|
||||||
{
|
{
|
||||||
SCM s = cstring_to_symbol (name);
|
SCM s = cstring_to_symbol (name);
|
||||||
return acons (s,
|
return acons (s,
|
||||||
make_builtin (builtin_type, symbol_to_string (s), MAKE_NUMBER (arity),
|
make_builtin (builtin_type, symbol_to_string (s), make_number (arity),
|
||||||
MAKE_NUMBER (function)), a);
|
make_number (function)), a);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
|
|
@ -49,7 +49,7 @@ check_formals (SCM f, SCM formals, SCM args) /*:((internal)) */
|
||||||
eputs (itoa (alen));
|
eputs (itoa (alen));
|
||||||
eputs ("\n");
|
eputs ("\n");
|
||||||
write_error_ (f);
|
write_error_ (f);
|
||||||
SCM e = MAKE_STRING0 (s);
|
SCM e = make_string0 (s);
|
||||||
return error (cell_symbol_wrong_number_of_args, cons (e, f));
|
return error (cell_symbol_wrong_number_of_args, cons (e, f));
|
||||||
}
|
}
|
||||||
return cell_unspecified;
|
return cell_unspecified;
|
||||||
|
@ -86,7 +86,7 @@ check_apply (SCM f, SCM e) /*:((internal)) */
|
||||||
eputs ("[");
|
eputs ("[");
|
||||||
write_error_ (e);
|
write_error_ (e);
|
||||||
eputs ("]\n");
|
eputs ("]\n");
|
||||||
SCM e = MAKE_STRING0 (s);
|
SCM e = make_string0 (s);
|
||||||
return error (cell_symbol_wrong_type_arg, cons (e, f));
|
return error (cell_symbol_wrong_type_arg, cons (e, f));
|
||||||
}
|
}
|
||||||
return cell_unspecified;
|
return cell_unspecified;
|
||||||
|
@ -425,7 +425,7 @@ eval_apply:
|
||||||
else if (R3 == cell_unspecified)
|
else if (R3 == cell_unspecified)
|
||||||
return R1;
|
return R1;
|
||||||
else
|
else
|
||||||
error (cell_symbol_system_error, MAKE_STRING0 ("eval/apply unknown continuation"));
|
error (cell_symbol_system_error, make_string0 ("eval/apply unknown continuation"));
|
||||||
|
|
||||||
evlis:
|
evlis:
|
||||||
if (R1 == cell_nil)
|
if (R1 == cell_nil)
|
||||||
|
@ -652,7 +652,7 @@ eval:
|
||||||
if (macro_p != 0)
|
if (macro_p != 0)
|
||||||
{
|
{
|
||||||
entry = macro_get_handle (name);
|
entry = macro_get_handle (name);
|
||||||
R1 = MAKE_MACRO (name, R1);
|
R1 = make_macro (name, R1);
|
||||||
set_cdr_x (entry, R1);
|
set_cdr_x (entry, R1);
|
||||||
}
|
}
|
||||||
else if (global_p != 0)
|
else if (global_p != 0)
|
||||||
|
@ -907,7 +907,7 @@ if_expr:
|
||||||
|
|
||||||
call_with_current_continuation:
|
call_with_current_continuation:
|
||||||
gc_push_frame ();
|
gc_push_frame ();
|
||||||
x = MAKE_CONTINUATION (g_continuations);
|
x = make_continuation (g_continuations);
|
||||||
g_continuations = g_continuations + 1;
|
g_continuations = g_continuations + 1;
|
||||||
v = make_vector__ (STACK_SIZE - g_stack);
|
v = make_vector__ (STACK_SIZE - g_stack);
|
||||||
for (t = g_stack; t < STACK_SIZE; t = t + 1)
|
for (t = g_stack; t < STACK_SIZE; t = t + 1)
|
||||||
|
|
53
src/gc.c
53
src/gc.c
|
@ -143,6 +143,59 @@ make_bytes (char const *s, size_t length)
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SCM
|
||||||
|
make_char (int n)
|
||||||
|
{
|
||||||
|
return make_cell (TCHAR, 0, n);
|
||||||
|
}
|
||||||
|
|
||||||
|
SCM
|
||||||
|
make_continuation (long n)
|
||||||
|
{
|
||||||
|
return make_cell (TCONTINUATION, n, g_stack);
|
||||||
|
}
|
||||||
|
|
||||||
|
SCM
|
||||||
|
make_macro (SCM name, SCM x) /*:((internal)) */
|
||||||
|
{
|
||||||
|
return make_cell (TMACRO, x, STRING (name));
|
||||||
|
}
|
||||||
|
|
||||||
|
SCM
|
||||||
|
make_number (long n)
|
||||||
|
{
|
||||||
|
return make_cell (TNUMBER, 0, n);
|
||||||
|
}
|
||||||
|
|
||||||
|
SCM
|
||||||
|
make_ref (SCM x) /*:((internal)) */
|
||||||
|
{
|
||||||
|
return make_cell (TREF, x, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
SCM
|
||||||
|
make_string (char const *s, size_t length)
|
||||||
|
{
|
||||||
|
if (length > MAX_STRING)
|
||||||
|
assert_max_string (length, "make_string", s);
|
||||||
|
SCM x = make_cell (TSTRING, length, 0);
|
||||||
|
SCM v = make_bytes (s, length);
|
||||||
|
CDR (x) = v;
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
|
||||||
|
SCM
|
||||||
|
make_string0 (char const *s)
|
||||||
|
{
|
||||||
|
return make_string (s, strlen (s));
|
||||||
|
}
|
||||||
|
|
||||||
|
SCM
|
||||||
|
make_string_port (SCM x) /*:((internal)) */
|
||||||
|
{
|
||||||
|
return make_cell (TPORT, -length__ (g_ports) - 2, x);
|
||||||
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
gc_up_arena () /*:((internal)) */
|
gc_up_arena () /*:((internal)) */
|
||||||
{
|
{
|
||||||
|
|
|
@ -39,7 +39,7 @@ hashq_ (SCM x, long size)
|
||||||
{
|
{
|
||||||
if (TYPE (x) == TSPECIAL || TYPE (x) == TSYMBOL)
|
if (TYPE (x) == TSPECIAL || TYPE (x) == TSYMBOL)
|
||||||
return hash_cstring (CSTRING (x), size); /* FIXME: hash x directly. */
|
return hash_cstring (CSTRING (x), size); /* FIXME: hash x directly. */
|
||||||
error (cell_symbol_system_error, cons (MAKE_STRING0 ("hashq_: not a symbol"), x));
|
error (cell_symbol_system_error, cons (make_string0 ("hashq_: not a symbol"), x));
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -55,14 +55,14 @@ SCM
|
||||||
hashq (SCM x, SCM size)
|
hashq (SCM x, SCM size)
|
||||||
{
|
{
|
||||||
assert_msg (0, "0");
|
assert_msg (0, "0");
|
||||||
return MAKE_NUMBER (hashq_ (x, VALUE (size)));
|
return make_number (hashq_ (x, VALUE (size)));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
hash (SCM x, SCM size)
|
hash (SCM x, SCM size)
|
||||||
{
|
{
|
||||||
assert_msg (0, "0");
|
assert_msg (0, "0");
|
||||||
return MAKE_NUMBER (hash_ (x, VALUE (size)));
|
return make_number (hash_ (x, VALUE (size)));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -223,7 +223,7 @@ make_hash_table_ (long size)
|
||||||
SCM buckets = make_vector__ (size);
|
SCM buckets = make_vector__ (size);
|
||||||
SCM values = cell_nil;
|
SCM values = cell_nil;
|
||||||
values = cons (buckets, values);
|
values = cons (buckets, values);
|
||||||
values = cons (MAKE_NUMBER (size), values);
|
values = cons (make_number (size), values);
|
||||||
values = cons (cell_symbol_hashq_table, values);
|
values = cons (cell_symbol_hashq_table, values);
|
||||||
/*FIXME: symbol/printer
|
/*FIXME: symbol/printer
|
||||||
return make_struct (hashq_type, values, cstring_to_symbol ("hash-table-printer");*/
|
return make_struct (hashq_type, values, cstring_to_symbol ("hash-table-printer");*/
|
||||||
|
|
|
@ -200,11 +200,11 @@ pair_p (SCM x)
|
||||||
SCM
|
SCM
|
||||||
char_to_integer (SCM x)
|
char_to_integer (SCM x)
|
||||||
{
|
{
|
||||||
return MAKE_NUMBER (VALUE (x));
|
return make_number (VALUE (x));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
integer_to_char (SCM x)
|
integer_to_char (SCM x)
|
||||||
{
|
{
|
||||||
return MAKE_CHAR (VALUE (x));
|
return make_char (VALUE (x));
|
||||||
}
|
}
|
||||||
|
|
20
src/math.c
20
src/math.c
|
@ -105,7 +105,7 @@ minus (SCM x) /*:((name . "-") (arity . n)) */
|
||||||
n = n - VALUE (car (x));
|
n = n - VALUE (car (x));
|
||||||
x = cdr (x);
|
x = cdr (x);
|
||||||
}
|
}
|
||||||
return MAKE_NUMBER (n);
|
return make_number (n);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -118,7 +118,7 @@ plus (SCM x) /*:((name . "+") (arity . n)) */
|
||||||
n = n + VALUE (car (x));
|
n = n + VALUE (car (x));
|
||||||
x = cdr (x);
|
x = cdr (x);
|
||||||
}
|
}
|
||||||
return MAKE_NUMBER (n);
|
return make_number (n);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -142,7 +142,7 @@ divide (SCM x) /*:((name . "/") (arity . n)) */
|
||||||
n = n / y;
|
n = n / y;
|
||||||
x = cdr (x);
|
x = cdr (x);
|
||||||
}
|
}
|
||||||
return MAKE_NUMBER (n);
|
return make_number (n);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -159,7 +159,7 @@ modulo (SCM a, SCM b)
|
||||||
if (x != 0)
|
if (x != 0)
|
||||||
x = x % y;
|
x = x % y;
|
||||||
|
|
||||||
return MAKE_NUMBER (x);
|
return make_number (x);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -172,7 +172,7 @@ multiply (SCM x) /*:((name . "*") (arity . n)) */
|
||||||
n = n * VALUE (car (x));
|
n = n * VALUE (car (x));
|
||||||
x = cdr (x);
|
x = cdr (x);
|
||||||
}
|
}
|
||||||
return MAKE_NUMBER (n);
|
return make_number (n);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -185,7 +185,7 @@ logand (SCM x) /*:((arity . n)) */
|
||||||
n = n & VALUE (car (x));
|
n = n & VALUE (car (x));
|
||||||
x = cdr (x);
|
x = cdr (x);
|
||||||
}
|
}
|
||||||
return MAKE_NUMBER (n);
|
return make_number (n);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -198,7 +198,7 @@ logior (SCM x) /*:((arity . n)) */
|
||||||
n = n | VALUE (car (x));
|
n = n | VALUE (car (x));
|
||||||
x = cdr (x);
|
x = cdr (x);
|
||||||
}
|
}
|
||||||
return MAKE_NUMBER (n);
|
return make_number (n);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -206,7 +206,7 @@ lognot (SCM x)
|
||||||
{
|
{
|
||||||
assert_number ("lognot", x);
|
assert_number ("lognot", x);
|
||||||
long n = ~VALUE (x);
|
long n = ~VALUE (x);
|
||||||
return MAKE_NUMBER (n);
|
return make_number (n);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -219,7 +219,7 @@ logxor (SCM x) /*:((arity . n)) */
|
||||||
n = n ^ VALUE (car (x));
|
n = n ^ VALUE (car (x));
|
||||||
x = cdr (x);
|
x = cdr (x);
|
||||||
}
|
}
|
||||||
return MAKE_NUMBER (n);
|
return make_number (n);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -234,5 +234,5 @@ ash (SCM n, SCM count)
|
||||||
result = cn >> -ccount;
|
result = cn >> -ccount;
|
||||||
else
|
else
|
||||||
result = cn << ccount;
|
result = cn << ccount;
|
||||||
return MAKE_NUMBER (result);
|
return make_number (result);
|
||||||
}
|
}
|
||||||
|
|
20
src/mes.c
20
src/mes.c
|
@ -42,7 +42,7 @@ assoc_string (SCM x, SCM a) /*:((internal)) */
|
||||||
SCM
|
SCM
|
||||||
type_ (SCM x)
|
type_ (SCM x)
|
||||||
{
|
{
|
||||||
return MAKE_NUMBER (TYPE (x));
|
return make_number (TYPE (x));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -53,7 +53,7 @@ car_ (SCM x)
|
||||||
|| TYPE (CAR (x)) == TSPECIAL
|
|| TYPE (CAR (x)) == TSPECIAL
|
||||||
|| TYPE (CAR (x)) == TSYMBOL || TYPE (CAR (x)) == TSTRING))
|
|| TYPE (CAR (x)) == TSYMBOL || TYPE (CAR (x)) == TSTRING))
|
||||||
return CAR (x);
|
return CAR (x);
|
||||||
return MAKE_NUMBER (CAR (x));
|
return make_number (CAR (x));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -66,7 +66,7 @@ cdr_ (SCM x)
|
||||||
|| TYPE (CDR (x)) == TREF
|
|| TYPE (CDR (x)) == TREF
|
||||||
|| TYPE (CDR (x)) == TSPECIAL || TYPE (CDR (x)) == TSYMBOL || TYPE (CDR (x)) == TSTRING))
|
|| TYPE (CDR (x)) == TSPECIAL || TYPE (CDR (x)) == TSYMBOL || TYPE (CDR (x)) == TSTRING))
|
||||||
return CDR (x);
|
return CDR (x);
|
||||||
return MAKE_NUMBER (CDR (x));
|
return make_number (CDR (x));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -147,7 +147,7 @@ length__ (SCM x) /*:((internal)) */
|
||||||
SCM
|
SCM
|
||||||
length (SCM x)
|
length (SCM x)
|
||||||
{
|
{
|
||||||
return MAKE_NUMBER (length__ (x));
|
return make_number (length__ (x));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -259,9 +259,9 @@ mes_g_stack (SCM a) /*:((internal)) */
|
||||||
{
|
{
|
||||||
g_stack = STACK_SIZE;
|
g_stack = STACK_SIZE;
|
||||||
R0 = a;
|
R0 = a;
|
||||||
R1 = MAKE_CHAR (0);
|
R1 = make_char (0);
|
||||||
R2 = MAKE_CHAR (0);
|
R2 = make_char (0);
|
||||||
R3 = MAKE_CHAR (0);
|
R3 = make_char (0);
|
||||||
return R0;
|
return R0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -276,7 +276,7 @@ mes_environment (int argc, char **argv)
|
||||||
#elif __TINYC__
|
#elif __TINYC__
|
||||||
compiler = "tcc";
|
compiler = "tcc";
|
||||||
#endif
|
#endif
|
||||||
a = acons (cell_symbol_compiler, MAKE_STRING0 (compiler), a);
|
a = acons (cell_symbol_compiler, make_string0 (compiler), a);
|
||||||
|
|
||||||
char *arch;
|
char *arch;
|
||||||
#if __i386__
|
#if __i386__
|
||||||
|
@ -288,13 +288,13 @@ mes_environment (int argc, char **argv)
|
||||||
#else
|
#else
|
||||||
#error arch not supported
|
#error arch not supported
|
||||||
#endif
|
#endif
|
||||||
a = acons (cell_symbol_arch, MAKE_STRING0 (arch), a);
|
a = acons (cell_symbol_arch, make_string0 (arch), a);
|
||||||
|
|
||||||
#if !MES_MINI
|
#if !MES_MINI
|
||||||
SCM lst = cell_nil;
|
SCM lst = cell_nil;
|
||||||
int i;
|
int i;
|
||||||
for (i = argc - 1; i >= 0; i = i - 1)
|
for (i = argc - 1; i >= 0; i = i - 1)
|
||||||
lst = cons (MAKE_STRING0 (argv[i]), lst);
|
lst = cons (make_string0 (argv[i]), lst);
|
||||||
a = acons (cell_symbol_argv, lst, a);
|
a = acons (cell_symbol_argv, lst, a);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
46
src/posix.c
46
src/posix.c
|
@ -86,13 +86,13 @@ unreadchar (int c)
|
||||||
SCM
|
SCM
|
||||||
peek_byte ()
|
peek_byte ()
|
||||||
{
|
{
|
||||||
return MAKE_NUMBER (peekchar ());
|
return make_number (peekchar ());
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
read_byte ()
|
read_byte ()
|
||||||
{
|
{
|
||||||
return MAKE_NUMBER (readchar ());
|
return make_number (readchar ());
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -105,7 +105,7 @@ unread_byte (SCM i)
|
||||||
SCM
|
SCM
|
||||||
peek_char ()
|
peek_char ()
|
||||||
{
|
{
|
||||||
return MAKE_CHAR (peekchar ());
|
return make_char (peekchar ());
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -114,7 +114,7 @@ read_char (SCM port) /*:((arity . n)) */
|
||||||
int fd = __stdin;
|
int fd = __stdin;
|
||||||
if (TYPE (port) == TPAIR && TYPE (car (port)) == TNUMBER)
|
if (TYPE (port) == TPAIR && TYPE (car (port)) == TNUMBER)
|
||||||
__stdin = VALUE (CAR (port));
|
__stdin = VALUE (CAR (port));
|
||||||
SCM c = MAKE_CHAR (readchar ());
|
SCM c = make_char (readchar ());
|
||||||
__stdin = fd;
|
__stdin = fd;
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
@ -157,7 +157,7 @@ getenv_ (SCM s) /*:((name . "getenv")) */
|
||||||
char *p;
|
char *p;
|
||||||
p = getenv (CSTRING (s));
|
p = getenv (CSTRING (s));
|
||||||
if (p != 0)
|
if (p != 0)
|
||||||
return MAKE_STRING0 (p);
|
return make_string0 (p);
|
||||||
return cell_f;
|
return cell_f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -182,7 +182,7 @@ SCM
|
||||||
current_input_port ()
|
current_input_port ()
|
||||||
{
|
{
|
||||||
if (__stdin >= 0)
|
if (__stdin >= 0)
|
||||||
return MAKE_NUMBER (__stdin);
|
return make_number (__stdin);
|
||||||
SCM x = g_ports;
|
SCM x = g_ports;
|
||||||
while (x && PORT (CAR (x)) != __stdin)
|
while (x && PORT (CAR (x)) != __stdin)
|
||||||
x = CDR (x);
|
x = CDR (x);
|
||||||
|
@ -192,13 +192,13 @@ current_input_port ()
|
||||||
SCM
|
SCM
|
||||||
open_input_file (SCM file_name)
|
open_input_file (SCM file_name)
|
||||||
{
|
{
|
||||||
return MAKE_NUMBER (mes_open (CSTRING (file_name), O_RDONLY, 0));
|
return make_number (mes_open (CSTRING (file_name), O_RDONLY, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
open_input_string (SCM string)
|
open_input_string (SCM string)
|
||||||
{
|
{
|
||||||
SCM port = MAKE_STRING_PORT (string);
|
SCM port = make_string_port (string);
|
||||||
g_ports = cons (port, g_ports);
|
g_ports = cons (port, g_ports);
|
||||||
return port;
|
return port;
|
||||||
}
|
}
|
||||||
|
@ -223,13 +223,13 @@ set_current_input_port (SCM port)
|
||||||
SCM
|
SCM
|
||||||
current_output_port ()
|
current_output_port ()
|
||||||
{
|
{
|
||||||
return MAKE_NUMBER (__stdout);
|
return make_number (__stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
current_error_port ()
|
current_error_port ()
|
||||||
{
|
{
|
||||||
return MAKE_NUMBER (__stderr);
|
return make_number (__stderr);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -240,7 +240,7 @@ open_output_file (SCM x) /*:((arity . n)) */
|
||||||
int mode = S_IRUSR | S_IWUSR;
|
int mode = S_IRUSR | S_IWUSR;
|
||||||
if (TYPE (x) == TPAIR && TYPE (car (x)) == TNUMBER)
|
if (TYPE (x) == TPAIR && TYPE (car (x)) == TNUMBER)
|
||||||
mode = VALUE (car (x));
|
mode = VALUE (car (x));
|
||||||
return MAKE_NUMBER (mes_open (CSTRING (file_name), O_WRONLY | O_CREAT | O_TRUNC, mode));
|
return make_number (mes_open (CSTRING (file_name), O_WRONLY | O_CREAT | O_TRUNC, mode));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -281,7 +281,7 @@ isatty_p (SCM port)
|
||||||
SCM
|
SCM
|
||||||
primitive_fork ()
|
primitive_fork ()
|
||||||
{
|
{
|
||||||
return MAKE_NUMBER (fork ());
|
return make_number (fork ());
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -292,7 +292,7 @@ execl_ (SCM file_name, SCM args) /*:((name . "execl")) */
|
||||||
|
|
||||||
if (length__ (args) > 1000)
|
if (length__ (args) > 1000)
|
||||||
error (cell_symbol_system_error,
|
error (cell_symbol_system_error,
|
||||||
cons (file_name, cons (MAKE_STRING0 ("too many arguments"), cons (file_name, args))));
|
cons (file_name, cons (make_string0 ("too many arguments"), cons (file_name, args))));
|
||||||
c_argv[i] = CSTRING (file_name);
|
c_argv[i] = CSTRING (file_name);
|
||||||
i = i + 1;
|
i = i + 1;
|
||||||
while (args != cell_nil)
|
while (args != cell_nil)
|
||||||
|
@ -311,7 +311,7 @@ execl_ (SCM file_name, SCM args) /*:((name . "execl")) */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
c_argv[i] = 0;
|
c_argv[i] = 0;
|
||||||
return MAKE_NUMBER (execv (c_argv[0], c_argv));
|
return make_number (execv (c_argv[0], c_argv));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -319,7 +319,7 @@ waitpid_ (SCM pid, SCM options)
|
||||||
{
|
{
|
||||||
int status;
|
int status;
|
||||||
int child = waitpid (VALUE (pid), &status, VALUE (options));
|
int child = waitpid (VALUE (pid), &status, VALUE (options));
|
||||||
return cons (MAKE_NUMBER (child), MAKE_NUMBER (status));
|
return cons (make_number (child), make_number (status));
|
||||||
}
|
}
|
||||||
|
|
||||||
#if __x86_64__
|
#if __x86_64__
|
||||||
|
@ -348,24 +348,24 @@ SCM
|
||||||
init_time (SCM a) /*:((internal)) */
|
init_time (SCM a) /*:((internal)) */
|
||||||
{
|
{
|
||||||
clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &g_start_time);
|
clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &g_start_time);
|
||||||
a = acons (cell_symbol_internal_time_units_per_second, MAKE_NUMBER (TIME_UNITS_PER_SECOND), a);
|
a = acons (cell_symbol_internal_time_units_per_second, make_number (TIME_UNITS_PER_SECOND), a);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
current_time ()
|
current_time ()
|
||||||
{
|
{
|
||||||
return MAKE_NUMBER (time (0));
|
return make_number (time (0));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
gettimeofday_ () /*:((name . "gettimeofday")) */
|
gettimeofday_ () /*:((name . "gettimeofday")) */
|
||||||
{
|
{
|
||||||
#if __M2_PLANET__
|
#if __M2_PLANET__
|
||||||
return MAKE_NUMBER (0);
|
return make_number (0);
|
||||||
#else
|
#else
|
||||||
struct timeval time;
|
struct timeval time;
|
||||||
gettimeofday (&time, 0);
|
gettimeofday (&time, 0);
|
||||||
return cons (MAKE_NUMBER (time.tv_sec), MAKE_NUMBER (time.tv_usec));
|
return cons (make_number (time.tv_sec), make_number (time.tv_usec));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -379,13 +379,13 @@ SCM
|
||||||
get_internal_run_time ()
|
get_internal_run_time ()
|
||||||
{
|
{
|
||||||
#if __M2_PLANET__
|
#if __M2_PLANET__
|
||||||
return MAKE_NUMBER (0);
|
return make_number (0);
|
||||||
#else
|
#else
|
||||||
struct timespec ts;
|
struct timespec ts;
|
||||||
clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &ts);
|
clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &ts);
|
||||||
long time = seconds_and_nanoseconds_to_long (ts.tv_sec - g_start_time.tv_sec,
|
long time = seconds_and_nanoseconds_to_long (ts.tv_sec - g_start_time.tv_sec,
|
||||||
ts.tv_nsec - g_start_time.tv_nsec);
|
ts.tv_nsec - g_start_time.tv_nsec);
|
||||||
return MAKE_NUMBER (time);
|
return make_number (time);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -393,13 +393,13 @@ SCM
|
||||||
getcwd_ () /*:((name . "getcwd")) */
|
getcwd_ () /*:((name . "getcwd")) */
|
||||||
{
|
{
|
||||||
char *buf = __getcwd_buf;
|
char *buf = __getcwd_buf;
|
||||||
return MAKE_STRING0 (getcwd (buf, PATH_MAX));
|
return make_string0 (getcwd (buf, PATH_MAX));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
dup_ (SCM port) /*:((name . "dup")) */
|
dup_ (SCM port) /*:((name . "dup")) */
|
||||||
{
|
{
|
||||||
return MAKE_NUMBER (dup (VALUE (port)));
|
return make_number (dup (VALUE (port)));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
|
18
src/reader.c
18
src/reader.c
|
@ -51,7 +51,7 @@ reader_read_line_comment (int c)
|
||||||
return c;
|
return c;
|
||||||
c = readchar ();
|
c = readchar ();
|
||||||
}
|
}
|
||||||
error (cell_symbol_system_error, MAKE_STRING0 ("reader_read_line_comment"));
|
error (cell_symbol_system_error, make_string0 ("reader_read_line_comment"));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM reader_read_block_comment (int s, int c);
|
SCM reader_read_block_comment (int s, int c);
|
||||||
|
@ -96,7 +96,7 @@ reader_read_identifier_or_number (int c)
|
||||||
unreadchar (c);
|
unreadchar (c);
|
||||||
if (negative_p != 0)
|
if (negative_p != 0)
|
||||||
n = 0 - n;
|
n = 0 - n;
|
||||||
return MAKE_NUMBER (n);
|
return make_number (n);
|
||||||
}
|
}
|
||||||
/* Fallthrough: Note that `4a', `+1b' are identifiers */
|
/* Fallthrough: Note that `4a', `+1b' are identifiers */
|
||||||
while (reader_end_of_word_p (c) == 0)
|
while (reader_end_of_word_p (c) == 0)
|
||||||
|
@ -175,7 +175,7 @@ reader_read_list (int c, SCM a)
|
||||||
if (c == ')')
|
if (c == ')')
|
||||||
return cell_nil;
|
return cell_nil;
|
||||||
if (c == EOF)
|
if (c == EOF)
|
||||||
error (cell_symbol_not_a_pair, MAKE_STRING0 ("EOF in list"));
|
error (cell_symbol_not_a_pair, make_string0 ("EOF in list"));
|
||||||
SCM s = reader_read_sexp_ (c, a);
|
SCM s = reader_read_sexp_ (c, a);
|
||||||
if (s == cell_dot)
|
if (s == cell_dot)
|
||||||
return CAR (reader_read_list (readchar (), a));
|
return CAR (reader_read_list (readchar (), a));
|
||||||
|
@ -230,7 +230,7 @@ reader_read_hash (int c, SCM a)
|
||||||
if (c == ':')
|
if (c == ':')
|
||||||
{
|
{
|
||||||
SCM x = reader_read_identifier_or_number (readchar ());
|
SCM x = reader_read_identifier_or_number (readchar ());
|
||||||
SCM msg = MAKE_STRING0 ("keyword perifx ':' not followed by a symbol: ");
|
SCM msg = make_string0 ("keyword perifx ':' not followed by a symbol: ");
|
||||||
if (TYPE (x) == TNUMBER)
|
if (TYPE (x) == TNUMBER)
|
||||||
error (cell_symbol_system_error, cons (msg, x));
|
error (cell_symbol_system_error, cons (msg, x));
|
||||||
return symbol_to_keyword (x);
|
return symbol_to_keyword (x);
|
||||||
|
@ -338,10 +338,10 @@ reader_read_character ()
|
||||||
eputs ("char not supported: ");
|
eputs ("char not supported: ");
|
||||||
eputs (buf);
|
eputs (buf);
|
||||||
eputs ("\n");
|
eputs ("\n");
|
||||||
error (cell_symbol_system_error, MAKE_STRING0 ("char not supported"));
|
error (cell_symbol_system_error, make_string0 ("char not supported"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return MAKE_CHAR (c);
|
return make_char (c);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -365,7 +365,7 @@ reader_read_binary ()
|
||||||
}
|
}
|
||||||
if (negative_p != 0)
|
if (negative_p != 0)
|
||||||
n = 0 - n;
|
n = 0 - n;
|
||||||
return MAKE_NUMBER (n);
|
return make_number (n);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -389,7 +389,7 @@ reader_read_octal ()
|
||||||
}
|
}
|
||||||
if (negative_p != 0)
|
if (negative_p != 0)
|
||||||
n = 0 - n;
|
n = 0 - n;
|
||||||
return MAKE_NUMBER (n);
|
return make_number (n);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -418,7 +418,7 @@ reader_read_hex ()
|
||||||
}
|
}
|
||||||
if (negative_p != 0)
|
if (negative_p != 0)
|
||||||
n = 0 - n;
|
n = 0 - n;
|
||||||
return MAKE_NUMBER (n);
|
return make_number (n);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
|
21
src/string.c
21
src/string.c
|
@ -58,17 +58,6 @@ list_to_cstring (SCM list, size_t *size)
|
||||||
return g_buf;
|
return g_buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
|
||||||
make_string (char const *s, size_t length)
|
|
||||||
{
|
|
||||||
if (length > MAX_STRING)
|
|
||||||
assert_max_string (length, "make_string", s);
|
|
||||||
SCM x = make_cell (TSTRING, length, 0);
|
|
||||||
SCM v = make_bytes (s, length);
|
|
||||||
CDR (x) = v;
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
string_equal_p (SCM a, SCM b) /*:((name . "string=?")) */
|
string_equal_p (SCM a, SCM b) /*:((name . "string=?")) */
|
||||||
{
|
{
|
||||||
|
@ -140,7 +129,7 @@ bytes_to_list (char const *s, size_t i)
|
||||||
{
|
{
|
||||||
i = i - 1;
|
i = i - 1;
|
||||||
int c = (0x100 + s[i]) % 0x100;
|
int c = (0x100 + s[i]) % 0x100;
|
||||||
p = cons (MAKE_CHAR (c), p);
|
p = cons (make_char (c), p);
|
||||||
}
|
}
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
@ -154,7 +143,7 @@ cstring_to_list (char const *s)
|
||||||
SCM
|
SCM
|
||||||
cstring_to_symbol (char const *s)
|
cstring_to_symbol (char const *s)
|
||||||
{
|
{
|
||||||
SCM string = MAKE_STRING0 (s);
|
SCM string = make_string0 (s);
|
||||||
return string_to_symbol (string);
|
return string_to_symbol (string);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -217,7 +206,7 @@ SCM
|
||||||
string_length (SCM string)
|
string_length (SCM string)
|
||||||
{
|
{
|
||||||
assert_msg (TYPE (string) == TSTRING, "TYPE (string) == TSTRING");
|
assert_msg (TYPE (string) == TSTRING, "TYPE (string) == TSTRING");
|
||||||
return MAKE_NUMBER (LENGTH (string));
|
return make_number (LENGTH (string));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -228,7 +217,7 @@ string_ref (SCM str, SCM k)
|
||||||
size_t size = LENGTH (str);
|
size_t size = LENGTH (str);
|
||||||
size_t i = VALUE (k);
|
size_t i = VALUE (k);
|
||||||
if (i > size)
|
if (i > size)
|
||||||
error (cell_symbol_system_error, cons (MAKE_STRING0 ("value out of range"), k));
|
error (cell_symbol_system_error, cons (make_string0 ("value out of range"), k));
|
||||||
char const *p = CSTRING (str);
|
char const *p = CSTRING (str);
|
||||||
return MAKE_CHAR (p[i]);
|
return make_char (p[i]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,7 +56,7 @@ SCM
|
||||||
struct_length (SCM x)
|
struct_length (SCM x)
|
||||||
{
|
{
|
||||||
assert_msg (TYPE (x) == TSTRUCT, "TYPE (x) == TSTRUCT");
|
assert_msg (TYPE (x) == TSTRUCT, "TYPE (x) == TSTRUCT");
|
||||||
return MAKE_NUMBER (LENGTH (x));
|
return make_number (LENGTH (x));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -68,9 +68,9 @@ struct_ref_ (SCM x, long i)
|
||||||
if (TYPE (e) == TREF)
|
if (TYPE (e) == TREF)
|
||||||
e = REF (e);
|
e = REF (e);
|
||||||
if (TYPE (e) == TCHAR)
|
if (TYPE (e) == TCHAR)
|
||||||
e = MAKE_CHAR (VALUE (e));
|
e = make_char (VALUE (e));
|
||||||
if (TYPE (e) == TNUMBER)
|
if (TYPE (e) == TNUMBER)
|
||||||
e = MAKE_NUMBER (VALUE (e));
|
e = make_number (VALUE (e));
|
||||||
return e;
|
return e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
40
src/symbol.c
40
src/symbol.c
|
@ -184,27 +184,27 @@ init_symbols () /*:((internal)) */
|
||||||
a = acons (cell_symbol_current_module, cell_symbol_current_module, a);
|
a = acons (cell_symbol_current_module, cell_symbol_current_module, a);
|
||||||
a = acons (cell_symbol_call_with_current_continuation, cell_call_with_current_continuation, a);
|
a = acons (cell_symbol_call_with_current_continuation, cell_call_with_current_continuation, a);
|
||||||
|
|
||||||
a = acons (cell_symbol_mes_version, MAKE_STRING0 (MES_VERSION), a);
|
a = acons (cell_symbol_mes_version, make_string0 (MES_VERSION), a);
|
||||||
a = acons (cell_symbol_mes_datadir, MAKE_STRING0 (g_datadir), a);
|
a = acons (cell_symbol_mes_datadir, make_string0 (g_datadir), a);
|
||||||
|
|
||||||
a = acons (cell_type_bytes, MAKE_NUMBER (TBYTES), a);
|
a = acons (cell_type_bytes, make_number (TBYTES), a);
|
||||||
a = acons (cell_type_char, MAKE_NUMBER (TCHAR), a);
|
a = acons (cell_type_char, make_number (TCHAR), a);
|
||||||
a = acons (cell_type_closure, MAKE_NUMBER (TCLOSURE), a);
|
a = acons (cell_type_closure, make_number (TCLOSURE), a);
|
||||||
a = acons (cell_type_continuation, MAKE_NUMBER (TCONTINUATION), a);
|
a = acons (cell_type_continuation, make_number (TCONTINUATION), a);
|
||||||
a = acons (cell_type_keyword, MAKE_NUMBER (TKEYWORD), a);
|
a = acons (cell_type_keyword, make_number (TKEYWORD), a);
|
||||||
a = acons (cell_type_macro, MAKE_NUMBER (TMACRO), a);
|
a = acons (cell_type_macro, make_number (TMACRO), a);
|
||||||
a = acons (cell_type_number, MAKE_NUMBER (TNUMBER), a);
|
a = acons (cell_type_number, make_number (TNUMBER), a);
|
||||||
a = acons (cell_type_pair, MAKE_NUMBER (TPAIR), a);
|
a = acons (cell_type_pair, make_number (TPAIR), a);
|
||||||
a = acons (cell_type_port, MAKE_NUMBER (TPORT), a);
|
a = acons (cell_type_port, make_number (TPORT), a);
|
||||||
a = acons (cell_type_ref, MAKE_NUMBER (TREF), a);
|
a = acons (cell_type_ref, make_number (TREF), a);
|
||||||
a = acons (cell_type_special, MAKE_NUMBER (TSPECIAL), a);
|
a = acons (cell_type_special, make_number (TSPECIAL), a);
|
||||||
a = acons (cell_type_string, MAKE_NUMBER (TSTRING), a);
|
a = acons (cell_type_string, make_number (TSTRING), a);
|
||||||
a = acons (cell_type_struct, MAKE_NUMBER (TSTRUCT), a);
|
a = acons (cell_type_struct, make_number (TSTRUCT), a);
|
||||||
a = acons (cell_type_symbol, MAKE_NUMBER (TSYMBOL), a);
|
a = acons (cell_type_symbol, make_number (TSYMBOL), a);
|
||||||
a = acons (cell_type_values, MAKE_NUMBER (TVALUES), a);
|
a = acons (cell_type_values, make_number (TVALUES), a);
|
||||||
a = acons (cell_type_variable, MAKE_NUMBER (TVARIABLE), a);
|
a = acons (cell_type_variable, make_number (TVARIABLE), a);
|
||||||
a = acons (cell_type_vector, MAKE_NUMBER (TVECTOR), a);
|
a = acons (cell_type_vector, make_number (TVECTOR), a);
|
||||||
a = acons (cell_type_broken_heart, MAKE_NUMBER (TBROKEN_HEART), a);
|
a = acons (cell_type_broken_heart, make_number (TBROKEN_HEART), a);
|
||||||
|
|
||||||
a = acons (cell_closure, a, a);
|
a = acons (cell_closure, a, a);
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ SCM
|
||||||
vector_length (SCM x)
|
vector_length (SCM x)
|
||||||
{
|
{
|
||||||
assert_msg (TYPE (x) == TVECTOR, "TYPE (x) == TVECTOR");
|
assert_msg (TYPE (x) == TVECTOR, "TYPE (x) == TVECTOR");
|
||||||
return MAKE_NUMBER (LENGTH (x));
|
return make_number (LENGTH (x));
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
|
@ -54,9 +54,9 @@ vector_ref_ (SCM x, long i)
|
||||||
if (TYPE (e) == TREF)
|
if (TYPE (e) == TREF)
|
||||||
e = REF (e);
|
e = REF (e);
|
||||||
if (TYPE (e) == TCHAR)
|
if (TYPE (e) == TCHAR)
|
||||||
e = MAKE_CHAR (VALUE (e));
|
e = make_char (VALUE (e));
|
||||||
if (TYPE (e) == TNUMBER)
|
if (TYPE (e) == TNUMBER)
|
||||||
e = MAKE_NUMBER (VALUE (e));
|
e = make_number (VALUE (e));
|
||||||
return e;
|
return e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ SCM
|
||||||
vector_entry (SCM x)
|
vector_entry (SCM x)
|
||||||
{
|
{
|
||||||
if (TYPE (x) != TCHAR && TYPE (x) != TNUMBER)
|
if (TYPE (x) != TCHAR && TYPE (x) != TNUMBER)
|
||||||
x = MAKE_REF (x);
|
x = make_ref (x);
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue