
2023-07-28  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c, common.c: replace use of NCURSES_MOUSE_VERSION by
	  HAVE_MOUSEMASK
	* fileio.c (cob_file_sort_giving_internal): fix memory cleanup

2023-07-27  Chuck Haatvedt <chuck.haatvedt+cobol@gmail.com>

	* move.c (cob_move_display_to_packed): fix data corruption caused
	  by packing one extra digit from the input display field

2023-07-25  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_check_linkage_size), common.h: new function
	  to check for EC-PROGRAM-ARG-MISMATCH
	* common.c (raise_arg_mismatch): new function to provide a "virtual"
	  module entry for better error messages
	* common.c (call_exit_handlers_and_terminate, cob_runtime_error):
	  pass information about arguments to handlers written in COBOL
	* common.c (cob_stack_trace_internal): slightly improved stack output

2023-07-24  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c: only check -1 as invalid fd; return fileio status for
	  invalid file state in CBL_ routines, instead of fixed -1 / 35
	* call.c (cache_preload, cob_resolve_internal): runtime warning if
	  (pre)loading from existing path does not work
	* (cache_preload): runtime warning if preloading from existing path
	  does not work
	* call.c (cob_try_preload): runtime warning if preloading of
	  requested module does not work
	* (cob_resolve_internal): runtime warning if loading module from
	  existing path or resolving requested entry point does not work

2023-07-22  Simon Sobisch <simonsobisch@gnu.org>

	* coblocal.h (COB_MAX_FIELD_SIZE_LINKAGE): new definition

2023-07-21  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (get_config_val): fixed output of "not set" for enum values
	* common.c (create_dumpfile): more details if dump could not be created

2023-07-18  Simon Sobisch <simonsobisch@gnu.org>
after suggestions by Chuck Haatvedt <chuck.haatvedt+cobol@gmail.com>

	* move.c (cob_move_display_to_packed): fix memory trashing in edge cases

2023-07-10  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_check_fence), common.h: new function to check for writing
	  outside of COBOL data, triggered with compile option -fmemory-check
	* statement.def (STMT_BEFORE_CALL, STMT_BEFORE_UDF): new internal
	  statements, currently used for cob_check_fence

2023-06-22  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (cob_decimal_set_packed): backport pack_to_bin change while
	  adjusting its translation table for invalid BCD "digits" to yield the
	  same result as before
	* numeric.c (cob_decimal_set_packed): more optimizations for speed
	* move.c (cob_packed_get_int, packed_get_long_long): apply optimizations
	  from (cob_decimal_set_packed) including skipping leading zeros and
	  pack_to_bin
	* common.c (b2i): include marker for invalid data (previously not set)

2023-06-21  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (cob_set_packed_u64): extracted from cob_set_packed_int
	  and extended, allowing to internally use bigger values without
	  a double-check of the sign
	* numeric.c (cob_decimal_get_packed): set by unsigned long when possible,
	  instead of signed int (increasing from 9 to 19 digits for many systems)
	* numeric.c (cob_decimal_get_display, cob_decimal_set_display,
	  cob_decimal_do_round): fix compile warnings

2023-06-20  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (get_screenio_and_mouse_info) [__PDCURSES__]:
	  drop old version checks, set patch version
	* common.c (cob_check_field_offset): new not-yet-active function
	  for subscript check by offset like IBM (see FR #437)

2023-06-03  Simon Sobisch <simonsobisch@gnu.org>

	* Makefile.am (libcob_la_LDFLAGS): updated version-info - ABI fixed for 3.2

2023-06-02  Simon Sobisch <simonsobisch@gnu.org>

	* common.h (cob_file_org, cob_file_access_mode): changed defines to enums
	* fileio.c (cob_findkey_attr): extracted identical logic from cob_findkey,
	  indexed_findkey and bdb_findkey;
	  dropping the later two and set mapkey after calling it
	* fileio.c (cob_file_sort_using, cob_file_sort_giving): raise
	  COB_EC_SORT_MERGE_FILE_OPEN when applicable
	* fileio.c (cob_copy_check, cob_file_sort_submit, cob_file_sort_retrieve):
	  pass most matching argument type instead of the structures containing it
	* fileio.c (cob_file_sort_using_extfh, cob_file_sort_giving_extfh),
	  common.h: new functions, using EXTFH functions to read/write the data
	* fileio.c (update_fcd_to_file): set exception for non-digit returns,
	  handle EOP flag (only usable if the internal EXTFH function was used)
	* fileio.c (cob_extfh_close): handle close options, most important:
	  CLOSE REEL (as that does not actually close the file)
	* fileio.c (EXTFH3): handle OP_CLOSE_REEL to leave the file open
	* fileio.c (EXTFH3): handle "read direct" opcodes for now as "read random"
	* fileio.c (EXTFH3): setup intermediate record only for WRITE/REWRITE as
	  it isn't used otherwise
	* fileio.c (update_key_from_fcd): extracted from EXTFH3
	* fileio.c (update_key_from_fcd): only handle (logical) key field as split
	  keys are all handled in io functions and otherwise not found there
	* fileio.c (find_fcd, cob_extfh_close): specify free handling by parameter,
	  new value "-1" is used if FCD was created by ADDRESS OF FH--FCD,
	  otherwise it is lost on first CLOSE
	* fileio.c: disable setting of record min/max size outside of OPEN,
	  disable setting of record size in some places
	* fileio.c: adjusted setting of SORT-RETURN register

2023-06-01  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c: minor refactoring for SORT related functions,
	  mostly reducing scope of variables
	* fileio.c (cob_file_sort_using): early exit for errors during OPEN
	* fileio.c (cob_file_sort_giving): one-time setting of WRITE options
	  after OPEN instead of doing it before every WRITE
	* fileio.c (cob_file_sort_giving): don't try to WRITE to or CLOSE files
	  where OPEN OUTPUT was not successful
	* fileio.c (cob_file_sort_giving): skip GIVING file on WRITE errors,
	  early exit if no GIVING file left
	* fileio.c (cobsort): new attribute flag_merge
	* fileio.c (cob_file_sort_options), common.h: new function to pass more
	  options, so far only used to set flag_merge

2023-05-30  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (check_overflow_and_set_sign): disable "cleanup" of
	  negative zero
	* numeric.c (cob_addsub_optimized): include (disabled) internal
	  use of BCD arithmetic for USAGE DISPLAY
	* common.c (IS_INVALID_DIGIT_DATA, IS_VALID_DIGIT_DATA): minor optimization
	* coblocal.h (COB_PUT_SIGN_ADJUSTED): optimize for most common case of
	  "no adjustment needed"

2023-05-26  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: added COB_SCREEN_RIGHTLINE, GC extension matching LEFTLINE
	* screenio.c (cob_screen_attr): place curses extensions within #ifdef
	* screenio.c (cob_screen_attr): return attr which may be adjusted by
	  parsing COLOR / CONTROL attributes
	* screenio.c (cob_addnstr_graph): variant of cob_addnstr for CONTROL
	  GRAPHICS that outputs each character / WACS symbols separately
	* screenio.c (cob_screen_puts, field_display): handle COB_SCREEN_GRAPHICS

2023-05-25  Chuck Haatvedt <chuck.haatvedt+cobol@gmail.com>

	* screenio.c (cob_sys_set_scr_size), common.h, system.def: added as
	  system library call CBL_GC_SET_SCR_SIZE
	* screenio.c (cob_sys_get_scr_size): create exception and return -1
	  if not supported
	* screenio.c (control_attrs): handle RIGHTLINE (GC extension to CONTROL)
	* screenio.c (cob_screen_attr): set attributes for OVERLINE, LEFTLINE,
	  RIGHTLINE

2023-05-23  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: added COB_SCREEN_GRAPHICS attribute
	* screenio.c (control_attrs): added currently not active attributes
	  CONVERT and GRAPHICS

2023-05-15  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c: integrated changes of Chuck Haatveet for CONTROL handling
	  with adjusted tokenization and comparison, limiting struct parse_control
	  to absolute necessary: name + attribute
	* screenio.c (handle_control_field_color, get_cob_color_from_color_value):
	  passing length parameter

2023-05-14  Chuck Haatvedt <chuck.haatvedt+cobol@gmail.com>

	* screenio.c (adjust_attr_from_control_field, control_attrs):
	  replaced proof-of-concept by actual parsing function using new
	  struct parse_control

2023-05-12  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (cob_screen_attr): always parse COBOL and curses color value
	* screenio.c (cob_to_curses_color): signature changed - operate on integer
	  to be reusable for CONTROL handling,
	  separate return value instead of setting the default color
	* screenio.c (adjust_attr_from_extended_color): new function directly
	  handling the attribute adjustment, replaced (has_extended_color)
	* screenio.c (handle_control_field_color, get_cob_color_from_color_value):
	  new functions to get COBOL color number from text and handling it
	* common.h (cob_colors): changed color defines to enum
	* move.c: fix some compiler warnings by explicit casts
	* fix non-constant aggregate initializer for dynamic field/attr/pic

2023-05-10  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (adjust_attr_from_color_field,
	  adjust_attr_from_control_field): new functions to adjust screenio
	  attributes during runtime via COLOR and CONTROL fields
	  (later function mostly a stub with minimal "parsing" so far)
	* screenio.c (cob_screen_attr): refactor to read colors first, allowing
	  later override via new functions
	* screenio.c (cob_screen_set_mode, cob_screen_line_col): minor refactoring
	* move.c (cob_move_display_to_packed): prevent writing out of bounds
	* move.c (cob_move_display_to_binary): prevent reading out of bounds

2023-05-09  Simon Sobisch <simonsobisch@gnu.org>

	* cconv.c (cob_field_to_string): moved from common.c
	* cconv.c (cob_init_cconv), coblocal.h, common.c: added
	* cconv.c (cob_toupper, cob_tolower, cob_init_cconv), coblocal.h:
	  included (copy from cobc/reserved.c)
	* coblocal.h (enum cob_case_modifier): new enum to select case-adjustment
	* cconv.c (cob_field_to_string), coblocal.h: adjusted function signature,
	  allowing for optional change of case during copy and returning the size
	  to process or negative error values in case of "no data to process"
	* cconv.c (cob_field_to_string): return error if truncating would be
	  necessary
	* reportio.c, intrinsic.c, fileio.c, common.c, call.c: adjusted for new
	  signature of cob_field_to_string
	* intrinsic.c (locale_time, cob_intr_locale_date, cob_intr_locale_compare):
	  always use full locale string passed, error handling improved
	* common.c (cob_set_locale, cob_get_environment, cob_display_env_value):
	  use local buffer, error handling improved

	FR #189 + FR #355 - runtime-adjustable attributes for extended screenio
	* screenio.c (cob_accept_field, cob_display_field), common.h: new vararg
	  functions to take variable attribute fields, including the new fields
	  CONTROL, COLOR and CURSOR
	* screenio.c (field_accept): added cursor parameter and handle it for both
	  "initial cursor position" and - if it isn't a constant - also for "exit
	  cursor position", count max-pos on input allowing position to last
	  position if CURSOR is outside of the data
	* screenio.c (field_accept, field_display, cob_screen_attr): added color
	  and control parameters
	* common.h: COB_SCREEN_CONV new attribute, moved "parsing only" attribute
	  COB_SCREEN_GRID to higher number

2023-05-05  Simon Sobisch <simonsobisch@gnu.org>

	cleanup for handling ASCII/EBCDIC sign overpunch
	* common.c (cob_get_sign_ebcdic) [COB_EBCDIC_MACHINE]: direct check of
	  sign nibble
	* common.c (cob_get_sign_ebcdic) [!COB_EBCDIC_MACHINE]: adjusted handling
	  of invalid data
	* common.c (cob_real_get_sign), coblocal.h: additional argument to specify
	  if data has to be always unpunched (old behavior) or only for systems
	  not matching the sign (e. g. non-ebcdic machine with ebcdic-sign) where
	  unpunch is needed to get the numeric data (otherwise we already get it
	  by bit-masking); added new macros COB_GET_SIGN_ADJUST and
	  COB_PUT_SIGN_ADJUSTED that use this to only overwrite data when necessary
	* common.c (cob_cmp_all, cob_cmp_alnum),
	  move.c (cob_move_display_to_packed, cob_move_display_to_binary,
	  cob_display_get_int, display_get_long_long),
	  numeric.c (cob_decimal_set_display, cob_display_add_int): use of
	  COB_GET_SIGN_ADJUST / COB_PUT_SIGN_ADJUSTED for better performance and
	  less "changing read-only source data"
	* common.c (cob_cmp_all, cob_cmp_alnum): handle numeric fields with
	  SIGN LEADING SEPARATE correctly, minor optimization by reading the
	  data/size pointer only once

2023-05-02  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (cob_add, cob_addsub_optimized): also use (cob_add_bcd) if the
	  added/subtracted field is one of the usages DISPLAY/COMP-5/BINARY as
	  converting this to BCD and using this function is much faster than
	  converting everything to cob_decimal first, then using the fast GMP
	  compute, then converting the cob_decimal to BCD back
	* move.c (cob_move_display_to_packed, cob_move_packed_to_display),
	  coblocal.h: make functions accessible within libcob
	* move.c (cob_move_display_to_packed): performance adjustment by moving a
	  check out of a loop

2023-04-29  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (cob_add_bcd): don't execute rounding if COB_STORE_TRUNCATION
	  is requested
	* numeric.c (cob_add_bcd): combined some code paths for less duplication
	* numeric.c (handle_bcd_rounding): extracted from (cob_add_bcd) to remove
	  code duplication and allow code flow to be followed easier

2023-04-28  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (explain_field_type): distinguish COMP-6 and unsigned packed
	  from PACKED-DECIMAL
	* (check_current_date): switched to iterating over COB_CURENT_DATE
	  by pointer
	* numeric.c: integrated changes of Chuck Haatveet 2023-03-28 for BCD ADD
	  with tuning for even more speed by using best matching types and
	  refactoring, calling the new cob_add_bcd internally from
	  (cob_add, cob_sub) if all fields are BCD
	* numeric.c (cob_add_bcd, check_overflow_fix_final_sign): fix handling
	  for COB_STORE_KEEP_ON_OVERFLOW and edge-case bugs

2023-04-27  Simon Sobisch <simonsobisch@gnu.org>

	* move.c (cob_move_display_to_packed), numeric.c (cob_decimal_get_packed):
	  simplify code, following idea by of Chuck Haatveet
	* common.c (cob_is_numeric): speedup by using new macro IS_INVALID_BCD_DATA
	  which uses the new lookup table b2i
	* common.c: new macros IS_VALID_DIGIT_DATA / IS_INVALID_DIGIT_DATA added
	  and used
	* numeric.c (cob_decimal_do_round, cob_decimal_get_field): fix
	  COB_STORE_PROHIBITED to not overwrite target data and always raise an
	  exception if rounding would be necessary
	* numeric.c (cob_decimal_get_packed, cob_set_packed_int): reordered check
	  to most likely value (nonzero, positive) first

2023-04-26  Simon Sobisch <simonsobisch@gnu.org>

	* general: only include coblocal.h which includes common.h already
	* common.c (cob_continue_after): raise nonfatal exception
	  COB_EC_CONTINUE_LESS_THAN_ZERO for negative waits
	* common.c [TIME_T_IS_NON_ARITHMETIC]: dropped checking for this define as
	  POSIX requires time_t to be an arithmetic type
	* cconv.c (cob_load_collation): minro cleanup
	* fileio.c (EXTFH) [!COB_64_BIT_POINTER]: fix check for opcode OP_CLOSE
	* move.c (store_common_region): speedup by not re-validating data if caller
	  already provides that; adjusted callers to specify that
	* common.c (cob_sys_hosted): prefer memcmp over strncmp with known size
	* common.c (, cob_sys_hosted): handling timezone functions

2023-04-18  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c: integrated changes of Chuck Haatveet 2023-03-28 for BCD MOVE
	  with tuning for even more speed by using best matching types and
	  refactoring
	* common.h: added cob_move_bcd as external function declaration
	* move.c (cob_move): add call to cob_move_bcd for fields without negative
	  scale
	* common.c (cob_is_numeric, cob_is_alpha, cob_is_upper, cob_is_lower,
	  cob_check_numeric, cob_check_numdisp, cob_correct_numeric):
	  prefer pointer arithmetic to arrays
	* common.c (cob_is_numeric, cob_check_numdisp, cob_set_date_from_epoch,
	  set_config_val, translate_boolean_to_int): prefer range check over
	  isdigit and COB_D2I over atoi
	* numeric.c (cob_decimal_get_packed): set by optimized integer routine
	  when possible

2023-04-17  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (cob_decimal_setget_fld, cob_decimal_get_packed,
	  cob_decimal_get_display), common.h: new option COB_STORE_NO_SIZE_ERROR
	  to prevent arithmetic exception being raised during internal MOVE
	* intrinsic.c (cob_intr_lowest_algebraic, cob_intr_highest_algebraic):
	  refactored code for COMP-5
	* move.c (cob_move_display_to_packed), numeric.c (cob_decimal_get_packed):
	  minor adjustment to use optimal code for internal DISPLAY to PACKED,
	  even without C compiler optimizations active
	* move.c (cob_move_ibm): speedup by using pointer arithmetic

2023-04-13  Simon Sobisch <simonsobisch@gnu.org>

	performance adjustments for HEX-OF and HEX-TO-CHAR
	* intrinsic.c (test_digit, cob_intr_hex_to_char, cob_intr_locale_date,
	  cob_intr_locale_time), move.c (cob_move_alphanum_to_display,
	  cob_get_s64_pic9): prefer range check over isdigit for improved speed
	* numeric.c (cob_decimal_get_packed): use COB_D2I instead of subtracting
	* intrinsic.c (cob_intr_hex_to_char): minor refactoring for speedup
	* intrinsic.c (cob_intr_hex_of): rewritten to use hex value table instead
	  of sprintf, saving around 80% of cpu instructions

	performance adjustments for location code compatibility for old modules
	* common.c (get_stmt_from_name): extracted from cob_set_location and
	  cob_trace_stmt to remove duplication
	* common.c (get_stmt_from_name): rewritten to store the last statements,
	  which heavily reduces the use of strcmp and the hashing function
	* common.c (do_trace_statement): extracted from cob_trace_statement

2023-04-04  Simon Sobisch <simonsobisch@gnu.org>

	* move.c (cob_move, cob_move_display_to_packed, cob_move_packed_to_display,
	  cob_move_binary_to_binary, cob_move_display_to_binary),
	  numeric.c (cob_decimal_set_packed, cob_decimal_get_packed,
	  cob_decimal_get_binary),
	  termio.c (pretty_display_numeric): fix digit and size calculation of
	  fields with a PICTURE containing leading / trailing P
	* termio.c (cob_display_common): minor refactoring

2023-04-02  Simon Sobisch <simonsobisch@gnu.org>

	* move.c (indirect_move): prefer local buffer for most cases
	* move.c (cob_move): speedup handling for binary fields to fields
	  with different scale (to binary / packed)
	* move.c (cob_move_alphanum_to_edited, packed_get_long_long,
	  cob_display_get_int, display_get_long_long,
	  cob_move_alphanum_to_edited): minor refactoring
	* move.c (cob_move_display_to_binary): skip leading zeros;
	  pre-truncate by offset instead of post-truncate by calculation
	* move.c (cob_move_display_to_binary): switch to GMP for > 19 digits,
	  fixing wrong value in binary
	* numeric.c (cob_set_packed_int, cob_decimal_get_packed): minor performance
	  tuning

2023-03-28  Chuck Haatvedt <chuck.haatvedt+cobol@gmail.com>

	* numeric.c (cob_shift_left_nibble, cob_shift_right_nibble): variants of
	  insert_packed_aligned for cob_move_bcd
	* numeric.c (cob_move_bcd): added for highly improved BCD MOVE,
	  saving more than 50% cpu cycles
	* numeric.c (cob_add_bcd, check_overflow_fix_final_sign,
	  count_leading_zeros): added for highly improved BCD ADD,
	  saving more than 50% cpu cycles

2023-03-28  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c (cob_open): check for bad quotes, early returning status 31
	* fileio.c (cob_chk_file_env, cob_chk_file_mapping, looks_absolute,
	   do_acu_hyphen_translation): drop / ignore surrounding quotes of filenames

2023-03-27  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c, intrinsic.c: handling of size errors ... NAN...

2023-03-23  Simon Sobisch <simonsobisch@gnu.org>

	changes for improved performance
	* move.c (store_common_region): skipping leading zeroes, adjusted copy-code
	* move.c (cob_move_display_to_packed), numeric.c (cob_decimal_get_packed):
	  rewrite to not do division and modulo for each half-byte
	* move.c (cob_move_edited_to_display): prefer pointer arithmetic to arrays
	* move.c (cob_get_int, cob_get_llint): speedup for binary, tuned
	  for "no decimal" then for "comma"
	* numeric.c (cob_cmp_numdisp): prefer pointer arithmetic to arrays
	* numeric.c (cob_get_long_ebcdic_sign, cob_get_long_ascii_sign): only set
	  sign, not change the value

2023-03-20  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c, coblocal.h: fix requesting huge memory for
	  mpf to cob_decimal conversions

2023-03-06  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (cob_decimal_get_display): fix truncation with leading zeros

2023-03-04  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, common.h: add COB_FERROR_FATAL_EXCEPTION

2023-03-03  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, common.h: new external field + define COB_ZEROES_ALPHABETIC /
	  COB_ZEROES_ALPHABETIC_BYTE_LENGTH
	* common.c (compare_zeroes): new function for common comparison to ZERO
	* common.c (compare_character): fix issue with not comparing last bytes

2023-02-27  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (field_accept): minor refactoring to not update
	  COB_TERM_BUFF for ACCEPT OMITTED

2023-02-24  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_check_beyond_exit), common.h: fix prototype to match strings
	* numeric.c (cob_decimal_get_packed): removed code for "huge packed" fields
	  as we don't have packed fields with more than 38 digits
	* numeric.c (cob_pow_10): unsigned parameter, fixing some overflows in GMP

2023-02-24  Ron Norman <rjn@inglenet.com>

	* move.c (cob_get_s64_pic9) [COB_EBCDIC_MACHINE]: fix negative sign lookup

