Estimated hours taken: 3
Another --use-subdirs bug fix when using sicstus.
scripts/msl.in:
Detect the special case file 'sp_lib.ql' even when the file name has
leading directory info.
Also update the copyright notice.
Estimated hours taken: 2
Rename `mc' as `mmc'.
Note: we do not change the names of variables such as MCFLAGS, just the
`mc' executable.
configure.in:
Look for mmc not mc. If you can't find mmc to bootstrap, try for
mc.
bindist/Mmakefile:
bindist/bindist.configure.in:
doc/Mmakefile:
doc/user_guide.texi:
scripts/Mmake.vars.in:
scripts/Mmakefile:
scripts/msl.in:
tools/expand_params:
tools/optstages:
tools/speedtest:
tools/test_mercury:
Change references to mc into mmc.
Estimated hours taken: 0.5
Added documentation of the new MERCURY_SP_OVERRIDING_LIB_OBJS (etc.)
environment variables, and improved documentation of other Prolog related
Mercury environment variables.
scripts/msl.in:
document MERCURY_SP_OVERRIDING_LIB_OBJS and add documentation for some
other variables
scripts/mnl.in:
document MERCURY_NU_OVERRIDING_LIB_OBJS, and add documentation for some
other variables
Estimated hours taken: 4
Improved the error messages for map__lookup failure by writing out the types
of the values and keys.
Also, since the Prologs cannot handle the type_of functions, a `normal'
version of map__lookup has been added to map.nu.nl
To accomodate this, this change implements a mechanism to override
definitions of predicates for particular Prologs. This mechanism makes
explicit which .no or .ql files contain preds overriding others, and so
makes things a bit more robust.
library/map.m:
Implement the better error messages.
library/map.nu.nl:
The Prolog version of map__lookup.
library/Mmakefile:
Set new environment variables, MERCURY_NU_OVERRIDING_LIB_OBJS or
MERCURY_SP_OVERRIDING_LIB_OBJS to be the files which are to be
linked, but contain definitions which override others.
scripts/mnl.in:
Link everything in MERCURY_NU_OVERRIDING_LIB_OBJS last.
scripts/msl.in:
Link everything in MERCURY_SP_OVERRIDING_LIB_OBJS last.
Estimated hours taken: 0.5
scripts/{c2init,mnc,mnl,msc,msl}.in:
Fix a portability problem: ULTRIX's /bin/sh does not understand
`shift 2', so I've replaced all occurrences of this with
`shift; shift'. (Thanks to Jeff Schultz for the bug report.)
Estimated hours taken: 0.25
Fix bug reported by Peter Szeredi which meant that SICStus debugging
didn't work.
scripts/msl.in:
Don't link with portray.ql, since that is already part of
library.sicstus.debug.
scripts/*.in:
Replace all uses of
... "$@" ...
with
case $# in
0) ... ...
*) ... "$@" ...
esac
since on ULTRIX and OSF, "$@" does the wrong thing if $# is 0.
scripts/msl.in:
Make the default list of library .ql files empty,
rather than `cd $SPLIBDIR; echo *.ql`. We normally
link by loading the named .ql files into library.sicstus.debug
which has the library .ql files pre-loaded. The
the .ql files don't get installed, so `*.ql' did not
get expanded in the `cd $SPLIBDIR; echo *.ql` command -
instead it accidentally got expanded later as *.ql in the
current directory, which was wrong.
Also, call garbage_collect before saving the state in the debug
version, since this reduces the size of the executable.
(We already did this in the non-debug version.)