seqlib: stable-sort: fix bogus optimization's in #'stable-sort.
authorDaniel Kochmański <dkochmanski@hellsgate.pl>
Tue, 24 Feb 2015 12:30:49 +0000 (13:30 +0100)
committerDaniel Kochmański <dkochmanski@hellsgate.pl>
Tue, 24 Feb 2015 12:36:18 +0000 (13:36 +0100)
commit4570e2192cd376294570e2ab197169679922a3bb
treeedb0625d4582ffd87b02a4800101c8bb4ce79524
parent642b4f9e711635f0d35e9f161c7dea15c114d905
seqlib: stable-sort: fix bogus optimization's in #'stable-sort.

This patch fixes bug #292, where #'stable-sort weren't sorting in
place strings, when provided with predicate #'char-greaterp. This was
due to optimization, where if sequence was of type string or
vector-bit function #'sort was called (which invoked #'quicksort),
while for the rest cases merge-sort is used.

Optimization is reduced to use quicksort only on vector-bit sequences.

See: http://sourceforge.net/p/ecls/bugs/292/
src/lsp/seqlib.lsp