2021-06-05  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Update for 1.3.
	* NEWS: Likewise.
	* doc/gendocs_template: Likewise.

2021-05-31  Luca Saiu  <positron@gnu.org>

	* cfg.mk (gl_public_submodule_commit): Define as empty.  Update
	comment.

2021-05-26  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

	* libpoke/pvm.jitter (wrapped-functions): Add std string functions.

2021-05-23  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

	* libpoke/pkl-gen.pks (struct_constructor): s/uint<64>/ulong<64>.
	* libpoke/pvm-val.c (pvm_make_int): Add assertion for `size` argument.
	(pvm_make_uint): Likewise.
	(pvm_make_long): Likewise.
	(pvm_make_ulong): Likewise.

2021-05-22  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

	* libpoke/pkl-rt.pk (_pkl_escape_string): New function.
	* libpoke/pkl-gen.pks (string_printer): Use `_pkl_escape_string` to
	print valid string literals (replace non-printable characters with
	escape sequence).
	* testsuite/poke.pkl/printf-value-18.pk: New test.
	* testsuite/poke.pkl/printf-value-19.pk: Likewise.
	* testsuite/poke.pkl/printf-value-20.pk: Likewise.
	* testsuite/poke.pkl/printf-value-21.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

2021-05-22  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

	* libpoke/pvm.jitter (strset): New instruction.
	(wrapped-functions): Add `memcpy`.
	* libpoke/pkl-insn.def (STRSET): Likewise.
	* libpoke/pkl-gen.c (pkl_gen_ps_comp_stmt): Emit code.
	* libpoke/pkl-lex.l: Recognize `BUILTIN_UNSAFE_STRING_SET`.
	* libpoke/pkl-tab.y: Define token `BUILTIN_UNSAFE_STRING_SET`.
	(comp_stmt): New rule.
	* libpoke/pkl-ast.h (PKL_AST_BUILTIN_UNSAFE_STRING_SET): Define.
	* libpoke/pkl-rt.pk (__pkl_unsafe_string_set): New function.
	* testsuite/poke.pkl/unsafe-string-set-1.pk: New test.
	* testsuite/poke.pkl/unsafe-string-set-2.pk: Likewise.
	* testsuite/poke.pkl/unsafe-string-set-3.pk: Likewise.
	* testsuite/poke.pkl/unsafe-string-set-4.pk: Likewise.
	* testsuite/poke.pkl/unsafe-string-set-5.pk: Likewise.
	* testsuite/poke.pkl/unsafe-string-set-diag-1.pk: Likewise.
	* testsuite/poke.pkl/unsafe-string-set-diag-2.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

2021-05-22  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

	* libpoke/pvm.jitter (return): s/jitter_int/jitter_uint/.
	(popf): s/JITTER_ARGN0/JITTER_ARGU0/.
	(sconc): Remove useless `#undef F`.
	(bnzi): Fix type s/bzni/bnzi/.
	(substr): Fix doc.
	(ains): Likewise.
	(indent): Fix typo.
	(mka): Remove redundant array offset initialization.
	* libpoke/ras (BEGIN): Use `\"` instead of `\\\"`.

2021-05-22  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

	* libpoke/pkl-rt.pk (_pkl_unit_name): Fix typo. s/gigi/gibi/
	(_pkl_unit_gibibit): Likewise.
	(_pkl_unit_gibibyte): Likewise.

2021-05-22  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

	* libpoke/pvm.jitter (sconc): Replace `pvm_make_string` with
	`pvm_make_string_nodup`.
	(ctos): Likewise.
	(substr): Likewise.

