extras/graphics/samples/maze/maze.m:
As above, use mutables intead of the I/O globals.
extras/graphics/samples/maze/globals.m:
Delete this module; it is no longer required.
extras/graphics/samples/maze/maze.m:
Use the new random number generator framework.
Seed the random number generator using the system RNG, if
the user does not provide a seed.
Use the list shuffling code from the standard library.
Fix Makefiles for OpenGL examples on macOS.
extras/graphics/samples/maze.m:
extras/graphics/samples/globals.m:
Update programming style.
Replace tabs with spaces.
extras/graphics/samples/gears/Mmakefile.MacOSX:
extras/graphics/samples/maze/Mmakefile.MacOSX:
Set header includes for the C compiler.
Add a "run" target that sets DYLD_LIBRARY_PATH appropriately
for running the examples in situ.
extras/graphics/mercury_glut/README:
Rename this file to README.md.
Convert the contents of this file to Markdown.
Delete the link to the opengl.org site which is now empty.
Add a link to the freeglut site.
extras/graphics/samples/pent/:
Delete this; the togl library it used has not been supported
for many years.
extras/graphics/README:
Delete the (incorrect) entry for the above.
Add a missing entry.
extras/graphics/mercury_tcltk/Mmakefile:
Update the contents of this file, so that it builds on a recent Linux
system (Debian 10).
Define the Tcl/Tk version using a variable, so that it can be overridden
on the command line.
extras/graphics/mercury_tcltk/mtcltk.m:
Fix an error in my previous commit: use the correct variable name
in some C code.
extras/graphics/mercury_tcltk/mtcltk.m:
Add a 'can_pass_as_mercury_type' annotation to a foreign type.
Do not limit the size of the result string to 2047 bytes.
extras/graphics/mercury_tcltk/mtcltk.m:
Use Tcl_GetStringResult() and Tcl_SetResult() to set the
interpreter's result field; accessing the result field directly is no
longer supported.
Copy strings that are stored in the interpreter's result
field into Tcl managed memory.
Add a foreign_enum pragma for Mercury type 'tcl_status'.
Previously, tcl_ok and tcl_error only had the correct C
representation by chance.
extras/graphics/mercury_allegro/samples/demo/title.m:
extras/graphics/mercury_allegro/sampels/mandel/mandel.m:
As above.
extras/graphics/mercury_allegro/README:
Update the list of Allegro versions this works with.
extras/graphics/mercury_tcltk/mltcltk.m:
Delete an old workaround that has not been required for versions of Tcl
from 8.1 (released in 1999) onwards
Minor syntax and style updates.
These are due to:
- differences between module and file names.
- redundant imports
- the recent change from math.domain_error -> exception.domain_error.
benchmarks/*/*.m:
extras/*/*.m:
As above.
extras/graphics/mercury_allegro/allegro.m:
Add missing include_module declaration for the util
submodule.
extras/graphics/mercury_allegro/Mercury.options:
Avoid a warning.
Change the license the Mercury-Cairo binding to a 2-clause BSD license.
This change has been agreed to by both Peter and myself; we are the
only authors of the affected code.
extras/graphics/mercury_cairo/COPYING.LIB:
Add the new license.
extras/graphics/mercury_cairo/README:
Add a link to the license file.
Fix a typo.
Discussion of these changes can be found on the Mercury developers
mailing list archives from June 2018.
COPYING.LIB:
Add a special linking exception to the LGPL.
*:
Update references to COPYING.LIB.
Clean up some minor errors that have accumulated in copyright
messages.
extras/graphics/mercury_opengl/mogl.m:
Fix a foreign_enum pragma that referred to a non-existent type
constructor.
extras/graphics/mercury_opengl/*.m:
Delete trailing whitespace.
Avoid referring to the I/O state directly in foreign_proc bodies.
extras/graphics/mercury_cairo/cairo.m:
Delete surface_status, pattern_status and region_status insts as
there is no guarantee that they cover the range of values returned
by cairo_surface_status, cairo_pattern_status and
cairo_region_status (in past and future versions of cairo).
extras/graphics/mercury_cairo/cairo.png.m:
Delete png_write_result for same reason.
extras/graphics/mercury_cairo/cairo.m:
Add newer cairo status values.
Add newer cairo operator values.
Update surface_status and pattern_status insts to reflect current
cairo documentation.
extras/graphics/mercury_cairo/cairo.font_options.m:
Add subpixel_order_rgb.
extras/graphics/mercury_cairo/cairo.pattern.m:
Add newer pattern_type values.
Do not switch on the result of pattern_status in case the inst does
not cover all possible return values.
extras/graphics/mercury_cairo/cairo.png.m:
Do not switch on the result of surface_status in case the inst does
not cover all possible return values.
Remove old .cvsignore files, moving their contents to .gitignore files.
There are now no .cvsignore files in the repository.
I've also sorted some .gitignore files and avoided repeating a pattern in a
subdirectory's .gitignore file when it is already mentioned in the parent
.gitignore file.
library/time.m:
Deprecate non-pure functions `localtime/1' and `mktime/1'.
They depend on the current time zone, which depends on the
environment that the program is running in, and may also be
changed at run time (e.g. by setting the environment variable
"TZ").
Add replacement predicates `localtime/4' and `mktime/4' that
thread the I/O state.
Deprecate the non-pure function `ctime/1'. It does not seem
necessary to add a pure replacement for it, being a minor
convenience at best.
Try to clarify some documentation.
library/calendar.m:
Conform to above changes.
tests/hard_coded/dst_test.m:
tests/hard_coded/time_test.m
Conform to above changes.
Update code style.
extras/curs/samples/nibbles.m:
extras/graphics/easyx/samples/bounce.m:
extras/graphics/easyx/samples/mclock.m:
extras/log4m/log4m.m:
Conform to above changes.
NEWS:
Announce changes.
Do not try to exhaustively enumerate possible status values after
creating cairo objects. It is error prone and unnecessary.
extras/graphics/mercury_cairo/cairo.image.m:
extras/graphics/mercury_cairo/cairo.pdf.m:
extras/graphics/mercury_cairo/cairo.ps.m:
extras/graphics/mercury_cairo/cairo.recording.m:
extras/graphics/mercury_cairo/cairo.svg.m:
As above. After creating a cairo object, return the status
to the user whether successful or not.
extras/graphics/mercury_opengl/mercury_opengl.m:
Add a missing ':- interface' declaration.
extras/graphics/mercury_opengl/Mmakefile:
extras/graphics/mercury_opengl/Mmakefile.MacOSX:
Don't warn about unused interface imports in the above module.
extras/graphics/mercury_cairo/cairo.ps.m:
extras/graphics/mercury_cairo/cairo.svg.m:
Let these modules build when support for their respective
surfaces is disabled in the cairo installation.