jscl
jscl copied to clipboard
Add missing keyword arguments for substitute
Currently the version merged supports only :key and :test and does not have SUBSTITUTE-IF[-NOT] implemented.
Notably, it also only can handle string, vector, list cases correctly, although for now that may be an exclusive partition of possible sequences.
The branch at romance-ii/jscl more-ansi-substitute would add some other support needed, but as of today was failing to build at all for reasons I haven't yet examined fully.
Because this was ultimately needed for properly supporting multi-radix (read, print) code, there are some improvements buried in the rather gigantic https://github.com/jscl-project/jscl/pull/247
In that branch, still, :from-end and :test-not are not working, but substitute-if[-not] are also added.
I actually have some confusion as to what the CLHS means to occur if both of :test and :test-not are supplied. http://clhs.lisp.se/Issues/iss345_w.htm mentions this point, but simply recommends deprecation. https://common-lisp.net/project/cdr/final.html does not seem to have a CDR for it.
Testing in SBCL, seems to show that :test-not simply takes precedence and the :test form is ignored.