Tue May 23 13:14:57 1995  Tetsuro Fujise (fujise@ss112)
* Fixed a bug about 'pipedio' (runtime/Makefile)

Tue May  9 11:15:37 1995  Takashi Chikayama (chik@fuchi.t.u-tokyo.ac.jp)
* Fixed a bug in 'gett' of updt/3 (runtime/termio.kl1).

Fri Apr 28 09:55:12 1995  Tetsuro Fujise (fujise@icot.or.jp)
* Added preliminary Japanese KLIC Manual (klic-1.600).
* Version 2.000 released.

Tue Apr 11 14:40:38 1995  Masao Morita (m-morita@mri.co.jp)
* Fixed a bug in a termination detection part of shared-memory
parallel implementation (runtime/sched.c).

Tue Apr 11 14:33:28 1995  Takashi Chikayama  (chik@fuchi.t.u-tokyo.ac.jp)
* Fixed a bug in setting up to 'iscnst' for split/join which are new
methods of a vector object (runtime/gmvv.c). 

Thu Mar 30 11:09:38 1995  Takashi Chikayama  (chik@orochi)
* Merged Nakase's new distributed implementation and Morita's changes for
smoother merge of two different parallel implementations (many files).

Tue Mar 28 20:31:58 1995  Takashi Chikayama  (chik@orochi)
* Merged shared-memory parallel implementation (many files).
* Fixed problems on type subsumption rule for floats (insert.kl1).

Tue Mar 14 13:58:27 1995  Takashi Chikayama  (chik@ss108)
* Deleted obsolete script (runtime/version.sed).
* Better handling of system reconfiguration (setupcomm).
* Better error recovery for illegal floating point number option
(options.c).
* Fixed negative timer value problem (itimer.kl1).
* Fixed a trivial misspelling bug (pvm/distpkt.c, pvm-tcp/distpkt.c).
* Avoided too frequent GC for deadlock detection (kmain.c, options.h).
* Added mode change to make queries after finding some error in
the configuration script (Configure).
* Added reports of cumulative suspensions and resumptions when
report_measure is called from post-mortem goals (struct.h, kmain.c,
bodyblt.kl1).
* Fixed several non-ANSI compliant notations (asyncio.h, interpe.h,
options.h, distio.h).
* Modified the unparser to use operators (unparse.kl1).

Wed Mar  8 13:12:59 1995  Takashi Chikayama  (chik@gydra)
* Fixed int/long type problem for arguments of error message output
routines (debug.c).
* Fixed argument index bug in subterm inspection (trace.c).
* Added mulit-window debugging feature (Configure, trace.c, pipedio.c).

Fri Feb 10 13:40:36 1995  Takashi Chikayama  (chik@gydra)
* Fixed a bug in generation of clause indexing code, when both symbolic
and integer atoms are index candidates (generate.kl1).

Thu Feb  9 13:11:50 1995  Takashi Chikayama  (chik@gydra)
* Fixed a bug in closing a socket, caused by a missing "break" in
add_sigio_handler (asyncio.c).
* Merged changes by Kumon and Nakase.

Wed Feb  8 09:44:38 1995  Takashi Chikayama  (chik@gydra)
* Fixed the problem of useless reference to the table defined_modules.
This was due to unused external references to method tables of predicate
and module objects, which made the linker to think that objects for these
classes are required.  To solve this problem, extern declarations of these
tables are deleted from gmodule.h and extern declarations of predicate
method tables are inserted wherever a module or predicate object constants
are needed.  The same problems with other classes that the KLIC kernel
knows of (gmodule.h, g_float.h, g_string.h, g_vector.h, generate.kl1,
write.kl1).
* Fixed bug in float to integer conversion (farith.kl1).
* Added int/1 method to floats (gfloat.c).
* Added error diagnostics for illegal initial value for floats (gfloat.c).
* Added error diagnostics for illegal body goal (normalize.kl1).
* Fixed a bug that didn't create database files when no atoms nor functors
are added but the files are non-existent (klicdb.c).
* Fixed a bug in writing out octal escape sequences in constant string
elements (write.kl1).
* Inserted inclusion of stddef.h (xio.c).
* Changed random number generator from "random" to "nrand48" (random.c,
Configure, Makefiles).