2021-05-22  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

	* libpoke/pvm.h (pvm_make_string_nodup): New function declaration.
	* libpoke/pvm-val.c (pvm_make_string_nodup): New function definition.
	* libpoke/pvm.jitter: Do not include `xalloc.h`.
	(muls): Use `pvm_alloc` instead of `xmalloc`.
	* etc/poke.rec (The `muls' instruction in pvm.jitter calls xmalloc):
	Remove as done.

2021-05-21  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

	* AUTHORS: Change my email address to gnu account.
	* etc/poke.rec: Likewise.
	* etc/hacking.org: Likewise.
	* HACKING: Likewise.

2021-05-21  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-gen.c (LMAP): Simplify code, and re-compile writers
	for anonymous struct types as well as array types.
	* libpoke/pkl-gen.pks (struct_writer): Use @type_struct instead of
	type_struct.

2021-05-10  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-gen.pks (check_struct_field_constraint): Use
	PKL_GEN_PUSH_CONTEXT instead of DUP_CONTEXT + CLEAR_CONTEXT.  It
	is more robust.
	(array_writer): Likewise.
	(array_bounder): Likewise.
	(handle_struct_field_label): Likewise.
	(handle_struct_field_constraints): Likewise.
	(struct_mapper): Likewise.
	(struct_constructor): Likewise.
	(struct_field_writer): Likewise.
	(struct_writer): Likewise.
	(struct_integrator): Likewise.
	(complex_lmap): Likewise.

	* testsuite/poke.pkl/scons-constraints-3.pk: New test.
	* testsuite/poke.map/maps-structs-constraints-4.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

2021-05-10  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-gen.pks (struct_mapper): Fix vars_registered with
	declarations in struct types.
	(struct_constructor): Likewise.
	* testsuite/poke.pkl/optcond-21.pk: New test.
	* testsuite/poke.map/map-optcond-12.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

2021-05-08  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/libpoke.h: Make the header C++ compliant.
	* libpoke/libpoke.c: Vandalize accordingly :(

2021-05-06  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-gen.pks (struct_constructor): Remove spurious
	commented insn.

2021-05-06  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-gen.pks (struct_constructor): Use
	check_struct_field_constraint.
	* testsuite/poke.pkl/scons-constraints-1.pk: New test.
	* testsuite/poke.pkl/scons-constraints-2.pk: Likewise.
	* testsuite/poke.pktest/pktest-12.pk: Update test.

2021-05-06  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-gen.pks (struct_printer): Skip absent fields.
	* testsuite/poke.pkl/printf-value-16.pk: New test.
	* testsuite/poke.pkl/printf-value-17.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

2021-05-03  Luca Saiu  <positron@gnu.org>

	* cfg.mk (submodule-checks): Override setting in maint.mk, fixing
	a distcheck failure.

2021-05-03  Jose E. Marchesi  <jemarch@gnu.org>

	* testsuite/poke.map/maps-structs-constraints-2.pk: New test.
	* testsuite/poke.map/maps-structs-constraints-3.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

2021-05-03  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-gen.pks (handle_struct_field_constraints): Pass
	@struct_type to check_struct_field_constraint.
	(check_struct_field_constraint): Add TYPE.FIELD information to the
	E_constraint exceptions.

2021-05-02  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/Makefile.am: use DISTCLEANFILES for the files generated
	by AX_CREATE_PKGCONFIG_INFO, not MOSTLYCLEANFILES.

2021-05-02  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/Makefile.am (generate-vm-files): New rule.
	(pvm-vm.h): Likewise.
	(pvm-vm1.c): Likewise.
	(pvm-vm2.c): Likewise.

2021-05-02  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/Makefile.am (MAINTAINERCLEANFILES): Add jitterc
	generated files and add $(srcdir) prefix to lex and bison
	generated files.
	* poke/Makefile.am (MAINTAINERCLEANFILES): Likewise.
	* DEV-NEWS: Add note about this.

2021-05-02  Jose E. Marchesi  <jemarch@gnu.org>

	* README: Add instructions on how to offer software to the GNU
	Project.

2021-04-30  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Do not check for tcl/tk if --disable-gui is
	specified at configure time.

2021-05-01  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-tab.y (yyreport_syntax_error): Fix memory leak.
	* libpoke/ios.c (ios_open): Avoid freeing an uninitialized
	pointer.
	(ios_read_string): Fix handling of errors from ios_read_uint.

2021-04-28  Jose E. Marchesi  <jemarch@gnu.org>

	* poke/pk-dump.pk (Pk_Dump_Offset): New type.
	(pk_dump_offsets): New variable.
	(pk_dump_get_offset): New function.
	(pk_dump_set_offset): Likewise.
	(dump): Use the pk_dump_offsets registry for default offsets when
	`from' is not specified.

2021-04-22  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-gen.pks (struct_mapper): Avoid "leaking" slots in
	the exceptions stack.
	(struct_field_mapper): Likewise.

2021-04-22  Mohammad-Reza Nabipoor  <m.nabipoor@yahoo.com>

	* libpoke/pvm-alloc.h (pvm_alloc_uncollectable): New function decl.
	(pvm_free_uncollectable): Likewise.
	* libpoke/pvm-alloc.c (pvm_alloc_uncollectable): New function def.
	(pvm_free_uncollectable): Likewise.
	* libpoke/pkl-ast.h (struct pkl_ast_type): For both arrays and
	structs, replace the PVM closure fields with pointer to `pvm_val`.
	(PKL_AST_TYPE_A_CLOSURES): Re-define accordingly.
	(PKL_AST_TYPE_A_MAPPER): Likewise.
	(PKL_AST_TYPE_A_WRITER): Likewise.
	(PKL_AST_TYPE_A_BOUNDER): Likewise.
	(PKL_AST_TYPE_A_CONSTRUCTOR): Likewise.
	(PKL_AST_TYPE_A_PRINTER): Likewise.
	(PKL_AST_TYPE_S_CLOSURES): Likewise.
	(PKL_AST_TYPE_S_MAPPER): Likewise.
	(PKL_AST_TYPE_S_WRITER): Likewise.
	(PKL_AST_TYPE_S_CONSTRUCTOR): Likewise.
	(PKL_AST_TYPE_S_PRINTER): Likewise.
	(PKL_AST_TYPE_S_COMPARATOR): Likewise.
	(PKL_AST_TYPE_S_INTEGRATOR): Likewise.
	* libpoke/pkl-ast.c (pkl_ast_make_array_type): Initialize the
	`closures` field with a pointer to uncollectable memory. Remove
	the `pvm_alloc_add_gc_roots` function calls.
	(pkl_ast_make_struct_type): Likewise.
	(pkl_ast_node_free): Free the uncollectable memory for arrays and
	structs.

2021-04-18  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Bump poke version to 1.2.
	* doc/gendocs_template: Likewise.
	* NEWS: Add entry for 1.2.

2021-04-08  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-typify.c (pkl_typify1_ps_cast): Do not allow casting
	`any' to a function type.
	* testsuite/poke.pkl/cast-any-to-function-diag-1.pk: New test.
	* testsuite/Makefile.am (EXTRA_DIST): Add new test.
	* etc/poke.rec (support casts from `any' to function types): New
	task.

2021-04-07  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pvm.jitter (popob): Use jitter macros instead of pvm
	calls to access the runtime state.
	(pushend): Likewise.
	(popend): Likewise.
	(pushob): Likewise.
	(pushom): Likewise.
	(popom): Likewise.
	(pushoo): Likewise.
	(popoo): Likewise.
	(pushoi): Likewise.
	(popoi): Likewise.
	(pushod): Likewise.
	(popod): Likewise.
	(popoac): Likewise.
	(pushopp): Likewise.
	(popopp): Likewise.

2021-04-07  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-typify.c (pkl_typify1_ps_op_rela): Handle function
	arguments.
	* libpoke/pkl-promo.c (pkl_promo_ps_op_rela): Likewise.
	* libpoke/pkl-gen.c (pkl_gen_ps_op_rela): Likewise.
	* libpoke/pkl-insn.def: New instructions PKL_INSN_EQC and
	PKL_INSN_NEC.
	* libpoke/pvm.jitter (eqc): New instruction.
	(nec): Likewise.
	* libpoke/pkl-asm.c (pkl_asm_insn_cmp): Support EQ and NE for
	function values.
	* doc/poke.texi (Function Comparison): New section.
	* testsuite/poke.pkl/gt-functions-diag-1.pk: New test.
	* testsuite/poke.pkl/ge-functions-diag-1.pk: Likewise.
	* testsuite/poke.pkl/le-functions-diag-1.pk: Likewise.
	* testsuite/poke.pkl/lt-functions-diag-1.pk: Likewise.
	* testsuite/poke.pkl/ne-functions-2.pk: Likewise.
	* testsuite/poke.pkl/ne-functions-1.pk: Likewise.
	* testsuite/poke.pkl/eq-functions-2.pk: Likewise.
	* testsuite/poke.pkl/eq-functions-1.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Update.

2021-04-05  Egeyar Bagcioglu  <egeyar@gmail.com>

	* etc/git-hooks/pre-push: Report it clearly when the pre-push hook
	fails due to remote containing unfetched commits.

2021-04-03  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-trans.h (struct pkl_trans_payload): Add endianness
	stack.
	(pkl_trans_init_payload): Initialize endian.
	* libpoke/pkl-trans.c (PKL_TRANS_ENDIAN): Define.
	(PKL_TRANS_PUSH_ENDIAN): Likewise.
	(PKL_TRANS_POP_ENDIAN): Likewise.
	(pkl_trans1_pr_struct_type_field): New handler.
	(pkl_trans1_ps_struct_type_field): Likewise.
	(pkl_phase_trans1): Register new handlers.
	* libpoke/pkl-anal.c (pkl_anal2_ps_struct_type_field): Remove
	error check and add warning.
	* testsuite/poke.map/maps-structs-endian-3.pk: New test.
	* testsuite/poke.map/maps-structs-endian-4.pk: Likewise.
	* testsuite/poke.map/maps-structs-endian-5.pk: Likewise.
	* testsuite/poke.map/maps-structs-endian-6.pk: Likewise.
	* doc/poke.texi (Field Endianness): Note that `little' and `big'
	are valid for any kind of field.
	* testsuite/poke.map/maps-structs-endian-7.pk: Likewise.
	* testsuite/poke.map/maps-structs-endian-8.pk: Likewise.
	* testsuite/poke.map/maps-structs-endian-9.pk: Likewise.
	* testsuite/poke.map/maps-structs-endian-10.pk: Likewise.
	* testsuite/poke.map/maps-structs-endian-diag-1.pk: Likewise.
	* testsuite/poke.map/maps-structs-endian-11.pk: Likewise.
	* testsuite/poke.pkl/struct-types-endian-diag-1.pk: Remove test.
	* testsuite/poke.pkl/struct-types-endian-diag-2.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Update.

2021-04-01  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/std.pk (ltos): Support an optional `base' argument.
	* testsuite/poke.std/std-test.pk: Add tests for other bases in
	ltos.
	* doc/poke.texi (ltos): Document the `base' argument.

2021-03-30  Jose E. Marchesi  <jemarch@gnu.org>

	* poke/pk-dump.pk (dump): Handle E_ios when peeking bytes.
	(pk_dump_unknown_byte): Define.
	* etc/poke-default.css (.dump-unknown): New class.
	* doc/poke.texi (Presentation options for @command{dump}):
	Document pk_dump_unknown_byte.

2021-03-30  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/ios-dev-file.c (ios_dev_file_pwrite): Return IOD_ERROR
	in case ferror returns an error.
	(ios_dev_file_pread): Return IOD_ERROR in
	case ferror returns an error.
	(ios_dev_file_pwrite): Likewise.
	* libpoke/ios.c (IOS_PUT_C_ERR_CHCK): Handle errors from pwrite.
	(ios_write_int_fast): Likewise.
	(ios_write_string): Likewise.
	(IOS_GET_C_ERR_CHCK): Handle IOD_ERROR from pread.
	(ios_read_int_common): Likewise.
	(ios_read_int): Likewise.
	(ios_read_uint): Likewise.
	(ios_read_string): Likewise.
	(ios_read_string): Use IOS_EOF instead of IOS_EIOFF.
	(ios_write_string): Likewise.
	* libpoke/ios.h (IOS_EIOFF): Remove.
	* libpoke/pvm.jitter: Use IOS_EOF instead of IOS_EIOFF.

2021-03-31  Kostas Chasialis  <sdi1600195@di.uoa.gr>

	* bootstrap.conf (gnulib_modules): Added vsnprintf-posix module.

2021-03-31  Jose E. Marchesi  <jemarch@gnu.org>

	* poke/pk-dump.pk (dump): Fix ruler and addresses for offsets >
	2^32.

2021-03-31  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pvm-val.c (pvm_array_insert): Do not pvm_sizeof the
	whole array for each inserted element.

2021-03-29  Jose E. Marchesi  <jemarch@gnu.org>

	* pickles/btf.pk (BTF_Section): Check that the header in the
	section declares the right size.
	Use header.hdr_len instead of OFFSET.
	(BTF_Header): Use an initialization value for `magic'.

2021-03-28  Mohammad-Reza Nabipoor  <m.nabipoor@yahoo.com>

	* etc/pk-mi-json-schema.json: Re-order fields. Remove `Null` object.
	Change `Mapping` to accept one required field `mapped` and three
	optional fields: `strict`, `IOS` and `offset`.
	* poke/pk-mi-json.c: Re-write the JSON to pk_val conversion.
	(jerror): New function.
	(jexpect): Likewise.
	(pvalue): Likewise.
	(pexpect): Likewise.
	(pexpect_sct): Likewise.
	(pexpect_aelem): Likewise.
	(pexpect_arr): Likewise.
	(pexpect_map): Likewise.
	(pk_mi_jsonobj_to_val): Likewise.
	(pk_mi_null_to_json): Removed.
	(pk_mi_json_to_val_1): Likewise.
	(pk_mi_json_poke_value_type): Likewise.
	(pk_mi_json_to_int): Likewise.
	(pk_mi_json_to_uint): Likewise.
	(pk_mi_json_to_string): Likewise.
	(pk_mi_json_to_offset): Likewise.
	(pk_mi_json_to_mapping): Likewise.
	(pk_mi_json_to_sct): Likewise.
	(pk_mi_json_array_element_pair): Likewise.
	(pk_mi_json_to_array): Likewise.
	(collect_json_arg): Use `pk_mi_jsonobj_to_val` function.
	(pk_mi_json_to_val): Re-write.
	(RETURN_ON_JERR): New macro.
	(RETURN_ERR_IF): Likewise.
	* testsuite/poke.mi-json/mi-json.c (JFIELD_IMPL): New macro.
	(JFIELD): Likewise.
	(CHK_IMPL): Likewise.
	(CHK): Likewise.
	(STREQ_LIT): Likewise.
	(test_json_pk_int): Re-write.
	(test_json_pk_uint): Likewise.
	(test_json_pk_string): Likewise.
	(test_json_pk_offset): Likewise.
	(test_json_pk_null): Likewise.
	(test_json_pk_sct): Likewise.
	(test_json_pk_array): Likewise.
	(test_json_to_val): Report more info to the `stdout`.
	* testsuite/poke.mi-json/pk_offset_uint.json: New sample file.
	* testsuite/poke.mi-json/pk_sct_empty.json: Likewise.
	* testsuite/poke.mi-json/pk_sct_empty_mapped.json: Likewise.
	* testsuite/poke.mi-json/pk_array.json: Change `mapping`.
	* testsuite/poke.mi-json/pk_sct.json: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Updated.

2021-03-28  Mohammad-Reza Nabipoor  <m.nabipoor@yahoo.com>

	* libpoke/libpoke.h (pk_val_mappable_p): New function declaration.
	(pk_val_set_mapped): Likewise.
	(pk_val_strict_p): Likewise.
	(pk_val_set_strict): Likewise.
	(pk_val_set_ios): Likewise.
	(pk_val_set_offset): Likewise.
	(pk_val_boffset): Likewise.
	(pk_val_set_boffset): Likewise.
	* libpoke/pvm-val.h (PVM_VAL_MAPPABLE_P): New macro.
	* libpoke/pk-val.c (pk_val_mappable_p): New function definition.
	(pk_val_set_mapped): Likewise.
	(pk_val_strict_p): Likewise.
	(pk_val_set_strict): Likewise.
	(pk_val_set_ios): Likewise.
	(pk_val_set_offset): Likewise.
	(pk_val_boffset): Likewise.
	(pk_val_set_boffset): Likewise.
	* testsuite/poke.libpoke/values.c (test_simple_values_mapping):
	New tests.

2021-03-27  Jose E. Marchesi  <jemarch@gnu.org>

	* testsuite/poke.map/ass-map-20.pk: New test.
	* testsuite/poke.map/maps-strings-4.pk: Renamed from
	maps-strings-diag-4.pk.
	* testsuite/Makefile.am (EXTRA_DIST): Update accordingly.

2021-03-27  David Faust  <david.faust@oracle.com>

	* libpoke/ios-dev-file.c (ios_dev_file_convert_flags): Return
	-1 for bad flags to avoid collision with O_RDONLY == 0.
	(ios_dev_file_open): Update flags_for_open check accordingly.

2021-03-27  Jose E. Marchesi  <jemarch@gnu.org>

	* poke/pk-dump.pk (dump): Raise E_perm instead of E_no_ios if
	the specified IO space exists but is not readable.
	* testsuite/poke.cmd/dump-10.pk: Update accordingly.

2021-03-27  Jose E. Marchesi  <jemarch@gnu.org>

	* bootstrap.conf (gnulib_modules): Import the gnulib `access'
	module.

2021-03-27  Jose E. Marchesi  <jemarch@gnu.org>

	* poke/pk-cmd-ios.c (pk_cmd_file): Do not check for read
	permissions before actually attempting to open the file.
	* libpoke/ios-dev-file.c (ios_dev_file_open): Try to open in
	write-only mode if flags are not specified.

2021-03-27  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/poke.texi (Exceptions): Document E_perm.

2021-03-27  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/ios.c (ios_read_uint): Return IOS_EPERM if the IO space
	is not readable.
	(ios_read_int): Likewise.
	(ios_read_string): Likewise.
	(IOS_GET_C_ERR_CHCK): Likewise.
	* testsuite/poke.map/maps-perm-1.pk: New test.
	* testsuite/poke.map/maps-perm-2.pk: Likewise.
	* testsuite/poke.map/maps-perm-3.pk: Likewise.
	* testsuite/poke.map/maps-perm-4.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

2021-03-27  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/ios.h (IOS_EPERM): Define.
	* libpoke/pvm.jitter (PVM_PEEK): Raise PVM_E_PERM if the IO
	subsystem reports IOS_EPERM.
	(PVM_POKE): Likewise.
	(peeks): Likewise.
	(pokes): Likewise.

2021-03-27  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pvm.h (PVM_E_PERM): Define.
	(PVM_E_PERM_MSG): Likewise.
	(PVM_E_PERM_ESTATUS): Likewise.
	* libpoke/pkl-rt.pk (EC_perm): New variable.
	(E_perm): Likewise.

2021-03-27  Mohammad-Reza Nabipoor  <m.nabipoor@yahoo.com>

	* poke/pk-mi-json.c (pk_mi_offset_to_json): Add support for `uint`
	as magnitude of offsets.

2021-03-27  Mohammad-Reza Nabipoor  <m.nabipoor@yahoo.com>

	* libpoke/pk-val.c (pk_val_offset): Fix the unit of offset to use
	`uint<64>` instead of `uint<32>`.

2021-03-27  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/ios-dev-mem.c (ios_dev_mem_open): Memory IOS are always
	read/write.
	* poke/pk-dump.pk (Arguments): Raise E_perm if the specified IOS
	is not readable.
	* testsuite/poke.cmd/dump-10.pk: New test.
	* testsuite/poke.cmd/dump-11.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new test.

2021-03-27  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-tab.y (builtin): Rule for BUILTIN_IOFLAGS.
	* libpoke/pkl-ast.h (PKL_AST_BUILTIN_IOFLAGS): Define.
	* libpoke/pkl-lex.l: Handle __PKL_BUILTIN_IOFLAGS__.
	* libpoke/pkl-insn.def: New instruction ioflags.
	* libpoke/pvm.jitter: Likewise.
	* libpoke/pkl-rt.pk (ioflags): Define function.
	* libpoke/pkl-gen.c (pkl_gen_ps_comp_stmt): Generate code for the
	ioflags builtin.
	* doc/poke.texi (ioflags): New section.
	* testsuite/poke.pkl/ioflags-1.pk: New test.
	* testsuite/poke.pkl/ioflags-2.pk: Likewise.
	* testsuite/poke.pkl/ioflags-3.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

2021-03-27  Jose E. Marchesi  <jemarch@gnu.org>
	    Mohammad-Reza Nabipoor  <m.nabipoor@yahoo.com>

	* libpoke/pkl-gen.pks (complex_lmap): Make sure to leave the
	l-value in a good state if the writer raises an exception.
	* testsuite/poke.map/ass-map-19.pk: New test.
	* testsuite/Makefile.am (EXTRA_DIST): Add new test.

2021-03-26  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-pass.c (pkl_do_pass_1): PKL_AST_LOOP_STMT_HEAD is a
	chain.
	* testsuite/poke.pkl/for-13.pk: New test.
	* testsuite/Makefile.am (EXTRA_DIST): Add new test.

2021-03-25  Jose E. Marchesi  <jemarch@gnu.org>

	* poke/pk-cmd-ios.c (PK_FILE_UFLAGS): Define.
	(PK_FILE_F_CREATE): Likewise.
	(pk_cmd_file): Maybe create file.
	(file_cmd): Register PK_FILE_UFLAGS.
	* poke/pk-ios.c (pk_open_file): Get a new argument create_p.
	* poke/pk-ios.h: Update prototype for pk_open_file accordingly.
	* doc/poke.texi (file command): Document the flag /c.

2021-03-24  Jose E. Marchesi  <jemarch@gnu.org>

	* pickles/leb128.pk: Fix method `value' for both LEB128 and
	ULEB128.

2021-03-21  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Update version to 1.1.
	* doc/gendocs_template: Likewise.

2021-03-21  Jose E. Marchesi  <jemarch@gnu.org>

	* NEWS: Update for 1.1.

2021-03-19  Jose E. Marchesi  <jemarch@gnu.org>

	* etc/Makefile.am (dist_lisp_DATA): Avoid byte-compiling emacs
	modes.

2021-03-17  Kostas Chasialis <sdi1600195@di.uoa.gr>

	* doc/gen-pvm-insns.sh: A more portable version of the script.
	* cfg.mk (sc_tests_listed_in_makefile_am): Now correctly finds
	tests on srcdir builds.

2021-03-17  Egeyar Bagcioglu  <egeyar@gmail.com>

	* libpoke/ios-dev-file.c (ios_dev_file_open): Create files with
	adequate flags.

2021-03-17  Jose E. Marchesi  <jemarch@gnu.org>

	* poke/pk-ios.h: Rename pk_open_ios to pk_open_file.
	* poke/pk-ios.c (pk_open_file): Likewise.
	(pk_open_file): Pass set_cur_p to pk_ios_open.
	* poke/pk-cmd-ios.c (pk_cmd_file): Reflect rename.
	* poke/poke.c (parse_args_2): Use pk_ios_open instead of
	pk_open_file.

2021-03-15  Egeyar Bagcioglu  <egeyar@gmail.com>

	* .gitignore: Add /build /gl-libutils /doc/poke.text and tags

2021-03-16  Thomas Weißschuh <thomas@t-8ch.de>

	* etc/Makefile.am: Distribute Emacs syntax highlighting.

2021-03-15  Egeyar Bagcioglu  <egeyar@gmail.com>

	* libpoke/ios-dev-file.c (ios_dev_file_convert_flags): New function.
	(ios_dev_file_open): Open files with the right flags via "open".

2021-03-15  Egeyar Bagcioglu  <egeyar@gmail.com>

	* doc/poke.texi: Remove IOS_F_TRUNCATE.
	* etc/poke-mode.el: Likewise.
	* etc/poke.vim: Likewise.
	* libpoke/ios-dev-file.c (ios_dev_file_open): Likewise.
	* libpoke/ios-dev-nbd.c (ios_dev_nbd_open): Likewise.
	* libpoke/libpoke.h: Likewise.
	* libpoke/ios.h: Likewise.
	* libpoke/pkl-rt.pk: Likewise.

2021-03-13  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-tab.y (struct_type_field): Adapt to
	struct_type_field_constraint_and_init.
	(struct_type_field_constraint_and_init): Rename from
	struct_type_field_constraint_or_init.
	* doc/poke.texi (Field Initializers): Document that both
	initializers and constructors are valid.
	* testsuite/poke.pkl/field-init-diag-3.pk: Remove test.
	* testsuite/poke.pkl/field-init-9.pk: New test.
	* testsuite/poke.pkl/field-init-10.pk: Likewise.
	* testsuite/poke.pkl/field-init-11.pk: Likewise.
	* testsuite/poke.pkl/field-init-12.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Update.

2021-03-13  Jose E. Marchesi  <jemarch@gnu.org>

	* poke/pk-dump.pk: Round :size up to the next byte instead of
	truncating.
	* testsuite/poke.cmd/dump-9.pk (pk_dump_ascii): New test.
	* testsuite/Makefile.am (EXTRA_DIST): Add new test.

2021-03-13  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-gen.c (pkl_gen_pr_ass_stmt): Use SSET instead of
	SSETI for values mapped in non-strict mode.
	* testsuite/poke.map/nsmap-5.pk: New test.
	* testsuite/Makefile.am (EXTRA_DIST): Add new test.

2021-03-13  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/poke.texi (Handling Incorrect Data): New section.

2021-03-13  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/poke.texi (Non-strict Mapping): Texinfo fix.

2021-03-12  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/poke.texi (Writing Binary Utilities): New chapter.
	(Poke Scripts): New section.
	(Filters): Likewise.
	(Command-Line Arguments): Likewise.

2021-03-11  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-insn.def: define instruction `rev'.
	* libpoke/pkl-asm.c (pkl_asm_insn_rev): New function.
	(pkl_asm_insn): Support REV.
	* libpoke/pkl-gen.c (pkl_gen_pr_print_stmt): Use the rev
	macro-instruction.
	(pkl_gen_pr_funcall): Likewise.
	(pkl_gen_pr_func): Likewise.

2021-03-11  Jose E. Marchesi  <jemarch@gnu.org>

	* cfg.mk (sc_unitalicised_etc): Change rule so it is not triggered
	by mentions to files in etc/.
	* utils/pk-strings.in: Remove trailing whitespaces.

2021-03-10  Jose E. Marchesi  <jemarch@gnu.org>

	* utils/pk-strings.in: New file.
	* utils/Makefile.am: Rules for pk-strings.

2021-03-10  Jose E. Marchesi  <jemarch@gnu.org>

	* poke/pk-repl.c (banner): Avoid incomplete sentences in
	translatable strings.

2021-03-10  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-rt.pk: Do not raise an exception if HOME is not
	defined in the environment.

2021-03-08  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-typify.c (pkl_typify1_ps_struct_type_field): Use
	pkl_ast_type_mappable_p to decide which field types are valid.
	* testsuite/poke.pkl/struct-types-diag-12.pk: New test.
	* testsuite/poke.pkl/struct-types-diag-13.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

2021-03-08  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-typify.c (pkl_typify1_ps_struct_type_field): Use
	pkl_ast_type_mappable_p to decide which field types are valid.
	* testsuite/poke.pkl/struct-types-diag-12.pk: New test.
	* testsuite/poke.pkl/struct-types-diag-13.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

2021-03-08  Jose E. Marchesi  <jemarch@gnu.org>

	* .x-sc_prohibit_path_max_allocation: New file.

2021-03-08  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/ios-dev-file.c (ios_dev_file_open): Handle `open' flags
	better.
	* poke/pk-save.pk (save): Adapt to new handling of flags in the
	file IOD.

2021-03-07  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/poke.texi (Struct Methods): Explain how methods have the
	ability to break data integrity.

2021-03-07  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Check for recfix.
	* cfg.mk (sc_recfix_poke_rec): New rule.

2021-03-06  Jose E. Marchesi  <jemarch@gnu.org>

	* testsuite/Makefile.am (check-DEJAGNU): `make check' now exits
	with an error status if runtest fails.

2021-03-06  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pvm-val.h (PVM_VAL_OFF_UNIT_GIGIBYTES): Avoid using a LU
	suffix, fixing 32-bit.
	(PVM_VAL_OFF_UNIT_GIGABYTES): Likewise.

2021-03-06  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pvm.jitter (PVM_POWOP_SIGNED): Avoid using the L suffix,
	fixing 32-bit.

2021-03-06  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-trans.c (pkl_trans1_ps_array): Avoid using size_t
	variables, fixing 32-bit.

2021-03-06  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Set NBDKIT to `no' if --disable-libnbd is used.

2021-03-06  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-trans.c (pkl_trans1_ps_print_stmt): Fix error
	message.

2021-03-06  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pvm.jitter (PVM_PRINTL): make more portable.
	(printlu): Adapt accordingly.
	(printl): Likewise.
	(PVM_PRINTI): Make more portable.
	(printiu): Adapt accordingly.
	(printi): Likewise.

2021-03-05  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-gen.c (pkl_gen_pr_type_array): Use pkl_asm_note
	instead of pkl_asm_insn (...PKL_INSN_NOTE).

2021-03-05  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pvm-env.c (pvm_env_register): Fix for 32-bit hosts.

2021-03-05  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/poke.texi (Mapping Functions): New section.
	(Programming Emacs Modes): New chapter.
	(poke-mode): New section.
	(ras-mode): Likewise.
	(poke-map-mode): Likewise.

2021-03-04  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/poke.texi (Strings are not Arrays): New section.

2021-03-03  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/poke.texi (Getting Started): New section.

2021-03-02  Jose E. Marchesi  <jemarch@gnu.org>

	* poke/pk-cmd-set.c (pk_cmd_set_oacutoff): Fix error message.
	(pk_cmd_set_obase): Likewise.
	(pk_cmd_set_endian): Likewise.
	(pk_cmd_set_nenc): Likewise.
	(pk_cmd_set_auto_map): Likewise.
	(pk_cmd_set_prompt_maps): Likewise.
	(pk_cmd_set_pretty_print): Likewise.
	(pk_cmd_set_odepth): Likewise.
	(pk_cmd_set_oindent): Likewise.
	(pk_cmd_set_omaps): Likewise.
	(pk_cmd_set_omode): Likewise.
	* poke/pk-cmd-ios.c (pk_cmd_file): Likewise.
	* poke/pk-repl.c (banner): Likewise.

2021-03-02  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pvm.jitter (ains): Raise E_inval with a more informative
	message.
	(map): Likewise.
	(reloc): Likewise.
	(ureloc): Likewise.

2021-03-02  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/poke.texi (Padding and Alignment): New section.

2021-02-28  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pkl-typify.c (CASE_INTEGRAL): Emit a compilation error
	for INTEGRAL/OFFSET and INTEGRAL/^OFFSET.
	* testsuite/poke.pkl/div-integers-diag-2.pk: New test.
	* testsuite/poke.pkl/cdiv-integers-diag-2.pk: Likewise.
	* testsuite/poke.pkl/mod-integers-diag-2.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

2021-02-28  Jose E. Marchesi  <jemarch@gnu.org>

	* testsuite/poke.time/time32.pk: Do not use host endianness in the
	test.

2021-02-28  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/Makefile.am (MOSTLYCLEANFILES): handle removal of files
	created by AX_CREATE_PKGCONFIG_INFO at make distclean.

2021-02-28  Mohammad-Reza Nabipoor  <m.nabipoor@yahoo.com>

	* poke/pk-cmd-map.c (SET_TO_CUR_IOS_ID): Add new macro to find the
	current IOS id.
	(pk_cmd_map_create): Use `SET_TO_CUR_IOS_ID` macro.
	(pk_cmd_map_remove): Likewise.
	(pk_cmd_map_show): Likewise.
	(pk_cmd_map_entry_add): Likewise.
	(pk_cmd_map_entry_remove): Likewise.
	(pk_cmd_map_load): Likewise.
	(pk_cmd_info_maps): Likewise.

2021-02-27  Sergei Trofimovich <slyfox@gentoo.org>

	* pickles/Makefile.am (dist_pickles_DATA): Package rest of *.pk files
	to tarball: mcr.pk dwarf-expr.pk dwarf-info.pk id3v2.pk.

2021-02-27  Jose E. Marchesi  <jemarch@gnu.org>

	* libpoke/pk-val.c (pk_val_offset): Return PK_NULL if the given
	value is not mapped.
	* testsuite/poke.libpoke/values.c (test_simple_values): Check that
	pk_val_offset returns PK_NULL for simple values.

2021-02-27  Jose E. Marchesi  <jemarch@gnu.org>

	* poke/pk-map-tab.y (tagged_value_list): Fix error messages.
	(check_entry_duplicated_tags): Likewise.
	(pk_map_printf_error): Make static.

2021-02-27  Morten Linderud  <morten@linderud.pw>

	* poke/poke.pk: Fix setting of map_load_path when XDG_DATA_HOME is
	set.

2021-02-27  Sergei Trofimovich <slyfox@gentoo.org>

	* doc/poke.texi (Describe-Compute): fix example and wording.

2021-02-26  Jose E. Marchesi  <jemarch@gnu.org>

	* etc/Makefile.am (EXTRA_DIST): Distribute etc/poke.rec.

2021-02-26  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Update version number to 1.0.
	* NEWS: Update for 1.0.
	* doc/gendocs_template: Likewise.

2021-02-25  Indu Bhagat  <indu.bhagat@oracle.com>

	* pickles/ctf.pk (ctf_kind_str): Add string for slice.
	(CTF_Dictionary): New type.
	(CTF_Preamble): Add _print function.
	(CTF_Header): Likewise.
	(ctf_get_header): Rename to ctf_get_dict.

2021-02-25  Jose E. Marchesi  <jemarch@gnu.org>

	* poke/pk-cmd-map.c (pk_cmd_map_save): Show a "not implemented
	message".
	* poke/pk-cmd.c (pk_cmd_exec_1): Invoke commands even if glob
	fails.
	* poke/pk-cmd-misc.c (pk_cmd_exit): Remove spurious code.

2021-02-25  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/poke.texi (Standard Units): Update to reflect std.pk.

2021-02-24  Egeyar Bagcioglu  <egeyar@gmail.com>

	* poke/pk-cmd-ios.c (pk_cmd_close): Replace "The current file is now
	`%s'.\n" with "The current IOS is now `%s'.\n" for correctness and
	consistency.

2021-02-24  Egeyar Bagcioglu  <egeyar@gmail.com>

	* libpoke/ios-dev-stream.c (ios_dev_stream_pread): Change internal
	implementation.

2021-02-24  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gendocs_template: Use our own gendocs.sh template.

2021-02-24  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/poke.texi (Structured Integers): New section.

2021-02-24  Indu Bhagat  <indu.bhagat@oracle.com>

	* utils/pk-elfextractor.in: use get_section_name instead of get_string.

2021-02-24  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/poke.texi (Maps and Map-files): New chapter.
	(Editing using Variables): New section.
	(poke Maps): Likewise.
	(Loading Maps): Likewise.
	(Multiple Maps): Likewise.
	(Auto-map): Likewise.
	(Constructing Maps): Likewise.
	(Predefined Maps): Likewise.

2021-02-23  Indu Bhagat  <indu.bhagat@oracle.com>

	* doc/poke.texi: fix minor typos.

2021-02-23  Jose E. Marchesi  <jemarch@gnu.org>

	* poke/poke.c (pk_print_version): Print version even with no hand.

2021-02-23  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Change version to 0.91.