2023-02-22  Simon Sobisch <simonsobisch@gnu.org>

	fix bug #874 DISPLAY of 9P fields (P to the left of the decimal point)
	* termio.c (pretty_display_numeric): fix printing one byte after
	  actual data
	* termio.c (display_numeric): fix printing amount of P as leading zeroes

2023-02-23  Ron Norman <rjn@inglenet.com>

	* numeric.c (cob_decimal_set_packed): new lookup table pack_to_bin
	  to translate two BCD digits at once for integer conversion

2023-02-21  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (cob_decimal_set_packed): backport and extend optimization
	  from 4.x by Ron - now skipping initial zeros and for huge fields handle
	  4 digits at once

2023-02-20  Simon Sobisch <simonsobisch@gnu.org>

	* intrinsic.c, numeric.c: explicit check result of mpz_sgn to 0/!0/1/-1
	* intrinsic.c (cob_intr_random): fix binary end for implicit seed
	* intrinsic.c (numval): minor optimization for invalid numeric
	* termio.c (display_numeric, pretty_display_numeric): use common
	  COB_FIELD_INIT instead of manually init of field named "temp";
	  minor speedup in output
	* fileio.c (lineseq_read, lineseq_write): fixed performance regression
	  by only keeping track of record offset on OPEN INPUT/OUTPUT
	* fileio.c (lineseq_write, lineseq_rewrite): minor performance improvement
	  by using pointer arithmetic instead of of char arrays + request register

2023-02-10  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (cob_bcd_cmp, packed_is_negative, decimal_convert_scale,
	  insert_packed_aligned): finished

2023-02-09  Simon Sobisch <simonsobisch@gnu.org>

	* mlio.c, common.c: handle HAVE_JSON_C_JSON_H
	* intrinsic.c (split_around_t): explicit terminate snprintf
	* termio.c (pretty_display_numeric): fix GCC warning with {{ 0 }}
	* termio.c (display_alnum_dump): slightly rewritten to fix compiler
	  warnings
	* cconv.c (cob_load_collation), common.c, intrinisic.c (cob_intr_random),
	  termio.c: minor adjustments to fix compiler warnings
	* fileio.c (copy_fcd_to_file): fixed memory issues with writing to assign
	  and select name
	* fileio.c (save_status): don't synch directly after open or close
	* fileio.c (cob_file_open), (open_next): include binary in open flags if
	  cobsetptr->cob_unix_lf is set
	* fileio.c (open_next): set binary file mode, minor refactoring
	* fileio.c (cob_file_close) [_WIN32]: don't try to unlock invalid file
	  handles; mark file descriptor as closed when file handle was closed
	
2023-02-06  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (cob_decimal_get_packed, cob_decimal_get_display):
	  fix use of mpz_cmp to compare >= 0 (also fixing use on MPIR)
	* numeric.c (cob_set_packed_int): fix negative sign
	* move.c (packed_get_long_long): fix sign regression introduced 2023-01-28
	* move.c (own_byte_memcpy): removed and replaced replaced by memcpy
	* move.c (cob_packed_get_sign): removed, inlined code in callers
	* move.c (cob_decimal_get_display): rewritten
	* move.c (store_common_region): requesting use of registers
	* move.c (cob_move_packed_to_display): rewritten for performance
	* move.c (cob_move): prevent conversion to and from cob_decimal for
	  unscaled COB_TYPE_NUMERIC_PACKED, by direct write from integer
	  to packed using (cob_set_packed_int)
	* move.c (packed_get_long_long): performance improvements
	* move.c (cob_packed_get_int): minor performance improvements
	* move.c (packed_get_long_long, display_get_long_long): dropped "cob_"
	  prefix as those are local-only functions
	* move.c (cob_get_int, cob_get_llint): handle negative scale for binary
	  fields

2023-02-03  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (packed_is_negative): new function to ignore any sign nibbles
	  but "negative 0x0d"; only handle as negative if non-zero
	* numeric.c (cob_cmp_packed): refactored (partially moved code out to
	  cmp_packed_intern) and performance-improved
	* numeric.c (cob_bcd_cmp, decimal_convert_scale, insert_packed_aligned),
	  common.h: new functions for direct compare of BCD fields without the
	  overhead to convert to integer
	* numeric.c (cob_numeric_cmp), coblocal.h (COB_ATTR_INIT_A,
	  COB_FIELD_INIT_F): use best possible comparison instead of expensive
	  fallback to cob_decimal; note: this also applies to num. keys in SORT
	* coblocal.h: request to always inline cob_min_int / cob_max_int
	* common.h [_MSC_VER]: disabled "internal" byteswap routines, instead use
	  generic ones as they work as expected

2023-01-28  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (cob_packed_get_sign): move check for COB_FIELD_NO_SIGN_NIBBLE
	  to callers, minor refactoring
	* numeric.c (cob_decimal_set_packed, cob_decimal_set_display): minor
	  performance improvements
	* numeric.c (cob_decimal_get_packed, cob_decimal_get_display): rewritten
	  to use local buffer and remainder instead of allocating huge string to
	  just peak at the end
	* common.c (cob_move_packed_to_display, cob_packed_get_int,
	  cob_packed_get_long_long): minor performance improvements and similar
	  code to numeric.c
	* intrinisic.c (calculate_start_end_for_numval): only skip leading spaces
	  and zeros, but not leading low-values

2023-01-25  Simon Sobisch <simonsobisch@gnu.org>

	* cconv.c (cob_skip_blanks): prefer isspace over isblank, which is not
	  available in every system
	* common.c (conf_runtime_error, conf_runtime_error_value): as static
	* mlio.c (xml_parse): c89 fix

2023-01-23  David Declerck <david.declerck@ocamlpro.com>

	* cconv.c: add a cob_load_collation function to load collating sequences
	  from files ; cobc uses this function to create tables that are embedded
	  in the generated code, and we also we make it available in libcob so
	  that external tools that make use of the library can use this feature
	* common.h: declare the API for loading collating sequences from files

2023-01-20  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c: include limits.h for INT_MAX
	* numeric.c (cob_decimal_add, cob_decimal_sub): only check for zero if
	  scale differs
	* numeric.c (cob_decimal_mul): removed check for zero as mpz_mul does this
	  on its own

2023-01-19  Simon Sobisch <simonsobisch@gnu.org>

	* call.c (cob_put_s64_param, cob_put_u64_param): switched to common msgid
	* common.c (cob_sys_getopt_long_long): lower-case msgid

2023-01-18  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (cob_mul_by_pow_10, cob_div_by_pow_10, cob_pow_10_uli)
	  [!PREFER_MPZ_MUL]: use integer multiplication for scaling, as this
	  has proven to be a bit faster than multiplication on pre-calculated mpz
	* numeric.c (cob_cmp_packed): optimized for speed
	* intrinsic.c (at_cr_or_db): fixed to do case-insensitive check
	* intrinsic.c (cob_intr_hex_to_char): minor speedup by switch to pointer
	  arithmetic (fixing compiler warning)

2023-01-17  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (cob_decimal_set_packed): speedup (of ~8%) by handling
	  fields with less than 20 digits via integer computation instead
	  of GMP
	* numeric.c (cob_decimal_set_display): minor speedup by switching
	  to pointer arithmetic
	* numeric.c, common.c: applied 2022-05-30 changes for sign
	* numeric.c: applied 2022-05-30 changes for shift_decimal
	* numeric.c (cob_mul_by_pow_10, cob_div_by_pow_10): extracted identical
	  code to inline functions
	* numeric.c (cob_s32_pow, cob_s64_pow): use of register type

2023-01-16  Simon Sobisch <simonsobisch@gnu.org>

	* statement.def (STMT_INIT_STORAGE): new internal statement

2023-01-15  Ron Norman <rjn@inglenet.com>

	* screenio.c: renamed max_pairs_available as this is defined on HPUX
	* common.c (check_current_date): fixed bad snprintf size

2023-01-12  Simon Sobisch <simonsobisch@gnu.org>

	* intrinsic.c: minor refactoring to reduce duplicated code

2023-01-04  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_cmp): fix stack-use-after-scope for comparisons of unsigned
	  numeric with non-numeric field

2023-01-03  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_accept_date, cob_accept_date_yyyymmdd, cob_accept_day,
	  cob_accept_day_yyyyddd, cob_accept_time, cob_accept_microsecond_time):
	  use binary intermediate field instead of numeric edited, replacing
	  "expensive" sprintf calls and multiple de-editing/editing to max. one
	  minimal editing (via move.c)
	* common.c (cob_move_to_group_as_alnum): new function to handle MOVE to
	  group as MOVE to alphanumeric field, used in functions above
	* common.c (cob_display_arg_number, cob_accept_arg_number, cob_cmp),
	  move.c (indirect_move, cob_set_int, cob_set_llint, cob_get_int,
	  cob_get_llint): minor refactoring to use COB_FIELD_INIT
	* common.c (check_current_date, cob_get_current_datetime),
	  coblocal.h (cob_settings->cob_time_constant_is_calculated):
	  skip expensive call to localtime + mktime if COB_CURRENT_DATE is
	  set and "complete", by doing it already for the constant
	* move.c: integration of changes from 2022-04-08
	* move.c (cob_get_int, cob_get_llint): use of constant binary attributes

2023-01-02  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_is_numeric), move.c (cob_move, cob_move_fp_to_fp),
	  numeric.c: more additions for COB_TYPE_NUMERIC_L_DOUBLE, basic use now
	  works as expected
	* common.c (print_version): welcome 2023
	* common.c (check_current_date): only skip one - or / in COB_CURRENT_DATE
	* common.c (cob_sys_x91, set_config_val): integrated changes originally
	  done 2020-06-20 (!)
	* common.c, common.h: dropped ENV_RESETS and compare data pointer instead
	  of the name for all configurations that need additional setup
	* common.c (cob_sys_x91): activated function 35

2022-12-29  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c [!COB_EXPERIMENTAL]: disable "new" status 0P via preprocessor
	  to inspect later for either include as COB_LS_VALIDATE=PRINT or drop

2022-12-15  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, common.h: new external field + define
	  COB_SPACES_ALPHABETIC / COB_SPACES_ALPHABETIC_BYTE_LENGTH
	* common.c: split sort_compare to variant with and without collation,
	  using direct memcmp for the later
	* common.c (compare_spaces, compare_character): new function used for
	  comparison of data without collation using memcmp in doubled areas
	  instead of looping over every character
	* common.c (cob_cmp_alnum, cob_cmp_all): use direct memcmp and new
	  functions if no collation was specified
	* common.c (common_cmpc, common_cmps): always use collation as all
	  callers left in pass it (and otherwise call the new functions)

2022-12-13  David Declerck <david.declerck@ocamlpro.com>

	* cconv.c: file moved from cobc to libcob
	* common.h: declare the new API for collating sequences

2022-12-13  Simon Sobisch <simonsobisch@gnu.org>

	* strings.c (inspect_find_data): added missing area check bug #865
	* strings.c (inspect_common_no_replace, inspect_common_replacing,
	  is_marked): minor refactoring for optimization hints

2022-12-09  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (get_config_val, set_config_val, translate_boolean_to_int):
	  allow "boolean" values to be set to a third value via enum,
	  new enum "never" used for COB_PHYSICAL_CANCEL (and prepared: "not_set"),
	  to prevent unloading, which is useful for analysis tools like callgrind
	  or perf to keep all symbols until end of the COBOL process

2022-12-08  Simon Sobisch <simonsobisch@gnu.org>

	* common.h (cob_module_type): module type as enum instead of defines only
	* call.c (cob_call_field, cob_call_init): speedup of first CALL by using
	  comparing name hash against newly added hash of system routines before
	  doing an expensive strcmp against their names
	* call.c [COB_ALT_HASH]: removed
	* common.c (cob_field_to_string), call.c (cob_chk_call_path): optimized
	* call.c (hash): optimized, especially for debug builds
	* common.c: added hashing for resolving the statement from a given string,
	  instead of heavy use of strcmp; note: this is only used for backward
	  compatibilty and then reduces the previously overhead to the minimum
	* fileio.c (cob_str_from_fld): applied optimization similar
	  to common.c (cob_field_to_string)

2022-12-07  Simon Sobisch <simonsobisch@gnu.org>

	* call.c (cob_call_field): speedup of consecutive CALLs by doing the
	  lookup in called programs before testing the system routines

2022-12-06  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c (cob_sys_read_file): if called with flag value 128 only resolve
	  the file size, instead of re-positioning it first

2022-12-05  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c, common.c, coblocal.h: moved functions cob_decimal_set_mpf and
	  cob_decimal_get_mpf to numeric.c as they nearly duplicated
	  cob_decimal_set_double and cob_decimal_get_double using those functions;
	  moved out definition of COB_MAX_INTERMEDIATE_FLOATING_SIZE
	* numeric.c (cob_decimal_set_mpf_core): extracted from cob_decimal_set_mpf
	  and optimized for performance, especially by using a local storage
	* numeric.c (cob_decimal_set_double): handling of "spaced out double" using
	  a static buffer instead of setting it each time

2022-12-03  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_set_date_from_epoch), common.h: new function to
	  parse epoch date
	* common.c (cob_get_current_datetime), coblocal.h (cob_datetime_res):
	  new function to get the datetime with adjustable resolution
	* common.c, intrinsic.c: speedup for date/time lookup by using precision
	  as necessary
	* common.c [!TIME_T_IS_NON_ARITHMETIC]: removing the possibly expensive
	  call to localtime by caching its previous result

2022-12-02  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c: fix mishandled "extended attributes" (bit 4)
	* termio.c: several minor performance tweaks for DISPLAY

2022-11-28  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c, termio.c (cob_display_common): more additions for
	  currently inactive COB_TYPE_NUMERIC_L_DOUBLE

2022-11-18  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c: fixed compiler warnings related to get_crt3_status
	* common.h: XML mode defines
	* mlio.c: adjustments for register handling in XML parse stubs

2022-11-26  Simon Sobisch <simonsobisch@gnu.org>

	* call.c, common.c: internal and explicit setting of no-physical-unload
	* common.c: adjustments for COB_PHYSICAL_CANCEL

2022-11-24  Simon Sobisch <simonsobisch@gnu.org>

	* intrinsic.c: switching random number generation to GMP,
	  providing a good-distributed, portable implementation
	* intrinsic.c (cob_intr_random) [DISABLE_GMP_RANDOM]:
	  fix a rare bug returning 1
	* intrinsic.c (get_seconds_past_midnight): extracted from
	  cob_intr_seconds_past_midnight
	* intrinsic.c (cob_intr_random) [!DISABLE_GMP_RANDOM]:
	  switched initial default-seed from "system dependent"
	  (mostly always zero) to a random seed

2022-11-13  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (cob_decimal_get_field): optimized intermediate move
	  from numeric-edited by using a local storage
	* numeric.c: refactoring of floating-point usages to not use a union
	  for re-re-definition of float/double where not necessary
	* numeric.c: refactoring of bit-wise functions for readability
	* numeric.c (cob_decimal_set_display): prefer local buffer over
	  dynamic allocation
	* numeric.c (cob_cmp_int, cob_cmp_uint, cob_cmp_llint): pre-comparison
	  by checking sign/zero and reduced number of decimal shifting
	  dynamic allocation
	* move.c (store_common_region): minor optimization
	* move.c (cob_move_display_to_edited): several optimizations, the
	  biggest one stays open, needing adjusted function call from cobc

2022-11-10  Simon Sobisch <simonsobisch@gnu.org>

	* coblocal.h: include common.h (for cob_ types) and stdio.h (for FILE)
	* common.h: include stddef.h for size_t
	* fileo.c (save_status): rewritten to care for any sucessful completion
	  (status 0x) instead of only on status 00 to not set an exception and
	  to sync if COB_SYNC is active

2022-11-09  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_hard_failure, cob_hard_failure_internal),
	  call.c (cob_exit_call): skip unloading of modules for COB_CORE_ON_ERROR=2
	  to keep symbols in coredumps using cob_physical_cancel=-1 internally
	* call.c (close_and_free_module_list): extracted from cob_exit_call
	* fileio.c (lineseq_read): use the locale setup for printable check in
	  sequential data verification instead of libcob's internal one
	* fileio.c: for line sequential data verification only call isprint when
	  cob_ls_validate > 1 (not configurable), use new macro IS_NOT_PRINTABLE
	  for this check and execute it on both read and (re)write, resulting in
	  status 0P now, fixed call of isprint on EBCDIC machines

2022-11-04  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c [__PDCURSES__]: drop use of PDC_free_memory_allocations
	  as testing showed it raising memory errors and the function was
	  removed in PDCursesMod
	* common.c (cob_cmp, cob_cmp_all, cob_cmp_alnum): use buffer to drop the
	  overpunch sign, removing the need to add it back later; which solves
	  both issues of "changing invalid data by DISPLAY" and raising strange
	  watchpoints during debugging
	* common.c (common_cmpc, common_cmps, locate_sign): minor optimization

2022-10-22  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c (set_sequential_variable_length): extracted from sequential_read
	  and extended to verify COB_VARSEQ_TYPE 0 (default) by its two NULL bytes
	* fileio.c (sequential_read): return status 04 if variable record length is
	  outside the record min/max, truncating the record if necessary, while
	  still position until the next record length - fixing Bug #808
	* fileio.c (cob_fd_file_open): for variable-length record sequential files
	  do a pre-validation of the first record length, returning status 39 when
	  the first record doesn't match the fixed file attributes
	* common.c (cob_fatal_error): added COB_STATUS_39_CONFLICT_ATTRIBUTE
	* common.c (cob_sig_handler): fixed uninitialized access

2022-10-19  Simon Sobisch <simonsobisch@gnu.org>

	* statement.def: added STMT_PRESENT_WHEN

2022-10-18  Simon Sobisch <simonsobisch@gnu.org>

	* Makefile.am: moved header files that are not installed from EXTRA_DIST
	  to _SOURCES (per automake manual)
	* fileio.c (sequential_read): andle variable-sized record-sequential
	  files when the size was read, but no data found for that afterwards
	* mlio.c (xml_parse): fix bad assignment leading to compiler warnings
	* common.c (cob_check_beyond_exit), common.h: new function for implicit
	  exit/goback checks

2022-10-17  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_debug_open, cob_trace_print), intrinsic.c
	 (cob_intr_hex_to_char): prefer extending switch over use of topupper
	* call.c, common.c, intrinisic.c, screenio.c: directly call toupper/tolower
	  without previous check of islower/isupper
	* system.def, common.c (cob_sys_runtime_error_proc):
	  implement CBL_RUNTIME_ERROR

2022-10-15  Simon Sobisch <simonsobisch@gnu.org>

	* version.h, Makefile.am: new file, moving out version
	  definitions from common.h
	* common.h: drop COB_WITHOUT_EXCEPTIONS, which was added only for
	  resource compilers, which should now include libversion.h
	* common.c (cob_runtime_warning_external, cob_runtime_warning):
	  fix mixing of stdio/direct writes without flush

2022-10-14  Simon Sobisch <simonsobisch@gnu.org>

	* statement.def, Makefile.am: new file containing definitions of
	  internally used statements and their string representation
	* common.h (enum cob_statement): use new definitions to create enum
	* coblocal.h (cob_statement_name), common.c: pre-initialized table
	  to translate enum cob_statement to text
	* common.c, common.h, intrinsic.c: adjusted to store the enum value
	  instead of the string and translate only on necessary output

2022-10-12  Simon Sobisch <simonsobisch@gnu.org>

	* intrinsic.c (cob_decimal_set): removed (integrated where used)
	* numeric.c, common.h: renamed cob_decimal_copy to cob_decimal_set
	  and marked it for removal

2022-10-11  Simon Sobisch <simonsobisch@gnu.org>

	* intrinsic.c (cob_log_ten): new static field to speedup cob_intr_log10
	* intrinsic.c: only setup cob_sqrt_two, cob_pi, cob_log_half, cob_log_ten
	  on first use, to speedup init/teardown when not used
	* intrinsic.c, common.c: some more use of COB_D2I

2022-10-10  Simon Sobisch <simonsobisch@gnu.org>

	* intrinsic.c (cob_intr_bit_of, cob_intr_bit_to_char,cob_intr_hex_of
	  cob_intr_hex_to_char): fixed invalid attribute of return field
	* common.c, common.h, coblocal.h, fileio.c, numeric.c: changed
	* common.c (cob_hard_failure_internal), common.h, coblocal.h, fileio.c,
	  numeric.c: changed to take an optional prefix and be exported to be
	  used in cobc
	* common.c: change COB_CORE_ON_ERROR=3 to not manually generate a corefile
	  when called from a signal handler as this isn't signal safe
	* common.c, coblocal.h: add COB_CORE_FILENAME to allow specifying a
	  path, changed default to "core.libcob"
	* common.c: defined macros for use of write to simplify code and to
	  stop output by returning the function in case of errors fixing
	   -Wunused-result compiler warnings

2022-10-09  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, coblocal.h: addition of COB_CORE_ON_ERROR to enable
	  auto-creation of coredumps on error, sending SIGABRT on error
	  and the option to let the OS handle signals
	* common.c (create_dumpfile): implemented COB_CORE_ON_ERROR=3
	* common.c (output_procedure_stack_entry, cob_stack_trace_internal):
	  replaced use of stdio functions by signal-safe write + memcpy

2022-10-08  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c [WITH_DB]: fixed bug #533 multiple file unlocking by
	  backport of adjusted struct indexed_file with new file_lock_set
	  from rw-branch together with related changes
	* fileio.c [WITH_DB] (unlock_file): extracted to match other functions
	* fileio.c [WITH_DB]: added extra parameters to DB_PUT, DB_GET, DB_SEQ,
	  DB_CPUT to show what is actually used
	* fileio.c: fixed some memory leaks related to filename handling
	* fileio.c (cob_file_free): file was not removed from cache which
	  led to double-free scenarios on cleanup
	* fileio.c (cob_open): fixed concattenated filenames resetting the static
	  filename buffer, leading to use-after-free later
	* fileio.c (do_acu_hyphen_translation, copy_fcd_to_file):
	  fix read of invalid data
	* intrinsic.c (split_around_t): fix read of invalid data
	* mlio.c (copy_data_as_string): new function replacing cob_strndup_void,
	  doing what the callers expect, fixing read of invalid data;
	  added missing check for its return value in is_valid_xml_name
	* mlio.c (cob_xml_generate_new): fixed memory leak when valid namespace
	  data and invalid namepace prefix is passed

