2009-02-03  Roger While <simrw@sim-basis.de>

	* intrinsic.c : Fix Cygwins busted rand function

2009-01-27  Roger While <simrw@sim-basis.de>

	* call.c : Change hyphen interpretation

2009-01-22  Roger While <simrw@sim-basis.de>

	* intrinsic.[ch] : Functions CONCATENATE and SUBSTITUTE-CASE

2009-01-20  Roger While <simrw@sim-basis.de>

	* screenio.[ch] : Minimal support for value occurs

2009-01-17  Roger While <simrw@sim-basis.de>

	* common.c, screenio.[ch] : Save/restore screen over SYSTEM call
	* General : Sanitize headers. Do not use names in prototypes

2009-01-15  Roger While <simrw@sim-basis.de>

	* screenio.[ch], termio.c - SCROLL for ACCEPT/DISPLAY

2009-01-14  Roger While <simrw@sim-basis.de>

	* screenio.[ch] - ACCEPT ... FROM LINES/COLUMNS

2008-12-20  Roger While <simrw@sim-basis.de>

	* intrinsic.[ch] : Implement SUBSTITUTE function

2008-12-10  Roger While <simrw@sim-basis.de>

	* screenio.c : Add inter-field cursor movement for screen input

2008-12-08  Roger While <simrw@sim-basis.de>

	* General : More stack reducing
	* common.h : Constify attribute pointer in cob_field

2008-12-03  Roger While <simrw@sim-basis.de>

	* General : More stack reducing
		Clean up dangling varargs

2008-11-20  Roger While <simrw@sim-basis.de>

	* General : Reduce stack usage

2008-11-15  Roger While <simrw@sim-basis.de>

	* fileio.c : Fix SORT GIVING when output is line sequential
	* common.[ch], call.[ch] : C routines for calling Cobol

2008-11-14  Roger While <simrw@sim-basis.de>

	* common.c : Always activate SIGSEGV handler

2008-10-17  Roger While <simrw@sim-basis.de>

	* common.[ch] : cob_check_based - Check BASED items

2008-09-22  Roger While <simrw@sim-basis.de>

	* fileio.[ch] : Evaluate FILE STATUS for SORT files
	* General : More constification

2008-08-20  Roger While <simrw@sim-basis.de>

	* common.h : Change macro for __builtin_expect

2008-08-16  Roger While <simrw@sim-basis.de>

	* coblocal.h, termio.c, screenio.c : Change global name screen_initialized

2008-08-01  Roger While <simrw@sim-basis.de>

	* byteswap.h : Do not rely on gcc doing the right thing for short

2008-07-21  Roger While <simrw@sim-basis.de>

	* screenio.c : Do not display SECURE items
	* General : Cleanup, do early malloc initializations

2008-07-19  Roger While <simrw@sim-basis.de>

	* General : Tidy up syntax
	* intrinsic.c : Optimize field generation

2008-07-18  Roger While <simrw@sim-basis.de>

	* common.c : Win does not have nanosleep

2008-07-14  Roger While <simrw@sim-basis.de>

	* termio.c, move.c : Preliminary changes for zero-length fields

2008-07-11  Roger While <simrw@sim-basis.de>

	* strings.c : Handle special replacement correctly

2008-07-09  Roger While <simrw@sim-basis.de>

	* screenio.[ch] : Fix up SCREEN handling

2008-07-05  Roger While <simrw@sim-basis.de>

	* screenio.c : Extend SCREEN processing

2008-07-01  Roger While <simrw@sim-basis.de>

	* termio.c : Revert '.' display of non-displayable characters

2008-06-29  Roger While <simrw@sim-basis.de>

	* common.[ch], system.def : Implement CBL_OC_NANOSLEEP
	* coblocal.h, move.c : support routines for the above

2008-06-25  Roger While <simrw@sim-basis.de>

	* screenio.[ch] : Define input fields for SCREEN section

2008-06-23  Roger While <simrw@sim-basis.de>

	* screenio.c : New env COB_SCREEN_EXCEPTIONS to retrun extended
		exception codes on ACCEPT

2008-06-17  Roger While <simrw@sim-basis.de>

	* fileio.c : Fix return from ISAM (not BDB) from OPEN
	* common.c : redirect to stderr when necessary
	* screenio.c : More support

2008-06-10  Roger While <simrw@sim-basis.de>

	* screenio.[ch], termio.c : More Screen changes

2008-06-05  Roger While <simrw@sim-basis.de>

	* coblocal.h, common.c, fileio.[ch] : Cleanup, prepare for linptr reuse

2008-06-04  Roger While <simrw@sim-basis.de>

	* fileio.c : Cleanup /simplification

2008-06-03  Roger While <simrw@sim-basis.de>

	* fileio.[ch] : Support UNLOCK statement

2008-06-01  Roger While <simrw@sim-basis.de>

	* coblocal.h, move.c, numeric.c : Localize cob_binary_get/set routines
	* common.c, move.c : Cater for spaces in numeric fields
	* termio.c : Display '.' for invalid characters

2008-05-31  Roger While <simrw@sim-basis.de>

	* fileio.c : Allow VARYING on LINE SEQUENTIAL

2008-05-23  Roger While <simrw@sim-basis.de>

	* common.h, termio.c : Better display of POINTER items

2008-05-19  Roger While <simrw@sim-basis.de>

	* screenio.[ch] : More support for SCREEN

2008-05-14  Roger While <simrw@sim-basis.de>

	* common.c : Fix C$NARG for chaining syntax
	* common.[ch] : Simplify accept from environment

2008-05-12  Roger While <simrw@sim-basis.de>

	* screenio.c : Fix some screen displays

2008-04-17  Roger While <simrw@sim-basis.de>

	* common.[ch], system.def : Implement MF call X"91",
		subfunctions 11, 12, 16

2008-04-02  Roger While <simrw@sim-basis.de>

	* intrinsic.[ch] : Implement FUNCTION COMBINED-DATETIME

2008-03-31  Roger While <simrw@sim-basis.de>

	* intrinsic:[ch] : Implement LOCALE-TIME-FROM-SECONDS
		More refmodding for functions

2008-03-29  Roger While <simrw@sim-basis.de>

	* General : Fix up sparse warnings

2008-03-24  Roger While <simrw@sim-basis.de>

	* intrinsic.[ch] : Refmodding for some FUNCTIONS

2008-03-11  Roger While <simrw@sim-basis.de>

	* call.c : New environment variable to control case conversion on
		dynamic program loads.
		COB_LOAD_CASE=UPPER|LOWER

2008-03-05  Roger While <simrw@sim-basis.de>

	* fileio.c : New environment variables to control LINE SEQUENTIAL
		files.
		COB_LS_NULLS - Equivalent to MF's -N switch.
		Bytes less than ASCII space are preceded by a null
		byte on write.
		COB_LS_FIXED - Write the record without trailing space
		removal.

2008-03-01  Roger While <simrw@sim-basis.de>

	* fileio.c : BDB CLOSE must close secondary files first

2008-02-19  Roger While <simrw@sim-basis.de>

	* fileio.c : Clean up and comment

2008-02-14  Roger While <simrw@sim-basis.de>

	* fileio.c : Fix ifdef's for variable sequential files

2008-02-12  Roger While <simrw@sim-basis.de>

	* common.[ch] :  Rationalize some previously exported variables
		New function - cob_set_location for line debugging

2008-01-07  Roger While <simrw@sim-basis.de>

	* common.[ch] : DISPLAY .. UPON COMMAND-LINE

2008-01-03  Roger While <simrw@sim-basis.de>

	* move.h : Remove own_memxxx routines
	* General : Remove references to own_memxxx routines

2007-12-27  Roger While <simrw@sim-basis.de>

	** Mark 1.0 RELEASE

2007-12-15  Roger While <simrw@sim-basis.de>

	* common.c : Change exception structure definition to optimize
		64 bit allocation

2007-11-21  Roger While <simrw@sim-basis.de>

	* fileio.c : Add C/D/VB-ISAM code

2007-11-20  Roger While <simrw@sim-basis.de>

	* fileio.c : Cater for 02 return status
		Put in hooks for C/D/VB-ISAM

2007-11-09  Roger While <simrw@sim-basis.de>

	* numeric.c : Use 64-bit when available

2007-11-01  Roger While <simrw@sim-basis.de>

	* numeric.c : Fix 64-bit unsigned problem

2007-10-27  Roger While <simrw@sim-basis.de>

	* strings.c : Fix figurative constant handling in INSPECT

2007-10-24  Roger While <simrw@sim-basis.de>

	* numeric.[ch] : New routine cob_cmp_uint

