Dec 05, 2018 But I’ve got nothing to hide! If you send something like the location of your extra house key to a family member or telling your colleague or friend what bank account to transfer money to using an unencrypted email, it is the equivalent of writing it on a postcard (no envelope), letting it take its routes through hundreds of prying eyes and unfaithful servants.
![](/uploads/1/2/6/5/126502752/180277108.png)
![Visit Emacsformacosx.com Visit Emacsformacosx.com](https://kieranhealy.org/img/emacs-starter-kit.jpg)
I've downloaded a copy of GUI emacs from and have been using it since then, but it crashes pretty often when I have 20+ frames opened. (I don't know if it's also the case for when there are just few frames.) I heard that if you use the version you have built from the source code, it rarely crashes. How can I do that for a GUI emacs? Can I build some source code?
I tried the terminal version of emacs before, but I learned that there was no way to move the cursor with the simple left clicks in it (It bypasses the left clicks. I could option-click, though). I'd like to move the cursor with clicks kind of frequently, so it should be the GUI version.Mac OS X Mountain Lion, Emacs 24.5.9.0 (also crashes frequently in 24.4). You can easily build from source with. Install Homebrew according to its installation instructions and then type $ brew install emacs -build-from-source -cocoato install the latest stable Emacs release from source.cocoa enables the GUI version.However,I heard that if you use the version you have built from the source code, it rarely crashes.this is a myth and nonsense.
Emacs rarely crashes generally, whether you use a binary or build from source. Building from source will not magically make Emacs more stable.Frequent crashes of Emacs indicate a deeper problem on your system, such as corrupted memory.
Since the upgrade to macOS Catalina, I’ve had two serious annoyances with. Here’s a little insight into how I fixed them. Issue 1: I Couldn’t Access Certain FoldersAfter the upgrade, Emacs was unable to access special folders, like the Documents folder. This is a ramification of the User Data Protection enhancements that were made in Catalina.Here’s the gist of why this exists: In a previous version, macOS started displaying user prompts (similar to iOS) to grant application permission for accessing things like contacts, photos, location, etc.
These prompts were displayed when using special APIs designated for those purposes.Alas, there was an easy way to bypass these prompts. Rather than using APIs to, say, access your contacts, you could just read the contact database via the filesystem. Catalina now enforces these permissions at the filesystem APIs, as well. This means that, because it doesn’t even ask for permission, Emacs is simply forbidden from accessing certain files.Apple did provide an escape hatch: Full Disk Access. You, the user, can provide this privilege to an application, and it is allowed to access all files that your user would otherwise be able to access.
It’s pretty easy: Go to the Security section of System Preferences, find Full Disk Access in the list, and then add Emacs:Butthis solution didn’t work. After doing this, I still couldn’t access my documents folder. Solving this is directly related to the second issue that’s been nagging me since the upgrade to Catalina. Issue 2: Spotlight Can’t Bring Emacs to the FrontI commonly switch between applications on macOS by pressing cmd-space to bring up Spotlight, then the first few letters of the application name, and finally return. It’s often quicker than finding the icon via cmd-tab.
Unfortunately, this method stopped working, too.As it turns out, the binary embedded in Emacs.app isactually not a binary. Instead, it’s a Ruby script. From the script:## This launcher code is from emacsformacosx.com and is not part of Emacs# proper. It exists so that there can be a single download that contains# binaries for all supported Mac OS X versions.## Why not just use a fat binary? Because fat binaries can only hold 1 of# each architecture and Emacs has multiple x8664 architectures binaries.## Why are there multiple x8664 binaries?
Because the Emacs source does OS# feature detection at compile time instead of at run-time. So if you build# Emacs on 10.9 then it will contain hard-coded calls to 10.9 APIs and will# not run on 10.6. If you compile it on 10.6, then it will also run on 10.9,# but it won't take advantage of any of the features in 10.9.#Although this never caused problems on prior versions of macOS, here, it is responsible for both of these issues:. Full disk access does not apply to Emacs because the permissions were not granted to /usr/bin/ruby.
Emacs can’t be launched again because it is already running, but the running binary doesn’t actually match the Ruby script. Spotlight gives up.The SolutionOn Catalina, the Ruby script will always choose to launch the bundled binary Emacs-x8664-1014. So, if you simply move it in place of the Emacs launcher script, everything starts working as normal. At the Terminal, just run these commands.
![](/uploads/1/2/6/5/126502752/180277108.png)