2022-10-05  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (check_current_date): improved validation
	* common.c, intrinsic.c: favor strcpy, snprintf over strncpy

2022-10-04  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_stack_trace_internal, output_procedure_stack_entry):
	  use cob_frame_ext information when available to output PERFORM stack
	* common.c (cob_set_exception): store strings in a local copy
	  preventing SIGSEGV after CANCEL
	* common.c (cob_trace_section): if line is not specified (done for
	  "exit module" tracing), resolve that from current line, if known
	  (to provide same output as the version that this was used with)
	* intrinsic.c: extend internal docs
	* fileio.c: add some guards against bad function calls
	* common.h (cob_open_mode): new enum instead instead #define'd constants
	* fileio.c: use cob_open_mode where possible (external functions are
	  postponed to GC 4.x as this possibly changes the ABI)

2022-10-01  Simon Sobisch <simonsobisch@gnu.org>

	* intrinsic.c (numval, cob_intr_numval_f): rewritten for improved
	  performance (and creating smaller temporary fields);
	  changed to just skip invalid data instead of doing pre-validation
	  (which can be re-enabled by defining [INVALID_NUMVAL_IS_ZERO])
	* intrinsic.c (cob_check_numval_f, cob_intr_numval_f): correctly
	  recognize lowercase E

2022-09-30  Simon Sobisch <simonsobisch@gnu.org>

	* general: merged missing line sequential changes from 4.x to 3.x
	* common.c: fixed, then disabled boolean options "not set"
	* fileio.c (lineseq_read): set io status 71 for EOF after x'00'
	  when parsed for COB_LS_NULLS
	* common.c (cob_fatal_error): added missing COB_STATUS_71_BAD_CHAR
	* fileio.c (cob_read, cob_read_next): handle io status 04 and 09
	  as successful as io status 06
	* fileio.c (lineseq_read): set return status 04 if record is truncated
	  because LS_SPLIT is false
	* common.c: adjustments for merge of 2021-03-18
	* common.h (cob_frame_ext): new variant of cob_frame storing the
	  section/paragraph + location to return to; allowing a full textual
	  PERFORM stack and used for restoring those on return
	* common.h (cob_module): fields for current frame_ptr

2022-09-29  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c (lineseq_read): Status 09 for validation is a warning,
	  so still parse until end of field when reading bad data

	FR #422 - initial implementation of conversion via CODE-SET
	* common.h (cob_file): new fields
	* fileio.c (sequential_read, lineseq_read, cob_write, cob_rewrite,
	  get_code_set_converted_data): handle conversion

2022-09-28  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c (cob_file_close): clear file pointer for LINE SEQUENTIAL
	  files, fixing a later use
	* fileio.c: EXTFH memory adjustment - use cache_malloc for internally
	  created select names and free it along with its fcd_file_list entry

2022-09-21  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, fileio.c: change COB_LS_VALIDATE to be the default and to
	  override COB_LS_NULLS
	* fileio.c: fix bug #853 pass \r to validation / COBOL if it isn't
	  followed by \n
	* fileio.c: minor refactor - use of separate FILE *fp

2022-09-13  Simon Sobisch <simonsobisch@gnu.org>

	* intrinsic.c (cob_check_numval): fix missing check for
	  embedded sign and decimal, minor performance-tweak

2022-09-08  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (cob_get_color_pair, cob_screen_init): fix overflow
	  when COLOR_PAIRS is bigger than SHRT_MAX
	* screenio.c (cob_screen_init) [__PDCURSES__]: fix missing initialization
	  because of preprocessor symbols dropped

2022-09-01  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (cob_exit_screen): ensure to not end COB_EXIT_MESSAGE
	  on mouse-move
	* common.c (cob_sys_exit_proc): fix compiler warning

2022-08-19  Simon Sobisch <simonsobisch@gnu.org>

	* mlio.c, common.h: added XML PARSE stub including minimal
	  runtime validation as well as functions and enums to set
	  related registers
	* common.c (cob_strndup), coblocal.h: added (for mlio.c)

2022-08-18  Simon Sobisch <simonsobisch@gnu.org>

	* mlio.c: use cob_set_int instead of cob_set_field_to_uint as
	  used registers JSON-CODE and XML-CODE are signed
	* numeric.c, coblocal.h: remove unused cob_set_field_to_uint
	* mlio.c: code refactoring and minor improvements for XML GENERATE
	  and JSON GENERATE (including bug-fix: COUNT IN sets variable,
	  not increments it)

2022-07-15  Simon Sobisch <simonsobisch@gnu.org>

	* call.c (cob_resolve_internal): added check for module name length,
	  fixed compiler warnings
	* call.c (cob_call): switched argument table from dynamic allocation
	  to stack allocation
	* common.c (cob_add_exception), coblocal.h: new function to activate more
	  than one exception at the same time
	* common.c (cob_get_last_exception_name): adjusted to care for
	  cob_add_exception
	* screenio.c (handle_status): pass type of statement to raise
	  either COB_EC_IMP_ACCEPT or COB_EC_IMP_DISPLAY
	* screenio.c (handle_status, cob_set_crt3_status) [!COB_GEN_SCREENIO]:
	  unconditionally defined those functions and finally return error
	  status and nonfatal exception along with a warning on accept if the
	  runtime is not configured for extended screenio
	* mlio.c (set_xml_exception, set_xml_code, set_json_exception,
	  set_json_code): unconditionally defined those functions and return
	  error status and fatal exception (no runtime exit) along with a
	  warning if the runtime is not configured for XML / JSON

2022-07-10  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c [__PDCURSES__] (cob_exit_screen): execute
	  PDC_free_memory_allocations if available
	* screenio (cob_exit_screen): fixed order of endwin and delwin,
	  preventing memory leaks on exit of extended screenio
	* common.c, coblocal.h, screenio.c (cob_exit_screen_from_signal):
	  only minimal screenio exit from signal handler

2022-07-08  Simon Sobisch <simonsobisch@gnu.org>

	* call.c (cob_cancel): preparation for CANCEL ALL

2022-06-23  Simon Sobisch <simonsobisch@gnu.org>

	* strings.c (cob_unstring_into): minor performance-tweak
	  for UNSTRING with a single DELIMITED BY phrase

2022-06-12  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_init_sig_descriptions): new function with code
	  previously found cob_get_sig_description and cob_set_sig_description
	  to pre-set signal description table on initialization,
	  allowing to access it signal-safe in the signal-handler
	* common.c (get_signal_entry) extracted from cob_get_sig_name,
	  cob_get_sig_description
	* common.c: rename signal_value back to sig (as standard name for
	  signal handler related functions)
	* common.c (ss_itoa_u10): new signal-safe function to build string
	  from integer (base 10), based on implementation by "Shaoquan"
	* common.c: replaced stdio in functions called by cob_sig_handler
	  by signal-safe functions; exceptions: dump-routines
	* fileio.c (cob_get_filename_print): replaced use of stdio functions
	  by signal-safe functions as we may be called from there

2022-05-30  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (num_byte_memcpy): removed, callers adjusted to
	  use memcpy instead
	* numeric.c: adjusted to distinguish "field_sign" (a flag) from
	  "sign" (a GMP return to show negative/zero/positive), and check
	  the later with explicit -1 / 1
	* common.c: adjusted to check for sign as explicit -1/1
	* numeric.c: check for "gmp sign == 0" and skip some computations early
	* numeric.c (shift_decimal): moved checks for "shift by zero" out to
	  callers as already done in many places

2022-05-24  Simon Sobisch <simonsobisch@gnu.org>

	* strings.c (cob_inspect_converting): fix possible stackoverflow
	* call.c (cob_resolve_internal): fix possible stack-use-after-scope,
	  happening if name conversion is active, introduced on 2020-11-29
	  and distributed with 3.1.2

2022-05-23  Simon Sobisch <simonsobisch@gnu.org>

	* strings.c (inspect_common_no_replace, inspect_common_replacing):
	  split from inspect_common to enable further optimization for
	  non replacing variant
	* strings.c (inspect_common_no_replace): for LEADING and TRAILING - do
	  not mark each occurrence, instead gather range, then set the marker
	  afterwards to reduce the number of expensive small memsets
	  (TALLYING for 20000 TRAILING spaces -> 1 memset instead of 20000)

2022-05-21  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_sig_handler): integrated (cob_sig_handler_ex) and fix
	  re-execution of signal handler to raise, effectively reverting most
	  of the changes from 2014-03-03

2022-05-11  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_get_sign_ascii, cob_put_sign_ascii, cob_put_sign_ebcdic):
	  skip sign-adjustment if data is already without/with sign
	* common.c (cob_put_sign_ebcdic): invalid data for negative sign is now
	  converted to -0 instead of +0
	* strings.c (cob_inspect_init_common): extracted from cob_inspect_init
	* strings.c (cob_inspect_converting): reordered code, so inspect_mark
	  is no longer needed
	* strings.c (cob_inspect_init_common): extracted from cob_inspect_init
	* strings.c (cob_inspect_init_converting), common.h: new stripped down
	  variant of cob_inspect_init
	* strings.c (cob_inspect_converting): changed conversion to be based
	  on pre-computed conversion tables, improving performance a lot

2022-04-11  Simon Sobisch <simonsobisch@gnu.org>

	* strings.c (inspect_find_data): extracted from cob_inspect_before /
	  cob_inspect_after
	* strings.c (cob_inspect_characters): use (is_marked) to count/replace
	  all characters at once when possible
	* strings.c (inspect_common, cob_inspect_characters,
	  cob_inspect_converting): early exit if nothing to inspect
	* strings.c (cob_init_strings, cob_inspect_init, cob_unstring_init):
	  don't pre-allocate inspect_mark, inspect_repdata, dlm_list but
	  allocate with minimal default size on first use

2022-04-08  Simon Sobisch <simonsobisch@gnu.org>

	* strings.c (do_mark, is_marked): extracted from inspect_common
	* strings.c (set_inspect_mark): new function to remember actual min/max
	  positions of the marker bytes to remove the need to initialize huge
	  areas when we commonly have set only markers in the first n bytes
	  (or nothing), especially for INSPECT LEADING/TRAILING
	* strings.c (cob_inspect_init, cob_inspect_characters, is_marked): use of
	  the now definitive check "did we mark anything" instead of checking all
	  marker bytes by testing for "inspect_mark[inspect_mark_min] != 0"
	* strings.c (is_marked): check for possible/definite overlap of
	  check and marker range before checking all marker bytes in range
	* strings.c: increase use of direct pointer comparisons instead of
	  accessing char arrays or its positions for INSPECT
	* move.c: add const_bin_attr, add COB_FLAG_REAL_BINARY to const_binll_attr
	* move.c, common.h: new function cob_set_llint
	* move.c (cob_set_int): use const_bin_attr instead of setting it up
	  each time as this function is used quite often in generated code

2022-04-29  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c: adjustments for XCurses defines

2022-04-01  Simon Sobisch <simonsobisch@gnu.org>

	* common.h [__DJGPP__]: use DOS path specs

2022-03-11  Fabrice Le Fessant <fabrice.le_fessant@ocamlpro.com>

	* common.c, common.h: add support for the STOP ERROR statement

2022-02-19  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c [__PDCURSES__]: enabled blinking and bolding, see
	  Patch #47

2022-02-04  Simon Sobisch <simonsobisch@gnu.org>

	* general: backport of REWRITE in LINE SEQUENTIAL (especially: record_off),
	  COB_LS_VALIDATE to check LINE SEQUENTIAL files during read/write,
	  COB_SEQ_CONCAT_NAME and COB_SEQ_CONCAT_SEP, and other file specific
	  features

2022-01-30  Simon Sobisch <simonsobisch@gnu.org>

	* call.c (set_resolve_error): distinguish between exceptions
	  COB_EC_PROGRAM_NOT_FOUND and COB_EC_FUNCTION_NOT_FOUND
	* fileio.c (indexed_open, join_environment) [WITH_DB]: return
	  file sharing error if BDB environment cannot be joined
	* fileio.c (cob_sys_check_file_exist, cob_get_sort_tempfile): return
	  appropriate error code on errors instead of runtime exit
	* screenio.c: preparations to later raise exceptions in error cases
	* common.c (cob_sys_exit_proc): fixes to set / query priority and
	  return code in case of errors as "per documentation"
	* common.c, coblocal.h: added cob_hard_failure + cob_hard_failure_internal
	* call.c, numeric.c, fileio.c, screenio.c: use of cob_hard_failure and
	  cob_hard_failure_internal instead of internal STOP RUN
	* common.c: changed runtime error buffer to be static and set
	  first via new internal function cob_setup_runtime_error_str
	  when runtime errors occur
	* common.c (cob_call_with_exception_check, cob_last_exit_code,
	  cob_last_runtime_error), common.h: added new C API functions that uses
	  setjmp/longjmp to allow COBOL calls without possible process interruption

2022-01-17  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (cob_decimal_adjust): rewrite code for trailing zero removing,
	  heavily improving ccomputation and comparison of FLOAT-DECIMAL
	* numeric.c: actually handle up to COB_MAX_BINARY, not one less

2022-01-11  Simon Sobisch <simonsobisch@gnu.org>

	* termio.c: use SIGINT intead of hard-wired "2"
	* screenio.c (cob_sys_get_csr_pos, cob_sys_set_csr_pos): support
	  for get/set cursor position with four-byte field instead of two
	* screenio.c (cob_accept_escape_key): support to get 2byte status
	* common.c (cob_accept_exception_status): handle special MF values
	  128, 2, 1 when called with 3byte NUMERIC-DISPLAY

2022-01-03  Simon Sobisch <simonsobisch@gnu.org>

	* coblocal.h, common.h: moved some internal limits to coblocal.h

2022-01-01  Ron Norman <rjn@inglenet.com>

	* numeric.c: Speed up cob_decimal_adjust routine

2021-12-31  Ron Norman <rjn@inglenet.com>

	* numeric.c: speed up cob_decimal_add, cob_decimal_sub, cob_decimal_cmp
	  Use the powers of 10 table instead of recomputing;
	  add cob_decimal_copy for use by emitted code

2021-12-22  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c (indexed_close) [WITH_DB]: fix bug #753 sigsegv on CLOSE
	  when COB_SYNC is active

2021-12-03  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (print_version_summary) [__PDCURSES__]: show version
	  info for old versions of PDCurses, too

2021-11-22  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_allocate): only initialize upon request with optimized
	  initialization for binary zeroes

2021-11-18  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_get_sig_name, cob_get_sig_description,
	  cob_set_sig_description): hardened against unexpected signal numbers
	* common.c (signals, cob_get_sig_description): description is
	  post-initialized to allow use of gettext - non-static descriptions

2021-11-14  Ron Norman <rjn@inglenet.com>

	Implement FR #235: add bitwise operators for numeric items
	* numeric.c, common.h: new cob_logical_xxx functions for bitwise operations
	* intrinsic.c (cob_intr_binop): add code for bitwise operations

2021-11-05  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_allocate): fixed check for maximum size to work as
	  intended for values > INT_MAX
	* common.h [HAVE_CONFIG_H]: include config.h (to be moved to coblocal.h)
	* common.h [COB_64_BIT_POINTER]: allow field size up to 2GB
	* intrinsic.c [HAVE_LANGINFO_CODESET && _WIN32]: fix compile error,
	  needs to be checked later if undefine of HAVE_LANGINFO_CODESET is
	  reasonable

2021-11-01  Simon Sobisch <simonsobisch@gnu.org>

	* coblocal.h: adjusted ISFINITE definition
	* coblocal.h: removed 'extern "C"' as this header should not
	  be externally included
	* common.h, coblocal.h: moved _MSC_VER comparison macros as those are
	  not relevant to user-space

2021-10-06  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_get_environment, cob_display_environment): move strlen
	  out of a loop

2021-10-04  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: always handle SIGFPE, define manually if needed
	* numeric.c (cob_s32_pow, cob_s64_pow), common.h: new functions for
	  integer exponentiation, see related #702
	* intrinsic.c: replace int_pow definition and use with cob_s32_pow
	* fileio.c [WIN32]: redefine mkdir instead of handling mode parameter
	  via defines when used

2021-10-02  Ron Norman <rjn@inglenet.com>

	* fileio.c (lineseq_read): check LINE SEQUENTIAL data and if invalid
	  return 09 status per COBOL 2022
	* fileio.c: change default for LS_SPLIT = TRUE

2021-10-01  Ron Norman <rjn@inglenet.com>

	* fileio.c (lineseq_read): check LINE SEQUENTIAL data and if invalid
	  return 09 status per COBOL 2022
	* common.c: added 'not set' for boolean options [disabed in 3.x]
	* common.c: change default for LS_SPLIT = TRUE
	* fileio.c, common.h: return status 06 for split line sequential

2021-09-30  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: save-guard against broken cob_module chain in dump
	* termio.c, common.c: allow to explicit disable dump

2021-09-29  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c (EXTFH3): also handle OP_FLUSH, OP_DELETE_FILE, OP_COMMIT and
	  OP_ROLLBACK before checking record-pointer;
	  set file status 9/100 for unknown op-codes
	* common.c (cob_external_addr): split into muliple functions
	* fileio.c (cob_file_malloc): set the file's number of keys directly
	* fileio.c (cob_file_external_addr): change the way the file is allocated,
	  having only its POINTER be "external" and use cob_file_malloc to allocate
	  and set the attributes
	* common.h (cob_module): new attribute gc_version
	* common.c (cob_check_version): set last modules gc_version
	* fileio.c (cob_cache_file): fix aborts when running GC 2 modules with
	  INDEXED/RELATIVE files by converting old cob_file_key structure
	  to the expected one

2021-09-28  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_gettmpdir): do the lookup and validation only once,
	  also ensure for TMPDIR that it has no trailing slash

2021-09-27  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (call_exit_handlers_and_terminate): extracted from
	  (cob_stop_run, cob_tidy)
	* reportio.c (cob_report_generate): backport of 2021-09-26 change
	* common.c (cob_gettmpdir): fix to remove trailing slash
	* screenio.c: FR # 387 supporting color codes 8-15 - using bits 1-3 for
	  the color value, bit 4 for attribute blink/highlight and ignoring
	  all higher bits

2021-09-26  Ron Norman <rjn@inglenet.com>

	* reportio.c: Fixed to call back to DECLARATIVES for DETAIL line

2021-09-21  Christian Lademann <christian@lademann.online>

	* termio.c, screenio.c: recognize 3-byte crt_status item and fill it
	  according to X/Open standard (CRT STATUS byte 3 will always be NULL).
	  The format of CRT STATUS depends on type and size of the defined item.

2021-09-21  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c (cob_pre_open): remove trailing spaces from fcd->filenameptr
	  and ensure that the filename length does not extend our max size
	* fileio.c (copy_fcd_to_file): ignore flag "file with user status"
	* fileio.c (fcd2_to_fcd3, fcd3_to_fcd): copy block size parameter (ignored)
	* fileio.c (copy_fcd_to_file) [_WIN32]: additional handle DOS Slash when
	  building the assign name
	* fileio.c (update_record_and_keys_if_necessary): extracted from
	  (find_file) and called separately
	* fileio.c (find_file): set file's fcd backreference
	* fileio.c (EXTFH3): disabled auto-adjustment of files' and fcd's
	  access mode for ORGANIZATION INDEXED, along with pre-setting status to 00

2021-09-15  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c (fcd2_to_fcd3): removed checks as this function only converts
	* fileio.c (cob_sys_extfh): minor adjustments for bad arguments

2021-09-13  Ron Norman <rjn@inglenet.com>

	* fextfh.c->fileio.c: Some fixes to following changes

2021-09-13  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c: merged EXTFH changes from trunk (fbdb.c,fisam.c,fextfh.c)
	* fextfh.c: If record address changes, force rebuild of key info
	* fextfh.c (copy_fcd_to_file): only access key structure for INDEXED files
	* fextfh.c (fcd2_to_fcd3, fcd3_to_fcd2): extracted from (cob_sys_extfh)
	* fextfh.c: do FCD2<->FCD3 translation for both COBOL calls and C calls
	  to EXTFH
	* fextfh.c (copy_file_to_fcd, copy_fcd_to_file, copy_keys_fcd_to_file):
	  adjustments in conversion of internal/external file definition,
	  especially for incomplete FCD definitions
	* fileio.c: minor adjustments for io-module loading
	* common.h, fileio.c: definition and FCD2<->FCD3 translation for confFlags2
	  and lineCount (actual handling and tests open)

2021-09-12  Ron Norman <rjn@inglenet.com>

	* fextfh.c: Some corrections for RELATIVE files and remove duplicated code

2021-09-07  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c (save_status): only internally distinguish between
	  COB_EC_I_O_EOP and COB_EC_I_O_EOP_OVERFLOW for now as otherwise
	  recompilation of modules would be necessary (-> postponed)

2021-09-06  Simon Sobisch <simonsobisch@gnu.org>

	* exception.def, exception-io.def: update for COBOL 202x,
	  also adding some entries from COBOL 2014 and dropping one wrong
	* fileio.c: handling of COB_EC_I_O_RECORD_CONTENT,
	  distinguish between COB_EC_I_O_EOP and COB_EC_I_O_EOP_OVERFLOW
	* fileio.c (update_fcd_to_file): don't set error status at 0x

2021-09-05  Ron Norman <rjn@inglenet.com>

	* fextfh.c: Add check for record address being available

2021-08-31  Simon Sobisch <simonsobisch@gnu.org>

	* intrinsic.c, common.h: implemented (cob_intr_bit_of),
	  (cob_intr_bit_to_char)
	* common.c: renamed (cob_memcpy) to (cob_move_intermediate) and
	  postponed handling of target size to cob_move
	* common.c, common.h: implemented (cob_accept_microsecond_time)

2021-08-30  Simon Sobisch <simonsobisch@gnu.org>

	* fextfh.c (copy_fcd_to_file): only access key structure for INDEXED files