2007-10-22  Roger While <simrw@sim-basis.de>

	* numeric.c : Fix 36 digit numerics

2007-10-20  Roger While <simrw@sim-basis.de>

	* call.c : Clean up
	* codegen.h : Fix up signed/unsigned comparison

2007-10-17  Roger While <simrw@sim-basis.de>

	* common.c : User defined exit routines must be called before
			the OC clean up routines.
		     Fix missing call to user defined error routines.

2007-10-10  Roger While <simrw@sim-basis.de>

	* fileio.[ch] : Change delete to fdelete (C++)

2007-09-18  Roger While <simrw@sim-basis.de>

	* screenio.c : Check for mvgetnstr in curses lib

2007-09-12  Roger While <simrw@sim-basis.de>

	* fileio.h : Add in CHANNEL definition

2007-09-07  Roger While <simrw@sim-basis.de>

	* General : unistd.h is not availiable on native Win
	* move.c, termio.c : Cater for changed pic string representation

2007-08-31  Roger While <simrw@sim-basis.de>

	* fileio.[ch] : Move defines, change EXTFH interface
		Linage is reduced to a pointer in the fileio struct
		2 local defines moved from fileio.c to fileio.h for EXTFH

2007-08-23  Roger While <simrw@sim-basis.de>

	* General : Remove ASCII 10/20, fix up ascii/ebcdic on target
		Note changes to module and file structures

2007-08-14  Roger While <simrw@sim-basis.de>

	* fileio.c : Implement method to use an external SEQ/RAN file handler
	* fileio.h : Use spare byte in file struct as file version

2007-08-12  Roger While <simrw@sim-basis.de>

	* numeric.c : Fix for EBCDIC machines

2007-08-09  Roger While <simrw@sim-basis.de>

	* fileio.c : Implement method to use an external ISAM file handler

2007-08-01  Roger While <simrw@sim-basis.de>

	* call.c : Implement cob_c_cancel
	* General : More constification

2007-07-26  Roger While <simrw@sim-basis.de>

	* common.c, fileio.c : (un)likely optimizations
	* byteswap.h : For i386, let gcc work out the 2 byte case

2007-07-24  Roger While <simrw@sim-basis.de>

	* fileio.c : Do not use locks if filename begins with "/dev/"

2007-07-21  Roger While <simrw@sim-basis.de>

	* common.c : Use calloc instead of malloc

2007-07-11  Roger While <simrw@sim-basis.de>

	* fileio.c : Fix a memory leak in the I/S close code

2007-07-02  Roger While <simrw@sim-basis.de>

	* call.c : Previously we were trying to detect if dlopen(NULL)
		works in configure and ifdef'ing in call.c
		This does not work in all circumstances.
		For borked systems this now has to be changed by hand
		in call.c. The comments at the top of call.c -
		/* NOTE - The following variable should be uncommented when
		it is known that dlopen(NULL) is borked.
		This is known to be true for some PA-RISC HP-UX 11.11 systems.
		This is fixed with HP patch PHSS_28871. (There are newer
		but this fixes dlopen/dlsym problems)
		*/
		/* #define COB_BORKED_DLOPEN */

2007-07-01  Roger While <simrw@sim-basis.de>

	* codegen.h : Further optimizations

2007-06-28  Roger While <simrw@sim-basis.de>

	* codegen.h : Tweak for non-alignment-tolerant architectures
	* intrinsic.c : DST hack for ports that do not have "%z"
		Note - This needs to be properly fixed

2007-06-26  Roger While <simrw@sim-basis.de>

	* intrinsic.c : For specific ports, fix TZ in CURRENT-DATE
		Add use of strftime for timezone if configure detected

2007-06-06  Roger While <simrw@sim-basis.de>

	* fileio.[ch] : LOCK on WRITE/REWRITE

2007-05-22  Roger While <simrw@sim-basis.de>

	* fileio.[hc] : Implement IGNORING LOCK.
		Fix a WRITE/REWRITE problem with duplicate keys.

2007-05-17  Roger While <simrw@sim-basis.de>

	* screenio.c : Use normal curses when available

2007-05-10  Roger While <simrw@sim-basis.de>

	* fileio.c : Fix positioning with START,READ NEXT/PREVIOUS on duplicate
		records.

2007-05-08  Roger While <simrw@sim-basis.de>

	* common.[ch] : Fix incompatible param definitions on CBL_EXIT_PROC
		and CBL_ERROR_PROC

2007-05-04  Roger While <simrw@sim-basis.de>

	* fileio.[ch] : Preliminary support for record locking

2007-04-28  Roger While <simrw@sim-basis.de>

	* numeric.c : Remove duplicated code.
		Set up variables for binary > 64 bits

2007-04-26  Roger While <simrw@sim-basis.de>

	* numeric.c : Fix incorrect value when signed bit set in an
		eight byte binary value.
	* numeric.[ch] : Remove unused routine. Make 2 routines static.

2007-04-17  Roger While <simrw@sim-basis.de>

	* intrinsic.c : Fix a Cygwin compile failure

2007-04-11  Roger While <simrw@sim-basis.de>

	* common.[ch] : Define cob_one for screen display

2007-04-10  Roger While <simrw@sim-basis.de>

	* strings.[ch] : Dynamically allocate for unstring

2007-03-27  Roger While <simrw@sim-basis.de>

	* common.c : Fix 64-bit warning

2007-03-16  Roger While <simrw@sim-basis.de>

	* common.c, intrinsic.c : Provide fractional seconds on Win platform

2007-03-13  Roger While <simrw@sim-basis.de>

	* intrinsic.c : Provide fractional seconds for CURRENT-DATE if
	  supported on the platform
	* common.c : Provide fractional seconds for ACCEPT .. FROM TIME
	  if supported on the platform
	* fileio.h : Align file structure
	* fileio.c : When filename mapping, allow underline in varibale name

2007-03-05  Roger While <simrw@sim-basis.de>

	* intrinsic.c : Windows/Cygwin implementation of LOCALE-DATE/TIME

2007-03-03  Roger While <simrw@sim-basis.de>

	* General : Use COB_FIELD_xxx macros

2007-03-01  Roger While <simrw@sim-basis.de>

	* intrinsic.[ch] : Change params for LOCALE-DATE/TIME

2007-02-26  Roger While <simrw@sim-basis.de>

	* intrinsic.c : Fix for not defined LANGINFO

2007-02-25  Roger While <simrw@sim-basis.de>

	* fileio.c : Fix Indexed-Sequential rewrite

2007-02-13  Roger While <simrw@sim-basis.de>

	* All : Change initialization of fields/attributes

2007-02-11  Roger While <simrw@sim-basis.de>

	* coblocal.h : New file, contains prototypes that should only
		be known to the library
	* All : Implement above header file

2007-02-09  Roger While <simrw@sim-basis.de>

	* fileio.[ch] : Implement SORT-RETURN

2007-02-07  Roger While <simrw@sim-basis.de>

	* intrinsic.[ch] : Implement LOCALE-DATE, LOCALE-TIME
	* fileio.[hc] : Fix a READ PREVIOUS problem

2007-01-24  Roger While <simrw@sim-basis.de>

	* fileio.[ch] : Implement new SORT routines
			Note these do not need the ISAM handler

2007-01-17  Roger While <simrw@sim-basis.de>

	* common.[ch] : Add cob_is_omitted, check for null parameter

2007-01-16  Roger While <simrw@sim-basis.de>

	* intrinsic.[ch] : Implement FUNCTION's
		SECONDS-PAST-MIDNIGHT, SECONDS-FROM-FORMATTED-TIME
	* All : Remove COB_SET_EXCEPTION define
	* intrinsic.c : Set COB_EC_ARGUMENT_FUNCTION exception code where
			appropiate

2007-01-15  Roger While <simrw@sim-basis.de>

	* common.[ch], fileio.[ch] : Change sort comparison routines to not
		overwrite collating sequence. Also optimize.
		Note, this fixes a problem with a (file) SORT with COLLATING and
		INPUT and/or OUPUT procedures. Previously, this would
		incorrectly change alphanumeric tests in the
		INPUT/OUTPUT procedures.
	* fileio.[ch] : Allow special ASSIGN [TO] DISPLAY processing

2007-01-12  Roger While <simrw@sim-basis.de>

	* fileio.c : Fix miscompile on WIN64

2007-01-10  Roger While <simrw@sim-basis.de>

	* fileio.[ch] : Allow special ASSIGN [TO] KEYBOARD processing

2007-01-08  Roger While <simrw@sim-basis.de>

	* call.[ch] : Implement new CANCEL processing

2006-12-17  Roger While <simrw@sim-basis.de>

	* intrinsic.[ch] : Correct the NUMVAL-C function

