zshrc: autoloading is-at-least again
[grml-etc-core.git] / etc / zsh / zshrc
index f9017c0..bcddaf6 100644 (file)
@@ -289,6 +289,11 @@ is43(){
     return 1
 }
 
+# Use is-at-least, if you need to check more precisely.
+# Note that this test will *always* fail, if the is-at-least
+# function could not be marked for autoloading.
+zrcautoload is-at-least || is-at-least() { return 1 }
+
 #f1# Checks whether or not you're running grml
 isgrml(){
     [[ -f /etc/grml_version ]] && return 0
@@ -331,6 +336,33 @@ isgrml && checkhome() {
         cd
     fi
 }
+
+# check for zsh v3.1.7+
+
+if ! [[ ${ZSH_VERSION} == 3.1.<7->*      \
+     || ${ZSH_VERSION} == 3.<2->.<->*    \
+     || ${ZSH_VERSION} == <4->.<->*   ]] ; then
+
+    printf '-!-\n'
+    printf '-!- In this configuration we try to make use of features, that only\n'
+    printf '-!- require version 3.1.7 of the shell; That way this setup can be\n'
+    printf '-!- used with a wide range of zsh versions, while using fairly\n'
+    printf '-!- advanced features in all supported versions.\n'
+    printf '-!-\n'
+    printf '-!- However, you are running zsh version %s.\n' "$ZSH_VERSION"
+    printf '-!-\n'
+    printf '-!- While this *may* work, it might as well fail.\n'
+    printf '-!- Please consider updating to at least version 3.1.7 of zsh.\n'
+    printf '-!-\n'
+    printf '-!- DO NOT EXPECT THIS TO WORK FLAWLESSLY!\n'
+    printf '-!- If it does today, you'\''ve been lucky.\n'
+    printf '-!-\n'
+    printf '-!- Ye been warned!\n'
+    printf '-!-\n'
+
+    function zstyle() { : }
+fi
+
 # }}}
 
 # {{{ set some variables
@@ -342,7 +374,7 @@ else
 fi
 
 #v#
-(( ${+PAGER} )) || export PAGER="less"
+export PAGER=${PAGER:-less}
 
 #v#
 export MAIL=${MAIL:-/var/mail/$USER}
@@ -354,7 +386,7 @@ export SHELL='/bin/zsh'
 check_com -c dircolors && eval $(dircolors -b)
 
 # set width of man pages to 80 for more convenient reading
-# (( ${+MANWIDTH} )) || export MANWIDTH=80
+# export MANWIDTH=${MANWIDTH:-80}
 
 # Search path for the cd command
 #  cdpath=(.. ~)
@@ -844,6 +876,7 @@ setopt extended_glob        # in order to use #, ~ and ^ for filename generation
                             # grep word *~(*.gz|*.bz|*.bz2|*.zip|*.Z) ->
                             # -> searches for word not in compressed files
                             # don't forget to quote '^', '~' and '#'!
+setopt longlistjobs         # display PID when suspending processes as well
 setopt notify               # report the status of backgrounds jobs immediately
 setopt hash_list_all        # Whenever a command completion is attempted, make sure \
                             # the entire command path is hashed first.