Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
I think I see the problem; after-load-alist contains compiled functions. If I manually add to this list instead of using eval-after-load or use-package which does the same, then it works. Since the struct definition is not yet loaded when the function is compiled, setf can't possibly expand correctly. So the eval I added as a workaround really is necessary.
I tried requiring cl-lib before. I tried it again at the top-level as you suggested. I'm not compiling my init file. I tried compiling it once just to see and it didn't make any difference.
I've restarted emacs a few dozen times while studying this. It's the same behavior every time. I also tried using with-eval-after-load instead of use-package. Still it's the same.
I had to use '/-:192.168.2.6|sudo::'. It's refusing to write the customizations. Setting 'tramp-default-proxies-alist' temporarily since "emacs -q" would overwrite customizations. I tried renaming my init.el, but I still get the same message.
Fantastic! I'm wondering why my-minibuf-selected-or-deselected-function is added as a hook inside minibuffer-setup-hook. Is it automatically removed when you exit the minibuffer?