2006-12-12  Roger While <simrw@sim-basis.de>

	* fileio.c : Fix secondary key access

2006-12-07  Roger While <simrw@sim-basis.de>

	* intrinsic.[ch] : Implement TRIM function

2006-11-28  Roger While <simrw@sim-basis.de>

	* move.c : Small optimization
	* numeric.c : New routines cob_cmp_long_numdisp,
			cob_cmp_long_signed_numdisp

2006-11-12  Roger While <simrw@sim-basis.de>

	* codegen.h : Remaining integer cmp/add/sub optimizations

2006-10-23  Roger While <simrw@sim-basis.de>

	* Makefile.am : Remove gcc options
	  General : Constify some stuff

2006-10-16  Roger While <simrw@sim-basis.de>

	* codegen.h : Fix 3 byte compare

2006-10-15  Roger While <simrw@sim-basis.de>

	* codegen.h : This is now the place for optimization
		Duplication in numeric.c is not necessary
		Add in optimization for 3/5/6/7 byte compares
		Add in 3 byte add optimization
	* numeric.c : Delete duplicated code from codegen.h
		Constify

2006-10-14  Roger While <simrw@sim-basis.de>

	* common.c, fileio.[ch], move.[ch] : const defintions

2006-09-30  Roger While <simrw@sim-basis.de>

	* common.[ch] : Implement CBL_EXIT_PROC
	* General : tidy up

2006-08-31  Roger While <simrw@sim-basis.de>

	* call.c : Alternate ifdef'd algo for call list

2006-08-28  Roger While <simrw@sim-basis.de>

	* General : Check for COB_PARAM_CHECK
	* numeric.c : Experimental code

2006-08-26  Roger While <simrw@sim-basis.de>

	* fileio.c : Implement COB_FILE_PATH variable for default
	  path prefix on files that do not have any other assignment

2006-08-09  Roger While <simrw@sim-basis.de>

	* system.def, common.[ch] : More MF/ACU system routines

2006-08-01  Roger While <simrw@sim-basis.de>

	* common.[ch], call.c : Change cob_field_to_string to type void

2006-07-31  Roger While <simrw@sim-basis.de>

	* system.def, fileio.[ch], call.c, common.[ch] : New MF system routines -
	  see system.def

2006-07-26  Roger While <simrw@sim-basis.de>

	* All : General clean up and fix gcc 4 warnings
	* New file system.def
	* call.c, common.[ch] : System routines

2006-07-19  Roger While <simrw@sim-basis.de>

	* All : General clean up

2006-07-14  Roger While <simrw@sim-basis.de>

	* codegen.h, numeric.c : Fix optimization for HP compiler
	* intrinsic.c : Fix bug in NUMVAL routines

2006-07-12  Roger While <simrw@sim-basis.de>

	* common.[ch] : Implement ALLOCATE/FREE
	* strings.c : Clean up

2006-07-07  Roger While <simrw@sim-basis.de>

	* codegen.h, numeric.c : More optimizations
	* fileio.c : Further BDB fixes

2006-07-06  Roger While <simrw@sim-basis.de>

	* fileio.c : BDB >= 4.1 fixes

2006-07-04  Roger While <simrw@sim-basis.de>

	* fileio.c : BDB >= 4.1 fixes

2006-06-22  Roger While <simrw@sim-basis.de>

	* call.c : Set cob_exception_code for not found calls

2006-06-21  Roger While <simrw@sim-basis.de>

	* fileio.c : Fix typo for cob_sort_output_cache

2006-06-06  Roger While <simrw@sim-basis.de>

	* move.h : Remove generic memcpy/memset for non (GNUC && i386)

2006-06-05  Roger While <simrw@sim-basis.de>

	* fileio.[ch] : Implement PREVIOUS for IS files

2006-05-27  Roger While <simrw@sim-basis.de>

	* common.[ch] : Implement cob_fatal_error

2006-05-20  Roger While <simrw@sim-basis.de>

	* Fixes for extended ACCEPT/DISPLAY

2006-05-18  Roger While <simrw@sim-basis.de>

	* common.[ch], intrinsic.[ch] : Implement FUNCTION's EXCEPTION-FILE,
		EXCEPTION-STATEMENT, EXCEPTION-LOCATION and EXCEPTION-STATUS

2006-05-12  Roger While <simrw@sim-basis.de>

	* common.c, exception.def : Exceptions for ACCEPT/DISPLAY

2006-05-10  Roger While <simrw@sim-basis.de>

	* common.h : Preliminary support for CURSOR IS and CRT STATUS IS
	* intrinsic.[ch] : Implement STORED-CHAR-LENGTH (Fujitsu)

2006-05-08  Roger While <simrw@sim-basis.de>

	* common.[ch] : cob_chain_setup - Setp CHAINING params from command line
	* string.[ch] : Implement TRAILING syntax in INSPECT clause

2006-05-05  Roger While <simrw@sim-basis.de>

	* strings.c : Avoid memory bloat with INSPECT

2006-05-04  Roger While <simrw@sim-basis.de>

	* common.h : Define likely/unlikely macros
	* call.c, move.c : Use above macros

2006-05-03  Roger While <simrw@sim-basis.de>

	* screenio.[ch] : Change strucrures

2006-05-01  Roger While <simrw@sim-basis.de>

	* General : Changes for native EBCDIC machines
	* codegen.h, numeric.c : Further optimization for cob_cmp_xxx,
		cob_add_xxx, cob_sub_xxx
	* common.[ch]: Support for sign-ebcdic and sign-ascii20
			(Note ascii20 is not correct)
		       Implement SET ENVIRONMENT (ACU)

2006-04-17  Roger While <simrw@sim-basis.de>

	* codegen.h, numeric.c : Optimized cob_cmp_xxx, cob_add_xxx,
	  cob_sub_xxx

2006-04-06  Roger While <simrw@sim-basis.de>

	* common.h, common.c : Define new function cob_strdup
	  common.c, call.c, fileio.c : Use cob_strdup
	  fileio.c : Fix size_t mistake

2006-04-02  Roger While <simrw@sim-basis.de>

	* codegen.h : Fix up a bunch of mistakes

2006-03-25  Roger While <simrw@sim-basis.de>

	* common.c : Although not currently used, update the
	  ASCII/EBCDIC tables

2006-03-23  Roger While <simrw@sim-basis.de>

	* numeric.c : Fix a stack corruption in the fast C-3 compare

2006-03-22  Roger While <simrw@sim-basis.de>

	* common.[hc] : Implement COLLATING SEQUENCE for table SORT

2006-03-21  Roger While <simrw@sim-basis.de>

	* move.c : More edited field fixes from Hans Martin Rasch

2006-03-16  Roger While <simrw@sim-basis.de>

	* move.c : Fix edited field with +/- and currency

2006-03-10  Roger While <simrw@sim-basis.de>

	* All : Reduce compile warnings under Win
	* common.c : setlocale depends on HAVE_SETLOCALE
		     We must do a setlocale for LC_NUMERIC
		     as languages with a comma seperator change
		     the operation of string functions which bork
		     specfically FP operations

2006-03-09  Roger While <simrw@sim-basis.de>

	* numeric.c : Fix remainder problem
		      Fix returning functions which return void

2006-03-04  Roger While <simrw@sim-basis.de>

	* common.c : Don't do cob_put_sign for PACKED fields
		     in the cob_cmp_xxx routines

2006-02-21  Roger While <simrw@sim-basis.de>

	* new include : codegen.h
	  This contains inlines that only relate to code
	  generation
	  Implemented are cob_cmp_xxx_binary and cob_addsub_xxx_binary
	  where xxx is u8, s8, u16, s16 etc.
	* call.c : Fix a preload problem under Cygwin

2006-02-18  Roger While <simrw@sim-basis.de>

	* move.h : Take out x86 memcpy optimization

2006-02-08  Roger While <simrw@sim-basis.de>

	* common.c/h, numeric.c/h : Optimize COMP/COMP-3

2006-02-01  Roger While <simrw@sim-basis.de>

	* fileio.h, fileio.c : Changes for FILE STATUS
	  We have to pass the FILE STATUS as a parameter
	  to the I/O call. This is required for EXTERNAL FD's.

2006-01-29  Roger While <simrw@sim-basis.de>

	* call.c : Implement COB_PRE_LOAD

2006-01-27  Roger While <simrw@sim-basis.de>

	* Tweak COMP-3

2006-01-26  Roger While <simrw@sim-basis.de>

	* strings.c : Rip out regex use. It cannot handle
	  a low-value (null byte) in RE.
	  call.c : Native WIN MSC needs path seperator of ';'
	  common.h, common.c : Implement CBL_ERROR_PROC

