On 9/17/13 8:47 PM, Andrew de Andrade wrote: > Bash Version: 4.2 > Patch Level: 45 > Release Status: release > > Description: > When using source with process substitution, where the command > writes to stdout, source closes the file descriptor created by > the process substitution before reading from it. > > AFAIK this only occurs on Darwin. This impacts bash-completion > used by npm and node-tabtab. > https://github.com/isaacs/npm/blob/master/lib/completion.js#L163 > > Repeat-By: > Create a script or executable that writes another script to > stdout. Execute that command like so... > source <(my_command) > ... then check if the script written to stdout was actually > sourced.
Can you give me something that will allow me to reproduce the problem more easily? I can't reproduce it with something like this: foo() { echo "bar()"$'\n'"{ echo in bar;"$'\n'"}" echo echo one echo echo two echo echo three echo echo inside echo type bar echo bar } source <(foo) echo outside type bar echo $? Does it take a script of a certain size to trigger the problem? If the problem is as you describe it should not work anywhere. I happen to be using exactly the same release of MacOS X and kernel version you are. Chet -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRU c...@case.edu http://cnswww.cns.cwru.edu/~chet/