{"action":"created","issue":{"url":"https://api.github.com/repos/greghendershott/racket-mode/issues/76","labels_url":"https://api.github.com/repos/greghendershott/racket-mode/issues/76/labels{/name}","comments_url":"https://api.github.com/repos/greghendershott/racket-mode/issues/76/comments","events_url":"https://api.github.com/repos/greghendershott/racket-mode/issues/76/events","html_url":"https://github.com/greghendershott/racket-mode/issues/76","id":53700848,"number":76,"title":"racket-base-requires does not preserve requires for submodules","user":{"login":"florence","id":1413610,"avatar_url":"https://avatars.githubusercontent.com/u/1413610?v=3","gravatar_id":"","url":"https://api.github.com/users/florence","html_url":"https://github.com/florence","followers_url":"https://api.github.com/users/florence/followers","following_url":"https://api.github.com/users/florence/following{/other_user}","gists_url":"https://api.github.com/users/florence/gists{/gist_id}","starred_url":"https://api.github.com/users/florence/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/florence/subscriptions","organizations_url":"https://api.github.com/users/florence/orgs","repos_url":"https://api.github.com/users/florence/repos","events_url":"https://api.github.com/users/florence/events{/privacy}","received_events_url":"https://api.github.com/users/florence/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-01-08T00:32:26Z","updated_at":"2015-01-08T03:33:30Z","closed_at":null,"body":"```racket\r\n#lang racket\r\n(module+ test list->set)\r\n```\r\n\r\ngets rewritten to\r\n\r\n```racket\r\n#lang racket/base\r\n\r\n\r\n(module+ test list->set)\r\n````\r\n\r\nwhich will then error, because `list->set` comes from `racket/set` not `racket/base`"},"comment":{"url":"https://api.github.com/repos/greghendershott/racket-mode/issues/comments/69131442","html_url":"https://github.com/greghendershott/racket-mode/issues/76#issuecomment-69131442","issue_url":"https://api.github.com/repos/greghendershott/racket-mode/issues/76","id":69131442,"user":{"login":"greghendershott","id":265119,"avatar_url":"https://avatars.githubusercontent.com/u/265119?v=3","gravatar_id":"","url":"https://api.github.com/users/greghendershott","html_url":"https://github.com/greghendershott","followers_url":"https://api.github.com/users/greghendershott/followers","following_url":"https://api.github.com/users/greghendershott/following{/other_user}","gists_url":"https://api.github.com/users/greghendershott/gists{/gist_id}","starred_url":"https://api.github.com/users/greghendershott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/greghendershott/subscriptions","organizations_url":"https://api.github.com/users/greghendershott/orgs","repos_url":"https://api.github.com/users/greghendershott/repos","events_url":"https://api.github.com/users/greghendershott/events{/privacy}","received_events_url":"https://api.github.com/users/greghendershott/received_events","type":"User","site_admin":false},"created_at":"2015-01-08T03:33:30Z","updated_at":"2015-01-08T03:33:30Z","body":"The limitation is with [`show-requires`](http://docs.racket-lang.org/macro-debugger/index.html#%28def._%28%28lib._macro-debugger%2Fanalysis%2Fcheck-requires..rkt%29._show-requires%29%29), it doesn't seem to consider sub-modules.\r\n\r\nMaybe I could traverse the file to discover sub-modules (and sub-sub-modules and so on), run `show-requires` on each, and combine the results. Maybe that would be reliable, I don't know.\r\n\r\nAnother track would be to submit a PR against `show-requires`. :)\r\n\r\nHonestly so far I've found it only a mild nuisance, sometimes needing to manually add back a missing require. I feel like the feature is usually saving me a dozen manual changes, and 1 step backward isn't a big deal. So I haven't felt super-motivated to fix it, especially if it's a lot of work. However I agree it's technically not correct. And I might feel differently working with very submodule-heavy source files."}}