The point of the ruby script is to set up paths and before launching the
actual emacs binary, since starting a gui app under macOS doesn't do most
of the things that a unix-based application like emacs probably expects.
(To be fair, there's only about 60 years of precedent built up, so...)

The other side of the coin is this: macOS uses an ever-tightening security
system that is intended to prevent users from unintentionally running
"dangerous" processes. I stopped using macOS before the current generation
of these systems, but they do fairly typical security-system things,
including restricting access to parts of the file system and refusing to
run/hampering unsigned/untrusted binaries. There is a way to tell the
system "yes, I know emacs isn't security-blessed; run it anyway" -- that's
(I presume) what that xattr command does. Wrapper scripts present a new
problem: are you security-blessing emacs, the wrapper script, or both? Just
saying "yeah, any ruby script can run whatever it wants" is probably not
the sort of operation that the OS security team wants to make trivial.

As an alternative to the wrapper-script approach, there used to be an emacs
package that helped with some of these issues. IIRC, it's currently called
exec-path-from-shell.

Hope that helps,
~Chad

Reply via email to