MD5 69eb84492666aced8984fcf3ac90af06 files/mercury-extras-0.12.2-trailed_update.patch 762
RMD160 c69b30d1aac449a878a654ae422b7c9cad208faf files/mercury-extras-0.12.2-trailed_update.patch 762
SHA256 7e79baf412ff2b60966027464ee9a2c3008a619ae2e1107ae3e871b4082673fe files/mercury-extras-0.12.2-trailed_update.patch 762
-AUX mercury-extras-0.13.0-concurrency.patch 316 RMD160 ec6c0327e0f1ec192455f229998807df35a76d6c SHA1 49fef914b18990b2d7a0534cd5529baf0488766e SHA256 95428d034cb55ec8b9cf189fe8e3141bea19e772500ecbb796a27e56cc6dc4f0
-MD5 f1ac230226f69f80e2049a8b55003ae3 files/mercury-extras-0.13.0-concurrency.patch 316
-RMD160 ec6c0327e0f1ec192455f229998807df35a76d6c files/mercury-extras-0.13.0-concurrency.patch 316
-SHA256 95428d034cb55ec8b9cf189fe8e3141bea19e772500ecbb796a27e56cc6dc4f0 files/mercury-extras-0.13.0-concurrency.patch 316
-AUX mercury-extras-0.13.0-curs.patch 18585 RMD160 5ceb024de1917755aec69af0713c6ec0419fe516 SHA1 a1a415cd8d1cd382aaf4af64883623775928386c SHA256 36ced61e800e78066457b831f2f54fada14bd3ccfe885c0315b99ff4faf2cd86
-MD5 bdb08e95152031de08d9cabb29c8c40d files/mercury-extras-0.13.0-curs.patch 18585
-RMD160 5ceb024de1917755aec69af0713c6ec0419fe516 files/mercury-extras-0.13.0-curs.patch 18585
-SHA256 36ced61e800e78066457b831f2f54fada14bd3ccfe885c0315b99ff4faf2cd86 files/mercury-extras-0.13.0-curs.patch 18585
-AUX mercury-extras-0.13.0-dynamic_linking.patch 376 RMD160 7cd32d8de92f2607c8b9bcf1ce9362c4dfac840a SHA1 be3e4e4818f0049f8cbad287133f337e103f2010 SHA256 f8c3a54852f487f0e034e3ed57e986c9001b2bd66854cd4c320385915aaa47ff
-MD5 dbff60394d8726d13a32fbe9e8ce7079 files/mercury-extras-0.13.0-dynamic_linking.patch 376
-RMD160 7cd32d8de92f2607c8b9bcf1ce9362c4dfac840a files/mercury-extras-0.13.0-dynamic_linking.patch 376
-SHA256 f8c3a54852f487f0e034e3ed57e986c9001b2bd66854cd4c320385915aaa47ff files/mercury-extras-0.13.0-dynamic_linking.patch 376
-AUX mercury-extras-0.13.0-lex.patch 736 RMD160 67d70a38b65fdcbcc6f53223f45ce6b55e99c1f0 SHA1 4d2b53919668e2230bd6de04c4d9769357aa0b05 SHA256 e50334d5dcc9ebb735d65b2cbf67826caa92c40203725165fd0c9a7bead8ab43
-MD5 b2c295bda0cd217e1c52e89f629a740a files/mercury-extras-0.13.0-lex.patch 736
-RMD160 67d70a38b65fdcbcc6f53223f45ce6b55e99c1f0 files/mercury-extras-0.13.0-lex.patch 736
-SHA256 e50334d5dcc9ebb735d65b2cbf67826caa92c40203725165fd0c9a7bead8ab43 files/mercury-extras-0.13.0-lex.patch 736
-AUX mercury-extras-0.13.0-mercury_glut.patch 758 RMD160 fc46c65ad4758d92d3c6bd29980cc3798742f0d9 SHA1 b9916c3fe4070c2cdbedcc0e7ff3c0e6baaa2b5c SHA256 0432122dd6d14cac2115c5df5988ff2719446456da387b2add8de3cd2107a99d
-MD5 f694863b7c5e2946a4d0fa8983da2ab2 files/mercury-extras-0.13.0-mercury_glut.patch 758
-RMD160 fc46c65ad4758d92d3c6bd29980cc3798742f0d9 files/mercury-extras-0.13.0-mercury_glut.patch 758
-SHA256 0432122dd6d14cac2115c5df5988ff2719446456da387b2add8de3cd2107a99d files/mercury-extras-0.13.0-mercury_glut.patch 758
-AUX mercury-extras-0.13.0-mercury_opengl.patch 3628 RMD160 e5ea3d3a4939f85f3011026bd75f8236bbdff720 SHA1 d2ba38e0f971d05c531bbdceef1ec82256462c34 SHA256 c82b4b47b5ad8afe3f7a1e838498b076ac17a7f59d103c99a251d38181b57c3d
-MD5 b36e4e46eb3cfdda5a76b409c2631ef4 files/mercury-extras-0.13.0-mercury_opengl.patch 3628
-RMD160 e5ea3d3a4939f85f3011026bd75f8236bbdff720 files/mercury-extras-0.13.0-mercury_opengl.patch 3628
-SHA256 c82b4b47b5ad8afe3f7a1e838498b076ac17a7f59d103c99a251d38181b57c3d files/mercury-extras-0.13.0-mercury_opengl.patch 3628
-AUX mercury-extras-0.13.0-mercury_tcltk.patch 514 RMD160 a882692f4961cb3cb10935adcc2532818a8294f5 SHA1 6ab94266a2b3e82cd02d20620612fa6292c64099 SHA256 e0eb2a07f63fd9fbc301c826a552226c1bf05bfd686cb58a6cc8ef02ee437993
-MD5 1aa72a6dbc6f1f2e7b6c5ace931e6234 files/mercury-extras-0.13.0-mercury_tcltk.patch 514
-RMD160 a882692f4961cb3cb10935adcc2532818a8294f5 files/mercury-extras-0.13.0-mercury_tcltk.patch 514
-SHA256 e0eb2a07f63fd9fbc301c826a552226c1bf05bfd686cb58a6cc8ef02ee437993 files/mercury-extras-0.13.0-mercury_tcltk.patch 514
-AUX mercury-extras-0.13.0-odbc.patch 420 RMD160 660a82a6982454369fbb5bc20646e367cb0c9461 SHA1 92cdc600a80344635b19d980852fa234a525f334 SHA256 7270e6affd9940a58d2e36b8bf95fdc249abdd800b6fb409f9e8b134b872191b
-MD5 3e6969ebec775925949ee7d18a927395 files/mercury-extras-0.13.0-odbc.patch 420
-RMD160 660a82a6982454369fbb5bc20646e367cb0c9461 files/mercury-extras-0.13.0-odbc.patch 420
-SHA256 7270e6affd9940a58d2e36b8bf95fdc249abdd800b6fb409f9e8b134b872191b files/mercury-extras-0.13.0-odbc.patch 420
-AUX mercury-extras-0.13.0-posix.patch 373 RMD160 ed392e6315177d97f49f48f0f703b59ccf0710ab SHA1 c5685cfbe7a9ecfd28cf56d741bba5783ff0b1a8 SHA256 122ad1bfd8a87edad75f8bdce8415576dc6ea17f32cff84bab2c5b9aba48037d
-MD5 3dac8daf96a3528cbc52f5e8e3963651 files/mercury-extras-0.13.0-posix.patch 373
-RMD160 ed392e6315177d97f49f48f0f703b59ccf0710ab files/mercury-extras-0.13.0-posix.patch 373
-SHA256 122ad1bfd8a87edad75f8bdce8415576dc6ea17f32cff84bab2c5b9aba48037d files/mercury-extras-0.13.0-posix.patch 373
-AUX mercury-extras-0.13.0-references.patch 513 RMD160 8e02248d863adde790a776b4f599c9a5ff5749e6 SHA1 bdabd9115bfa6e0666dc9641c616216915024f95 SHA256 5efac09b28ad8f4051506596e9e68d538725e5dc3a9f5db14b4d77fe4ed0f748
-MD5 cbe8b7274317205bb3184e6292a8b4c5 files/mercury-extras-0.13.0-references.patch 513
-RMD160 8e02248d863adde790a776b4f599c9a5ff5749e6 files/mercury-extras-0.13.0-references.patch 513
-SHA256 5efac09b28ad8f4051506596e9e68d538725e5dc3a9f5db14b4d77fe4ed0f748 files/mercury-extras-0.13.0-references.patch 513
-AUX mercury-extras-0.13.0-trailed_update.patch 759 RMD160 d079c3a8d19b74f71bf8d972577f52c492f7d214 SHA1 9e2bbd86254176186799b9325550654ea239be34 SHA256 034c6dfde10f3514646491630eee005bd35365f427cbf236739ff89ed0cc4f33
-MD5 56cd11cec1d931c51b9f366dcdeae204 files/mercury-extras-0.13.0-trailed_update.patch 759
-RMD160 d079c3a8d19b74f71bf8d972577f52c492f7d214 files/mercury-extras-0.13.0-trailed_update.patch 759
-SHA256 034c6dfde10f3514646491630eee005bd35365f427cbf236739ff89ed0cc4f33 files/mercury-extras-0.13.0-trailed_update.patch 759
AUX mercury-extras-0.13.1-concurrency.patch 316 RMD160 b276785f155cf4fe7c8ba5bd8f984ef709fc4048 SHA1 c676a08c625909bc3944c4d5e8b9e146f3c8813b SHA256 339ed5ac235eff5a7e1c380a80fd80fce7d8d09328c42216b856ea27de0bb1b7
MD5 e8eceadfc5996137cc47b41a275cf0ae files/mercury-extras-0.13.1-concurrency.patch 316
RMD160 b276785f155cf4fe7c8ba5bd8f984ef709fc4048 files/mercury-extras-0.13.1-concurrency.patch 316
RMD160 f8bfff3e44e0cce647f523c0685ab9e35a31ef8b files/mercury-extras-0.13.1-trailed_update.patch 759
SHA256 5d3aba19d04b7cee5ae6345d325def9406a95dcf58d3abcacc3ad2d708fb63a9 files/mercury-extras-0.13.1-trailed_update.patch 759
DIST mercury-extras-0.12.2.tar.gz 759070 RMD160 3e7c4c67590408d2da056135c9560ff4d078eff6 SHA1 fc0f446f8b7f448c27f61bfe226a33fbaa007e0a SHA256 3a5be0941fad7ed8f8d2e967138984127510ba388b65b0f3f35f46ae8b6b43a8
-DIST mercury-extras-0.13.0.tar.gz 876713 RMD160 a310a51b050647ec49e797a6469ce11145368c6d SHA1 4e12415003488eac13991c55164f42e10d827fcc SHA256 0e4238a9b891067f75c9f792e9dc970005d66a3248be6e8a4adc24e5291b1f24
DIST mercury-extras-0.13.1.tar.gz 688974 RMD160 d14aeeefe29a2bc6ae59d174043a18808e2a6875 SHA1 3871d523400e0c0ac0396918b6ba74a378269b15 SHA256 33580108aed30359facde24645b23d5ca559fe0c9c50f448199d3d7b751b7c4c
EBUILD mercury-extras-0.12.2-r2.ebuild 3536 RMD160 8efe472b16c1bd0af1fc5f53ae27e7f32f5b8835 SHA1 04f8332adbf09efc7602fbb593f79557d5c32494 SHA256 e96d3e91fe866f9c17942426e4382322307fc73a2b4dfd8e1f8f85152fe6ef5d
MD5 94ebd43dfb5eb24a42ef7ddba7def138 mercury-extras-0.12.2-r2.ebuild 3536
RMD160 8efe472b16c1bd0af1fc5f53ae27e7f32f5b8835 mercury-extras-0.12.2-r2.ebuild 3536
SHA256 e96d3e91fe866f9c17942426e4382322307fc73a2b4dfd8e1f8f85152fe6ef5d mercury-extras-0.12.2-r2.ebuild 3536
-EBUILD mercury-extras-0.13.0.ebuild 3690 RMD160 884540678ce840b003cf75005ca55e79c9dfba0e SHA1 4de019444a7b5775200d148fe69c971f38b4f3b4 SHA256 76e2120bac7af19c62c4c24790f48cd51926d7b59c528b913fcb93e1492bdb76
-MD5 61fdf079d95acaad8753868e86bbffc3 mercury-extras-0.13.0.ebuild 3690
-RMD160 884540678ce840b003cf75005ca55e79c9dfba0e mercury-extras-0.13.0.ebuild 3690
-SHA256 76e2120bac7af19c62c4c24790f48cd51926d7b59c528b913fcb93e1492bdb76 mercury-extras-0.13.0.ebuild 3690
EBUILD mercury-extras-0.13.1.ebuild 3696 RMD160 4fb3439986a7bcd63b1fdf3a363016a5e8bbafef SHA1 22b079963ed48c55337a08eeee81848d8a632cec SHA256 29bcb476f9dc7365f5e2f12f0be5a0cd9885ae8297156793adc274406d8ccec0
MD5 c548bdaa94f6c6933de9e6fa41020bce mercury-extras-0.13.1.ebuild 3696
RMD160 4fb3439986a7bcd63b1fdf3a363016a5e8bbafef mercury-extras-0.13.1.ebuild 3696
SHA256 29bcb476f9dc7365f5e2f12f0be5a0cd9885ae8297156793adc274406d8ccec0 mercury-extras-0.13.1.ebuild 3696
-MISC ChangeLog 15772 RMD160 c2046ae4310dd52673a33bf70867b2a70b7da1aa SHA1 e80705a46a42a636b963aa99f2733117e17394d5 SHA256 5253cd8dc5b8d8266e6d89ea88b55252f03daa179707d5ec2b0030bef5dbc5a2
-MD5 06a0cded91a1040dc246ac2472fde167 ChangeLog 15772
-RMD160 c2046ae4310dd52673a33bf70867b2a70b7da1aa ChangeLog 15772
-SHA256 5253cd8dc5b8d8266e6d89ea88b55252f03daa179707d5ec2b0030bef5dbc5a2 ChangeLog 15772
+MISC ChangeLog 16408 RMD160 e2fbbfa7fa087bf5da852a95dbed47e11a3f7547 SHA1 e7fb57a42899faed71aa91e1d3ad5246af8192b3 SHA256 cbd921fe4056cb2c0246e42142af08c381312667b7457057d9d57d706761d835
+MD5 7c2c16eccf0d457c59ca037d086387fc ChangeLog 16408
+RMD160 e2fbbfa7fa087bf5da852a95dbed47e11a3f7547 ChangeLog 16408
+SHA256 cbd921fe4056cb2c0246e42142af08c381312667b7457057d9d57d706761d835 ChangeLog 16408
MISC metadata.xml 247 RMD160 1b3df3c501d9a3b2e2651668be405677e8416397 SHA1 7b705a8a3368abab6ad31ea2fcb5e5db865d92b1 SHA256 2768d0688d443184194068497dcafb2e5d67521980cb46b7e8efc07d3900bcaa
MD5 6fca20d17d6d55a28537204aa9bb626f metadata.xml 247
RMD160 1b3df3c501d9a3b2e2651668be405677e8416397 metadata.xml 247
MD5 04bb3f50c82519cd929f7754557a4124 files/digest-mercury-extras-0.12.2-r2 265
RMD160 e18050a352bc3f86650cf53244bbb17545ef0817 files/digest-mercury-extras-0.12.2-r2 265
SHA256 087bf13f383826ff1da30ff861cfc48008b7037a9a844f14fee94f51934ec525 files/digest-mercury-extras-0.12.2-r2 265
-MD5 0df6fdfa0b711ce32f82e6661f9ac4a1 files/digest-mercury-extras-0.13.0 265
-RMD160 083abb2da996e9c79af8b8d6a733cbb25bb8e657 files/digest-mercury-extras-0.13.0 265
-SHA256 c0f9ca9a8d69c1b6ee73c253c883466c77ab8ef199e217603293df430241f827 files/digest-mercury-extras-0.13.0 265
MD5 6159deec0c75dceb480cc62c647de9ac files/digest-mercury-extras-0.13.1 265
RMD160 96e77422cc86dcc7cbfdc0a9339d446d19972e09 files/digest-mercury-extras-0.13.1 265
SHA256 e978ef6387e98dbb013feb4b00b7dc9fc8f05f6d5805238a83c08630a11a3cbe files/digest-mercury-extras-0.13.1 265
+++ /dev/null
-diff -urN mercury-extras-0.13.0.orig/curs/curs.m mercury-extras-0.13.0/curs/curs.m
---- mercury-extras-0.13.0.orig/curs/curs.m 2006-04-21 15:42:46.000000000 +1200
-+++ mercury-extras-0.13.0/curs/curs.m 2006-10-23 17:00:50.000000000 +1300
-@@ -31,6 +31,8 @@
- :- import_module io.
- :- import_module string.
-
-+:- include_module curs__panel.
-+
- %-----------------------------------------------------------------------------%
-
- % Start a curses session (colour, unbuffered input, no echoing,
-@@ -210,90 +212,6 @@
- :- func cyan = colour.
- :- func white = colour.
-
-- %-------------------------------------------------------------------------%
-- %-------------------------------------------------------------------------%
--
-- % Panels are windows over the main display; they may be
-- % stacked, moved, ordered and hidden. Contents of panels
-- % closer to the top of the stack obscure the parts of panels
-- % they overlap that are lower in the stack.
-- %
-- :- module panel.
-- :- interface.
--
-- :- type panel.
--
-- % new(Rows, Cols, Row, Col, Attr, Panel) creates a new panel
-- % Panel whose size is given by (Rows, Cols) and whose position
-- % on the display is given by (Row, Col). The new panel starts
-- % visible and at the top of the stack. The default attributes
-- % for the panel are set to Attr.
-- %
-- :- pred new(int::in, int::in, int::in, int::in, attr::in, panel::out,
-- io::di, io::uo) is det.
--
-- % Destroy a panel.
-- %
-- :- pred delete(panel::in, io::di, io::uo) is det.
--
-- % Raise/lower a panel to the top/bottom of the stack.
-- %
-- :- pred raise(panel::in, io::di, io::uo) is det.
-- :- pred lower(panel::in, io::di, io::uo) is det.
--
-- % Hide/reveal a panel (revealing places it at the top of the stack).
-- %
-- :- pred hide(panel::in, io::di, io::uo) is det.
-- :- pred reveal(panel::in, io::di, io::uo) is det.
--
-- % Move a panel to (Row, Col) on the display.
-- %
-- :- pred relocate(panel::in, int::in, int::in, io::di, io::uo) is det.
--
-- % Clear a panel.
-- %
-- :- pred clear(panel::in, io::di, io::uo) is det.
--
-- % Move the virtual cursor to given row and column; (0, 0) are the
-- % coordinates for the upper left hand corner of the panel.
-- %
-- :- pred move(panel::in, int::in, int::in, io::di, io::uo) is det.
--
-- % Add a char/string to a panel with the given attributes.
-- % Note that char codes are passed rather than plain chars.
-- %
-- :- pred addch(panel::in, attr::in, int::in, io::di, io::uo) is det.
-- :- pred addstr(panel::in, attr::in, string::in, io::di, io::uo) is det.
--
-- % Turn on/off or set attributes that will be applied by default.
-- %
-- :- pred attr_on(panel::in, attr::in, io::di, io::uo) is det.
-- :- pred attr_off(panel::in, attr::in, io::di, io::uo) is det.
-- :- pred attr_set(panel::in, attr::in, io::di, io::uo) is det.
--
-- % Update the display (also calls doupdate).
-- % NOTE: doupdate does not call update_panels.
-- %
-- :- pred update_panels(io::di, io::uo) is det.
--
-- % Draws a border around the inside edge of the display.
-- %
-- :- pred border(panel::in, io::di, io::uo) is det.
--
-- % Draws an horizontal line of length N moving to the right.
-- %
-- :- pred hline(panel::in, int::in, int::in, io::di, io::uo) is det.
--
-- % Draws a vertical line of length N moving down.
-- %
-- :- pred vline(panel::in, int::in, int::in, io::di, io::uo) is det.
--
-- :- end_module panel.
--
-- %-------------------------------------------------------------------------%
-- %-------------------------------------------------------------------------%
--
--%-----------------------------------------------------------------------------%
- %-----------------------------------------------------------------------------%
-
- :- implementation.
-@@ -1044,210 +962,4 @@
- IO = IO0;
- ").
-
-- %-------------------------------------------------------------------------%
-- %-------------------------------------------------------------------------%
--
-- :- module panel.
--
-- :- implementation.
--
-- %-------------------------------------------------------------------------%
--
-- :- pragma foreign_decl("C", "
--
-- #include <ncurses.h>
-- #include <panel.h>
--
-- ").
--
-- :- pragma foreign_type("C", panel, "PANEL *").
--
-- %-------------------------------------------------------------------------%
--
-- :- pragma foreign_proc("C",
-- new(Rows::in, Cols::in, Row::in, Col::in, Attr::in, Panel::out,
-- IO0::di, IO::uo),
-- [will_not_call_mercury, promise_pure],
-- "
-- WINDOW *w = newwin(Rows, Cols, Row, Col);
-- scrollok(w, TRUE);
-- wattrset(w, Attr);
-- wcolor_set(w, Attr, NULL);
-- wclear(w);
-- Panel = new_panel(w);
--
-- IO = IO0;
-- ").
--
-- %-------------------------------------------------------------------------%
--
-- :- pragma foreign_proc("C",
-- delete(Panel::in, IO0::di, IO::uo),
-- [will_not_call_mercury, promise_pure],
-- "
-- delwin(panel_window(Panel));
-- del_panel(Panel);
--
-- IO = IO0;
-- ").
--
-- %-------------------------------------------------------------------------%
--
-- :- pragma foreign_proc("C",
-- raise(Panel::in, IO0::di, IO::uo),
-- [will_not_call_mercury, promise_pure],
-- "
-- top_panel(Panel);
-- IO = IO0;
-- ").
--
-- %-------------------------------------------------------------------------%
--
-- :- pragma foreign_proc("C",
-- lower(Panel::in, IO0::di, IO::uo),
-- [will_not_call_mercury, promise_pure],
-- "
-- bottom_panel(Panel);
-- IO = IO0;
-- ").
--
-- %-------------------------------------------------------------------------%
--
-- :- pragma foreign_proc("C",
-- hide(Panel::in, IO0::di, IO::uo),
-- [will_not_call_mercury, promise_pure],
-- "
-- hide_panel(Panel);
-- IO = IO0;
-- ").
--
-- %-------------------------------------------------------------------------%
--
-- :- pragma foreign_proc("C",
-- reveal(Panel::in, IO0::di, IO::uo),
-- [will_not_call_mercury, promise_pure],
-- "
-- show_panel(Panel);
-- IO = IO0;
-- ").
--
-- %-------------------------------------------------------------------------%
--
-- :- pragma foreign_proc("C",
-- relocate(Panel::in, Row::in, Col::in, IO0::di, IO::uo),
-- [will_not_call_mercury, promise_pure],
-- "
-- move_panel(Panel, Row, Col);
-- IO = IO0;
-- ").
--
-- %-------------------------------------------------------------------------%
--
-- :- pragma foreign_proc("C",
-- clear(Panel::in, IO0::di, IO::uo),
-- [will_not_call_mercury, promise_pure],
-- "
-- wclear(panel_window(Panel));
-- IO = IO0;
-- ").
--
-- %-------------------------------------------------------------------------%
--
-- :- pragma foreign_proc("C",
-- move(Panel::in, Row::in, Col::in, IO0::di, IO::uo),
-- [will_not_call_mercury, promise_pure],
-- "
-- wmove(panel_window(Panel), Row, Col);
-- IO = IO0;
-- ").
--
-- %-------------------------------------------------------------------------%
--
-- :- pragma foreign_proc("C",
-- addch(Panel::in, Attr::in, CharCode::in, IO0::di, IO::uo),
-- [will_not_call_mercury, promise_pure],
-- "
-- waddch(panel_window(Panel), (chtype)Attr | (chtype)CharCode);
-- IO = IO0;
-- ").
--
-- %-------------------------------------------------------------------------%
--
-- addstr(Panel, Attr, Str, !IO) :-
-- string.foldl(
-- ( pred(Char::in, !.IO::di, !:IO::uo) is det :-
-- addch(Panel, Attr, char.to_int(Char), !IO)
-- ),
-- Str, !IO
-- ).
--
-- %-------------------------------------------------------------------------%
--
-- :- pragma foreign_proc("C",
-- attr_on(Panel::in, Attr::in, IO0::di, IO::uo),
-- [will_not_call_mercury, promise_pure],
-- "
-- wattron(panel_window(Panel), Attr);
-- IO = IO0;
-- ").
--
-- :- pragma foreign_proc("C",
-- attr_off(Panel::in, Attr::in, IO0::di, IO::uo),
-- [will_not_call_mercury, promise_pure],
-- "
-- wattroff(panel_window(Panel), Attr);
-- IO = IO0;
-- ").
--
-- :- pragma foreign_proc("C",
-- attr_set(Panel::in, Attr::in, IO0::di, IO::uo),
-- [will_not_call_mercury, promise_pure],
-- "
-- wattrset(panel_window(Panel), Attr);
-- IO = IO0;
-- ").
--
-- %-------------------------------------------------------------------------%
--
-- :- pragma foreign_proc("C",
-- update_panels(IO0::di, IO::uo),
-- [will_not_call_mercury, promise_pure],
-- "
-- update_panels();
-- doupdate();
-- IO = IO0;
-- ").
--
-- %-------------------------------------------------------------------------%
--
-- :- pragma foreign_proc("C",
-- border(Panel::in, IO0::di, IO::uo),
-- [will_not_call_mercury, promise_pure],
-- "
-- wborder(panel_window(Panel), 0, 0, 0, 0, 0, 0, 0, 0);
-- IO = IO0;
-- ").
--
-- :- pragma foreign_proc("C",
-- hline(Panel::in, C::in, N::in, IO0::di, IO::uo),
-- [will_not_call_mercury, promise_pure],
-- "
-- whline(panel_window(Panel), C, N);
-- IO = IO0;
-- ").
--
-- :- pragma foreign_proc("C",
-- vline(Panel::in, C::in, N::in, IO0::di, IO::uo),
-- [will_not_call_mercury, promise_pure],
-- "
-- wvline(panel_window(Panel), C, N);
-- IO = IO0;
-- ").
--
-- %-------------------------------------------------------------------------%
-- :- end_module panel.
-- %-------------------------------------------------------------------------%
-- %-------------------------------------------------------------------------%
--
--%-----------------------------------------------------------------------------%
- %-----------------------------------------------------------------------------%
-diff -urN mercury-extras-0.13.0.orig/curs/curs.panel.m mercury-extras-0.13.0/curs/curs.panel.m
---- mercury-extras-0.13.0.orig/curs/curs.panel.m 1970-01-01 12:00:00.000000000 +1200
-+++ mercury-extras-0.13.0/curs/curs.panel.m 2006-10-23 16:52:58.000000000 +1300
-@@ -0,0 +1,282 @@
-+%-----------------------------------------------------------------------------%
-+% curs.panel.m
-+% Copyright (C) 2001 Ralph Becket <rbeck@microsoft.com>
-+% Thu Jan 11 13:47:25 GMT 2001
-+% vim: ts=4 sw=4 et tw=0 wm=0 ff=unix ft=mercury
-+%
-+% THIS FILE IS HEREBY CONTRIBUTED TO THE MERCURY PROJECT TO
-+% BE RELEASED UNDER WHATEVER LICENCE IS DEEMED APPROPRIATE
-+% BY THE ADMINISTRATORS OF THE MERCURY PROJECT.
-+%
-+% Simplified Mercury interface to the ncurses panel library.
-+%
-+%-----------------------------------------------------------------------------%
-+
-+:- module curs__panel.
-+:- interface.
-+
-+:- type panel.
-+
-+ % new(Rows, Cols, Row, Col, Attr, Panel) creates a new panel
-+ % Panel whose size is given by (Rows, Cols) and whose position
-+ % on the display is given by (Row, Col). The new panel starts
-+ % visible and at the top of the stack. The default attributes
-+ % for the panel are set to Attr.
-+ %
-+:- pred new(int::in, int::in, int::in, int::in, attr::in, panel::out,
-+ io::di, io::uo) is det.
-+
-+ % Destroy a panel.
-+ %
-+:- pred delete(panel::in, io::di, io::uo) is det.
-+
-+ % Raise/lower a panel to the top/bottom of the stack.
-+ %
-+:- pred raise(panel::in, io::di, io::uo) is det.
-+:- pred lower(panel::in, io::di, io::uo) is det.
-+
-+ % Hide/reveal a panel (revealing places it at the top of the stack).
-+ %
-+:- pred hide(panel::in, io::di, io::uo) is det.
-+:- pred reveal(panel::in, io::di, io::uo) is det.
-+
-+ % Move a panel to (Row, Col) on the display.
-+ %
-+:- pred relocate(panel::in, int::in, int::in, io::di, io::uo) is det.
-+
-+ % Clear a panel.
-+ %
-+:- pred clear(panel::in, io::di, io::uo) is det.
-+
-+ % Move the virtual cursor to given row and column; (0, 0) are the
-+ % coordinates for the upper left hand corner of the panel.
-+ %
-+:- pred move(panel::in, int::in, int::in, io::di, io::uo) is det.
-+
-+ % Add a char/string to a panel with the given attributes.
-+ % Note that char codes are passed rather than plain chars.
-+ %
-+:- pred addch(panel::in, attr::in, int::in, io::di, io::uo) is det.
-+:- pred addstr(panel::in, attr::in, string::in, io::di, io::uo) is det.
-+
-+ % Turn on/off or set attributes that will be applied by default.
-+ %
-+:- pred attr_on(panel::in, attr::in, io::di, io::uo) is det.
-+:- pred attr_off(panel::in, attr::in, io::di, io::uo) is det.
-+:- pred attr_set(panel::in, attr::in, io::di, io::uo) is det.
-+
-+ % Update the display (also calls doupdate).
-+ % NOTE: doupdate does not call update_panels.
-+ %
-+:- pred update_panels(io::di, io::uo) is det.
-+
-+ % Draws a border around the inside edge of the display.
-+ %
-+:- pred border(panel::in, io::di, io::uo) is det.
-+
-+ % Draws an horizontal line of length N moving to the right.
-+ %
-+:- pred hline(panel::in, int::in, int::in, io::di, io::uo) is det.
-+
-+ % Draws a vertical line of length N moving down.
-+ %
-+:- pred vline(panel::in, int::in, int::in, io::di, io::uo) is det.
-+
-+%-----------------------------------------------------------------------------%
-+
-+:- implementation.
-+
-+%-------------------------------------------------------------------------%
-+
-+:- pragma foreign_decl("C", "
-+
-+ #include <ncurses.h>
-+ #include <panel.h>
-+
-+").
-+
-+:- pragma foreign_type("C", panel, "PANEL *").
-+
-+%-------------------------------------------------------------------------%
-+
-+:- pragma foreign_proc("C",
-+ new(Rows::in, Cols::in, Row::in, Col::in, Attr::in, Panel::out,
-+ IO0::di, IO::uo),
-+ [will_not_call_mercury, promise_pure],
-+"
-+ WINDOW *w = newwin(Rows, Cols, Row, Col);
-+ scrollok(w, TRUE);
-+ wattrset(w, Attr);
-+ wcolor_set(w, Attr, NULL);
-+ wclear(w);
-+ Panel = new_panel(w);
-+
-+ IO = IO0;
-+").
-+
-+%-------------------------------------------------------------------------%
-+
-+:- pragma foreign_proc("C",
-+ delete(Panel::in, IO0::di, IO::uo),
-+ [will_not_call_mercury, promise_pure],
-+"
-+ delwin(panel_window(Panel));
-+ del_panel(Panel);
-+
-+ IO = IO0;
-+").
-+
-+%-------------------------------------------------------------------------%
-+
-+:- pragma foreign_proc("C",
-+ raise(Panel::in, IO0::di, IO::uo),
-+ [will_not_call_mercury, promise_pure],
-+"
-+ top_panel(Panel);
-+ IO = IO0;
-+").
-+
-+%-------------------------------------------------------------------------%
-+
-+:- pragma foreign_proc("C",
-+ lower(Panel::in, IO0::di, IO::uo),
-+ [will_not_call_mercury, promise_pure],
-+"
-+ bottom_panel(Panel);
-+ IO = IO0;
-+").
-+
-+%-------------------------------------------------------------------------%
-+
-+:- pragma foreign_proc("C",
-+ hide(Panel::in, IO0::di, IO::uo),
-+ [will_not_call_mercury, promise_pure],
-+"
-+ hide_panel(Panel);
-+ IO = IO0;
-+").
-+
-+%-------------------------------------------------------------------------%
-+
-+:- pragma foreign_proc("C",
-+ reveal(Panel::in, IO0::di, IO::uo),
-+ [will_not_call_mercury, promise_pure],
-+"
-+ show_panel(Panel);
-+ IO = IO0;
-+").
-+
-+%-------------------------------------------------------------------------%
-+
-+:- pragma foreign_proc("C",
-+ relocate(Panel::in, Row::in, Col::in, IO0::di, IO::uo),
-+ [will_not_call_mercury, promise_pure],
-+"
-+ move_panel(Panel, Row, Col);
-+ IO = IO0;
-+").
-+
-+%-------------------------------------------------------------------------%
-+
-+:- pragma foreign_proc("C",
-+ clear(Panel::in, IO0::di, IO::uo),
-+ [will_not_call_mercury, promise_pure],
-+"
-+ wclear(panel_window(Panel));
-+ IO = IO0;
-+").
-+
-+%-------------------------------------------------------------------------%
-+
-+:- pragma foreign_proc("C",
-+ move(Panel::in, Row::in, Col::in, IO0::di, IO::uo),
-+ [will_not_call_mercury, promise_pure],
-+"
-+ wmove(panel_window(Panel), Row, Col);
-+ IO = IO0;
-+").
-+
-+%-------------------------------------------------------------------------%
-+
-+:- pragma foreign_proc("C",
-+ addch(Panel::in, Attr::in, CharCode::in, IO0::di, IO::uo),
-+ [will_not_call_mercury, promise_pure],
-+"
-+ waddch(panel_window(Panel), (chtype)Attr | (chtype)CharCode);
-+ IO = IO0;
-+").
-+
-+%-------------------------------------------------------------------------%
-+
-+addstr(Panel, Attr, Str, !IO) :-
-+ string.foldl(
-+ ( pred(Char::in, !.IO::di, !:IO::uo) is det :-
-+ addch(Panel, Attr, char.to_int(Char), !IO)
-+ ),
-+ Str, !IO
-+ ).
-+
-+%-------------------------------------------------------------------------%
-+
-+:- pragma foreign_proc("C",
-+ attr_on(Panel::in, Attr::in, IO0::di, IO::uo),
-+ [will_not_call_mercury, promise_pure],
-+"
-+ wattron(panel_window(Panel), Attr);
-+ IO = IO0;
-+").
-+
-+:- pragma foreign_proc("C",
-+ attr_off(Panel::in, Attr::in, IO0::di, IO::uo),
-+ [will_not_call_mercury, promise_pure],
-+"
-+ wattroff(panel_window(Panel), Attr);
-+ IO = IO0;
-+").
-+
-+:- pragma foreign_proc("C",
-+ attr_set(Panel::in, Attr::in, IO0::di, IO::uo),
-+ [will_not_call_mercury, promise_pure],
-+"
-+ wattrset(panel_window(Panel), Attr);
-+ IO = IO0;
-+").
-+
-+%-------------------------------------------------------------------------%
-+
-+:- pragma foreign_proc("C",
-+ update_panels(IO0::di, IO::uo),
-+ [will_not_call_mercury, promise_pure],
-+"
-+ update_panels();
-+ doupdate();
-+ IO = IO0;
-+").
-+
-+%-------------------------------------------------------------------------%
-+
-+:- pragma foreign_proc("C",
-+ border(Panel::in, IO0::di, IO::uo),
-+ [will_not_call_mercury, promise_pure],
-+"
-+ wborder(panel_window(Panel), 0, 0, 0, 0, 0, 0, 0, 0);
-+ IO = IO0;
-+").
-+
-+:- pragma foreign_proc("C",
-+ hline(Panel::in, C::in, N::in, IO0::di, IO::uo),
-+ [will_not_call_mercury, promise_pure],
-+"
-+ whline(panel_window(Panel), C, N);
-+ IO = IO0;
-+").
-+
-+:- pragma foreign_proc("C",
-+ vline(Panel::in, C::in, N::in, IO0::di, IO::uo),
-+ [will_not_call_mercury, promise_pure],
-+"
-+ wvline(panel_window(Panel), C, N);
-+ IO = IO0;
-+").
-+
-+%-----------------------------------------------------------------------------%