Giter Club home page Giter Club logo

Comments (4)

ztellman avatar ztellman commented on July 24, 2024

A reproducing case would be great, thanks.

from potemkin.

MichaelBlume avatar MichaelBlume commented on July 24, 2024

Hey, thanks for the quick response. I'm digging into this a little more and it looks like I've got more of a heisenbug than I initially realized -- I'm now having trouble reproducing it myself.

I'll see if it turns up again; in the meantime sorry for raising the alarm prematurely =)

from potemkin.

ztellman avatar ztellman commented on July 24, 2024

No worries. All of these tools are different kinds of hacks, I wouldn't be surprised if there are lurking issues. Let me know if you find anything else.

from potemkin.

henryw374 avatar henryw374 commented on July 24, 2024

I came across this same issue I think you describe and I can reproduce it as follows.

say you have var
#'foo/bar

and you use import vars like this

(ns importer)

(import-vars
[foo bar])

then, in another ns you have
(ns consumer (:require [importer :refer :all]))

now in the result of (ns-refers 'consumer) you will see #'importer/bar but the :ns on the metadata of that var will be foo as expected. all ok so far.

now, with clojure.tools.namespace, when you have a compilation error, it calls clojure.tools.namespace.repl/recover-ns which walks over the ns-refers of your current ns and for each one calls (refer ns ...) , but the ns in question is found from the metadata, which is foo. the current ns already has bar from importer, and that is where it blows up.

from potemkin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.