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
0f951cac5d
commit
781f4f0e6c
|
@ -90,14 +90,6 @@ struct timeval
|
|||
|
||||
#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 CADR(x) CAR (CDR (x))
|
||||
#define CDAR(x) CDR (CAR (x))
|
||||
|
|
|
@ -58,14 +58,6 @@
|
|||
|
||||
#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 CADR(x) CAR (CDR (x))
|
||||
#define CDAR(x) CDR (CAR (x))
|
||||
|
|
|
@ -91,10 +91,17 @@ SCM init_time (SCM a);
|
|||
SCM make_builtin_type ();
|
||||
SCM make_bytes (char const *s, size_t length);
|
||||
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_hashq_type ();
|
||||
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_string0 (char const *s);
|
||||
SCM make_string_port (SCM x);
|
||||
SCM make_vector__ (long k);
|
||||
SCM mes_builtins (SCM a);
|
||||
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);
|
||||
return acons (s,
|
||||
make_builtin (builtin_type, symbol_to_string (s), MAKE_NUMBER (arity),
|
||||
MAKE_NUMBER (function)), a);
|
||||
make_builtin (builtin_type, symbol_to_string (s), make_number (arity),
|
||||
make_number (function)), a);
|
||||
}
|
||||
|
||||
SCM
|
||||
|
|
|
@ -49,7 +49,7 @@ check_formals (SCM f, SCM formals, SCM args) /*:((internal)) */
|
|||
eputs (itoa (alen));
|
||||
eputs ("\n");
|
||||
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 cell_unspecified;
|
||||
|
@ -86,7 +86,7 @@ check_apply (SCM f, SCM e) /*:((internal)) */
|
|||
eputs ("[");
|
||||
write_error_ (e);
|
||||
eputs ("]\n");
|
||||
SCM e = MAKE_STRING0 (s);
|
||||
SCM e = make_string0 (s);
|
||||
return error (cell_symbol_wrong_type_arg, cons (e, f));
|
||||
}
|
||||
return cell_unspecified;
|
||||
|
@ -425,7 +425,7 @@ eval_apply:
|
|||
else if (R3 == cell_unspecified)
|
||||
return R1;
|
||||
else
|
||||
error (cell_symbol_system_error, MAKE_STRING0 ("eval/apply unknown continuation"));
|
||||
error (cell_symbol_system_error, make_string0 ("eval/apply unknown continuation"));
|
||||
|
||||
evlis:
|
||||
if (R1 == cell_nil)
|
||||
|
@ -652,7 +652,7 @@ eval:
|
|||
if (macro_p != 0)
|
||||
{
|
||||
entry = macro_get_handle (name);
|
||||
R1 = MAKE_MACRO (name, R1);
|
||||
R1 = make_macro (name, R1);
|
||||
set_cdr_x (entry, R1);
|
||||
}
|
||||
else if (global_p != 0)
|
||||
|
@ -907,7 +907,7 @@ if_expr:
|
|||
|
||||
call_with_current_continuation:
|
||||
gc_push_frame ();
|
||||
x = MAKE_CONTINUATION (g_continuations);
|
||||
x = make_continuation (g_continuations);
|
||||
g_continuations = g_continuations + 1;
|
||||
v = make_vector__ (STACK_SIZE - g_stack);
|
||||
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;
|
||||
}
|
||||
|
||||
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
|
||||
gc_up_arena () /*:((internal)) */
|
||||
{
|
||||
|
|
|
@ -39,7 +39,7 @@ hashq_ (SCM x, long size)
|
|||
{
|
||||
if (TYPE (x) == TSPECIAL || TYPE (x) == TSYMBOL)
|
||||
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
|
||||
|
@ -55,14 +55,14 @@ SCM
|
|||
hashq (SCM x, SCM size)
|
||||
{
|
||||
assert_msg (0, "0");
|
||||
return MAKE_NUMBER (hashq_ (x, VALUE (size)));
|
||||
return make_number (hashq_ (x, VALUE (size)));
|
||||
}
|
||||
|
||||
SCM
|
||||
hash (SCM x, SCM size)
|
||||
{
|
||||
assert_msg (0, "0");
|
||||
return MAKE_NUMBER (hash_ (x, VALUE (size)));
|
||||
return make_number (hash_ (x, VALUE (size)));
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -223,7 +223,7 @@ make_hash_table_ (long size)
|
|||
SCM buckets = make_vector__ (size);
|
||||
SCM values = cell_nil;
|
||||
values = cons (buckets, values);
|
||||
values = cons (MAKE_NUMBER (size), values);
|
||||
values = cons (make_number (size), values);
|
||||
values = cons (cell_symbol_hashq_table, values);
|
||||
/*FIXME: symbol/printer
|
||||
return make_struct (hashq_type, values, cstring_to_symbol ("hash-table-printer");*/
|
||||
|
|
|
@ -206,11 +206,11 @@ pair_p (SCM x)
|
|||
SCM
|
||||
char_to_integer (SCM x)
|
||||
{
|
||||
return MAKE_NUMBER (VALUE (x));
|
||||
return make_number (VALUE (x));
|
||||
}
|
||||
|
||||
SCM
|
||||
integer_to_char (SCM x)
|
||||
{
|
||||
return MAKE_CHAR (VALUE (x));
|
||||
return make_char (VALUE (x));
|
||||
}
|
||||
|
|
20
src/math.c
20
src/math.c
|
@ -106,7 +106,7 @@ minus (SCM x) /*:((name . "-") (arity . n)) */
|
|||
n = n - VALUE (car (x));
|
||||
x = cdr (x);
|
||||
}
|
||||
return MAKE_NUMBER (n);
|
||||
return make_number (n);
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -119,7 +119,7 @@ plus (SCM x) /*:((name . "+") (arity . n)) */
|
|||
n = n + VALUE (car (x));
|
||||
x = cdr (x);
|
||||
}
|
||||
return MAKE_NUMBER (n);
|
||||
return make_number (n);
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -143,7 +143,7 @@ divide (SCM x) /*:((name . "/") (arity . n)) */
|
|||
n = n / y;
|
||||
x = cdr (x);
|
||||
}
|
||||
return MAKE_NUMBER (n);
|
||||
return make_number (n);
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -160,7 +160,7 @@ modulo (SCM a, SCM b)
|
|||
if (x != 0)
|
||||
x = x % y;
|
||||
|
||||
return MAKE_NUMBER (x);
|
||||
return make_number (x);
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -173,7 +173,7 @@ multiply (SCM x) /*:((name . "*") (arity . n)) */
|
|||
n = n * VALUE (car (x));
|
||||
x = cdr (x);
|
||||
}
|
||||
return MAKE_NUMBER (n);
|
||||
return make_number (n);
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -186,7 +186,7 @@ logand (SCM x) /*:((arity . n)) */
|
|||
n = n & VALUE (car (x));
|
||||
x = cdr (x);
|
||||
}
|
||||
return MAKE_NUMBER (n);
|
||||
return make_number (n);
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -199,7 +199,7 @@ logior (SCM x) /*:((arity . n)) */
|
|||
n = n | VALUE (car (x));
|
||||
x = cdr (x);
|
||||
}
|
||||
return MAKE_NUMBER (n);
|
||||
return make_number (n);
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -207,7 +207,7 @@ lognot (SCM x)
|
|||
{
|
||||
assert_number ("lognot", x);
|
||||
long n = ~VALUE (x);
|
||||
return MAKE_NUMBER (n);
|
||||
return make_number (n);
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -220,7 +220,7 @@ logxor (SCM x) /*:((arity . n)) */
|
|||
n = n ^ VALUE (car (x));
|
||||
x = cdr (x);
|
||||
}
|
||||
return MAKE_NUMBER (n);
|
||||
return make_number (n);
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -235,5 +235,5 @@ ash (SCM n, SCM count)
|
|||
result = cn >> -ccount;
|
||||
else
|
||||
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
|
||||
type_ (SCM x)
|
||||
{
|
||||
return MAKE_NUMBER (TYPE (x));
|
||||
return make_number (TYPE (x));
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -53,7 +53,7 @@ car_ (SCM x)
|
|||
|| TYPE (CAR (x)) == TSPECIAL
|
||||
|| TYPE (CAR (x)) == TSYMBOL || TYPE (CAR (x)) == TSTRING))
|
||||
return CAR (x);
|
||||
return MAKE_NUMBER (CAR (x));
|
||||
return make_number (CAR (x));
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -66,7 +66,7 @@ cdr_ (SCM x)
|
|||
|| TYPE (CDR (x)) == TREF
|
||||
|| TYPE (CDR (x)) == TSPECIAL || TYPE (CDR (x)) == TSYMBOL || TYPE (CDR (x)) == TSTRING))
|
||||
return CDR (x);
|
||||
return MAKE_NUMBER (CDR (x));
|
||||
return make_number (CDR (x));
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -147,7 +147,7 @@ length__ (SCM x) /*:((internal)) */
|
|||
SCM
|
||||
length (SCM x)
|
||||
{
|
||||
return MAKE_NUMBER (length__ (x));
|
||||
return make_number (length__ (x));
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -259,9 +259,9 @@ mes_g_stack (SCM a) /*:((internal)) */
|
|||
{
|
||||
g_stack = STACK_SIZE;
|
||||
R0 = a;
|
||||
R1 = MAKE_CHAR (0);
|
||||
R2 = MAKE_CHAR (0);
|
||||
R3 = MAKE_CHAR (0);
|
||||
R1 = make_char (0);
|
||||
R2 = make_char (0);
|
||||
R3 = make_char (0);
|
||||
return R0;
|
||||
}
|
||||
|
||||
|
@ -276,7 +276,7 @@ mes_environment (int argc, char **argv)
|
|||
#elif __TINYC__
|
||||
compiler = "tcc";
|
||||
#endif
|
||||
a = acons (cell_symbol_compiler, MAKE_STRING0 (compiler), a);
|
||||
a = acons (cell_symbol_compiler, make_string0 (compiler), a);
|
||||
|
||||
char *arch;
|
||||
#if __i386__
|
||||
|
@ -288,13 +288,13 @@ mes_environment (int argc, char **argv)
|
|||
#else
|
||||
#error arch not supported
|
||||
#endif
|
||||
a = acons (cell_symbol_arch, MAKE_STRING0 (arch), a);
|
||||
a = acons (cell_symbol_arch, make_string0 (arch), a);
|
||||
|
||||
#if !MES_MINI
|
||||
SCM lst = cell_nil;
|
||||
int i;
|
||||
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);
|
||||
#endif
|
||||
|
||||
|
|
48
src/posix.c
48
src/posix.c
|
@ -90,13 +90,13 @@ unreadchar (int c)
|
|||
SCM
|
||||
peek_byte ()
|
||||
{
|
||||
return MAKE_NUMBER (peekchar ());
|
||||
return make_number (peekchar ());
|
||||
}
|
||||
|
||||
SCM
|
||||
read_byte ()
|
||||
{
|
||||
return MAKE_NUMBER (readchar ());
|
||||
return make_number (readchar ());
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -109,7 +109,7 @@ unread_byte (SCM i)
|
|||
SCM
|
||||
peek_char ()
|
||||
{
|
||||
return MAKE_CHAR (peekchar ());
|
||||
return make_char (peekchar ());
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -118,7 +118,7 @@ read_char (SCM port) /*:((arity . n)) */
|
|||
int fd = __stdin;
|
||||
if (TYPE (port) == TPAIR && TYPE (car (port)) == TNUMBER)
|
||||
__stdin = VALUE (CAR (port));
|
||||
SCM c = MAKE_CHAR (readchar ());
|
||||
SCM c = make_char (readchar ());
|
||||
__stdin = fd;
|
||||
return c;
|
||||
}
|
||||
|
@ -161,7 +161,7 @@ getenv_ (SCM s) /*:((name . "getenv")) */
|
|||
char *p;
|
||||
p = getenv (CSTRING (s));
|
||||
if (p != 0)
|
||||
return MAKE_STRING0 (p);
|
||||
return make_string0 (p);
|
||||
return cell_f;
|
||||
}
|
||||
|
||||
|
@ -186,7 +186,7 @@ SCM
|
|||
current_input_port ()
|
||||
{
|
||||
if (__stdin >= 0)
|
||||
return MAKE_NUMBER (__stdin);
|
||||
return make_number (__stdin);
|
||||
SCM x = g_ports;
|
||||
while (x && PORT (CAR (x)) != __stdin)
|
||||
x = CDR (x);
|
||||
|
@ -198,14 +198,14 @@ open_input_file (SCM file_name)
|
|||
{
|
||||
int filedes = mes_open (CSTRING (file_name), O_RDONLY, 0);
|
||||
if (filedes == -1)
|
||||
error (cell_symbol_system_error, cons (MAKE_STRING0 ("No such file or directory"), file_name));
|
||||
return MAKE_NUMBER (filedes);
|
||||
error (cell_symbol_system_error, cons (make_string0 ("No such file or directory"), file_name));
|
||||
return make_number (filedes);
|
||||
}
|
||||
|
||||
SCM
|
||||
open_input_string (SCM string)
|
||||
{
|
||||
SCM port = MAKE_STRING_PORT (string);
|
||||
SCM port = make_string_port (string);
|
||||
g_ports = cons (port, g_ports);
|
||||
return port;
|
||||
}
|
||||
|
@ -230,13 +230,13 @@ set_current_input_port (SCM port)
|
|||
SCM
|
||||
current_output_port ()
|
||||
{
|
||||
return MAKE_NUMBER (__stdout);
|
||||
return make_number (__stdout);
|
||||
}
|
||||
|
||||
SCM
|
||||
current_error_port ()
|
||||
{
|
||||
return MAKE_NUMBER (__stderr);
|
||||
return make_number (__stderr);
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -247,7 +247,7 @@ open_output_file (SCM x) /*:((arity . n)) */
|
|||
int mode = S_IRUSR | S_IWUSR;
|
||||
if (TYPE (x) == TPAIR && TYPE (car (x)) == TNUMBER)
|
||||
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
|
||||
|
@ -288,7 +288,7 @@ isatty_p (SCM port)
|
|||
SCM
|
||||
primitive_fork ()
|
||||
{
|
||||
return MAKE_NUMBER (fork ());
|
||||
return make_number (fork ());
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -299,7 +299,7 @@ execl_ (SCM file_name, SCM args) /*:((name . "execl")) */
|
|||
|
||||
if (length__ (args) > 1000)
|
||||
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);
|
||||
i = i + 1;
|
||||
while (args != cell_nil)
|
||||
|
@ -318,7 +318,7 @@ execl_ (SCM file_name, SCM args) /*:((name . "execl")) */
|
|||
}
|
||||
}
|
||||
c_argv[i] = 0;
|
||||
return MAKE_NUMBER (execv (c_argv[0], c_argv));
|
||||
return make_number (execv (c_argv[0], c_argv));
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -326,7 +326,7 @@ waitpid_ (SCM pid, SCM options)
|
|||
{
|
||||
int status;
|
||||
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__
|
||||
|
@ -355,24 +355,24 @@ SCM
|
|||
init_time (SCM a) /*:((internal)) */
|
||||
{
|
||||
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
|
||||
current_time ()
|
||||
{
|
||||
return MAKE_NUMBER (time (0));
|
||||
return make_number (time (0));
|
||||
}
|
||||
|
||||
SCM
|
||||
gettimeofday_ () /*:((name . "gettimeofday")) */
|
||||
{
|
||||
#if __M2_PLANET__
|
||||
return MAKE_NUMBER (0);
|
||||
return make_number (0);
|
||||
#else
|
||||
struct timeval time;
|
||||
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
|
||||
}
|
||||
|
||||
|
@ -386,13 +386,13 @@ SCM
|
|||
get_internal_run_time ()
|
||||
{
|
||||
#if __M2_PLANET__
|
||||
return MAKE_NUMBER (0);
|
||||
return make_number (0);
|
||||
#else
|
||||
struct timespec ts;
|
||||
clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &ts);
|
||||
long time = seconds_and_nanoseconds_to_long (ts.tv_sec - g_start_time.tv_sec,
|
||||
ts.tv_nsec - g_start_time.tv_nsec);
|
||||
return MAKE_NUMBER (time);
|
||||
return make_number (time);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -400,13 +400,13 @@ SCM
|
|||
getcwd_ () /*:((name . "getcwd")) */
|
||||
{
|
||||
char *buf = __getcwd_buf;
|
||||
return MAKE_STRING0 (getcwd (buf, PATH_MAX));
|
||||
return make_string0 (getcwd (buf, PATH_MAX));
|
||||
}
|
||||
|
||||
SCM
|
||||
dup_ (SCM port) /*:((name . "dup")) */
|
||||
{
|
||||
return MAKE_NUMBER (dup (VALUE (port)));
|
||||
return make_number (dup (VALUE (port)));
|
||||
}
|
||||
|
||||
SCM
|
||||
|
|
18
src/reader.c
18
src/reader.c
|
@ -51,7 +51,7 @@ reader_read_line_comment (int c)
|
|||
return c;
|
||||
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);
|
||||
|
@ -96,7 +96,7 @@ reader_read_identifier_or_number (int c)
|
|||
unreadchar (c);
|
||||
if (negative_p != 0)
|
||||
n = 0 - n;
|
||||
return MAKE_NUMBER (n);
|
||||
return make_number (n);
|
||||
}
|
||||
/* Fallthrough: Note that `4a', `+1b' are identifiers */
|
||||
while (reader_end_of_word_p (c) == 0)
|
||||
|
@ -175,7 +175,7 @@ reader_read_list (int c, SCM a)
|
|||
if (c == ')')
|
||||
return cell_nil;
|
||||
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);
|
||||
if (s == cell_dot)
|
||||
return CAR (reader_read_list (readchar (), a));
|
||||
|
@ -230,7 +230,7 @@ reader_read_hash (int c, SCM a)
|
|||
if (c == ':')
|
||||
{
|
||||
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)
|
||||
error (cell_symbol_system_error, cons (msg, x));
|
||||
return symbol_to_keyword (x);
|
||||
|
@ -338,10 +338,10 @@ reader_read_character ()
|
|||
eputs ("char not supported: ");
|
||||
eputs (buf);
|
||||
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
|
||||
|
@ -365,7 +365,7 @@ reader_read_binary ()
|
|||
}
|
||||
if (negative_p != 0)
|
||||
n = 0 - n;
|
||||
return MAKE_NUMBER (n);
|
||||
return make_number (n);
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -389,7 +389,7 @@ reader_read_octal ()
|
|||
}
|
||||
if (negative_p != 0)
|
||||
n = 0 - n;
|
||||
return MAKE_NUMBER (n);
|
||||
return make_number (n);
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -418,7 +418,7 @@ reader_read_hex ()
|
|||
}
|
||||
if (negative_p != 0)
|
||||
n = 0 - n;
|
||||
return MAKE_NUMBER (n);
|
||||
return make_number (n);
|
||||
}
|
||||
|
||||
SCM
|
||||
|
|
21
src/string.c
21
src/string.c
|
@ -58,17 +58,6 @@ list_to_cstring (SCM list, size_t *size)
|
|||
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
|
||||
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;
|
||||
int c = (0x100 + s[i]) % 0x100;
|
||||
p = cons (MAKE_CHAR (c), p);
|
||||
p = cons (make_char (c), p);
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
@ -154,7 +143,7 @@ cstring_to_list (char const *s)
|
|||
SCM
|
||||
cstring_to_symbol (char const *s)
|
||||
{
|
||||
SCM string = MAKE_STRING0 (s);
|
||||
SCM string = make_string0 (s);
|
||||
return string_to_symbol (string);
|
||||
}
|
||||
|
||||
|
@ -217,7 +206,7 @@ SCM
|
|||
string_length (SCM string)
|
||||
{
|
||||
assert_msg (TYPE (string) == TSTRING, "TYPE (string) == TSTRING");
|
||||
return MAKE_NUMBER (LENGTH (string));
|
||||
return make_number (LENGTH (string));
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -228,7 +217,7 @@ string_ref (SCM str, SCM k)
|
|||
size_t size = LENGTH (str);
|
||||
size_t i = VALUE (k);
|
||||
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);
|
||||
return MAKE_CHAR (p[i]);
|
||||
return make_char (p[i]);
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ SCM
|
|||
struct_length (SCM x)
|
||||
{
|
||||
assert_msg (TYPE (x) == TSTRUCT, "TYPE (x) == TSTRUCT");
|
||||
return MAKE_NUMBER (LENGTH (x));
|
||||
return make_number (LENGTH (x));
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -68,9 +68,9 @@ struct_ref_ (SCM x, long i)
|
|||
if (TYPE (e) == TREF)
|
||||
e = REF (e);
|
||||
if (TYPE (e) == TCHAR)
|
||||
e = MAKE_CHAR (VALUE (e));
|
||||
e = make_char (VALUE (e));
|
||||
if (TYPE (e) == TNUMBER)
|
||||
e = MAKE_NUMBER (VALUE (e));
|
||||
e = make_number (VALUE (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_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_datadir, MAKE_STRING0 (g_datadir), 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_type_bytes, MAKE_NUMBER (TBYTES), a);
|
||||
a = acons (cell_type_char, MAKE_NUMBER (TCHAR), a);
|
||||
a = acons (cell_type_closure, MAKE_NUMBER (TCLOSURE), a);
|
||||
a = acons (cell_type_continuation, MAKE_NUMBER (TCONTINUATION), a);
|
||||
a = acons (cell_type_keyword, MAKE_NUMBER (TKEYWORD), a);
|
||||
a = acons (cell_type_macro, MAKE_NUMBER (TMACRO), a);
|
||||
a = acons (cell_type_number, MAKE_NUMBER (TNUMBER), a);
|
||||
a = acons (cell_type_pair, MAKE_NUMBER (TPAIR), a);
|
||||
a = acons (cell_type_port, MAKE_NUMBER (TPORT), a);
|
||||
a = acons (cell_type_ref, MAKE_NUMBER (TREF), a);
|
||||
a = acons (cell_type_special, MAKE_NUMBER (TSPECIAL), a);
|
||||
a = acons (cell_type_string, MAKE_NUMBER (TSTRING), a);
|
||||
a = acons (cell_type_struct, MAKE_NUMBER (TSTRUCT), a);
|
||||
a = acons (cell_type_symbol, MAKE_NUMBER (TSYMBOL), a);
|
||||
a = acons (cell_type_values, MAKE_NUMBER (TVALUES), a);
|
||||
a = acons (cell_type_variable, MAKE_NUMBER (TVARIABLE), 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_bytes, make_number (TBYTES), a);
|
||||
a = acons (cell_type_char, make_number (TCHAR), a);
|
||||
a = acons (cell_type_closure, make_number (TCLOSURE), a);
|
||||
a = acons (cell_type_continuation, make_number (TCONTINUATION), a);
|
||||
a = acons (cell_type_keyword, make_number (TKEYWORD), a);
|
||||
a = acons (cell_type_macro, make_number (TMACRO), a);
|
||||
a = acons (cell_type_number, make_number (TNUMBER), a);
|
||||
a = acons (cell_type_pair, make_number (TPAIR), a);
|
||||
a = acons (cell_type_port, make_number (TPORT), a);
|
||||
a = acons (cell_type_ref, make_number (TREF), a);
|
||||
a = acons (cell_type_special, make_number (TSPECIAL), a);
|
||||
a = acons (cell_type_string, make_number (TSTRING), a);
|
||||
a = acons (cell_type_struct, make_number (TSTRUCT), a);
|
||||
a = acons (cell_type_symbol, make_number (TSYMBOL), a);
|
||||
a = acons (cell_type_values, make_number (TVALUES), a);
|
||||
a = acons (cell_type_variable, make_number (TVARIABLE), a);
|
||||
a = acons (cell_type_vector, make_number (TVECTOR), a);
|
||||
a = acons (cell_type_broken_heart, make_number (TBROKEN_HEART), a);
|
||||
|
||||
a = acons (cell_closure, a, a);
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ SCM
|
|||
vector_length (SCM x)
|
||||
{
|
||||
assert_msg (TYPE (x) == TVECTOR, "TYPE (x) == TVECTOR");
|
||||
return MAKE_NUMBER (LENGTH (x));
|
||||
return make_number (LENGTH (x));
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -54,9 +54,9 @@ vector_ref_ (SCM x, long i)
|
|||
if (TYPE (e) == TREF)
|
||||
e = REF (e);
|
||||
if (TYPE (e) == TCHAR)
|
||||
e = MAKE_CHAR (VALUE (e));
|
||||
e = make_char (VALUE (e));
|
||||
if (TYPE (e) == TNUMBER)
|
||||
e = MAKE_NUMBER (VALUE (e));
|
||||
e = make_number (VALUE (e));
|
||||
return e;
|
||||
}
|
||||
|
||||
|
@ -70,7 +70,7 @@ SCM
|
|||
vector_entry (SCM x)
|
||||
{
|
||||
if (TYPE (x) != TCHAR && TYPE (x) != TNUMBER)
|
||||
x = MAKE_REF (x);
|
||||
x = make_ref (x);
|
||||
return x;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue