Bash-4.3 distribution sources and documentation
diff --git a/builtins/eval.def b/builtins/eval.def
index ee9a23d..5e824c9 100644
--- a/builtins/eval.def
+++ b/builtins/eval.def
@@ -53,6 +53,5 @@
     return (EX_USAGE);
   list = loptend;	/* skip over possible `--' */
 
-  /* Note that parse_and_execute () frees the string it is passed. */
-  return (list ? parse_and_execute (string_list (list), "eval", SEVAL_NOHIST) : EXECUTION_SUCCESS);
+  return (list ? evalstring (string_list (list), "eval", SEVAL_NOHIST) : EXECUTION_SUCCESS);
 }