diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-04-14 06:25:01 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2016-04-14 06:25:01 -0700 |
commit | f5aa16fcc4431d7134da691891b489f6a74da944 (patch) | |
tree | df63e0d94238d60822f940a710c54ce3e498ad5e | |
parent | 6e6a0e0e8a2391725a916511864acd0e02556703 (diff) | |
download | txr-f5aa16fcc4431d7134da691891b489f6a74da944.tar.gz txr-f5aa16fcc4431d7134da691891b489f6a74da944.tar.bz2 txr-f5aa16fcc4431d7134da691891b489f6a74da944.zip |
Adding fmt function.
* stream.c (fmt): New function.
* stream.h (fmt): Declared.
* txr.1: Documented.
-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 ]) |