Skip to content

Releases: vindarel/cl-str

0.22 · match macro, optimizations, correctness

05 Sep 13:57

Choose a tag to compare

  • 0.22, September, 2025:
    • optimized repeat further and fixed for LispWorks (no more using apply and its call argument limit), thanks to @Yehouda.
    • small backward uncompatible correctness changes, thanks to @swapneils:
      • join now treats a nil separator as the empty string, rather than the string "nil", conforming to the semantics in the README of not converting nil to "nil".
      • containsp now automatically returns nil if either string input is nil.
      • alphanump and similar now use the correct regex checks for multi-line strings, rather than accepting an input if it has any line matching their specification.
    • optimization changes, thanks to @swapneils:
      • multiple non-recursive functions have been inlined.
      • multiple functions have ftype declarations.
  • April, 2025:
    • optimized repeat for large workloads. When the workload is
      sufficiently large, str:repeat allocates all chunks of the
      expected output onto the stack to call concat, causing an
      overflow. For workloads larger than 10,000 characters in the
      expected output, it now chunks the work to minimize the chance of
      overflowing the stack or heap, while retaining decent performance.
  • Feb, 2024:
    • added the match macro. It is EXPERIMENTAL and might change in future versions. We welcome your bug reports and feedback.

0.21 · `regex`, `ensure`, `fit`…

07 Dec 18:36

Choose a tag to compare

from our changelog:

  • 0.21, November, 2023:
    • added the regex key argument to split, rsplit, split-omit-nulls.
  • August, 2023:
    • added the regex key argument to the replace-* functions.
  • March, 2023:
    • added str:ensure, str:ensure-prefix, str:ensure-suffix, str:ensure-wrapped-in and str:wrapped-in-p.
  • January, 2023: added the :char-barg parameter to trim, trim-left, trim-right.
    • minor: ends-with-p now works with a character.
  • June, 2022: small breaking change: fixed prefixp when used with a smaller prefix: "f" was not recognized as a prefix of "foobar" and "foobuz", only "foo" was. Now it is fixed. Same for suffixp.
  • Feb, 2022: added fit: fit the string to the given length: either shorten it, either padd padding.
  • 0.20, May, 2021: added ascii-p.

0.19

22 Oct 13:42

Choose a tag to compare

add s-member LIST, S

0.17 - april, 2020

16 Apr 09:51

Choose a tag to compare

  • added the s-assoc-value function

  • support characters for join (as does split)

  • added collapse-whitespaces

  • added replace-first

  • fixed: remove-punctuation respects the case.

  • fixed: from-file "odd number of arguments" error

0.16 - november, 2019

16 Apr 09:56

Choose a tag to compare

  • added pad, pad-[left, right, center]

0.15 - october, 2019

16 Apr 09:55

Choose a tag to compare

  • added functions to change case (based on cl-change-case) and to remove punctuation.

0.8

07 May 14:18

Choose a tag to compare

0.8

added the string-case macro.

0.2

11 Oct 11:06

Choose a tag to compare

0.2
  • new: contains? and containsp.

released in september's quicklisp dist.