Revert "Revert "fix: handle $(eval foo := $(var)) case""

This reverts commit 5fbd0bdf4551af6b9233a0d52e1138cfba882a93.

rhs should trim left after 1st eval
diff --git a/expr_test.go b/expr_test.go
index febe438..7cc7747 100644
--- a/expr_test.go
+++ b/expr_test.go
@@ -226,40 +226,46 @@
 				rhs: literal(""),
 			},
 		},
-		/*
-			{
-				in: `$(eval foo := $(bar))`,
-				val: &funcEvalAssign{
-					lhs: "foo",
-					op:  ":=",
-					rhs: varref{
-						literal("bar"),
+		{
+			in: `$(eval foo := $(bar))`,
+			val: &funcEvalAssign{
+				lhs: "foo",
+				op:  ":=",
+				rhs: varref{
+					literal("bar"),
+				},
+			},
+		},
+		{
+			in: `$(eval foo := $$(bar))`,
+			val: &funcEvalAssign{
+				lhs: "foo",
+				op:  ":=",
+				rhs: literal("$(bar)"),
+			},
+		},
+		{
+			in: `$(strip $1)`,
+			val: &funcStrip{
+				fclosure: fclosure{
+					args: []Value{
+						literal("(strip"),
+						paramref(1),
 					},
 				},
 			},
-			{
-				in: `$(strip $1)`,
-				val: &funcStrip{
-					fclosure: fclosure{
-						args: []Value{
-							literal("(strip"),
-							paramref(1),
-						},
+		},
+		{
+			in: `$(strip $(1))`,
+			val: &funcStrip{
+				fclosure: fclosure{
+					args: []Value{
+						literal("(strip"),
+						paramref(1),
 					},
 				},
 			},
-			{
-				in: `$(strip $(1))`,
-				val: &funcStrip{
-					fclosure: fclosure{
-						args: []Value{
-							literal("(strip"),
-							paramref(1),
-						},
-					},
-				},
-			},
-		*/
+		},
 	} {
 		val, _, err := parseExpr([]byte(tc.in), nil)
 		if tc.isErr {