diff --git a/.config/zsh/tools.zsh b/.config/zsh/tools.zsh index 67b32ff..9cc758b 100644 --- a/.config/zsh/tools.zsh +++ b/.config/zsh/tools.zsh @@ -70,11 +70,18 @@ if [[ -z "$XDG_RUNTIME_DIR" ]]; then fi # Configure Emacs socket name based on platform +# These paths must match Emacs's default server-socket-dir behavior if [[ "$CURRENT_OS" = "Darwin" ]]; then - EMACS_SOCKET_NAME="${TMPDIR:-/tmp}emacs$(id -u)/server" + # Emacs on Darwin uses $TMPDIR/emacs (no UID in path) + EMACS_SOCKET_NAME="${TMPDIR%/}/emacs/server" export EMACS_SOCKET_NAME elif [[ "$CURRENT_OS" = "Linux" ]]; then - EMACS_SOCKET_NAME="${XDG_RUNTIME_DIR:-/tmp}/emacs/server" + # Emacs on Linux uses XDG_RUNTIME_DIR if available, otherwise /tmp/emacs + if [[ -n "$XDG_RUNTIME_DIR" ]]; then + EMACS_SOCKET_NAME="${XDG_RUNTIME_DIR}/emacs/server" + else + EMACS_SOCKET_NAME="/tmp/emacs$(id -u)/server" + fi export EMACS_SOCKET_NAME fi