{"issue":{"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"state":"closed","milestone":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/299a3d891ff1920b69c364d061007043?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"299a3d891ff1920b69c364d061007043","url":"https://api.github.com/users/jdalton","login":"jdalton","id":4303},"updated_at":"2011-11-18T08:31:41Z","labels":[],"assignee":null,"comments":1,"closed_at":"2011-11-18T08:31:41Z","url":"https://api.github.com/repos/ringo/ringojs/issues/157","body":"Doing this..\r\n\r\n~~~ js\r\nfor (var i in system.stdin) {\r\n  print(i);\r\n}\r\nprint('done');\r\n~~~\r\n\r\n`print('done');` is never called","html_url":"https://github.com/ringo/ringojs/issues/157","title":"`for...in` over `system.stdin` causes a hang in RingoJS v0.8.0","number":157,"id":2276879,"created_at":"2011-11-18T04:31:04Z"},"action":"created","comment":{"user":{"avatar_url":"https://secure.gravatar.com/avatar/185cbc124353852a865ad1229dcc6415?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"185cbc124353852a865ad1229dcc6415","url":"https://api.github.com/users/hns","login":"hns","id":15975},"updated_at":"2011-11-18T08:31:41Z","url":"https://api.github.com/repos/ringo/ringojs/issues/comments/2786908","body":"This is an interesting one. Input streams in Ringo have an iterator()/__iterator__() method that iterates over the stream's input as described in [CommonJS IO/A](http://wiki.commonjs.org/wiki/IO/A). So what that loop does is basically wait for input from stdin (you can try it by typing on the keyboard and hitting return).\r\n\r\nNot sure what to think about this. It definitely doesn't obey to the principle of least astonishment. However it's not a bug, so closing.","id":2786908,"created_at":"2011-11-18T08:31:41Z"}}