Tue Feb  7 14:26:33 1995  Takashi Chikayama  (chik@ss108)
* Avoid using voidfn except when __STDC__ (klicdb.c, faisus.c).  CC of
SunOS 4.1 complains on it.
* Include sys/stdtypes.h for size_t (xio.c).
* Other changes for non-ANSI compilers (ktimer.c).
* Avoided aggregate initiation (timer.c).

Mon Feb  6 17:10:07 1995  Takashi Chikayama  (chik@gydra)
* Added runtime monitoring feature (many files).
* Added a feature to make default configuration parameters available
(Configure).
* Added random number generator (random.c, runtime/Makefile).
* Added KL1-level timer interfact (itimer.kl1, runtime/Makefile).
* Documented random number generator and timer (klic.tex).
* Fixed some problems in Makefile.

Wed Feb  1 20:31:55 1995  Takashi Chikayama  (chik@gydra)
* Replaced all calls to getc, fread, putc, fwrite, fflush and fprintf with
KLIC's own version of them.  This is to process EINTR error within these
functions and for future revision for unifying I/O for distributed version
(basic.h, xio.c <new addtion>, many files invoking those functions,
runtime/Makefile).
* Fixed buggy rule for verifying the compiler (used to use the original
compiler for the verification) (runtime/Makefile, compiler/Makefile).

Mon Jan 30 20:12:50 1995  Kouichi Kumon  (kumon@icot.or.jp)
* Supporting virtualized_timer() in the distributed system. (kmain.c)
* Add wait before gc start after a PE becomes idle. (kmain.c)
* Add sigio retry processing and fix allocp setting bug. (asyncio.c)
* Change perror to errno+sys_errlist[] to display error description
  on distributed code. I wonder it may be less standard. (debug.c)

Mon Jan 30 18:57:54 1995  Kouichi Kumon  (kumon@icot.or.jp)
* Add return-value checking of signal-setting system calls to detect error.
	(kmain.c)
* Fix pause codes for sequential core. (kmain.c)

Fri Jan 27 18:34:08 1995  Takashi Chikayama  (chik@gydra)
* Fixed a problem in timer handling caused when the interrupt occurs
earlier than expected (timer.c).

Thu Jan 26 20:53:34 1995  Takashi Chikayama  (chik@gydra)
* Several fixes in manual (klic.tex).
* Changed the way to compile C files for different (tracing, distributed
or normal) versions of runtime library.  The object file used to be
specified by the "-o" option of C compiler, which was not available on
some systems.  The new strategy links the source file to different names,
such as FILE-t.c.
* Added feature to test availability of symbolic links and use it in
making different versions of runtime library (Configure, Makefile.tail,
runtime/Makefile).
* Separated specification of Unix-level signal handling and slit-check
level signal handling (signal.c).
* Added timer handling features (timer.c, ktimer.c, runtime/Makefile).

 Thr Jan 26 15:22:43 1995  Kouichi Kumon  (kumon@icot.or.jp)
* Delete commented codes and blank lines. (pvm-tcp/distpkt.{c,h})
* Change variable name syncid_sent to syncid_recv in io_wait_sunc()
  to make thing clear. (pvm/distproc.c)
* Add child_wait_sync() and io_sync() functions to support wating
  synchronization for child. (pvm/distproc.c)

 Thr Jan 26 14:57:11 1995  Kouichi Kumon  (kumon@icot.or.jp)
