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

Description

This was first filed for ns-tracker https://github.com/weavejester/ns-tracker/issues/15 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.

works:

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

Environment

None

Activity

Show:

Stuart Sierra September 19, 2014 at 3:08 PM

Included in release 0.2.6

Stuart Sierra July 11, 2014 at 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 clojure.tools.namespace.track will only look at the first one.

Andy Fingerhut June 14, 2014 at 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.

import June 13, 2014 at 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 at 10:43 PM

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

Completed

Details

Assignee

Reporter

Priority

Created February 4, 2014 at 10:37 PM
Updated September 19, 2014 at 3:08 PM
Resolved September 19, 2014 at 3:08 PM