diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-06-01 20:07:51 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-06-01 20:07:51 -0700 |
commit | ae05a8f6e9dbaa6f18a0d22475ab8fafc2b56506 (patch) | |
tree | ae68309aa0ac818f18aaa0cc3b0b82bdb25b7fef | |
parent | fe4ee294894e05042b806fa2202b47ae635dc2a7 (diff) | |
download | txr-ae05a8f6e9dbaa6f18a0d22475ab8fafc2b56506.tar.gz txr-ae05a8f6e9dbaa6f18a0d22475ab8fafc2b56506.tar.bz2 txr-ae05a8f6e9dbaa6f18a0d22475ab8fafc2b56506.zip |
mkstring char argument is optional.
* eval.c (eval_init): Update registration of mkstring intrinsic
to make second argument optional.
* lib.c (mkstring): Default second argument to space.
* txr.1: Documentation of mkstring updated.
-rw-r--r-- | eval.c | 2 | ||||
-rw-r--r-- | lib.c | 3 | ||||
-rw-r--r-- | txr.1 | 6 |
3 files changed, 8 insertions, 3 deletions
@@ -5927,7 +5927,7 @@ void eval_init(void) reg_fun(intern(lit("packagep"), user_package), func_n1(packagep)); reg_fun(intern(lit("keywordp"), user_package), func_n1(keywordp)); reg_fun(intern(lit("bindable"), user_package), func_n1(bindable)); - reg_fun(intern(lit("mkstring"), user_package), func_n2(mkstring)); + reg_fun(intern(lit("mkstring"), user_package), func_n2o(mkstring, 1)); reg_fun(intern(lit("copy-str"), user_package), func_n1(copy_str)); reg_fun(intern(lit("upcase-str"), user_package), func_n1(upcase_str)); reg_fun(intern(lit("downcase-str"), user_package), func_n1(downcase_str)); @@ -3313,7 +3313,7 @@ val string_8bit_size(const unsigned char *str, size_t sz) return string_own(wstr); } -val mkstring(val len, val ch) +val mkstring(val len, val ch_in) { size_t l = if3(minusp(len), (uw_throwf(error_s, lit("mkstring: negative size ~s specified"), @@ -3321,6 +3321,7 @@ val mkstring(val len, val ch) c_num(len)); wchar_t *str = chk_wmalloc(l + 1); val s = string_own(str); + val ch = default_arg_strict(ch_in, chr(' ')); wmemset(str, c_chr(ch), l); str[l] = 0; s->st.len = len; @@ -20427,7 +20427,7 @@ ranges are immutable. .SS* Characters and Strings .coNP Function @ mkstring .synb -.mets (mkstring < length << char ) +.mets (mkstring < length <> [ char ]) .syne .desc The @@ -20440,6 +20440,10 @@ with .metn char , which must be a character value. +If the optional argument +.meta char +is not specified, it defaults to the space character. + .coNP Function @ copy-str .synb .mets (copy-str << string ) |