{"action":"created","issue":{"url":"https://api.github.com/repos/golang/go/issues/12773","repository_url":"https://api.github.com/repos/golang/go","labels_url":"https://api.github.com/repos/golang/go/issues/12773/labels{/name}","comments_url":"https://api.github.com/repos/golang/go/issues/12773/comments","events_url":"https://api.github.com/repos/golang/go/issues/12773/events","html_url":"https://github.com/golang/go/issues/12773","id":108719067,"number":12773,"title":"proposal: os: introduce Executable to return the path of the current executable","user":{"login":"minux","id":135652,"avatar_url":"https://avatars.githubusercontent.com/u/135652?v=3","gravatar_id":"","url":"https://api.github.com/users/minux","html_url":"https://github.com/minux","followers_url":"https://api.github.com/users/minux/followers","following_url":"https://api.github.com/users/minux/following{/other_user}","gists_url":"https://api.github.com/users/minux/gists{/gist_id}","starred_url":"https://api.github.com/users/minux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/minux/subscriptions","organizations_url":"https://api.github.com/users/minux/orgs","repos_url":"https://api.github.com/users/minux/repos","events_url":"https://api.github.com/users/minux/events{/privacy}","received_events_url":"https://api.github.com/users/minux/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/golang/go/labels/Proposal","name":"Proposal","color":"ededed"},{"url":"https://api.github.com/repos/golang/go/labels/Proposal-Accepted","name":"Proposal-Accepted","color":"009800"}],"state":"open","locked":false,"assignee":{"login":"minux","id":135652,"avatar_url":"https://avatars.githubusercontent.com/u/135652?v=3","gravatar_id":"","url":"https://api.github.com/users/minux","html_url":"https://github.com/minux","followers_url":"https://api.github.com/users/minux/followers","following_url":"https://api.github.com/users/minux/following{/other_user}","gists_url":"https://api.github.com/users/minux/gists{/gist_id}","starred_url":"https://api.github.com/users/minux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/minux/subscriptions","organizations_url":"https://api.github.com/users/minux/orgs","repos_url":"https://api.github.com/users/minux/repos","events_url":"https://api.github.com/users/minux/events{/privacy}","received_events_url":"https://api.github.com/users/minux/received_events","type":"User","site_admin":false},"assignees":[{"login":"minux","id":135652,"avatar_url":"https://avatars.githubusercontent.com/u/135652?v=3","gravatar_id":"","url":"https://api.github.com/users/minux","html_url":"https://github.com/minux","followers_url":"https://api.github.com/users/minux/followers","following_url":"https://api.github.com/users/minux/following{/other_user}","gists_url":"https://api.github.com/users/minux/gists{/gist_id}","starred_url":"https://api.github.com/users/minux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/minux/subscriptions","organizations_url":"https://api.github.com/users/minux/orgs","repos_url":"https://api.github.com/users/minux/repos","events_url":"https://api.github.com/users/minux/events{/privacy}","received_events_url":"https://api.github.com/users/minux/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/golang/go/milestones/30","html_url":"https://github.com/golang/go/milestones/Proposal","labels_url":"https://api.github.com/repos/golang/go/milestones/30/labels","id":1373555,"number":30,"title":"Proposal","description":"Proposals that are pending (not yet accepted/rejected).\r\n","creator":{"login":"rsc","id":104030,"avatar_url":"https://avatars.githubusercontent.com/u/104030?v=3","gravatar_id":"","url":"https://api.github.com/users/rsc","html_url":"https://github.com/rsc","followers_url":"https://api.github.com/users/rsc/followers","following_url":"https://api.github.com/users/rsc/following{/other_user}","gists_url":"https://api.github.com/users/rsc/gists{/gist_id}","starred_url":"https://api.github.com/users/rsc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rsc/subscriptions","organizations_url":"https://api.github.com/users/rsc/orgs","repos_url":"https://api.github.com/users/rsc/repos","events_url":"https://api.github.com/users/rsc/events{/privacy}","received_events_url":"https://api.github.com/users/rsc/received_events","type":"User","site_admin":false},"open_issues":57,"closed_issues":68,"state":"open","created_at":"2015-10-24T01:40:49Z","updated_at":"2016-10-20T15:11:45Z","due_on":null,"closed_at":null},"comments":38,"created_at":"2015-09-28T18:29:14Z","updated_at":"2016-10-22T17:17:08Z","closed_at":null,"body":"This proposes to introduce a new API in package os that addresses #4057.\r\n```\r\npackage os\r\n\r\n// Executable returns the path name for the executable that starts the\r\n// current process. The result is the path is used to start the the current\r\n// process, but there is no guarantee that the path is still pointing to\r\n// the correct executable.\r\n//\r\n// The main use case is finding resources located relative to an executable.\r\n//\r\n// Not all OS support this, but all popular ones do.\r\nfunc Executable() (string, error)\r\n```\r\n\r\nThis API has been proposed before, but rejected on the ground that it's impossible\r\nto formally define its semantic, but that's because the old proposal says the result\r\ncan be used to re-exec the current process. If we relax the condition that it returns\r\nthe original path that starts the current process, its semantic is fully defined on\r\nall supported platforms. Not being to re-exec the current process is not a big issue\r\nas the primary use case is to find relatively positioned resource files (i.e. OS X app\r\nbundles.)\r\n\r\nThe implementation is already available in https://golang.org/cl/6736069, we just\r\nhave to brought it up to date.\r\n\r\nI'd like to thank @kardianos for the suggestion of the new semantic."},"comment":{"url":"https://api.github.com/repos/golang/go/issues/comments/255541267","html_url":"https://github.com/golang/go/issues/12773#issuecomment-255541267","issue_url":"https://api.github.com/repos/golang/go/issues/12773","id":255541267,"user":{"login":"bradfitz","id":2621,"avatar_url":"https://avatars.githubusercontent.com/u/2621?v=3","gravatar_id":"","url":"https://api.github.com/users/bradfitz","html_url":"https://github.com/bradfitz","followers_url":"https://api.github.com/users/bradfitz/followers","following_url":"https://api.github.com/users/bradfitz/following{/other_user}","gists_url":"https://api.github.com/users/bradfitz/gists{/gist_id}","starred_url":"https://api.github.com/users/bradfitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bradfitz/subscriptions","organizations_url":"https://api.github.com/users/bradfitz/orgs","repos_url":"https://api.github.com/users/bradfitz/repos","events_url":"https://api.github.com/users/bradfitz/events{/privacy}","received_events_url":"https://api.github.com/users/bradfitz/received_events","type":"User","site_admin":false},"created_at":"2016-10-22T17:17:07Z","updated_at":"2016-10-22T17:17:07Z","body":"@rsc, this was approved after discussion in a proposal review meeting in which @robpike was (I believe) present. Rob, you cool with this?\r\n\r\nAs for the CLAs & license: all go4.org commits require the Google CLA, just like Go. And the only committer to that directory is @kardianos, who is also a Go contributor. So we're good on both fronts."}}
{"actor":{"display_login":"bradfitz"}}