質問

Is it possible to make Mozart/Oz system run within GNU Emacs on OSX instead of Aquamacs which I dislike? I tried copying /Applications/Emacs to /Applications/Aquamacs but had no luck.

役に立ちましたか?

解決

Found out how to do that. Just started it from command line and standard Emacs 24 (residing in /Applications/Emacs) appeared:

$ /Applications/Mozart.app/Contents/Resources/bin/oz

enter image description here

Some magic happens here.

他のヒント

The problem here is that the Mozart application uses shell scripts that are hard-coded to look for /Applications/Aquamacs Emacs.app. Some of these scripts also attempt to use /Applications/Aquamacs.app or /Applications/Emacs.app, but do not consistently use both. (This is why Tvaroh's answer works: the script located in /Applications/Mozart.app/Contents/Resources/bin/oz is able to use GNU Emacs. It's also why the attempt to change the name of Emacs.app to Aquamacs.app did not fix the issue. Renaming Emacs.app to Aquamacs Emacs.app should work, but I'd recommend using the solution written below instead.)

The fix is fairly simple: just modify the shell scripts so that they use Emacs rather than Aquamacs. Entering the following lines in Terminal appears to fix the issue for the latest build (1.4.0-2012-02-01-macosx):

$ sed -i '' -e "s/Aquamacs\\\ Emacs/Emacs/g" /Applications/Mozart.app/Contents/Resources/.script
$ sed -i '' -e "s/Aquamacs Emacs/Emacs/g" /Applications/Mozart.app/Contents/Resources/.script
$ sed -i '' -e "s/Aquamacs\\\ Emacs/Emacs/g" /Applications/Mozart.app/Contents/Resources/script
$ sed -i '' -e "s/Aquamacs Emacs/Emacs/g" /Applications/Mozart.app/Contents/Resources/script

With that said, I'd encourage anyone who encounters this problem to search their distribution for other offending files ($ grep -ir aquamacs /Applications/Mozart.app) and modify those files as necessary to ensure that Mozart will use the correct Emacs.

A couple of notes about this answer for anyone else who comes across this issue:

  • For this to work there needs to be an Emacs.app in the Applications directory (e.g. just having a the copy of Emacs that comes with macOS/OS X is not sufficient for this solution to work, although it should be possible to edit the scripts within Mozart.app to run using that Emacs binary.)

  • This issue only exists in builds of Mozart 1.x for macOS/OS X. As of Mozart 2.0.0, the program runs as is, without having to install Aquamacs, as long as some form of Emacs is already located in /Applications/Emacs.app.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top