2006-01-25  Roger While <simrw@sim-basis.de>

	* fileio.h, fileio.c : signed to unsigned for file_status

2006-01-17  Roger While <simrw@sim-basis.de>

	* fileio.c : Print assign name when erroring

2006-01-07  Roger While <simrw@sim-basis.de>

	* fileio.c : 64-bit fixes

2006-01-05  Roger While <simrw@sim-basis.de>

	* General : Bootstrap up to new libtool / automake
		    MS VS/VC changes
	  fileio.c : Fix relative postioning and incorrectly
		     returned relative record number

2005-12-30  Roger While <simrw@sim-basis.de>

	* Change ifdef's on MINGW to WIN32 (Also defined on 64-bit Win)
	  intrinsic.c : ifdef's for strftime (CURRENT-DATE)
	  fileio.c : Basic platform changes

2005-12-28  Roger While <simrw@sim-basis.de>

	* General : Further fixes for non-gcc

2005-12-27  Roger While <simrw@sim-basis.de>

	* General : Change occurrences of "char[variable]"
	  move.c : Change code for "MOVE ALL '98' TO binary/packed/edited"
		   This is still not completely correct

2005-12-23  Roger While <simrw@sim-basis.de>

	* termio.c, common.c : Move extended accept/display from
	  termio to common. Define cobc_argc/argv as static.

2005-12-21  Roger While <simrw@sim-basis.de>

	* fileio.c - Cater for various format of the record
	  length field in variable length sequential files
	  (WITH_VARSEQ)

2005-12-18  Roger While <simrw@sim-basis.de>

	* All : Cleanup "shadowed" variables
		Start generalizing code for large numbers
	  common.c : Take out Ebcdic table, now genned by codegen

2005-12-09  Roger While <simrw@sim-basis.de>

	* move.c : Fix display of large unsigned numbers.
	  termio.c : Change number of displayed digits.

2005-12-08  Roger While <simrw@sim-basis.de>

	* common.h : New defines - COB_SMALL_BUFF, COB_MEDIUM_BUFF,
	  COB_LARGE_BUFF.
	  Replace all occurrences of FILENAME_MAX/BUFSIZ.

2005-12-04  Roger While <simrw@sim-basis.de>

	* intrinsic.c : Fix strftime for MingW

2005-12-04  Roger While <simrw@sim-basis.de>

	* byteswap.h : Take out typedefs. They are likely to
	  clash with standard includes.

2005-12-03  Roger While <simrw@sim-basis.de>

	* common.c : Do not gen signals for Ming
	* fileio.c : Ming / typing changes

2005-11-25  Roger While <simrw@sim-basis.de>

	* common.c : Extended signal handling
	  fileio.c : Don't use mkstemp on non-Win

2005-11-16  Roger While <simrw@sim-basis.de>

	* call.c : Fix wrong cached handle
	  fileio.c : Fix spacing in LS read

2005-11-15  Roger While <simrw@sim-basis.de>

	* fileio.c : Allow COB_SYNC=P (Paranoid)
	  This will try even harder to sync.

2005-11-15  Roger While <simrw@sim-basis.de>

	* common.c, fileio.h, fileio.c : Check open files
	  at run-unit termination. Implement sync'ing 
	  with enviroment variable COB_SYNC=Y.
	  Catch signals QUIT, INT and HUP.

2005-11-08  Roger While <simrw@sim-basis.de>

	* fileio.c : Tweaks for LS files

2005-11-04  Roger While <simrw@sim-basis.de>

	* call.c : Don't repeatedly call (lt_)dlopen on 
	  NULL (main program); Do it once at startup.

2005-11-01  Roger While <simrw@sim-basis.de>

	* screenio.c : Cater for include in ncurses/ncurses.h
	* fileio.c : ferror under Cygwin doesn't like a
	  void * parameter - Cast it.
	  Fix line-sequential reads when input has carriage-returns.

2005-10-26  Roger While <simrw@sim-basis.de>

	* fileio.c : Remove HAVE_DB ifdef, fix warnings
	* move.c : Fix warnings

2005-10-25  Roger While <simrw@sim-basis.de>

	* move.h, move.c, numeric.c, fileio.c, strings.c
	  memcpy/memset optimizations
	  move.c : Fix a mpz_ call (optimization)

2005-10-14  Roger While <simrw@sim-basis.de>

	* All : More GCC 4 fixes

2005-10-13  Roger While <simrw@sim-basis.de>

	* common.h, common.c : Fix function type (GCC 4)

2005-08-07  Roger While <simrw@sim-basis.de>

	* All .c : indent, braces
	* call.c : Dynamically allocate areas, const allocation

2005-08-04  Roger While <simrw@sim-basis.de>

	* fileio.c : Harden I/O error checking
	  Replace fputc with putc
	* screenio.c,h : Rename cob_screen_clear to cob_screen_terminate
	* common.c,h : Call cob_screen_terminate in cob_stop_run
	  Define cob_stop_run as noreturn (gnuc)
	* All : Change occurrences of exit to cob_stop_run

2005-07-31  Roger While <simrw@sim-basis.de>

	* intrinsic.c, intrinsic.h : Add SIGN, FRACTION-PART, clean up
	* common.c, common.h : cob_check_version - Program versioning
	* move.c, numeric.c : Some preliminary assembler stuff

2005-07-14  Roger While <simrw@sim-basis.de>

	* fileio.c : Dummy routines for read,write, etc.
	  Always generate the function jump table, even if
	  DB not configured. Jumps to the dummy routines
	  result in status 30.

	* All : Do malloc's through own new routine cob_malloc
	  This will produce an error and terminate if memory
	  can not be acquired.

2005-07-02  Roger While <simrw@sim-basis.de>

	* common.h : cob_module bit fields to char
	* intrinsic.c : Clean up and fixes
	* move.c, numeric.c : Experiment with own_mem(cpy,set)
	* fileio.c : Cast fseek offsets to off_t
		     Return correctly if DB not defined

2005-06-28  Roger While <simrw@sim-basis.de>

	* New files : intrinsic.h, intrinsic.c
	* Fix cob_add/sub_int

2005-06-13  Roger While <simrw@sim-basis.de>

	* common.c : Handle new COB_SWITCH_n=ON/OFF
	  screenio.c : Handle pdcurses

2005-06-11  Roger While <simrw@sim-basis.de>

	* strings.c : Fix INSPECT
	  fileio.c : Mistake in LINAGE

2005-06-09  Roger While <simrw@sim-basis.de>

	* call.c : Fix memory leak in drop function.

2005-06-01  Roger While <simrw@sim-basis.de>

	* Makefile*, fileio.c, common.c : Hacks for MinGW
	  move.c : Include math.h

2005-05-31  Roger While <simrw@sim-basis.de>

	* common.h, common.c, numeric.c, move.c, termio.c :
	    Rough implementation of COMP-1/2 fields.

2005-05-27  Roger While <simrw@sim-basis.de>

	* byteswap.h : u_int16_t etc. are not necessarily defined
	  in sys/types.h (eg. MinGW). So ifndef on __BIT_TYPES_DEFINED__
	  and typedef them.
	  fileio.c : Cater for extended DB headers db4/ db4.1/ db4.2/ db4.3/

2005-05-23  Roger While <simrw@sim-basis.de>

	* call.h, call.c : New functions cob_resolve_1
			   cob_call_resolve_1.
			   These are wrappers for optimized dynamic
			   calls.

2005-05-21  Roger While <simrw@sim-basis.de>

	* call.h, call.c : Cater for call.def
			   Cater for --with-dl
			   Restructure code slightly
			   Take out check for cob_initialized

2005-05-03  Roger While <simrw@sim-basis.de>

	* Mak* :      Due to autoreconf
	  common.c :  Slight restructure.
		      cob_exp10 must be int not long.
	  common.h :  extern definitions. 
	  fileio.c :  Force SORT to put duplicates in order.
	  move.c :    Performance.
	  numeric.c : Remove unused function.
		      Change long to int (64-bitters where long = 8 bytes).

2005-04-15  Keisuke Nishida  <knishida@open-cobol.org>

	* Makefile.am (libcob_la_CFLAGS): Add -fsigned-char.

2005-04-13  Keisuke Nishida  <knishida@open-cobol.org>

	* byteswap.h: #include <sys/types.h>.  Use u_int16_t, u_int32_t, and
	u_int64_t instead of unsigned short, etc.

2005-03-03  Roger While <simrw@sim-basis.de>

	* fileio.h, fileio.c :
	  LINAGE

