On Tue, Jan 26, 2016 at 3:15 PM, Ivan Gotovchits <ivg@ieee.org> wrote:
> Do you know of any tool that rely on this?

OASIS it the most notable [1]. 

​Ah, I didn't know about this hack​, and apparently it's the same hack for merlin. Well, we can certainly add ".syntax" packages to pa_sexp_conv and others then
 
1. Delete `project.0.3` from the repository and add new `project.0.3-???` with a fixed build system
2. Retrospectively modify `project.0.3` build system and upload a new tarball without changing a library.

​I was thinking of:

3. release project.0.3.1, keeping project.0.3 unchanged

That the same as what one would have to do if the API changed in an incompatible way.
 
Also, some packages, may encode library names in the code itself. For example, bap uses this to track dependencies of dynamically loaded plugins. Merlin has a heuristics, that
guesses requested syntax extensions based on package names. 

​For merlin and oasis we just need to add pa_sexp_conv.syntax, we'll do that.
I don't know bap very well, does it have "sexplib.syntax" hardcoded ​in its source code or is the same situation as merlin and oasis?

-- 
Jeremie