severity: wishlist tags: patch Continuing from https://lists.nongnu.org/archive/html/emacs-devel/2015-11/msg01437.html, main code difference since then is that I use a subr instead of indexing into a table of C functions (the reason for using an index was to avoid GC on Ffuncall; instead I did that by checking if the function is SUBRP and doing funcall_subr on it (a new function extracted from Ffuncall)). I've also added tests, which turned up some interesting corner cases regarding aliases, and also that I had completely missed kill-local-variables. I still need to write something up in the manual.