{"issue":{"state":"open","pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"milestone":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/f30b04ed4d0b3fc4bc791a28815f34ca?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"f30b04ed4d0b3fc4bc791a28815f34ca","url":"https://api.github.com/users/reinh","login":"reinh","id":52},"assignee":null,"updated_at":"2011-10-31T19:59:51Z","labels":[],"comments":0,"closed_at":null,"url":"https://api.github.com/repos/ndbroadbent/scm_breeze/issues/12","body":"Setting IFS as a local seems broken in zsh (`$e1` includes the entire |-separated string of file names and `$e2` through `$eN` are empty) and should in any case be unnecessary. There are a couple of obvious solutions.\r\n\r\n1.  Store the original value in a temp and reset:\r\n\r\n    ``` sh\r\n    oldIFS=\"$IFS\"\r\n    # do stuff\r\n    IFS=\"$oldIFS\"\r\n    ```\r\n\r\n2.  Use a bash or zsh array. This should be preferable. For ZSH, that would be:\r\n\r\n    ``` sh\r\n    filesArray=(\"${(s/|/)files}\")\r\n    for file in $filesArray; do\r\n      # do stuff\r\n    done\r\n    ```","html_url":"https://github.com/ndbroadbent/scm_breeze/issues/12","title":"local IFS=\"|\" buggy and unnecessary","number":12,"id":2101486,"created_at":"2011-10-31T19:59:51Z"},"action":"opened"}