* Change debugging macro from DEBUG() to DEBUG_X().
* Delete unused statements.
* Modification for disio_handler scheme. 
* Add synchronization, it may not be necessary.
* Change BCOPY() of fd_set to structure assignment statement.
* Add useless_message() handling, which is used only for debugging purpose.
	(pvm-tcp/distpkt.c)

Wed Jan 25 10:24:48 1995  Takashi Chikayama  (chik@gydra)
* Fixed argument pair expansion for goals with @ pragmas (macro.kl1).
* Added @lower_priority to the "life" test program to make it run much
faster (life.kl1).

Fri Jan 20 11:23:16 1995  Takashi Chikayama  (chik@gydra)
* Updated the manual correcting problems found during Japanese translation
efforts (klic.tex).
* Added virtualized interrupt timer handling (timer.h, timer.c,
include/Makefile, runtime/Makefile).
* Made compilation for compiler verification run in parallel
(runtime/Makefile, compiler/Makefile).
* Added final synchronization with subtasks in the comiler driver
(klic.c).
* Made compilation for tests run in parallel (Makefile, test/Makefile).
* Removed unused module (runtime/timing.c, runtime/Makefile).
* Made to avoid redundant overwriting of atom and functor databases
(klicdb.c).
* Fixed bug in compilation of unit clauses without arguments (macro.kl1).

 Fri Jan 20 11:20:49 1995  Kouichi Kumon  (kumon@icot.or.jp)
* Change interval_usec and noitimer variable from static to global to enable
  itimer setting in distpkt.c(pvm/distproc.h)
* Add rel_spawn_path option and variable. (pvm/distproc.h)
* Add flag for "relative-spawn" using PVM spawn path. (pvm/distproc.c)
* Change spawned program path printing. only -n flag enables it.
	(pvm/distproc.c)
* Move signal setup from kmain.c to distpkt.c. (pvm/distpkt.c)
* Add init_dist_signal_setup() to setup dist-version signals to support
  machine dependent signal_setting. (pvm/distpkt.c)

Wed Jan 18 13:32:12 1995  Takashi Chikayama  (chik@gydra)
* Fixed wrong wrapping of vectors (var.kl1).  Variable naming is still
problematic and, considering distributed implementations and garbage
collection, I'm not sure whether I can ever do it correctly.
* Fixed order of const and extern declarations (options.h).
* Fixed wrong "unsigned" declaration of "size" parameter in creation of
strings (gstring.c).
* Fixed manual description of the operator "int" in floating point
expressions (was written as "fix").

Tue Jan 17 20:03:34 1995  Kouichi Kumon  (kumon@icot.or.jp)
* Change PvmDataDefault to PvmDataRaw. (walk-around for pvm BUG on DEC alpha!!)
	(pvm/dist{io,pkt,proc}.c, pvm-tcp/distpkt.c)

Tue Jan 17 15:20:28 1995  Kouichi Kumon (kumon@icot.or.jp)
* Add cast (char *) to the first and second arguments of BCOPY()
  (pvm-tcp/distpkt.c).
* Add cast (char *) to BCOPY()'s first and second arguments
  (pvm/distpkt.c).
* Add <string.h> include file (options.c).
* Count_suspensions is changed from long to int (faisus.c).
* Add cast (char *)to BCOPY()'s the first and the second
  arguments (gmvv.c).

Tue Jan 10 13:42:39 1995  Kouichi Kumon (kumon@icot.or.jp)
* Fix comment (config/pvm-tcp/distpkt.c).
* Change variable name (config/pvm-tcp/distpkt.c).
* Change his_node(formerly his_id) change from int to long.
  It should be same type to my_node (config/pvm-tcp/distpkt.c).
* Fix tcp-address handling. sin_addr.S_un... -> sendsin.sin_addr
  (config/pvm-tcp/distpkt.c).
* Add iocntl for STREAM device to generate SIGIO signal
  (config/pvm-tcp/distpkt.c).
* Add isastream() for checking fd is a STREAM device or not
  (config/pvm-tcp/distpkt.c).

