This should allow programs to report bad command line arguments
(such as --i-am-not-an-option) and still keep going, if they wish.
library/getopt_io.m:
Add record_all_arguments, a version of the existing record_arguments
predicate that processes the entire command line even in the presence
of errors.
To make this possible, rewrite record_arguments' existing code
to separate out the handling of individual options from the code
that decides whether to stop processing. The code of both
record_arguments and record_all_arguments is now a thin veneer
on top of the new record_argument (singular) predicate, which
does the first job above. The separation of concerns and the new,
documented data structures should also make the new code easier
to understand.
library/getopt.m:
Automatic copy of the new getopt_io.m.
NEWS.md:
Announce the new predicate.
RELEASE_NOTES_NEXT:
Add a reminder about deleting getopt_io.m.
compiler/options.m:
Merge the two options into one, which can be specified by either name.
compiler/module_qual.m:
Update their documentation.
compiler/module_qual.qualify_items.m:
Conform to the change above.
tests/warnings/help_text.err_exp:
Expect the merged option's documentation.
NEWS.md:
Announce the new option name.
RELEASE_NOTES_NEXT:
Schedule the old option name for deletion.
extras/base64/Mercury.options:
extras/fixed/Mercury.options:
extras/graphics/mercury_allegro/Mercury.options:
extras/graphics/mercury_cairo/Mercury.options:
extras/graphics/mercury_glfw/Mercury.options:
extras/graphics/mercury_glut/Mercury.options:
extras/graphics/mercury_glut/Mmakefile:
extras/graphics/mercury_glut/Mmakefile.MacOSX:
extras/graphics/mercury_opengl/Mercury.options:
extras/graphics/mercury_opengl/Mmakefile:
extras/graphics/mercury_opengl/Mmakefile.MacOSX:
extras/odbc/Mercury.options:
extras/odbc/Mmakefile:
extras/references/Mercury.options:
extras/solver_types/library/Mercury.options:
extras/solver_types/library/Mmakefile:
extras/trail/Mercury.options:
tests/submodules/Mercury.options:
tests/warnings/Mercury.options:
Replace all references to --warn-interface-imports with
--warn-unused-interface-imports, the new preferred name.
In several places, compiler options (both module-specific
and otherwise) were specified in Mmakefiles. Move them
to Mercury.options files. In some cases, this meant creating
new Mercury.options files.