Revert removal of xunfunction(), people are using it already
authorMichael Prokop <mika@grml.org>
Wed, 6 Aug 2008 21:43:53 +0000 (23:43 +0200)
committerMichael Prokop <mika@grml.org>
Wed, 6 Aug 2008 21:43:53 +0000 (23:43 +0200)
debian/changelog
etc/zsh/zshrc

index 3ce0750..e0504fc 100644 (file)
@@ -5,7 +5,7 @@ grml-etc-core (0.3.51) unstable; urgency=low
   [ Frank Terbeck ]
   * zshrc: Add persistent dirstack support for shells older than 4.2.0
   * zshrc: Make ',.' abbreviation optional [Closes: issue445]
-  * zshrc: remove xunfunction() altogether; it prevented things like
+  * zshrc: do not use xunfunction() anymore; it prevented things like
            'source ~/.zshrc' from working.
 
   [ Michael Gebetsroither ]
index ce69695..f8d8bb7 100644 (file)
@@ -3,7 +3,7 @@
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # License:       This file is licensed under the GPL v2.
-# Latest change: Sun Aug 03 20:23:34 CEST 2008 [mika]
+# Latest change: Mit Aug 06 23:39:53 CEST 2008 [mika]
 ################################################################################
 # This file is sourced only for interactive shells. It
 # should contain commands to set up aliases, functions,
@@ -306,6 +306,19 @@ xcat() {
     return 0
 }
 
+# Remove these functions again, they are of use only in these
+# setup files. This should be called at the end of .zshrc.
+xunfunction() {
+    local -a funcs
+    funcs=(salias xcat xsource xunfunction zrcautoload)
+
+    for func in $funcs ; do
+        [[ -n ${functions[$func]} ]] \
+            && unfunction $func
+    done
+    return 0
+}
+
 # autoload wrapper - use this one instead of autoload directly
 function zrcautoload() {
     setopt local_options extended_glob