2005-02-11  Roger While <simrw@sim-basis.de>

	* common.h, common.c, termio.c :
	  Reorder struct cob_module.
	  Fixes for ARGUMENT-VALUE/NUMBER -
	  discovered by Franklin Ankum.
	  Fix possible too small buffer.

2005-02-09  Roger While <simrw@sim-basis.de>

	* I must be going senile. Finally fix
	  cob_external_addr.

2005-02-08  Roger While <simrw@sim-basis.de>

	* Fix my cob_external_addr routine

2005-02-07  Roger While <simrw@sim-basis.de>

	* common.h, common.c : new routine cob_external_addr
	  Dynamically cater for EXTERNAL items at runtime

2005-02-04  Roger While <simrw@sim-basis.de>

	* termio.h, termio.c :
	  implement DISPLAY .. UPON ENVIRONMENT-VALUE
	  implement DISPLAY .. UPON ARGUMENT-NUMBER
	  implement ACCEPT .. FROM ARGUMENT-NUMBER
	  implement ACCEPT .. FROM ARGUMENT-VALUE

2005-01-07  Roger While <simrw@sim-basis.de>

	* move.c : Fix incorrect truncation when !binary_trunc
	  and moving binary to packed or edited fields
	* numeric.c : Fix arithmetic with numeric display
	  fields when !binary_trunc

2004-11-19  Roger While <simrw@sim-basis.de>

	* move.c : Fix incorrect truncation when !binary_trunc

2004-11-05  Roger While <simrw@sim-basis.de>

	* numeric.c : Handle arithmetic for !binary_trunc.

2004-11-04  Roger While <simrw@sim-basis.de>

	* move.c : Fix regression for NIST suite

2004-11-04  Bernard Giroud <bgiroud@open-cobol.org>
	* numeric.c (cob_decimal_get_binary) : reverted:
	  NIST test suite is no mre working.

2004-11-02  Bernard Giroud <bgiroud@open-cobol.org>
	* numeric.c (cob_decimal_get_binary) :
	  Worked around what I consider a bug in Gmp for getting
	  a long signed value.
	* Added checks for option binary-truncate from a
	  suggestion of Roger While.

2004-10-31  Roger While <simrw@sim-basis.de>

	* fileio.h : For I/O exceptions, has_status flag and slight
	  rearrangement of fields in cob_file structure.

2004-10-30  Roger While <simrw@sim-basis.de>

	* call.c, common.c, move.c : Replace back-tick "'" with 
	  quote "'"
	* move.c : Fix to handle PIC ***B***B**9.
	* byteswap.h : Always generate optimum code, not just with -O
	* fileio.c : Tidy up file error messages.
	  In the ENOENT return for OPEN OUTPUT/EXTEND, return status 30.
	  Note this will not have any effect until we activate error
	  handling for the OPEN. (Coming up soon)

2004-09-17  Keisuke Nishida  <knishida@open-cobol.org>

	* numeric.h (COB_STORE_TRUNC_ON_OVERFLOW): Define as 0x04, not 0x02.
	(Thanks to Roger While)
	
2004-07-06  Keisuke Nishida  <knishida@open-cobol.org>

	* numeric.h (COB_STORE_ROUND, COB_STORE_KEEP_ON_OVERFLOW) 
	(COB_STORE_TRUNC_ON_OVERFLOW): New macros.
	* numeric.h, numeric.c (cob_decimal_get_display) 
	(cob_decimal_get_binary, cob_decimal_get_field, cob_add, cob_sub)
	(cob_div_quotient, cob_div_remainder): New arg 'opt'.
	* numeric.c (cob_decimal_get_field_round): Removed.
	Integrated into 'cob_decimal_get_field'.
	(cob_display_add_int): Renamed from cob_add_int_to_display.
	(cob_add_round, cob_sub_round): Removed.

2004-07-05  Keisuke Nishida  <knishida@open-cobol.org>

	* fileio.c (sort_read): Set field size for varying records.
	(Thanks to Roger While!)

2004-06-12  Keisuke Nishida  <knishida@open-cobol.org>

	* termio.c (display): Display full digits of binary item
	when pretty-display is off, not when binary-truncate is off.

2004-05-21  Keisuke Nishida  <knishida@open-cobol.org>

	* move.c (cob_binary_get_int64): Reimplemented using memcpy.
	(cob_binary_get_int): Call cob_binary_get_int64.
	(cob_binary_set_int): Call cob_binary_set_int64.

2004-05-16  Keisuke Nishida  <knishida@open-cobol.org>

	* common.c (cob_cmp): Compare non-display numeric and alphanumeric
	correctly.

2004-05-04  Keisuke Nishida  <knishida@open-cobol.org>

	* termio.c (display_numeric): Leading sign for binary.

2004-05-04  Keisuke Nishida  <knishida@open-cobol.org>

	* byteswap.h (COB_BSWAP_32_IA32): Always use bswap.
	(We no longer support i386.)

2004-05-04  Keisuke Nishida  <knishida@open-cobol.org>

	* fileio.c (cob_default_error_handle): Set error for status 35.

2004-05-04  Keisuke Nishida  <knishida@open-cobol.org>

	* common.c (cob_runtime_error): Flush buffer at the end.

2004-04-07  Keisuke Nishida  <knishida@open-cobol.org>

	* common.h, common.c (cob_table_sort_init, cob_table_sort_init_key)
	(cob_table_sort): New functions.

2004-04-07  Keisuke Nishida  <knishida@open-cobol.org>

	* strings.c (cob_inspect_converting): Do not convert repeatedly.
	(Thanks to Richard Smith <rich@theforest.plus.com>)

2004-03-12  Keisuke Nishida  <knishida@wind.sannet.ne.jp>

	* screenio.c: #include <ncurses.h>

2004-03-12  Keisuke Nishida  <knishida@wind.sannet.ne.jp>

	* fileio.c (file_close): FILE *fp = f->file;

2004-03-10  Keisuke Nishida  <knishida@wind.sannet.ne.jp>

	* fileio.c (cob_sort_init): Use temporary sort file.
	(cob_sort_finish): Delete sort file.
	(cob_open): No filename mapping for SORT files.

2004-03-09  Keisuke Nishida  <knishida@wind.sannet.ne.jp>

	* move.c (cob_binary_set_int, cob_binary_set_int64): Reimplemented.
	(Thanks to Roger While)

2004-03-06  Keisuke Nishida  <knishida@wind.sannet.ne.jp>

	* fileio.c (file_open): Open files in the text mode for line
	sequential files.

2004-03-06  Keisuke Nishida  <knishida@wind.sannet.ne.jp>

	* fileio.c (file_open, file_close): Use fcntl for file locking.

2003-10-01  Keisuke Nishida  <kxn30@yahoo.co.jp>

	* common.h (cob_module): New member 'flag_pretty_display'.
	* termio.c (display): Updated.

2003-09-29  Keisuke Nishida  <kxn30@yahoo.co.jp>

	* common.c (cob_is_numeric): Test packed decimal.

2003-08-30  Keisuke Nishida  <kxn30@yahoo.co.jp>

	* common.h (cob_module): Replace 'flag_binary_print_full' by
	'flag_binary_truncate'.  Related functions updated.

2003-08-29  Keisuke Nishida  <kxn30@yahoo.co.jp>

	* termio.h (COB_SYSIN, COB_SYSOUT, COB_SYSERR): Removed.
	* termio.h, termio.c (cob_display_error): New function.
	(cob_newline_error): New function.

2003-08-27  Keisuke Nishida  <kxn30@yahoo.co.jp>

	* fileio.c: Compile indexed and sort i/o only when either of
	HAVE_DBOPEN or WITH_DB is defined.

2003-08-26  Keisuke Nishida  <kxn30@yahoo.co.jp>

	* common.h (cob_module): New member 'flag_filename_mapping'.
	* fileio.c (cob_open): filename mapping.

2003-08-26  Keisuke Nishida  <kxn30@yahoo.co.jp>

	* common.h, common.c (cob_a2e, cob_e2a): New variables.

2003-08-25  Keisuke Nishida  <kxn30@yahoo.co.jp>

	* fileio.c (sort_read): Bug fix of first read.

2003-08-25  Keisuke Nishida  <kxn30@yahoo.co.jp>

	* fileio.h, fileio.c (cob_sort_init): 3rd argument 'sequence'.
	(cob_sort_finish): New function.

2003-08-22  Keisuke Nishida  <kxn30@yahoo.co.jp>

	* Don't use run-time config file.
	* common.h, common.c (cob_config_lookup, cob_config_compare): Removed.
	* call.c (cob_init_call): Handle env "COB_DYNAMIC_RELOADING".

