Progress: Continue program related work, focusing on Featureless Make.
The Featureless Make is not handling the return status correctly on error.
This is due to a regression from switching to having status on state.
There are a couple of separate reasons:
1) One function is not doing the pre-check for error and then overrides the status.
2) Other functions that handle the error printing are calling f_fss_count_lines() which overrides the state.
The first situation is easily solved with a condition check.
The second case requires saving the status and then restoring it for error handling functions calling f_fss_count_lines().
Change the code were reasonably possible to use const on the return code.
Don't bother with return_code != 0, as removing the != 0 should be effectively the same check.
Make sure path separator is only added if it is not already present.
The migration of status into main.setting.state.status incorrectly changed fake_make_operate_validate_define_name().
This function does not set the status on main.setting.state.status.
Make sure a single white space is after simple variable print messages (before the quoted variable).
Remove the extra arguments being created (just as is done in 0.6.x with commit
e8998b2e7976cee50c8e0db55ed19e2137d7aa12).
Reduce the number of pointer accesses (such data->main->... into main->...) by using a variable.
This costs some memory but should reduce having to navigate two pointers constantly.
Doing it this way also avoids having to add a parameter to each function.