missed -l for print in chdir()... I need sleep.
[grml-etc-core.git] / etc / zsh / zshrc
index 028354c..ab04101 100644 (file)
@@ -307,14 +307,14 @@ isgrml && checkhome() {
 # }}}
 
 # {{{ set some variables
-#v#
 if check_com -c vim ; then
+#v#
     export EDITOR=${EDITOR:-vim}
 else
     export EDITOR=${EDITOR:-vi}
 fi
-#v#
 
+#v#
 export MAIL=${MAIL:-/var/mail/$USER}
 
 # if we don't set $SHELL then aterm, rxvt,.. will use /bin/sh or /bin/bash :-/
@@ -422,6 +422,10 @@ bindkey '^Xi' insert-unicode-char
 #
 # For a broader description, see:
 # <http://bewatermyfriend.org/posts/2007/12-26.11-50-38-tooltime.html>
+#
+# The code is imported from the file 'zsh/functions/accept-line' from
+# <http://ft.bewatermyfriend.org/comp/zsh/zsh-dotfiles.tar.bz2>, which
+# distributed under the same terms as zsh itself.
 
 # A newly added command will may not be found or will cause false
 # correction attempts, if you got auto-correction set. By setting the
@@ -867,7 +871,7 @@ if [[ -f ~/.zdirs ]] && [[ ${#dirstack[*]} -eq 0 ]] ; then
 fi
 
 chpwd() {
-    builtin dirs -pl >! ~/.zdirs
+    builtin print -l ${(u)dirstack} >! ~/.zdirs
 }
 
 # }}}
@@ -1001,7 +1005,7 @@ is4 && [[ -z $NOPRECMD ]] && \
 preexec () {
     [[ -n $NOPRECMD ]] && return 0
 # set hostname if not running on host with name 'grml'
-    if [[ "$HOSTNAME" != $(hostname) ]] ; then
+    if [[ -n "$HOSTNAME" ]] && [[ "$HOSTNAME" != $(hostname) ]] ; then
        NAME="@$HOSTNAME"
     fi
 # get the name of the program currently running and hostname of local machine