dc1902
diff -up ksh-20120801/src/cmd/ksh93/sh/macro.c.bz1222025 ksh-20120801/src/cmd/ksh93/sh/macro.c
dc1902
--- ksh-20120801/src/cmd/ksh93/sh/macro.c.bz1222025	2015-09-15 17:28:47.304722569 +0200
dc1902
+++ ksh-20120801/src/cmd/ksh93/sh/macro.c	2015-09-17 17:49:46.842891942 +0200
dc1902
@@ -1195,6 +1195,13 @@ retry1:
dc1902
 		}
dc1902
 		else
dc1902
 			v = 0;
dc1902
+		if(!v && sh_isoption(SH_NOUNSET))
dc1902
+		{
dc1902
+			d=fcget();
dc1902
+			fcseek(-1);
dc1902
+			if(!(d && strchr(":+-?=",d)))
dc1902
+				errormsg(SH_DICT,ERROR_exit(1),e_notset,ltos(c));
dc1902
+		}
dc1902
 		break;
dc1902
 	    case S_ALP:
dc1902
 		if(c=='.' && type==0)