1

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):

  1. 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.
  2. 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?

EDIT 1:

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.

EDIT 2:

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.

6
  • 1
    It will be more helpful to provide some info on what is 'broken'.. what errors do you get? What happens now vs what happened before? Getting that package fixed to work with emacs 25.1 would be beneficial to other users of the same package who also would like to upgrade to the latest emacs version. Feel free to start a new question to help you make this package emacs 25.1 compatible :) Sep 23, 2016 at 12:30
  • @KaushalModi Yeah, I skimped on the details of how it's broken on purpose b/c the issue is quite technical. See, this package creates "argspecs" based on the output of manpages or <command> --help invocations. It uses a wrapper to pcomplete to 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.
    – GDP2
    Sep 23, 2016 at 16:22
  • @KaushalModi I didn't make a question about fixing this package b/c I didn't know if that was welcome here, due to the fact that this issue may go rather deep and might not be simple enough for typical "question and answer" format and might become more of a discussion instead. But if such a question is acceptable, I'll definitely post it :)
    – GDP2
    Sep 23, 2016 at 16:23
  • I believe the question would be fine here as long as you nicely present (not make it a broad question) what problem you are facing and kind of solution you are looking for. Sep 23, 2016 at 16:25
  • 1
    @KaushalModi Alright, I'll see if I can put something together like that and I'll edit my question with a link to it once I post it.
    – GDP2
    Sep 23, 2016 at 16:27

1 Answer 1

1

Install Emacs 24.5 in your $HOME. Multiple versions of Emacs can co-exist.

Run below command line in shell,

./configure --prefix=$HOME/myemacs/24.4 --without-x-toolkit --without-x --without-xpm --without-png --without-gif --without-tiff --without-jpeg --without-rsvg --without-xft --without-xaw3d --without-xim --without-xpm --without-dbus --without-makeinfo --with-x-toolkit=no --without-sound --without-sync-input --without-pop;make;make install
2
  • Wouldn't this require me to run two Emacs instances separately that I'd have to switch through? That's the kind of thing I'm trying to avoid by switching versions at runtime, although I understand that this may not be possible.
    – GDP2
    Sep 23, 2016 at 16:26
  • In case you're interested, I created a followup question which you can find in my edit above.
    – GDP2
    Sep 23, 2016 at 19:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.