2fba4486bfa63cf2a4a11a34c94ce123127ef4c9

Author
Tristan Carel <tcarel@exalead.com>
Committer
Tristan Carel <tcarel@exalead.com>
Date

Message

Add new plugin emacs, to take benefit of daemon capabilities of emacs >=23

Diff

 1diff --git a/plugins/emacs/emacs.plugin.zsh b/plugins/emacs/emacs.plugin.zsh
 2new file mode 100644
 3index 0000000000000000000000000000000000000000..bca79e70e67989d30e6ec81c1ce575e6fb67ea8f
 4--- /dev/null
 5+++ b/plugins/emacs/emacs.plugin.zsh
 6@@ -0,0 +1,11 @@
 7+# Use daemon capabilities of emacs 23
 8+if "$ZSH/tools/require_tool.sh" emacs 23 2>/dev/null ; then
 9+    export EDITOR="$ZSH/plugins/emacs/emacsclient.sh"
10+    alias emacs="$EDITOR --no-wait"
11+    alias e=emacs
12+
13+    alias emasc=emacs
14+    alias emcas=emacs
15+    # create a new X frame
16+    alias emacs_frame='emacsclient --alternate-editor "" --create-frame'
17+fi
18diff --git a/plugins/emacs/emacsclient.sh b/plugins/emacs/emacsclient.sh
19new file mode 100755
20index 0000000000000000000000000000000000000000..3475926a61aa44a6405c15913898f7da12d993d2
21--- /dev/null
22+++ b/plugins/emacs/emacsclient.sh
23@@ -0,0 +1,10 @@
24+#!/bin/sh
25+
26+# Starts emacs daemon if not already started.
27+
28+x=`emacsclient --alternate-editor '' --eval '(x-display-list)' 2>/dev/null`
29+if [ -z "$x" ] ;then
30+    emacsclient --alternate-editor "" --create-frame $@
31+else
32+    emacsclient --alternate-editor "" $@
33+fi