diff options
-rw-r--r-- | Src/Modules/mapfile.c | 3 | ||||
-rw-r--r-- | Src/Modules/parameter.c | 13 |
2 files changed, 11 insertions, 5 deletions
diff --git a/Src/Modules/mapfile.c b/Src/Modules/mapfile.c index 31265c0de..a3386ed2e 100644 --- a/Src/Modules/mapfile.c +++ b/Src/Modules/mapfile.c @@ -83,7 +83,8 @@ createmapfilehash() Param pm; HashTable ht; - unsetparam(mapfile_nam); + if ((pm = (Param) gethashnode2(paramtab, mapfile_nam))) + unsetparam_pm(pm, 0, 1); mapfile_pm = NULL; if (!(pm = createparam(mapfile_nam, PM_SPECIAL|PM_REMOVABLE|PM_HASHED))) diff --git a/Src/Modules/parameter.c b/Src/Modules/parameter.c index 10f61c0a5..08c95c610 100644 --- a/Src/Modules/parameter.c +++ b/Src/Modules/parameter.c @@ -617,23 +617,28 @@ boot_parameter(Module m) * As an example for autoloaded parameters, this is probably a bad * example, because we the zsh core doesn't support creation of * special hashes, yet. */ + Param pm; - unsetparam(PAR_NAM); + if ((pm = (Param) gethashnode2(paramtab, PAR_NAM))) + unsetparam_pm(pm, 0, 1); if (!(parpm = createspecialhash(PAR_NAM, getpmparameter, scanpmparameters))) return 1; parpm->flags |= PM_READONLY; - unsetparam(CMD_NAM); + if ((pm = (Param) gethashnode2(paramtab, CMD_NAM))) + unsetparam_pm(pm, 0, 1); if (!(cmdpm = createspecialhash(CMD_NAM, getpmcommand, scanpmcommands))) return 1; cmdpm->sets.hfn = setpmcommands; - unsetparam(FUN_NAM); + if ((pm = (Param) gethashnode2(paramtab, FUN_NAM))) + unsetparam_pm(pm, 0, 1); if (!(funpm = createspecialhash(FUN_NAM, getpmfunction, scanpmfunctions))) return 1; funpm->sets.hfn = setpmfunctions; - unsetparam(OPT_NAM); + if ((pm = (Param) gethashnode2(paramtab, OPT_NAM))) + unsetparam_pm(pm, 0, 1); if (!(optpm = createspecialhash(OPT_NAM, getpmoption, scanpmoptions))) return 1; |