From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5418 invoked from network); 5 Jan 1999 13:13:18 -0000 Received: from math.gatech.edu (list@130.207.146.50) by ns1.primenet.com.au with SMTP; 5 Jan 1999 13:13:18 -0000 Received: (from list@localhost) by math.gatech.edu (8.9.1/8.9.1) id IAA04140; Tue, 5 Jan 1999 08:07:16 -0500 (EST) Resent-Date: Tue, 5 Jan 1999 08:07:16 -0500 (EST) Date: Tue, 5 Jan 1999 14:05:27 +0100 (MET) Message-Id: <199901051305.OAA26041@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@math.gatech.edu Subject: PATCH: minor module-condition fixes Resent-Message-ID: <"N4_7R2.0.d01.3wWas"@math> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/4880 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu The patch below fixes: - The code in code.c printed an extra `-' before the condition name. - Defining autoloaded condition codes in the .mdd files wasn't possible until now (the patch makes `auto{in,pre}fixconds' be used). Bye Sven *** Util/zsh-development-guide.old Tue Jan 5 14:00:05 1999 --- Util/zsh-development-guide Tue Jan 5 14:01:12 1999 *************** *** 120,134 **** is build. To describe the module it can/should set the following shell variables: ! - moddeps modules on which this module depends (default none) ! - nozshdep non-empty indicates no dependence on the `zsh' pseudo-module ! - alwayslink if non-empty, always link the module into the executable ! - autobins builtins defined by the module, for autoloading ! - objects .o files making up this module (*must* be defined) ! - proto .pro files for this module (default generated from $objects) ! - headers extra headers for this module (default none) ! - hdrdeps extra headers on which the .mdh depends (default none) ! - otherincs extra headers that are included indirectly (default none) Be sure to put the values in quotes. For further enlightenment have a look at the `mkmakemod.sh' script in the Src directory of the --- 120,137 ---- is build. To describe the module it can/should set the following shell variables: ! - moddeps modules on which this module depends (default none) ! - nozshdep non-empty indicates no dependence on the `zsh' pseudo-module ! - alwayslink if non-empty, always link the module into the executable ! - autobins builtins defined by the module, for autoloading ! - autoinfixconds infix condition codes defined by the module, for ! autoloading (without the leading `-') ! - autoprefixconds like autoinfixconds, but for prefix condition codes ! - objects .o files making up this module (*must* be defined) ! - proto .pro files for this module (default generated from $objects) ! - headers extra headers for this module (default none) ! - hdrdeps extra headers on which the .mdh depends (default none) ! - otherincs extra headers that are included indirectly (default none) Be sure to put the values in quotes. For further enlightenment have a look at the `mkmakemod.sh' script in the Src directory of the diff -c os/cond.c Src/cond.c *** os/cond.c Fri Dec 18 10:06:36 1998 --- Src/cond.c Tue Jan 5 13:50:40 1999 *************** *** 54,60 **** int l = arrlen((char **) c->right); if (l < cd->min || (cd->max >= 0 && l > cd->max)) { ! zerr("unrecognized condition: `-%s'", (char *) c->left, 0); return 0; } } --- 54,60 ---- int l = arrlen((char **) c->right); if (l < cd->min || (cd->max >= 0 && l > cd->max)) { ! zerr("unrecognized condition: `%s'", (char *) c->left, 0); return 0; } } *************** *** 68,80 **** int l = arrlen(a); if (l < cd->min || (cd->max >= 0 && l > cd->max)) { ! zerr("unrecognized condition: `-%s'", (char *) c->left, 0); return 0; } a[0] = (char *) c->left; return cd->handler(a, cd->condid); } else ! zerr("unrecognized condition: `-%s'", (char *) c->left, 0); } return 0; } --- 68,80 ---- int l = arrlen(a); if (l < cd->min || (cd->max >= 0 && l > cd->max)) { ! zerr("unrecognized condition: `%s'", (char *) c->left, 0); return 0; } a[0] = (char *) c->left; return cd->handler(a, cd->condid); } else ! zerr("unrecognized condition: `%s'", (char *) c->left, 0); } return 0; } diff -c os/mkbltnmlst.sh Src/mkbltnmlst.sh *** os/mkbltnmlst.sh Tue Jan 5 13:51:24 1999 --- Src/mkbltnmlst.sh Tue Jan 5 13:53:26 1999 *************** *** 24,33 **** *" $x_mod "*) ;; *) echo "/* non-linked-in known module \`$x_mod' */" eval "loc=\$loc_$x_mod" ! unset moddeps autobins . $srcdir/../$loc/${x_mod}.mdd for bin in $autobins; do echo " add_autobin(\"$bin\", \"$x_mod\");" done for dep in $moddeps; do case $bin_mods in --- 24,39 ---- *" $x_mod "*) ;; *) echo "/* non-linked-in known module \`$x_mod' */" eval "loc=\$loc_$x_mod" ! unset moddeps autobins autoinfixconds autoprefixconds . $srcdir/../$loc/${x_mod}.mdd for bin in $autobins; do echo " add_autobin(\"$bin\", \"$x_mod\");" + done + for cond in $autoinfixconds; do + echo " add_autocond(\"$cond\", 1, \"$x_mod\");" + done + for cond in $autoprefixconds; do + echo " add_autocond(\"$cond\", 0, \"$x_mod\");" done for dep in $moddeps; do case $bin_mods in diff -c os/mkmakemod.sh Src/mkmakemod.sh *** os/mkmakemod.sh Tue Jan 5 13:51:24 1999 --- Src/mkmakemod.sh Tue Jan 5 13:56:31 1999 *************** *** 17,31 **** # defines one module. The .mdd file is actually a shell script, which will # be sourced. It may define the following shell variables: # ! # moddeps modules on which this module depends (default none) ! # nozshdep non-empty indicates no dependence on the `zsh' pseudo-module ! # alwayslink if non-empty, always link the module into the executable ! # autobins builtins defined by the module, for autoloading ! # objects .o files making up this module (*must* be defined) ! # proto .pro files for this module (default generated from $objects) ! # headers extra headers for this module (default none) ! # hdrdeps extra headers on which the .mdh depends (default none) ! # otherincs extra headers that are included indirectly (default none) # # The .mdd file may also include a Makefile.in fragment between lines # `:<<\Make' and `Make' -- this will be copied into Makemod.in. --- 17,34 ---- # defines one module. The .mdd file is actually a shell script, which will # be sourced. It may define the following shell variables: # ! # moddeps modules on which this module depends (default none) ! # nozshdep non-empty indicates no dependence on the `zsh' pseudo-module ! # alwayslink if non-empty, always link the module into the executable ! # autobins builtins defined by the module, for autoloading ! # autoinfixconds infix condition codes defined by the module, for ! # autoloading (without the leading `-') ! # autoprefixconds like autoinfixconds, but for prefix condition codes ! # objects .o files making up this module (*must* be defined) ! # proto .pro files for this module (default generated from $objects) ! # headers extra headers for this module (default none) ! # hdrdeps extra headers on which the .mdh depends (default none) ! # otherincs extra headers that are included indirectly (default none) # # The .mdd file may also include a Makefile.in fragment between lines # `:<<\Make' and `Make' -- this will be copied into Makemod.in. *************** *** 167,173 **** for module in $here_modules; do unset moddeps nozshdep alwayslink hasexport ! unset autobins unset objects proto headers hdrdeps otherincs . $top_srcdir/$the_subdir/${module}.mdd test -n "${moddeps+set}" || moddeps= --- 170,176 ---- for module in $here_modules; do unset moddeps nozshdep alwayslink hasexport ! unset autobins autoinfixconds autoprefixconds unset objects proto headers hdrdeps otherincs . $top_srcdir/$the_subdir/${module}.mdd test -n "${moddeps+set}" || moddeps= diff -c os/Modules/example.mdd Src/Modules/example.mdd *** os/Modules/example.mdd Tue Jan 5 13:51:44 1999 --- Src/Modules/example.mdd Tue Jan 5 13:56:59 1999 *************** *** 1,3 **** --- 1,6 ---- autobins="example" + autoinfixconds="ex" + autoprefixconds="len" + objects="example.o" -- Sven Wischnowsky wischnow@informatik.hu-berlin.de