I've recently upgraded to Emacs 25.1.1 and have found that it's, understandably, broken a very useful package to me: pcmpl-args.el. I say "understandably" because the package hasn't been developed since 2012 and its developer doesn't seem to be very talkative. Now, mind you, the package isn't completely broken; it (seemingly) works fine for the most part, but some particular functionality from it is broken now for no apparent reason, even after I re-compiled the whole
elpa directory as per this answer. So, I have confirmed that the problem must have something to do with the upgrade to 25.1.1 and I also know which function the problem seems to originate from, but this function is rather monolithic and convoluted. Finding out which exact part(s) is broken (due to some unknown compatibility issues) will be a tricky and time-consuming process, to say the least.
I only see two ways out of this problem (which don't involve wading through the code and deciphering what went wrong):
- Downgrade back to my previous version which doesn't bork the package (which was a somewhat old build of Emacs 25 back from February 2016)... this is my current solution.
- Figure out how to run Emacs in some sort of "compatibility mode", i.e., I'd like to be able to change Emacs versions at runtime for this package to work properly.
Is there any way to accomplish this second option so that I can seamlessly use my package with minimal hassle? Or is there perhaps a better solution to this problem that I'm not aware of?
Here is a followup question to this question which explores the possibility of fixing pcmpl-args for Emacs 25.1.1: Can't parse the output of manpages in pcmpl-args.el in Emacs 25.1.1.
I managed to find a fix to my issue with pcmpl-args in 25.1.1. Check out my answer if you're curious about it.
<command> --helpinvocations. It uses a wrapper to
pcompleteto translate these argspecs into something consumable by
pcomplete. The specific issue that I'm having is that, for some bizarre reason, pcmpl-args can no longer able parse the manpages so that it gets any argspecs from them. This is a significant problem b/c a lot of commands are completed in this way.