doesn't track namespace when ns decl isn't first in file


This was first filed for ns-tracker but I understand it's more specific to tools.namespace.

(I realize this is likely a very low priority, but it'd still be nice to see fixed if possible. Thanks!)

It appears ns-tracker tools.namespace will cease following a namespace when there's non-commented content before the namespace declaration.


untracked — (any of the four possibilities when uncommented, for example):




Stuart Sierra
September 19, 2014, 3:08 PM

Included in release 0.2.6

Stuart Sierra
July 11, 2014, 11:04 PM

Fixed on master as of commit 3c08b722. This turned out to be an easy change.

I wouldn't recommend putting anything before the ns declaration, but it's no longer required to be first. A file could also have multiple ns declarations, although will only look at the first one.

Andy Fingerhut
June 14, 2014, 12:42 AM

Would the :verbose option to require perhaps give you the load-order info you want? Try something like this at a REPL, with a namespace you care about:

In general, I think Stuart's concern would be questions like: How many forms would you expect tools.namespace to skip over before giving up? If it is a fixed number of forms before it gives up, why that number and not some other?

If it is based upon some other condition to give up looking for an ns form, what would that condition be?

Or would you expect it to be able to find the ns form in the body of a 'when' or 'if' form, and not at the top level?

The criteria can easily start to sound kind of arbitrary, and/or complex to implement.

June 13, 2014, 11:53 PM

Comment made by: trevor

In the case that triggered the issue for me, it can be useful to see the load-order of files based on the dependencies given in ns for debugging. That is, to print a message before and after the completion of loading the namespace dependencies.

I'm not sure how difficult or involved the issue would be to solve.

Stuart Sierra
June 13, 2014, 10:43 PM

What's the use case for having a file in which the ns declaration isn't the first non-comment form?

Your pinned fields
Click on the next to a field label to start pinning.


Stuart Sierra