zshrc: Don't use is-at-least anymore
[grml-etc-core.git] / etc / zsh / zshrc
index b57a7ee..1e799c6 100644 (file)
@@ -247,20 +247,25 @@ unset xof
 
 # {{{ check for version/system
 # check for versions (compatibility reasons)
-if autoload is-at-least && is-at-least 2>/dev/null ; then
-    is4()  { is-at-least 4 }
-    is41() { is-at-least 4.1 }
-    is42() { is-at-least 4.2 }
-else
-    is4(){
-        [[ $ZSH_VERSION == 4.* ]] && return 0
-        return 1
-    }
-    is42(){
-        [[ $ZSH_VERSION == 4.<2->* ]] && return 0
-        return 1
-    }
-fi
+is4(){
+    [[ $ZSH_VERSION == <4->* ]] && return 0
+    return 1
+}
+
+is41(){
+    [[ $ZSH_VERSION == 4.<1->* || $ZSH_VERSION == <5->* ]] && return 0
+    return 1
+}
+
+is42(){
+    [[ $ZSH_VERSION == 4.<2->* || $ZSH_VERSION == <5->* ]] && return 0
+    return 1
+}
+
+is43(){
+    [[ $ZSH_VERSION == 4.<3->* || $ZSH_VERSION == <5->* ]] && return 0
+    return 1
+}
 
 #f1# Checks whether or not you're running grml
 isgrml(){
@@ -307,14 +312,17 @@ isgrml && checkhome() {
 # }}}
 
 # {{{ set some variables
-#v#
 if check_com -c vim ; then
+#v#
     export EDITOR=${EDITOR:-vim}
 else
     export EDITOR=${EDITOR:-vi}
 fi
+
 #v#
+(( ${+PAGER} )) || export PAGER="less"
 
+#v#
 export MAIL=${MAIL:-/var/mail/$USER}
 
 # if we don't set $SHELL then aterm, rxvt,.. will use /bin/sh or /bin/bash :-/
@@ -335,7 +343,7 @@ check_com -c dircolors && eval $(dircolors -b)
 if [[ -n "$BROKEN_COMPLETION_DIR" ]] ; then
     print 'Warning: not setting completion directories because broken files have been found.' >&2
 else
-    [[ -d /etc/zsh/completion.d ]] && fpath+=( /etc/zsh/completion.d )
+    [[ -d /etc/zsh/completion.d ]] && fpath=( $fpath /etc/zsh/completion.d )
     if [[ -d /etc/zsh/functions.d ]] ; then
         fpath+=( /etc/zsh/functions.d )
         for func in /etc/zsh/functions.d/[^_]*[^~] ; do
@@ -871,7 +879,7 @@ if [[ -f ~/.zdirs ]] && [[ ${#dirstack[*]} -eq 0 ]] ; then
 fi
 
 chpwd() {
-    builtin dirs -pl >! ~/.zdirs
+    builtin print -l ${(u)dirstack} >! ~/.zdirs
 }
 
 # }}}
@@ -1356,7 +1364,7 @@ fi
 
 # {{{ Use hard limits, except for a smaller stack and no core dumps
 unlimit
-limit stack 8192
+is4 && limit stack 8192
 isgrmlcd && limit core 0 # important for a live-cd-system
 limit -s
 # }}}
@@ -1650,13 +1658,13 @@ else
     # manzsh()  { man zshall | $MYLESS -p $1 ; }
 fi
 
-if check_com -c most ; then
+if check_com -c $PAGER ; then
     #f1# View Debian's changelog of a given package
     dchange() {
         if [[ -r /usr/share/doc/${1}/changelog.Debian.gz ]] ; then
-            most /usr/share/doc/${1}/changelog.Debian.gz
+            $PAGER /usr/share/doc/${1}/changelog.Debian.gz
         elif [[ -r /usr/share/doc/${1}/changelog.gz ]] ; then
-            most /usr/share/doc/${1}/changelog.gz
+            $PAGER /usr/share/doc/${1}/changelog.gz
         else
             if check_com -c aptitude ; then
                 echo "No changelog for package $1 found, using aptitude to retrieve it."
@@ -1677,10 +1685,10 @@ if check_com -c most ; then
     #f1# View Debian's NEWS of a given package
     dnews() {
         if [[ -r /usr/share/doc/${1}/NEWS.Debian.gz ]] ; then
-            most /usr/share/doc/${1}/NEWS.Debian.gz
+            $PAGER /usr/share/doc/${1}/NEWS.Debian.gz
         else
             if [[ -r /usr/share/doc/${1}/NEWS.gz ]] ; then
-                most /usr/share/doc/${1}/NEWS.gz
+                $PAGER /usr/share/doc/${1}/NEWS.gz
             else
                 echo "No NEWS file for package $1 found, sorry."
                 return 1
@@ -1693,7 +1701,7 @@ if check_com -c most ; then
     #f1# View upstream's changelog of a given package
     uchange() {
         if [[ -r /usr/share/doc/${1}/changelog.gz ]] ; then
-            most /usr/share/doc/${1}/changelog.gz
+            $PAGER /usr/share/doc/${1}/changelog.gz
         else
             echo "No changelog for package $1 found, sorry."
             return 1