If you use alchemist-goto-definition-at-point in a module that has a multiple import statement like import Ecto.{Changeset, Query}, then it will be interpreted as Ecto., but it should be Ecto.Changeset and Ecto.Query. This will cause an error in the alchemist-server process when processing the DEFL:
use Ecto.Schema
import Ecto.{Changeset, Query}
alias Pleroma.{Repo, User, Object, Web, Activity, Notification}
alias Comeonin.Pbkdf2
alias Pleroma.Web.{OStatus, Websub}
alias Pleroma.Web.ActivityPub.{Utils, ActivityPub}
The format call in alchemist-goto--open-definition outputs
To fix this, alchemist-scope-modules probably needs to handle the multiple import/use statements like how alchemist-scope-aliases handles multiple alias statements.
If you use
alchemist-goto-definition-at-point
in a module that has a multiple import statement likeimport Ecto.{Changeset, Query}
, then it will be interpreted asEcto.
, but it should beEcto.Changeset
andEcto.Query
. This will cause an error in thealchemist-server
process when processing theDEFL
:I ran into this with a file (
lib/pleroma/user.ex
in Pleroma) that has these use/import/alias statements:The
format
call inalchemist-goto--open-definition
outputsBut it should be
To fix this,
alchemist-scope-modules
probably needs to handle the multiple import/use statements like howalchemist-scope-aliases
handles multiple alias statements.M-x alchemist-version
:Alchemist version: 1.8.2 (package: 20180312.604)