Issue #229 resolved

No definition of goto-last-change (the g; command)

Karl Smeltzer
created an issue

I've just done a fresh install of Evil on Emacs 24 via Marmalade. Issuing the g; command results in Symbol's function definition is void: goto-last-change.

Comments (19)

  1. Frank Fischer repo owner

    Marmelade has no official release of evil. I've no idea who put the package there. Please use melpa if you want an up-to-date release of evil.

    The goto-last-change function is provided by gotochg or goto-last-change package (you need only of those).

  2. Frank Fischer repo owner

    Hm, ok. But which of the two packages should be used goto-chg or goto-last-change? The former seems to be younger and provides more functions, but I do not know which one is preferable. Do you know a good reason to choose one over the other?

  3. Prof Patsch

    I use MELPA and the only package available there (including ELPA) is goto-last-change.

    So I guess that would be it. Maybe you can check for the existence of the dependency? I’m very new to Emacs, so I can’t say.

  4. Prof Patsch

    That’s what you get for only searching and not looking. :D

    I searched for gotochg.

    But yeah, goto-last-change.el doesn’t define goto-last-change-reverse that evil uses with g,, so goto-chg.el it is. Which is from 2008, while goto-last-change.el is from 2003.

  5. Frank Fischer repo owner

    The problem is that goto-chg is not available from gnu elpa or marmalade where the stable versions of evil are published. That's why I added goto-last-change as dependency.

  6. Frank Fischer repo owner

    Well, that's the problem. In this case goto-last-change is installed as well, so there might be a conflict between the two packages. That's exactly the reason why neither package has been listed as dependency.

  7. Prof Patsch

    There is no replaces possible when specifying dependencies?

    Since evil calls goto-last-change-reverse and this function doesn’t exist in goto-last-change.el but in goto-chg.el I’d say it was programmed with the latter in mind.

    One easy solution is to put goto-chg.el up on ELPA.

  8. Frank Fischer repo owner

    AFAIK no replacing tags can be specified, only direct dependencies. The problem is that the author of goto-chg.el should put it on ELPA (at least in the case of GNU ELPA the author must at least sign the legal papers). Of course, it should be possible to put it on marmalade, but I do not really want to be responsible for a package I'm not involved with.

  9. Frank Fischer repo owner

    MELPA packages are automatically generated from the git repository. I have no idea who added the package to MELPA (since Evil is a free project anyone is free to do so). Furthermore, these package are usually built from the latest development version, not a stable version, and they are certainly not "official". Stable releases are put on marmalade. So you may refer to the MELPA package as "unofficial development version". So, in order to support stable releases one would need goto-chg either on marmalade or as "part of Emacs" in the GNU ELPA package archive.

  10. Frank Fischer repo owner

    depend on goto-chg 1.6 instead of goto-last-change (fix #229)

    goto-chg also provides the function goto-last-change-reverse and is not contained in the marmalade repo, so it is suitable as dependency for stable versions of Evil.

    → <<cset 7abebdcdae0a>>

  11. Frank Fischer repo owner

    depend on goto-chg 1.6 instead of goto-last-change (fix #229)

    goto-chg also provides the function goto-last-change-reverse and is not contained in the marmalade repo, so it is suitable as dependency for stable versions of Evil.

    → <<cset 7abebdcdae0a>>

  12. Log in to comment