ecb-home / ecb

ECB Main Repository
Other
54 stars 11 forks source link

Update semantic features for Emacs 25.1 #24

Closed tarsius closed 7 years ago

tarsius commented 7 years ago

The semantic package in Emacs v25.1 no longer features a library that provides semantic-ctxt That has been replaced with semantic/ctxt. This Emacs version also does not provide semantic-analyze. I don't know what has happened to it.

Please update Ecb to be compatible with the latest release.

ware commented 7 years ago

What is the failure mode that you're seeing here? I'm surprised that things have migrated back to the pre-2010 old style semantic/ctxt over the newer semantic-ctxt, but at the same time, it shouldn't matter as ecb-cedet-wrapper.el checks for both. What is the specific error you're seeing?

tarsius commented 7 years ago

I don't actually use ecb. I maintain the Emacsmirror with comes with a database containing information from all mirrored, "shelved", and built-in packages. Some statistics, including lists of packages with issues, can be found here. I've been slowly working through that list over the years (it was much longer initially).

I didn't look at this closely enough before opening the issue. I can and will manually drop the dependencies for the mentioned libraries. After all this is how they are required:

(if (locate-library "semantic-ctxt")
    (progn
      (require 'semantic-ctxt)
      (require 'semantic-analyze))
  (progn
    (require 'semantic/ctxt)
    (require 'semantic/analyze)))

You might however want to consider defining ecb-cedet-require earlier and then using it here too. But now that I understand what is going on manually dropping the dependencies on the alternative library names is good enough. And if you did later start using ecb-cedet-require here, then those manual adjustments would automatically get dropped from the database.

I'm surprised that things have migrated back to the pre-2010 old style semantic/ctxt over the newer semantic-ctxt

Taken together, the doc-string and value of ecb-cedet-lib-registry suggest that you are remembering this wrong.