diff options
-rw-r--r-- | stream.c | 6 | ||||
-rw-r--r-- | stream.h | 1 | ||||
-rw-r--r-- | txr.1 | 17 |
3 files changed, 24 insertions, 0 deletions
@@ -3095,6 +3095,11 @@ val format(val stream, val str, ...) } } +val fmt(val string, struct args *args) +{ + return formatv(nil, string, args); +} + static val put_indent(val stream, struct strm_ops *ops, cnum chars) { while (chars--) @@ -3800,6 +3805,7 @@ void stream_init(void) #endif reg_fun(format_s, func_n2v(formatv)); + reg_fun(intern(lit("fmt"), user_package), func_n1v(fmt)); reg_fun(intern(lit("make-string-input-stream"), user_package), func_n1(make_string_input_stream)); reg_fun(intern(lit("make-string-byte-input-stream"), user_package), func_n1(make_string_byte_input_stream)); reg_fun(intern(lit("make-string-output-stream"), user_package), func_n0(make_string_output_stream)); @@ -170,6 +170,7 @@ val vformat(val stream, val string, va_list); val vformat_to_string(val string, va_list); val format(val stream, val string, ...); val formatv(val stream, val string, struct args *args); +val fmt(val string, struct args *args); val put_string(val string, val stream); val put_line(val string, val stream); val put_char(val ch, val stream); @@ -33202,6 +33202,23 @@ The precision field is processed syntactically, and no error occurs, however. .PP +.coNP Function @ fmt +.synb +.mets (fmt < format-string << format-arg *) +.syne +.desc +The +.code fmt +function provides a short-hand for formatting to a string, according +to the following equivalence which holds between +.code fmt +and +.codn format : + +.cblk + (fmt s arg ...) <--> (format nil s arg ...) +.cble + .coNP Functions @, print @, pprint @, prinl @, pprinl @ tostring and @ tostringp .synb .mets (print < obj <> [ stream ]) |