missed -l for print in chdir()... I need sleep.
[grml-etc-core.git] / etc / zsh / zshrc
index 89beb36..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 :-/
@@ -871,7 +871,7 @@ if [[ -f ~/.zdirs ]] && [[ ${#dirstack[*]} -eq 0 ]] ; then
 fi
 
 chpwd() {
-    builtin dirs -pl >! ~/.zdirs
+    builtin print -l ${(u)dirstack} >! ~/.zdirs
 }
 
 # }}}
@@ -1005,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