2003-08-21  Keisuke Nishida  <kxn30@yahoo.co.jp>

	* common.h (cob_module): New member 'flag_binary_print_full'.
	* termio.c (cob_display): Binary full print.

2003-08-21  Keisuke Nishida  <kxn30@yahoo.co.jp>

	* common.h (cob_display_sign): New enum.
	(cob_module): New entry 'display_sign'.
	* common.c (cob_real_get_sign, cob_real_put_sign): Check display_sign.

2003-08-19  Keisuke Nishida  <knishida@netlab.jp>

	* termio.c (cob_accept_command_line): Omit the program name (argv[0]).

2003-08-17  Keisuke Nishida  <knishida@netlab.jp>

	* termio.h, termio.c (cob_display_environment): New function.
	(cob_accept_environment): Remove the second argument.

2003-08-12  Keisuke Nishida  <knishida@netlab.jp>

	* byteswap.h: New file.
	* byteorder.h: Removed.

2003-08-12  Keisuke Nishida  <knishida@netlab.jp>

	* common.h, common.c (cob_return_code): Removed.

2003-08-10  Keisuke Nishida  <knishida@netlab.jp>

	* common.h (COB_FLAG_BINARY_SWAP): New macro.
	* move.h, move.c (cob_binary_get_int): New function.
	(cob_binary_get_int64): New function.
	(cob_binary_set_int): New function.
	(cob_binary_set_int64): New function.
	* common.h (COB_TYPE_NUMERIC_NATIVE): Removed.
	* common.h, common.c (cob_binary_convert): Removed.
	* move.c (cob_move_display_to_native): Removed.
	(cob_move_native_to_display): Removed.
	* numeric.c (cob_decimal_set_native): Removed.
	(cob_decimal_get_native): Removed.

2003-08-09  Keisuke Nishida  <knishida@netlab.jp>

	* call.c (cob_call_error): Exit with status 1.

2003-08-07  Keisuke Nishida  <knishida@netlab.jp>

	* byteorder.h: New file.
	* common.h (COB_TYPE_NUMERIC_NATIVE): New macro.
	* common.h, common.c (cob_binary_convert): New function.
	* move.c (cob_move_display_to_native): New function.
	(cob_move_native_to_display): New function.
	* numeric.c (cob_decimal_set_native): New function.
	(cob_decimal_get_native): New function.

2003-08-05  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.h (COB_WRITE_MASK, COB_WRITE_LINES, COB_WRITE_PAGE)
	(COB_WRITE_AFTER, COB_WRITE_BEFORE): New macros.
	* fileio.h, fileio.c (cob_write_page, cob_write_lines): Removed.
	(cob_write): Take third argument.
	* fileio.c (file_write_opt): New function.
	(FILE_WRITE_AFTER, FILE_WRITE_BEFORE): New macros.

2003-07-28  Keisuke Nishida  <knishida@netlab.jp>

	* common.h, common.c (cob_exception): Removed.

2003-06-29  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.h, fileio.c (cob_sort_init): Removed the 3rd argument.
	(cob_sort_init_key): New function.

2003-06-28  Keisuke Nishida  <knishida@netlab.jp>

	* common.h, common.c (cob_cmp_result): Removed.

2003-06-25  Keisuke Nishida  <knishida@netlab.jp>

	* termio.c (cob_accept): Do not use readline.

2003-06-19  Keisuke Nishida  <knishida@netlab.jp>

	* common.c, common.h (cob_check_odo): New function.
	(cob_check_subscript_depending): Removed.

2003-06-18  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.c (relative_rewrite): Refer to the relative key unless
	the access mode is sequential.

2003-06-12  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.c (SEEK_INIT): New macro.

2003-06-07  Keisuke Nishida  <knishida@netlab.jp>

	* numeric.c, numeric.h: No longer use gmp.
	(cob_decimal_init, cob_decimal_clear): Removed.

2003-06-07  Keisuke Nishida  <knishida@netlab.jp>

	* common.h (cob_module): New member 'collating_sequence'.
	* common.c (CMP): New macro.
	(cmp_char, cmp_all, cmp_alnum): Use CMP.

2003-05-29  Keisuke Nishida  <knishida@netlab.jp>

	* common.h (cob_switch): Removed.
	* common.c (cob_set_switch, cob_get_switch): New function.

2003-05-27  Keisuke Nishida  <knishida@netlab.jp>

	* common.h (cob_module): Renamed from cob_environment.
	(cob_current_module): Renamed from cob_env.
	(cob_module_enter): Renamed from cob_push_environment.
	(cob_module_leave): Renamed from cob_pop_environment.
	(cob_module_init): Removed.
	* call.c (cob_resolve): Do not call cob_module_init.

2003-05-20  Keisuke Nishida  <knishida@netlab.jp>

	* strings.c (cob_string_delimited): New function.
	(cob_string_append): Take only one argument.

2003-05-18  Keisuke Nishida  <knishida@netlab.jp>

	* common.c (ding_on_error): Removed.

2003-05-18  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.c: Large file system support.
	(_LFS64_LARGEFILE) [WITH_LFS64]: Defined.
	(_LFS64_STDIO) [WITH_LFS64]: Defined.
	(_FILE_OFFSET_BITS) [WITH_LFS64]: Defined.
	(_LARGEFILE64_SOURCE) [WITH_LFS64]: Defined.

2003-05-18  Keisuke Nishida  <knishida@netlab.jp>

	* common.h (cob_d2i, cob_i2d): New macros.

2003-05-15  Keisuke Nishida  <knishida@netlab.jp>

	* move.c (COPY_COMMON_REGION): Removed.
	(store_common_region): New function.
	(cob_display_to_int): New function.
	(cob_binary_to_int): New function.
	(cob_get_int): Optimized.

2003-05-13  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.c (INITIAL_FLAGS): Set to O_BINARY when _WIN32 is defined
	rather than __MINGW32__.
	(file_open): Open in binary mode.
	(cob_open): Make sure that errno == ENOENT after stat.

2003-05-06  Keisuke Nishida  <knishida@netlab.jp>

	* exception.def (COB_EC_ALL): Added.
	* common.h (COB_SET_EXCEPTION): New macro.
	(cob_exception_table): New variable.
	(cob_exception_id): New enum.
	(cob_exception_code): Removed.

2003-05-04  Keisuke Nishida  <knishida@netlab.jp>

	* numeric.c: Optimized cob_add_int/cob_sub_int for DISPLAY.
	(digit_table): New variable.
	(init_digit_table): New function.
	(display_add_int, display_sub_int): New functions.
	(cob_add_int_to_display): New function.
	(cob_add_int): Call 'cob_add_int_to_display'.
	(cob_sub_int): Call 'cob_add_int'.
	(Thanks to David Korn <dgk@research.att.com>)

2003-05-04  Keisuke Nishida  <knishida@netlab.jp>

	* common.h (cob_get_sign, cob_put_sign): Redefined as macros.
	* common.c (cob_real_get_sign, cob_real_put_sign): Called from
	the above macros.

2003-05-03  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.h (COB_OPEN_NONE, COB_OPEN_LOCKED): New macros.
	(COB_CLOSE_REEL, COB_CLOSE_REEL_REMOVAL): Removed.
	(COB_FILE_CLOSED_WITH_LOCK): New macro.
	* fileio.c (sequential_close): Close with lock.
	(sequential_open): Seek to the end for extend file.
	(cob_open): Return COB_FILE_CLOSED_WITH_LOCK when file is locked.

2003-05-03  Keisuke Nishida  <knishida@netlab.jp>

	* common.h, common.c (cob_linage_counter): New variable.

2003-04-26  Keisuke Nishida  <knishida@netlab.jp>

	* common.h, common.c (cob_uint_attr, cob_sint_attr): Removed.
	(cob_ubin_attr, cob_sbin_attr): Removed.
	* move.c: Do not use them.

2003-04-03  Keisuke Nishida  <knishida@netlab.jp>

	* move.c (cob_get_int): Renamed from cob_to_int.

2003-03-30  Keisuke Nishida  <knishida@netlab.jp>

	* numeric.c (cob_decimal_set_int): Remove the 3rd argument 'decimals'.
	(cob_decimal_set_int64): Removed.

2003-03-25  Keisuke Nishida  <knishida@netlab.jp>

	* exception.def: New file.

2003-03-06  Keisuke Nishida  <knishida@netlab.jp>

	* common.c (cob_field_to_string): Search for ' ' from backward.

2003-02-25  Keisuke Nishida  <knishida@netlab.jp>

	* common.c (cob_push_environment, cob_pop_environment): New functions.

2003-01-23  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.h (cob_file): Break out flags.
	* fileio.c: Updated.

	* fileio.h, fileio.c (cob_dummy_status): Removed.
	* fileio.c (save_status): Check file_status before setting status.

