Update emacs plugin. (#5201)

- Updated minimal version from 23 to 24.
- Added new aliases that fix unexpected close with -nw option.
- Removed some old aliases.
- Fixed line that detects open frames.
This commit is contained in:
soredake 2016-07-19 01:20:59 +03:00 committed by Marc Cornellà
parent d0610931db
commit eb244d9ec0
2 changed files with 9 additions and 10 deletions

View file

@ -10,7 +10,7 @@
# - Configuration changes made at runtime are applied to all frames. # - Configuration changes made at runtime are applied to all frames.
if "$ZSH/tools/require_tool.sh" emacs 23 2>/dev/null ; then if "$ZSH/tools/require_tool.sh" emacs 24 2>/dev/null ; then
export EMACS_PLUGIN_LAUNCHER="$ZSH/plugins/emacs/emacsclient.sh" export EMACS_PLUGIN_LAUNCHER="$ZSH/plugins/emacs/emacsclient.sh"
# set EDITOR if not already defined. # set EDITOR if not already defined.
@ -18,15 +18,14 @@ if "$ZSH/tools/require_tool.sh" emacs 23 2>/dev/null ; then
alias emacs="$EMACS_PLUGIN_LAUNCHER --no-wait" alias emacs="$EMACS_PLUGIN_LAUNCHER --no-wait"
alias e=emacs alias e=emacs
# open terminal emacsclient
alias te="$EMACS_PLUGIN_LAUNCHER -nw"
# same than M-x eval but from outside Emacs. # same than M-x eval but from outside Emacs.
alias eeval="$EMACS_PLUGIN_LAUNCHER --eval" alias eeval="$EMACS_PLUGIN_LAUNCHER --eval"
# create a new X frame # create a new X frame
alias eframe='emacsclient --alternate-editor "" --create-frame' alias eframe='emacsclient --alternate-editor "" --create-frame'
# to code all night long
alias emasc=emacs
alias emcas=emacs
# Write to standard output the path to the file # Write to standard output the path to the file
# opened in the current buffer. # opened in the current buffer.

View file

@ -2,15 +2,15 @@
_emacsfun() _emacsfun()
{ {
# get list of available X windows. # get list of emacs frames.
x=`emacsclient --alternate-editor '' --eval '(x-display-list)' 2>/dev/null` frameslist=`emacsclient --alternate-editor '' --eval '(frame-list)' 2>/dev/null | egrep -o '(frame)+'`
if [ -z "$x" ] || [ "$x" = "nil" ] ;then if [ "$(echo "$frameslist" | sed -n '$=')" -ge 2 ] ;then
# Create one if there is no X window yet.
emacsclient --alternate-editor "" --create-frame "$@"
else
# prevent creating another X frame if there is at least one present. # prevent creating another X frame if there is at least one present.
emacsclient --alternate-editor "" "$@" emacsclient --alternate-editor "" "$@"
else
# Create one if there is no X window yet.
emacsclient --alternate-editor "" --create-frame "$@"
fi fi
} }