2021-08-29  Ron Norman <rjn@inglenet.com>

	* fileio.c: Adjust record size up to minimum for the file
	* fextfh.c: Only check for missing record address if an I/O request
	           Do not check for OPEN/CLOSE operations

2021-08-23  Ron Norman <rjn@inglenet.com>

	* fextfh.c->fileio.c: If FCD record address changes, make required updates

2021-08-18  Ron Norman <rjn@inglenet.com>

	* fextfh.c->fileio.c: Check for key field defined before using it

2021-07-12  Simon Sobisch <simonsobisch@gnu.org>

	* intrinsic.c, common.h: implemented (cob_intr_hex_of),
	  (cob_intr_hex_to_char)

2021-07-12  Ron Norman <rjn@inglenet.com>

	* fextfh.c->fileio.c: check FCD-CURRENT-REC-LEN being changed on
	  WRITE/REWRITE

2021-07-07  Ron Norman <rjn@inglenet.com>

	* reportio.c (cob_report_generate): Fix bug #745 - missing invoke of
	  DECLARATIVES for DETAIL line

2021-07-05  Ron Norman <rjn@inglenet.com>

	* common.h (cob_file): Added flag_is_concat, org_filename and nxt_filename
	* common.c: Handle runtime options COB_SEQ_CONCAT_NAME and
	  COB_SEQ_CONCAT_SEP used for 'concatenated input files'
	* coblocal.h (cob_settings): Added fields for concatenated files
	* fileio.c: Add code to handle SEQUENTIAL and LINE SEQUENTIAL
	  concatenated input files for OPEN INPUT and I-O

2021-07-02  Simon Sobisch <simonsobisch@gnu.org>

	* reportio.c: move hard line/col limit to REPORT_MAX_LINES REPORT_MAX_COLS
	* reportio.c (write_rec): changed to completely use cob_write
	  for CODE IS to handle all file attributes; backup and restore
	  original record definition

2021-07-02  Ron Norman <rjn@inglenet.com>

	* common.h: Added  FCD2 structure
	* fextfh.c: Added checks for FCD2 being used

2021-07-01  Ron Norman <rjn@inglenet.com>

	* fbdb.c->fileio.c [WITH_DB]: checks if filename is actually a directory

2021-03-18  Ron Norman <rjn@inglenet.com>

	* common.h (cob_module): fields for section/paragraph/statement names
	* common.c: adjusted to use new fields in cob_module

2021-03-04  Ron Norman <rjn@inglenet.com>

	* common.h: Fixes to the LDCOMPX/STCOMPX set of defines
	* fextfh.c->fileio.c: Fixes to handle the OP_GETINO function code
	            to collect information about an unopened file
	            Basically only works for INDEXED files (3.x: not with BDB)
	* fileio.c: Additonal code to inspect the index control blocks
	            of an ISAM file and save the details

2021-02-11  Ron Norman <rjn@inglenet.com>

	* termio.c (display_alnum_dump): added bounds check to fix invalid reads

2021-04-08  Simon Sobisch <simonsobisch@gnu.org>

	* termio.c (display_alnum_dump): only consider isprint to decide
	  for necessary hex output
	* common.c (cob_dump_module): set C locale to original one before dump
	  and restore previous one afterwards
	* common.c (cob_sys_printable): set C locale to original one before
	  checking and restore previous one afterwards

2021-02-15  Simon Sobisch <simonsobisch@gnu.org>

	* call.c (add_to_preload, cob_try_preload): extracted from
	  (cob_init_call handle), additional preparare cob_try_preload to be
	  callable from debuggers

2021-02-04  Simon Sobisch <simonsobisch@gnu.org>

	* coblocal.h (COB_D2I): only use the half-byte of the char to resolve the
	  integer value, preventing overflows leading to huge/negative values and
	  providing conversion of common invalid data (SPACE/LOW-VALUE) to zero
	  along with correct conversion of numeric character from both ASCII and
	  EBCDIC to integer
	* move.c: use of COB_D2I for conversions
	  and restore previous one afterwards
	* move.c (store_common_region): minor refactoring
	* numeric.c, common.c: clear use and separation of "sign" (GMP view) vs.
	  "flag_sign" (field attribute) vs. "has_negative_sign"

2021-01-28  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c (lineseq_read), common.c, coblocal.h:
	  backport of COB_LS_SPLIT from 4.x

2021-01-27  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_sys_getopt_long_long): fix for EBCDIC
	* termio.c: check for output errors and early exit; while this is unlikely
	  to happen with stdscr/stderr, it is when using these functions in dump
	  code or externally (with real files or with memory mapped io)

2021-01-21  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_sig_handler): skip module dump for SIGHUP and SIGPIPE
	* common.c (cob_stack_trace_internal): dump starting program and
	  parameters if in "verbose" mode (which is the default)

2021-01-08  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_backtrace), common.h: new variant of cob_stacktrace
	  with format similar to GDB's backtrace
	* fileio.c (set_dbt): fix bug #701 bad initialization with DB_HOME

2021-01-07  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (print_version): msgid change moving URLs to parameter
	  per gettext-guidelines
	* common.h: version defines to 3.2.0

2020-12-09  Ron Norman <rjn@inglenet.com>

	* common.c, common.h: added cob_get_sig_name and cob_get_sig_description
	* common.c (cob_sig_handler): use cob_get_sig_name instead of get_sig_name
	* common.c (cob_set_signal): rewrote to be table driven

2020-12-18  Simon Sobisch <simonsobisch@gnu.org>

	FR #397: add support for JSON GENERATE anonymous JSON objects
	* mlio.c (generate_json_from_tree): handle OMITTED NAME attribute

2020-12-15  Simon Sobisch <simonsobisch@gnu.org>

	Bug #692 missing output for DISPLAY WITH NO ADVANCING
	* termio.c (cob_accept): always flush to ensure buffered output is seen

2020-12-08  Simon Sobisch <simonsobisch@gnu.org>

	* Makefile.am (libcob_la_LDFLAGS): updated version-info

2020-12-07  Simon Sobisch <simonsobisch@gnu.org>

	* termio.c (cob_dump_field): complete rewrite to allow any size of OCCURS
	  to be checked for "same as" and to allow that also with nested OCCURS

2020-12-05  Simon Sobisch <simonsobisch@gnu.org>

	* common.h, fileio.c, intrinsic.c: removed unused include sys/timeb.h and
	  definitions for timeb and ftime
	* termio.c (setup_lvlwrk_and_dump_null_adrs): handle level 0 as INDEX

2020-12-02  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: preprocessor check/define for S_ISDIR and S_ISREG now done
	  for all compilers

2020-11-30  Ron Norman <rjn@inglenet.com>

	* common.c (cob_check_version): rewrote as it did not work on some platforms

2020-11-30  Simon Sobisch <simonsobisch@gnu.org>

	* termio.c, common.h (cob_dump_field): adjusted variable types to unsigned
	* termio.c, common.h (cob_dump_field): compat version for 3.1rc1
	* termio.c (cob_dump_field): extracted setup_lvlwrk_and_dump_null_adrs and
	  setup_varname_with_indices into separate functions and call them only
	  if not skipped because of same data
	* termio.c (cob_dump_field): fixes for non-standard 01 OCCURS for "same as"
	* termio.c (cob_dump_field): postpone output of "same as" to gather multiple
	  identical entries into the same line as "XYZ (1,2..20) same as (1)"

2020-11-29  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: limit sscanf width for strings
	* common.c (set_config_val): removed duplicate check for
	  ptr (!= 0 && == ' ')
	* call.c, common.c, fileio.c, intrinsic.c, mlio.c, strings.c:
	  reduced scope of some variables

2020-11-28  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_check_version): restored compat option for GC 2.x pre 2.2
	* fileio.c, screenio.c, strings.c, termio.c: fixed some minor coding issues
	* termio.c (cob_dump_field): fixed bad memcpy

2020-11-27  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, common.h: added externalized cob_nop to have a portable way to
	  ensure some optimizations on C level not be done (currently: not removing
	  #line references)

2020-11-26  Ron Norman <rjn@inglenet.com>

	* termio.c: Catch more table entries as repeated

2020-11-24  Ron Norman <rjn@inglenet.com>

	* termio.c: Improve field dump routines to look for duplicated data

2020-11-23  Ron Norman <rjn@inglenet.com>

	* common.h, move.c: add cob_init_table

2020-11-22  Ron Norman <rjn@inglenet.com>

	* common.c: set LIBC_FATAL_STDERR_ more hard coded
	* fbdb.c (ix_bdb_delete_internal)->fileio.c(indexed_delete_internal):
	  fix error in use of wrong record area
	* fextfh.c->fileio.c (copy_file_to_fcd): use cob_cache_malloc instead
	  of cob_strdup

2020-11-22  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, common.h (cob_save_func): have correct return type
	  struct cob_func_loc* instead of void*

2020-11-20  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_stack_trace_internal): early exit if no data available
	* common.c (cob_check_version): test for minimal version 2.2

2020-11-18  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_init): skip initialization again if already done as
	  external callers may call it falsely again

2020-11-16  James K. Lowden  <jklowden@symas.com>

	* common.c (cob_init) [__GLIBC__]: set LIBC_FATAL_STDERR_ to prevent
	  glibc from writing stack traces to /dev/tty.

2020-11-13  James K. Lowden  <jklowden@symas.com>

	* common.c (cob_check_version): support 3-part version strings

2020-11-09  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_terminate_routines): fixed typo in dump skip condition
	* common.c (cob_strdup): minor performance improvement
	* common.c (cob_gettmpdir): ensure TMPDIR without trailing slash

2020-11-08  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, common.h: new functions cob_check_ref_mod_detailed and
	  cob_check_ref_mod_minimal for adjusted check of COB_EC_BOUND_REF_MOD

2020-11-05  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c: initialize errno in all places where it is checked afterwards
	* fileio.c [_WIN32]: implemented file locking via LockFileEx/UnlockFile
	* common.c (cob_sys_waitpid) [_WIN32]: fixed logic error in #if, allowing
	  the best process synchronization possible on that platform
	* common.h [_MSC_VER]: removed unused global includes
	* common.h, call.c: allow removal of longjump by defining COB_WITHOUT_JMP

2020-10-27  Simon Sobisch <simonsobisch@gnu.org>

	* common.h, common.c: FR #323 - external visible version number
	  external version defintion via new defines __LIBCOB_VERSION,
	  __LIBCOB_VERSION_MINOR, __LIBCOB_VERSION_PATCHLEVEL, __LIBCOB_RELEASE
	  and functions libcob_version, set_libcob_version to query and/or compare
	  these;
	  note: __LIBCOB_VERSION_PATCHLEVEL is _not_ the package's PATCHLEVEL
	* common.c: extracted set_cob_build_stamp from print_version
	* common.c, common.h: new function print_version_summary providing a two line
	  output for GnuCOBOL + C compiler and used libraries
	* common.c (print_runtime_conf): additional output of LOCALEDIR

2020-10-26  Simon Sobisch <simonsobisch@gnu.org>

	* call.c, common.c: defaults.h removed
	* call.c: allow omitting the definition for COB_LIBRARY_PATH via config.h
	* call.c (cob_get_field_str): check return code of ftell before use
	* Makefile.am: pass LOCALEDIR via define

2020-10-22  Simon Sobisch <simonsobisch@gnu.org>

	* call.c (cob_set_library_path, cob_init_call): completely reworked
	  reading in COB_LIBRARY_PATH: have working-directory prefixed only
	  if not part of environment setting COB_LIBRARY_PATH already,
	  always suffix internal default COB_LIBRARY_PATH,
	  remove trailing spaces from entries
	* common.c (get_math_info): use return of snprintf instead of extra strlen

2020-10-20  Simon Sobisch <simonsobisch@gnu.org>

	* move.c (cob_move_all): optimization by removing unnecessary malloc/free
	  for most executions and using constant attributes

2020-10-17  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c: fixed C89 declaration

2020-10-13  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_runtime_hint): replaced leading tab by "note"
	  to harmonize with cobc

2020-10-12  Ron Norman <rjn@inglenet.com>

	* intrinsic.c, move.c, numeric.c, termio.c: updates to process
	  COB_TYPE_NUMERIC_COMP5 the same as COB_TYPE_NUMERIC_BINARY
	  except for DISPLAY then only display for f->attr->digits

2020-10-02  Simon Sobisch <simonsobisch@gnu.org>

	* call.c: define fmemopen if available but declaration missing

2020-10-01  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c: extracted (is_suppressed_key_value) from (cob_read_next)
	* fileio.c (indexed_rewrite): update to increase similarity to 4.x
	* fileio.c (cob_savekey): fixed undefined behaviour (memcpy to itself)

2020-10-02  James K. Lowden  <jklowden@symas.com>

	* screenio.c: quell unused-result warning when compiled with
	  _FORTIFY_SOURCE, providing a draft for GCC_PRAGMA and GCC_POP

2020-09-30  Simon Sobisch <simonsobisch@gnu.org>

	* mlio.c, common.h: duplicated cob_xml/json_generate to allow
	  for new decimal_point param without breaking API from 2018
	* coblocal.h: include gettext without lib prefix
	* call.c, common.c: use EXIT_SUCCESS and EXIT_FAILURE instead of exit(0/1)

2020-09-29  Simon Sobisch <simonsobisch@gnu.org>

	* common.c [WITH_JSON_C]: added version output
	* mlio.c: adjusted check of defines for XML/JSON,
	  include json-c according to its docs

2020-09-23  Simon Sobisch <simonsobisch@gnu.org>

	* Makefile.am (install-data-hook): removed as per initial patch from
	  Eric Gallager in bug #73, fixing bug #576

2020-09-08  James K. Lowden  <jklowden@symas.com>

	* intrinsic.c (cob_intr_seconds_from_formatted_time): fix bug #886

2020-08-31  Simon Sobisch <simonsobisch@gnu.org>

	* strings.c: huge performance improvements for INSPECT by splitting
	  the internal pseudo-marker "inspect mark" into separate char arrays
	  for marker and replacement: inspect_mark + inspect_repdata
	* strings.c: replace magic numbers in inspect_common to enum inspect_type

2020-08-24  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (set_config_val): only create a new trace file if we already
	  have one open before
	* common.c, coblocal.h (__cob_settings): new runtime configuration
	* termio.c (cob_dump_field, display_alnum_dump): adjusted dump output,
	  including new "ALL ZEROES"
	* termio.c (cob_dump_output, cob_dump_file): new functions
	  for adjusted codegen instead of "special directives" in
	  (cob_dump_field) with fallback for 3.1rc1
	* fileio.c, coblocal.h: extracted (cob_exit_fileio_msg_only) from
	  (cob_exit_fileio) to be called only once and before the dump
	* common.c, coblocal.h (__cob_settings): new runtime configuration
	  COB_STACKTRACE allowing to disable stracktrace creation on abort
	* common.c: also handle SIGEMT; skip module dump for SIGTERM and SIGINT

2020-08-18  Simon Sobisch <simonsobisch@gnu.org>

	rework file mapping via environment names and apply them to CBL_/C$
	* fileio.c (has_directory_separator, looks_absolute): new helpers
	* fileio.c (cob_chk_file_mapping, cob_chk_file_env): rewritten:
	  file names / parts that start with period/digit are not converted,
	  periods within the name converted to underscores to get the environment
	  variable name, empty environment names are not used, if COB_FILE_PATH
	  is set, it is always applied if the file name is neither absolute nor
	  start with -F/-D (acu-compat)
	* fileio.c (cob_open): return COB_STATUS_31_INCONSISTENT_FILENAME if it is
	  unset/empty
	* fileio.c (open_cbl_file, cob_sys_delete_file, cob_sys_copy_file,
	  cob_sys_check_file_exist, cob_sys_rename_file): CBL_ and C$ file routines
	  use common mapping rules now

2020-08-17  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (struct exit_handlerlist, cob_sys_exit_proc):
	  added priority for exit handler,
	  correct return for install_flag 2 (query) if entry not registered
	* common.c (cob_sys_exit_proc, cob_sys_error_proc):
	  fix bad free for re-entry / delete of existing exit/error handler,
	  added  ACU variant (currently deactivated)

	work on installable error handlers (per MF and ACU)
	* common.c (cob_runtime_error): remove error handler from the que before
	  calling it, effectively let error handlers re-install themselves;
	  check return code of called error handler, allowing to skip others
	  including the internal one; provide each error handler with a copy
	  of the error message (effectively CALL BY CONTENT)

2020-08-14  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: ensure that the module dump is only done once,
	  for example if a signal is trapped while dumping and that it is
	  always done on "error exit" (moved to cob_terminate_routines); store the
	  reason for the error exit as soon as possible
	* common.c (cob_stack_trace_internal): extracted from cob_dump_module
	* common.c (cob_runtime_error): always output the COBOL stack trace to
	  stderr on abort; note: the availability of the details (line + statement)
	  depends on the compiled modules (use of -fsource-location and friends)
	* common.c (cob_stack_trace), common.h: new external function to output the
	  current COBOL stack trace
	* common.c (cob_dump_module): stack trace is only output if we don't dump
	  to stderr or stdout (fixing double-output in the default scenario)
	* common.c (cob_dump_module): dump if at least one module is prepared for
	  dump, not only "dump all if the last one was prepared"
	* common.h (cob_runtime_option_switch: COB_SET_RUNTIME_DUMP_FILE),
	  common.c (cob_set_runtime_option, cob_get_runtime_option): external
	  setting for the module dump FILE *
	* common.c: ensure that stack tracing + module dumping is never done
	  recursive
	* termio.c (cob_dump_field): adjusted handling of fields with NULL address

2020-07-30  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: minimal adjustments to --info output

2020-07-26  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c (cob_screen_puts): fixed bug #665, where spaces where
	  replaced with underscores in DISPLAY.

2020-07-25  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c (cob_screen_get_all): improve number entry:
	   1. in insert mode, position cursor at rightmost integer digit upon
	      entering a field;
	   2. in insert mode, only beep at last character when no insertion is
              possible.

2020-07-20  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c (cob_screen_get_all): improve number entry:
	   1. prevent deletion, backspacing over or overwriting of decimal point;
	   2. entering decimal point jumps to character after it;
	   3. allow entry of sign;
	   4. entering sign jumps to sign;
	   5. create (hopefully) nice insert behaviour for numbers: cursor on
	      integral digits inserts to right, cursor on decimal digits inserts
	      to left.

2020-07-19  Edward Hart <edward.dan.hart@gmail.com>

	* mlio.c, common.h: added support for JSON-C as JSON handler

2020-07-17  Edward Hart <edward.dan.hart@gmail.com>

	* mlio.c, common.h: added decimal_point param to cob_xml/json_generate
	  --> changed with merge to separate function

2020-07-07  Edward Hart <edward.dan.hart@gmail.com>

	* mlio.c: fixed memory issue

2020-06-30  Simon Sobisch <simonsobisch@gnu.org>

	new functions in the C API for cob_field based access, see FR #383 FR #384
	* common.c, common.h (cob_get_param_field, cob_get_field_size,
	  cob_get_field_sign, cob_get_field_scale, cob_get_field_digits,
	  cob_get_field_constant, cob_get_field_type, explain_field_type):
	  new functions to get a cob_field or information about it
	* common.c, common.h (cob_get_field_str, cob_get_field_str_buffered):
	  new functions to get a field's value in "pretty-display" form
	* common.c, common.h (cob_put_field_str): new function to set the field's
	  data using the appropriate internal type, returns EINVAL if data is invalid
	* common.c, common.h, coblocal.h (cob_runtime_warning_external): exported
	  function, handle missing caller attribute

	* common.c, common.h (cob_get_param_str, cob_get_param_str_bufffered,
	  cob_put_field_str): string exchange functions for param based API
	* common.c, common.h (cob_getenv_direct): new function similar to cob_getenv
	  but without internal memory allocation
	* termio.c, coblocal.h: renamed display_common to cob_display_common and made
	  it internally available
	* intrinsic.c, coblocal.h: made cob_check_numval_f internally available
	* fileio.c, coblocal.h: renamed cob_srttmpfile to cob_create_tmpfile and made
	  it internally available

2020-06-26  Edward Hart <edward.dan.hart@gmail.com>

	* exception.def: split I/O exceptions into exception-io.def to control
	  exceptions for specific files (>>TURN EC-I-O file).

2020-06-26  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c (cob_fd_file_open, cob_file_open): removed duplicate code;
	  ensure that the cob_file->fd and ->file are not set if open fails set some
	  file attributes only if open works; set the cop_file->open_mode to CLOSED
	  if locking via fcntl fails
	* common.c (cob_sys_system): deactivated WEXITSTATUS for now as MicroFocus
	  doesn't do this --> may be added later with a runtime configuration
	* common.h, coblocal.h (cob_runtime_hint, cob_runtime_error,
	  cob_runtime_warning): made runtime message functions available again

2020-06-20  Ron Norman <rjn@inglenet.com>

	* common.h: add mapkey to cob_file
	* fileio.c<-fisam.c: Fix to handle old VBISAM that does not support
	  sparse indexes
	* fileio.c<-fisam.c,fbdb.c: Fix to return status 21 instead of 22
	  when OPEN OUTPUT

2020-06-20  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_sys_x91): implemented / prepared all documented MF function
	  codes for x'91' library
	  * 11+12: allow accessing debug switch along to "programmable 0-7"
	  * 13+14: allow accessing "runtime switches 1-26" (as A-Z),
	    in case of A/N/T: set related runtime setting
	  * 15: prepared for program lookup
	  * 35: prepared for DOS EXEC call
	  * 46-49: prepared for file specific setting LS_NULLS/LS_TABS
	  * 69: prepared for directory search
	* common.c (set_config_val): set switches D/N/T depending on other settings

2020-06-16  Ron Norman <rjn@inglenet.com>

	* call.c (cob_get_dbl_param, cob_put_dbl_param), common.h: new functions
	  in C API

2020-06-16  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (cob_screen_init) [HAVE_LIBPDCURSES]: fixed possible endless
	  loop when COLOR_PAIRS (an integer) extends SHRT_MAX (which seems to be
	  a PDCurses 4 CHTYPE_64 bug)

