about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Src/Modules/mapfile.c3
-rw-r--r--Src/Modules/parameter.c13
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;