Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

PATCH: Module loading when ARGV0=sh



Turns out that 17537 was a bit too aggressive:  The module dependencies
need to be set up even if the autoloads are not.

E.g.:

ARGV0=sh /usr/local/bin/zsh-4.0.6 -f
zsh: failed to load module: zsh/compctl
$ 

The failure occurrs because zsh/complete is not loaded and the dependency
of zsh/compctl upon it was not established.

The following takes care of it.

Index: Src/mkbltnmlst.sh
===================================================================
diff -c -r1.2 mkbltnmlst.sh
--- Src/mkbltnmlst.sh	1 Sep 2002 16:47:38 -0000	1.2
+++ Src/mkbltnmlst.sh	19 Sep 2002 18:02:41 -0000
@@ -20,7 +20,6 @@
 
 exec > $1
 
-echo "  if (emulation == EMULATE_ZSH) {"
 for x_mod in $x_mods; do
     modfile="`grep '^name='$x_mod' ' $CFMOD | sed -e 's/^.* modfile=//' \
       -e 's/ .*//'`"
@@ -41,6 +40,7 @@
     unset moddeps autobins autoinfixconds autoprefixconds autoparams
     unset automathfuncs
     . $srcdir/../$modfile
+    echo "  if (emulation == EMULATE_ZSH) {"
     for bin in $autobins; do
 	echo "    add_autobin(\"$bin\", \"$x_mod\");"
     done
@@ -56,12 +56,12 @@
     for mfunc in $automathfuncs; do
 	echo "    add_automath(\"$mfunc\", \"$x_mod\");"
     done
+    echo "  }"
     for dep in $moddeps; do
-	echo "    add_dep(\"$x_mod\", \"$dep\");"
+	echo "  add_dep(\"$x_mod\", \"$dep\");"
     done
     test "x$linked" = xno && echo "#endif"
 done
-echo "  }"
 
 echo
 done_mods=" "

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com

Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net   



Messages sorted by: Reverse Date, Date, Thread, Author