about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--Src/builtin.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 310f47110..b102fd466 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,6 @@
 2015-01-10  Barton E. Schaefer  <schaefer@zsh.org>
 
-	* 34212: Src/builtin.c: do not change unset-ness of special
+	* 34212, 34313: Src/builtin.c: do not change unset-ness of special
 	parameters when exporting them
 
 2015-01-09  Barton E. Schaefer  <schaefer@zsh.org>
diff --git a/Src/builtin.c b/Src/builtin.c
index 8dee8f910..9258ddb6e 100644
--- a/Src/builtin.c
+++ b/Src/builtin.c
@@ -1934,7 +1934,7 @@ typeset_single(char *cname, char *pname, Param pm, UNUSED(int func),
      * We need to compare types with an existing pm if special,
      * even if that's unset
      */
-    if (pm && (pm->node.flags & PM_SPECIAL))
+    if (!usepm && pm && (pm->node.flags & PM_SPECIAL))
 	usepm = 2;	/* indicate that we preserve the PM_UNSET flag */
 
     /*