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/emacsclient.sh | |
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/emacsclient.sh')
-rwxr-xr-x | plugins/emacs/emacsclient.sh | 12 |
1 files changed, 6 insertions, 6 deletions
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 } |