2003-01-20  Keisuke Nishida  <knishida@netlab.jp>

	* common.h (COB_FLAG_HAVE_SIGN): New macro.
	(COB_FLAG_SIGN_SEPARATE): New macro.
	(COB_FLAG_SIGN_LEADING): New macro.
	(COB_FLAG_BLANK_ZERO): New macro.
	(COB_FLAG_JUSTFIED): New macro.
	(COB_FIELD_HAVE_SIGN): New macro.
	(COB_FIELD_SIGN_SEPARATE): New macro.
	(COB_FIELD_SIGN_LEADING): New macro.
	(COB_FIELD_BLANK_ZERO): New macro.
	(COB_FIELD_JUSTIFIED): New macro.
	(cob_field_attr): Remove members 'have_sign', 'sign_separate',
	'sign_leading', 'blank_zero', and 'justified'.  New member
	'flags'.  All files updated.

2003-01-20  Keisuke Nishida  <knishida@netlab.jp>

	* numeric.h (cob_decimal): Rename 'number' to 'data'.

2003-01-15  Keisuke Nishida  <knishida@netlab.jp>

	* move.c (cob_move_all): New function.
	(cob_move): Call cob_move_all.

2002-12-10  Keisuke Nishida  <knishida@netlab.jp>

	* common.h (cob_environment, cob_env): New.
	(cob_decimal_point, cob_currency_symbol, cob_numeric_separator):
	Replaced by cob_env.  All files updated.
	* common.c (cob_decimal_point, cob_currency_symbol): Removed.

2002-12-05  Keisuke Nishida  <knishida@netlab.jp>

	* common.c (cob_index, cob_index_depending): Exit when index is
	out of range.

2002-11-25  Keisuke Nishida  <knishida@netlab.jp>

	* numeric.c (cob_decimal_get, cob_decimal_get_r): Copy decimal
	before modifying it.

2002-11-25  Keisuke Nishida  <knishida@netlab.jp>

	* strings.h (cob_inspect_init): Take second argument 'replacing'.
	(cob_inspect_characters): New function.
	(cob_inspect_all): New function.
	(cob_inspect_leading): New function.
	(cob_inspect_first): New function.

2002-11-25  Keisuke Nishida  <knishida@netlab.jp>

	* common.h, common.c (cob_cmp_int): New function.

2002-11-24  Keisuke Nishida  <knishida@netlab.jp>

	* move.h, move.c (cob_memcpy): Renamed from cob_mem_move.

	* fileio.h (COB_ASCENDING, COB_DESCENDING): Moved from common.h.

	* common.h (cob_field_attr): Remove member 'all'.
	(COB_TYPE_*): New macros.
	(COB_FIELD_IS_NUMERIC): New macro.

	* numeric.h (cob_d1, cob_d2, cob_d3, cob_d4, cob_dt): Removed.
	(cob_decimal_set_int64): Removed.
	* numeric.h, numeric.c (cob_numeric_cmp): New function.
	* common.c (cob_cmp): Call 'cob_numeric_cmp' for numeric comparison.
	* fileio.c (sort_compare): Always call cob_cmp.

2002-11-23  Keisuke Nishida  <knishida@netlab.jp>

	* numeric.h, numeric.c (cob_add_r, cob_sub_r): New functions.
	(cob_decimal_get_r): Renamed from 'cob_decimal_get_rounded'.

2002-11-22  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.h, fileio.c (cob_sort_init): Take 3 arguments.

2002-11-22  Keisuke Nishida  <knishida@netlab.jp>

	* common.h, common.c (cob_uint_attr, cob_sint_attr): New constants.
	* common.h, common.c (cob_ubin_attr, cob_sbin_attr): New constants.

2002-11-21  Keisuke Nishida  <knishida@netlab.jp>

	* numeric.h, numeric.c (cob_add, cob_sub, cob_add_int, cob_sub_int):
	Don't take parameter 'round'.  All caller updated.

2002-11-19  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.c (lineseq_read): Not do anything special with '\0'.

2002-11-19  Keisuke Nishida  <knishida@netlab.jp>

	* strings.h, strings.c: Divide string functions.
	(cob_inspect, cob_string, cob_unstring): Removed.
	(cob_inspect_init): New function.
	(cob_inspect_start): New function.
	(cob_inspect_before): New function.
	(cob_inspect_after): New function.
	(cob_inspect_tallying_characters): New function.
	(cob_inspect_tallying_all): New function.
	(cob_inspect_tallying_leading): New function.
	(cob_inspect_replacing_characters): New function.
	(cob_inspect_replacing_all): New function.
	(cob_inspect_replacing_leading): New function.
	(cob_inspect_replacing_first): New function.
	(cob_inspect_converting): New function.
	(cob_inspect_finish): New function.
	(cob_string_init): New function.
	(cob_string_append): New function.
	(cob_string_finish): New function.
	(cob_unstring_init): New function.
	(cob_unstring_delimited): New function.
	(cob_unstring_init): New function.
	(cob_unstring_tallying): New function.
	(cob_unstring_finish): New function.
	* strings.h (COB_INSPECT_*, COB_STRING_*, COB_UNSTRING_*): Removed.

2002-11-13  Keisuke Nishida  <knishida@netlab.jp>

	* common.h, common.c (cob_all_attr): New variable.
	(cob_just_attr): Renamed from 'cob_alnum_justified_attr'.
	(cob_cmp): New function.
	(cob_cmp_zero, cob_cmp_space, cob_cmp_low): Removed.
	(cob_cmp_high, cob_cmp_quote, cob_cmp_field): Removed.
	* common.c (cmp_char): Renamed from 'cmp_figurative'.
	(cob_cmp_alnum): Renamed from 'cmp_field'.
	* fileio.c (sort_compare): Updated.

2002-11-13  Keisuke Nishida  <knishida@netlab.jp>

	* common.h (cob_status): Removed.
	(cob_error_code): New variable.
	(COB_STATUS_SUCCESS, COB_STATUS_OVERFLOW): Removed.
	(COB_EC_*): New macros.
	All files updated.

	* strings.h (COB_STRING_WITH_POINTER): Removed.
	(COB_UNSTRING_WITH_POINTER): Removed.
	* strings.h, strings.c (cob_string, cob_unstring): Take second
	argument 'ptr'.
	* strings.c (set_int, add_int): Removed.

2002-11-11  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.h (COB_FILE_OUT_OF_KEY_RANGE): New macro.
	* fileio.c (relative_read_next): Use COB_FILE_OUT_OF_KEY_RANGE.
	(cob_default_error_handle): Add COB_FILE_OUT_OF_KEY_RANGE.

2002-11-08  Keisuke Nishida  <knishida@netlab.jp>

	* common.h (cob_field_attr): New member 'all'.
	* common.c, common.h (cob_cmp_str, cob_cmp_all): Removed.
	* common.c (cob_cmp_field): Integrate comparison functions.

2002-11-08  Keisuke Nishida  <knishida@netlab.jp>

	* support.h: Removed.
	* Makefile.am: Remove support.h.

2002-11-07  Keisuke Nishida  <knishida@netlab.jp>

	* numeric.c, numeric.h (cob_add_int, cob_sub_int): Do not take
	argument 'decimals'.  All callers updated.

2002-10-21  Keisuke Nishida  <knishida@netlab.jp>

	* common.c (cmp_figurative): New function.
	* common.c, common.h (cob_cmp_zero, cob_cmp_space): New functions.
	(cob_cmp_low, cob_cmp_high, cob_cmp_quote): New functions.

2002-10-18  Keisuke Nishida  <knishida@netlab.jp>

	* numeric.h, numeric.c (cob_add_int64, cob_sub_int64): Removed.

2002-10-13  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.h (cob_file): New member 'record', replacing
	'record_size' and 'record_data'.
	(cob_file): Rename 'record_depending' to 'record_size'.
	* fileio.c: Updated.

2002-10-13  Keisuke Nishida  <knishida@netlab.jp>

	* common.h (cob_field_attr, cob_field): New typedef.
	* fileio.h (cob_file_key, cob_file, cob_fileio_funcs): New typedef.
	* numeric.h (cob_decimal): New typedef.
	* screenio.h (cob_screen): New typedef.
	(cob_screen_type, cob_screen_data, cob_screen_position): New typedef.
	* support.h (cob_frame): New typedef.

2002-10-08  Keisuke Nishida  <knishida@netlab.jp>

	* Use 'struct cob_field *' instead of 'struct cob_field'
	for all function prototypes.  All files updated.
	* common.h (COB_FIELD_IS_VALID): Removed.

	* common.h (cob_field_attr): Renamed from cob_field_desc.
	All files updated.

	* common.c, common.h (cob_group_attr): New variable.
	(cob_alnum_justified_attr): New variable.

	* support.h (cob_ref, cob_ref_rest): Removed.