2020-06-14  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_external_addr): if size and name matches the errno
	  register -> return its address so the COBOL program may directly
	  access it - late part of FR #49
	* call.c (insert), common.c (cob_init): ignore [_WIN32] if either
	  [HAVE_CANONICALIZE_FILE_NAME] or [HAVE_REALPATH] is defined

2020-06-12  Simon Sobisch <simonsobisch@gnu.org>

	* cobgetopt.c: nearly redo the copy of GnuCOBOL's getopt implementation
	  from gnulib's 2020 version (still without: libc parts, structure,
	  more headers; undefine lock function calls, keep \n from msgids);
	  most important user change: we honor environment POSIXLY_CORRECT now
	* move.c (cob_move_display_to_binary, cob_move_binary_to_display):
	  fix runtime error (overflow in assignment) recognized with bug #384

2020-06-10  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c: define fdatasync if missing (fixing Bug #644 warning on MacOS)

2020-06-09  Simon Sobisch <simonsobisch@gnu.org>

	Bug #616 cannot redirect output of cobcrun --info
	FR #385 more details for screenio in cobcrun --info
	* cobcrun.c (get_screenio_and_mouse_info): new function,
	  extracted and extended from print_info (showing longname);
	  reasonable output for curses that isn't NCurses or PDCurses;
	  all curses calls but version info only in verbose mode
	* cobcrun.c (get_math_info): new function,
	  extracted and adjusted from print_info
	* cobcrun.c, common.h: (print_info) as delegate for
	  new (print_info_detailed) which handles verbose option

	* coblocal.h: adjusted GCC-version for definition of visibility attribute
	  COB_HIDDEN and option to disable via COB_NO_VISIBILITY_ATTRIBUTE;
	  not a solution (-> move to configure) but a workaround...

	Work on signal and call SYSTEM handling
	* common.c (get_signal_name): extracted from (cob_sig_handler)
	* common.c (cob_sys_system): don't abort if the command is too long
	  and always remove trailing space/low-value before the size check;
	  added a runtime warning if the command resulted in a signal and
	  translate the status via WEXITSTATUS if available

2020-05-16  Ron Norman <rjn@inglenet.com>

	* fileio.c<-fisam.c (restorefileposition): Fixed bug #589 with
	  READ PREVIOUS/DELETE/READ PREVIOUS when reading thru a group of
	  duplicate keys

2020-05-10  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (get_line_and_col_from_field): refactored from
	  get_line_and_col_from_num and get_cursor_from_program, now
	  containing additional handing of non-numeric group fields
	  for the position, fixing bug #632 DISPLAY/ACCEPT AT group-field
	* common.c (check_current_date): silenced char-subscript warnings
	  by casts to unsigned char

2020-04-28  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c (indexed_keydesc): always use key component definition
	  if available fixing broken 1-part "components" using wrong offset

2020-04-26  Ron Norman <rjn@inglenet.com>

	* fileio.c: For LINE SEQUENTIAL and OPEN I-O some platforms
				(SUNOS for one) require that a fflush be done
				between each read/write of the file
	  Simon 2022-02-04: for now surrounded with [READ_WRITE_NEEDS_FLUSH]

2020-04-14  Ron Norman <rjn@inglenet.com>

	* fileio.c: Fixed to NOT mix I/O to FILE * via putc and 'int fd' via write
	   'FILE *' is buffered and 'int fd' is NOT so the data
	   could end up in a very strange sequence in the file

2020-04-11  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (print_info) [mpir_version]: fixed string overflow warnings
	* numeric.c (cob_decimal_print): use of mpz_get_str in favor of gmp_sprintf

2020-04-01  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: changed "FUNCTION/USING parameter" to "FUNCTION/USING argument"
	* screenio.c: moved screen initialization from internal to external
	  called function

2020-03-16  Simon Sobisch <simonsobisch@gnu.org>

	* common.c [WITH_CISAM] (print_info): fixed bug #621 missing comma

2020-03-11  Simon Sobisch <simonsobisch@gnu.org>

	* Makefile.am: adjusted invocation of help2man, using new defines
	  HELPSOURCES and HELP2MAN_OPTS
	* Makefile.am: honor new conditional MAKE_HAS_PREREQ_ONLY

2020-03-09  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, intrinsic.c, numeric.c: FR #372 honor HAVE_GMP_H and HAVE_MPIR_H

2020-02-27  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: definition of COB_A_NORETURN for newer HPUX (__HP_cc)

2019-12-27  Ron Norman <rjn@inglenet.com>

	* common.h: added cob_file.curkey to record recent file index
	* fileio.c: cob_read_next will check for records returned with
	  a key that has all SUPPRESS character and skip the record.
	  This will handle old VBISAM which do not support key suppression.

2019-12-11  Simon Sobisch <simonsobisch@gnu.org>

	Fix Bug #608, #700
	* screenio.c (BUTTON3_DOUBLE_CLICKED): fix value for BUTTON3_DOUBLE_CLICKED
	* screenio.c (field_accept): pass mouse position on KEY_MOUSE
	* screenio.c (cob_display_formatted_text): fix early return for broken data
	* common.c (set_config_val): pass COB_MOUSE_INTERVAL changes to screenio.c

2019-11-18  Ron Norman <rjn@inglenet.com>

	* common.h, fileio.c (fextfh.c, fbdb.c): Updates to support
	   SET ... TO ADDRESS OF FH--FCD OF file     and
	   SET ... TO ADDRESS OF FH--KEYDEF OF file

2019-11-14  Ron Norman <rjn@inglenet.com>

	* common.c (get_config_val): fix for display of runtime options
	* fileio.c: If bad data in LINE SEQUENTIAL file cause error status 71
	            instead of 34

2019-10-25  Edward Hart <edward.dan.hart@gmail.com>

	* numeric.c (cob_add_int): fixed floating-point case (bug #603)

2019-10-19  Ron Norman <rjn@inglenet.com>

	* fisam.c->fileio.c (indexed_read_next): correction for START LESS EQUAL
	  followed by READ PREVIOUS
	* fbdb.c->fileio.c (indexed_open) [WITH_DB]: correction to not return 05
	  status when OPEN OUTPUT for an optional file

2019-10-15  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (pass_cursor_to_program): fixed return column being off by -1
	* screenio.c (get_cursor_from_program): fixed alphanumeric CURSOR to only
	  work for size 6

2019-10-01  Edward Hart <edward.dan.hart@gmail.com>

	* fileio.c: fixed location of definition of off_t (bug #596)

2019-09-23  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: moved alignment defines to cobc/cobc.h

2019-09-03  Ron Norman <rjn@inglenet.com>

	* call.c: Initialize valid_char when needed
	* numeric.c: Correct the definition of 'isinf'

2019-09-20  Ron Norman <rjn@inglenet.com>

	* reportio.c: Table up report for cleanup in cob_exit_reportio

2019-08-25  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c [WITH_DB]: minor refactoring - limit scope of some variables,
	  extracted (set_dbt) from (lock_record, test_record_lock)

2019-08-17  Simon Sobisch <simonsobisch@gnu.org>

	* call.c (cob_resolve_internal): refactored to keep call_entry_buff
	  and call_entry_buff2 as a local variables instead of dynamic
	  storage check + allocating + deallocating
	* common.h, call.c (cob_encode_program_id): extracted from
	  cob_resolve_internal and added explicit check for the buffer
	  size fixing bug #584; externalized for use by cobc
	* common.h: new define COB_MAX_LITERAL_LEN, with currently 256k,
	  used in cobc instead of previous LONG_MAX

2019-07-14  Simon Sobisch <simonsobisch@gnu.org>

	* system.def: added CBL_ALARM_SOUND and CBL_BELL_SOUND, both as alias
	  to cob_sys_sound_bell

2019-07-02  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_sys_oc_nanosleep): fixed by splitting get_sleep_nanoseconds
	  into an additional function get_sleep_nanoseconds_from_seconds

2019-06-30  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c: split cob_check_pos_status into handle_status and
	  pass_cursor_to_program
	* screenio.c (pass_cursor_to_program): fix bug #483
	  increment line number by one, pass actual column
	* screenio.c (get_cursor_from_program, cob_screen_get_all, field_accept):
	  fix bug #579 - use CURSOR clause in SPECIAL-NAMES also for positioning
	* screenio.c: finished approach to add mouse support via COB_MOUSE_FLAGS
	* screenio.c, common.c, coblocal.h: added COB_MOUSE_INTERVAL

2019-06-29  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c: extracted (get_accept_timeout) and removed the artificial
	  minimal limit FR #196

2019-06-23  Simon Sobisch <simonsobisch@gnu.org>

	* mlio.c, move.c, numeric.c, reportio.c, termio.c: fixed possible
	  arithmetic overflow (especially because of cast errors on x64)

2019-06-10  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (gc_conf, set_config_val, get_config_val), coblocal.h:
	  split ENV_INT to ENV_UINT (all current options) and ENV_UINT (allowing
	  a negative min_value), actually check for numeric values

2019-06-09  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c: adjustments to fix issues reported by static code analyzer

2019-06-07  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (print_runtime_conf): fixed theoretical buffer overflow for bad
	  translation ("via" translated as very long string)
	* common.h: new define MAX_FILE_KEYS (currently at 255) with main purpose
	  to limit allocation of external provided key definition

2019-05-31  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (cob_settings_screenio): moved out of COB_GEN_SCREENIO

2019-05-30  Simon Sobisch <simonsobisch@gnu.org>

	* Makefile.am (AM_CPPFLAGS): include new substituted LIBCOB_CPPFLAGS
	* Makefile.am: handle LOCAL_CJSON by adding cJSON.c to libcob's nodist
	  sources and cJSON.c + cJSON.h to DISTCLEANFILES

2019-05-26  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_runtime_hint), coblocal.h: new funtion for output additional
	  information to a warning/error directly called before, especially important
	  for (cob_runtime_error) which invokes the error handlers,
	  used for this scenario throughout common.c
	* common.c (cob_field_to_string): explicit check for field address
	* fileio.c (cob_get_filename_print), coblocal.h: new function to provide a
	  filename for output with filename, assign and possible file mapping
	* fileio.c (cob_exit_fileio), common.c (cob_fatal_error):
	  use of cob_get_filename_print
	* fileio.c (cob_delete_file): check errno after unlink/indexed_file_delete
	* reportio.c (cob_report_terminate, cob_report_generate): halt on fatal
	  error COB_EC_REPORT_INACTIVE

2019-05-19  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, mlio.c: check for WITH_XML2/WITH_CJSON before including
	  the corresponding header files as they showed to sometimes exist but
	  don't work, still ensure (for config.h not generated by configure)
	  that necessary headers are available

2019-05-13  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_fatal_error): added statement (if available) for
	  COB_FERROR_FILE
	* common.c, mlio.c: adjusted to handle HAVE_CJSON_H as an alternative
	  to HAVE_CJSON_CJSON_H

2019-05-11  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: increased COB_MAX_WORDLEN to 63 per COBOL 202x

2019-04-19  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: fixed some bad/misplaced casts to size_t
	* common.c, screenio.c: initial approach to add mouse support
	  via COB_MOUSE_FLAGS, including exception values
	* common.c, screenio.c: adjustments to COB_INSERT_MODE are taken
	  into account at runtime

2019-04-15  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c (relative_read_next): change only place that did not use
	  size_t for relsize (which should be no problem as it used cob_s64_t
	  before)
	* fileio.c: adjusted some counters to use size_t instead of casting them
	* common.c, coblocal.h (cob_min_int, cob_max_int): moved smaller helper
	  functions that were defined as both inline and extern as static inline
	  in coblocal.h

2019-04-14  Ron Norman <rjn@inglenet.com>

	* screenio.c: define ALT_DEL, ALT_LEFT, ALT_RIGHT
	  using \033 for Escape instead of \E to avoid C compiler problems

2019-04-12  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c: define PDC_NCMOUSE to use NCURSES compatible mouse api

2019-04-07  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (get_sleep_nanoseconds, internal_nanosleep): new functions;
	  moved the actual sleep code from cob_sys_oc_nanosleep and cob_sys_sleep
	  to a common place and finally allow fractions of seconds in C$SLEEP
	* common.c, common.h (cob_continue_after): new function for FR #354

2019-04-01  Ron Norman <rjn@inglenet.com>

	* fileio.c (cob_file_close): reset internal fd reference on close
	* fileio.c (relative_start): fix seek operation for "less"-conditions

2019-03-25  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (print_info): output endianess and native EBCDIC

2019-03-23  Simon Sobisch <simonsobisch@gnu.org>

	* libcob.h: removed inclusion of gmp.h
	* common.h: cob_decimal is now only used if gmp.h / mpir.h / mp.h was
	  included before libcob.h, otherwise COB_WITHOUT_DECIMAL is defined
	* mlio.c: fixed missing include stddef.h

2019-03-19  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: definition of COB_MAX_NAMELEN
	* common.c: use of COB_MAX_NAMELEN, including sanity check
	* mlio.c, numeric.c, coblocal.h: moved duplicated code from mlio.c
	  to numeric.c as separate function cob_set_field_to_uint
	* coblocal.h [COB_WITHOUT_DECIMAL]: allow inclusion without gmp header

2019-03-15  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (check_valid_dir): converted from define to inline function
	* common.c (print_stat): not-active debug function (grabbed from manpage)

2019-03-12  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (print_info): changed msgid for "file handler" and
	  already output if RTD-version of VB-ISAM is used (even if this
	  wouldn't work currently), partially after Ron Norman

2019-02-26  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: define COB_EXT_EXPORT / COB_EXT_IMPORT

2019-01-29  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, termio.c, coblocal.h: added COB_DISPLAY_PUNCH_FILE
	* common.c (cob_set_runtime_option, cob_get_runtime_option),
	  common.h (cob_runtime_option_switch):
	  added COB_SET_RUNTIME_DISPLAY_PUNCH_FILE

2019-01-27  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, mlio.c, screenio.c: fixed compiler warnings
	* common.c (print_info): fixed issues if curses is not available,
	  introduced 2019-01-22

2019-01-22  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (cob_screen_init): fix background=foreground from terminal
	* screenio.c (cob_screen_init, cob_screen_attr): explicit define and use
	  color_pair 1 as "black on black"
	* screenio.c (cob_screen_attr): fix long standing bug in use of
	  color_set (takes color_pair_number, not a COLOR_PAIR)
	* screenio.c (cob_screen_attr): extracted (cob_to_curses_color,
	  cob_get_color_pair, cob_activate_color_pair)
	* screenio.c: fix compiler warnings and correctly use chtype
	* common.c (print_info): extensive output of curses library including
	  size for chtype, wide yes/no and forced UTF-8 for PDCurses
	* common.c: use SLASH_CHAR where possible

2019-01-20  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (check_valid_env_tmpdir): unset invalid TMPDIRs to prevent
	  warning/error messages from used tools
	* common.c (print_info): added version output for libxml2 + cJSON
	* mlio.c (cob_json_generate): fix warning about use of unset var
	* mlio.c: fix warnings and issues about defines not set / set to zero

2019-01-05  Edward Hart <edward.dan.hart@gmail.com>

	* mlio.c: added JSON GENERATE.
	* common.h, common.c: replaced COB_FERROR_* #define's with
	  cob_fatal_error enum.

2019-01-03  Edward Hart <edward.dan.hart@gmail.com>

	* xml.c: renamed file to mlio.c and cob_..._xmlio to cob_..._mlio.

2019-01-01  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c: check for definition of non-portable EDEADLK before using it,
	  possibly using EDEADLOCK instead

2018-12-31  Simon Sobisch <simonsobisch@gnu.org>

	* system.def, common.h: new entry EXTFH / cob_sys_extfh
	* fileio.c (cob_sys_extfh): new function used as COBOL wrapper for
	  EXTFH entry to prevent warnings about FCD3 structure, linking issues
	  and providing additional checks
	* fileio.c (EXTFH): return file code 9/161 for different errors
	* fileio.c (EXTFH), common.h: minimal implementation for ORG_DETERMINE
	  (will only work if the same FCD was already used with the same file)
	* common.h (FCD3): adjustment to xfhfcd3.cpy
	* common.h (KDB): split KDB_KEY to separate definition

2018-12-30  Ron Norman <rjn@inglenet.com>

	* fileio.c (copy_file_to_fcd): Corrected memory allocation of EXTFH
	  data structs

2018-12-19  Ron Norman <rjn@inglenet.com>

	fixing EXTFH bug #561, part II
	* fileio.c (lineseq_write): handle EXTFH with write options not set
	* fileio.c (copy_file_to_fcd, copy_fcd_to_file): added code for
	  LINE SEQUENTIAL flags for EXTFH interface
	  *Note: deactivated until file_features are merged from rw-branch*

2018-12-13  Ron Norman <rjn@inglenet.com>

	fixing EXTFH bug #561, part I
	* fileio.c (update_file_to_fcd): adjustments for setting openMode
	* fileio.c (copy_fcd_to_file): fixed coding error if file has no keys

2018-11-25  Simon Sobisch <simonsobisch@gnu.org>

	* intrinsic.c (cob_intr_content_of): fixed unlikely case of empty *srcfield
	  not raising EC-DATA-PTR-NULL
	* intrinsic.c (cob_intr_content_length, cob_intr_content_of):
	  minor refactoring
	* intrinsic.c (decimal_places_for_seconds): changed parameter to
	  unsigned int as it is enough and keeps the same types in callers

2018-11-22  Ron Norman <rjn@inglenet.com>

	* move.c (cob_move_binary_to_binary): fixed to do truncation as required

2018-11-20  Ron Norman <rjn@inglenet.com>

	* numeric.c (cob_print_realbin): fixed to call cob_binary_get_uint64
	  for unsigned field

2018-11-11  Simon Sobisch <simonsobisch@gnu.org>

	* common.h [COB_WITHOUT_EXCEPTIONS]: allow include of libcob.h without
	  any other libcob header

2018-11-01  Simon Sobisch <simonsobisch@gnu.org>

	* common.h [COB_WITHOUT_DECIMAL]: allow include of libcob.h without
	  gmp header

2018-10-28  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (print_info): fixed missing periods in GMP/MPIR version number
	  between minor and patchlevel
	* common.c: minor refactoring - separate translate_boolean_to_int()
	* common.h [__ORANGEC__]: added to used WIN32 defines

2018-10-21  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: exchanged system-specific PTRFILLER define for FCD3 by union

2018-09-30  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c [HAVE_FCNTL]: minor code cleanup
	* common.c, common.h: new function cob_common_init to provide
	  C RTS and library setup, currently binding textdomain and
	  for [_WIN32] handling unix-lf
	* common.c, coblocal.h, cobgetopt.c: activated translated messages
	  for COBOL runtime
	* common.c, screenio.c: fixed to use constant strings for
	  static char * initialization, postpone msgid translation
	* common.c (print_runtime_conf, get_config_val, var_print):
	  adjusted output of cobcrun -runtime-conf (boolean print as yes/no now)

2018-09-22  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c [WITH_DB]: fix split key access by using the component data
	  even if there is only one

2018-09-01  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_gettmpdir): check if the specified temporary location
	  is actually an existing directory; otherwise warn and check the next
	  environment variable; added check_valid_env_tmpdir, check_valid_dir
	* common.c (output_source_location): removed extra space in warnings
	  if neither source-file nor source-line is set
	* common.c (cob_runtime_warning): allow warnings before call to
	  cob_init()
	* xml.c (set_xml_code): partially fix bug #548: don't try to set XML-CODE
	  if the module has no reference (and therefore no field) for it

2018-08-19  Simon Sobisch <simonsobisch@gnu.org>

	* xml.c [!WITH_XML2] (cob_is_valid_uri): added minimal implementation,
	  as this function is also used from within cobc
	* xml.c: explicit check for the non-standard header files instead of
	  the global WITH_XML definition
	* xml.c, common.h: fixed compiler warnings

2018-08-19  Edward Hart <edward.dan.hart@gmail.com>

	* xml.c: new file, added for XML GENERATE

2018-08-17  Simon Sobisch <simonsobisch@gnu.org>

	* coblocal.h, numeric.c (cob_decimal_init2): fixed compiler warning

2018-06-21  Brian Tiffin <btiffin@gnu.org>

	* common.h, intrinsic.c: CONTENTS-OF renamed to CONTENT-OF

2018-07-29  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: added defines for not yet implemented standard
	  I-O status values

2018-07-14  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c (get_screen_item_line_and_col): fixed bug #514, where
	  length of elementary items with a LINE clause was ignored when
	  calculating the COL of subsequent items.

2018-07-13  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_check_ref_mod): display maximum size on overflow

2018-07-04  Edward Hart <edward.dan.hart@gmail.com>

	* move.c (cob_move_display_to_edited): fixed bug #220 again; this time
	  where $ would incorrectly float before a string of +/-.

2018-06-24  Simon Sobisch <simonsobisch@gnu.org>

	* system.def: bug #527 system call x'91' *always* uses three parameters

2018-06-21  Brian Tiffin <btiffin@gnu.org>

	* common.h, intrinsic.c: Added CONTENT-LENGTH and CONTENTS-OF

2018-06-18  Ron Norman <rjn@inglenet.com>

	* fileio.c: Updates to the EXTFH logic
	   You can now actually compile using MF Visual COBOL and include the
	   GnuCOBOL libcob as follows:
	     cob -L/usr/local/lib -lcob -C "CALLFH=EXTFH"

2018-06-10  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: allow to override COB_EXPIMP, especially for allowing
	  static builds on _WIN32 via -DCOB_EXPIMP=extern

2018-05-18  Simon Sobisch <simonsobisch@gnu.org>

	* common.c [_WIN32]: only define __GMP_LIBGMP_DLL if it is not
	  defined already, allowing to use a static version by defining
	  __GMP_LIBGMP_DLL to 0
	* Makefile.am (install-data-hook): added missing $(DESTDIR), as
	  reported by Eric Gallager in bug #73

2018-05-09  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c (cob_file_open): fix for bug #520
	  check f->fd before using it to prevent SIGSEGV on OPEN OUTPUT
	* common.c (cob_sig_handler): minor format adjustment

