From: Paul Eggert Date: Wed, 6 Apr 2016 08:22:00 +0000 (-0700) Subject: Fix stability confusion in sort-tests X-Git-Tag: emacs-25.0.93~67 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/80128a784912096c6b0ee46b76b068e019cff057 Fix stability confusion in sort-tests Problem reported by Philipp Stephani (Bug#23205). * test/automated/sort-tests.el: (sort-tests--insert-words-sort-and-compare): Don’t assume that reversing a sorted list is the same as sorting with the reverse predicate. This is not true for stable sorts when items compare equal. --- diff --git a/test/automated/sort-tests.el b/test/automated/sort-tests.el index 5297329781..f3a182cdc1 100644 --- a/test/automated/sort-tests.el +++ b/test/automated/sort-tests.el @@ -40,8 +40,10 @@ (funcall function reverse (point-min) (point-max)) (let ((sorted-words (mapconcat #'identity - (let ((x (sort (copy-sequence words) less-predicate))) - (if reverse (reverse x) x)) + (sort (copy-sequence words) + (if reverse + (lambda (a b) (funcall less-predicate b a)) + less-predicate)) separator))) (should (string= (substring (buffer-string) 0 -1) sorted-words)))))