MACRO: MacroBackerUpper—it's like Time Machine for your macro library

I'm 99% certain these are unavoidable, due to the way diff works. This tripped me up in the past, and drdrang was able to figure out what was going on:

The answer lies in how diff works. When diff finds a difference between the two files, its exit code is 1. Nonzero exit codes typically indicate an error, so when Keyboard Maestro sees that exit code, it bails out. If you look through the Engine.log file, you'll see something like Task failed with status 1 which is true but not very helpful if you don't know diff's exit codes.

The workaround is to click on the gear icon in the upper left corner of your Execute Shell Script action and change the settings on "Failure Aborts Macro" and "Notify on Failure" from ✓ to ×. That should get you the output you expect.

So that's what I have to do whenever I use diff (and a couple other commands, as it turns out). But I don't know of any way to block the log entries for these things that aren't really errors.

-rob.

1 Like