- Fix pass of parameters

- Add new function `ecd'.
This commit is contained in:
Tristan Carel 2011-04-15 18:13:01 +02:00
parent a183bcbc6d
commit 49c0a1381a
2 changed files with 19 additions and 3 deletions

View File

@ -1,6 +1,6 @@
# Emacs 23 daemon capability is a killing feature.
# One emacs process handles all your frames whether
# you use a frame opened in a terminal via a ssh connection or X frames
# you use a frame opened in a terminal via a ssh connection or X frames
# opened on the same host.
# Benefits are multiple
@ -23,8 +23,24 @@ if "$ZSH/tools/require_tool.sh" emacs 23 2>/dev/null ; then
# to code all night long
alias emasc=emacs
alias emcas=emacs
# jump to the directory of the current buffer
function ecd {
local cmd="(let ((buf-name (buffer-file-name (window-buffer))))
(if buf-name
(file-name-directory buf-name)))"
local dir=`$EDITOR --eval "$cmd" | tr -d \"`
if [ -n "$dir" ] ;then
cd "$dir"
else
echo "can not deduce current buffer filename." >/dev/stderr
return 1
fi
}
fi
## Local Variables:
## mode: sh
## End:

View File

@ -4,8 +4,8 @@
x=`emacsclient --alternate-editor '' --eval '(x-display-list)' 2>/dev/null`
if [ -z "$x" ] ;then
emacsclient --alternate-editor "" --create-frame $@
emacsclient --alternate-editor "" --create-frame "$@"
else
# prevent creating another X frame if there is at least one present.
emacsclient --alternate-editor "" $@
emacsclient --alternate-editor "" "$@"
fi