On 1/2/2022 11:27 AM, Juri Linkov wrote: >> I've attached an updated patch that lets context-menu-functions add items >> to the beginning of the keymap as they currently do, while still removing >> consecutive separators correctly. Since this logic is a bit tricky, it >> could probably use an automated test or two, but before I write some, >> I wanted to check that the strategy I'm using seems reasonable. It's >> probably easiest to explain the logic by just pointing to the patch; >> I added several comments describing the behavior so that reviewers (and >> future readers) should be able to make sense of it. > > Thanks, I suppose it's for master, not for the release branch? Yeah, it's based on top of my previous patches that only landed on master, so the same applies for this one. I don't personally have an issue with if it merged to the release branch, but I also understand that we can't keep adding things to Emacs 28 forever. Attached is an updated patch with unit tests as well as a fix to the behavior from the previous version; in my last patch, it didn't delete the last separator in the menu if it was *before* the "Context Menu" overall prompt string. (This could happen if all the context-menu-functions *only* used `define-key'.) I've fixed that, though it did make the function a bit more complex. I've compensated for that with some more comments and what I hope are pretty thorough tests to make sure everything works as expected.