2018-05-08  Simon Sobisch <simonsobisch@gnu.org>

	* termio.c (cob_display): cater for HAVE_POPEN
	* common.h, fileio.c [__ORANGEC__]: minor adjustments for
	  preprocessor defines
	* common.c: added OrangeC version info
	* reportio.c: removed unneeded header and defines

2018-04-16  Luke Smith <cobcoder@users.sourceforge.net>

	* screenio.c:
	   - HOME and END toggle on current column.
	   - Backspace beep column 1.

2018-04-10  Luke Smith <cobcoder@users.sourceforge.net>

	* screenio.c:
	   - replace Alt-Home and Alt-End with toggle functions
	   - fix Insert key at column 1
	   - fix other alt keys

2018-04-10  Simon Sobisch <simonsobisch@gnu.org>

	* reportio.c [_WIN32]: fix redefinition of lseek

2018-04-03  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (cob_screen_init): fix definition of alt keys
	  when function keys have negative values

2018-04-02  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_sys_getopt_long_long): fixed free of changed pointer
	* move.c (cob_put_u64_compx, cob_put_s64_compx) [!WORDS_BIGENDIAN]:
	  fixed definition of unused variable
	* common.c (cob_gettmpdir): check if environment variables for TEMP
	  points to usable directory before using it (fallback to ".")
	* common.c (cob_init_nomain) [HAVE_READLINK]: fixed strcpy of
	  unterminated return from (readlink)
	* common.c, reportio.c, termio.c: changed occurrences of strcpy
	  to strncpy to prevent possible buffer overflows
	* common.h: moved definition of COB_MAX_SUBSCRIPTS from cobc/tree.h
	* termio.c (cob_dump_field): allow longer field names and
	  number/high values of subscripts
	* initrinsic.c (numval, cob_intr_locale_compare): fixed missing free
	  in cases of input errors
	* fileio (cob_fd_file_open): directly set f->fd after open to prevent
	  possible ressource leaks with file status != 0
	* fileio (cob_file_free): check pointer before dereferencing it

2018-04-01  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (cob_screen_init): escape backslash in key definitions

2018-03-31  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (set_cob_time_from_local_time): new function called on
	  all systems, including code for computing UTC offset (with correct
	  sign)
	* common.c (cob_get_current_date_and_time) [_WIN32]: no longer need
	  to force of date re-calculation as we always use localtime now

2018-03-29  Simon Sobisch <simonsobisch@gnu.org>

	* termio.c (cob_display): added missing handling of cob_unix_lf
	* common.c (set_cob_time_offset): recreated for use on all systems,
	  moved code for computation of UTC there, including adjustment by
	  daylight saving time (which was missing from _WIN32 until now),
	  set unknown offset in the unlikely case that computation of
	  UTC offset does not work

2018-03-21  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (cob_convert_key): define ALT_DEL, ALT_HOME, ALT_END,
	  ALT_LEFT, ALT_RIGHT if they aren't defined already and map the
	  keys that were previously converted to use these defines,
	  also fixes accepting these keys in all curses implementations
	  that define these keys directly
	* screenio.c (cob_screen_init): fix for bug #503 - based on work of
	  Luke Smith
	  add the PDCurses ALT key constants where not available instead of
	  using the version-dependent numeric values, if possible using
	  define_key to do this directly (if not this must be done be the users
	  terminal setting)

2018-03-18  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (field_accept): fixed bug #498 and ignore
	  COB_INSERT_MODE for fields with size 1

2018-03-17  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c, common.h: fixed bug #500 CBL_READ_KBD_CHAR not
	  returning a value and characters being shown instead of hidden
	* screenio.c: added missing screenio initializations in external
	  library routines

2018-03-13  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: added Tiny C version info
	* termio.c: renamed (clean_nan) to (clean_double) and let it
	  remove the leading zero from the exponent

2018-03-11  Ron Norman <rjn@inglenet.com>

	* common.c: Compute UTC without strftime and adjust for
	  daylight savings time, removed (set_unknown_offset)

2017-03-08  Ron Norman <rjn@inglenet.com>

	* termio.c: standardize DISPLAY of NaN (Not A Number)

2018-02-25  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, coblocal.h (cob_get_dump_file): export for internal
	  call, only use trace file if dump file cannot be opened
	* termio.c (cob_dump_field): removed trailing spaces for group
	  items, get trace file from (cob_get_dump_file)
	* common.c, coblocal.h (cob_runtime_warning_external): new function
	* call.c: warnings centralized, msgids changed

2018-02-23  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: cater for empty module_sources

2018-02-16  Simon Sobisch <simonsobisch@gnu.org>

	* reportio.c: adjusted runtime error messages

2018-02-12  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, coblocal.h: removed external_display_print_file as
	  cob_display_print_file is always external
	* common.c (cob_open_logfile): moved log file opening handling
	  code from cob_check_trace_file to new static function
	* common.c (cob_debug_open): refactored, allowed debug log to be
	  opened in append mode
	* common.c [COB_DEBUG_LOG]: fixed issues when debug log has same
	  name as trace file, fixed missing free of cob_debug_file_name

2018-02-09  Simon Sobisch <simonsobisch@gnu.org>

	* common.c [!COB_DEBUG_LOG]: adjusted handling of COB_DEBUG_LOG to
	  minimize active code while still raise a warning (instead of an
	  error)

2018-01-31  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: change all typedef struct/union to be named using
	  the same name schema
	* common.c (explain_field_type): new function,
	  used texts may be tweaked later
	* common.c (cob_check_numeric): set COB_EC_DATA_INCOMPATIBLE if
	  applicable and use only printable representation int the error
	  message for numeric items that are actually printable,
	  otherwise use hex representation

2018-01-28  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (valid_field_data): bug #491 allow numeric edited
	  fields to contain all spaces, internally seen as zero

2018-01-23  Ron Norman <rjn@inglenet.com>

	* termio.c: standardize display of -NaN and NaN for float/double

2018-01-03  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c [WIN32]: fix missing definition of isnan / isinf

2017-12-31  Ron Norman <rjn@inglenet.com>

	* fileio.c (cob_rewrite): BDB fix to allocation record area for
	  max record size
	* common.c (cob_dump_module): flush stderr/stdout to get display output
	  before dump

2017-12-27  Simon Sobisch <simonsobisch@gnu.org>

	* intrinsic.c (cob_mod_or_rem): fix bug #485 don't raise
	  EC-SIZE-ZERO-DIVIDE but EC-ARGUMENT-FUNCTION

2017-12-26  Ron Norman <rjn@inglenet.com>

	* numeric.c: Fix bug #122 COMP-1 / FLOAT-SHORT + COMP-2 / FLOAT-LONG
	  to check of overflow and set SIZE ERROR condition when requested

2017-12-25  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_check_trace_file): FR #242 allow trace file to be
	  appended by starting COB_TRACE_FILE with "+"
	* common.c: changes to new tracing: distinguish between function and
	  program, trailing output is not fixed-width, only use specified spacing
	* common.c (cob_trace_prep, ): distinguish between function and program
	* common.c (set_config_val): FR #242 allow COB_TRACE_FILE
	  (and COB_CURRENT_DATE) to be changed at runtime (currently untested!)

2017-12-23  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c (cob_decimal_get_field): fix bug #223 don't raise
	  EC-SIZE-OVERFLOW when EC-SIZE-ZERO-DIVIDE is active

2017-12-22  Ron Norman <rjn@inglenet.com>

	* numeric.c: fixes for FLOAT-DECIMAL-16/34 data types to raise
	  SIZE ERROR condition when out of bounds

2017-12-21  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, termio.c, coblocal.h: renamed setting COBPRINTER to
	  COB_DISPLAY_PRINT_PIPE (with keeping an alias of COBPRINTER) and
	  COB_DISPLAY_PRINTER to COB_DISPLAY_PRINT_FILE
	* common.c (cob_set_runtime_option, cob_get_runtime_option), common.h:
	  use enum cob_runtime_option_switch instead of anonymous int with
	  possible values as defines

2017-12-21  Ron Norman <rjn@inglenet.com>

	* common.h: add code_is_present flag to cob_report structure
	* reportio.c: output CODE value as fixed length field
	              (do not trim trailing spaces)

2017-12-20  Ron Norman <rjn@inglenet.com>

	* common.h: add code_is, code_len to cob_report structure
	* reportio.c: output CODE value and chop lines based on
	              PAGE LIMIT nnn COLUMNS
	* numeric.c (cob_decimal_get_ieee64dec): Fix coding error
	* numeric.c: Tidy up the cob_decimal_get/set routines
	* numeric.c (cob_decimal_get_ieee64dec, cob_decimal_get_ieee128dec):
	  adjust the scale until the number is within the allowed max number of
	  digits so only if the scale is out of bounds will you get an OVERFLOW
	  and then ON SIZE ERROR

2017-12-17  Simon Sobisch <simonsobisch@gnu.org>

	* strings.c, common.c, coblocal.h: cob_init_strings gets and stores
	  cob_global * as all other sources do
	* call.c, common.c, fileio.c, intrinsic.c, strings.c: directly set internal
	  cobglobptr->cob_exception_code = 0 instead of using cob_set_exception,
	  fixing bug #196
	* common.c (cob_get_exception_name), coblocal.h: renamed
	  cob_get_exception_code / cob_get_exception_name to
	  cob_get_last exception_code / cob_get_last_exception_name
	* common.c (cob_last_exception_is), common.h: new function to check if a
	  specific error group/value is set
	* common.c (cob_field_to_string): check if field has data assigned
	* common.c (cob_runtime_error): ensure that registered error handlers
	  aren't called recursive and don't change error location
	* common.c (cob_fatal_error): added COB_STATUS_31_INCONSISTENT_FILENAME
	  and check that ASSIGN field has a value before using it

2017-12-16  Ron Norman <rjn@inglenet.com>

	* numeric.c (cob_decimal_get_ieee64dec): fix bug #470 (coding error)

2017-12-10  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c: adjustments after merge of split/sparse keys from rw-branch

2017-12-06  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, common.h, reportio.c: minor adjustments after merge
	  of reportwriter branch
	* coblocal.h, common.h: moved declarations for COB_DEBUG_LOG to common.h
	  and set to COB_HIDDEN instead of COB_EXTERN
	* common.c, coblocal.h: disabled all parts of internal debug log
	  if COB_DEBUG_LOG is not defined

2017-12-04  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_sys_system) [_WIN32]: FR #153 workaround for CALL 'SYSTEM'
	  on buggy Woe32 which removes first and last quote from command

2017-11-28  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_get_current_date_and_time_from_os)[!_WIN32]: fixed #469
	  ACCEPT FROM DAY being one too low

2017-11-15  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, common.h, coblocal.h, call.c: added (cob_init_nomain) to start
	  runtime initialization without setting the main handle (saves time on
	  each function lookup)
	* call.c [COB_BORKED_DLOPEN]: no processing of mainhandle

2017-11-07  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, common.h, coblocal.h: added COB_SET_DEBUG as cob_debugging_mode
	  in local settings / global pointer
	* common.c, coblocal.h: added internal configuration status option ENV_RESETS
	  for "needs additional code on change"
	* common.c: added ENV_RESETS to COB_SET_DEBUG changing the externalized value
	  in cobglobtr when setting changes during runtime

2017-11-05  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: suppress C statement not reached warnings for Solaris C,
	  see bug #456

2017-11-02  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c: fixed bug #457 explicit check for error after all put/write
	  calls (calls to put were completely unchecked before) and raise correct
	  fileio status (especially 34 for disk/quota full) instead of status 30

2017-10-24  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: changed message format back to old version, see bug #455

2017-10-22  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_sys_fork): bug #451 reset cob_process_id after fork
	* Makefile.am: moved include of top_srcdir to AM_CPPFLAGS to prevent
	  user-specified CPPFLAGS to override own includes, see bug #452
	* common.c, common.h: minimal support for DJGGP,
	  including generation of 8.3 filenames

2017-10-17  Ron Norman <rjn@inglenet.com>

	* common.h: add flag_debug_trace to the cob_module
	* common.c: check flag_debug_trace to verify module
	  was compiled with --debug and/or -ftrace[all] and only
	  record trace information if compiled with the option

2017-10-11  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_check_ref_mod): bug #446 splitted checks for length and
	  combination of offset and length
	* common.c (cob_external_addr): bug #445 added suppressible warning for
	  EXTERNAL data items that are requested with a smaller size than allocated
	* common.c (cob_check_version): FR #239: allow difference in module version
	  vs. runtime version
	FR #239 - adjustments for changed function signatures between 2.0-rc and 2.3:
	* common.c (cob_check_odo): adjustments for changed function signature
	* common.c (cob_check_subscript, cob_check_version): don't check subscript
	  max if at least one module is too old for the current function signature

2017-09-28  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c (cob_screen_get_all): changed backspace to emit beep if
	  entered at start of field, not to act like back-tab (bug #426).

2017-09-21  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_sig_handler, cob_set_signal): added code for SIGFPE
	  in correspondence to SIGHUP code (+ additional error message);
	  set LCOV_EXCL markers for most of the signal handling

2017-09-18  Ron Norman <rjn@inglenet.com>

	* fileio.c: Check if file ASSIGN field has NULL address and report a
	  runtime error and return status 31

2017-09-16  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c (field_display): implemented DISPLAY ALL "blah" WITH SIZE
	  (bug #428).

2017-09-10  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c (field_display, field_accept): fixed SIZE not working if it
	  was less than the item's length (bug #423).
	* screenio.c: fixed naming style.

2017-09-04  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (cob_screen_get_all, field_accept): beep instead of
	  wrong-casting characters we currently can't store
	* screenio.c (field_accept): beep on insert if field is already full
	* screenio.c (cob_screen_init): set cursor depending on insert mode
	  to vertical bar cursor (on) or square cursor (off)
	* screenio.c (cob_screen_get_all): fix for handling BACKSPACE,
	  added handling for DELETE and INSERT keys and COB_INSERT_MODE

2017-08-29  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_init)[_WIN32]: only use GetUsername if HAVE_GETUSERNAME
	  is defined (for example in config.h)

2017-08-27  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: moved code to cleanup modules to cob_exit_common_modules
	  and do this only once (after exit handler calls, before call cleanup)

2017-08-26  Ron Norman <rjn@inglenet.com>

	* common.c: Free the structs used to track modules on STOP RUN

2017-08-18  Ron Norman <rjn@inglenet.com>

	* common.c: Keep list of all active modules for later free of
	            memory allocated for decimal constants
	* common.c: cob_stop_run issue callbacks to free any decimal memory
	* common.c: cob_module_enter check for Recursive CALL used in the
	            wrong place. Add cob_module_global_enter routine.
	* common.h: Add cob_module_global_enter routine.
	            Add cob_stmt_exception to cob_global, used to indicate
	            the previous statment has ON EXCEPTION clause.

2017-08-15  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_tidy): don't exit if runtime isn't initialized yet

2017-08-13  Simon Sobisch <simonsobisch@gnu.org>

	* call.c, common.c, fileio.c, intrinsic.c, screenio.c:
	  surrounded code parts that cannot be tested by LCOV_EXCP markers

2017-08-12  Ron Norman <rjn@inglenet.com>

	* common.c: cob_stop_run issue callbacks to free any decimal memory
	* common.c: avoid infinite loop walking COB_MODULE list when RECURSIVE
	            modules are being used

2017-08-08  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: common.h [_MSC_VER]: moved setenv hack to inline function
	* common.c, common.h: new environment functions cob_setenv cob_unsetenv
	* common.h, coblocal.h: moved declaration of cob_strdup to allow it
	  to be called like the other memory functions

2017-08-06  Ron Norman <rjn@inglenet.com>

	* fileio.c (cob_file_external_addr): fixed bug #404, where the
	  cob_file_key for a RELATIVE file was not allocated.

2017-07-21  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c: moved cob_sys_get_char and added parts for !COB_GEN_SCREENIO

2017-07-20  Simon Sobisch <simonsobisch@gnu.org>

	* common.h [__MINGW32__]: added missing defines

2017-07-18  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: increased MAX_FD_RECORD to 64MB and introduced
	  MAX_FD_RECORD_IDX with the old 64KB limit

2017-07-16  Edward Hart <edward.dan.hart@gmail.com>

	* exception.def: update to COBOL 2014 and added finalizer exception.

2017-07-12  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c: checked the now optional sort-return before accessing it

2017-07-07  Edward Hart <edward.dan.hart@gmail.com>

	* common.h (COB_REPORT_*): prevent undefined behaviour caused by 1 << 31
	  and fixed typos.

2017-06-16  Simon Sobisch <simonsobisch@gnu.org>

	* Makefile.am: added CODE_COVERAGE parts as provided by AX_CODE_COVERAGE
	* general: surrounded exception ABORTs that cannot be tested by
	  LCOV_EXCP markers

2017-06-04  Ron Norman <rjn@inglenet.com>

	* common.c: Improved 'cobcrun -r' display for when
	  unsetenv is used in runtime.cfg to show environment variable
	  was removed and runtime.cfg variable was then present

2017-05-31  Ron Norman <rjn@inglenet.com>

	* fileio.c (indexed_open) [WITH_DB]: if the first record in the file
	  has a size larger than the FD has defined then return status 39

2017-05-26  Simon Sobisch <simonsobisch@gnu.org>

	* system.def: replaced misleading name C$PRINTABLE (OC-extension,
	  not a C$ -> ACUCOBOL extension!) by CBL_GC_PRINTABLE (old name
	  still supported for legacy reasons)

2017-05-24  Edward Hart <edward.dan.hart@gmail.com>

	* common.c: fixed minor style issues, mostly missing spaces around
	  operators.

2017-05-22  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: renamed cob_get_current_date_and_time to
	  cob_get_current_date_and_time_from_os
	* common.c, coblocal.c: store datetime from COB_CURRENT_DATE as
	  cob_time and check for this in cob_get_current_date_and_time
	  instead of in every function
	* common.c: allow partial replace of datetime (including offset only)
	  by COB_CURRENT_DATE

2017-05-22  Ron Norman <rjn@inglenet.com>

	* termio.c (pretty_display_numeric):  handle
	  SIGN_SEPARATE  TRAILING & LEADING

2017-05-18  Simon Sobisch <simonsobisch@gnu.org>

	* system.def: added maximum call parameters for system library calls

2017-05-14  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c: correctly update file status for DELETE FILE statement
	  (we always returned 00 until now)
	* fileio.c:

2017-05-13  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (cob_move): return the status returned by (move)
	* screenio.c: FR #191 only set flag pending_accept when cob_move
	  returns no error

2017-05-12  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_sys_oc_nanosleep): prefer HAVE_NANO_SLEEP over _WIN32

2017-05-11  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (screen_display): FR #191 set flag pending_accept
	  for DISPLAY screen, too

2017-05-01  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_sig_handler, cob_set_signal): added code for SIGBUS
	  in correspondence to SIGSEGV code

2017-04-28  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (set_value, get_value): using correcting format modifier
	  for cob_s64_t (CB_FMT_LLD)

2017-04-27  Sergey Kashyrin <ska@kiska.net>

	* common.c (set_value, get_value): changed type long to cob_s64_t
	  as SORT was broken on Windows

2017-04-23  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: always use COB_KEYWORD_INLINE (set by configure)
	  for COB_INLINE

2017-04-19  Ron Norman <rjn@inglenet.com>

	* fileio.c (indexed_read) [WITH_DB]: check that the size of a record read
	  is not larger than what the FD has defined, return status 43 to the READ.
	* fileio.c: for the callable EXTFH interface, set f->file_version
	  to COB_FILE_VERSION

2017-04-18  Ron Norman <rjn@inglenet.com>

	* numeric.c, common.c, coblocal.h: define ISFINITE depending on
	  HAVE_ISFINITE to either use 'isfinite' or 'finite' or '_finite'

2017-04-10  Ron Norman <rjn@inglenet.com>

	* move.c, call.c, common.h: C-API
	  Changed 'len' variables from 'int' to 'size_t' in cob_get_picx,
	  cob_put_picx, cob_get_picx_param, cob_get_grp_param, cob_put_grp_param

2017-04-10  Brian Tiffin <btiffin@gnu.org>

	* common.c, common.h: remove cob_get_prog_pointer in preference to
	  cob_get_pointer.

2017-04-08  Edward Hart <edward.dan.hart@gmail.com>

	* intrinsic.c (in_last_n_chars): fixed underflow when field->size was
	  less than n, ultimately causing an invalid read.
	* fileio.c (indexed_open): fixed minor memory leak.

2017-03-31  Edward Hart <edward.dan.hart@gmail.com>

	* intrinsic.c: fixed minor buffer overflows in the formatted-date
	  functions (see bug #357).

2017-03-19  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_chain_setup): only set field's value if given on
	  command line, preserve program internal initialization otherwise

2017-03-18  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_module_enter): set cob_call_params from argc
	  for main programs
	* common.c (cob_chain_setup): don't set cob_call_params any more
	* common.c [_MSC_VER] (cob_get_current_date_and_time):
	  silence wrong warning 6011

2017-03-12  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: fix minor memory leaks in configuration code

2017-02-07  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c: [!COB_GEN_SCREENIO] fixed zero_line_col_allowed
	  missing / superfluous in function declarations

2017-02-06  Ron Norman <rjn@inglenet.com>

	* common.c, common.h:
	  added cob_module_free so that structure gets freed within libcob
	* fileio.c, common.h:
	  Added new routines cob_file_external_addr, cob_file_malloc, cob_file_free
	  so that 'cob_file' is allocated within libcob.
	  This will allow the stucture have fields added to the end
	  without forcing a recompile.

2017-02-05  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, common.h, call.c: [__MINGW32__] fixes for mixed printf
	  format modifiers for long long
	* common.c: [WIN32] check if PROCESS_QUERY_LIMITED_INFORMATION is
	  actually defined (not the case for MINGW and old VC versions)

2017-02-01  Ron Norman <rjn@inglenet.com>

	* common.c, common.h:
	  Corrections to routines for handling -ftrace, -ftraceall & -fdump=ALL

2017-01-30  Ron Norman <rjn@inglenet.com>

	* termio.c: for -fdump=ALL,IO; Dump FILE STATUS value

