On Monday 2022-05-02 22:52, Karl Berry wrote:
> - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ > + @: >>$@ > >2) without the mv I fear we are no longer noticing write failure. -k I see no reason why mv would be so crucial. Case 1. Lack of permission. The ">" operation is the one that fails, $? is set. mv is never executed due to &&. 09:53 f3:/etc $ >/etc/passwd bash: /etc/passwd: Permission denied 09:53 f3:/etc $ echo $? 1 (dash) $ >/etc/passwd dash: 1: cannot create /etc/passwd: Permission denied $ echo $? 2 Case 2. Disk is chock-full. The ">" operation is the one that fails, $? is set once again. 09:35 f3:/mnt $ : >>9x bash: 9x: No space left on device 09:35 f3:/mnt $ echo $? 1 (dash) $ : >>x2 dash: 5: cannot create x2: No space left on device $ echo $? 2 Case 3. ">" succeeds and the disk becomes full while "echo" executes. (bash builtin) 09:56 f3:/mnt $ echo foo >x9; echo $? bash: echo: write error: No space left on device 1 (dash builtin) $ echo foo >x9; echo $? dash: 1: echo: echo: I/O error 1 (separate program) $ /bin/echo foo >x9; echo $? /bin/echo: write error: No space left on device 1 >1) does it actually speed anything up? I created a dummy project with 50001 dummy .c files on short order. On i5-1135G7 CPU with bash, ./configure runs in (unscientifically measured) 144s wall seoncds. After modifying the innards of Makefile.in with the proposed change, ./configure now runs in 101s.