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.

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

	* poke/pk-term.c (lookup_color_code): Define only #if
	HAVE_TEXTSTYLE_ACCESSORS_SUPPORT.
	(register_color): Likewise.

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

	* libpoke/pkl-lex.l: Fix detection of overflow in signed integer
	literals.
	* testsuite/poke.pkl/cdiv-integers-overflow-2.pk: Update test.
	* testsuite/poke.pkl/neg-int-overflow-diag-2.pk: Likewise.
	* testsuite/poke.pkl/sub-integers-overflow-diag-2.pk: Likewise.
	* testsuite/poke.pkl/sub-integers-overflow-2.pk: Likewise.
	* testsuite/poke.pkl/neg-int-overflow-2.pk: Likewise.
	* testsuite/poke.pkl/mod-integers-overflow-2.pk: Likewise.
	* testsuite/poke.pkl/div-integers-overflow-diag-1.pk: Likewise.
	* testsuite/poke.pkl/div-integers-overflow-2.pk: Likewise.
	* testsuite/poke.libpoke/pk_equal_uint.test: Likewise.

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

	* testsuite/lib/poke.exp (poke-tmpdir): New procedure.
	* testsuite/poke.repl/repl.exp: Do not rely on Tcl 8.6.

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

	* testsuite/lib/poke-dg.exp (dg-data): Avoid using the unportable
	printf %q.

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

	* AUTHORS: Add Indu.
	* etc/hacking.org: Add Indu to the write-after-approval list.
	* HACKING: Regenerate.

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

	* libpoke/pvm.jitter (PVM_POWOP_SIGNED): Define.
	(powi): Use PVM_POWOP_SIGNED.
	(powl): Likewise.
	* testsuite/poke.pkl/pow-integers-overflow-1.pk: New test.
	* testsuite/poke.pkl/pow-integers-overflow-2.pk: Likewise.
	* testsuite/poke.pkl/pow-integers-3.pk: Update test.
	* testsuite/poke.pkl/pow-offsets-3.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

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

	* libpoke/pkl-fold.c (OP_UNARY_II): Detect overflow constant
	folding negation.
	* libpoke/pvm.jitter (PVM_NEG_SIGNED): Define.
	(negi): Use PVM_NEG_SIGNED.
	(negl): Likewise.
	* testsuite/poke.pkl/neg-int-overflow-diag-1.pk: New test.
	* testsuite/poke.pkl/neg-int-overflow-diag-2.pk: Likewise.
	* testsuite/poke.pkl/neg-int-overflow-1.pk: Likewise.
	* testsuite/poke.pkl/neg-int-overflow-2.pk: Likewise.
	* testsuite/poke.pkl/sub-integers-overflow-3.pk: Update test.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

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

	* libpoke/pkl-fold.c (OP_BINARY_III): Detect overflow constant
	folding signed remainder.
	* libpoke/pvm.jitter (PVM_MOD_SIGNED): Define.
	(modi): Use PVM_MOD_SIGNED.
	(modl): Likewise.
	* testsuite/poke.pkl/mod-integers-overflow-diag-1.pk: New test.
	* testsuite/poke.pkl/mod-integers-overflow-diag-2.pk: Likewise.
	* testsuite/poke.pkl/mod-integers-overflow-1.pk: Likewise.
	* testsuite/poke.pkl/mod-integers-overflow-2.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

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

	* libpoke/pvm.jitter (PVM_MUL_SIGNED): Simplify a bit.
	(PVM_DIV_SIGNED): Likewise.

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

	* libpoke/pkl-fold.c (OP_BINARY_III): Error while constant folding
	signed division and ceil-division if the operation would result in
	overflow.
	* libpoke/pvm.jitter (PVM_DIV_SIGNED): Define.
	(divi): Use PVM_DIV_SIGNED.
	(divl): Likewise.
	* testsuite/poke.pkl/div-integers-overflow-diag-1.pk: New test.
	* testsuite/poke.pkl/div-integers-overflow-diag-2.pk: Likewise.
	* testsuite/poke.pkl/cdiv-integers-overflow-diag-1.pk: Likewise.
	* testsuite/poke.pkl/cdiv-integers-overflow-diag-2.pk: Likewise.
	* testsuite/poke.pkl/div-integers-overflow-1.pk: Likewise.
	* testsuite/poke.pkl/div-integers-overflow-2.pk: Likewise.
	* testsuite/poke.pkl/div-integers-overflow-3.pk: Likewise.
	* testsuite/poke.pkl/cdiv-integers-overflow-1.pk: Likewise.
	* testsuite/poke.pkl/cdiv-integers-overflow-2.pk: Likewise.
	* testsuite/poke.pkl/cdiv-integers-overflow-3.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

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

	* libpoke/pkl-fold.c (OP_BINARY_III): Error while constant folding
	signed multiplication if the operation would result in overflow.
	* libpoke/pvm.jitter (PVM_SUB_SIGNED): Define.
	(muli): Use PVM_SUB_SIGNED.
	(mull): Likewise.
	* libpoke/std.pk (atoi): Avoid overflow.
	* testsuite/poke.std/std-test.pk: Update test.
	* testsuite/poke.pkl/mul-integers-overflow-diag-1.pk: New test.
	* testsuite/poke.pkl/mul-integers-overflow-diag-2.pk: Likewise.
	* testsuite/poke.pkl/mul-integers-overflow-diag-3.pk: Likewise.
	* testsuite/poke.pkl/mul-integers-overflow-1.pk: Likewise.
	* testsuite/poke.pkl/mul-integers-overflow-2.pk: Likewise.
	* testsuite/poke.pkl/mul-integers-overflow-3.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

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

	* libpoke/pkl-fold.c (OP_BINARY_III): Error while constant folding
	signed subtraction if the operation would result in overflow.
	* libpoke/pkl-lex.l: Fix promotion of constants to 64-bit.
	* libpoke/pvm.jitter (PVM_SUB_SIGNED): Define.
	(subi): Use PVM_SUB_SIGNED.
	(subl): Likewise.
	* testsuite/poke.pkl/sub-integers-overflow-diag-1.pk: New test.
	* testsuite/poke.pkl/sub-integers-overflow-diag-2.pk: Likewise.
	* testsuite/poke.pkl/sub-integers-overflow-diag-3.pk: Likewise.
	* testsuite/poke.pkl/sub-integers-overflow-1.pk: Likewise.
	* testsuite/poke.pkl/sub-integers-overflow-2.pk: Likewise.
	* testsuite/poke.pkl/sub-integers-overflow-3.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

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

	* libpoke/pkl-fold.c (OP_BINARY_III): Error on overflow on certain
	signed arithmetic operations.
	* libpoke/pvm.jitter (PVM_ADD_SIGNED): Define.
	(addi): Use PVM_ADD_SIGNED.
	(addl): Likewise.
	* testsuite/poke.pkl/add-integers-overflow-1.pk: New test.
	* testsuite/poke.pkl/add-integers-overflow-2.pk: Likewise.
	* testsuite/poke.pkl/add-integers-overflow-3.pk: Likewise.
	* testsuite/poke.pkl/add-integers-overflow-4.pk: Likewise.
	* testsuite/poke.pkl/add-integers-overflow-5.pk: Likewise.
	* testsuite/poke.pkl/add-integers-overflow-diag-1.pk: Likewise.
	* testsuite/poke.pkl/add-integers-overflow-diag-2.pk: Likewise.
	* testsuite/poke.pkl/add-integers-overflow-diag-3.pk: Likewise.
	* testsuite/Makefile.am (EXTRA_DIST): Add new tests.

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

	* libpoke/pkl-promo.c (promote_node): Make sure to set `restart'
	in any case.

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

	* poke/pk-map.c (entry_name_to_varname): Use PRIu64 instead of %lu
	in printf format string.

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

	* configure.ac: Fix --disable-feature In optional features that
	use PKG_CHECK_MODULES.

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

	* configure.ac: Invoke gl_HOST_CPU_C_ABI_32BIT and ac_define the
	corresponding cpp macro.
	* libpoke/pkl-asm.c (pkl_asm_insn): Use POKE_HOST_32BIT instead of
	the undocumented and unportable __WORDSIZE.
	(pkl_asm_note): Likewise.
	* libpoke/pvm-program.c (pvm_program_append_push_instruction):
	Likewise.

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

	* bootstrap.conf (libpoke_modules): Add intprops.
	(gui_modules): Add alloca.
	(gnulib_modules): Add host-cpu-c-abi.

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

	* libpoke/pkl-rt.pk (EC_overflow): Define.
	(E_overflow): Likewise.
	* libpoke/pvm.h (PVM_E_OVERFLOW): Define.
	(PVM_E_OVERFLOW_MSG): Likewise.
	(PVM_E_OVERFLOW_ESTATUS): Likewise.
	* doc/poke.texi (Exceptions): Document E_overflow.

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

	* bootstrap.conf (libpoke_modules): Add the free-posix module.

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

	* poke/poke.pk: Do not assume HOME is defined in the environment.

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

	* poke/pk-cmd-misc.c (quit_cmd): Define.
	* poke/pk-cmd.c (dot_cmds): Add quit_cmd.
	* doc/poke.texi (quit command): New section.

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

	* etc/hacking.org: Add David Faust to the write after approval
	list.

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

	* bootstrap.conf (buildreq): Fix indentation.

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

	* libpoke/std.pk (crc32): Avoid too long lines.

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

	* doc/poke.texi (Invoking poke): Leave empty lines between
	argument descriptions, and add missing arguments.

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

	* poke/poke.c (pk_print_version): Print the poke hand
	conditionally.
	(parse_args_2): Do not print the poke hand in the --version
	output.
	* poke/pk-repl.c (banner): DO print the poke hand as part of the
	poke banner :)
	* poke/pk-cmd-misc.c (pk_cmd_version): Likewise.

2021-02-21  Indu Bhagat  <indu.bhagat@oracle.com>
	    Jose E. Marchesi  <jemarch@gnu.org>

	* poke/pk-save.pk (save): Fix invocation to copy.
	* testsuite/poke.cmd/save-2.pk: New test.
	* testsuite/Makefile.am (EXTRA_DIST): Update.

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

	* Makefile.am (update-hacking): New maintenance rule to regenerate
	HACKING from etc/hacking.org.
	* HACKING: Update.
	* DEV-NEWS: Update.

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

	* libpoke/Makefile.am (.pks.pkc): Fix typo in command.

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

	* libpoke/pkl-rt.pk: Fix typo in comment
	.

