summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--eval.c10
-rw-r--r--lib.c8
-rw-r--r--parser.c41
-rw-r--r--stream.c49
4 files changed, 54 insertions, 54 deletions
diff --git a/eval.c b/eval.c
index 48045bec..d3fc0f21 100644
--- a/eval.c
+++ b/eval.c
@@ -6342,16 +6342,18 @@ static val mapf(val fun, struct args *funlist)
return func_f0v(cons(fun, args_get_list(funlist)), do_mapf);
}
-val prinl(val obj, val stream)
+val prinl(val obj, val stream_in)
{
- val ret = obj_print(obj, default_arg(stream, std_output), nil);
+ val stream = default_arg_strict(stream_in, std_output);
+ val ret = obj_print(obj, stream, nil);
put_char(chr('\n'), stream);
return ret;
}
-val pprinl(val obj, val stream)
+val pprinl(val obj, val stream_in)
{
- val ret = obj_print(obj, default_arg(stream, std_output), t);
+ val stream = default_arg_strict(stream_in, std_output);
+ val ret = obj_print(obj, stream, t);
put_char(chr('\n'), stream);
return ret;
}
diff --git a/lib.c b/lib.c
index 56a548ec..3d168bf4 100644
--- a/lib.c
+++ b/lib.c
@@ -8888,7 +8888,7 @@ static val lazy_stream_func(val env, val lcons)
val lazy_stream_cons(val stream)
{
- stream = default_arg(stream, std_input);
+ stream = default_arg_strict(stream, std_input);
if (real_time_stream_p(stream)) {
return make_lazy_cons(func_f1(stream, simple_lazy_stream_func));
@@ -13739,13 +13739,13 @@ val obj_print(val obj, val out, val pretty)
val print(val obj, val stream, val pretty)
{
- return obj_print(obj, default_arg(stream, std_output),
+ return obj_print(obj, default_arg_strict(stream, std_output),
default_null_arg(pretty));
}
val pprint(val obj, val stream)
{
- return obj_print(obj, default_arg(stream, std_output), t);
+ return obj_print(obj, default_arg_strict(stream, std_output), t);
}
val tostring(val obj)
@@ -13764,7 +13764,7 @@ val tostringp(val obj)
val put_json(val obj, val stream_in, val flat)
{
- val stream = default_arg(stream_in, std_output);
+ val stream = default_arg_strict(stream_in, std_output);
val imode = if3(default_null_arg(flat),
set_indent_mode(stream, num_fast(indent_foff)),
test_set_indent_mode(stream, num_fast(indent_off),
diff --git a/parser.c b/parser.c
index e38b1b85..331e6b7f 100644
--- a/parser.c
+++ b/parser.c
@@ -604,13 +604,12 @@ found:
val regex_parse(val string, val error_stream)
{
- uses_or2;
val save_stream = std_error;
val stream = make_string_byte_input_stream(string);
parser_t parser;
- error_stream = default_null_arg(error_stream);
- std_error = if3(error_stream == t, std_output, or2(error_stream, std_null));
+ error_stream = default_arg_strict(error_stream, std_null);
+ std_error = if3(error_stream == t, std_output, error_stream);
parser_common_init(&parser);
parser.stream = stream;
@@ -635,16 +634,13 @@ static val lisp_parse_impl(val self, enum prime_parser prime,
val error_stream, val error_return_val, val name_in,
val lineno)
{
- uses_or2;
- val source = default_null_arg(source_in);
+ val source = default_arg_strict(source_in, std_input);
val str = stringp(source);
- val input_stream = if3(str,
- make_string_byte_input_stream(source),
- or2(source, std_input));
- val name = or2(default_null_arg(name_in),
- if3(str,
- lit("string"),
- stream_get_prop(input_stream, name_k)));
+ val input_stream = if3(str, make_string_byte_input_stream(source), source);
+ val name = default_arg_strict(name_in,
+ if3(str,
+ lit("string"),
+ stream_get_prop(input_stream, name_k)));
val parser = ensure_parser(input_stream, name);
val saved_dyn = dyn_env;
parser_t *pi = parser_get_impl(self, parser);
@@ -657,8 +653,8 @@ static val lisp_parse_impl(val self, enum prime_parser prime,
dyn_env = make_env(nil, nil, dyn_env);
- error_stream = default_null_arg(error_stream);
- error_stream = if3(error_stream == t, std_output, or2(error_stream, std_null));
+ error_stream = default_arg_strict(error_stream, std_null);
+ error_stream = if3(error_stream == t, std_output, error_stream);
class_check (self, error_stream, stream_s);
if (lineno && !missingp(lineno))
@@ -814,16 +810,15 @@ val read_compiled_file(val self, val stream, val error_stream)
val txr_parse(val source_in, val error_stream,
val error_return_val, val name_in)
{
- uses_or2;
val self = lit("txr-parse");
- val source = default_null_arg(source_in);
+ val source = default_arg_strict(source_in, std_input);
val input_stream = if3(stringp(source),
make_string_byte_input_stream(source),
- or2(source, std_input));
- val name = or2(default_null_arg(name_in),
- if3(stringp(source),
- lit("string"),
- stream_get_prop(input_stream, name_k)));
+ source);
+ val name = default_arg_strict(name_in,
+ if3(stringp(source),
+ lit("string"),
+ stream_get_prop(input_stream, name_k)));
int gc = gc_state(0);
val saved_dyn = dyn_env;
val parser_obj = ensure_parser(input_stream, name);
@@ -833,8 +828,8 @@ val txr_parse(val source_in, val error_stream,
uw_simple_catch_begin;
dyn_env = make_env(nil, nil, dyn_env);
- error_stream = default_null_arg(error_stream);
- error_stream = if3(error_stream == t, std_output, or2(error_stream, std_null));
+ error_stream = default_arg_strict(error_stream, std_null);
+ error_stream = if3(error_stream == t, std_output, error_stream);
class_check (self, error_stream, stream_s);
parse_once(self, input_stream, name);
diff --git a/stream.c b/stream.c
index fe3cc0bb..a2f4baf1 100644
--- a/stream.c
+++ b/stream.c
@@ -1434,7 +1434,7 @@ static struct stdio_mode do_parse_mode(val mode_str, struct stdio_mode m_dfl,
val self)
{
struct stdio_mode m = stdio_mode_init_blank;
- const wchar_t *ms = c_str(default_arg(mode_str, lit("")), self);
+ const wchar_t *ms = c_str(default_arg_strict(mode_str, lit("")), self);
int nredir = 0;
switch (*ms) {
@@ -2917,7 +2917,8 @@ static struct strm_ops record_adapter_ops =
val record_adapter(val regex, val stream, val include_match)
{
val self = lit("record-adapter");
- val rec_adapter = make_delegate_stream(self, default_arg(stream, std_input),
+ val rec_adapter = make_delegate_stream(self,
+ default_arg_strict(stream, std_input),
sizeof (struct record_adapter_base),
&record_adapter_ops.cobj_ops);
struct record_adapter_base *rb = coerce(struct record_adapter_base *,
@@ -2998,7 +2999,7 @@ val clear_error(val stream)
val get_line(val stream_in)
{
val self = lit("get-line");
- val stream = default_arg(stream_in, std_input);
+ val stream = default_arg_strict(stream_in, std_input);
struct strm_ops *ops = coerce(struct strm_ops *,
cobj_ops(self, stream, stream_s));
return ops->get_line(stream);
@@ -3007,7 +3008,7 @@ val get_line(val stream_in)
val get_char(val stream_in)
{
val self = lit("get-char");
- val stream = default_arg(stream_in, std_input);
+ val stream = default_arg_strict(stream_in, std_input);
struct strm_ops *ops = coerce(struct strm_ops *,
cobj_ops(self, stream, stream_s));
return ops->get_char(stream);
@@ -3016,7 +3017,7 @@ val get_char(val stream_in)
val get_byte(val stream_in)
{
val self = lit("get-byte");
- val stream = default_arg(stream_in, std_input);
+ val stream = default_arg_strict(stream_in, std_input);
struct strm_ops *ops = coerce(struct strm_ops *,
cobj_ops(self, stream, stream_s));
return ops->get_byte(stream);
@@ -3024,7 +3025,7 @@ val get_byte(val stream_in)
val get_bytes(val self, val stream_in, mem_t *ptr, ucnum len)
{
- val stream = default_arg(stream_in, std_input);
+ val stream = default_arg_strict(stream_in, std_input);
struct strm_ops *ops = coerce(struct strm_ops *,
cobj_ops(self, stream, stream_s));
return unum(ops->fill_buf(stream, ptr, len, 0));
@@ -3033,7 +3034,7 @@ val get_bytes(val self, val stream_in, mem_t *ptr, ucnum len)
val unget_char(val ch, val stream_in)
{
val self = lit("unget-char");
- val stream = default_arg(stream_in, std_input);
+ val stream = default_arg_strict(stream_in, std_input);
struct strm_ops *ops = coerce(struct strm_ops *,
cobj_ops(self, stream, stream_s));
if (!is_chr(ch))
@@ -3045,7 +3046,7 @@ val unget_byte(val byte, val stream_in)
{
val self = lit("unget-byte");
cnum b = c_num(byte, self);
- val stream = default_arg(stream_in, std_input);
+ val stream = default_arg_strict(stream_in, std_input);
struct strm_ops *ops = coerce(struct strm_ops *,
cobj_ops(self, stream, stream_s));
@@ -3059,8 +3060,8 @@ val unget_byte(val byte, val stream_in)
val put_buf(val buf, val pos_in, val stream_in)
{
val self = lit("put-buf");
- val stream = default_arg(stream_in, std_output);
- ucnum pos = c_unum(default_arg(pos_in, zero), self);
+ val stream = default_arg_strict(stream_in, std_output);
+ ucnum pos = c_unum(default_arg_strict(pos_in, zero), self);
ucnum len = c_unum(length_buf(buf), self);
mem_t *ptr = buf_get(buf, self);
struct strm_ops *ops = coerce(struct strm_ops *,
@@ -3072,8 +3073,8 @@ val put_buf(val buf, val pos_in, val stream_in)
val fill_buf(val buf, val pos_in, val stream_in)
{
val self = lit("fill-buf");
- val stream = default_arg(stream_in, std_input);
- ucnum pos = c_unum(default_arg(pos_in, zero), self);
+ val stream = default_arg_strict(stream_in, std_input);
+ ucnum pos = c_unum(default_arg_strict(pos_in, zero), self);
ucnum len = c_unum(length_buf(buf), self);
mem_t *ptr = buf_get(buf, self);
struct strm_ops *ops = coerce(struct strm_ops *,
@@ -3084,8 +3085,8 @@ val fill_buf(val buf, val pos_in, val stream_in)
val fill_buf_adjust(val buf, val pos_in, val stream_in)
{
val self = lit("fill-buf-adjust");
- val stream = default_arg(stream_in, std_input);
- ucnum pos = c_unum(default_arg(pos_in, zero), self);
+ val stream = default_arg_strict(stream_in, std_input);
+ ucnum pos = c_unum(default_arg_strict(pos_in, zero), self);
val alloc_size = buf_alloc_size(buf);
ucnum len = c_unum(alloc_size, self);
mem_t *ptr = buf_get(buf, self);
@@ -3101,7 +3102,7 @@ val fill_buf_adjust(val buf, val pos_in, val stream_in)
val get_line_as_buf(val stream_in)
{
val self = lit("get-line-as-buf");
- val stream = default_arg(stream_in, std_input);
+ val stream = default_arg_strict(stream_in, std_input);
struct strm_ops *ops = coerce(struct strm_ops *,
cobj_ops(self, stream, stream_s));
val buf = make_buf(zero, nil, num_fast(128));
@@ -3851,7 +3852,7 @@ static val put_indent(val stream, struct strm_ops *ops, cnum chars)
val put_string(val string, val stream_in)
{
val self = lit("put-string");
- val stream = default_arg(stream_in, std_output);
+ val stream = default_arg_strict(stream_in, std_output);
struct strm_base *s = coerce(struct strm_base *, stream->co.handle);
if (lazy_stringp(string)) {
@@ -3894,7 +3895,7 @@ val put_string(val string, val stream_in)
val put_char(val ch, val stream_in)
{
val self = lit("put-char");
- val stream = default_arg(stream_in, std_output);
+ val stream = default_arg_strict(stream_in, std_output);
struct strm_ops *ops = coerce(struct strm_ops *,
cobj_ops(self, stream, stream_s));
struct strm_base *s = coerce(struct strm_base *, stream->co.handle);
@@ -3936,7 +3937,7 @@ val put_char(val ch, val stream_in)
val put_byte(val byte, val stream_in)
{
val self = lit("put-byte");
- val stream = default_arg(stream_in, std_output);
+ val stream = default_arg_strict(stream_in, std_output);
struct strm_ops *ops = coerce(struct strm_ops *,
cobj_ops(self, stream, stream_s));
cnum b = c_num(byte, self);
@@ -3948,9 +3949,11 @@ val put_byte(val byte, val stream_in)
return ops->put_byte(stream, b);
}
-val put_line(val string, val stream)
+val put_line(val string, val stream_in)
{
- return (put_string(default_arg(string, null_string), stream), put_char(chr('\n'), stream));
+ val stream = default_arg_strict(stream_in, std_output);
+ return (put_string(default_arg_strict(string, null_string), stream),
+ put_char(chr('\n'), stream));
}
val put_strings(val strings, val stream)
@@ -3974,7 +3977,7 @@ val put_lines(val lines, val stream)
val flush_stream(val stream_in)
{
val self = lit("flush-stream");
- val stream = default_arg(stream_in, std_output);
+ val stream = default_arg_strict(stream_in, std_output);
struct strm_ops *ops = coerce(struct strm_ops *,
cobj_ops(self, stream, stream_s));
return ops->flush(stream);
@@ -4151,7 +4154,7 @@ struct strm_ctx *get_ctx(val stream)
val get_string(val stream_in, val nchars, val close_after_p)
{
- val stream = default_arg(stream_in, std_input);
+ val stream = default_arg_strict(stream_in, std_input);
val strstream = make_string_output_stream();
nchars = default_null_arg(nchars);
val ch;
@@ -5189,7 +5192,7 @@ val mkdtemp_wrap(val prefix)
val mkstemp_wrap(val prefix, val suffix)
{
val self = lit("mkstemp");
- val suff = default_arg(suffix, null_string);
+ val suff = default_arg_strict(suffix, null_string);
val templ = scat3(prefix, lit("XXXXXX"), suff);
cnum slen = c_num(length(suff), self);
char *tmpl = utf8_dup_to(c_str(templ, self));