mirror of
https://github.com/jimeh/build-emacs-for-macos.git
synced 2026-02-19 13:06:38 +00:00
This makes setting up a "emacs" terminal command that works with the
self-contained Emacs.app bundle much simpler, as you just need to add
Emacs.app/Conents/MacOS/bin to your PATH.
For example, if you place Emacs.app in /Applications, add this to your
shell setup:
if [ -d "/Applications/Emacs.app/Contents/MacOS/bin" ]; then
export PATH="/Applications/Emacs.app/Contents/MacOS/bin:$PATH"
alias emacs="emacs -nw" # Always launch "emacs" in terminal mode.
fi
The launcher script works by figuring out it's own absolute path on
disk, even if you are using a symlink to the script, it will resolve to
correct real path. This allows it to execute the main
Emacs.app/Contents/MacOS/Emacs executable via the correct path, so it
can correctly pick up its dependencies from within the Emacs.app bundle.
Fixes #41
24 lines
378 B
Bash
Executable File
24 lines
378 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
resolve_link() {
|
|
"$(type -p greadlink readlink | head -1)" "$1"
|
|
}
|
|
|
|
abs_dirname() {
|
|
local path="$1"
|
|
local name
|
|
local cwd
|
|
cwd="$(pwd)"
|
|
|
|
while [ -n "$path" ]; do
|
|
cd "${path%/*}" || exit 1
|
|
name="${path##*/}"
|
|
path="$(resolve_link "$name" || true)"
|
|
done
|
|
|
|
pwd
|
|
cd "$cwd" || exit 1
|
|
}
|
|
|
|
exec "$(dirname "$(abs_dirname "$0")")/Emacs" "$@"
|