Fri Jan  6 12:10:45 1995  Takashi Chikayama  (chik@gydra)
* Fixed lacked message dereference for I/O object (gio.c).
* Fixed argument pointer increment problem for format char 'k' in
debug_printf (debug.c).
* Fixed lack of -t (debugging) version of debug.c (runtime/Makefile).
* Fixed a problem for systems with non-long time_t (klicdb.c).
* Fixed wrong cast for string body (gstring.c).
* Fixed volatile function declaration problem in STDC but not GNUC
(basic.h).

Tue Dec 27 18:32:52 1994  Takashi Chikayama  (chik@gydra)
* Fixed alignment problems for variables start_tracing and
count_suspension (options.h, kmain.c, faisus.c).

Mon Dec 26 22:25:52 1994  Kouichi Kumon (kumon@icot.or.jp)
* Bug fix in io_client(): va_arg() never receives type 'char'
 (config/pvm/distio.c).

Thu Dec 22 10:41:10 1994  Takashi Chikayama  (chik@gydra)
* Added parallel compilation (klic.c).
* Parallel compilation feature added for installation (Configure and
Makefile on runtime, compiler and test directories).
* Made "alternatively" work (faisus.c).
* Corrected volatile declaration for do_fail (faisus.c).

Wed Dec 21 18:03:29 1994  Kouichi Kumon (kumon@icot.or.jp)
* Remove writev() system-call (config/pvm-tcp/distpkt.c).
* Supplement  statistics measurement in send/receive_packet()
  (config/pvm-tcp/distpkt.c).
* Change ambiguous variable names (config/pvm-tcp/distpkt.c).

Fri Dec 16 23:45:05 1994  Kouichi Kumon (kumon@icot.or.jp)
* Nomore use writev, so buffer management is changed to make room
 for pktsize at the front of packet by shifting packet by one word
 (config/pvm-tcp/distpkt.c).
* Severe bug, variable name spelling. hos(t)name. therefore, changed
  all ambiguous names (config/pvm-tcp/distpkt.c).
* Change include-file name from klic_pvm.h -> distproc.h (config/pvm/distio.h).

Fri Dec 09 13:33:49 1994  Kouichi Kumon (kumon@icot.or.jp)
* Add interrupt statistics routine (config/pvm/{distpkt.h, distpkt.c}).

Thr Dec 08 22:14:43 1994  Kouichi Kumon (kumon@icot.or.jp)
* Add polite network closing celemony by using zero-length packet
  (config/pvm-tcp/distpkt.c).
* Trivial debugging output change (sendrecv.c).
* Fix the read_reply optimization bug (cntlmsg.c).
* Change some debugging print messages (cntlmsg.c).