2017-01-25  Ron Norman <rjn@inglenet.com>

	* common.c, common.h, coblocal.h, termio.c:
	  New routines for handling -ftrace, -ftraceall & -fdump=<scope>
	  -fdump=<scope> causes code to be generated that will dump out data
	  variables in the event of a program abort or abnormal end
	  New runtime.cfg/env-vars:
	      COB_DUMP_FILE, COB_DUMP_FORMAT, COB_DUMP_WIDTH
	  The old trace routines have been kept for backward compatible

2017-01-18  Ron Norman <rjn@inglenet.com>

	* call.c (cob_get_param_type): added check for COB_FIELD_REAL_BINARY

2017-01-17  Ron Norman <rjn@inglenet.com>

	* call.c: added code to handle default data field types by using cob_move
	* move.c: added missing cob_put_s64_compx routine

2017-01-10  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: Copyright year 2017

2017-01-10  Ron Norman <rjn@inglenet.com>

	* move.c, call.c, common.h: New routines added to provide
	  application C code access to COBOL data fields.

2017-01-09  Simon Sobisch <simonsobisch@gnu.org>

	* common.h, common.c (cob_check_subscript): corrected minimum check

2017-01-05  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (field_accept): don't write anything on the screen for
	  ACCEPT OMITTED

2017-01-02  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, common.h: new exported function cob_raise to raise a signal,
	  running both external and internal signal handlers
	* termio.c (cob_accept_field): handle input code of ctrl-C as termination
	  command and cob_stop_run with 128 + 2 (fatal error 2)
	* coblocal.h, common.h: move (cob_get_current_date_and_time) and
	  its data definition cob_time from coblocal.h to common.h
	* common.c [_MSC_VER]: moved initialization of function pointer to
	  (get_function_ptr_for_precise_time), for call in
	  (cob_get_current_date_and_time)
	* common.h: extended cob_time with is_daylight_saving_time and day_of_year
	* common.c [_BSD_SOURCE]: get utc_offset directly from tm_gmtoff

2017-01-01  Ron Norman <rjn@inglenet.com>

	* fileio.c (cob_read_next): change to return 46 on 2nd read on an optional
	  missing file, removed some redundant code
	* fileio.c [WITH_DB]: moved call to join_environment to indexed_open

2016-12-30  Ron Norman <rjn@inglenet.com>

	* fileio.c: [WITH_DB] fixed BDB locking issues by closing BDB cursor as
	  soon/often as possible as the BDB cursor seems to create some internal
	  locks

2016-12-27  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: added COB_MAX_UNBOUNDED_SIZE
	* common.c (cob_allocate): check for COB_EC_STORAGE_IMP
	  returned when requested to allocate more than the maximum possible size
	* common.h, common.c (cob_check_odo, cob_check_subscript): additional
	  parameters for table name in DEPENDING ON and flag for ODO, additional
	  runtime error line with the (current) maximum of the table

2016-12-26  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c, common.h: C interface addons including FR #187:
	  typedef cobchar_t, (cob_set_cursor_pos) / cobmove to set cursor position,
	  (cob_display_text) / cobaddstrc to display text at current cursor pos.,
	  (cob_display_formatted_text) / cobprintf to printf to current cursor
	  position, (cob_get_char) / cobgetch to get a single character or
	  function key, (cob_get_text) to get a text input and function keys with
	  a given size from current cursor position
	* screenio.c, common.h, system.def: added system routine
	  CBL_PUT_SCR_POS / cob_sys_put_scr_pos to set the cursor position
	  and for compatibility: CBL_READ_KBD_CHAR / cob_sys_get_char to get
	  a single character (better use ACCEPT one-byte-var)
	* common.c, common.h, coblocal.h, screenio.c: FR #191 added runtime
	  configuration COB_EXIT_WAIT and COB_EXIT_MSG for waiting if
	  extended ACCEPT after last extended DISPLAY (if any) is missing

2016-12-24  Ron Norman <rjn@inglenet.com>

	* fileio.c [WITH_DB]: reordered struct indexed_file, adding file_lock_set
	  and use it to fix multiple unlocking
	* fileio.c [WITH_DB]: extracted bdb_open_cursor, bdb_close_cursor,
	  bdb_close_index, lock_file
	* fileio.c [WITH_DB]: added code for BDB < 4.6

2016-12-23  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (field_accept): changes for ACCEPT OMITTED:
	  return COB-SCR-KEY-LEFT and COB-SCR-KEY-RIGHT, additional return
	  the new keycodes COB-SCR-INSERT, COB-SCR-DELETE, COB-SCR-BACKSPACE,
	  COB-SCR-KEY-HOME, COB-SCR-KEY-END (*only* for ACCEPT OMITTED!)

2016-12-22  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c: include isconfig.h (if not available define DISAM_NO_ISCONFIG)
	  and don't use isstat1/isstat2 if not available

2016-12-20  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: added compatibility define for cobclear and corrected
	  cobrescanenv to always return zero.

2016-12-18  Ron Norman <rjn@inglenet.com>

	* fileio.c (lock_record, test_record_lock): initialize DBT structure
	  before using it to prevent memory corruption

2016-12-08  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (print_info): FR #169 output exact versions of GMP/MPIR and
	  BDB that were used for building libcob and the versions that are in
	  the loaded libraries if they differ, add output of curses_version()
	* common.c (var_print): fixed empty/zero string

2016-12-05  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, coblocal.h (cob_strcat): fixing minor memory leak by adding a
	  third parameter which should be set if the result is assigned to one of
	  the original strings

2016-11-19  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_sys_fork, cob_sys_waitpid): don't abort if necessary
	  functions aren't available on the sysytem or fail, return -1 or
	  the system specific error code instead
	* common.c (cob_sys_waitpid): added [_WIN32] implementation

2016-11-17  Ron Norman <rjn@inglenet.com>

	* common.c, common.h, system.def: added cob_sys_fork for CBL_GC_FORK
	  (fork a new COBOL process) and cob_sys_waitpid for CBL_GC_WAITPID
	  (wait for completion of another process)
	* system.def: Add CBL_GC_xxx as alias for CBL_OC_xxx

2016-11-13  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, coblocal.h, fileio.c: moved common code parts of fileio.c as
	  function (cob_runtime_warning) to common.c ;
	  reformatted message and include source location, if known
	* call.c (cob_call_field): warn and remove leading spaces for CALL

2016-10-31  Simon Sobisch <simonsobisch@gnu.org>

	* call.c (cob_call): fr #101 - allow more parameters for CALL:
	  renamed COB_MAX_FIELD_PARAMS to MAX_CALL_FIELD_PARAMS (set in configure),
	  allowed additional options 192 and 252, new default: 192

2016-10-29  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: check "COB_UNIX_LF" before error COB_FERROR_INITIALIZED

2016-10-27  Simon Sobisch <simonsobisch@gnu.org>

	* fileio.c: added COB_UNUSED() for parameters of indexed file functions
	  when configured --without-db

2016-10-15  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: re-fixed COB_ONCE for MSC
	* system.def: replaced octal by hex strings for hex-system routines

2016-11-07  Ron Norman <rjn@inglenet.com>

	* move.c, common.h: added cob_move_ibm function for 'move-ibm'

2016-10-13  Ron Norman <rjn@inglenet.com>

	* numeric.c, common.h: added cob_decimal_align function for 'arithemtic-osvs'

2016-10-02  Ron Norman <rjn@inglenet.com>

	* common.c: report time in COB_DEBUG_LOG for performance test
	* reportio.c: fixed scan for changed fields to be faster

2016-10-02  Edward Hart <edward.dan.hart@gmail.com>

	* common.h: added cob_flags_t typedef for variables made of bit flags.

2016-09-19  Ron Norman <rjn@inglenet.com>

	* numeric.c: added cob_decimal_clear

2016-08-24  Edward Hart <edward.dan.hart@gmail.com>

	* common.c (cob_get_current_date_and_time): fixed bug where milliseconds
	  where confused with nanoseconds.

2016-08-20  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, common.h: new routine (cob_is_initialized)
	* common.c (cob_module_enter): activated storing module call parameters
	  on module entry

2016-08-16  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c (field_accept): fixed bug #300 (segfault on screen ACCEPT
	  OMITTED).

2016-08-01  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_runtime_error): reversed the prefix from runtime errors,
	  always starts with "libcob: " now
	* common.c (cob_get_strerror): own reentrant version of strerror
	* common.c (cob_load_config_file): use cob_get_strerror instead of
	  a guessed error message

2016-07-31  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_reg_sighnd): call cob_set_signal() if not done already

2016-07-29  Simon Sobisch <simonsobisch@gnu.org>

	* coblocal.h: changed types in config_tbl to unsigned (compiler warnings)
	* common.h [_MSC_VER]: added definitions for COB_NOINLINE, COB_A_INLINE

2016-07-17  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c: added support for LINE/COL 0.
	* screenio.c: fixed small issues with DISPLAY ALL X"02" and X"07".

2016-06-26  Simon Sobisch <simonsobisch@gnu.org>

	* common.h, coblocal.h: moved internal functions to coblocal as COB_HIDDEN
	* common.h: added COB_EXPIMP to cob_set_exception
	* common.c, coblocal.h: #ifdef 0 for unused helper functions
	  cob_int_to_string and cob_int_to_formatted_bytestring

2016-06-26  Edward Hart <edward.dan.hart@gmail.com>

	* common.c, common.h, move.c, string.c: moved cob_max_int and cob_min_int
	  to common.c.

2016-06-26  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, common.h: minor fixes for compatibility to VC2005

2016-06-20  Ron Norman <rjn@inglenet.com>

	* common.h: added some COB_CHAR_xxx to define some characters
	* fileio.c: for LINE SEQUENTIAL files with COB_LS_VALIDATE = true
	    changed bad data error from 30 to 34
	    Also allow some characters thru such as BS, FF, TAB, ESC, SI
	    No data validation is done for LINE ADVANCING output files

	* coblocal.h, common.c: FR #138 identify config variables which accept
	  a path list and any which only accept a single directory/file
	  are checked for the PATH_SEP character and error is given if
	  that has been used by mistake. Example:

	  Invalid value '/temp:/tmp' for configuration tag 'COB_TRACE_FILE';
	       should not contain ':'

2016-06-18  Simon Sobisch <simonsobisch@gnu.org>

	* general: revised all message strings
	* screenio.c: added (cob_get_scr_cols) and (cob_get_scr_lines) for
	  providing the C interface with the current COBOL screen cols/lines
	* common.h: FR #145: added defines for cobcols, coblines and cobrescanenv
	* common.c, common.h: FR #126: renamed (runtime_env) to (runtime_conf)

2016-05-27  Edward Hart <edward.dan.hart@gmail.com>

	* move.c (cob_move_display_to_edited): fixed bug #220 - fixed insertion
	  which float are now distinguished from those which don't.

2016-05-22  Edward Hart <edward.dan.hart@gmail.com>

	* common.h, move.c, termio.c: replaced PICTURE strings containing packed
	  ints with array of (cob_pic_symbol) structs which are easier to use.

2016-05-01  Ron Norman <rjn@inglenet.com>

	* common.c fixed incorrect reporting of error for undefined environment variables

2016-04-26  Brian Tiffin <btiffin@gnu.org>

	* common.c, common.h: Re-fixed CBL_OC_HOSTED tzname, timezone, daylight
	  for VC2013 names.

2016-04-25  Brian Tiffin <btiffin@gnu.org>

	* common.c: Fixed CBL_OC_HOSTED tzname, timezone, daylight for WIN32 names.

2016-04-23  Brian Tiffin <btiffin@gnu.org>

	* common.h, numeric.c: 64bit unsigned treated as signed when long int
	  same size as long long.

2016-04-22  Ron Norman <rjn@inglenet.com>

	* common.h, reportio.c: support features of an IBM REPORT WRITER
	  PRESENT AFTER & ABSENT AFTER

2016-04-06  Brian Tiffin <btiffin@gnu.org>

	* common.c: Updated CBL_OC_HOSTED with tzname, timezone, daylight.

2016-03-29  Edward Hart <edward.dan.hart@gmail.com>

	* common.c (cob_set_exception), common.h, coblocal.h: made cob_set_
	  exception a public function for SET LAST EXCEPTION TO OFF. Also made
	  argument of 0 reset all exception information.

2016-03-28  Brian Tiffin <btiffin@gnu.org>

	* common.c, common.h, system.def: Added CBL_OC_HOSTED
	  feature-request #49.

2016-03-23  Edward Hart <edward.dan.hart@gmail.com>

	* intrinsic.c (numval): added missing NUMVAL-C-specific code I missed in
	  r793, causing bug #218.

2016-03-21  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_set_location, cob_trace_section, cob_exit_common): fix for
	  bug #216 - store a duplicate of cob_last_sfile for tracing, free on exit

2016-03-15  Ron Norman <rjn@inglenet.com>

	* common.c: display COB_PRE_LOAD as set and as evaluated
	* call.c: clear COB_PRE_LOAD value before evaluating

2016-03-13  Simon Sobisch <simonsobisch@gnu.org>

	* intrinsic.c (locale_time): consolidation still used sizeof(buff) after
	  buff changed from char [] to char *, fixed by introducing LOCTIME_BUFSIZE
	* intrinsic.c (cob_intr_lcl_time_from_secs) re-added missing exception

2016-03-12  Edward Hart <edward.dan.hart@gmail.com>

	* intrinsic.c: consolidated copy-and-pasted code in numerous functions,
	  including: SUBSTITUTE(-CASE), NUMVAL(-C), VARIANCE and
	  LOCALE-TIME(-FROM-SECONDS).
	* intrinsic.c: renamed "xqtyear" variables to "current_year".

2016-03-07  Ron Norman <rjn@inglenet.com>

	* fileio.c: fixed EXTFH to save/restore 'opts' value for some
	  READ/WRITE operations. Without this it was not writing LF
	  at end of line sequential records

2016-02-21  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (set_config_val): removed use of cob_strcat for output of
	  possible values

2016-02-17  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c (set_default_line_column): fixed bug #202 where screens
	  were displayed at the cursor position when no LINE or COL was given.

2016-02-01  Ron Norman <rjn@inglenet.com>

	* fileio.c: fixed to call cob_set_exception for the EXTFH interface

2016-01-31  Simon Sobisch <simonsobisch@gnu.org>

	* intrinsic.c (split_around_t): fixed stack overflow occuring in wrong
	  date/datetime format strings for FUNCTION TEST-FORMATTED-DATETIME
	* intrinsic.c: changed definition of string lengths for date/time
	  according to existing ones (COB_xyz_BUFF)
	* common.h [_MSC_VER]: adding alias for setenv/unsetenv fixing small memory
	  leak for calls of (putenv) - MSC duplicates the string, POSIX does not

2016-01-30  Simon Sobisch <simonsobisch@gnu.org>

	* general: fixing all warnings generated by msc code analysis
	  (possible memory related issues)
	* common.c (cob_rescan_env_vals): always remove invalid settings from env.
	* common.c (cob_realloc): new, combining cob_malloc, cob_free and memcpy
	* common.c (cob_get_current_date_and_time) [_MSC_VER]: use fallback
	  to GetLocalTime if calls to FileTimeToSystemTime or
	  SystemTimeToTzSpecificLocalTime return an error
	* common.c (print_version): changed generation of build stamp
	* common.c (cb_config_entry): corrected check for setting without value
	  and postponed it, doing the check for a valid setting name before
	* cobgetopt.c (cob_getopt_long_long): Fix bug #194 and warnings of msc code
	  analysis (possible memory issues) - switched from alloca to cobc's
	  internal memory handling (cobc_malloc and cobc_free)

2016-01-24  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c: fixed bug #160 - added support for variable screen origin.

2016-01-23  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c (cob_screen_attr): fixed bug #192 - stopped ERASE and BLANK
	  being applied in ACCEPT statements.

2016-01-17  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c (get_screen_item_line_and_col): simplified and improved to
	  make interpretation of LINE and COL clauses more similar to that of
	  other implementations.

2016-01-08  Simon Sobisch <simonsobisch@gnu.org>

	* call.c (cob_call): fr #101 - allow more parameters for CALL
	  (COB_MAX_FIELD_PARAMS to be one of 16/36/56/76/96)

2016-01-01  Ron Norman <rjn@inglenet.com>

	* common.c (cob_set_runtime_option, cob_get_runtime_option), common.h,
	  coblocal.h, termio.c: added cob_set_runtime_option / cob_get_runtime_option
	  to allow TRACE and/or DISPLAY UPON PRINTER output to be redirected
	  to a specific (FILE*)

2015-12-31  Edward Hart <edward.dan.hart@gmail.com>

	* common.h: added COB_SCREEN_GRID.

2015-12-30  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c: fixed bug #176 - added code to correctly find the line and
	  column of a screen item.
	* common.h: changed cob_screen to a doubly linked list (to simplify the
	  algorithm required above).

2015-12-24  Edward Hart <edward.dan.hart@gmail.com>

	* intrinsic.c: added SYSTEM-OFFSET and support for unknown offsets for
	  FORMATTED-(DATE)TIME.

2015-12-24  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c: implemented FULL and REQUIRED clauses.

2015-12-14  Brian Tiffin <btiffin@gnu.org>

	* numeric.c (cob_print_realbin): bug #171 - unsigned values fail with high bit set

2015-12-07  Edward Hart <edward.dan.hart@gmail.com>

	* common.c (cob_get_current_date_and_time): fixed bug where offset_known
	  was not set to 1 on Unix systems.

2015-12-07  Edward Hart <edward.dan.hart@gmail.com>

	* intrinsic.c: fixed bug #170 - added detection of whether offset_known
	  is true or not - and added detection of EC-IMP-UTC-UNKNOWN exception.
	* exception.def: added EC-IMP-UTC-UNKNOWN.

2015-12-05  Edward Hart <edward.dan.hart@gmail.com>

	* intrinsic.c: added support for optional offset parameter for
	  FORMATTED-(DATE)TIME functions (defaults to zero).

2015-12-03  Edward Hart <edward.dan.hart@gmail.com>

	* intrinsic.c: fixed bug #169 - added correct implementation of times
	  ending with Z (i.e. to return the UTC time).

2015-11-08  Simon Sobisch <simonsobisch@gnu.org>

	* intrinsic.c (cob_intr_current_date): bug #164 - offset for CURRENT-DATE

2015-10-28  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_check_linkage): add function for check of linkage items
	  (currently checking only access to not passed OPTIONAL items)

2015-10-25  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_init)[WIN32]: resolve COB_UNIX_LF before reading runtime
	  configuration as error messages would have wrong LF otherwise

2015-10-24  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (conf_runtime_error): add function for configuration specific
	  errors and tweaked the messages
	* common.c (set_config_val): added possible values for gc_conf.enums
	  to error messages; added check of maximum values for ENV_SIZE
	* common.c (cob_load_config_file): if include file is not found prefix
	  it with path of current loaded configuration file
	* common.c: tweaked output for --runtime-env and added function
	  (set_config_val_by_name) for overriding default values (used for USERNAME)

2015-10-25  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c: fixed bug #161 - fixed screens terminating when the number
	  of characters entered equalled the length of the first field.
	* screenio.c: added a few comments and shortened some code.

2015-10-17  Edward Hart <edward.dan.hart@gmail.com>

	* intrinsic.c: fixed bug #159 - added conversion from 1-based to 0-based
	  coordinates for case where only LINE clause is given on
	  ACCEPT/DISPLAY.

2015-10-10  Simon Sobisch <simonsobisch@gnu.org>

	* common.c [WIN32][MINGW]: tweaking of additional environment settings

2015-10-10  Ron Norman <rjn@inglenet.com>

	* common.c: added code to report additional environment settings

2015-10-06  Edward Hart <edward.dan.hart@gmail.com>

	* intrinsic.c: fixed bug #158 - fixed TEST-FORMATTED-DATETIME rejecting
	  October (month #10). Also fixed unreported bug where
	  TEST-FORMATTED-DATETIME rejected dates followed by whitespace.

2015-09-21  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: cast PATHSEPC PATHSEPS SLASH_INT SLASH_STR with appropriate type
	  and rename the first three to PATHSEP_CHAR PATHSEP_STR SLASH_CHAR

2015-09-16  Ron Norman <rjn@inglenet.com>

	* fileio.c: fixed coding error related to support for EXTFH
	  It was returning the index number as 1 relative instead of 0 relative

2015-08-21  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c: implemented LOWLIGHT.

2015-08-20  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c: added detection of EC-SCREEN-LINE-NUMBER,
	  EC-SCREEN-STARTING-COLUMN and EC-SCREEN-ITEM-TRUNCATED.
	* screenio.c, common.h: refactored functions implementing ACCEPT and
	  DISPLAY.

2015-07-25  Simon Sobisch <simonsobisch@gnu.org>

	* call.c (cob_init_call): Don't add the current directory "." to resolve_path
	  if it's already set (either via runtime configuration or default value)

2015-07-07  Ron Norman

	* DISPLAY ... UPON PRINTER can be redirected via
	  the env var COBPRINTER similar to what Micro Focus supports
	  cob_display will do a popen of whatever COBPRINTER is defined
	  In addition COB_DISPLAY_PRINTER can be used as a file name and
	  cob_display will do an fopen "a" and append to that file
	  termio.c, common.c changed
	* fileio.c fixed to avoid core dump when COB_SYNC and using BDB

2015-07-07  Ron Norman <rjn@inglenet.com>

	* Accept env var COB_CURRENT_DATE/COB_DATE and runtime.cfg current_date
	  to specify a date override for the application.
	  All ACCEPT FROM DATE, DAY, TIME will the use the value defined
	  rather than the current system time.
	  This will be a useful feature for application testing.
	* common.c (cb_config_entry): keyword "reset": reset data pointer in gc_conf
	* common.c (cob_expand_env_string): copy SPACE, LR, CR, HT, VT as spaces,
	  the first implementation dropped them completely
	* fileio.c fixed to avoid core dump when COB_SYNC and using BDB

2015-06-24  Edward Hart <edward.dan.hart@gmail.com>

	* intrinsic.c: bug #140 - changed pow to int_pow to avoid rounding
	  errors. On MinGW, pow (10, 8) rounded to 9999999 instead of 10000000,
	  for example.

2015-06-22  Luke Smith <cobcoder@users.sourceforge.net>

	* screenio.c: Add or enhance special keys to Extended ACCEPT.
	  Insert, Tab, Shift-Tab, Backspace, Delete, Alt-Delete, End,
	  Alt-End, Home, Alt-Home, Left-arrow, Alt-Left-arrow,
	  Right-arrow, Alt-Right-arrow.

2015-06-08  Luke Smith <cobcoder@users.sourceforge.net>

	FR #37 - Added WITH SIZE to extended ACCEPT and DISPLAY
	* common.h (cob_field_accept, cob_field_display): new signature
	* screenio.c (cob_field_accept, cob_field_display):
	  additional parameter to specify size to use for ACCEPT/DISPLAY
	* termio.c (cob_accept, cob_display): adjusted for new signature
	  of cob_field_accept and cob_field_display

2015-06-21  Edward Hart <edward.dan.hart@gmail.com>

	* common.c: fixed segfault caught in updated SWITCH test by extending
	  cob_switch array by 1.

2015-05-18  Luke Smith <cobcoder@users.sourceforge.net>

	* screenio.c (cob_screen_attr): Fix bug #143 WITH BLANK SCREEN / BLANK LINE
	  has to color the whole screen / line.

2015-05-16  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: fr #65 added more switches "SWITCH-16" to "SWITCH-36"

2015-05-14  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cb_config_entry): remove redundant aliases !copy/(un)set/!anything
	* common.c: add ACUCOBOL configuration aliases LOGICAL_CANCELS
	  (= !COB_PHYSICAL_CANCEL) and STRIP_TRAILING_SPACES (= !COB_LS_FIXED)

