summaryrefslogtreecommitdiff
path: root/plugins/emacs
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
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')
-rw-r--r--plugins/emacs/emacs.plugin.zsh7
-rwxr-xr-xplugins/emacs/emacsclient.sh12
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
}