aboutsummaryrefslogtreecommitdiffstats
path: root/admin/notes/java
diff options
context:
space:
mode:
authorMattias EngdegÄrd2024-03-18 19:56:20 +0100
committerMattias EngdegÄrd2024-03-23 09:52:45 +0100
commit01e5337293cf0da834a0e44f33330f8bfe78d945 (patch)
treef2bb0f82897457b993db2e8e0323cf01c9ebb50f /admin/notes/java
parent3a3568784eab9eb7889d23e40f498f3cf89beea0 (diff)
downloademacs-01e5337293cf0da834a0e44f33330f8bfe78d945.tar.gz
emacs-01e5337293cf0da834a0e44f33330f8bfe78d945.zip
Add back timsort key function handling (bug#69709)
The original timsort code did provide for a key (accessor) function along with the necessary storage management, but we dropped it because our `sort` function didn't need it. Now it's been put back since it seems that it will come in handy after all. * src/fns.c (sort_list, sort_vector, Fsort): Pass Qnil as key function to tim_sort. * src/sort.c (reverse_slice, sortslice_copy) (sortslice_copy_incr, sortslice_copy_decr, sortslice_memcpy) (sortslice_memmove, sortslice_advance): New functions. (sortslice): New type. (struct stretch, struct reloc, merge_state) (binarysort, merge_init, merge_markmem, cleanup_mem) (merge_register_cleanup, merge_getmem, merge_lo, merge_hi, merge_at) (found_new_run, reverse_sortslice, resolve_fun, tim_sort): Merge back previously discarded parts from the upstreams timsort code that dealt with key functions, and adapt them to fit in.
Diffstat (limited to 'admin/notes/java')
0 files changed, 0 insertions, 0 deletions