Mercurial > hg > xemacs-beta
diff lib-src/emacs.csh @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:45:50 +0200 |
parents | |
children | 06dd936cde16 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib-src/emacs.csh Mon Aug 13 08:45:50 2007 +0200 @@ -0,0 +1,25 @@ +# This defines a csh command named `edit' which resumes an +# existing Emacs or starts a new one if none exists. +# One way or another, any arguments are passed to Emacs to specify files +# (provided you have loaded `resume.el'). +# - Michael DeCorte + +# These are the possible values of $whichjob +# 1 = new ordinary emacs (the -nw is so that it doesn't try to do X) +# 2 = resume emacs +# 3 = new emacs under X (-i is so that you get a reasonable icon) +# 4 = resume emacs under X +# 5 = new emacs under suntools +# 6 = resume emacs under suntools +# 7 = new emacs under X and suntools - doesn't make any sense, so use X +# 8 = resume emacs under X and suntools - doesn't make any sense, so use X +set EMACS_PATTERN="^\[[0-9]\] . Stopped ............ $EMACS" + +alias edit 'set emacs_command=("emacs -nw \!*" "fg %emacs" "emacs -i \!* &"\ + "emacsclient \!* &" "emacstool \!* &" "emacsclient \!* &" "emacs -i \!* &"\ + "emacsclient \!* &") ; \ + jobs >! $HOME/.jobs; grep "$EMACS_PATTERN" < $HOME/.jobs >& /dev/null; \ + @ isjob = ! $status; \ + @ whichjob = 1 + $isjob + $?DISPLAY * 2 + $?WINDOW_PARENT * 4; \ + test -S ~/.emacs_server && emacsclient \!* \ + || echo `pwd` \!* >! ~/.emacs_args && eval $emacs_command[$whichjob]'