#!/usr/bin/env bash # $Id: yemacs,v 1.13 2011/12/05 21:56:03 friedman Exp $ client() { PATH=$ydir/src:$ydir/lib-src:$PATH EMACS_SERVER_FILE=gnuedit export EMACS_SERVER_FILE exec emacsclient --no-wait --eval "$@" > /dev/null } main() { builddirs=" $HOME/src/emacs/build/current /export/src/emacs/build/current " case $1 in -login ) progname=-emacs ; shift ;; * ) progname=emacs ;; esac for dir in $builddirs; do if [ -d $dir -a -f $dir/src/emacs ]; then ydir=`cd $dir && /bin/pwd` case $progname in emacs ) progname="$progname (${ydir##*/})" ;; esac test -e "$ydir/src/$progname" || ln -s emacs "$ydir/src/$progname" fi done case $1 in -attach ) case $DISPLAY in '' ) client "(make-frame-on-tty \"`tty`\" \"$TERM\")" ;; * ) client "(make-frame-on-display \"$DISPLAY\")" ;; esac ;; esac YEMACS_EXECDIR=$ydir/src PATH=$YEMACS_EXECDIR:$PATH export YEMACS_EXECDIR PATH exec -a "$progname" $ydir/src/emacs "$@" exec emacs "$@" } main "$@" # eof