{"action":"created","issue":{"url":"https://api.github.com/repos/rpav/cl-autowrap/issues/66","repository_url":"https://api.github.com/repos/rpav/cl-autowrap","labels_url":"https://api.github.com/repos/rpav/cl-autowrap/issues/66/labels{/name}","comments_url":"https://api.github.com/repos/rpav/cl-autowrap/issues/66/comments","events_url":"https://api.github.com/repos/rpav/cl-autowrap/issues/66/events","html_url":"https://github.com/rpav/cl-autowrap/issues/66","id":175127807,"number":66,"title":"Unable to exclude a symbol from an included source.","user":{"login":"cbaggers","id":1579326,"avatar_url":"https://avatars.githubusercontent.com/u/1579326?v=3","gravatar_id":"","url":"https://api.github.com/users/cbaggers","html_url":"https://github.com/cbaggers","followers_url":"https://api.github.com/users/cbaggers/followers","following_url":"https://api.github.com/users/cbaggers/following{/other_user}","gists_url":"https://api.github.com/users/cbaggers/gists{/gist_id}","starred_url":"https://api.github.com/users/cbaggers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cbaggers/subscriptions","organizations_url":"https://api.github.com/users/cbaggers/orgs","repos_url":"https://api.github.com/users/cbaggers/repos","events_url":"https://api.github.com/users/cbaggers/events{/privacy}","received_events_url":"https://api.github.com/users/cbaggers/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-09-05T21:12:16Z","updated_at":"2016-09-06T14:40:14Z","closed_at":"2016-09-06T14:37:31Z","body":"My project is [autowrapped-ode](https://github.com/cbaggers/autowrapped-ode) and my use case is as follows:\r\n\r\n- ODE comes in double or single float precision flavours\r\n- ODE defines its base floating point type as `dReal` which is float or double depending on the above\r\n- ODE defines all of its other types in terms of `dReal`\r\n- I can detect the precision using [this code](https://github.com/cbaggers/autowrapped-ode/blob/master/precision.lisp)\r\n- The above means I can define `dReal` correctly using [this code](https://github.com/cbaggers/autowrapped-ode/blob/master/d-real.lisp)\r\n\r\nHowever `c-include` then redefines `dReal` and I can see a way to exclude it. The reason is that `#'read-parse-forms` has the following condition.\r\n\r\n    (and (or (included-p name exclude-definitions)\r\n             (included-p location exclude-sources))\r\n         (not (or (included-p name include-definitions)\r\n                  (included-p location include-sources))))\r\n\r\nWhich means that if I included the source I cant exclude a symbol.\r\n\r\nOne possibility is we could allow `:include-sources` to be used like this:\r\n\r\n    :include-sources (\"odeinit.h\"\r\n                      (\"common.h\" :except \"dReal\"))\r\n\r\nIf this is something you would like but do not have time to implement I think I can add this. Please let me know.\r\n\r\nThanks again for this incredible project"},"comment":{"url":"https://api.github.com/repos/rpav/cl-autowrap/issues/comments/244971717","html_url":"https://github.com/rpav/cl-autowrap/issues/66#issuecomment-244971717","issue_url":"https://api.github.com/repos/rpav/cl-autowrap/issues/66","id":244971717,"user":{"login":"rpav","id":1011983,"avatar_url":"https://avatars.githubusercontent.com/u/1011983?v=3","gravatar_id":"","url":"https://api.github.com/users/rpav","html_url":"https://github.com/rpav","followers_url":"https://api.github.com/users/rpav/followers","following_url":"https://api.github.com/users/rpav/following{/other_user}","gists_url":"https://api.github.com/users/rpav/gists{/gist_id}","starred_url":"https://api.github.com/users/rpav/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rpav/subscriptions","organizations_url":"https://api.github.com/users/rpav/orgs","repos_url":"https://api.github.com/users/rpav/repos","events_url":"https://api.github.com/users/rpav/events{/privacy}","received_events_url":"https://api.github.com/users/rpav/received_events","type":"User","site_admin":false},"created_at":"2016-09-06T14:40:14Z","updated_at":"2016-09-06T14:40:14Z","body":"Note there's *sortof* an issue in that it would be helpful to case on SPEC/version/etc and that's *not* in autowrap yet.  There's unfortunately no way to do e.g. \"call this function, then include `set-of-definitions` based on result\".  This would apply to stuff like major revisions, different binary formats as above, etc."}}
{"actor":{"display_login":"rpav"}}