summaryrefslogtreecommitdiff
path: root/plugins/emacs/emacsclient.sh
diff options
context:
space:
mode:
authorsoredake <soredake@users.noreply.github.com>2016-07-19 01:20:59 +0300
committerMarc Cornellà <marc.cornella@live.com>2016-07-19 00:20:59 +0200
commiteb244d9ec03a5f83102efa89d8d2231282f3c408 (patch)
tree9b6e1b17e59999e149ebc79a4f6387d7b2e64df5 /plugins/emacs/emacsclient.sh
parentd0610931db7ed27cbd71afe42b627a3edacb000f (diff)
downloadzsh-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-xplugins/emacs/emacsclient.sh12
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
}