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.
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.
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
Estimated hours taken: 0.5
Branches: main, release
Fix some minor compilation problems in the extras distribution.
extras/curses/user.m:
extras/graphics/easyx/samples/bounce.m:
extras/graphics/easyx/samples/scribble.m:
Conform to recent changes in the standard library.
extras/moose/samples/try_alpha.m:
extras/moose/samples/try_expr.m:
Replace use of ':' as a module qualifier.
Estimated hours taken: 1
Branches: main
Fixed a latency bug in the easyx interface. One has to tell the
Xlib XSync function to discard any pending events in the input queue
in order to avoid noticable event processing lag in applications with a high
refresh rate.
easyx.m:
Moved the import of xlib to the implementation section (xlib is
not used in the interface.)
Added easyx.sync/3.
xlib.m:
Changed xlib.sync/1 to discard any events waiting in the input queue.
samples/bounce.m:
Now uses easyx.sync/3 rather than easyx.flush/3, which dramatically
improves responsiveness.