Thr Dec 08 20:01:12 1994  Kouichi Kumon (kumon@icot.or.jp)
* INTERRUPT_RECEIVE_STAT macro is enabled. (sendrecv.c).
* Change debug output (cntlmsg.c).
* Add experimental reply_answer_value code (cntlmsg.c.
* Add interrupt_statistics related macros (config/pvm-tcp/distpkt.h).
* Add sudden close network detection (config/pvm-tcp/distpkt.c).
* Initialize self-communicating port fd to -1 (config/pvm-tcp/distpkt.c).
* Use io_wait_sync() routine (config/pvm-tcp/distpkt.c).
* Add child_sync routine (config/pvm-tcp/distpkt.c).
* Move static struct immediate to file-wise scope (config/pvm-tcp/distpkt.c).
* Add EINTR check in forceread() (config/pvm-tcp/distpkt.c).
* Add print_interrupt_statistics (config/pvm-tcp/distpkt.c).
* ARG_SET/ARG_RESET variables use int and ARG_SIZEed variables use long
  (config/pvm/distproc.c).
* Fix long/int usage (config/pvm/distproc.h).
* Change Close_net() macro to call close_network() (config/pvm/distproc.h).
* Aadd close_network(). for supporting both pvm and pvm-tcp
 (config/pvm/distpkt.c).

Thr Dec 08 15:09:52 1994  Kouichi Kumon (kumon@icot.or.jp)
* Change interrupt statistics to standard form
  (kmain.c, cntlmsg.c, sendrecv.c).

Wed Dec 07 17:29:27 1994  Kouichi Kumon (kumon@icot.or.jp)
* Temporaly version (cntlmsg.c).
* Add SIGALRM effect print routine (cntlmsg.c).
* Fix parse_size argument in ARG_SIZE (options.c).
* Temporaly version for measuring itimer effect (kmain.c).
* Add some comment to #else of #endif macro (kmain.c).
* Change pause() to much precise operation (kmain.c).

Tue Dec 06 22:11:03 1994  Kouichi Kumon (kumon@icot.or.jp)
* Non STDC compiler complains ioprintf etc. are non compatible to
  the declaration (debug.c).

Mon Dec  5 16:15:37 1994  Takashi Chikayama  (chik@gydra)
* Deleted search for "nlist" during configuration, as it is no longer
needed by the system (Configure).

Fri Dec 02 17:27:00 1994  Kouichi Kumon (kumon@icot.or.jp)
* Add child_sync(), io_wait_sync() routine (config/pvm/distproc.c).

Fri Dec 02 14:13:48 1994  Kouichi Kumon (kumon@icot.or.jp)
* Add comment (config/pvm-tcp/distpkt.h).
* Change ioctl parameter for SIGIO (config/pvm-tcp/distpkt.c).
* Change include file (config/pvm/{distio.h,distproc.c}, options.c kmain.c).

Thr Dec 01 19:52:06 1994  Kouichi Kumon (kumon@icot.or.jp)
* Fix argc handling (config/pvm/distproc.c).

Thu Dec  1 13:36:58 1994  Takashi Chikayama  (chik@gydra)
* Fixed the problem of not registering module and predicate name atoms for
predicate constants (compiler/extern.kl1).

Fri Nov 25 10:55:25 1994  Takashi Chikayama  (chik@gydra)
* Added environment variable lookup for compilation/linkage options
(klic.c, klicdb.c, options.c, compiler/Makefile, klic.tex).
* Added configuration features to specify LD different from CC and options
for CC and LD (Configure).

Wed Nov 16 11:52:21 1994  Takashi Chikayama  (chik@gydra)
* Fixed GC problem when no more memory is available for larger heap
allocation (gc.c).
* Fixed synchronization problem and changed it top actually verify
parsing/unparsing in parser test program (parsetest.kl1).

Tue Nov 15 14:01:04 1994  Takashi Chikayama  (chik@ss108)
* Cleaned up the compiler (many files under compiler dir).
* Changed code generation strategy for structure elements and goal
arguments when the element/argument is a structure element.  The element
is retrieved stored directly in one assignment, rather than loading it to
an "x" register (generate.kl1).

Fri Nov 11 11:54:32 1994  Takashi Chikayama  (chik@ss108)
* Alpha release of 1.511 within ICOT.
* Fixed heap top pointer manipulation bug in the message handler
(msg_handler.c).
* Fixed argument name misspell of do_unify_4 (unify.c).
* Cleaned up redundant variable declarations in inline C code (functt.kl1,
generic.kl1).

Thu Nov 10 15:14:41 1994  Takashi Chikayama  (chik@ss108)
* Fixed include file name g_extern_inline.h to g_extinl.h (ge_exref.c).
* Fixed double inclusion of functorstuffs.h (encode.c).
* Fixed double invocation problem of init_klic_signal_handling (kmain.c).
* Fixed suspeded goal list maintenance bug (gc.c).
* Fixed problem with handling format option specifier 'l' (as in "%ld") in
debug_printf (debug.c).

Wed Nov  9 11:58:16 1994  Takashi Chikayama  (chik@ss108)
* Alpha release of 1.510 within ICOT.
* Fixed non-returning function declaration problems (many files).
Actually, the problem is not solved completely, as we haven't found good
way to tell older versions of gcc of the fact in a K&R compatible manner.
* Fixed wrong order of storage class (static) and Const keywords (many
individual files directly, write.c for compiler code generation and
klicdb.c for database file generation).
* Fixed signed/unsigned problem in argument range checks (gmvv.c,
gstring.c).
* Merged patches for distributed processing (many files in runtime).
* Merged the functionalities of trace_printf in trace.c to debug_printf in
debug.c; also sped up debug_printf a bit (trace.c, debug.c).

Tue Nov  8 11:04:12 1994  Takashi Chikayama  (chik@ss108)
* Changed to use I/O generic objects for pipe I/O.  This made "in" and
"out" predicates needless (gunix.kl1).
* Fixed operator precedence misunderstanding in writing out of string
constant elements, that used to cause zero division (write.kl1).
* Cleaned up suspension statistics code (faisus.c, recsusp.c).
* Fixed erroneous expansion of pow/1 in floating expressions (macro.kl1).
* Cleaned up several predicates (macro_arg &c) (macro.kl1).
* Fixed tag on object and removed redundant to debug_printf called when
inappropriate objects are compared (generic.c).
* Fixed bug in macro expansion deadlock for @>= and @> and tidied up
things (macro.kl1).

Mon Nov  7 11:59:00 1994  Takashi Chikayama  (chik@ss108)
* Fixed wrong arguments to debug_printf on message error to I/O objects
(gio.c).
* Fixed storage class conflict of print_ready_queue and
print_suspended_goals (trace.c).
* Fixed format string handling bug that failed to use formatting
characters of printf (debug.c).
* Fixed a makefile to generate debugging version of debug.c
(runtime/Makefile).

Fri Nov  4 14:43:44 1994  Takashi Chikayama  (chik@ss108)
* Fixed setarg for cons (functt.kl1).
* Fixed allocp manipulation to be compatible with the "this_more_space"
(signal.c, intrpt.c).
* Fixed infinite loop problem by setting signal_done (signal.c).
* Fixed bugs in examples of string creation (klic.tex).

Wed Nov  2 09:55:58 1994  Takashi Chikayama  (chik@ss108)
* Fixed double ++ for the same pointer problem (decode.c).
* Fixed infinite loop bug in verbose printing of hooked goals (print.c).

Tue Nov  1 18:59:05 1994  Takashi Chikayama  (chik@ss108)
* Fixed deadlock detection code so that the suspended goal list is
maintaned correctly when a deadlock is detected (gc.c).
* Cleaned up trace printing for distributed parallel system (trace.c,
traceio.h).

Mon Oct 31 17:19:41 1994  Takashi Chikayama  (chik@ss108)
* Changed deref_and_jump macro (index.h) so that compiled codes only
dereference one level.  Changed faisus.c to take care of multiple level
indirections.  This makes code shorter without much runtime overhead.
Several occurences of deref_and_jump in files directly written in C are
changed to avoid its use.
* Fixed "pvm3.h" to <pvm3.h> in several files.
* Added suspended goal dump routine to runtime/trace.c.
* Fixed Configure to respect environment variable values as default values
of PVM_ROOT, PVM_ARCH and PVMLIB.
* Fixed asynchronous I/O handling (gunix.kl1) so that:
  - sync/1 message won't deadlock, and
  - write_buf tries again when not whole of the buffer is written.
* Changed the description of I/O streams in the manual to explicitly state
that I/O messages should not be sent to unix or klicio streams.

Mon Nov 07 10:25:00 1994  Kouichi Kumon (kumon@icot.or.jp)
* Unify level0/1 encoding routines into encode_data(). Those are
  distingushed by eager_transfer_level (val_hndl.c).