2002-09-30  Keisuke Nishida  <knishida@netlab.jp>

	* cobconfig.h.in: Removed.

2002-09-29  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.h (cob_file): Restructured.
	* fileio.c: Updated for new cob_file scheme.
	* fileio.h, fileio.c (cob_sort_init): Renamed from cob_sort_keys.
	* cobconfig.h.in (HAVE_DB1_DB_H, HAVE_DB_H): Removed.

2002-09-24  Keisuke Nishida  <knishida@netlab.jp>

	* support.h: Do not support non-computed-goto jump.
	* cobconfig.h.in: Use AM_CONFIG_HEADER scheme.
	(COB_HAVE_COMPUTED_GOTO): Removed.
	(HAVE_DB1_DB_H, HAVE_DB_H): Added.
	* fileio.h: #include <libcob/cobconfig.h>
	Include <db1/db.h> or <db.h> which exists.

2002-09-23  Keisuke Nishida  <knishida@netlab.jp>

	* strings.c (cob_unstring): Don't use alloca.

2002-09-12  Keisuke Nishida  <knishida@netlab.jp>

	* numeric.h (cob_decimal): Use exponent instead of decimals.
	* numeric.c: Related functions updated.
	
2002-09-12  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.c (sequential_open): Set f->file.fd to 0 on error.

2002-09-06  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.h, fileio.c: INDEXED files has been reimplemented using db1.

2002-08-05  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.c (sort_compare): Prototype for db-3.1.x.

2002-08-02  Keisuke Nishida  <knishida@netlab.jp>

	* common.h, common.c (cob_cmp_all): Unify the former cob_cmp_all
	and cob_cmp_all_str.
	* common.c (cmp_internal): New function.
	(cob_cmp_str, cob_cmp_field): Use it.

2002-08-01  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.h (COB_ORG_SORT, COB_ORG_MAX): New macros.
	(cob_file): New member 'sort_nkeys' and 'sort_keys'.
	* fileio.c (sort_file): New variable.
	(sort_compare, sort_open, sort_close, sort_read, sort_write):
	New functions.
	(sort_funcs): New variable.
	(cob_sort_keys, cob_sort_using, cob_sort_giving): New functions.
	(cob_init_fileio): Init sort functions.

2002-08-01  Keisuke Nishida  <knishida@netlab.jp>

	* common.h (COB_ASCENDING, COB_DESCENDING): New macros.

2002-07-31  Keisuke Nishida  <knishida@netlab.jp>

	* common.c (cob_init_config): New function.
	(cob_init): Updated.  Load the config file first.

2002-07-30  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.c (indexed_write_internal): New function.
	(indexed_write, indexed_rewrite): Updated.

2002-07-30  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.c (lineseq_read): Check for EOF.

2002-07-30  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.h (cob_fileio_funcs): 'write' takes only one argument.
	(sequential_write, lineseq_write, relative_write, indexed_write):Ditto.
	(cob_write): Updated.
	
2002-07-30  Keisuke Nishida  <knishida@netlab.jp>

	* screenio.c: Check configuration.

2002-07-24  Keisuke Nishida  <knishida@netlab.jp>

	* numeric.h (cob_decimal): Removed.
	* numeric.c, numeric.h: Relace 'cob_decimal' by 'struct cob_decimal *'.

2002-07-14  Keisuke Nishida  <knishida@netlab.jp>

	* move.c (cob_set_int): Moved from numeric.c.
	Reimplemented using 'cob_move'.

2002-07-13  Keisuke Nishida  <knishida@netlab.jp>

	* numeric.c (cob_decimal_get_double): Bug fix in calculation.
	(cob_decimal_set_double): Take effect of decimal figures.

2002-07-08  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.h (cob_file): New field 'assign'.
	* fileio.c, fileio.h (cob_open): Do not take file name.  Use 'assign'.

2002-07-05  Keisuke Nishida  <knishida@netlab.jp>

	* screenio.c, screenio.h (cob_screen_attr): New function.
	* screenio.h (COB_SCREEN_TYPE_ATTRIBUTE): New type.
	(cob_screen_data): New entry 'dummy'.

2002-07-05  Keisuke Nishida  <knishida@netlab.jp>

	* fileio.h (cob_file): Renamed from cob_file_desc.
	* fileio.c: Updated.

2002-07-01  Keisuke Nishida  <knishida@netlab.jp>

	* screenio.c, screenio.h: New files.
	* Makefile.am: Add them.

2002-06-17  Keisuke Nishida  <knishida@netlab.jp>

	* call.c (cob_call_resolve): Don't set cob_status.

2002-06-11  Keisuke Nishida  <knishida@netlab.jp>

	* call.c (cob_resolve): Use COB_MODULE_EXT.

2002-06-11  Keisuke Nishida  <knishida@netlab.jp>

	* common.c, common.h (cob_alnum_desc): New variable.
	* common.c (cob_zero, cob_space, cob_high, cob_low, cob_quote): Use it.
	* move.c (cob_mem_move): Use it.

2002-06-11  Keisuke Nishida  <knishida@netlab.jp>

	* Allow cob_field.desc to be NULL.
	* common.h, common.c, move.c, numeric.c: Updated.

2002-06-11  Keisuke Nishida  <knishida@netlab.jp>

	* common.h (COB_FIELD_IS_VALID): New macro.
	* fileio.c, strings.c: Use 'COB_FIELD_IS_VALID'.

2002-06-11  Keisuke Nishida  <knishida@netlab.jp>

	* common.h (cob_field): Field 'size' moved from 'cob_field_desc'.
	(COB_FIELD_SIZE, COB_FIELD_DATA): Removed.
	* common.c, fileio.c, move.c, numeric.c, strings.c, termio.c: Updated.

2002-06-04  Keisuke Nishida  <knishida@netlab.jp>

	* common.c, common.h (cob_config_compare): New function.
	* call.c (cob_init_call): Use 'cob_config_compare'.

	* common.c (ding_on_error): New variable.
	(cob_init): Set ding_on_error from option "ding-on-error".
	(cob_runtime_error): Ring a bell only when "ding-on-error" is "yes".

2002-06-04  Keisuke Nishida  <knishida@netlab.jp>

	* support.h (cob_perform): Enclosed by do ... while (0).

2002-06-04  Keisuke Nishida  <knishida@netlab.jp>

	* Makefile.am (libcob_la_CFLAGS): -I$(top_srcdir).
	* call.c, common.c, fileio.c, move.c: Updated.

2002-05-31  Keisuke Nishida  <knishida@netlab.jp>

	* numeric.c, numeric.h (cob_div_remainder): Renamed from
	'cob_div_reminder' (typo fix).

2002-05-31  Keisuke Nishida  <knishida@netlab.jp>

	* common.c, common.h (cob_index, cob_index_depending): Take 'name'.
	Display index name with the error message.
	* support.h (COB_INDEX, COB_INDEX_DEPENDING): Take 'name'.

2002-05-31  Keisuke Nishida  <knishida@netlab.jp>

	* Makefile.am (libcob_la_DEPENDENCIES): Removed.

2002-05-30  Keisuke Nishida  <knishida@netlab.jp>

	* common.c (cob_check_numeric): Takes the field name as an argument.
	* common.h (cob_field_desc): Remove member 'name'.

2002-05-30  Keisuke Nishida  <knishida@netlab.jp>

	* numeric.c (cob_decimal_pow): Handle decimals.
	(cob_decimal_set_double, cob_decimal_get_double): New functions.
	* numeric.h (cob_decimal_set_double, cob_decimal_get_double): Exported.

2002-05-29  Keisuke Nishida  <knishida@netlab.jp>

	* Keep field names at run-time.
	* common.h (cob_field_desc): New member 'name'.
	* common.c (cob_check_numeric): Display filed name on error.

	* Makefile.am (libcob_la_DEPENDENCIES): Add defaults.h.

2002-05-29  Keisuke Nishida  <knishida@netlab.jp>

	* termio.c (cob_init_termio): #include <string.h>

2002-05-29  Keisuke Nishida  <knishida@netlab.jp>

	* Support run-time config file: libcob.conf.
	* common.c (config_load, config_insert, cob_config_lookup):
	New functions.
	(cob_init): Call 'config_load'.
	* common.h (cob_config_lookup): Declared.

	* call.c (dynamic_reloading): Renamed from cob_dynamic_reloading.
	(cob_init_call): Initialize 'dynamic_reloading'.
