diff options
-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 ) |