As I had mentioned initially , it doesn't work properly only for selection. I.e. certainly beautify.app is found and run.
Out of curiosity ( as we have a source code - beautify.prg ) I did some tracing/debugging and turned out the piece invoked in case of selection
checks for return value from C function.
m.fSuccess = Beautify((m.cTempInfile), (m.OutFile), (m.Options))
IF m.fSuccess
For unknown reason ancient C code ( which results in fd3.fll ) started to return .F. on my box
Replacing with
IF FILE(m.OutFile)
did the trick.
When no selection, C beautify is run without further checks on return value or out file existence.
IF m.lSelection
....
ELSE
m.fSuccess = Beautify((m.inFile), (m.outfile), (m.options))
ENDIF
I had no interest in tracing C code, so just patched beautify.app
>I cannot imagine the native beautify solution does not work for you.