Though I personally dislike when people use the 'X' in a word like 'exposition' to make their acronym work, there are times when it seems almost unavoidable. I've been noodling around for the last few weeks with what I call PHEX (the Particularly Helpful Editor eXtension). The idea is dog simple: First, you start where the mouse is clicked and gather up nested "contexts". Then you use these contexts to figure out all of the commands that seem relevant. Finally, you present these commands in a popup menu and let the user do what they want. The only additional wiggle is that it is (supposed to be) easy to add additional PHEX commands so that you can integrate PHEX with the other tools at your disposal.

I'm on a trip down to Washington D.C. right now to a KDD workshop (no, not Knowledge Discover in Databases, it's Knowledge, Discovery and Dissemination) so I'm hopeful that I can find some time to make a bit more progress. The main todos are to make the popup menu more presentable and to slightly improve the syntax of the define command macro. Once I get that done, I'll stick the code out there. Of course, I'm writing this in Macintosh Common Lisp so unless you use FRED, you'll be out of luck. Of course of course, anyone that knows how to write EMACS code could easily do this for other platforms.