if (wl == &parse_string_error)
{
set_exit_status (EXECUTION_FAILURE);
+ current_token = '\n'; /* XXX */
if (interactive_shell == 0 && posixly_correct)
jump_to_top_level (FORCE_EOF);
else
- jump_to_top_level (DISCARD);
+ {
+ if (executing && parse_and_execute_level == 0)
+ top_level_cleanup ();
+ jump_to_top_level (DISCARD);
+ }
}
return (REVERSE_LIST (wl, WORD_LIST *));
if (wl == &parse_string_error)
{
set_exit_status (EXECUTION_FAILURE);
- last_read_token = '\n'; /* XXX */
+ last_read_token = current_token = '\n'; /* XXX */
if (interactive_shell == 0 && posixly_correct)
jump_to_top_level (FORCE_EOF);
else
- jump_to_top_level (DISCARD);
+ {
+ if (executing && parse_and_execute_level == 0)
+ top_level_cleanup ();
+ jump_to_top_level (DISCARD);
+ }
}
if (wl)
regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
looks for to find the patch level (for the sccs version string). */
-#define PATCHLEVEL 28
+#define PATCHLEVEL 29
#endif /* _PATCHLEVEL_H_ */
if (wl == &parse_string_error)
{
set_exit_status (EXECUTION_FAILURE);
+ current_token = '\n'; /* XXX */
if (interactive_shell == 0 && posixly_correct)
jump_to_top_level (FORCE_EOF);
else
- jump_to_top_level (DISCARD);
+ {
+ if (executing && parse_and_execute_level == 0)
+ top_level_cleanup ();
+ jump_to_top_level (DISCARD);
+ }
}
return (REVERSE_LIST (wl, WORD_LIST *));
if (wl == &parse_string_error)
{
set_exit_status (EXECUTION_FAILURE);
- last_read_token = '\n'; /* XXX */
+ last_read_token = current_token = '\n'; /* XXX */
if (interactive_shell == 0 && posixly_correct)
jump_to_top_level (FORCE_EOF);
else
- jump_to_top_level (DISCARD);
+ {
+ if (executing && parse_and_execute_level == 0)
+ top_level_cleanup ();
+ jump_to_top_level (DISCARD);
+ }
}
if (wl)