diff options
author | soredake <soredake@users.noreply.github.com> | 2016-07-19 01:20:59 +0300 |
---|---|---|
committer | Marc Cornellà <marc.cornella@live.com> | 2016-07-19 00:20:59 +0200 |
commit | eb244d9ec03a5f83102efa89d8d2231282f3c408 (patch) | |
tree | 9b6e1b17e59999e149ebc79a4f6387d7b2e64df5 /plugins/emacs | |
parent | d0610931db7ed27cbd71afe42b627a3edacb000f (diff) | |
download | zsh-eb244d9ec03a5f83102efa89d8d2231282f3c408.tar.gz zsh-eb244d9ec03a5f83102efa89d8d2231282f3c408.tar.bz2 zsh-eb244d9ec03a5f83102efa89d8d2231282f3c408.zip |
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.
Diffstat (limited to 'plugins/emacs')
-rw-r--r-- | plugins/emacs/emacs.plugin.zsh | 7 | ||||
-rwxr-xr-x | plugins/emacs/emacsclient.sh | 12 |
2 files changed, 9 insertions, 10 deletions
diff --git a/plugins/emacs/emacs.plugin.zsh b/plugins/emacs/emacs.plugin.zsh index a3f0085a8..c102a5a1e 100644 --- a/plugins/emacs/emacs.plugin.zsh +++ b/plugins/emacs/emacs.plugin.zsh @@ -10,7 +10,7 @@ # - 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" # 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 e=emacs + # open terminal emacsclient + alias te="$EMACS_PLUGIN_LAUNCHER -nw" # same than M-x eval but from outside Emacs. alias eeval="$EMACS_PLUGIN_LAUNCHER --eval" # create a new X 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 # opened in the current buffer. diff --git a/plugins/emacs/emacsclient.sh b/plugins/emacs/emacsclient.sh index 41682512d..26b28d495 100755 --- a/plugins/emacs/emacsclient.sh +++ b/plugins/emacs/emacsclient.sh @@ -2,15 +2,15 @@ _emacsfun() { - # get list of available X windows. - x=`emacsclient --alternate-editor '' --eval '(x-display-list)' 2>/dev/null` + # get list of emacs frames. + frameslist=`emacsclient --alternate-editor '' --eval '(frame-list)' 2>/dev/null | egrep -o '(frame)+'` - if [ -z "$x" ] || [ "$x" = "nil" ] ;then - # Create one if there is no X window yet. - emacsclient --alternate-editor "" --create-frame "$@" - else + if [ "$(echo "$frameslist" | sed -n '$=')" -ge 2 ] ;then # prevent creating another X frame if there is at least one present. emacsclient --alternate-editor "" "$@" + else + # Create one if there is no X window yet. + emacsclient --alternate-editor "" --create-frame "$@" fi } |