2015-05-12  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_load_config_file, cob_load_config): respect environment
	  COB_CONFIG_DIR when loading runtime configuration

2015-05-12  Ron Norman <rjn@inglenet.com>

	* common.c: changed to be more specific about acceptable values for
	  runtime boolean options

2015-05-11  Simon Sobisch <simonsobisch@gnu.org>

	* intrinsic.c (cob_intr_current_date): return field with size of 21
	  and without trailing NULL

2015-05-06  Simon Sobisch <simonsobisch@gnu.org>

	* common.h, coblocal.h, call.c, common.c: fixed CALL after physical CANCEL
	  by moving physical_cancel (defined in call.c and referenced via
	  runtimeptr) to cobglobptr->cob_physical_cancel for check in COBOL modules

2015-04-29  Ron Norman <rjn@inglenet.com>

	* reportio.c: change to allocate larger size data area for temp
	  fields used for CONTROL breaks. This is a cludge to avoid
	  something that is clobbering free memory on SUN system.
	  It did work fine on x86 Linux so watch out for this later.

2015-04-27  Ron Norman <rjn@inglenet.com>

	* fileio.c, common.h (cob_file): updated to support line sequential rewrite
	* fileio.c, common.c, coblocal.h (cob_settings): new COB_LS_VALIDATE

2015-04-14  Ron Norman <rjn@inglenet.com>

	* reportio.c common.c:
	  updated to include support REPORT COLUMN LEFT/RIGHT/CENTER
	  Also REPORT: PLUS, STEP on OCCURS and multi COLUMN numbers
	  Runtime option: col_just_lrc if set to false will disable
	  justification of LEFT/RIGHT/CENTER data with the field

2015-04-14  Ron Norman <rjn@inglenet.com>

	* fileio.c, common.h: updated to include support to a callable
	  EXTFH interface provided by several compilers including Micro Focus
	  This allows users to insert an external file handler while retaining
	  all of the normal COBOL I/O functions.

2015-04-14  Simon Sobisch <simonsobisch@gnu.org>

	* cobgetopt.c (_getopt_initialize): re-added support for GNU extensions
	  '+'/'-' in optstring[0], '+' => forcing POSIX correct behaviour (stop at
	  first non-option), '-' => report non-options as argument of option code=1

2015-04-02  Edward Hart <edward.dan.hart@gmail.com>

	* intrinsic.c: implemented FORMATTED-CURRENT-DATE,
	  INTEGER-OF-FORMATTED-DATE and TEST-FORMATTED-DATETIME
	* intrinsic.c: updated FORMATTED-DATETIME and FORMATTED-TIME to support
	  fractional number of seconds.
	* common.c: refactored (cob_accept_time)
	* intrinsic.c: miscellaneous refactoring and deleted precondition
	  comments which are currently just cluttering the code

2015-04-02  Edward Hart <edward.dan.hart@gmail.com>

	* common.h: added new macros COB_USE_VC(2005/2008/2013)_OR_GREATER to
	  replace _MSC_VER comparison

2015-03-30  Simon Sobisch <simonsobisch@gnu.org>

	* common.h: Changed COB_FILE_MODE to 0666
	* fileio.c: use COB_FILE_MODE as permission for all cases where
	  files are possibly created (fixes bug #126)

2015-03-14  Ron Norman <rjn@inglenet.com>

	* common.c: new code for table driven processing of runtime.cfg
	  (runtime configuration) file and environment variables
	  New cob_settings structure used to store all run-time options
	  The old runtime_env was removed
	  call.c cobgetopt.c fileio.c intrinsic.c move.c numeric.c screenio.c
	  all updated to work with the new cob_settings structure

2015-03-10  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_load_config, cob_load_config_file, cb_config_entry): new
	  functions for loading a runtime configuration file
	* call.c, common.c, intrinsic.c, numeric.c: fix segfault on early exit
	  during runtime initialisation

2015-03-03  Ron Norman

	* common.c (cob_sys_getopt_long_long): fix ENDIAN problem with CBL_GC_GETOPT
	* fileio.c (cob_sys_create_file, cob_sys_open_file):
	  fix ENDIAN problem with CBL_CREATE_FILE, CBL_OPEN_FILE

2015-03-01  Ron Norman <rjn@inglenet.com>

	* fileio.c updated to return correct status codes for WRITE/REWRITE
	  related to duplicate keys being detected
	  This was tested with BDB, D-ISAM and VB-ISAM 2.1.1

2015-02-26  Simon Sobisch <simonsobisch@gnu.org>

	* cobgetopt.c (cob_getopt_long_long): List all ambiguous possibilities,
	  applied patch of Ulrich Drepper (see glibc's BZ #7101 - 2011-05-15)
	* cobgetopt.c: removed \n from msgids, converted all backtick to apostrophe

2015-02-26  Edward Hart <edward.dan.hart@gmail.com>

	* screenio.c: fixed buffer overflow in screen section ACCEPT

2015-02-26  Ron Norman <rjn@inglenet.com>

	* fileio.c [WITH_VBISAM, VB_RTD]: updated to handle VB-ISAM 2.1.1
	* fileio.c [WITH_DB]: handle sparse and split keys for BDB
	  This was tested with BDB, D-ISAM, VB-ISAM 2.0 and VB-ISAM 2.1.1

2015-02-23  Ron Norman <rjn@inglenet.com>

	Implemented INDEXED file support for sparse and split keys FR #23 + FR #281
	* fileio.c: updated to handle sparse and split keys
	  This was tested with D-ISAM and VB-ISAM 2.0

2015-02-18  Ron Norman <rjn@inglenet.com>

	* common.c (cob_debug_logger): if fmt starts with '~' then force print of line#
	* reportio.c: Fix spacing problems related to CONTROL FOOTING

2015-02-16  Ron Norman <rjn@inglenet.com>

	Implemented DEBUG logging for Compiler developers
	* common.h: added DEBUG_xxx macros
	* common.c: added cob_debug_xxx subroutines
	* reportio.c: updated to use this new COB_DEBUG_LOG feature

2015-02-12  Ron Norman <rjn@inglenet.com>

	* Merged Report Writer code into 2.0 code base to create a new 2.0
	  with all collective features

2015-01-31  Edward Hart <edward.dan.hart@gmail.com>

	* common.h, intrinsic.c: updated (cob_valid_time_format) and
	  (cob_valid_datetime_format) to take the decimal point as a parameter
	  to handle DECIMAL-POINT IS COMMA

2015-01-12  Sergey Kashyrin <ska@kiska.net>

	* intrinsic.c: Fix for Bug #120 - Function CURRENT-DATE

2014-12-11  Ron Norman <rjn@inglenet.com>

	* reportio.c: Corrected to handle processing of a single DETAIL line
	  (It had been incorrectly processing all DETAIL lines of report)

2014-12-11  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (cob_exit_screen): check cobglobptr for early errors,
	  especially in case of runtime error "cob_init() has not been called"

2014-11-17  Philipp Böhme  <phi.boehme@googlemail.com>

	* call.c (do_cancel_module): bugfix for cancel,
	  The bug was a crash in some situations, if the same module
	  is cancelled more than once. (Solution as suggested by Sergey)

2014-09-17  Edward Hart <edward.dan.hart@gmail.com>

	* intrinsic.c: implemented (cob_intr_formatted_date),
	  (cob_intr_formatted_datetime) and (cob_intr_formatted_time)
	* intrinsic.c: moved common date/time checks into functions
	  (valid_integer_date), (valid_year) and (valid_time)
	* intrinsic.c: split main algorithms of (cob_intr_day_of_integer) and
	  (cob_intr_date_of_integer) into (day_of_integer) and (date_of_integer)
	* common.c, common.h: added date/time format validation functions
	  (cob_valid_date_format), (cob_valid_datetime_format) and
	  (cob_valid_time_format)

2014-09-12  Simon Sobisch <simonsobisch@gnu.org>

	* numeric.c, intrinsic.c, common.h: use cob_gmp_free in intrinsics, too

2014-09-09  Philipp Böhme  <phi.boehme@googlemail.com>

	* numeric.c: new static function cob_gmp_free
	* numeric.c (cob_decimal_set_double, cob_decimal_get_packed,
	  cob_decimal_get_display): use cob_gmp_free() to free memory allocated in
	  mpir/gmp

2014-09-04  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_check_env_false): new pendant to cob_check_env_true,
	  currently used only for disabling COB_BELL

2014-08-24  Simon Sobisch <simonsobisch@gnu.org>

	* common.c (cob_sys_getopt_long_long): make params lo_size(1), so_size(0)
	  and opt_val_size(5) optional (can be OMITTED in CALL 'CBL_OC_GETOPT')

2014-09-03  Philipp Böhme <phi.boehme@googlemail.com>

	* common.c, common.h: added cob_free() function (as suggested by
	  Sergey Kashyrin)
	* changed all free() to cob_free() (Own freeing function for debugging
	  purposes. (e.g. to locate heap crashes caused by malloc/free))
	* numeric.c: use free function (passed by mp_get_memory_functions) (Bug #91)

2014-08-05  Louis Krupp <lkrupp@users.sf.net>

	* screenio.c: compilation fails if configured without curses (bug #90)

2014-07-09  Philipp Böhme <phi.boehme@googlemail.com>

	* fileio.c (cob_file_sort_giving): initialize record buffer size before
	  cob_copy_check, solving bug #66

2014-06-30  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, common.h (cob_temp_name): new function, moved from
	  cobc (cobc_temp_name)
	* common.c (cob_temp_name) [_WIN32]: Use direct calls to getenv instead of
	  additional calling WINAPI for temporary folder (GetTempPath);
	  use identical logic as in non-win environments to build the name instead
	  of calling WINAPI (GetTempFileName+DeleteFile)
	* fileio.c: renaming (cob_tmpfile) to (cob_srttmpfile) and
	  (cob_get_temp_file) to (cob_get_sort_tempfile)
	* fileio.c (cob_srttmpfile): using new (cob_temp_name) to get the name
	* common.c: use (cob_sys_getpid) everywhere instead of (getpid);
	  use (setenv) if available

2014-06-17  Ron Norman <rjn@inglenet.com>

	* parser.y, tree.c, codegen.c: Added check to verify PAGE LIMITS of report

2014-06-14  Ron Norman <rjn@inglenet.com>

	* parser.y: Fixes for LINE|COL 0 to get error message

2014-06-04  Eric Gallager <cooljeanius@users.sourceforge.net>

	Makefile.am (install-data-hook): removed  [merged 2020-09-23]

2014-05-20  Philipp Böhme <phi.boehme@googlemail.com>

	* call.c: inverted preload list for WIN32 builds
	* common.c, move.c, screenio.c, fileio.c: Set runtime switch
	  from environment to true on "1", "Y", "YES", "TRUE", "ON"

2014-05-13  Ron Norman <rjn@inglenet.com>

	* numeric.c: added cob_cmp_float with tolerance for equality comparison

2014-05-07  Ron Norman <rjn@inglenet.com>

	* move.c: replaced memcpy by memmove

2014-05-06  Philipp Böhme <phi.boehme@googlemail.com>

	* common.c, common.h: Added print_runtime_env showing all environment values
	  along with resolved variables used in libcob
	  New string helper functions: cob_int_to_string, cob_strcat, cob_strjoin,
	  cob_int_to_formatted_bytestring
	* call.c: Remove duplicates when resolving COB_LIBRARY_PATH

2014-04-25  Ron Norman <rjn@inglenet.com>

	* move.c: fixed bug in cob_move_fp_to_fp()
	* numeric.c: Fixed errors in cob_add_int() when computing with floats.

2014-04-14  Philipp Böhme <phi.boehme@googlemail.com>

	* common.c, common.h, system.def: Added cob_sys_getopt_long_long
	* makefile.am: Added cobgetopt.c, cobgetopt.h

2014-03-10  Simon Sobisch <simonsobisch@gnu.org>

	* common.c: support for user-defined LOCALEDIR via environment

2014-03-03  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, common.h: Rewriting cob_sig_handler, printing signal caught
	  to stderr, adding cob_reg_sighnd for registration of external signal
	  handling

2014-01-17  Ron Norman <rjn@inglenet.com>

	* intrinsic.c: Change cob_intr_random to correctly compute RANDOM number

2013-12-26  Luke Smith <cobcoder@users.sourceforge.net>

	* strings.c: Fix Unstring delimited by all delimiter size > 1 issue,
	  see bug #54.

2013-11-18  Ron Norman <rjn@inglenet.com>

	* Report Writer Module initial development

2013-??-??  Sergey Kashyrin <ska@kiska.net>

	* fileio.c: Bugfix in cob_sys_copy_file (now using file_open_buff)

201?-??-??  Sergey Kashyrin <ska@kiska.net>

	* fileio.c (cob_new_item): cleanup

2012-06-21  Sergey Kashyrin <ska@kiska.net>

	* numeric.c: Workaround optimizer bug

2010-10-18  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c (!COB_GEN_SCREENIO): Make cob_sys_sound_bell usable via
	  cob_speaker_beep
	* common.c:  Add possibility to disable the bell via
	  COB_BELL=NO/NONE/0/OFF (currently only the first char is checked)

2010-09-03  Simon Sobisch <simonsobisch@gnu.org>

	* screenio.c: Added cob_convert_key for converting keys according to used
	  libraries (especially fix for PDCurses + numpad support)

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

	* MARK - Version 2.0
	* Move to GPL/LGPL 3

2010-05-18  Simon Sobisch <simonsobisch@gnu.org>

   * strings.c: Fixing cob_unstring_into bug (#139)

2010-03-10  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, screenio.c: New env var COB_BELL for controlling WITH BEEP,
	  possible values (standard BEEP):
	  BEEP    (curses beep on soundcard/pc-speaker, fallback terminal flash)
	  FLASH   (curses terminal flash, fallback beep on soundcard/pc-speaker)
	  SPEAKER (printf("\a"))

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

	* fileio.c: Implement COB_VARSEQ_FORMAT to override default format
	  for variable length sequential files.

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

	* fileio.c: used fdcobsync for sync, defined depending on configuration
	* fileio.c (cob_sync): droped synch mode for COB_SYNCH (Y=P), moved
	  calls of cob_sync to (save_status)

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

	* fileio.c: dropped support for BDB < 4.1

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

	* call.c (cob_init_call): Change to COB_PRE_LOAD: if an entry is not
	  found in COB_LIBRARY_PATH try the full name

20??-??-??  Sergey Kashyrin <ska@kiska.net>

	* common.c: nanosleep for 370

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

	* strings.c: Added check for COB_EC_RANGE_INSPECT_SIZE and
	  NULL extension to cob_inspect_converting

2009-10-07  Simon Sobisch <simonsobisch@gnu.org>

	* common.c, common.h, system.def: Added new system routine C$GETPID

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

	* strings.c: Fix for UNSTRING with multiple variable length fields

2009-08-03  Sergey Kashyrin <ska@kiska.net>

	* common.c: cob_accept_day_of_week corrected

2009-08-03  Gary Cutler <CutlerGL@gmail.com>

	* common.c: cob_accept_day_of_week corrected

2009-07-25  Gary Cutler

	* screenio.c: Fix PDCurses bug with COLOR_PAIRS

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

	* move.c: Fix editing symbol moves

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

	* fileio.c: Revise memory algo for SORT - Introduce COB_SORT_CHUNK

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

	* General: Remove the following extraneous include files:
	            byteswap.h, call.h, fileio.h, intrinsic.h, move.h, numeric.h,
	            screenio.h, strings.h, termio.h by integration into common.h
	            as first step

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

	* General: Changes to remove lib local symbols
	* common.c, fileio.c: Fix to enable running test suite under Win

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

	* fileio.c, fileio.h: Implement file status 24 for relative files
	* termio.c, screenio.c: Implement ACCEPT OMITTED
	* fileio.c, fileio.h: Change all I/O except L/S to file descriptor basis

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

	* General: Code clean/sanitize

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

	* General: Support for icc
	* fileio.c: Sanitize / remove BDB < 4.1 support
	* fileio.c, fileio.h: Support LOCK clause on OPEN

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

	* screenio.c: Fix up accept without lines parameter

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.c, intrinsic.h: Functions CONCATENATE and SUBSTITUTE-CASE

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

	* screenio.c, screenio.h: Minimal support for value occurs

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

	* common.c, screenio.c, screenio.h: 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.c, screenio.h, termio.c - SCROLL for ACCEPT/DISPLAY

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

	* screenio.c, screenio.h: ACCEPT ... FROM LINES/COLUMNS

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

	* intrinsic.c, intrinsic.h: 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.c, common.h, call.c, call.h: 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.c, common.h: cob_check_based - Check BASED items

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

	* fileio.c, fileio.h: 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.c, screenio.h: 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.c, common.h, 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.c, screenio.h: 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.c, screenio.h, termio.c: More Screen changes

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

	* coblocal.h, common.c, fileio.c, fileio.h: 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.c, fileio.h: 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.c, screenio.h: More support for SCREEN

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

	* common.c: Fix C$NARG for chaining syntax
	* common.c, common.h: 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.c, common.h, system.def: Implement MF call X"91",
	  subfunctions 11, 12, 16

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

	* intrinsic.c, intrinsic.h: Implement FUNCTION COMBINED-DATETIME

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

	* intrinsic.c, intrinsic.h: 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.c, intrinsic.h: 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.c, common.h:  Rationalize some previously exported variables
	  New function - cob_set_location for line debugging

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

	* common.c, common.h: 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.c, numeric.h: 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.c, fileio.h: 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.c, fileio.h: 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.c, fileio.h: LOCK on WRITE/REWRITE

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

	* fileio.c, fileio.h: 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.c, common.h: Fix incompatible param definitions on CBL_EXIT_PROC
	  and CBL_ERROR_PROC

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

	* fileio.c, fileio.h: 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.c, numeric.h: 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.c, common.h: Define cob_one for screen display

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

	* strings.c, strings.h: 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.c, intrinsic.h: 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.c, fileio.h: Implement SORT-RETURN

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

	* intrinsic.c, intrinsic.h: Implement LOCALE-DATE, LOCALE-TIME
	* fileio.c, fileio.h: Fix a READ PREVIOUS problem

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

	* fileio.c, fileio.h: Implement new SORT routines
	                Note these do not need the ISAM handler

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

	* common.c, common.h: Add cob_is_omitted, check for NULL parameter

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

	* intrinsic.c, intrinsic.h: 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
	                appropriate

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

	* common.c, common.h, fileio.c, fileio.h: 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.c, fileio.h: 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>

	* intrinsic.c, intrinsic.h: Allow special ASSIGN [TO] KEYBOARD processing

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

	* call.c, call.h: Implement new CANCEL processing

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

	* intrinsic.c, intrinsic.h: 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.c, intrinsic.h: 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.c, fileio.h, move.c, move.h: const defintions

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

	* common.c, common.h: 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.c, common.h: More MF/ACU system routines

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

	* common.c, common.h, call.c: Change cob_field_to_string to type void

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

	* system.def, fileio.c, fileio.h, call.c, common.c, common.h: 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.c, common.h: 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.c, common.h: 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.c, fileio.h: Implement PREVIOUS for IS files

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

	* common.c, common.h: 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.c, common.h, intrinsic.c, intrinsic.h: Implement FUNCTIONs
	  EXCEPTION-FILE, EXCEPTION-STATEMENT, EXCEPTION-LOCATION, 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.c, intrinsic.h: Implement STORED-CHAR-LENGTH (Fujitsu)

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

	* common.c, common.h: cob_chain_setup - setup CHAINING params from
	  command line
	* strings.c, strings.h: 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.c, screenio.h: Change structures

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.c, common.h: 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.c, common.h: 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 separator 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, common.h, numeric.c, numeric.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 separator 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
	  cannot 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 (e.g. 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@opencobol.org>

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

2005-04-13  Keisuke Nishida  <knishida@opencobol.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@opencobol.org>

	* numeric.c (cob_decimal_get_binary): reverted:
	  NIST test suite is no more working.

2004-11-02  Bernard Giroud <bgiroud@opencobol.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@opencobol.org>

	* numeric.h (COB_STORE_TRUNC_ON_OVERFLOW): Define as 0x04, not 0x02.
	  (Thanks to Roger While)

2004-07-06  Keisuke Nishida  <knishida@opencobol.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@opencobol.org>

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

2004-06-12  Keisuke Nishida  <knishida@opencobol.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@opencobol.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@opencobol.org>

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

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

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

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

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

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

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

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

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

2004-04-07  Keisuke Nishida  <knishida@opencobol.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@opencobol.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'.

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

	* call.c, common.c, move.c, Makefile.am: gettextized


Copyright 2002-2023 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification, are
permitted provided the copyright notice and this notice are preserved.
