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.
Add support for cairo recording surfaces.
extras/graphics/mercury_cairo/cairo.m:
Add type `rectangle_f', the float analogue of `rectangle'.
extras/graphics/mercury_cairo/cairo.recording.m:
New module.
extras/graphics/mercury_cairo/README:
Mention recording surfaces.
extras/graphics/mercury_cairo/cairo.matrix.m:
Add `matrix.invert/4' which returns a success indicator instead
of throwing an exception if the matrix is uninvertible.
Delete unused import.
Export the functionality of `cairo_show_glyphs' and `cairo_glyph_path'.
extras/graphics/mercury_cairo/cairo.m:
Add internal predicates for working with arrays of `cairo_glyph_t'.
extras/graphics/mercury_cairo/cairo.text.m:
Add `glyph' type that corresponds to `cairo_glyph_t' in the C API.
Add `show_glyphs' predicate.
extras/graphics/mercury_cairo/cairo.path.m:
Add `glyph_path' predicate.
extras/graphics/mercury_cairo/cairo.m:
Fix the type of `set_source_surface'. The surface from which
the source pattern is created does not need to be the same type
as the context surface.
The create_surface_2 foreign procs for each surface type were declared
`will_not_call_mercury' but actually called exported Mercury predicates
to build trivial data structures.
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.svg.m:
Write create_surface_2 predicates without calling Mercury
predicates.
This file-specific setting will override a default setting of expandtabs
in $HOME/.vimrc.
*/Makefile:
*/Mmakefile:
As above.
tests/hard_coded/.gitignore:
Don't ignore the purity subdir. This ignore must have been left over
from when purity.m was a test in hard_coded, not hard_coded/purity,
and it ignored an executable, not a directory.
extras/*/*.m:
Replace the use of '__' as a module qualifier in the rest of
the extras.
s/io\.state/io/ in the extras.
Use '=' instead of is/2 in a spot.
Replace all occurances of index0_det with det_index0 to make these examples
compatible with recent versions of Mercury.
extras/graphics/easyx/samples/bounce.m:
extras/graphics/mercury_allegro/examples/exspline.m:
extras/graphics/mercury_allegro/samples/demo/aster.m:
extras/graphics/mercury_allegro/samples/speed/view.m:
As above.
extras/.gitignore:
Mercury ignores the --use-{grade}-subdir dir
Mercury/** for git 1.8+ this recursively ignores all build files
ignoring *.mh and *.init files
*.err output files
lib*.{dll|so|a|dylib} ignores target compiler library output
*.jar ignores the Java grade output
*.exe for Windows executables
extras/dynamic_linking/.gitignore:
ignoring the copy of dl.m, name_mangle.m
ignoring hello lib and dl_test* executables
extras/moose/samples/.gitignore:
ignoring cgram.m small.m alpha.m expr.m which are
generated from the .moo grammar files
extras/graphics/mercury_cairo/samples/.gitignore:
ignoring *.png output and all executables
extras/**/.gitignore:
In each sample/test/example folder the linux executable/test
output is ignored
extras/trailed_update/tr_store.m:
Conform to runtime changes.
extras/gator/genotype.m:
extras/gator/phenotype.m:
extras/graphics/samples/maze/maze.m:
extras/trailed_update/samples/interpreter.m:
Conform to standard library changes.
Add the MR_ prefix to list_empty and list_tail calls.
extras/graphics/mercury_tcltk/mtcltk.m:
In line 157, the MR_ prefix was missing from the list_empty and
list_tail calls.
available if the GLUT implementation being used is freeglut.
Using these extensions in the absence of freeglut will cause an exception to
be thrown.
extras/graphics/mercury_glut/glut.m:
Add a predicate have_freeglut/0 for testing whether freeglut
is being used.
Fix the description of glut.quit/2 - it shuts things down
gracefully rather than simply aborting.
Provide bindings to the following freeglut extensions:
* glutMainLoopEvent
* glutLeaveMainLoop
* glutGet with GLUT_FULL_SCREEN
extras/graphics/mercury_glut/glut.model.m:
Provide bindings to the following freeglut extensions:
* glutWireRhombicDodecahedron
* glutSolidRhombicDodecahedron
extras/graphics/mercury_glut/glut.window.m:
Provide bindings to the following freeglut extennsions:
* glutFullScreenToggle
* glutLeaveFullScreeen
(The latter doesn't appear to be available in the versions
of freeglut that are on the Linux machines I tested this on,
I've commented it out for the time being.)
extras/graphics/mercury_glut/*.m:
Use don't-care variables for handling the I/O state in
foreign_procs. This avoids warnings from MSVC.
extras/graphics/mercury_glut/README:
Mention that some of the freeglut extensions are now optionally
supported.