2009-07-24  Jose E. Marchesi  <jemarch@gnu.org>

	* prmgt/fly2org (generate_epilog): Top-level Epilog section.

2009-07-23  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-time-string.c (pdf_time_from_string_pdf): Invalid
	assignation of gmt_offset fixed.  The gmt_offset stored in the
	returned pdf_time_t variable is obtained from the calendar
	structure.

	* src/base/pdf-fsys.c (pdf_fsys_item_props_to_hash): Use the new
	prototype of 'pdf_time_to_string'.

	* torture/unit/base/time/pdf-time-to-string.c: Likewise.

	* torture/unit/base/time/pdf-time-from-string.c: Likewise.

	* torture/unit/base/time/pdf-time-new.c: Likewise.

	* doc/gnupdf.texi (Time Printing and Parsing): Document the
	'include_trailing_apostrophe' for the function
	'pdf_time_to_string'.

	* src/base/pdf-time.h: New parameter 'include_trailing_apostrophe'
	for the function 'pdf_time_to_string'.

	* src/base/pdf-time.c (pdf_time_to_string): Modified to manage the
	'include_trailing_apostrophe' parameter.

	* src/base/pdf-time-string.c (pdf_time_to_string_pdf): Likewise.

	* src/base/pdf-time-string.h: New parameter
	'include_trailing_apostrophe' for the 'pdf_time_to_string_pdf'
	function.

2009-07-20  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Condition fixed in the reporting of the
	availability of unit testing support. Reported by Gaurav
	Aggarwal.

2009-07-13  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Time Printing and Parsing): Mention the
	'require_trailing_apostrophe' argument in the documentation of
	'pdf_time_from_string'.

	* src/base/pdf-time-string.c (pdf_time_from_string_pdf): New
	parameter 'require_trailing_apostrophe' to support both PDF 1.x
	and ISO 32000.
	(pdf_time_check_string_pdf): Adapted to use
	'require_trailing_apostrophe'.

	* doc/gnupdf.texi (Generic Functions to Manipulate Objects):
	Section renamed from 'Object Generic Functions'.

2009-07-12  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Opening and Closing Object Documents): Typo on
	the usage example of pdf_obj_doc_close fixed.

2009-07-08  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Typo in the detection of libgcrypt when compiling
	for mingw32 fixed.
	Explicitly check for libgpg-error if compiling for mingw32.

2009-07-27  Brad Hards  <bradh@kde.org>

	* utils/Makefile.am: Typo fix in pdf-tokeniser build.

2009-06-28  Jose E. Marchesi  <jemarch@gnu.org>

	* utils/Makefile.am (pdf_tokeniser_SOURCES): Uncommented.
	(bin_PROGRAMS): pdf-tokeniser added.

2009-06-28  Juan Pedro Bolívar Puente  <raskolnikov@es.gnu.org>

	* src/base/pdf-stm-f-lzw.c: port of LZW filter to new API
	* src/base/pdf-stm-f-lzw.h: likewise
	* src/base/pdf-stm-filter.c: likewise
	* src/base/pdf-stm-filter.h: likewise
	* src/Makefile.am: integrate pdf-stm-f-lzw.[c,h] back into build
	system
	* torture/unit/base/stm/pdf-stm-write.c: add test case from PDF
	specification version 1.7.
	* (Brad Hards contributed to this patch)
	* util/pdf-filter.c: added LZW filter. (by Jose E. Marchesi)

2009-06-24  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/pdf-tokeniser.1: New file, generated from
	utils/pdf-tokeniser using help2man.

	* utils/pdf-tokeniser.c: Manage standard --help, --usage and
	--version command line options.

	* utils/pdf-filter.c: Fix in usage message.

	* utils/pdf-tokeniser.h: New file.

	* utils/Makefile.am: Use 'pdf-tokeniser' instead of 'pdf-toktest'.

	* utils/pdf-tokeniser.c: Renamed from 'utils/toktest.c'.


2009-06-24  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-hash-helper.h: Added functions 'pdf_hash_add_bool'
	and 'pdf_hash_get_bool'.

	* src/base/pdf-hash-helper.c: Likewise.

	* utils/pdf-filter.h: Added support for the LZW filters.

	* utils/pdf-filter.c: Likewise.


2009-06-22  Brad Hards  <bradh@kde.org>

	* src/base/pdf-text.c (pdf_text_dup): Protect against NULL arg.

	* torture/unit/base/text/tsuite-text.c (tsuite_text): Reorganise
	tests to avoid failure when running with CK_FORK="no"
	* torture/unit/base/text/pdf-text-new-destroy.c : likewise


2009-06-18  Brad Hards  <bradh@kde.org>

	* doc/gnupdf-arch.texi: fix typos

	* MANIFEST.wiki: update / fix typos.
	* build-aux/README: likewise
	* doc/MANIFEST.wiki: likewise
	* doc/figures/MANIFEST.wiki: likewise
	* lib/README: likewise
	* m4/MANIFEST.wiki: likewise
	* prmgt/MANIFEST.wiki: likewise
	* src/MANIFEST.wiki: likewise
	* src/README: likewise
	* src/object/MANIFEST.wiki: likewise
	* torture/MANIFEST.wiki: likewise
	* torture/README: likewise
	* utils/MANIFEST.wiki: likewise
	* utils/README: likewise

	* prmgt/pertdot.xsl, prmgt/pertfdp.xsl: delete unused.

2009-06-18  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-token-reader.c (flush_token): Update beg_pos only
	if a token was produced.

2009-06-17  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-token-reader.c (enter_state): New private function.

2009-06-17  Brad Hards  <bradh@kde.org>

	* src/base/pdf-time.c (pdf_time_span_negate): protect against null
	argument.

	* doc/gnupdf.texi: various typo fixes.

	* doc/gnupdf-hg.texi (Running the unit tests): document use of
	the CK_VERBOSITY environment variable.
	Minor other doco fixes.

	* torture/unit/runtests.c (main): use CK_ENV instead of CK_VERBOSE.

2009-06-16  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-stm.c (pdf_stm_init): Initialize seq_counter to 0.

	* src/base/pdf-stm.h (struct pdf_stm_s): New member seq_counter.

	* src/base/pdf-stm.c (pdf_stm_bseek): Renamed from pdf_stm_seek.
	(pdf_stm_btell): Renamed from pdf_stm_tell.
	(pdf_stm_tell): New function.

	* doc/gnupdf.texi (Stream Positioning): pdf_stm_tell/seek are not
	pdf_stm_btell/bseek.
	New documentation for pdf_stm_tell.

	* torture/unit/base/stm/pdf-stm-flush.c: New file.

	* torture/unit/base/time/pdf-time-span-negate.c
	(pdf_time_span_negate_003): Pass a NULL pointer to
	pdf_time_span_negate.

	* torture/unit/base/text/pdf-text-dup.c (pdf_text_dup_005): Pass a
	NULL pointer to pdf_text_dup.

	* torture/unit/base/time/pdf-time-to-string.c: Include string.h
	for the definition of memset.

	* torture/unit/base/time/pdf-time-set-to-current-utc-time.c:
	Include string.h for the definition of memset.

	* torture/unit/base/time/pdf-time-set-to-current-local-time.c:
	Include string.h for the definition of memset.

	* torture/unit/base/time/pdf-time-diff-cal.c: Include string.h for
	the definition of memset.

	* torture/unit/base/time/pdf-time-from-string.c: Include string.h
	for the definition of memset.

	* torture/unit/base/time/pdf-time-new.c: Include string.h.

	* torture/unit/base/time/tsuite-time.c: Missing prototypes added.

	* torture/unit/base/time/pdf-time-w32-set-from-filetime.c: New
	file.

	* torture/unit/base/time/pdf-time-to-string.c: New file.

	* torture/unit/base/time/pdf-time-sub-span.c: New file.

	* torture/unit/base/time/pdf-time-sub-cal-span.c: New file.

	* torture/unit/base/time/pdf-time-set-to-current-utc-time.c: New
	file.

	* torture/unit/base/time/pdf-time-set-to-current-local-time.c: New
	file.

	* torture/unit/base/time/pdf-time-set-local-offset.c: New file.

	* torture/unit/base/time/pdf-time-get-utc-cal.c: New file.

	* torture/unit/base/time/pdf-time-get-local-cal.c: New file.

	* torture/unit/base/time/pdf-time-diff-cal.c: New file.

	* torture/unit/base/time/pdf-time-diff.c: New file.

	* torture/unit/base/time/pdf-time-cal-span-diff.c: New file.

	* torture/unit/base/time/pdf-time-cal-span-cmp.c: New file.

	* torture/unit/base/time/pdf-time-add-span.c: New file.

	* torture/unit/base/time/pdf-time-add-cal-span-with-base.c: New
	file.

	* AUTHORS: Update.

	* New tests for types/crypt modules and minor corrections in the
	reference manual. By Brad Hards.

2009-06-15  Jose E. Marchesi  <jemarch@gnu.org>

	* torture/unit/base/time/pdf-time-span-destroy.c: Pass addresses
	to pdf_time_span_destroy_001.

2009-06-13  Jose E. Marchesi  <jemarch@gnu.org>

	* AUTHORS: Brad Hards added.

	* torture/unit/base/time/pdf-time-from-string.c: Several typos
	fixed. Fix by Brad Hards.
	(START_TEST): Memset the right amount of octects in
	pdf_time_from_string_002. Reported by Brad hards.

	* torture/unit/base/time/pdf-time-copy.c (START_TEST): Initialize
	the time variable used as the destination in a copy. Fix by Brad
	Hards.

2009-05-26  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-stm.c (pdf_stm_tell): The size of used cache should
	be substracted to the position reported by the backend.

2009-05-25  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-token.h (pdf_token_type): Prototype for
	'pdf_token_type' changed to read 'pdf_token_get_type'.

2009-05-20  Michael Gold  <mgold@ncf.ca>

	Implement the token reader API.

	* src/base/pdf-token.c: New file, based on src/object/pdf-obj.c

	* src/base/pdf-token.h: Likewise

	* src/base/pdf-token-reader.c: New file

	* src/base/pdf-token-reader.h: New file

	* src/base/pdf-error.h: Add PDF_EBADFILE, PDF_EIMPLLIMIT error codes

	* src/Makefile.am: Add token reader support

	* doc/gnupdf.text: Document pdf_token_equal_p

	* torture/unit/base/token/pdf-token-read.c: New file

	* torture/unit/base/token/tsuite-token.c: New file

	* torture/unit/Makefile.am: Add token reader testcases

	* torture/unit/runtests.c: Likewise

	* utils/toktest.c: New file

	* utils/Makefile.am: Build toktest

2009-05-19  David Vazquez  <davazp@es.gnu.org>

	* src/base/pdf-crypt.h: Use STATIC_INLINE indeed of EXTERN_INLINE.

	* src/base/pdf-list.h: Use STATIC_INLINE indeed of EXTERN_INLINE.

	* src/base/pdf-types.h: Remove EXTERN_INLINE macro.

2009-05-19  Michael Gold  <mgold@ncf.ca>

	* doc/gnupdf.texi: Expanded the tokeniser API documentation.

2009-05-19  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-stm.c: converted to Unix from DOS codification.

	* src/base/pdf-stm-filter.c (pdf_stm_filter_new): Check for out of
	memory situations.

	* torture/unit/nocheck/check.c (srunner_free): It is not needed to
	check for NULL before to apply a 'free()'.

2009-05-18  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Architectural limits): Typo fixed. Reported by
	Brad Hards.

	* src/README: Typo fixed. Reported by Brad Hards.

2009-05-15  Gerardo E. Gidoni  <gerel@gnu.org>

	* doc/gnupdf.texi: changed pdf_fsys_file_read/write to be like pdf_stm_read/write.

	* src/base/pdf-fsys-disk.c: likewise.

	* src/base/pdf-fsys-disk.h:likewise.

	* src/base/pdf-fsys.c:likewise.

	* src/base/pdf-fsys.h: likewise.

	* src/base/pdf-stm-be.c: likewise.

2009-05-15  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf-hg.texi (Tasks workflow): Added a note about the
	interpretation of TODO and NEXT.

	* doc/gendocs_template: Customized.

	* doc/Makefile.am: Support for generation of manuals using the
	gendocs.sh script from gnulib.

2009-05-14  Gerardo E. Gidoni  <gerel@gnu.org>

	* torture/unit/Makefile.am: added file stm new test case.

	* torture/unit/base/stm/pdf-stm-file-new.c: likewise.

	* torture/unit/base/stm/pdf-stm-peek-char.c: added file stm tests.

	* torture/unit/base/stm/pdf-stm-read-char.c: likewise.

	* torture/unit/base/stm/pdf-stm-read.c: likewise.

	* torture/unit/base/stm/pdf-stm-seek.c: likewise.

	* torture/unit/base/stm/pdf-stm-tell.c: likewise.

	* torture/unit/base/stm/pdf-stm-write.c: likewise.

	* torture/unit/base/stm/tsuite-stm.c: likewise.

2009-05-11  David Vazquez  <davazp@es.gnu.org>

	* doc/gnupdf.texi (Debugging procedures): Documentation for
	PDF_ASSERT macros.

	* src/base/pdf-error.h (PDF_DEBUG_BASE, PDF_DEBUG_OBJECT)
	(PDF_DEBUG_DOCUMENT, PDF_DEBUG_PAGE): Export to the public header.
	(PDF_ASSERT_BASE, PDF_ASSERT_OBJECT, PDF_ASSERT_DOCUMENT)
	(PDF_ASSERT_PAGE): New macros for debugging.

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

	* doc/gnupdf-arch.texi (Overview): Mention ISO 32000 conformance.

	* prmgt/MANIFEST.wiki: Updated.

	* doc/figures/MANIFEST.wiki: New file.

	* doc/MANIFEST.wiki: Updated.

	* MANIFEST.wiki: Updated.

	* AUTHORS: List of authors reordered in alphabetical order.

	* configure.ac: Don' use AM_PATH_LIBGCRYPT if compiling for
	mingw. Use AC_CHECK_LIB instead.

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

	* doc/gnupdf.texi (Manipulating PDF tokens): Documentation for
	pdf_token_get_type.

2009-05-07  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (The Tokeniser): New section.
	(Tokeniser data types): New section.
	(Tokeniser data types): Data type 'pdf_tokeniser_t' documented.
	(Tokeniser data types): Data type 'pdf_token_t' documented.
	(Creation and destruction of tokenisers): Function
	'pdf_tokeniser_new' documented.
	(Creation and destruction of tokenisers): Function
	'pdf_tokeniser_destroy' documented.
	(Tokeniser data types): Data type 'enum pdf_token_type_e'
	documented.

	* doc/Makefile.am (clean-local): Remove gnupdf-arch.info,
	gnupdf-arch.html and gnupdf-arch.wiki upon make clean.

	* AUTHORS: Updated.

	* torture/unit/base/time/pdf-time-span-copy.c (START_TEST): Fix
	the second parameter for pdf_time_span_set in
	pdf_time_span_copy_002.

	* torture/unit/base/time/pdf-time-span-negate.c (START_TEST): Fix
	parameter for pdf_time_span_negate in pdf_time_span_negate_003.

	* torture/unit/base/time/pdf-time-new.c: Added missing include for
	string.h

	* torture/unit/base/time/pdf-time-from-string.c: Likewise.

	* src/base/pdf-types.h: Indentation in macro definitions fixed.

	* src/base/pdf-list.h: Use the new definition of EXTERN_INLINE
	from pdf-types.h

	* src/base/pdf-crypt.h: Likewise.

	* src/base/pdf-types.h: Definition of EXTERN_INLINE.

	* src/base/pdf-stm-f-ahex.c (pdf_stm_f_ahexenc_apply): Fix the
	generation of newlines in the ASCII output.

	* utils/pdf-filter.c (pdf_filter_usage_msg): Dump the --dctdec
	option in the help output when available.

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

	* doc/gnupdf-hg.texi (Debugging check tests): Some hints on
	debugging check test suites added.

	* AUTHORS: Entry added for Yang Chang Hua.

	Support for DCT decoding by Yang Chang Hua and minor corrections:

	* configure.ac: Changed "no" with "xno" in condition: support for
	libjpeg was always assumed to exist.

	* src/base/pdf-stm-f-dct.c (pdf_stm_f_dctdec_write_ppm_header):
	Cast pdf_char_t pointers to char* in order to avoid a warning on
	signess.

	* utils/pdf-filter.c (GNU_longOptions): Add the DCT decoder.

	* utils/pdf-filter.h (): Add the DCT decoder to the list of
	options if libjpeg is present.

2009-05-02  Aleksander Morgado  <aleksander@es.gnu.org>

	Do not break compilation in PowerPC with gcc 3.4. Removing unneeded
	extern declarations to import variables into the scope of the
	function, as those variables are directly imported.
	* src/base/pdf-fsys-disk.c
	* src/base/pdf-text-context.c
	* src/base/pdf-text-encoding.c
	* src/base/pdf-text-ucd-case.c
	* src/base/pdf-text-ucd-combclass.c
	* src/base/pdf-text-ucd-gencat.c
	* src/base/pdf-text-ucd-proplist.c
	* src/base/pdf-text-ucd-wordbreak.c
	* src/base/pdf-time-context.c

2009-04-19  Gerardo E. Gidoni  <gerel@gnu.org>

	* doc/gnupdf.texi: corrected pdf_stm_write/flush return descriptions.

2009-04-17  David Vazquez  <davazp@es.gnu.org>

	* doc/gnupdf.texi (Evaluation of Functions): Document the
	'pdf_fp_func_debug_t' data type.

	* torture/tortutils/tortutils.c: Add stdlib.h header.

2009-04-17  Jose E. Marchesi  <jemarch@gnu.org>

	* Time module bugfixes and an initial set of unit tests by Lukasz
	Spintzyk.

2009-04-06  Gerardo E. Gidoni  <gerel@gnu.org>

	* src/Makefile.am: added "extern C" in pdf.h for C++ compilers.

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

	* doc/gnupdf.texi: Add the descriptions for the 'p_status'
	parameter in functions using it.

	* src/base/pdf-types.c: Set the output variable 'p_status' in a
	safe way, checking for NULL.

	* src/base/pdf-fsys-disk.c (pdf_fsys_disk_file_get_url): Avoid a
	warning about the signedness of pdf_char_t.

	* doc/gnupdf.texi (Memory Buffers): Usage example for
	'pdf_buffer_full_p'.
	(Memory Buffers): Usage example for 'pdf_buffer_eob_p'.
	(Memory Buffers): Usage example for 'pdf_buffer_resize'.
	(Memory Buffers): Usage example for 'pdf_buffer_rewind'.

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

	* src/base/pdf-types.c (pdf_i64_assign_quick): Test for 'p_status
	== NULL'.
	(pdf_i64_copy): Likewise.
	(pdf_i64_add): Likewise.
	(pdf_i64_abs): Likewise.
	(pdf_i64_neg): Likewise.
	(pdf_i64_subtraction): Likewise.

2009-02-24  David Vazquez  <davazp@es.gnu.org>

	* doc/gnupdf.texi (Evaluation of Functions): Section updated.

	* torture/unit/base/fp/pdf-fp-func-eval.c: Negative tests added.

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

	* doc/gnupdf.texi (Big Numbers): Clarify that a 64bits value can
	be passed to 'pdf_i64_assign_quick' when working in a system
	providing true 64 bits scalar types.

2009-02-18  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Garbage collection in object documents): New
	section.
	(Garbage collection in object documents): Documentation for
	function 'pdf_obj_doc_gc'.
	(Opening and Closing Object Documents): Make 'pdf_obj_doc_save' to
	create an xref table (or stream) by default.
	(Opening and Closing Object Documents): Usage example of
	'pdf-obj_doc_save' fixed to provide a right header string.
	(Managing Object Document Properties): Make pdf_obj_doc_get_id to
	return the id's on pdf objects instead of char*/size pairs.

2009-02-17  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Stream Objects): Several fixes to the object
	layer API.

2009-02-10  Jose E. Marchesi  <jemarch@gnu.org>

	* ../object-layer/doc/gnupdf-arch.texi: Diagrams updated.

	* doc/gnupdf-arch.texi (Tokeniser module): New section.

2009-02-08  David Vazquez  <davazp@es.gnu.org>

	* src/base/pdf-fp-func.c (pdf_fp_func_4_new): Fix checking of
	balanced braces wrongly, and manages others errors.

	* src/base/pdf-error.h (PDF_ERROR_LIST): Errors for type 4
	functions added.

2009-02-07  David Vazquez  <davazp@es.gnu.org>

	* torture/unit/base/fp/pdf-fp-func-4-new.c: New file

	* src/base/pdf-fp-func.c (pdf_fp_func_4_new): New arguments for
	error management.

2009-02-06  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-stm.c (pdf_stm_flush): Return PDF_EEOF if it was
	not possible to write the contents of the cache buffer into the
	stream backend.
	(pdf_stm_flush): Rewind the cache buffer only if the filter
	returned PDF_EEOF.

2009-02-05  Gerardo E. Gidoni  <gerel@gnu.org>

	* configure.ac: fixed --enable-* behavior.

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

	* utils/pdf-filter.h (HELP_ARG): Do not include unimplemented
	options.

	* utils/pdf-filter.c: Likewise.

2009-01-28  Gerardo E. Gidoni  <gerel@gnu.org>

	* doc/gnupdf.texi: removed PDF_ENOMEM status code for iterator
	procedures.

	* src/base/pdf-hash.c: implemented stack based iterators.

	* src/base/pdf-hash.h: same.

	* src/base/pdf-list.h: same.

	* torture/unit/base/hash/pdf-hash-iterator-new.c: new iterator
	size check.

	* torture/unit/base/list/pdf-list-iterator.c: same.

2009-01-28  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf-hg.texi (Opaque Pointers): Opaque pointers documented
	in the hackers guide.

2009-01-27  Jose E. Marchesi  <jemarch@gnu.org>

	* utils/pdf-filter.c (main): Take care about the return value of
	'pdf_stm_destroy' calls.

	* src/base/pdf-hash-helper.c (stm_dispose_fn): Adapted to use the
	new prototype of 'pdf_stm_flush', ignoring any error: it is a
	callback.

	* src/base/pdf-stm.c (pdf_stm_write): Adapted to use the new
	prototype of 'pdf_stm_flush'.
	(pdf_stm_seek): Adapted to use the new prototype of
	'pdf_stm_flush', returning the current position if it returns an
	error.

	* doc/gnupdf.texi (Creating and Destroying Streams): Documentation
	for 'pdf_stm_destroy' updated.

	* src/base/pdf-stm.c (pdf_stm_destroy): Adapted to use the new
	prototype for 'pdf_stm_flush' and to return its return code if the
	stream is flushed before being closed.

	* doc/gnupdf.texi (Reading and Writing Data): Documentation of
	'pdf_stm_flush' updated to reflect the return of a pdf_status_t
	value.

	* src/base/pdf-stm.c (pdf_stm_flush): Return a pdf_status_t value
	propagating the status of the filter chain after the last
	operation.

2009-01-27  Gerardo E. Gidoni  <gerel@gnu.org>

	* utils/pdf-filter.c: added missing status code checks.

2009-01-26  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Stream Objects): Documentation for
	`pdf_obj_stream_new', `pdf_obj_stream_pos',
	`pdf_obj_stream_length' and `pdf_obj_stream_dict'.
	(Opening and Closing Object Documents): Parameter fixed and usage
	example added for `pdf_obj_doc_open'.
	(Opening and Closing Object Documents): Fixed usage example for
	`pdf_obj_doc_close'.
	(Opening and Closing Object Documents): Usage example added for
	`pdf_obj_doc_save'.

	* doc/gnupdf.texi (Implementation Limits): New chapter.
	(Architectural limits): New section.
	(Memory limits): New section.

	* doc/pdf-filter.1: Regenerated with help2man using the -n option
	to provide a useful description for 'whatis'.

2009-01-24  Gerardo E. Gidoni  <gerel@gnu.org>

	* utils/pdf-filter.c: added --input-file and --output-file options.

	* utils/pdf-filter.h: same.

2009-01-20  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Dictionary Objects): Initial description of
	dictionary functions.

2009-01-19  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Object Layer): New chapter.
	(Object Documents): New section.
	(Object Document Data Types): New section.
	(Opening and Closing Object Documents): New section.
	(Managing Object Document Properties): New section.
	(Getting Objects): New section.
	(Object Data Types): New section.
	(Object Generic Functions): New section.
	(Object Strong References): New section.
	(Compressibility of Objects): New section.
	(Object Collections): New section.
	(Real Objects): New section.
	(Integer Objects): New section.
	(Boolean Objects): New section.
	(Name Objects): New section.
	(String Objects): New section.
	(Array Objects): New section.
	(Dictionary Objects): New section.
	(Stream Objects): New section.
	(Indirect Objects): New section.
	(Null Object): New section.

2009-01-19  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-types.h: Progress monitor data types implemented.

	* doc/gnupdf.texi (Progress Monitors): New section.

2009-01-16  Jose E. Marchesi  <jemarch@chapters.gnu.org>

	* src/base/pdf-fsys-disk.c: Make path sizes of type pdf_size_t.

	* src/base/pdf-types.c: Get the buffer_t functions out of the
	#ifndef PDF_USE_BUILTIN_64BIT_SUPPORT

	* src/base/pdf-fsys-disk.c (pdf_fsys_disk_get_free_space):
	pdf_i64_assign_quick cannot get a NULL value as the third
	parameter when working in 64bits machines.

2009-01-14  Aleksander Morgado  <aleksander@es.gnu.org>

	* src/base/pdf-fsys-disk.[h|c]: Most capabilities of the disk fsys
	module implemented. For w32 compatibility using UNICODE paths, all the
	system calls in windows are done using the wchar_t (UTF-16LE) versions.
	In POSIX, host-encoded paths are used in the system calls.
	Remaining stuff marked as TODO in the code.

	* src/base/pdf-fsys.[h|c]: Renamed `pdf_fsys_open' to `pdf_fsys_file_open'.
	(pdf_fsys_get_free_space): Return pdf_i64_t instead of pdf_size_t.

	* src/base/pdf-fsys-def.h: Renamed `pdf_fsys_def_open' to
	`pdf_fsys_def_file_open'.

	* src/base/pdf-error.h (PDF_ERROR_LIST): Additional error codes added.

	* doc/gnupdf.texi (Opening Files): Renamed `pdf_fsys_open' to
	`pdf_fsys_file_open'.
	 (Getting File System Properties): Return pdf_i64_t instead of pdf_size_t
	in pdf_fsys_get_free_space.

2009-01-14  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf-arch.texi (The object layer): New chapter.

2009-01-13  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Reading and Writing Data): Documentation for
	'pdf_stm_read', 'pdf_stm_write', 'pdf_stm_read_char' and
	'pdf_stm_peek_char' updated to the new prototypes.

	* torture/unit/base/stm/pdf-stm-seek.c: Use the new prototype of
	'pdf_stm_read_char'.

	* utils/pdf-filter.c (process_stream): Use the new prototype of
	'pdf_stm_read'.
	(process_stream): Use the new prototype of 'pdf_stm_write'.

	* src/base/pdf-stm-f-ahex.c (pdf_stm_f_ahexdec_apply): Stop using
	PDF_EOF.

	* src/base/pdf-types.c: Include pdf-alloc.h.

	* torture/unit/base/stm/pdf-stm-write.c: Tests adapted to use the
	new interface of pdf_stm_write.

	* torture/unit/base/stm/pdf-stm-read.c: Tests adapted to use the
	new interface of pdf_stm_read.

	* torture/unit/base/stm/pdf-stm-read-char.c: Tests adapted to use
	the new interface of pdf_stm_read_char.

	* torture/unit/base/stm/pdf-stm-peek-char.c: Tests adapted to use
	the new interface of pdf_stm_peek_char.

	* src/base/pdf-error.h (PDF_ERROR_LIST): Error code PDF_EINVOP for
	signaling invalid operations added.

	* src/base/pdf-stm.c (pdf_stm_read_char): Return a PDF status
	value instead of the read byte. The read byte is stored in an out
	parameter.
	(pdf_stm_peek_char): Likewise.
	(pdf_stm_read_peek_char): Return PDF_EINVOP if the stream is not a
	read stream.

	* src/base/pdf-types.h: Definition of PDF_EOF removed, since it is
	not longer useful.

	* src/base/pdf-stm.c (pdf_stm_read): Return a PDF status value
	instead of the number of read bytes. The number of read bytes is
	stored in an out parameter.
	(pdf_stm_write): Return a PDF status value instead of the number
	of written bytes. The number of written bytes is stored in an out
	parameters.

2009-01-11  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Memory Buffers): New section.
	(Memory Buffers): Documentation for the pdf_buffer related data
	types and functions.

	* src/base/pdf-stm-f-jbig2.c: Missing header added.

	* src/base/pdf-stm.c: Use 'pdf_stm_buffer' instead of
	'pdf_stm_buffer'.

	* src/base/pdf-stm.h: Likewise.

	* src/base/pdf-stm-f-v2.h: Likewise.

	* src/base/pdf-stm-f-v2.c: Likewise.

	* src/base/pdf-stm-f-rl.h: Likewise.

	* src/base/pdf-stm-f-rl.c: Likewise.

	* src/base/pdf-stm-f-null.h: Likewise.

	* src/base/pdf-stm-f-null.c: Likewise.

	* src/base/pdf-stm-f-md5.h: Likewise.

	* src/base/pdf-stm-f-md5.c: Likewise.

	* src/base/pdf-stm-f-jbig2.h: Likewise.

	* src/base/pdf-stm-f-jbig2.c: Likewise.

	* src/base/pdf-stm-filter.h: Likewise.

	* src/base/pdf-stm-filter.c: Likewise.

	* src/base/pdf-stm-f-flate.h: Likewise.

	* src/base/pdf-stm-f-flate.c: Likewise.

	* src/base/pdf-stm-f-ahex.h: Likewise.

	* src/base/pdf-stm-f-ahex.c: Likewise.

	* src/base/pdf-stm-f-aesv2.h: Likewise.

	* src/base/pdf-stm-f-aesv2.c: Likewise.

	* src/Makefile.am: References to pdf-stm-buffer.[ch] deleted.

	* src/base/pdf-types.h: New pdf_buffer_t type.

	* doc/gnupdf-hg.texi (Information for Newcomers): Several fixes
	and footnotes added.
	(Tasks management): New chapter.
	(Information for Newcomers): Cross-reference inserted.
	(Development procedures): New chapter.
	(Unit testing): New section.

2009-01-09  Gerardo E. Gidoni  <gerel@gnu.org>

	* doc/generate-tsd.pl.in: new script to generate the TSD manual.

	* configure.ac: added doc/generate-tsd.pl.in.

	* doc/Makefile.am: added rule to generate the TSD manual.

	* doc/gnupdf-tsd.texi: modified to include the generated TSD manual.

	* torture/testdata/TD00001.desc: moved from the original TSD manual.

	* torture/testdata/TD00002.desc: same.

	* torture/testdata/TD00003.desc: same.

2009-01-06  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/Makefile.am: Dont generate html manuals using texi2html.

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

	* doc/Makefile.am (noinst_TEXINFOS): Added gnupdf-arch.texi.

	* doc/gnupdf-hg.texi (The tortutils Library): Architecture chapter
	moved to 'gnupdf-arch.texi'.

	* doc/gnupdf-arch.texi: New document.
	Contents moved from 'gnupdf-hg.texi'.

	* doc/gnupdf-hg.texi: Import 'version.texi'.

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

	* doc/gnupdf-hg.texi (Information for Newcomers): New chapter
	containing the information from the Newcomers page.
	(The build system): Renamed from 'Use of Autotools'.
	(Library architecture): New chapter.
	(The base layer): New section.
	(The object layer): New section.
	(The document layer): New section.
	(The page layer): New section.

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

	* doc/gnupdf.texi (Rounding Routines): Documentation for
	'pdf_fp_floor'.
	(Rounding Routines): Documentation for 'pdf_fp_ceil'.
	(Rounding Routines): New section.
	(Trigonometric Routines): New section.
	(Trigonometric Routines): Documentation for 'pdf_fp_sin'.
	(Trigonometric Routines): Documentation for 'pdf_fp_cos'.
	(Trigonometric Routines): Documentation for 'pdf_fp_atan2'.
	(Exponential and Logarithmic Routines): New section.
	(Exponential and Logarithmic Routines): Documentation for
	'pdf_fp_exp'.
	(Exponential and Logarithmic Routines): Documentation for
	'pdf_fp_log'.
	(Exponential and Logarithmic Routines): Documentation for
	'pdf_fp_log10'.
	(Floating Point Constants): New section.
	(Other Maths Routines): New section.
	(Other Maths Routines): Documentation for 'pdf_fp_abs'.
	(Other Maths Routines): Documentation for 'pdf_fp_sqrt'.

	* torture/unit/base/fp/pdf-fp-func-eval.c (ellipse_b): Use
	pdf_fp_sqrt instead of sqrtf.
	(double_dot): Use pdf_fp_sin instead of sinf.
	(cosine_dot): Use pdf_fp_cos instead of cosf.
	Use pdf_fp_abs instead of fabs in all the file.

	* src/base/pdf-fp.c (pdf_fp_sqrt): New function.
	(pdf_fp_sin): New function.
	(pdf_fp_cos): New function.
	(pdf_fp_atan2): New function.
	(pdf_fp_exp): New function.
	(pdf_fp_abs): New function.
	(pdf_fp_log10): New function.
	(pdf_fp_log): New function.
	(pdf_fp_floor): New function.
	(pdf_fp_ceil): New function.

	* src/base/pdf-fp.h: Declaration of the functions 'pdf_fp_sqrt',
	'pdf_fp_sin', 'pdf_fp_cos', 'pdf_fp_atan2', 'pdf_fp_exp',
	'pdf_fp_abs', 'pdf_fp_log10', 'pdf_fp_log', 'pdf_fp_floor',
	'pdf_fp_ceil'.

	* prmgt/apic2wiki.in: Use the -t option of
	check-api-doc-consistency.pl and generate information about unit
	tests.

	* prmgt/check-api-doc-consistency.pl.in (show_help): Make the output
	easily parseable with awk.

	* prmgt/Makefile.am (apic.wiki): Add the execution permission to
	prmgt/check-api-doc-consistency.pl

2009-01-01  Michael Gold  <mgold@ncf.ca>

	* utils/Makefile.am: Fix VPATH builds.

	* torture/unit/Makefile.am: Idem.

	* src/Makefile.am: Idem.


2009-01-01  Aleksander Morgado  <aleksander@es.gnu.org>

	* torture/unit/base/stm/pdf-stm-write.c: Disable compilation and
	execution of test `pdf_stm_write_007' if LIBZ not available, as
	`PDF_STM_FILTER_FLATE_DEC' is not defined.

	* torture/unit/base/stm/pdf-stm-read.c: Disable compilation and
	execution of test `pdf_stm_read_009' if LIBZ not available, as
	`PDF_STM_FILTER_FLATE_DEC' is not defined.

2008-12-30  Gerardo E. Gidoni  <gerel@gnu.org>

	* configure.ac: added check-api-doc-consistency.pl.in.

	* prmgt/check-api-doc-consistency.pl.in: new feature, count tests
	cases for each consistent function.

2008-12-28  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Creation and Destruction of Functions):
	Documentation for pdf_fp_matrix_transform and
	pdf_fp_matrix_transform_rect fixed.

	* src/base/pdf-fp.h: Prototypes of unimplemented functions
	removed.

	* doc/gnupdf.texi (Creation and Destruction of Functions): Fix
	documentation for pdf_fp_func_2_new.

	* configure.ac: Use AC_CONFIG_MACRO_DIR.

	* doc/gnupdf.texi (Hash helper functions): Documentation for
	'pdf_hash_get_string' fixed.

	* src/base/pdf-hash-helper.h: Use char instead of pdf_char_t for
	keys in pdf_hash_t variables.

	* doc/gnupdf.texi: Idem.

	* doc/gnupdf.texi (Hash helper functions): Documentation for
	'pdf_hash_get_text'.
	(Hash helper functions): Documentation for 'pdf_hash_get_time'.
	(Hash helper functions): Documentation for 'pdf_hash_get_list'.
	(Hash helper functions): Documentation for 'pdf_hash_get_hash'.
	(Hash helper functions): Documentation for 'pdf_hash_get_stm'.
	(Hash helper functions): Documentation for 'pdf_hash_get_size'.
	(Hash helper functions): Documentation for 'pdf_hash_get_string'.

	* src/base/pdf-stm-f-jbig2.c (pdf_stm_f_jbig2dec_init): Use the
	new hash helper functions.

	* src/base/pdf-stm-f-aesv2.c (pdf_stm_f_aesv2_init): Use the new
	hash helper functions.

	* src/base/pdf-stm-f-v2.c (pdf_stm_f_v2_init): Use the new hash
	helper functions.

	* src/base/pdf-hash-helper.h: New functions 'pdf_hash_get_text',
	'pdf_hash_get_time', 'pdf_hash_get_list', 'pdf_hash_get_hash',
	'pdf_hash_get_stm', 'pdf_hash_get_size', 'pdf_hash_get_string'.

2008-12-27  Gerardo E. Gidoni  <gerel@gnu.org>

	* prmgt/check-api-doc-consistency.pl: make it work with array
	subscripts [].

2008-12-27  Gerardo E. Gidoni  <gerel@gnu.org>

	* torture/unit/base/text/pdf-text-cmp.c: fixed test cases to not
	access internal data without the API.

	* torture/unit/base/text/pdf-text-filter.c: same.

	* torture/unit/base/text/pdf-text-get-country.c: same.

	* torture/unit/base/text/pdf-text-get-language.c: same.

	* torture/unit/base/text/pdf-text-get-pdfdocenc.c: same.

	* torture/unit/base/text/pdf-text-get-unicode.c: same.

	* torture/unit/base/text/pdf-text-new-from-host.c: same.

	* torture/unit/base/text/pdf-text-new-from-pdf-string.c: same.

	* torture/unit/base/text/pdf-text-new-from-u32.c: same.

	* torture/unit/base/text/pdf-text-new-from-unicode.c: same.

	* torture/unit/base/text/pdf-text-set-country.c: same.

	* torture/unit/base/text/pdf-text-set-host.c: same.

	* torture/unit/base/text/pdf-text-set-language.c: same.

	* torture/unit/base/text/pdf-text-set-pdfdocenc.c: same.

	* torture/unit/base/text/pdf-text-set-unicode.c: same.

2008-12-27  Jose E. Marchesi  <jemarch@gnu.org>

	* torture/unit/base/hash/pdf-hash-get.c: Renamed from
	'pdf-hash-search.c'.

	* src/base/pdf-hash.h: pdf_hash_search renamed to pdf_hash_get.

	* src/base/pdf-hash.c: Idem.

	* doc/gnupdf.texi (Searching elements): Idem.

	* src/base/pdf-hash-helper.c (pdf_hash_add_string): Use an
	intermediate value instead to call strlen twice.

	* src/base/pdf-fp-func.c (pdf_eval_type4): Use sinf and cosf
	instead of sin and cos.

	* torture/unit/base/fp/pdf-fp-func-eval.c: Use sinf and cosf.

	* src/base/pdf-crypt-c-aesv2.c (pdf_crypt_cipher_aesv2_setkey):
	Return PDF_EBADAESKEY instead of PDF_EBADDATA.

	* src/base/pdf-stm-f-aesv2.c (pdf_stm_f_aesv2_init): Return the
	correct status value if in error setting the key.

	* src/base/pdf-stm-f-v2.c (pdf_stm_f_v2_init): Return the correct
	status value if in error setting the key.

	* src/base/pdf-stm.c (pdf_stm_install_filter): Adapted to use the
	new 'pdf_stm_filter_new' prototype.
	(pdf_stm_init): Idem.

	* src/base/pdf-stm-filter.c (pdf_stm_filter_new): Make
	'pdf_stm_filter_new' return a 'pdf_status_t' value.

	* src/base/pdf-stm-filter.h: Make 'pdf_stm_filter_new' return a
	'pdf_status_t' value.

	* utils/pdf-filter.c (install_filters): Update the key when it was
	holding another value.
	(install_filters): Call 'pdf_crypt_init'.
	(install_filters): Check for error status in the filters
	installation.

	* doc/pdf-filter.1: Updated.

	* doc/gnupdf.texi (Hash helper functions): Documentation for
	'pdf_hash_add_size'.
	(Hash helper functions): Documentation for 'pdf_hash_add_string'.
	(Encryption and decryption): 'pdf_crypt_cipher_setkey'
	documentation fixed.
	(Utilities): Documentation for 'pdf_crypt_nonce' fixed.

	* utils/pdf-filter.c (install_filters): Use the new hash helper
	functions for size and string values.

	* src/base/pdf-hash-helper.h: New function 'pdf_hash_add_size'.
	New function 'pdf_hash_add_string'.

	* utils/pdf-filter.c: Support for MD5 encoder filter.
	Support for AESV2 encoder, AESV2 decoder, V2 encoder and V2
	decoder.

	* utils/pdf-filter.h (HELP_ARG): Support for MD5ENC_FILTER_ARG.

	* doc/gnupdf.texi (Creation and Destruction of Functions):
	Documentation for 'pdf_fp_func_0_new'.
	(Creation and Destruction of Functions): Documentation for
	'pdf_fp_func_2_new'.
	(Creation and Destruction of Functions): Documentation for
	'pdf_fp_func_3_new'.
	(Creation and Destruction of Functions): Documentation for
	'pdf_fp_func_4_new'.
	(Creation and Destruction of Functions): Documentation for
	'pdf_fp_func_destroy'.
	(Evaluation of Functions): Documentation for
	'pdf_fp_func_get_bounds'.
	(Evaluation of Functions): Documentation for 'pdf_fp_func_eval'.

2008-12-26  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Fix incorrect sh assignation.

2008-12-25  David Vazquez  <davazp@es.gnu.org>

	* doc/gnupdf.texi (Stream Types): Crypt filters added.

	* src/base/pdf-stm-f-aesv2.c: Adjust to use new crypt module functions.

	* src/base/pdf-stm-f-md5.c: Same.

2008-12-23  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-stm-filter.h: Fill pdf_stm_filter_type_e only
	if the required libraries are available.

	* src/base/pdf-stm-filter.c (pdf_stm_filter_new): Use
	HAVE_LIBJBIG2DEC instead of HAVE_JBIG2DEC.

	* configure.ac: Simplify the checking of libraries, as suggested
	by Yavor Doganov.

2008-12-23  David Vazquez  <davazp@es.gnu.org>

	* doc/gnupdf-tsd.texi: Updated.

	* torture/unit/base/crypt/pdf-crypt-cipher-setkey.c (test_pdf_crypt_cipher_setkey): New tests.

	* torture/unit/base/crypt/pdf-crypt-cipher-decrypt.c: New tests.

	* torture/unit/base/crypt/pdf-crypt-md-write.c (test_pdf_crypt_md_write): New tests.

	* doc/gnupdf.texi (Encryption): Updated.

	* src/base/pdf-crypt-c-aesv2.c: Incremental encryption support added.

	* src/base/pdf-crypt-c-v2.c: Same.

	* src/base/pdf-crypt.h: Same.

2008-12-20  David Vazquez  <davazp@es.gnu.org>

	* src/base/pdf-crypt.h (pdf_crypt_md_hash): Minor bug fixed.

	* src/base/pdf-stm-buffer.c (pdf_stm_buffer_resize): New function.

2008-12-15  David Vazquez  <davazp@es.gnu.org>

	* doc/gnupdf-tsd.texi (pdf_crypt_md_hash)
	(Message digest functions): Updated.

	* torture/unit/base/crypt/pdf-crypt-md-hash.c: New tests.

	* src/base/pdf-crypt.h (pdf_crypt_md_new): The *MD argument should
	is the last argument.

2008-12-14  David Vazquez  <davazp@es.gnu.org>

	* src/base/MANIFEST.wiki: Updated.

	* src/base/pdf-stm-f-aesv2.c: New file

	* src/base/pdf-stm-f-v2.c: New file

	* src/base/pdf-stm-f-md5.c: New file

	* src/base/pdf-crypt-c-aesv2.c (pdf_crypt_cipher_aesv2_decrypt):
	Check padding size is lesser than AESV2_BLKSIZE.

	* torture/unit/base/crypt/pdf-crypt-cipher-decrypt.c: New test.

2008-12-11  David Vazquez  <davazp@es.gnu.org>

	* torture/unit/base/stm/pdf-stm-read.c: New test.

	* doc/gnupdf-tsd.texi (pdf_crypt_cipher_encrypt): New test documentation.
	(pdf_stm_write): New tests documentation.

	* torture/unit/base/crypt/pdf-crypt-cipher-encrypt.c: New test

	* torture/unit/base/crypt/pdf-crypt-cipher-decrypt.c: Change
	`pdf_crypt_cipher_decrypt_001' ciphered buffer and key.

2008-12-10  Jose E. Marchesi  <jemarch@gnu.org>

	* torture/unit/runtests.c (main): Dont set the CK_FORK variable,
	so the environment variable is used instead.

2008-12-08  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-stm.c (pdf_stm_install_filter): Return PDF_ERROR in
	the case of an error while executing 'pdf_stm_filter_new'.

	* src/base/pdf-stm-filter.c (pdf_stm_filter_new): Return NULL in
	the case of an error initializing the filter implementation.

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

	* torture/unit/base/fp/pdf-fp-func-eval.c (START_TEST): New test
	'pdf_fp_func_eval_017'.
	(START_TEST): New test 'pdf_fp_func_eval_018'.
	(START_TEST): New test 'pdf_fp_func_eval_019'.
	(START_TEST): New test 'pdf_fp_func_eval_020'.
	(START_TEST): New test 'pdf_fp_func_eval_021'.

2008-12-02  Jose E. Marchesi  <jemarch@gnu.org>

	* torture/unit/base/fp/pdf-fp-func-eval.c (START_TEST): New test
	'pdf_fp_func_eval_012'.
	(START_TEST): New test 'pdf_fp_func_eval_013'.
	(START_TEST): New test 'pdf_fp_func_eval_014'.
	(START_TEST): New test 'pdf_fp_func_eval_015'.
	(START_TEST): New test 'pdf_fp_func_eval_016'.

	* src/base/pdf-fp-func.c (pdf_eval_type4): OPC_copy operator
	fixed.

	* torture/unit/base/fp/pdf-fp-func-eval.c (START_TEST): New test
	'pdf_fp_func_eval_001'.
	(START_TEST): New test 'pdf_fp_func_eval_002'.
	(START_TEST): New test 'pdf_fp_func_eval_004'.
	(START_TEST): New test 'pdf_fp_func_eval_005'.
	(START_TEST): New test 'pdf_fp_func_eval_006'.
	(START_TEST): New test 'pdf_fp_func_eval_007'.
	(START_TEST): New test 'pdf_fp_func_eval_008'.
	(START_TEST): New test 'pdf_fp_func_eval_009'.
	(START_TEST): New test 'pdf_fp_func_eval_010'.
	(START_TEST): New test 'pdf_fp_func_eval_011'.

	* doc/gnupdf-tsd.texi (pdf_fp_func_eval): Documentation for tests
	from 'pdf_fp_func_eval_002' to 'pdf_fp_func_eval_021'.

	* torture/unit/base/fp/pdf-fp-func-eval.c: New file.

	* torture/unit/runtests.c (main): Run the fp testsuite.

	* torture/unit/base/fp/tsuite-fp.c: New file.
	(tsuite_fp): New function.

	* doc/gnupdf.texi: Use 'version.texi' to get versioning
	information.

	* doc/version.texi.in: New file.

	* doc/gnupdf.texi (Floating Point Types): Description for
	'pdf_matrix_s'.

2008-12-01  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Conversion Routines): Documentation for
	'pdf_fp_string_to_real'.
	(Conversion Routines): Documentation for 'pdf_fp_real_to_string'.
	(Geometry Routines): Documentation for 'pdf_fp_matrix_concat'.
	(Geometry Routines): Documentation for 'pdf_fp_matrix_invert'.
	(Geometry Routines): Documentation for 'pdf_fp_matrix_transform'.
	(Geometry Routines): Documentation for
	'pdf_fp_matrix_transform_rect'.

	* src/base/pdf-fp.c: Obsolete functions removed.

	* src/base/pdf-fp.h: New types and function prototypes.

2008-11-30  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-fp-func.c: Missing copyright and distribution terms
	added.

	* src/base/pdf-fp-func.h: Missing copyright and distribution terms
	added.

	* src/base/pdf-fp-func.c: New file.

	* src/base/pdf-fp-func.h: New file.

2008-11-29  Jose E. Marchesi  <jemarch@gnu.org>

	* torture/unit/base/crypt/pdf-crypt-cipher-decrypt.c: Adapted to
	use the new API.

	* torture/unit/base/crypt/pdf-crypt-cipher-encrypt.c: Adapted to
	use the new API.

	* src/base/pdf-crypt.h: Make `pdf_crypt_cipher_t' and
	`pdf_crypt_md_t' opaque pointers.
	Provide `enum pdf_crypt_md_algo_e' instead of `pdf_crypt_md_algo_t'.

	* src/base/pdf-stm-buffer.h: Do not export definitions to the
	public header file.

	* src/base/pdf-stm-be.h: Do not export definitions to the public
	header file.

	* src/base/pdf-stm-filter.h: Make `pdf_stm_filter_t' private.

	* src/base/pdf-stm.h: Make `pdf_stm_t' a opaque pointer.

	* src/base/pdf-time.h: Make `pdf_time_t' a opaque pointer.

2008-11-28  Jose E. Marchesi  <jemarch@gnu.org>

	* utils/pdf-filter.h (HELP_ARG): take care about missing
	filters.

	* doc/gnupdf.texi (Hash helper functions): Usage example for
	pdf_hash_add_stm.
	(Setting and Getting List Elements): Usage example for
	pdf_list_set_at.
	(Reading and Writing Data): Documentation of pdf_stm_flush
	adjusted to the new implementation.
	(Stream Types): Document pdf_stm_filter_type_e in the reference
	manual.

2008-11-27  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-fp.h: Useless interpolation functions deleted.

	* src/base/pdf-fp.c: Idem.

	* src/Makefile.am (FP_MODULE_SOURCES): New variable.

	* build-aux/link-warning.h: Moved from top_srcdir.

2008-11-27  Gerardo E. Gidoni  <gerel@gnu.org>

	* prmgt/srcinfo-extractor.pl.in: originally srcinfo-extractor.pl.

2008-11-26  Jose E. Marchesi  <jemarch@gnu.org>

	*  Initial version of the MANIFEST.wiki files.

2008-11-25  Gerardo E. Gidoni  <gerel@gnu.org>

	* torture/unit/base/types/pdf-i64-add.c: added 'long long'
	literals to avoid GCC warnings.

	* torture/unit/base/types/pdf-i64-assign.c: same.

	* torture/unit/base/types/pdf-i64-copy.c: same.

	* torture/unit/base/types/pdf-i64-new.c: same.

2008-11-25  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Output torture/prmgt/get-test-data.sh

	* prmgt/get-test-data.sh: New file.

	* torture/testdata/README: New file

2008-11-24  Jose E. Marchesi  <jemarch@gnu.org>

	* torture/unit/Makefile.am (TORTUTILS_FILES): New variable
	containig tortutils sources.

	* torture/tortutils/tortutils.c: New file.

	* torture/tortutils/tortutils.h: New file.

	* src/base/pdf-stm-filter.c (pdf_stm_filter_apply): Make finish_p
	to be activated upon EOF in read-mode streams.

2008-11-23  Jose E. Marchesi  <jemarch@gnu.org>

	* AUTHORS: Updated.

2008-11-21  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-stm-filter.c (pdf_stm_filter_new): Install JBIG2
	decoder functions.

	* src/base/pdf-stm-filter.h (p): Added the
	PDF_STM_FILTER_JBIG2_DEC filter type.
	Conditionally include pdf-stm-f-jbig2.h

	* utils/pdf-filter.c (install_filters): Added support for the
	JBIG2 decoder filter.

	* src/Makefile.am (STM_MODULE_SOURCES): Add source files for the
	JBIG2 decoder filter.

	* src/base/pdf-stm-f-jbig2.c: New file.
	(pdf_stm_f_jbig2dec_dealloc_state): New function.
	(pdf_stm_f_jbig2dec_init): New function.

	* src/base/pdf-stm-f-jbig2.h: New file.

	* configure.ac: Check for the jbig2dec library.

	* build-aux/README: Updated.

2008-11-14  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-types.h: Take care about the PDF_FORCE_BIGNUMS
	preprocessor variable.

	* configure.ac: Provide the --enable-bignums-forcing configure
	option.

2008-11-11  Aleksander Morgado  <aleksander@es.gnu.org>

	* src/base/pdf-text.c (pdf_text_get_unicode): Correct out_length when
	using PDF_TEXT_UNICODE_WITH_NUL_SUFFIX.

	* torture/unit/base/text/pdf-text-get-unicode.c
	(test_pdf_text_get_unicode): Added implementation of new test cases.

	* doc/gnupdf-tsd.texi (pdf_text_get_unicode): Added new test cases to
	test the new option in `pdf_text_get_unicode' function to get the string
	with a NUL suffix.

2008-11-10  Aleksander Morgado  <aleksander@es.gnu.org>

	* doc/gnupdf.texi (Text Data Types): Added new unicode option, to append
	NUL suffix to the unicode string.

	* install-sh: Removed from repo as it is generated by autoreconf when
	running bootstrap.

2008-11-04  Aleksander Morgado  <aleksander@es.gnu.org>

	* utils/pdf-filter.c (process_stream): We should check return value of
	fwrite to avoid gcc warning.

	* src/base/pdf-text-ucd-case.c (pdf_text_ucd_create_case_context): Avoid
	buffer overflow.

	* torture/unit/base/text/pdf-text-new-from-pdf-string.c: pdf_size_t is a
	32-bit integer in 32-bit machines. Avoid warnings when printing it.

	* torture/unit/base/text/pdf-text-filter.c: strlen returns size_t, so
	cast it to long always before printing it, so that there won't be any
	warning neither in 32bit nor in 64bit machines.

	* torture/unit/base/text/pdf-text-cmp.c: Idem.

2008-10-12  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-text-host-encoding.c
	(pdf_text_convert_encoding_name_to_CP): Fix parameter to strtol.

	* configure.ac (HAVE_LIBZ): Define HAVE_LIBZ if there is a zlib
	available.

	* m4/zlib.m4: Dont assume /usr and /usr/local by default as the
	installation of zlib.

	* src/base/pdf-time-context.c (pdf_time_context_init): Use
	_timezone instead of the struct tm to determine the GMT offset if
	compiling with mingw.

	* src/base/pdf-stm-filter.c (pdf_stm_filter_new): Install the
	flate filters only if libz is available.

	* src/base/pdf-stm-filter.h: Include the flate filters only if
	libz is available.

	* src/pdf-global.h: Dont include pdf-base.h.

	* configure.ac: Dont generate 'prmgt/pmccabe2html'.

	* prmgt/Makefile.am: Use gnulib's pmccabe2html.

2008-10-07  Gerardo E. Gidoni  <gerel@gnu.org>

	* src/base/pdf-stm-f-flate.h: solved cases with PDF_OK from old API.

2008-10-05  Gerardo E. Gidoni  <gerel@gnu.org>

	* src/base/pdf-stm-f-flate.h: greater chunk size.

2008-10-05  Gerardo E. Gidoni  <gerel@gnu.org>

	* doc/gnupdf-tsd.texi: added flate filter tests.

	* torture/unit/base/stm/pdf-stm-read.c: same.

	* torture/unit/base/stm/pdf-stm-write.c: same.

	* src/Makefile.am: added flate filter source files.

	* src/base/pdf-stm-f-flate.c: adapted for new stream API.

	* src/base/pdf-stm-f-flate.h: same.

	* src/base/pdf-stm-filter.c: added flate filter.

	* src/base/pdf-stm-filter.h: same.

	* utils/pdf-filter.c: same.

2008-10-04  Gerardo E. Gidoni  <gerel@gnu.org>

	* src/base/pdf-stm-f-rl.c: adapted to new filter API.

	* torture/unit/base/stm/pdf-stm-read.c: same.

	* torture/unit/base/stm/pdf-stm-write.c: same.

2008-10-04  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/pdf-filter.1: Generated.

2008-10-04 Juan Pedro Bolívar Puente <raskolnikov@es.gnu.org>

	* src/base/pdf-stm-be.*: Added cfile stream backend for
	input and output to FILE* C streams.

	* src/base/pdf-stm.c (pdf_stm_read): Fixed bug that lead
	to infinite loop.

	* utils/pdf-util.*: Update to correctly use new streams
	architecture. Deprecated options deleted. Added
	'--readmode' and '--cache' options.

2008-10-04  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-stm-filter.c (pdf_stm_filter_new): Initialize
	'really_finish_p'.
	(pdf_stm_filter_reset): Reset 'really_finish_p'.

	* src/base/pdf-stm-filter.h (struct pdf_stm_filter_s): New
	attribute 'really_finish_p'.

	* src/base/pdf-stm-buffer.c (pdf_stm_buffer_full_p): Conditional
	used to determine buffer fullness has been fixed.

	* src/base/pdf-stm-f-ahex.c (pdf_stm_f_ahexenc_init): Check the
	right pointer in initialization.

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

	* src/base/pdf-stm-f-ahex.c (pdf_stm_f_ahexenc_apply): Emit
	newlines to keep output lines short.

2008-10-03  David Vazquez <davazp@es.gnu.org>

	* Bug fixing crypt module unit tests failures.

2008-10-02  Jose E. Marchesi  <jemarch@gnu.org>

	* Bug fixing and design changes in the stream module.

2008-09-28  Gerardo E. Gidoni  <gerel@gnu.org>

	* src/base/pdf-stm-f-rl.c: decoder EOD mark fix.

	* torture/unit/base/stm/pdf-stm-read.c: force RL decoder to consume EOD.

2008-09-28  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf-tsd.texi (pdf_stm_read): Documentation added for the
	unit test 'pdf_stm_read_008'.

	* torture/unit/base/stm/pdf-stm-read.c (START_TEST): New test
	'pdf_stm_read_008'.

	* doc/gnupdf-tsd.texi (pdf_stm_write): Documentation added for the
	unit test 'pdf_stm_write_006'.

	* torture/unit/base/stm/pdf-stm-write.c (START_TEST): New test
	'pdf_stm_write_006'.

	* torture/unit/base/stm/pdf-stm-read.c (START_TEST): New test
	'pdf_stm_read_007'.

	* doc/gnupdf-tsd.texi (pdf_stm_read): Documentation added for the
	unit test 'pdf_stm_read_006'.

	* torture/unit/base/stm/pdf-stm-read.c (START_TEST): New test
	'pdf_stm_read_006'.

	* utils/pdf-filter.c: Support for RunLength encoding and decoding
	filters.

	* AUTHORS: updated.

	* src/base/pdf-stm-f-rl.h: Do not include 'pdf-base.h'.

2008-09-27  Gerardo E. Gidoni  <gerel@gnu.org>

	* src/Makefile.am: added the RunLength filter.

	* src/base/pdf-stm-f-rl.c: adapted to the new API.

	* src/base/pdf-stm-f-rl.h: adapted to the new API.

	* src/base/pdf-stm-filter.c: added the RunLength filter.

	* src/base/pdf-stm-filter.h: added the RunLength filter.

	* torture/unit/base/stm/pdf-stm-read.c: added decoder filter test.

	* torture/unit/base/stm/pdf-stm-write.c: added encoder filter test.

	* doc/gnupdf-tsd.texi: added filter tests and missing
	pdf_stm_write() test specification.

	* src/base/pdf-base.h: added pdf-list, pdf-hash and pdf-stm APIs.

	* src/base/pdf-error.h: fixed PDF_ENOTEMPY error string order.

	* src/base/pdf-stm-f-null.c: using memcpy() instead of strncpy().

	* src/base/pdf-stm.c: same.

2008-09-27  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-stm-f-ahex.c (pdf_stm_f_ahexdec_apply): Fix the
	management of an even number of hex digits before the EOD.

2008-09-26  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-stm-filter.c: Updated to take care about the
	'dealloc_state' functions implemented by the filter
	implementations.

	* src/base/pdf-stm-f-ahex.c (pdf_stm_f_ahexdec_dealloc_state): New function.
	(pdf_stm_f_ahexenc_dealloc_state): New function.

	* src/base/pdf-stm-f-null.c (pdf_stm_f_null_dealloc_state): New function.

2008-09-24  Gerardo E. Gidoni  <gerel@gnu.org>

	* src/base/pdf-stm-be.c: using memcpy() instead of strncpy().

2008-09-23  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-stm-f-ahex.c (pdf_stm_f_ahexdec_init): New
	function.
	(pdf_stm_f_ahexdec_apply): New function.

	* torture/unit/base/stm/pdf-stm-write.c (START_TEST): New test
	'pdf_stm_write_004'.

	* ../ahex-filters/src/base/pdf-stm-f-ahex.c
	(pdf_stm_f_ahexenc_apply): Use 'pdf_stm_buffer_eob_p' to decide if
	the return value is PDF_EEOF.

2008-09-22  Jose E. Marchesi  <jemarch@gnu.org>

	* utils/pdf-filter.c (main): Add support for the ASCII Hex
	encoding filter.
	(main): Use the number of flushed bytes, not
	the number of written bytes.

	* src/base/pdf-stm-filter.h (enum pdf_stm_filter_type_e): Filter
	types 'PDF_STM_FILTER_AHEX_ENC' and 'PDF_STM_FILTER_AHEX_DEC'
	added.

	* src/Makefile.am (STM_MODULE_SOURCES): Sources for the ascii hex
	filters added.

	* src/base/pdf-stm-f-ahex.c (pdf_stm_f_ahexenc_init): New function.
	(pdf_stm_f_ahexenc_apply): New function.
	(pdf_stm_f_ahexdec_apply): New function.

	* src/base/pdf-stm.c: Likewise.
	(pdf_stm_flush): Fix the returned number of flushed bytes.

	* src/base/pdf-stm-filter.c: Likewise.

	* src/base/pdf-stm-filter.h: Likewise.

	* src/base/pdf-stm-f-null.h: Likewise.

	* src/base/pdf-stm-f-null.c: Use a void pointer to hold the filter
	private state.

	* torture/unit/runtests.c (main): Run in fork-mode by default.

	* doc/gnupdf.texi (Reading and Writing Data): Fix the function
	prototype of 'pdf_stm_read'.
	(Managing Time Values): Fix the function prototype of
	'pdf_time_get_local_cal'.

2008-09-21  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Reading and Writing Data): New function
	'pdf_stm_finish'.
	Replace the old specific filter installation functions with the
	new generic function.

	* doc/gnupdf-tsd.texi (pdf_stm_write): New section.

	* torture/unit/base/stm/pdf-stm-write.c (START_TEST): New test
	'pdf_stm_write_002'.
	(START_TEST): New test 'pdf_stm_write_003'.

	* AUTHORS: Updated.

	* torture/unit/Makefile.am (TEST_SUITE_STM): Source file
	'pdf-stm-write.c' added.

	* torture/unit/base/stm/tsuite-stm.c: Test suite for pdf_stm_write
	added.

	* torture/unit/base/stm/pdf-stm-write.c: New file.
	(START_TEST): New test 'pdf_stm_write_001'.

2008-09-21  Gerardo E. Gidoni  <gerel@gnu.org>

	* doc/gnupdf-tsd.texi: updated for hash helper tests.

	* torture/unit/Makefile.am: same.

	* torture/unit/base/hash/tsuite-hash.c: same.

	* torture/unit/base/hash/pdf-hash-add-hash.c: initial add.

	* torture/unit/base/hash/pdf-hash-add-list.c: initial add.

	* torture/unit/base/hash/pdf-hash-add-stm.c: initial add.

	* torture/unit/base/hash/pdf-hash-add-text.c: initial add.

	* torture/unit/base/hash/pdf-hash-add-time.c: initial add.

2008-09-20  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-stm-f-null.c (pdf_stm_f_null_finish): New function.

	* src/base/pdf-stm-filter.c (pdf_stm_filter_finish): New function.

	* src/base/pdf-stm.c (pdf_stm_flush): New function.
	(pdf_stm_finish): New function.

	* AUTHORS: Updated.

	* torture/unit/base/stm/pdf-stm-seek.c: New file.
	(START_TEST): New test 'pdf_stm_seek_001'.
	(START_TEST): New test 'pdf_stm_seek_002'.

	* doc/gnupdf-tsd.texi (pdf_stm_seek): New section.

	* src/base/pdf-stm-be.c (pdf_stm_be_mem_read): Take care about the
	current position when reading data from the buffer.
	(pdf_stm_be_mem_write): Take care about the current position when
	writing data into the buffer.

	* src/base/pdf-stm.c (pdf_stm_seek): New function.
	(pdf_stm_tell): New function.

	* src/base/pdf-stm-be.c (pdf_stm_be_tell): New function.
	(pdf_stm_be_seek): New function.
	(pdf_stm_be_mem_seek): New function.
	(pdf_stm_be_mem_tell): New function.
	(pdf_stm_be_file_tell): New function.
	(pdf_stm_be_file_seek): New function.

	* doc/gnupdf.texi (Managing the Filter Chain): Removed useless
	function 'pdf_stm_uninstall_filters'.

	* src/base/pdf-stm.h: Likewise.

	* doc/gnupdf-tsd.texi (pdf_stm_read_char): New section.
	(pdf_stm_peek_char): New section.

	* torture/unit/base/stm/pdf-stm-peek-char.c: New file.

	* src/base/pdf-stm.c (pdf_stm_peek_char): New function.

	* src/base/pdf-stm-be.c (pdf_stm_be_mem_read): Advance the
	internal position pointer after a read.

	* torture/unit/base/stm/pdf-stm-read-char.c: New file.
	(START_TEST): New test 'pdf_stm_read_char_001'.
	(START_TEST): New test 'pdf_stm_read_char_002'.

	* src/base/pdf-stm.c (pdf_stm_read_char): New function.

	* doc/gnupdf-tsd.texi (pdf_stm_read): New section.
	* doc/gnupdf-tsd.texi (pdf_stm_mem_new): New section.

	* src/base/pdf-stm.c (pdf_stm_install_filter): New function.

	* torture/unit/base/stm/pdf-stm-read.c: New file.
	(START_TEST): New test 'pdf_stm_read_001'.
	(START_TEST): New test 'pdf_stm_read_002'.
	(START_TEST): New test 'pdf_stm_read_003'.
	(START_TEST): New test 'pdf_stm_read_004'.

	* src/base/pdf-error.h: Include stdio.h in the public area of the
	header file to avoid undefined symbols when including pdf.h.

	* torture/unit/Makefile.am (TSUITE_FILES): Add the test suite
	definition fsource file for the stm module.

	* torture/unit/base/stm/pdf-stm-mem-new.c: New file.
	(START_TEST): New test 'pdf_stm_mem_new_001'.

	* src/base/pdf-types.h (PDF_MIN): New macro.
	(PDF_MAX): New macro.

2008-09-19  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Encryption and decryption): Add missing
	'result_size' parameter to the prototype of
	'pdf_crypt_cipher_decrypt'.
	(Encryption and decryption): Fix the return value type for
	'pdf_crypt_cipher_decrypt_size'.
	(Creating and destroying Ciphers): Fix parameters for
	'pdf_crypt_cipher_new'.
	(Memory Allocation): Fix parameters for 'pdf_alloc'.
	(Memory Allocation): Fix parameters for 'pdf_realloc'.
	(Working with iterators): Fix parameters for
	'pdf_hash_iterator_next'.
	(Working with iterators): Fix parameters for
	'pdf_hash_iterator_destroy'.
	(Managing Time Values): Fix name of parameters for
	'pdf_time_get_utc_cal'.
	(Managing Time Span Values): Fix parameters for
	'pdf_time_span_negate'.
	(Managing Time Span Values): Fix return type for
	'pdf_time_span_to_secs'.
	(Platform-specific functions): Fix parameters for
	'pdf_time_w32_set_from_filetime'.
	(Getting File System Properties): Fix parameters for
	'pdf_fsys_get_free_space'.
	(Getting File System Item Properties): Fix deftypefun entry for
	'pdf_fsys_item_props_to_hash'.
	(File System Utility Functions): Fix parameters for
	'pdf_fsys_get_temp_path_name'.
	(File Properties Management): Fix return value type for
	'pdf_fsys_file_get_size'.
	(Changing the Size of a File): Fix the prototype for
	'pdf_fsys_file_set_size'.

	* src/base/pdf-crypt.h (pdf_crypt_md_destroy): Rename 'hd' to
	'md' to be consistent with the reference manual.

	* AUTHORS: Updated.

	* prmgt/fly2org: New file.

	* doc/gnupdf.texi (Message digest functions): Fix prototype for
	'pdf_crypt_md_hash'.

2008-09-15  Jose E. Marchesi  <jemarch@gnu.org>

	* AUTHORS: Updated.

	* src/base/pdf-text-context.c
	(pdf_text_detect_host_language_and_country): Take into account the
	default POSIX locale, setting an empty language and an empty
	country in that case.

2008-09-14  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Memory Allocation): Fixed a typo in the usage
	example for 'pdf_alloc'.

2008-09-13  Gerardo E. Gidoni  <gerel@gnu.org>

	* prmgt/check-api-doc-consistency.pl: using '\s' class character
	in regexs.

2008-09-13  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-list.h (pdf_list_get_at): third argument should be
	'const'.

2008-09-13  David Vazquez  <davazp@gmail.com>

	* src/base/pdf-error.h: Identifiers and strings are kept in a single list.


2008-09-12  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Reading and Writing Data): Change the
	description of 'pdf_stm_write' to the new prototype.

	* src/base/pdf-stm.c (pdf_stm_write): Simplify the function
	prototype.

	* src/base/pdf-stm-buffer.c (pdf_stm_buffer_full_p): New function.
	(pdf_stm_buffer_eob_p): New function.

	* src/base/pdf-stm-filter.c (pdf_stm_filter_get_tail): New
	function.

2008-09-11  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Minimum required version of libgcrypt relaxed to
	1.2.4.

	* README.bzr: Add libgcrypt >= 2.4.0 as a required package.

	* src/base/pdf-types.h: System-type definitions moved to the
	beginning of the file.

	* doc/gnupdf.texi (Setting and Getting List Elements): Example for
	'pdf_list_get_at'.

	* src/base/pdf-list.h (pdf_list_get_at): value argument to
	'pdf_list_get_at' should not be qualified with const.

	* doc/gnupdf.texi (Searching for List Elements): Example for
	'pdf_list_next_node'.
	(Searching for List Elements): Example for
	'pdf_list_previous_node'.
	(Searching for List Elements): Example for 'pdf_list_indexof'.
	(Searching for List Elements): Example for
	'pdf_list_indexof_from'.
	(Searching for List Elements): Example for
	'pdf_list_indexof_from_to'.
	(Setting and Getting List Elements): Example for
	'pdf_list_node_value'.
	(Setting and Getting List Elements): 'value' argument to
	pdf_list_get_at should not be const.

2008-09-10  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Searching for List Elements): Example for
	'pdf_list_search'.
	(Searching for List Elements): Example for 'pdf_list_search_from'.
	(Searching for List Elements): Example for
	'pdf_list_search_from_to'.

	* AUTHORS: Updated.

	* torture/unit/Makefile.am (TEST_SUITE_ALLOC): Source files for
	the memory allocation unit tests.

	* torture/unit/base/alloc/tsuite-alloc.c (tsuite_alloc): Test
	cases for the allocation module added.

	* torture/unit/base/alloc/pdf-realloc.c: New file.

	* torture/unit/base/alloc/pdf-dealloc.c: New file.

	* torture/unit/base/alloc/pdf-alloc.c: New file.

	* doc/gnupdf.texi (Working with iterators): Example for
	'pdf_hash_iterator_destroy'.
	(Basic dispose functions): Example for
	'pdf_hash_element_dealloc_fn'.
	(Basic dispose functions): Example for 'pdf_hash_key_dealloc_fn'.
	(Hash helper functions): Example for 'pdf_hash_add_text'.
	(Hash helper functions): Example for 'pdf_hash_add_time'.
	(Hash helper functions): Example for 'pdf_hash_add_list'.
	(Hash helper functions): Example for 'pdf_hash_add_hash'.

	* torture/unit/Makefile.am (TEST_SUITE_HASH): Rename
	'pdf_hash_iterator' to 'pdf_hash_iterator_new' and
	'pdf_hash_iterator_free' to 'pdf_hash_iterator_destroy'.

	* torture/unit/base/hash/pdf-hash-iterator-new.c: File renamed
	from 'pdf-hash-iterator.c'.

	* torture/unit/base/hash/pdf-hash-iterator.c: Adapt to changes in
	pdf_hash.

	* torture/unit/base/hash/tsuite-hash.c (tsuite_hash): Likewise.

	* torture/unit/base/hash/pdf-hash-iterator-next.c: Test
	'pdf_hash_iterator_next_002' removed.

	* doc/gnupdf-tsd.texi (pdf_hash_iterator_next): Removed entry for
	test 'pdf_hash_iterator_next_002' because it doesnt has sense
	anymore.

	* torture/unit/base/hash/pdf-hash-iterator-destroy.c: File renamed
	from 'pdf-hash-iterator-free.c'.

	* src/base/pdf-hash.c (pdf_hash_iterator_new): Renamed from
	'pdf_hash_iterator'.
	(pdf_hash_iterator_destroy): Renamed from 'pdf_hash_iterator_free'.

	* src/base/pdf-hash.h: 'pdf_hash_iterator_next' should receive a
	'pdf_hash_iterator_t' value, not a pointer to it.
	'pdf_hash_iterator_free' should receive a 'pdf_hash_iterator_t',
	not a pointer to it.
	Function 'pdf_hash_iterator' renamed to 'pdf_hash_iterator_new'.

	* doc/gnupdf.texi (Creating and Destroying Hash Tables): Example
	for 'pdf_hash_destroy'.
	(Hash Table properties): Example for 'pdf_hash_size'.
	(Working with keys): Example for 'pdf_hash_key_p'.
	(Working with keys): Example for 'pdf_hash_rename'.
	(Adding and removing elements): Example for 'pdf_hash_add'.
	(Adding and removing elements): Example for 'pdf_hash_remove'.
	(Searching elements): Example for 'pdf_hash_search'.
	(Working with iterators): Example for 'pdf_hash_iterator'.

	* src/base/pdf-hash-helper.c (hash_dispose_fn): Use the new
	version of 'pdf_hash_destroy'.

	* torture/unit/base/hash/pdf-hash-iterator.c: Likewise.

	* torture/unit/base/hash/pdf-hash-size.c: Likewise.

	* torture/unit/base/hash/pdf-hash-search.c: Likewise.

	* torture/unit/base/hash/pdf-hash-rename.c: Likewise.

	* torture/unit/base/hash/pdf-hash-remove.c: Likewise.

	* torture/unit/base/hash/pdf-hash-new.c: Likewise.

	* torture/unit/base/hash/pdf-hash-key-p.c: Likewise.

	* torture/unit/base/hash/pdf-hash-iterator-next.c: Likewise.

	* torture/unit/base/hash/pdf-hash-iterator-free.c: Likewise.

	* torture/unit/base/hash/pdf-hash-destroy.c: Likewise.

	* torture/unit/base/hash/pdf-hash-add.c: Likewise.

	* src/base/pdf-hash.h: 'pdf_hash_destroy' should not receive a
	pointer to a 'pdf_hash_t' but a 'pdf_hash_t' value.

	* src/base/pdf-hash.c (pdf_hash_destroy): Likewise.

	* doc/gnupdf.texi (Creating and Destroying Hash Tables): Example
	for 'pdf_hash_new'.

	* src/base/pdf-time.c (pdf_time_dup): Likewise.

	* src/base/pdf-time-string.c (pdf_time_get_century_in_sliding_window): Likewise.

	* doc/gnupdf.texi (Time Creation and Destruction): Likewise.

	* src/base/pdf-time.c (pdf_time_new): Likewise.

	* src/base/pdf-time.h: Changed to follow the ADT conventions.

	* doc/gnupdf-hg.texi (Spaces vs. Tabs): New section.
	(Third-party m4 macros): New section.

	* m4/libgcrypt.m4: Added from the libgcrypt distribution.

2008-09-09  David Vazquez  <davazp@gmail.com>

	* src/base/pdf-crypt.h (pdf_crypt_md_new): New function.
	(pdf_crypt_md_hash): New function.
	(pdf_crypt_md_destroy): New function.

	* doc/gnupdf-tsd.texi (Crypt Module): New section.

2008-09-09  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf-hg.texi (Generating a Bazaar Merge Directive): New
	section.

	* src/base/pdf-text-context.c: New static variable
	'text_context_initialized'.

	* src/base/pdf-fsys-disk.c (pdf_fsys_disk_win32_device_p): The
	text object 'device_name' was being initialized twice.
	Make 'pdf_text_new' to conform to the
	coding conventions.

	* src/base/pdf-text-context.c (pdf_text_context_initialize): New
	function.

	* src/base/pdf-error.c: Error message for PDF_EBADCONTEXT.

	* src/base/pdf-error.h (enum pdf_status_e): PDF_EBADCONTEXT added.

	* src/base/pdf-text.c (pdf_text_new): Check for a valid global
	context.

	* src/base/pdf-text.h: Make 'pdf_text_new' to conform to the
	coding conventions.

	* torture/unit/base/text/pdf-text-set-unicode.c: Likewise.

	* torture/unit/base/text/pdf-text-set-pdfdocenc.c: Likewise.

	* torture/unit/base/text/pdf-text-set-language.c: Likewise.

	* torture/unit/base/text/pdf-text-set-host.c: Likewise.

	* torture/unit/base/text/pdf-text-set-country.c: Likewise.

	* torture/unit/base/text/pdf-text-replace.c: Likewise.

	* torture/unit/base/text/pdf-text-replace-ascii.c: Likewise.

	* torture/unit/base/text/pdf-text-new-from-unicode.c: Likewise.

	* torture/unit/base/text/pdf-text-new-from-u32.c: Likewise.

	* torture/unit/base/text/pdf-text-new-from-pdf-string.c: Likewise.

	* torture/unit/base/text/pdf-text-new-from-host.c: Likewise.

	* torture/unit/base/text/pdf-text-new-destroy.c: Likewise.

	* torture/unit/base/text/pdf-text-get-unicode.c: Likewise.

	* torture/unit/base/text/pdf-text-get-pdfdocenc.c: Likewise.

	* torture/unit/base/text/pdf-text-get-language.c: Likewise.

	* torture/unit/base/text/pdf-text-get-host.c: Likewise.

	* torture/unit/base/text/pdf-text-get-hex.c: Likewise.

	* torture/unit/base/text/pdf-text-get-country.c: Likewise.

	* torture/unit/base/text/pdf-text-get-best-encoding.c: Likewise.

	* torture/unit/base/text/pdf-text-filter.c: Likewise.

	* torture/unit/base/text/pdf-text-empty-p.c: Likewise.

	* torture/unit/base/text/pdf-text-dup.c: Likewise.

	* torture/unit/base/text/pdf-text-concat.c: Likewise.

	* torture/unit/base/text/pdf-text-cmp.c: Likewise.

	* doc/gnupdf.texi (Creating and Destroying Text): Likewise.

	* torture/unit/Makefile.am: Likewise.

	* doc/gnupdf.texi: Likewise.

	* doc/gnupdf-tsd.texi: Likewise.

	* src/base/pdf-text-filter.c: Likewise.

	* torture/unit/base/hash/pdf-hash-add.c: Rename 'pdf_hash_create'
	to 'pdf_hash_new'.

	* torture/unit/base/hash/tsuite-hash.c: Likewise.

	* torture/unit/base/hash/pdf-hash-size.c: Likewise.

	* torture/unit/base/hash/pdf-hash-search.c: Likewise.

	* torture/unit/base/hash/pdf-hash-rename.c: Likewise.

	* torture/unit/base/hash/pdf-hash-remove.c: Likewise.

	* torture/unit/base/hash/pdf-hash-key-p.c: Likewise.

	* torture/unit/base/hash/pdf-hash-iterator.c: Likewise.

	* torture/unit/base/hash/pdf-hash-iterator-next.c: Likewise.

	* torture/unit/base/hash/pdf-hash-iterator-free.c: Likewise.

	* torture/unit/base/hash/pdf-hash-destroy.c: Likewise.

2008-09-08  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-hash.h (pdf_hash_new): Rename from
	'pdf_hash_create'.

	* src/base/pdf-hash.c (pdf_hash_new): Likewise.

	* doc/gnupdf-hg.texi (Abstract Data Types): New chapter.

	* torture/unit/Makefile.am (TEST_SUITE_LIST): Rename
	'pdf-list-create.c' to 'pdf-list-new.c'.

	* torture/unit/base/list/pdf-list-new.c: File rename from
	'pdf-list-create.c'.

	* src/base/pdf-stm.c: Rename 'pdf_list_create' to 'pdf_list_new'.

	* doc/gnupdf.texi: Likewise.

	* torture/unit/base/list/pdf-list-add-last.c: Likewise.

	* torture/unit/base/list/pdf-list-add-first.c: Likewise.

	* torture/unit/base/list/pdf-list-add-at.c: Likewise.

	* src/object/pdf-obj.c: Likewise.

	* src/base/pdf-text.c: Likewise.

	* torture/unit/base/list/tsuite-list.c: Likewise.

	* torture/unit/base/list/pdf-list-sorted-search.c: Likewise.

	* torture/unit/base/list/pdf-list-sorted-search-from-to.c: Likewise.

	* torture/unit/base/list/pdf-list-sorted-remove.c: Likewise.

	* torture/unit/base/list/pdf-list-sorted-indexof.c: Likewise.

	* torture/unit/base/list/pdf-list-sorted-indexof-from-to.c: Likewise.

	* torture/unit/base/list/pdf-list-sorted-add.c: Likewise.

	* torture/unit/base/list/pdf-list-size.c: Likewise.

	* torture/unit/base/list/pdf-list-set-at.c: Likewise.

	* torture/unit/base/list/pdf-list-search.c: Likewise.

	* torture/unit/base/list/pdf-list-search-from.c: Likewise.

	* torture/unit/base/list/pdf-list-search-from-to.c: Likewise.

	* torture/unit/base/list/pdf-list-remove.c: Likewise.

	* torture/unit/base/list/pdf-list-remove-node.c: Likewise.

	* torture/unit/base/list/pdf-list-remove-at.c: Likewise.

	* torture/unit/base/list/pdf-list-previous-node.c: Likewise.

	* torture/unit/base/list/pdf-list-node-value.c: Likewise.

	* torture/unit/base/list/pdf-list-next-node.c: Likewise.

	* torture/unit/base/list/pdf-list-iterator.c: Likewise.

	* torture/unit/base/list/pdf-list-iterator-next.c: Likewise.

	* torture/unit/base/list/pdf-list-iterator-from-to.c: Likewise.

	* torture/unit/base/list/pdf-list-iterator-free.c: Likewise.

	* torture/unit/base/list/pdf-list-indexof.c: Likewise.

	* torture/unit/base/list/pdf-list-indexof-from.c: Likewise.

	* torture/unit/base/list/pdf-list-indexof-from-to.c: Likewise.

	* torture/unit/base/list/pdf-list-get-at.c: Likewise.

	* torture/unit/base/list/pdf-list-destroy.c: Likewise.

	* doc/gnupdf-tsd.texi: Likewise.

	* src/base/pdf-list.h (pdf_list_new): Rename from
	'pdf_list_create'.

2008-09-04  Jose E. Marchesi  <jemarch@gnu.org>

	* prmgt/patch_safety_dispatcher.py: End of file comment added.

	* AUTHORS: Gerardo E. Gidoni wrote
	prmgt/patch_safety_dispatcher.py

2008-09-03  Gerardo E. Gidoni  <gerel@gnu.org>

	* prmgt/patch_safety_dispatcher.py: small typo fix.

	* doc/gnupdf-hg.texi: added section for the patch-safety-dispatcher.

	* prmgt/patch_safety_dispatcher.py: first commit.

2008-09-02  Zac Brown  <zac@zacbrown.org>
	* src/base/pdf-fsys-disk.c: Change statvfs to statfs to facilitate
	portability across unixes.

	* src/base/pdf-time-context.c (pdf_time_context_init): Change
	pdf_time_context_init to use struct tm for getting GMT offset and
	DST settings.

	* src/base/pdf-types.h: Add PDF host type for BSD operating
	systems and include sys/param.h to get specific OS details to
	determine whether to set PDF_HOST_BSD.

2008-08-29  David Vazquez  <davazp@gmail.com>

	* torture/unit/runtests.c: Add test suite crypt.

	* torture/unit/base/crypt/tsuite-crypt.c: New file.

	* src/base/pdf-crypt-c-v2.h: New file.

	* src/base/pdf-crypt-c-v2.c: New file.

	* src/base/pdf-crypt-c-aesv2.h: New file.

	* src/base/pdf-crypt-c-aesv2.c: New file.

	* doc/gnupdf.texi (Creating and destroying Ciphers): Rename
	pdf_crypt_algo_e by pdf_crypt_cipher_algo_t.
	pdf_crypt_cipher_encrypt and pdf_crypt_cipher_decrypt functions
	return pdf_size_t.

	* src/Makefile.am (AM_CFLAGS): Flags for libgcrypt added.
	(libgnupdf_la_LIBADD): Libgcrypt library added.

	* configure.ac: Check for libgcrypt library added.

	* src/base/pdf-crypt.c: New file.

	* src/base/pdf-crypt.h: New file.
	(pdf_crypt_init): Implemented function.
	(pdf_crypt_cipher_new): Implemented function.
	(pdf_crypt_cipher_setkey): Implemented function.
	(pdf_crypt_cipher_encrypt_size): Implemented function.
	(pdf_crypt_cipher_decrypt_size): Implemented function.
	(pdf_crypt_cipher_encrypt): Implemented function.
	(pdf_crypt_cipher_decrypt): Implemented function.
	(pdf_crypt_cipher_destroy): Implemented function.
	(pdf_crypt_md_md5): Implemented function.

2008-08-29  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf-hg.texi (Syntax Check): New section.

	* src/base/pdf-hash.c (key_numeric_cmp): User 'strtol' instead of
	'atoi'.

	* src/base/pdf-text-host-encoding.c
	(pdf_text_convert_encoding_name_to_CP): Use 'strtol' instead of 'atol'.

	* cfg.mk: New file.

	* src/base/pdf-list.h: __STDC_VERSION__ is not defined in MacosX.

	* src/base/pdf-alloc.c (pdf_dealloc): Avoid a cast to the free
	argument so maint.mk doesnt complain.

	* README.cvs (NOTE): Fix the location of the trunk branch.

	* maint.mk: Imported from gnulib.

	* GNUmakefile: Imported from gnulib.

2008-08-22  Zac Brown  <zac@zacbrown.org>

	* src/base/pdf-fsys-disk.c (pdf_fsys_disk_file_set_mode): Make
	sure a variable is initialized in all cases and fix indentation.
	(pdf_fsys_disk_file_same_p): Implemented function.
	(pdf_fsys_disk_file_get_pos): Implemented function.
	(pdf_fsys_disk_file_set_pos): Implemented function.

	* doc/gnupdf.texi (pdf_fsys_file_same_p): Add example.
	(pdf_fsys_file_set_pos): Add example.
	(pdf_fsys_file_get_pos): Add example.

2008-08-19  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-fsys-disk.c (pdf_fsys_disk_file_set_mode): Return
	'PDF_EBADDATA' instead of 'PDF_EINVAL'.

	* doc/gnupdf.texi (File Properties Management):
	'pdf_fsys_file_set_mode' Returns 'PDF_EBADDATA' instead of
	'PDF_EINVAL' when the specified mode is not correct.

2008-08-18  Zac Brown  <zac@zacbrown.org>
	* doc/gnupdf.texi (pdf_fsys_file_get_mode): Updated example and
	function declaration to resolve issue in rendering gnupdf.info.
	(pdf_fsys_file_set_mode): Updated example and updated return type.

	* src/base/pdf-fsys-disk.c
	(pdf_fsys_disk_file_get_mode): Implemented function.
	(pdf_fsys_disk_file_set_mode): Implemented function and updated
	return type to give better information in instances of failure.
	(pdf_fsys_disk_file_flush): Fix return value for success from
	PDF_TRUE to PDF_OK.

	* src/base/pdf-fsys-disk.h (pdf_fsys_disk_file_t): Add file_mode field.
	(pdf_fsys_disk_file_set_mode): Update return type to pdf_status_t.

	* src/base/pdf-fsys.{ch} (pdf_fsys_file_set_mode): Update return type
	to pdf_status_t.

2008-08-18  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-stm.c (pdf_stm_read): New function.
	(pdf_stm_write): New function.

	* AUTHORS: Added David Vazquez.

2008-08-15  David Vazquez  <davazp@gmail.com>

	* doc/gnupdf.texi (Encryption): New section.
	(Initializating the module): New subsection.
	(Encryption and decryption): New subsection.
	(Creating and destroying Ciphers): New subsection.
	(Utils functions): New subsection.

2008-08-06  Jose E. Marchesi  <jemarch@gnu.org>

	*  Patch by Hans Hohenfeld changing the interface of
	'pdf_fsys_get_size'.

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

	* src/base/pdf-fsys-disk.c (pdf_fsys_disk_get_item_props): Cast
	pdf_char_t argument to 'FindFirstFile'.

2008-08-05  Zac Brown  <zac@zacbrown.org>
	* src/base/pdf-fsys-disk.c (pdf_fsys_disk_get_item_props): Move variable
	declaration outside #ifndef block to fix compilation on Win32.

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

	* doc/gnupdf.texi (Managing File Positions): Fix the entry for
	'pdf_fsys_file_get_pos' to reflect the implementation.

	* src/base/pdf-fsys.c (pdf_fsys_item_props_to_hash): Removed
	unused variable 'type_code'.
	(pdf_fsys_item_props_to_hash): Insert entries for 'creationDate'
	and 'modDate' in the file properties hash.

	* doc/gnupdf.texi (Getting File System Item Properties): Add
	"isReadable" and "isWritable" entries to the hash containing the
	filesystem item properties.

2008-08-03  Zac Brown  <zac@zacbrown.org>
	* src/base/pdf-fsys.h:
	(struct pdf_fsys_item_props_s):	Remove the following unnecessary
	fields: is_hidden, is_read_only, is_checked_out, is_published,
	creator_code, type_code, version_major, version_minor. Added following fields: is_readable,
	is_writable.

	* src/base/pdf-fsys-disk.c: Implemented
	pdf_fsys_disk_get_item_props, pdf_fsys_disk_readable_p,
	pdf_fsys_disk_writable_p and pdf_fsys_disk_readable_p.

	* doc/gnupdf.texi: Update documentation for
	`struct pdf_fsys_item_props_s'. Added examples for `pdf_fsys_item_p',
	`pdf_fsys_get_item_props', `pdf_fsys_item_readable_p' and
	`pdf_fsys_item_writable_p'

2008-08-01  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-stm.c (pdf_stm_dealloc): New function.
	(pdf_stm_destroy): New function.

	* src/base/pdf-stm-filter.c (pdf_stm_filter_get_in): New function.
	(pdf_stm_filter_set_in_end): New function.
	(pdf_stm_filter_get_in_end): New function.
	(pdf_stm_filter_set_in_begin): New function.
	(pdf_stm_filter_get_in_begin): New function.

2008-07-30  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Creating and Destroying Streams): API updated.

	* src/base/pdf-stm.c (pdf_stm_mem_new): New function.
	(pdf_stm_alloc): New function.
	(pdf_stm_init): New function.

2008-07-29  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-stm.c (pdf_stm_file_new): New function.

	* src/base/pdf-stm.h: Offset parameter to 'pdf_stm_file_new'.

	* doc/gnupdf.texi (Creating and Destroying Streams): Add an offset
	parameter.

2008-07-28  Jose E. Marchesi  <jemarch@gnu.org>

	*  Fix timestamps.

2008-07-27  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/Makefile.am (html-local): Use 'gnupdf-manual.init' to
	generate the html version of the hackers guide.

2008-07-26  Aleksander Morgado  <aleksander@es.gnu.org>

	* src/base/pdf-types.h: Include windows.h if compiling for w32.

	* src/base/pdf-time.[c|h] (pdf_time_set_from_u32): New function to
	initialize a pdf_time_t with the Unix time given as a pdf_u32_t.
	(pdf_time_set_from_i64): New function to initialize a pdf_time_t with
	the Unix time given as a pdf_i64_t.
	(pdf_time_w32_set_from_filetime): New w32-specific function to
	initialize a pdf_time_t with a FILETIME structure.

	* doc/gnupdf-tsd.texi (Types Module): Added missing menu entries for a
	correct compilation.

	* doc/gnupdf.texi (Platform-specific functions): New section including
	the w32-specific `pdf_time_w32_set_from_filetime' function, to fastly
	set the pdf_time_t to a given filetime-timescale epoch.
	(Managing Time Values): New functions `pdf_time_set_from_i32' and
	`pdf_time_set' in order to fastly set the pdf_time_t variable to a given
	unix-timescale epoch.

2008-07-26  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf-hg.texi (Naming Functions): New section.
	(Public functions in a module): New subsection.
	(Private functions in a module): New subsection.
	(Platform specific functions): New subsection.

	* src/base/pdf-time-string.c: Include 'pdf-alloc.h'.

	* src/base/pdf-time.c: Include 'pdf-alloc.h'.

2008-07-25  Aleksander Morgado  <aleksander@es.gnu.org>

	* src/base/pdf-time.c (pdf_time_get_cal): Function simplified to avoid
	using pdf_i64_t when not really needed. Also small bugfix in that
	function to correctly move the time value to local time depending on
	the gmt_offset.

	* src/base/pdf-time-string.h (pdf_time_to_string_utc_asn1): Function
	renamed from `pdf_time_to_string_asn1'.
	(pdf_time_from_string_utc_asn1): Function renamed from
	`pdf_time_from_string_asn1'.

	* src/base/pdf-time-string.c: Implemented to/from routines for
	UTC ASN1 and Generalized ASN1 date formats, as specified in the ASN1
	reference.
	(pdf_time_from_string_pdf): Function simplified.
	(pdf_time_from_string_iso8601): Function simplified.

	* doc/gnupdf.texi: Renamed enumeration  `PDF_TIME_FORMAT_ASN1' to
	`PDF_TIME_FORMAT_UTC_ASN1'.

	* src/base/pdf-time.h: Idem.

	* src/base/pdf-time.c: Removed `pdf-base.h' header, as it should
	not be included by any file in the base layer.

	* src/base/pdf-time-string.c: Idem.

	* src/base/pdf-text.h: Idem.

2008-07-25  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-list.h: Inline semantics in MacosX.

	* src/Makefile.am (clean-local): Remove pdf.h

	* doc/Makefile.am (clean-local): Remove generated info files.

	* src/base/pdf-list.h: Add support for c99 inline semantics.

2008-07-24  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-alloc.c (pdf_dealloc): Add the 'const' qualifier to
	the pointer argument.
	(pdf_realloc): Idem.

2008-07-24  gerel  <gerel@gnu.org>

	* src/base/pdf-hash-helper.[ch]: added helper functions.

	* doc/gnupdf.texi: same.

2008-07-23  gerel  <gerel@gnu.org>

	* src/base/pdf-hash.c: changed API to allow the specification of
	memory disposal functions in entry insertion time and removed
	table-wide disposal function.

	* src/base/pdf-hash.h: same.

	* src/base/pdf-fsys.c: fixed to conform API modifications.

	* torture/unit/base/hash/pdf-hash-add.c: same.

	* torture/unit/base/hash/pdf-hash-create.c: same.

	* torture/unit/base/hash/pdf-hash-destroy.c: same.

	* torture/unit/base/hash/pdf-hash-iterator-free.c: same.

	* torture/unit/base/hash/pdf-hash-iterator-next.c: same.

	* torture/unit/base/hash/pdf-hash-iterator.c: same.

	* torture/unit/base/hash/pdf-hash-key-p.c: same.

	* torture/unit/base/hash/pdf-hash-remove.c: same.

	* torture/unit/base/hash/pdf-hash-rename.c: same.

	* torture/unit/base/hash/pdf-hash-search.c: same.

	* torture/unit/base/hash/pdf-hash-size.c: same.

	* doc/gnupdf.texi: same.

2008-07-22  Daniel Vidal  <davr@pc_davr.deimos-space.com>

	* src/base/pdf-types.c:  Fixed negative number handling in some functions. Also error handling issues fixed.

	* torture/unit/base/types/pdf-i64-subtraction.c: Test for pdf_i64_subtraction function

	* torture/unit/base/types/pdf-i64-mod.c: Test for pdf_i64_mod function

	* torture/unit/base/types/pdf-i64-div.c: Test for pdf_i64_div function

	* torture/unit/base/types/pdf-i64-mult.c: Test for pdf_i64_mult function

	* torture/unit/base/types/tsuite-types.c: Added new tests

	* torture/unit/Makefile.am: Added new types tests

	* doc/gnupdf.texi: Changed i64 interfaces

	* doc/gnupdf-tsd.texi: Added new i64 tests

2008-07-21  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-types.h: pdf_stm_pos_t is not pdf_off_t

2008-07-21  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf-manual-wiki.init (mediawiki_preformatted): Fix a bug
	preventing the @example sections to appear in mediawiki output.

2008-07-20  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/Makefile.am (gnudpf-hg.wiki): New fule for the Hackers
	Guide.

	* doc/gnupdf-hg.texi: New manual.

	* doc/Makefile.am (noinst_TEXINFOS): Build the new Hackers Guide

2008-07-16  Jose E. Marchesi  <jemarch@gnu.org>

	* bootstrap: Output changed to mention Bazaar.

	* README.cvs (NOTE): This file is now obsolete.

	* README.bzr: New file.

2008-07-13  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-time-string.c (pdf_time_from_string_pdf): Function
	implemented.
	(pdf_time_to_string_pdf): Function implemented.
	(pdf_time_to_string_iso8601): Bugfix to handle negative GMT offsets.

2008-07-11  gerel  <gerel@gnu.org>

	* prmgt/check-api-doc-consistency.pl: added '-i' feature.

2008-07-10  Aleksander Morgado  <aleksander@es.gnu.org>

	* doc/gnupdf.texi: Parameter names for `pdf_time_get_utc_cal',
	`pdf_time_span_negate' and `pdf_time_span_to_secs' changed so that they
	are the same as in `pdf-time.h'.

2008-07-09  Daniel Vidal  <davr@pc_davr.deimos-space.com>

	* torture/unit/base/types/pdf-i64-neg.c: Changed pdf_i64 functions to conform to new API

	* torture/unit/base/types/pdf-i64-copy.c: Changed pdf_i64 functions to conform to new API

	* torture/unit/base/types/pdf-i64-cmp.c: Changed pdf_i64 functions to conform to new API

	* torture/unit/base/types/pdf-i64-assign.c: Changed pdf_i64 functions to
	conform to new API

	* torture/unit/base/types/pdf-i64-assign-quick.c: Changed pdf_i64 functions to
	conform to new API

	* torture/unit/base/types/pdf-i64-add.c: Changed pdf_i64 functions to conform to new API

	* torture/unit/base/types/pdf-i64-abs.c: Changed pdf_i64 functions to conform to new API

	* src/base/pdf-time.c: Changed pdf_i64 functions to conform to new API

	* src/base/pdf-types.c: Changed API to return void in all functions
	but keeping error control

	* src/base/pdf-types.h: Changed API to return void in all functions
	but keeping error control

2008-07-07  gerel  <gerel@gnu.org>

	* prmgt/srcinfo-extractor.pl: FS#52, first add.

2008-07-08  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi: Grammatical fixes and new example. Patch by Zac
	Brown.

2008-07-04  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-time.c (pdf_time_diff_cal): Take into account that
	structure members inside `pdf_time_cal_span_s' are all unsigned.

2008-07-04  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-time.c (pdf_time_cal_span_diff): Function implemented
	and some other bugfixes related to calendar spans, which are not
	funny any more.

2008-07-02  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-time.c: Basic bugfixes to always store the epoch
	in UTC within the `pdf_time_t'. GMT offset is stored separately.

	* src/base/pdf-time-string.c (pdf_time_from_string_iso8601): Get
	`pdf_time_cal_s' from string in UTC, then convert it to a
	`pdf_time_t'.

	* doc/gnupdf.texi (Time Related Data Types): Clarification on the
	use of `struct pdf_time_cal_s'.

2008-07-02  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-time-string.c (pdf_time_to_string_iso8601): Function
	implemented. Remember to pdf_dealloc-ate the returned string.

	* src/base/pdf-time.c (pdf_time_from_cal): Bugfix (one day less)
	and gmt offset included.

	* src/base/pdf-time.h: Remove not needed typedef.

	* doc/gnupdf.texi (Time Printing and Parsing): Clarification.
	The string returned by `pdf_time_to_string' must be deallocated
	by the caller.

2008-07-02  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-time.h (struct pdf_time_s): Clarification. GMT
	offset must be stored in seconds west of GMT.

	* doc/gnupdf.texi (Time Related Data Types): Idem.

2008-06-27  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-time.[c|h]: When passing a struct to a function, do
	it by the means of its address, not a copy of the whole structure.

	* doc/gnupdf.texi (Time Module API): Idem.

	* src/base/pdf-time-string.c (pdf_time_from_string_iso8601): Changed
	to use new time module API.

	* src/base/pdf-time-context.c (pdf_time_context_init): Store gmt
	offset in seconds, not in minutes.

2008-06-25  Jose E. Marchesi  <jemarch@gnu.org>

	* prmgt/generate-coverage-report: New script to generate an html
	coverage report using lcov.

	* src/Makefile.am (clean-local): Remove code coverage information.

	* configure.ac: Add support for compilation with code coverage.

2008-06-25  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-time-context.h: New file

	* src/base/pdf-time-context.c: New file

	* src/base/pdf-time-string.h: New file

	* src/base/pdf-time-string.c: New file

	* src/base/pdf-time.h: New file

	* src/base/pdf-time.c: New file.

	* src/base/pdf-fsys.h: Remove temporary typedef of pdf_time_t.

	* src/Makefile.am (TIME_MODULE_SOURCES): Added compilation of the time module.
	(PUBLIC_HDRS): Add pdf-time.h in the public library header.

2008-06-25  Aleksander Morgado  <aleksander@es.gnu.org>

	* src/base/pdf-types.h: Added macros for the new pdf_i64_* functions. Also
	new implementation for pdf_i64_cmp macro.

2008-06-24  Daniel Vidal  <davr@pc_davr.deimos-space.com>

	* torture/unit/base/types/pdf-i64-neg.c: new pdf_i64 test

	* torture/unit/base/types/pdf-i64-cmp.c: new pdf_i64 test

	* torture/unit/base/types/pdf-i64-abs.c: new pdf_i64 test

	* torture/unit/base/types/tsuite-types.c: new tests

	* torture/unit/base/types/pdf-i64-new.c: added support for new macros

	* torture/unit/base/types/pdf-i64-copy.c: added support for new macros

	* torture/unit/base/types/pdf-i64-assign.c: added support for new macros

	* torture/unit/base/types/pdf-i64-assign-quick.c: added support for new macros

	* torture/unit/base/types/pdf-i64-new.c: added support for new macros

	* torture/unit/base/types/pdf-i64-add.c: added support for new macros

	* torture/unit/Makefile.am: added new tests for types module

	* src/base/pdf-types.h: added macros for 64 bit systems

	* src/base/pdf-types.c: added macros for 64 bit systems

2008-06-17  gerel  <gerel@gnu.org>

	* src/base/pdf-fsys.c: small fix in pdf_fsys_create().

2008-06-17  gerel  <gerel@gnu.org>

	* doc/gnupdf-tsd.texi: added error module tests.

2008-06-16  gerel  <gerel@gnu.org>

	* torture/unit/Makefile.am: added error module tests.

	* torture/unit/runtests.c: added error module tests.

	* torture/unit/base/error/pdf-error.c: test first commit.

	* torture/unit/base/error/tsuite-error.c: test first commit.

	* torture/unit/base/error/pdf-perror.c: test first commit.

	* src/base/pdf-error.[ch]: added new types and messages.

2008-06-15  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* doc/gnupdf.texi: Added new functions allowing 32bit values as input
	in the built-in 64bit support.
	(pdf_i64_add_i32): New function.
	(pdf_i64_subtract_i32_min): New function.
	(pdf_i64_subtract_i32_sub): New function.
	(pdf_i64_mult_i32): New function.
	(pdf_i64_div_i32_divisor): New function.
	(pdf_i64_div_i32_dividend): New function.
	(pdf_i64_mod_i32_divisor): New function.
	(pdf_i64_mod_i32_dividend): New function.
	(pdf_i64_cmp_i32): New function.
	(pdf_i64_to_i32): New function.

	* src/base/pdf-types.[c|h]: Idem.

2008-06-15  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/Makefile.am (libgnupdf_la_LDFLAGS): Only use --no-undefined if
	compiling for W32 with mingw32 (to create a DLL). This option breaks
	compilation in Mac OS X.

	* configure.ac: Set COMPILER_W32_SYSTEM if mingw32 host detected.

2008-06-14  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-error.h (enum pdf_status_e): Removed PDF_EINVAL and added
	PDF_EBADTEXT.

	* src/base/pdf-text-encoding.c: Changed PDF_EBADDATA with PDF_EBADTEXT and
	PDF_EINVAL with PDF_EBADDATA.

	* src/base/pdf-text-filter.c: Idem

	* src/base/pdf-text-host-encoding.c: Idem

	* src/base/pdf-text-ucd-case.c: Idem

	* src/base/pdf-text-ucd-wordbreak.c: Idem

	* src/base/pdf-text.c: Idem

2008-06-10  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Filtered Streams): New section.
	(Creating and Destroying Streams): New section.
	(Managing the Filter Chain): New section.
	(Reading and Writing Data): New section.
	(Creating and Destroying Streams): New function
	`pdf_stm_file_new'.
	(Stream Types): New section.
	(Stream Types): New data type `pdf_stm_t'.
	(Stream Types): New data type `enum pdf_stm_mode_e'.
	(Creating and Destroying Streams): New function
	`pdf_stm_mem_new'.
	(Creating and Destroying Streams): New function
	`pdf_stm_destroy'.
	(Stream Positioning): New section.
	(Managing the Filter Chain): New several functions.
	(Reading and Writing Data): New several functions.
	(Stream Positioning): New several functions.

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

	* doc/gnupdf.texi (Closing and Reopening Files): Add `PDF_ERROR'
	as a possible return value for `pdf_fsys_disk_file_close'.

	* src/base/pdf-fsys-disk.c (pdf_fsys_disk_file_close): New function.

2008-05-29  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf-tsd.texi (pdf_fsys_open): New section.
	(pdf_fsys_open): New test 001.
	(pdf_fsys_open): New test 002.
	(pdf_fsys_open): New test 003.
	(pdf_fsys_open): New test 004.

	* src/base/pdf-fsys-disk.c (pdf_fsys_disk_get_free_space): Added
	support for mingw32.

2008-05-28  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-fsys-disk.c (pdf_fsys_disk_get_free_space):
	Implemented.

	* rmdir module imported from gnulib.

	* src/base/pdf-error.h (enum pdf_status_e): New value
	`PDF_ENOTEMPTY'.

	* doc/gnupdf.texi (Folder Management): Added `PDF_ERROR' as a
	possible return value for `pdf_fsys_remove_folder'.

	* src/base/pdf-fsys-disk.c (pdf_fsys_disk_get_folder_contents):
	Implemented.

	* doc/gnupdf.texi (Folder Management): Added `PDF_ERROR' as a
	possible return value for `pdf_fsys_get_folder_contents'.

2008-05-27  Jose E. Marchesi  <jemarch@gnu.org>

	* lib/localename.c: Update by Bruno Haible to fix a bug in mingw32
	sublanguage codes.

	* gnulib updated from git.

	* mkdir module (and dependencies) imported from gnulib.

	* src/base/pdf-fsys-disk.c (pdf_fsys_disk_create_folder): New
	function.

	* doc/gnupdf.texi (Folder Management): Added `PDF_ERROR' as a
	possible return value of `pdf_fsys_create_folder'.

	* src/base/pdf-fsys-disk.c (pdf_fsys_disk_get_host_path): New
	function.

2008-05-26  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-fsys-disk.c (pdf_fsys_disk_open): `fopen' do not
	set `errno' in mingw.

	* fflush module (and dependencies) imported from gnulib.

	* src/base/pdf-error.h (enum pdf_status_e): New `PDF_EAGAIN' and
	`PDF_ENOSPC' values.

	* doc/gnupdf.texi (Synchronous Input/Output): New error conditions
	for `pdf_fsys_disk_file_flush'.

	* src/base/pdf-fsys-disk.c (pdf_fsys_disk_file_flush):
	Implementation.

2008-05-25  Jose E. Marchesi  <jemarch@gnu.org>

	* src/base/pdf-fsys-disk.c (pdf_fsys_disk_build_mode_string): Add
	missing `static' qualifier.
	(pdf_fsys_disk_win32_device_p): New function.

	* src/Makefile.am (libgnupdf_la_LDFLAGS): Call ld with
	`-no-undefined' to be able to generate a DLL library when
	compiling for Windozes.

2008-05-22  Jose E. Marchesi  <jemarch@gnu.org>

	* AUTHORS: Indentation fixed.

	* src/base/pdf-error.h (enum): `PDF_EBADPERMS' and `PDF_EBADNAME'
	added to `pdf_status_t'.
	(enum pdf_status_e): Define `enum pdf_status_e' and then typedef
	to `pdf_status_t' to avoid the anonym data type (and the horrid
	Emacs changelog effect you can see in the previous entry).

	* doc/gnupdf.texi (Opening Files): `pdf_fsys_file_open' may return
	`PDF_ENOMEM'.

	* src/base/pdf-fsys-disk.c (pdf_fsys_disk_build_mode_string): New
	private function.

	* src/base/pdf-fsys-disk.h (struct pdf_fsys_disk_file_s): New
	structure.

	* src/base/pdf-fsys.c (pdf_fsys_item_props_to_hash): Implemented.

	* src/Makefile.am (FILESYSTEM_MODULE_SOURCES): New variable
	holding filesystem module sources.

	* src/base/pdf-fsys.h: New file.

	* src/base/pdf-fsys-disk.h: New file.

	* src/base/pdf-fsys-disk.c: New file.

	* src/base/pdf-fsys-def.h: New file.

	* src/base/pdf-fsys.c: New file.

	* doc/gnupdf.texi (Read in Advance): New section.
	(Read in Advance): New function `pdf_fsys_file_request_rad'.
	(Read in Advance): New function `pdf_fsys_file_has_rad'.
	(Read in Advance): New function `pdf_fsys_file_cancel_rad'.
	(Closing and Reopening Files): New section.
	(Closing and Reopening Files): New function `pdf_fsys_file_close'.
	(Closing and Reopening Files): New function
	`pdf_fsys_file_reopen'.
	(Comparing Files): New section.
	(Comparing Files): New function `pdf_fsys_file_same_p'.
	(Getting File System Properties): New section.
	(Getting File System Properties): New function
	`pdf_fsys_get_free_space'.
	(File System Utility Functions): New section.
	(File System Utility Functions): New function
	`pdf_fsys_get_temp_path_name'.
	Fix callback types and remove redundant callbacks.
	(File System Definition Functions): New function
	`pdf_fsys_destroy'.

	* prmgt/Makefile.am (ut.wiki): Rule to generate `ut.wiki' added.

	* prmgt/testlog2wiki.in: Implementation finished.

2008-05-20  Jose E. Marchesi  <jemarch@gnu.org>

	* prmgt/testlog2wiki.in: Fix a bug so we can output information
	about all the tests pertaining to a given function.

	* configure.ac: Output `prmgt/testlog2wiki'.

	* prmgt/testlog2wiki.in: New file.

	* torture/unit/nocheck/README: Fix the formatting and fill the
	text.

	* doc/gnupdf.texi (File Properties Management): New function
	`pdf_fsys_file_get_pos'.
	(File Properties Management): New function
	`pdf_fsys_file_get_url'.
	(File Properties Management): New function
	`pdf_fsys_file_set_mode'.
	(Seeking Into an Open File): New section.
	(Seeking Into an Open File): New function
	`pdf_fsys_file_set_pos'.
	(Changing the Size of a File): New function
	`pdf_fsys_file_resize'.

2008-05-19  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (File Properties Management): New section.
	(File Properties Management): New function
	`pdf_fsys_file_sizeable_p'.
	(File Properties Management): New function
	`pdf_fsys_file_get_size'.
	(File Properties Management): New function
	`pdf_fsys_file_get_filesystem'.
	(File Data Types): New data type `pdf_fsys_file_mode_t'.
	(File Properties Management): New function
	`pdf_fsys_file_get_open_mode'.

	* src/base/pdf-types.c (pdf_i64_mod): Make and use non-const
	versions of const arguments for internal operation.
	(pdf_i64_div): idem.
	Reformat function headers to comply with GCS.

2008-05-18  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Output `apic2wiki' from `apic2wiki.in'.

	* prmgt/Makefile.am (apic.wiki): New rule to build `apic.wiki'.

	* prmgt/pmccabe2html.in: Obsolete TODO mark removed.

	* prmgt/check-api-doc-consistency.pl: New plain-mode '-p' to ease
	the automatic process of the script output.
	New distribution terms under the GPLv3 license.

	* prmgt/apic2wiki.in: New file.

	* prmgt/pmccabe2html.in: Fix end of file comment.

2008-05-14  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Filesystem Data Types): New data type
	`pdf_fsys_item_props_s'.
	(Getting File System Item Properties): New function
	`pdf_fsys_get_item_props'.
	(Getting File System Item Properties): New function
	`pdf_fsys_item_p'.
	(Getting File System Item Properties): New function
	`pdf_fsys_readable_p'.
	(Getting File System Item Properties): New function
	`pdf_fsys_writable_p'.

2008-05-11  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* doc/gnupdf.texi: Update Time module API with corrections.

2008-05-08  gerel  <gerel@gnu.org>

	* doc/gnupdf.texi: corrected some API funcs.

	* src/base/pdf-text.[ch]: same.

	* src/base/pdf-alloc.[ch]: same.

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

	* prmgt/check-api-doc-consistency.pl: moved from `build-aux'.

2008-05-06  gerel  <gerel@gnu.org>

	* doc/gnupdf.texi: updated API to conform the "const" convention.

	* src/base/pdf-alloc.c: updated API to conform the "const" convention.

	* src/base/pdf-alloc.h: updated API to conform the "const" convention.

	* src/base/pdf-error.c: updated API to conform the "const" convention.

	* src/base/pdf-error.h: updated API to conform the "const" convention.

	* src/base/pdf-hash.c: updated API to conform the "const" convention.

	* src/base/pdf-hash.h: updated API to conform the "const" convention.

	* src/base/pdf-list.h: updated API to conform the "const" convention.

	* src/base/pdf-text.c: updated API to conform the "const" convention.

	* src/base/pdf-text.h: updated API to conform the "const" convention.

	* src/base/pdf-types.c: updated API to conform the "const" convention.

	* src/base/pdf-types.h: updated API to conform the "const" convention.


2008-05-05  Daniel Vidal  <davr@pc_davr.deimos-space.com>

	* torture/unit/base/types/tsuite-types.c (tsuite_types): Tests for the
	pdf_i64_t type

	* torture/unit/base/types/pdf-i64-copy.c: New test file for pdf_i64_t
	type

	* torture/unit/base/types/pdf-i64-new.c: New test file for pdf_i64_t
	type

	* torture/unit/base/types/pdf-i64-assign.c: New test file for pdf_i64_t
	type

	* torture/unit/base/types/pdf-i64-assign-quick.c: New test file for pdf_i64_t
	type

	* torture/unit/base/types/pdf-i64-add.c: New test file for pdf_i64_t
	type

	* torture/unit/runtests.c: Included tests for type pdf_i64_t

	* torture/unit/Makefile.am (TEST_SUITE_TEXT): Included tests for type
	pdf_i64_t

	* src/Makefile.am (PUBLIC_HDRS): Changed order of declaration of public
	headers pdf-types.h and pdf-error.h

	* src/base/pdf-types.c: Included pdf_i64_t type

	* src/base/pdf-types.h: Included pdf_i64_t type

2008-05-05  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-types.h: Change signed integer pdf_XX_t types to
	pdf_iXX_t.

	* src/base/pdf-text.h: Change signed integer pdf_XX_t types to
	pdf_iXX_t.

	* src/base/pdf-text.c: Change signed integer pdf_XX_t types to
	pdf_iXX_t.

	* src/base/pdf-text-ucd-case.c: Change signed integer pdf_XX_t types
	to pdf_iXX_t.

	* build-aux/pdf-text-generate-ucd.c: Change signed integer pdf_XX_t
	types to pdf_iXX_t.

2008-04-29  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-text.c (pdf_text_replace_multiple): Split function to
	make pmccabe happy.

	* src/base/pdf-text-host-encoding.c (pdf_text_utf32he_to_host): Split
	function to make pmccabe happy.
	(pdf_text_host_to_utf32he): Split function to make pmccabe happy.

2008-04-27  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* torture/unit/base/text/pdf-text-set-host.c: Add Win32 support.

	* torture/unit/base/text/pdf-text-new-from-host.c: Add Win32 support.

	* torture/unit/base/text/pdf-text-get-host.c: Add Win32 support.

	* torture/unit/base/text/pdf-text-get-best-encoding.c: Add Win32
	support.

	* torture/unit/base/text/pdf-text-filter.c: Add Win32 support.

	* torture/unit/base/text/pdf-text-check-host-encoding.c: Add Win32
	support.

	* src/base/pdf-types.h (PDF_HOST_WIN32): New definition for Win32
	environments.

	* src/base/pdf-text.h: New function: `pdf_text_replace_multiple', which
	is not in the public API of the module.

	* src/base/pdf-text.c (pdf_text_get_best_encoding): Add best encodings
	in Win32 environment.
	(pdf_text_replace_multiple): New function. Replace a set of old patterns
	with a single new pattern.
	(pdf_text_replace): Use `pdf_text_replace_multiple'.

	* src/base/pdf-text-host-encoding.c: Add Win32 host encoding conversion
	support.

	* src/base/pdf-text-filter.c (pdf_text_substitute_line_ending): Replace
	all possible line endings in a single replacement loop.

	* src/base/pdf-text-context.c: Depend on new PDF_HOST_WIN32 instead
	of WIN32_NATIVE.

	* src/base/pdf-stm-file.c (pdf_stm_file_init): Add dependency of host
	type in the open mode flags.

2008-04-24  Jose E. Marchesi  <jco@terma.com>

	* README (specs): Use the canonical URL http://www.gnupdf.org

2008-04-23  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* torture/unit/base/stm/pdf-create-file-stm.c: Function `pdf_stm_close'
	returns PDF_OK if succeeded.

	* torture/unit/base/list/pdf-list-iterator.c: Deallocate iterators before
	exit.

	* torture/unit/base/list/pdf-list-iterator-next.c: Deallocate iterators
	before exit.

	* torture/unit/base/list/pdf-list-iterator-from-to.c: Deallocate
	iterators before exit.

	* torture/unit/base/hash/pdf-hash-iterator.c: Deallocate iterators
	before exit.

	* torture/unit/base/hash/pdf-hash-iterator-next.c: Deallocate iterators
	before exit.

	* src/base/pdf-stm.c (pdf_create_file_stm): The initialization function
	from the backend returns PDK_OK if succeeded.

	* src/base/pdf-stm-file.c (pdf_stm_file_init): Correctly deallocate
	filename if open function didn't succeed.

	* src/base/pdf-hash.c (pdf_hash_destroy): Correctly deallocate list
	elements.
	(pdf_hash_remove): Correctly deallocate list element.

2008-04-23  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* torture/unit/base/text/pdf-text-filter.c (START_TEST): Correct size
	of input string in test pdf_text_filter_008.

	* utils/Makefile.am (LDADD): If available, link to GNU libiconv for
	iconv() instead of libc.

2008-04-23  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-text-context.c (pdf_text_detect_host_language_and_country):
	Category name should also be added in case setlocale is not supported.

2008-04-23  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-text-filter.c (pdf_text_filter_change_case): New list
	of words must be dynamically allocated.

	* src/base/pdf-text.c (pdf_text_destroy_word_boundaries_list):
	Correctly deallocate contents of list elements.

2008-04-23  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* torture/unit/runtests.c (main): Deactivate stm unit tests until the
	new implementation based on the filesystem module is done.

2008-04-22  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* configure.ac: Update message when no UT framework is selected.

	* src/base/pdf-text-ucd-case.c (pdf_text_ucd_special_case_conditions):
	Bugfix invalid write.

	* torture/unit/base/text/pdf-text-filter.c: Free allocated memory in
	the unit tests to easily check memory leaks within the library.

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

	* torture/unit/base/hash/pdf-hash-search.c (START_TEST): Cast
	generic pointers to avoid warnings.

2008-04-22  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* torture/unit/nocheck/README: New file.

	* torture/unit/nocheck/check.h: New file. No-Check ut framework API,
	compatible with real Check API.

	* torture/unit/nocheck/check.c: New file. No-Check ut framework.

	* torture/unit/runtests.c: Include also `stdio.h'.

	* torture/unit/Makefile.am: Added compilation of No-Check unit testing
	framework depending on specific configure options.

	* configure.ac: Support built-in No-Check unit testing framework.

2008-04-21  Jose E. Marchesi  <jemarch@gnu.org>

	* torture/unit/base/list/pdf-list-set-at.c (START_TEST): Idem.

	* torture/unit/base/list/pdf-list-search-from-to.c (START_TEST): Idem.

	* torture/unit/base/list/pdf-list-search-from.c (START_TEST): Idem.

	* torture/unit/base/list/pdf-list-search.c (START_TEST): Idem.

	* torture/unit/base/list/pdf-list-remove.c (START_TEST): Idem.

	* torture/unit/base/list/pdf-list-remove-node.c (START_TEST): Idem.

	* torture/unit/base/list/pdf-list-remove-at.c (START_TEST): Idem.

	* torture/unit/base/list/pdf-list-previous-node.c (START_TEST): Idem.

	* torture/unit/base/list/pdf-list-node-value.c (START_TEST): Idem.

	* torture/unit/base/list/pdf-list-next-node.c (START_TEST): Idem.

	* torture/unit/base/list/pdf-list-iterator-next.c (START_TEST): Idem.

	* torture/unit/base/list/pdf-list-iterator-from-to.c (START_TEST): Idem.

	* torture/unit/base/list/pdf-list-indexof-from.c (START_TEST): Idem.

	* torture/unit/base/list/pdf-list-indexof-from-to.c (START_TEST): Idem.

	* torture/unit/base/list/pdf-list-get-at.c (START_TEST): Idem.

	* torture/unit/base/list/pdf-list-add-last.c: Idem.

	* torture/unit/base/list/pdf-list-add-first.c (START_TEST): Use
	new prototype of `pdf_list_add_first' and `pdf_list_add_last'.

	* src/base/pdf-text.c (pdf_text_fill_word_boundaries_list): Use
	new prototype of `pdf_list_add_first' and `pdf_list_add_last'.

	* src/base/pdf-stm.c (pdf_stm_install_filter): Use new prototype
	of `pdf_list_add_first' and `pdf_list_add_last'.

	* src/base/pdf-list.h (pdf_list_add_first): Return a pdf status
	value and get the list node structure as a parameter.
	(pdf_list_add_last): Idem.
	(pdf_list_add_at): Check for existing elements if the list doesnt
	allow duplicates.
	(pdf_list_set_at): Idem.
	(struct pdf_list_s): New boolean field `allow_duplicates'.

	* doc/gnupdf.texi (Adding and Removing List Elements): New
	attribute `node' in `pdf_list_add_first' and new pdf status return
	value.
	(Adding and Removing List Elements): New
	attribute `node' in `pdf_list_add_last' and new pdf status return
	value.
	(Adding and Removing List Elements): New pdf status return value
	in `pdf_list_add_at'.
	(Setting and Getting List Elements): New pdf status return value
	in `pdf_list_set_at'.

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

	* torture/unit/base/hash/pdf-hash-iterator-next.c (START_TEST):
	Cast (void *) pointers to avoid compilation warnings.

	* src/base/pdf-hash.c: Include <limits.h> that provides
	`CHAR_BIT'.

2008-04-17  gerel  <gerel@gnu.org>

	* doc/gnupdf-tsd.texi: added missing List and new Hash Module tests.

	* doc/gnupdf.texi: modified Hash Module API.

	* src/Makefile.am: added Hash Module sources.

	* torture/unit/Makefile.am: added Hash Module test sources

	* torture/unit/runtests.c: added Hash Module case suite.

	* torture/unit/base/list/tsuite-list.c: added missing tests.

	* src/base/pdf-hash.c: initial add

	* src/base/pdf-hash.h: initial add

	* torture/unit/base/list/pdf-list-destroy.c: initial add.

	* torture/unit/base/list/pdf-list-iterator-free.c: initial add.

	* torture/unit/base/hash/pdf-hash-add.c: initial add.

	* torture/unit/base/hash/pdf-hash-create.c: initial add.

	* torture/unit/base/hash/pdf-hash-destroy.c: initial add.

	* torture/unit/base/hash/pdf-hash-iterator-free.c: initial add.

	* torture/unit/base/hash/pdf-hash-iterator-next.c: initial add.

	* torture/unit/base/hash/pdf-hash-iterator.c: initial add.

	* torture/unit/base/hash/pdf-hash-key-p.c: initial add.

	* torture/unit/base/hash/pdf-hash-remove.c: initial add.

	* torture/unit/base/hash/pdf-hash-rename.c: initial add.

	* torture/unit/base/hash/pdf-hash-search.c: initial add.

	* torture/unit/base/hash/pdf-hash-size.c: initial add.

	* torture/unit/base/hash/tsuite-hash.c: initial add.

2008-04-17  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* build-aux/pdf-text-generate-ucd.c (int32_t): Define to `int' if not
	available in the system (like in windows).

2008-04-16  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-text-ucd-wordbreak.h: Create new block of self-generated
	data.

	* src/base/pdf-text-ucd-proplist.h: Create new block of self-generated
	data.

	* src/base/pdf-text-ucd-gencat.h: Create new block of self-generated
	data.

	* src/base/pdf-text-ucd-gencat.c: Move the length of arrays to the
	block of self-generated data.

	* src/base/pdf-text-ucd-combclass.c: Move the length of arrays to the
	block of self-generated data.

	* src/base/pdf-text-ucd-case.c: Move the length of arrays to the block
	of self-generated data.

	* build-aux/README.regenerateUCD: New file. How to update the contents
	of the Unicode Character Database.

	* build-aux/pdf-text-generate-ucd.c: Also print in the generated source
	files the lengths of the arrays.

2008-04-15  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Managing File System Item Properties
	Implementation): New section.

2008-04-15  gerel  <gerel@gnu.org>

	* doc/gnupdf.texi: added missing Hash types.

2008-04-14  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Filesystem Utility Functions): New section.
	(Managing File Properties Implementation): New section.

2008-04-13  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* doc/gnupdf-tsd.texi (pdf_text_cmp): Updated success conditions in
	`pdf_text_cmp_005' and `pdf_text_cmp_006'.

2008-04-13  gerel  <gerel@gnu.org>

	* doc/gnupdf-tsd.texi: added missing List module tests.

	* torture/unit/Makefile.am: Idem.

	* torture/unit/base/list/tsuite-list.c: Idem.

	* src/base/pdf-list.h: added sorted list functions.

	* torture/unit/base/list/pdf-list-create.c: added comparision funcs.

	* torture/unit/base/list/pdf-list-sorted-add.c: initial add

	* torture/unit/base/list/pdf-list-sorted-remove.c: initial add

	* torture/unit/base/list/pdf-list-sorted-indexof-from-to.c: initial add

	* torture/unit/base/list/pdf-list-sorted-indexof.c: initial add

	* torture/unit/base/list/pdf-list-sorted-search-from-to.c: initial add

	* torture/unit/base/list/pdf-list-sorted-search.c: initial add

2008-04-13  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* torture/unit/base/text/pdf-text-filter.c: Remove compilation warning.

	* torture/unit/base/text/pdf-text-cmp.c: New file. Tests for
	`pdf_text_cmp'.

	* torture/unit/base/text/tsuite-text.c (tsuite_text): Added execution of
	tests for `pdf_text_cmp'.

	* torture/unit/Makefile.am (TEST_SUITE_TEXT): Added compilation of tests
	for `pdf_text_cmp'.

	* src/base/pdf-text-ucd-case.c (pdf_text_ucd_create_case_context): Bug
	corrected. Set default language code as an empty string in the case
	context when no specific language code is stored in the pdf_text_t.

	* src/base/pdf-text.c (pdf_text_cmp): Function splitted into a new
	static one when non case sensitive.

2008-04-13  Jose E. Marchesi  <jemarch@gnu.org>

	* lib/gl_linkedhash_list.h: Imported from gnulib.

	* lib/gl_linkedhash_list.c: Imported from gnulib.

	* lib/gl_anylinked_list2.h: Imported from gnulib.

	* lib/gl_anylinked_list1.h: Imported from gnulib.

	* lib/gl_anyhash_list2.h: Imported from gnulib.

	* lib/gl_anyhash_list1.h: Imported from gnulib.

2008-04-13  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* torture/unit/base/text/pdf-text-filter.c: New file. Tests for
	`pdf_text_filter'.

	* torture/unit/base/text/tsuite-text.c (tsuite_text): Added execution of
	tests for `pdf_text_filter'.

	* torture/unit/Makefile.am (TEST_SUITE_TEXT): Added compilation of tests
	for `pdf_text_filter'.

2008-04-13  Jose E. Marchesi  <jemarch@gnu.org>

	* AUTHORS: Clean up.

2008-04-13  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-text-ucd-case.c (pdf_text_ucd_After_Soft_Dotted): Check
	for Soft_Dotted property before checking combining class.
	(pdf_text_ucd_After_I): Check for unicode point being 0x49 before
	checking combining class.
	(pdf_text_ucd_word_change_case): Bugfix. A given unicode point can even
	disappear after a change of case, so `new_char_size' can be zero.

2008-04-13  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Opening and Closing Files): New section.
	(Filesystem Data Types): New section.
	(Folder Management): New section.
	(Opening and Closing Files Implementation): New section.
	(Folder Management Implementation): New section.
	(File Data Types): New section.
	(Synchronous Input/Output Implementation): New section.
	(Synchronous Input/Output): New section.

2008-04-13  gerel  <gerel@gnu.org>

	* doc/gnupdf.texi: updated List Module types and added missing
	functions.

2008-04-12  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-text-ucd-case.c (pdf_text_ucd_is_case_ignorable): New
	Unicode 5.1 standard updates the definition of `Case ignorable' code
	points.

2008-04-12  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-text-ucd-wordbreak.h: Updated to Unicode 5.1.

	* src/base/pdf-text-ucd-wordbreak.c: Updated to Unicode 5.1.

	* src/base/pdf-text-ucd-proplist.c: Updated to Unicode 5.1.

	* src/base/pdf-text-ucd-gencat.c: Updated to Unicode 5.1.

	* src/base/pdf-text-ucd-combclass.c: Updated to Unicode 5.1.

	* src/base/pdf-text-ucd-case.c: Updated to Unicode 5.1. Also modified
	the way special case conditions are found (new direct access to special
	casing info in the simple casing info array).

2008-04-12  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* build-aux/pdf-text-download-and-generate-ucd.sh: New script to
	download with `wget' the needed UCD files and generate all source files
	from latest Unicode Character Database.

	* build-aux/pdf-text-generate-ucd.c: Improved the information generated
	by the tool, and prepared for new official version of Unicode (5.1).

	* build-aux/README: Added information about new script
	pdf-text-download-and-generate-ucd.sh

2008-04-10  gerel  <gerel@gnu.org>

	* doc/gnupdf.texi: added Hash Module API.

2008-04-09  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Filesystem Concepts): New section.
	(Filesystem Interfaces): New section.
	(The Filesystem Implementation Interface): New section.
	(The Filesystem Definition Interface): New section.
	(The Filesystem Interface): New section.
	(The File Interface): New section.

2008-04-09  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* torture/unit/base/text/pdf-text-set-language.c: Avoid memory leaks in
	tests.

	* torture/unit/base/text/pdf-text-set-country.c: Avoid memory leaks in
	tests.

	* torture/unit/base/text/pdf-text-replace-ascii.c: Avoid memory leaks in
	tests.

	* torture/unit/base/text/pdf-text-new-from-u32.c: Avoid memory leaks in
	tests.

	* torture/unit/base/text/pdf-text-new-from-pdf-string.c: Avoid memory
	leaks in tests.

	* torture/unit/base/text/pdf-text-new-from-host.c: Avoid memory leaks in
	tests.

	* torture/unit/base/text/pdf-text-get-unicode.c: Avoid memory leaks in
	tests.

	* torture/unit/base/text/pdf-text-get-language.c: Avoid memory leaks in
	tests.

	* torture/unit/base/text/pdf-text-get-hex.c: Avoid memory leaks in
	tests.

	* torture/unit/base/text/pdf-text-get-country.c: Avoid memory leaks in
	tests.

	* torture/unit/base/text/pdf-text-empty-p.c: Avoid memory leaks in
	tests.

	* src/base/pdf-text.c (pdf_text_replace): Avoid memory leak.

	* src/base/pdf-text-host-encoding.c (pdf_text_host_to_utf32he): Avoid
	memory leak.

2008-04-08  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-text.c (pdf_text_get_unicode): Only store output data if
	it is available.
	(pdf_text_replace): Improved the way replacements are done. If size of
	replacement is not equal, a list of pointers to the patterns is stored
	in the first loop, and then replacements are done in the second loop.
	(pdf_text_get_unicode_string_header): Check for pointers being not NULL.
	(pdf_text_fill_word_boundaries_list): Correct way to store word
	boundaries in the `pdf_list_t'. Elements of the list must be allocated with
	pdf_alloc, as the list module doesn't make a copy of the element, it
	just adds the reference in the list.

	* src/base/pdf-text-ucd.h: Include `pdf-text-ucd-proplist.h'.

	* src/base/pdf-text-ucd-wordbreak.c (pdf_text_ucd_wb_in_interval): Bug
	in interval limits corrected.

	* src/base/pdf-text-ucd-case.c: Added `After_I' and `After_Soft_Dotted'
	context conditions. Also minor bugfixes in casing context creation.

	* src/base/pdf-text-filter.c (pdf_text_filter_change_case): Use
	`UCD_SC_MAX_EXPAND'. Also minor bugfix setting correct final data size.
	(pdf_text_filter_remove_amp): Include whitespaces in the remove
	ampersands filter when looking for `&' and `&&'.
	(pdf_text_substitute_line_ending): Use new line ending type, in UTF-8
	and NUL-terminated.
	(pdf_text_filter_normalize_line_endings): Use new  line ending type, in
	UTF-8 and NUL-terminated.
	(pdf_text_filter_remove_line_endings): Use new  line ending type, in
	UTF-8 and NUL-terminated.

	* src/base/pdf-text-encoding.h: Added comment on the Lang/Country
	initializer for PDF strings stating that it is a valid UTF-16BE point.

	* src/base/pdf-text-encoding.c (unicode_bom): Added comments for HE
	related BOMs.

	* src/base/pdf-text-context.h (struct pdf_text_eol_s): Redefinition of
	`pdf_text_eol_s' as a NUL-terminated string in UTF-8.

	* src/base/pdf-text-context.c (pdf_text_eol_types): System dependent
	EOL types stored in UTF-8 and as a NUL-terminated string.
	(pdf_text_context_init): Check for return status of first call to `setlocale'.

2008-04-08  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* doc/gnupdf.texi (Text Data Types): If requested lang/country info in
	a Unicode encoding different than UTF-16BE, the function
	`pdf_text_get_unicode' will fail. PDF_TEXT_UNICODE_WITH_BOM option
	is also allowed in UTF-8.

	* doc/gnupdf-tsd.texi: Test ID `pdf_text_filter_010' was duplicated.

2008-04-08  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-text-ucd-proplist.c: New file.

	* src/base/pdf-text-ucd-proplist.h: New file.

	* src/Makefile.am (TEXT_MODULE_SOURCES): Added compilation of new
	`pdf-text-ucd-proplist.c' and `pdf-text-ucd-proplist.h'.

	* utils/README: Removed information about pdf-text-generate-ucd, as it
	is now in the new build-aux directory.

	* build-aux/pdf-text-generate-ucd.c: Added generation of contents in
	`pdf-text-ucd-proplist.c' and `pdf-text-ucd-proplist.h'.

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

	* doc/gnupdf.texi (Time Related Data Types): Attribute `sign'
	removed from the `pdf_time_cal_span_s' structure.

2008-04-06  Jose E. Marchesi  <jemarch@gnu.org>

	* torture/unit/base/list/pdf-list-iterator-next.c (START_TEST):
	Cast the second argument of `pdf_list_iterator_next' to (void**).

	* Makefile.am (SUBDIRS): Descend into `build-aux/Makefile'.

	* configure.ac: Output `build-aux/Makefile'.

	* build-aux/pdf-text-generate-ucd.c: Moved from `util/'.

	* build-aux/README: New file.

	* build-aux/Makefile.am: New file.

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

	* torture/unit/base/text/pdf-text-get-unicode.c (START_TEST):
	Initialize counter variable 'i' to 0 before the loop (in several
	tests).

2008-04-03  Jose E. Marchesi  <jco@terma.com>

	* Clean the ChangeLog file.

2008-03-27  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-text.c (pdf_text_transform_he_to_unicode_encoding): Use
	`PDF_TEXT_BIG_ENDIAN' from`config.h' to check host endianness.

	* src/base/pdf-text-host-encoding.c (pdf_text_host_encoding_is_available):
	Use `PDF_TEXT_BIG_ENDIAN' from`config.h' to check host endianness.
	(pdf_text_utf32he_to_host): Use `PDF_TEXT_BIG_ENDIAN' from`config.h'
	to check host endianness.
	(pdf_text_host_to_utf32he): Use `PDF_TEXT_BIG_ENDIAN' from`config.h'
	to check host endianness.

	* src/base/pdf-text-encoding.h (pdf_text_utf32he_to_utf16le): Function
	changed to macro.
	(pdf_text_utf32he_to_utf16be): Function changed to macro.
	(pdf_text_utf16le_to_utf32he): Function changed to macro.
	(pdf_text_utf16be_to_utf32he): Function changed to macro.
	(pdf_text_utf32be_to_utf32he): Function changed to macro.
	(pdf_text_utf32le_to_utf32he): Function changed to macro.
	(pdf_text_utf32he_to_utf32be): Function changed to macro.
	(pdf_text_utf32he_to_utf32le): Function changed to macro.
	(pdf_text_utf32he_to_utf32he): Function added.
	(pdf_text_utf16he_to_utf32he): Function added.
	(pdf_text_utf32he_to_utf16he): Function added.

	* src/base/pdf-text-encoding.c (pdf_text_check_unicode_bom): Use
	`AC_C_BIGENDIAN' macro.
	(pdf_text_utf32he_to_utf16le): Function removed.
	(pdf_text_utf32he_to_utf16be): Function removed.
	(pdf_text_utf16le_to_utf32he): Function removed.
	(pdf_text_utf16be_to_utf32he): Function removed.
	(pdf_text_utf32be_to_utf32he): Function removed.
	(pdf_text_utf32le_to_utf32he): Function removed.
	(pdf_text_utf32he_to_utf32be): Function removed.
	(pdf_text_utf32he_to_utf32le): Function removed.
	(pdf_text_utf32he_to_utf32he): Function not static.
	(pdf_text_utf16he_to_utf32he): Function not static.
	(pdf_text_utf32he_to_utf16he): Function not static.

	* src/base/pdf-text-context.h (pdf_text_context_big_endian_host): Function
	removed.

	* src/base/pdf-text-context.c (pdf_text_context_big_endian_host): Function
	removed.
	(pdf_text_detect_host_endianness): Use `PDF_TEXT_BIG_ENDIAN' from
	`config.h' to set the text context endianness.

	* configure.ac: Use `AC_C_BIGENDIAN' macro to check for system
	endianness and create `PDF_TEXT_BIG_ENDIAN' definition in `config.h'.

2008-03-26  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-text-ucd-case.c (pdf_text_ucd_special_case_conditions):
	Function simplified to avoid a high cyclomatic complexity.

2008-03-26  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-text.c (pdf_text_get_unicode): Create header for unicode
	strings in a different function, to avoid a high cyclomatic complexity.

2008-03-25  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-text-ucd-wordbreak.c (pdf_text_ucd_wb_detect_next): Check
	each word break rule in a different function, to avoid a high cyclomatic
	complexity.

2008-03-25  gerel  <gerel@gnu.org>

	* src/base/pdf-list.h: added missing range check on
	pdf_iterator_from_to().

2008-03-25  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-text.c (pdf_text_concat): No need to check for pointers
	being not NULL, as lang/country codes are not dynamically allocated.

2008-03-25  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* torture/unit/base/text/tsuite-text.c: New file.

	* torture/unit/base/text/pdf-text-test-data.c: New file.

	* torture/unit/base/text/pdf-text-test-common.h: New file.

	* torture/unit/base/text/pdf-text-test-common.c: New file.

	* torture/unit/base/text/pdf-text-set-unicode.c: New file.

	* torture/unit/base/text/pdf-text-set-pdfdocenc.c: New file.

	* torture/unit/base/text/pdf-text-set-language.c: New file.

	* torture/unit/base/text/pdf-text-set-host.c: New file.

	* torture/unit/base/text/pdf-text-set-country.c: New file.

	* torture/unit/base/text/pdf-text-replace.c: New file.

	* torture/unit/base/text/pdf-text-replace-ascii.c: New file.

	* torture/unit/base/text/pdf-text-new-from-unicode.c: New file.

	* torture/unit/base/text/pdf-text-new-from-u32.c: New file.

	* torture/unit/base/text/pdf-text-new-from-pdf-string.c: New file.

	* torture/unit/base/text/pdf-text-new-from-host.c: New file.

	* torture/unit/base/text/pdf-text-new-destroy.c: New file.

	* torture/unit/base/text/pdf-text-init.c: New file.

	* torture/unit/base/text/pdf-text-get-unicode.c: New file.

	* torture/unit/base/text/pdf-text-get-pdfdocenc.c: New file.

	* torture/unit/base/text/pdf-text-get-language.c: New file.

	* torture/unit/base/text/pdf-text-get-host.c: New file.

	* torture/unit/base/text/pdf-text-get-host-encoding.c: New file.

	* torture/unit/base/text/pdf-text-get-hex.c: New file.

	* torture/unit/base/text/pdf-text-get-country.c: New file.

	* torture/unit/base/text/pdf-text-get-best-encoding.c: New file.

	* torture/unit/base/text/pdf-text-empty-p.c: New file.

	* torture/unit/base/text/pdf-text-dup.c: New file.

	* torture/unit/base/text/pdf-text-concat.c: New file.

	* torture/unit/base/text/pdf-text-check-host-encoding.c: New file.

	* torture/unit/runtests.c: Added new test suite for the text module.

	* torture/unit/Makefile.am: Added compilation of text module tests.

2008-03-25  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* utils/pdf-text-generate-ucd.c: New file. Unicode Character Database
	source generator.

	* utils/Makefile.am: Added compilation of `pdf-text-generate-ucd'.

	* utils/README: Added description of `pdf-text-generate-ucd'.

2008-03-25  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* src/base/pdf-text.h: New file.

	* src/base/pdf-text.c: New file.

	* src/base/pdf-text-context.h: New file.

	* src/base/pdf-text-context.c: New file.

	* src/base/pdf-text-encoding.h: New file.

	* src/base/pdf-text-encoding.c: New file.

	* src/base/pdf-text-host-encoding.h: New file.

	* src/base/pdf-text-host-encoding.c: New file.

	* src/base/pdf-text-filter.h: New file.

	* src/base/pdf-text-filter.c: New file.

	* src/base/pdf-text-ucd.h: New file.

	* src/base/pdf-text-ucd-wordbreak.h: New file.

	* src/base/pdf-text-ucd-wordbreak.c: New file.

	* src/base/pdf-text-ucd-gencat.h: New file.

	* src/base/pdf-text-ucd-gencat.c: New file.

	* src/base/pdf-text-ucd-combclass.h: New file.

	* src/base/pdf-text-ucd-combclass.c: New file.

	* src/base/pdf-text-ucd-case.h: New file.

	* src/base/pdf-text-ucd-case.c: New file.

	* configure.ac: Check for external GNU iconv library.

	* src/Makefile.am: Included compilation of text module, and modified
	public header creation to include `pdf-text.h'.

	* src/base/pdf-base.h: Included `pdf-text.h' header.

	* src/base/pdf-error.c: Included `PDF_EINVAL' error type.

	* src/base/pdf-types.h: Included 16-bit type definitions and others.

2008-03-25  Aleksander Morgado Juez  <aleksander@es.gnu.org>

	* doc/gnupdf-tsd.texi: Updated text module tests implementation.

	* doc/gnupdf.texi: Updated definition of `pdf_text_destroy'.

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

	* configure.ac: Output `prmgt/docfuncs' and `prmgt/tsdfuncs'.

	* prmgt/tsdfuncs.in: New file.

	* prmgt/docfuncs.in: New file.

2008-03-24  Jose E. Marchesi  <jose.marchesi@deimos-space.com>

	* lib/wchar_.h: Imported from gnulib.

	* lib/stdint_.h: Imported from gnulib.

	* m4/wchar.m4: Imported from gnulib.

	* m4/ulonglong.m4: Imported from gnulib.

	* m4/stdint.m4: Imported from gnulib.

	* m4/longlong.m4: Imported from gnulib.

2008-03-17  gerel  <gerel@gnu.org>

	* torture/unit/base/list/pdf-list-add-first.c: added missing tcase.

	* doc/gnupdf-tsd.texi: added List module unit tests.

2008-03-17  Gerardo E. Gidoni <gerel@gnu.org>

	* src/base/pdf-stm.c: Adapt code to the new list API.

	* src/base/pdf-list.h: Adapt code to the new API defined in
	`gnupdf.texi'.

	* doc/gnupdf.texi (Creating and Destroying Lists): New prototype
	for `pdf_list_create'.

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

	* README (specs): ISO 32000 added to the list of PDF
	specifications to be supported by the library.

	* src/base/pdf-list.c: New inlined version.

	* src/base/pdf-list.h: New inlined version.

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

	* src/Makefile.am (pdf.h): Get the text of the `header-autogen'
	file to be used as the header of `pdf.h'.

	* src/header-autogen: New file.

2008-03-13  Aleksander Morgado  <aleksander@es.gnu.org>

	* src/Makefile.am: Include standard file header, GPL license header and
	definition of PDF_H in the generation of the public header

2008-03-11  gerel  <gerel@gnu.org>

	* src/base/pdf-list.[ch]: cleaned the API so pdf.h doesn't
	depend on gl_list.

2008-03-10  Aleksander Morgado  <aleksander@es.gnu.org>

	* doc/gnupdf.texi: Small changes in the Encoded Text module API.

	* doc/gnupdf-tsd.texi (Text Module): New section. First list of unit tests
	for the Encoded Text module.

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

	* src/base/pdf-stm.c (pdf_stm_apply_filters): Check for PDF_OK
	when calling `pdf_list_iterator_next'.

2008-03-07  gerel  <gerel@gnu.org>

	* src/base/pdf-list.[ch]: added first implementation.
	* src/base/pdf-stm.[ch]: adapted to use the List module.
	* src/object/pdf-obj.[ch]: Idem.
	* src/base/pdf-types.h: added pdf_bool_t.
	* src/Makefile.am: added the List module.

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

	* configure.ac: Move `gl_EARLY' up to the beginning of the file in
	order to avoid the `AC_USE_SYSTEM_EXTENSIONS' warnings.

2008-03-05  Jose E. Marchesi  <jose.marchesi@deimos-space.com>

	* src/base/pdf-stm-mem.h: Use `pdf_size_t' instead of `size_t'.

	* src/base/pdf-stm-mem.c: Idem.

	* src/base/pdf-stm.h: Idem.

	* src/base/pdf-stm-file.c: Idem.

	* src/base/pdf-stm.c: Idem.

	* src/base/pdf-alloc.c: Idem.

	* src/base/pdf-stm-f-rl.c: Use `pdf_realloc' instead of
	`xrealloc'.

	* src/base/pdf-stm-f-lzw.c: Idem.

	* src/base/pdf-stm-f-flate.c: Idem.

	* src/base/pdf-stm-f-ahex.c: Idem.

	* src/base/pdf-stm-f-a85.c (pdf_stm_f_a85_decode): Idem.

	* src/Makefile.am (PUBLIC_HDRS): Public contents in `pdf-types.h'
	should be extracted before the public contents of `pdf-alloc.h'.

	* src/base/pdf-alloc.h: Some included header files moved to
	`pdf-alloc.c'.

	* src/base/pdf-types.h: Define `pdf_size_t'

2008-03-02  gerel  <gerel@gnu.org>

	* doc/gnupdf.texi: small error management fix.

2008-02-29  gerel  <gerel@gnu.org>

	* configure.ac: added debug mode options.

2008-02-28  gerel  <gerel@gnu.org>

	* src/base/pdf-error.h: PDF_DEBUG_* fix (##__VA_ARGS__)

2008-02-27  gerel  <gerel@gnu.org>

	* src/base/pdf-error.h: fixed PDF_DEBUG_* empty macros

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

	* src/base/pdf-error.h: Include stdio.h

	* src/base/pdf-base.h: Include pdf-error.h

	* src/base/pdf-types.h: Remove PDF_OK and PDF_ERROR. These are now
	implemented in pdf-error.[ch]

2008-02-24  gerel  <gerel@gnu.org>

	* src/base/pdf-error.[ch] (Error management): added first implementation.

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

	* doc/gnupdf-tsd.texi: New file.

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

	* torture/unit/Makefile.am (clean-local): Remove `ut.log' upon
	`make clean'.

	* torture/unit/runtests.c (main): Dump a test execution log to
	`ut.log'.

	* doc/Makefile.am (noinst_TEXINFOS): New primary for
	gnupdf-tsd.texi.

	* doc/gnupdf-tsd.texi: New file.

2008-02-22  Gerardo E. Gidoni <gerel@gnu.org>

	* doc/gnupdf.texi (Error management): Initial API definition.

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

	* src/base/pdf-types.h: Remove obsolete contents.

	* src/base/pdf-base.h: Include pdf-alloc headers.

	* src/base/pdf-base.c: Unused headers removed.

	* doc/gnupdf.texi (Memory Allocation): Use `void*' as the pointer
	types.

	* src/base/pdf-alloc.c (pdf_alloc): New function.
	(pdf_dealloc): New function.
	(pdf_realloc): New function.

	* src/base/pdf-alloc.h: New file.

	* src/base/pdf-alloc.c: New file.

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

	* doc/Makefile.am: Do not generate menus in wiki output.

	* doc/gnupdf-manual-wiki.init (mediawiki_preformatted): Do not
	emit preformatted code for navigation menus.
	Use the `Template:Note' mediawiki template to advertise that the
	page is automatically generated.

	* doc/Makefile.am: Do not split wiki output.

	* prmgt/pmccabe2html.in: Copyright notice of the generated html
	page updated.

	* prmgt/Makefile.am (cyclo.html): Use sources from `src/base'.

	* src/Makefile.am: Do not remove `src/extract-public-hdr' upon
	`make clean'.

	* prmgt/Makefile.am: Enable the building of project management
	resources even without having a working taskjuggler program.

	* configure.ac: Use an automake conditional `TASKJUGGLER'.

	* prmgt/Makefile.am (clean-local): Do not remove
	autoconf-generated `pmccabe2html' upon `make clean'.

2008-02-20  Jose E. Marchesi  <jose.marchesi@deimos-space.com>

	* doc/gnupdf.texi (Memory Allocation): `pdf_alloc' API changed in
	order to return NULL if an out of memory condition is met.

2008-02-16  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Print out an explanation about the selected
	compilation level while reporting configuration results.

2008-02-11  Jose E. Marchesi  <jemarch@gnu.org>

	* torture/Makefile.am (clean-local): Remove `temporal-test-file'
	upon `make clean'.

	* prmgt/Makefile.am (clean-local): Remove `pmccabe2html' upon
	`make clean'.

	* src/Makefile.am (clean-local): Remove `extract-public-hdr' upon
	`make clean'.

	* Update copyright notices.
	* Sources reorganization.

2008-01-30  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Big Numbers): New section.

2008-01-28  Aleksander Morgado  <aleksander@es.gnu.org>

	* doc/gnupdf.texi (Initializing Text Module): New section.
	(Managing Host Encodings): New section
	(Text Data Types): New `pdf_text_unicode_options_e' type.
	Removed specific data types for unicode encodings.
	Updated information on `pdf_text_unicode_encoding_e',
	`pdf_text_t', `pdf_text_host_encoding_t' data types.
	(Creating and Destroying Text): Added `pdf_text_destroy' function.
	Updated function prototypes and information.
	(Managing Text Properties): Updated function prototypes and
	information.
	(Managing Text Contents): Updated function prototypes and
	information.

2008-01-25  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (List Data Types): New section.
	(Creating and Destroying Lists): New section.
	(Managing List Properties): New section.
	(Searching for List Elements): New section.
	(Setting and Getting List Elements): New section.
	(Adding and Removing List Elements): New section.
	(Working with Iterators): New section.

2008-01-20  Jose E. Marchesi  <jemarch@gnu.org>

	* src/*.[ch]: Author field removed from header.

	* doc/gnupdf.texi (Boolean Types): New section.
	(Status Types): New section.
	(Numeric Types): New section.
	(Creating and Destroying Text): Removed the reference to leading
	zeroes in the arguments to `pdf_text_new_from_u32'.
	Brace @deftp arguments with spaces inside it.

2008-01-13  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi: Returns sections fixed.
	(Creating and Destroying Hash Tables): New section.

2008-01-12  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi: Use @var for all actual parameters in function
	definitions.

2008-01-11  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Managing Text Properties): New section.
	(Managing Text Contents): New section.
	(Comparing Text Variables): New section.

2008-01-08  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Time Management): minor fixes.

2008-01-06  Jose E. Marchesi  <jemarch@gnu.org>

	* prmgt/libgnupdf.tjp: Project plan updated.

	* prmgt/pmccabe2html.in: HTML prolog and footer changed.

2007-12-27  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Encoded Text): New section.
	(Text Data Types): New section.
	(Creating and Destroying Text): New section.

2007-12-22  Jose E. Marchesi  <jemarch@gnu.org>

	* prmgt/libgnupdf.tjp: New version.

2007-12-21  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Time Span Creation and Destruction): New section.
	(Managing Time Span Values): New section.
	(Time Span Comparison): New section.
	(Calendar Spans Management): New section.

2007-12-20  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Check for `makeinfo'.
	Fix the checking of programs where they are missing.

	* torture/Makefile.am (testall.c): Include all the files specified
	in the TEST_FILES variable in the `generate_testall' call.

	* doc/gnupdf.texi (Time Related Data Types): New section.
	(Time Management): New section.

2007-12-17  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Floating Point Types): New section.
	(Point Manipulation Functions): New section.
	(Quadrilateral Manipulation Functions): New section.
	(Rectangle Manipulation Functions): New section.
	(Matrix Manipulation Functions): New section.
	(Interpolation Functions): New section.

2007-12-07  Jose E. Marchesi  <jemarch@gnu.org>

	* torture/README: Typo fixed.

2007-12-06  Jose E. Marchesi  <jemarch@gnu.org>

	* torture/test_stm_module.c: New file.

	* torture/generate_testall: New file.

2007-11-29  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi (Memory Allocation): New section.

	* src/Makefile.am (libgnupdf_la_SOURCES): `pdf_xref.[ch]' removed.

2007-11-26  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf.texi: New function `pdf_realloc'.

2007-11-26  Jose E. Marchesi  <jose.marchesi@deimos-space.com>

	* doc/gnupdf.texi (Top): 'Basic Layer' -> 'Base Layer'.

2007-11-22  Jose E. Marchesi  <jose.marchesi@deimos-space.com>

	* doc/Makefile.am (wiki): New target.
	(gnupdf.wiki): New target.
	(gnupdf-utils.wiki): New target.

	* doc/gnupdf-manual-wiki.init: New file.

2007-11-20  Jose E. Marchesi  <jose.marchesi@deimos-space.com>

	* configure.ac: Check for awk and set the output variable
	`PATH_TO_AWK'.

	* prmgt/pmccabe2html.in: Renamed from `pmccabe2html'.

2007-11-19  Jose E. Marchesi  <jemarch@gnu.org>

	* prmgt/Makefile.am: Reorganization.
	Add rules for new target `cyclo.html'.

	* prmgt/pertfdp.xsl: New file.

	* prmgt/pertdot.xsl: New file.

	* prmgt/pmccabe2html: New file.

	* prmgt/pmccabe.css: New file.

2007-11-18  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Check for graphviz's `dot' and `fdp' programs.

2007-11-17  Jose E. Marchesi  <jemarch@gnu.org>

	* Makefile.am (SUBDIRS): Added `prmgt'.

	* prmgt/Makefile.am: New file.

	* configure.ac: Check for the `taskjuggler' program.

2007-11-16  Jose E. Marchesi  <jemarch@gnu.org>

	* AUTHORS: Karl Berry added.

	* configure.ac: Check for the `texi2html' program.

	* doc/Makefile.am: Use texi2html if available for the html
	target.

	* doc/manuals.css: New file.

	* doc/gnupdf-manual.init: New file.

2007-11-08  Jose E. Marchesi  <jemarch@gnu.org>

	* bootstrap (cmd): Make autoreconf to install missing files.

2007-11-07  Jose E. Marchesi  <jemarch@gnu.org>

	* torture/Makefile.am: Use the `CHECK' conditional to determine if
	we should compile and run the test suite.

	* configure.ac: `PKG_CHECK_MODULES' substitued with the checking
	of the library. Define an Automake conditional `CHECK'.

2007-11-07  Jose E. Marchesi  <jose.marchesi@deimos-space.com>

	* configure.ac: Use `PKG_CHECK_MODULES' instead of `AM_CHECK' for
	the `check' package.

2007-11-06  Mathias Kolehmainen  <mathiask@computer.org>

	* torture/Makefile.am: Adapt to use check.

	* torture/test-base.c: Idem.

	* torture/test-date.c: Idem.

	* torture/test-libinit.c: Idem.

	* torture/test-obj_array.c: Idem.

	* torture/test-obj_createdestroy.c: Idem.

	* torture/test-obj_dict.c: Idem.

	* test-obj_dupequality.c: Idem.

	* test-rectangle: Idem.

	* test-stm_openclose.c: Idem.

	* torture/testall.c: New file.

2007-11-06  Jose E. Marchesi  <jemarch@gnu.org>

	* AUTHORS: Added Mathias Kolehmainen.

2007-11-06  Jose E. Marchesi  <jose.marchesi@deimos-space.com>

	* src/pdf.c: Add `program_name' global variable in order to
	compile in non-glibc systems.

2007-11-01  Jose E. Marchesi  <jemarch@gnu.org>

	* README.cvs: New file.

2007-10-31  Jose E. Marchesi  <jemarch@gnu.org>

	* doc/gnupdf_util.texi: New file.

	* doc/Makefile.am (man_MANS): Added `pdf_filter.1'.

	* utils/pdf_filter.c: --version option now works.

	* bootstrap (cmd): Use autoreconf instead of the explicit chain.

	* src/pdf_stm_mem.c: Include `malloc.h' only when available.

	* src/pdf_stm_file.c: Idem.

	* src/pdf_stm_f_rl.c: Idem.

	* src/pdf_stm_f_pred.c: Idem.

	* src/pdf_stm_f_null.c: Idem.

	* src/pdf_stm_f_lzw.c: Idem.

	* src/pdf_stm_f_flate.c: Idem.

	* src/pdf_stm_f_fax.c: Idem.

	* src/pdf_stm_f_ahex.c: Idem.

	* src/pdf_stm_f_a85.c: Idem.

	* src/pdf_stm.c: Idem.

	* src/pdf_rectangle.c: Idem.

	* src/pdf_obj.c: Idem.

	* src/pdf_function.c: Idem.

	* src/pdf_date.c: Idem.

	* src/pdf_base.c: Idem.

	* configure.ac: Check for `malloc.h'.

	* `malloc' and `getline' modules imported from gnulib.

2007-10-23  Jose E. Marchesi  <jemarch@gnu.org>

	* src/pdf_stm_mem.c (pdf_stm_mem_readpeek_char): Added missing
	negation in expression.

2007-10-23  Jose E. Marchesi  <jose.marchesi@deimos-space.com>

	* utils/pdf_filter.h: New copyright holder: FSF.

	* utils/pdf_filter.c: Idem.

	* utils/Makefile.am: Idem.

	* torture/test-stm_openclose.c: Idem.

	* torture/test-rectangle.c: Idem.

	* torture/test-obj_dupequality.c: Idem.

	* torture/test-obj_dict.c: Idem.

	* torture/test-obj_createdestroy.c: Idem.

	* torture/test-obj_array.c: Idem.

	* torture/test-libinit.c: Idem.

	* torture/test-date.c: Idem.

	* torture/test-base.c: Idem.

	* torture/Makefile.am: Idem.

	* src/pdf_xref.h: Idem.

	* src/pdf_xref.c: Idem.

	* src/pdf_stm_mem.h: Idem.

	* src/pdf_stm_mem.c: Idem.

	* src/pdf_stm.h: Idem.

	* src/pdf_stm_f_rl.h: Idem.

	* src/pdf_stm_f_rl.c: Idem.

	* src/pdf_stm_f_pred.h: Idem.

	* src/pdf_stm_f_pred.c: Idem.

	* src/pdf_stm_f_null.h: Idem.

	* src/pdf_stm_f_null.c: Idem.

	* src/pdf_stm_f_lzw.h: Idem.

	* src/pdf_stm_f_lzw.c: Idem.

	* src/pdf_stm_file.h: Idem.

	* src/pdf_stm_file.c: Idem.

	* src/pdf_stm_f_flate.h: Idem.

	* src/pdf_stm_f_flate.c: Idem.

	* src/pdf_stm_f_fax.h: Idem.

	* src/pdf_stm_f_fax.c: Idem.

	* src/pdf_stm_f_ahex.h: Idem.

	* src/pdf_stm_f_ahex.c: Idem.

	* src/pdf_stm_f_a85.h: Idem.

	* src/pdf_stm_f_a85.c: Idem.

	* src/pdf_stm.c: Idem.

	* src/pdf_rectangle.h: Idem.

	* src/pdf_rectangle.c: Idem.

	* src/pdf_obj.h: Idem.

	* src/pdf_obj.c: Idem.

	* src/pdf.h: Idem.

	* src/pdf_function.h: Idem.

	* src/pdf_function.c: Idem.

	* src/pdf_date.h: Idem.

	* src/pdf_date.c: Idem.

	* src/pdf.c: Idem.

	* src/pdf_base.h: Idem.

	* src/pdf_base.c: Idem.

	* src/Makefile.am: Idem.

	* Makefile.am: Idem.

	* doc/gnupdf.texi: Idem.

	* doc/Makefile.am: Idem.

	* configure.ac: Idem.

2007-10-15  Jose E. Marchesi  <jose.marchesi@deimos-space.com>

	* src/pdf_obj.c (pdf_array_equal_p): Set `equal_p' to `PDF_FALSE'
	in element inequality.

2007-09-20  Jose E. Marchesi  <jemarch@gnu.org>

	* AUTHORS: New format.

2007-09-18  Jose E. Marchesi  <jemarch@gnu.org>

	* torture/Makefile.am (noinst_PROGRAMS): Added
	`test-stm_readwrite'.
	(TESTS): Added `test-stm_readwrite'.

	* torture/test-stm_readwrite.c (main): New file.

2007-09-15  Jose E. Marchesi  <jemarch@gnu.org>

	* src/pdf_stm.c (pdf_stm_read_char): New function.
	(pdf_stm_peek_char): New function.

	* src/Makefile.am (libgnupdf_la_SOURCES): Added `pdf_lexer.h' and
	`pdf_lexer.c'.

	* src/pdf_lexer.c: New file.

	* src/pdf_lexer.h: New file.

	* src/pdf.c (pdf_alloc_names): Duplicated allocation fixed.

	* src/pdf_obj.c (pdf_create_dict_entry): Insert a dictionary entry
	in the entries list, not just the value.

	* torture/Makefile.am (noinst_PROGRAMS): Added `test-obj_dict'.
	(TESTS): Added `test-obj_dict'.

	* torture/test-obj_dict.c: New file.

2007-09-14  Jose E. Marchesi  <jemarch@gnu.org>

	* src/pdf_stm_f_pred.c: Update copyright and author notice.

	* src/pdf_stm_f_pred.h: Update copyright and author notice.

	* src/pdf_stm_f_lzw.c: Update copyright and author notice.

	* src/pdf_stm_f_lzw.h: Update copyright and author notice.

	* torture/Makefile.am (TESTS): Added `test-libinit'
	(noinst_PROGRAMS): Added `test-libinit'

	* torture/test-libinit.c: New file.

	* src/pdf.c (pdf_dealloc_names): New function.
	(pdf_alloc_names): New function.
	(pdf_finish): New function.
	(pdf_init): New function.

	* src/pdf.h (struct pdf_globals_s): New globals data type to store
	library global information.

	* src/pdf_base.h: Added macros for PDF names preallocation.

2007-09-12  Jose E. Marchesi  <jemarch@gnu.org>

	* src/pdf_rectangle.c (pdf_create_rectangle): Avoid to call
	`pdf_rectangle_set_ll'.

2007-09-11  Jose E. Marchesi  <jemarch@gnu.org>

	* src/Makefile.am (libgnupdf_la_SOURCES): `pdf_function.h' and
	`pdf_function.c' added.

	* src/pdf_function.h: New file.

	* src/pdf_function.c: New file.

	* src/pdf_stm_file.c (pdf_stm_file_size): Use NO_POS.

	* src/pdf_obj.c (pdf_create_stream): New function.
	(pdf_get_stream_stm): New function.
	(pdf_get_stream_data): New function.
	(pdf_stream_equal_p): New function.
	(pdf_stream_dup): New function.

	* configure.ac: Check for `-lm'.

	* src/pdf_base.c (pdf_interp_lineal): New function.
	(pdf_interp_exp_coef_m): New function.
	(pdf_interp_exp_coef_k): New function.
	(pdf_interp_exp): New function.

2007-09-09  Jose E. Marchesi  <jemarch@gnu.org>

	* torture/Makefile.am (noinst_PROGRAMS): `test-rectangle' added.
	(TESTS): `test-rectangle' added.

	* torture/test-rectangle.c: New file.

	* src/Makefile.am (libgnupdf_la_SOURCES): `pdf_rectangle.c' and
	`pdf_rectangle.h' added.

	* src/pdf_base.c (pdf_create_point): New function.
	(pdf_destroy_point): New function.

	* src/pdf_base.h: New `pdf_point_t' type.

	* src/pdf_rectangle.c: New file.

	* src/pdf_rectangle.h: New file.

	* torture/test-date.c (main): Initialize `success' to `PDF_TRUE'.

2007-09-08  Jose E. Marchesi  <jemarch@gnu.org>

	* torture/Makefile.am (TESTS): Added `test-date'.
	(noinst_PROGRAMS): Added `test-date'.

	* src/pdf_date.c (pdf_date_ut_offset_hour): New function.
	(pdf_date_ut_offset_minute): New function.

	* torture/test-base.c: New file.

	* src/pdf_date.c (pdf_date_parse): New function.

	* src/pdf_base.c (pdf_str2double): New function.
	(pdf_str2int): New function.

	* src/Makefile.am (libgnupdf_la_SOURCES): Added `pdf_base.c' and
	`pdf_base.h'.

	* src/pdf_base.c (pdf_str2long): New function.

	* src/pdf_base.h: Include `config.h' first.
	String utilities prototypes added.

	* AUTHORS (Contributors): Added raskolnikov@es.gnu.org

	* src/pdf_date.h: Added an explanation about the date objects.

	* src/pdf_obj.h: Fixed a typo in comment.

2007-09-07  Jose E. Marchesi  <jemarch@gnu.org>

	* src/pdf_date.c (pdf_date_second): `pdf_date_get_FOO'
	functions shortened to `pdf_date_FOO'.

2007-09-06  Jose E. Marchesi  <jemarch@gnu.org>

	* src/pdf_date.c (pdf_date_destroy): New function.
	(pdf_date_get_year): New function.
	(pdf_date_set_year): New function.
	(pdf_date_get_month): New function.
	(pdf_date_set_month): New function.
	(pdf_date_get_day): New function.
	(pdf_date_set_day): New function.
	(pdf_date_get_hour): New function.
	(pdf_date_set_hour): New function.
	(pdf_date_get_minute): New function.
	(pdf_date_set_minute): New function.
	(pdf_date_get_second): New function.
	(pdf_date_set_second): New function.

2007-09-05  Jose E. Marchesi  <jemarch@gnu.org>

	* src/Makefile.am (libgnupdf_la_SOURCES): `pdf_date.h' and
	`pdf_date.c' added.

	* src/pdf_date.c (pdf_date_alloc): New function.
	(pdf_date_dealloc): New function.
	(pdf_date_new_value): New function.

	* src/pdf_date.h: New file.

	* utils/pdf_filter.c: Fix incorrect help entry for the predictor
	decoder option.

2007-09-05  Juan Pedro Bolívar Puente <raskolnikov@es.gnu.org>

	* src/pdf_stm_f_lzw.c: Fully implemented the LZW filter for both
	encoding and decoding.

	* src/pdf_stm_f_pred.c: Solved a bug in the order in which bytes
	where written when packing tiff pixels.

	* utils/pdf_filter.c: Now lzw and predictor filters can get their
	arguments from the command line.

2007-08-15  Jose E. Marchesi  <jemarch@gnu.org>

	* src/pdf_stm.c (pdf_stm_install_lzwenc_filter): New function.
	(pdf_stm_install_lzwdec_filter): New function.

	* src/Makefile.am (libgnupdf_la_SOURCES): Added lzw filter sources.

	* src/pdf_stm_f_lzw.c: New file.
	(pdf_stm_f_lzw_init): New function.
	(pdf_stm_f_lzw_apply): New function.
	(pdf_stm_f_lzw_dealloc): New function.
	(pdf_stm_f_lzw_encode): New function.
	(pdf_stm_f_lzw_decode): New function.

	* src/pdf_stm_f_lzw.h: New file.

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

	* src/pdf_stm_f_fax.c (pdf_stm_f_fax_dealloc): New function.

	* src/pdf_stm.c (pdf_stm_install_faxenc_filter): New function.
	(pdf_stm_install_faxdec_filter): New function.

	* src/pdf_stm.h: New prototype for the fax filter.

	* src/Makefile.am (libgnupdf_la_SOURCES): Added fax filter source
	files.

	* src/pdf_stm_f_fax.c: New file.
	(pdf_stm_f_fax_init): New function.
	(pdf_stm_f_fax_apply): New function.
	(pdf_stm_f_fax_encode): New function.
	(pdf_stm_f_fax_decode): New function.

	* src/pdf_stm_f_fax.h: New file.

2007-07-31  Jose E. Marchesi  <jemarch@gnu.org>

	* utils/pdf_filter.c (GNU_longOptions): Predictor command line
	arguments.

2007-07-28  Juan Pedro Bolívar Puente <raskolnikov@es.gnu.org>

	* src/pdf_stm_f_pred.c: PNG and TIFF predictor filters
	implemented.

	* src/pdf_stm_f_pred.h: Changed filter types, added filter
	modes (encoding or decoding) and such things needed by the filter
	implementation.

	* util/pdf_filter.c: Added an entry with hardcoded params to test
	the predictor filter.

2007-07-22  Jose E. Marchesi  <jemarch@gnu.org>

	* src/pdf_stm_f_ahex.c: Missing headers added.
	(pdf_stm_f_ahex_white_p): Conform to GCS.

	* src/pdf_stm_f_rl.c (pdf_stm_f_rl_encode): Fix input pointer
	position in the loop.
	(pdf_stm_f_rl_encode): Fix the upper bound of output size.

2007-07-15  Jose E. Marchesi  <jemarch@gnu.org>

	* src/Makefile.am (libgnupdf_la_SOURCES): `pdf_stm_f_rl.h' and
	`pdf_stm_f_rl.c' added.

	* src/pdf_stm.c (pdf_stm_install_rldec_filter): New function.
	(pdf_stm_install_rlenc_filter): New function.

	* src/pdf_stm_f_rl.c: New file.

	* src/pdf_stm_f_rl.h: New file.

	* src/pdf_stm_f_a85.c: New file.

	* src/pdf_stm_f_a85.h: New file.

	* src/pdf_stm_f_flate.c: Renamed from src/pdf_stm_f_fdec.c

	* src/pdf_stm_f_flate.h: Renamed from src/pdf_stm_f_fdec.h

	* src/pdf_stm.c (pdf_stm_install_flateenc_filter): New function.

2007-07-14  Jose E. Marchesi  <jemarch@gnu.org>

	* src/pdf_stm_f_ahex.c (pdf_stm_f_ahex_encode): Fix indirection.

2007-07-13  Jose E. Marchesi  <jemarch@gnu.org>

	* utils/pdf_filter.c (main): Added support for ascii hex decoder.

	* src/pdf_stm.c (pdf_stm_install_ahexdec_filter): New function.

	* src/Makefile.am (libgnupdf_la_SOURCES): `pdf_stm_f_ahdec.h' and
	`pdf_stm_f_ahdec.c' added.

	* src/pdf_stm_f_ahdec.c (pdf_stm_f_ahdec_apply): New file.

	* src/pdf_stm_f_ahdec.h: New file.

	* src/pdf_stm_file.c (pdf_stm_file_peek): Interface changed.

	* src/pdf_stm_mem.c: Interface changed.

2007-07-12  Jose E. Marchesi  <jemarch@gnu.org>

	* src/pdf_stm.h: Changed interface.

	* src/Makefile.am (libgnupdf_la_SOURCES): `pdf_stm_f_pred.h' and
	`pdf_stm_f_pred.c' added.

	* src/pdf_stm_f_pred.c (pdf_stm_f_pred_init): New function.
	(pdf_stm_f_pred_apply): New function.
	(pdf_stm_f_pred_dealloc): New function.

	* src/pdf_stm_f_pred.h: New file.

2007-07-11  Jose E. Marchesi  <jemarch@gnu.org>

	* src/pdf_stm_f_fdec.h (struct pdf_stm_f_fdec_conf_s):
	Configuration parameters added.
	(enum pdf_stm_f_fdec_pred): Added.

2007-07-11  Jose E. Marchesi  <jose.marchesi@deimos-space.com>

	* utils/pdf_filter.c (main): Use the fdec filter conditionally.

	* src/Makefile.am (libgnupdf_la_SOURCES): Add fdec sources
	conditionally.

	* src/pdf_stm.c: Make the fdec filter conditional.

	* m4/getopt.m4: Imported from gnulib.

2007-07-10  Jose E. Marchesi  <jemarch@gnu.org>

	* m4/zlib.m4 (ZLIB_HOME): Imported from the autoconf macro
	archive (by Loic Dachary).

	* src/Makefile.am (libgnupdf_la_SOURCES): `pdf_stm_f_fdec.h' and
	`pdf_stm_f_fdec.c' added.

	* src/pdf_stm.c (pdf_stm_install_fdec_filter): New function.
	Include `stm_stm_f_fdec.h'.

	* src/pdf_stm_f_fdec.c (pdf_stm_f_fdec_apply): New file.

	* src/pdf_stm_f_fdec.h: New file.

	* src/pdf_stm.c (pdf_create_mem_stm): Install the close hook.

	* src/pdf_stm_mem.c (pdf_stm_mem_init): Manage `resize_p'.
	(pdf_stm_mem_write): Manage `resize_p'.

	* utils/pdf_filter.c (main): Added dummy main function.

	* configure.ac: `utils' added.

	* Makefile.am (SUBDIRS): `utils' added.

	* utils/pdf_filter.h: New file.

	* utils/pdf_filter.c: New file.

	* utils/README: New file.

2007-07-10  Jose E. Marchesi  <jose.marchesi@deimos-space.com>

	* src/pdf_stm.c (pdf_stm_close): Fix argument.

2007-07-09  Jose E. Marchesi  <jemarch@gnu.org>

	* torture/test-stm_openclose.c (main): New file.

	* src/pdf_stm.c (pdf_create_mem_stm): New function.
	(pdf_stm_uninstall_filters): New function.

	* src/Makefile.am (libgnupdf_la_SOURCES): `pdf_stm_f_null.c' and
	`pdf_stm_f_null.h' added.

	* src/pdf_stm_f_null.c (pdf_stm_f_null_init): New function.
	(pdf_stm_f_null_apply): New function.
	(pdf_stm_f_null_dealloc): New function.

	* src/pdf_stm.c (pdf_create_file_stm): New function.
	(pdf_stm_alloc): New function.
	(pdf_stm_dealloc): New function.
	(pdf_stm_install_filter): New function.
	(pdf_stm_filter_dealloc_list): New function.
	(pdf_stm_apply_filters): New function.

	* src/pdf_stm_f_null.c: New file.

	* src/pdf_stm_f_null.h: New file.

2007-07-08  Jose E. Marchesi  <jemarch@gnu.org>

	* src/Makefile.am (AM_CFLAGS): `-Wall' added.
	(libgnupdf_la_SOURCES): Changed io to stream.

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

	* src/Makefile.am (libgnupdf_la_SOURCES): Added `pdf_xref.h' and
	`pdf_xref.c'.

	* src/pdf_xref.c: New file.

	* src/pdf_xref.h: New file.

	* src/pdf_obj.c (pdf_get_bool): New function.
	(pdf_set_bool): New function.
	(pdf_get_int): New function.
	(pdf_set_real): New function.
	(pdf_get_real): New function.
	(pdf_set_int): New function.
	(pdf_get_string_size): New function.
	(pdf_get_string_data): New function.
	(pdf_get_name_size): New function.
	(pdf_get_name_data): New function.
	(pdf_get_array_size): New function.
	(pdf_get_dict_size): New function.
	(pdf_obj_equal_p): New function.
	(pdf_string_equal_p): New function.
	(pdf_string_equal_p): New function.
	(pdf_compare_obj_list_elt): Use `pdf_obj_equal_p'.
	(pdf_obj_dup): New function.
	(pdf_array_dup): New function.
	(pdf_dict_dup): New function.
	(pdf_remove_array_elt): New function.
	(pdf_get_array_elt): New function.
	(pdf_set_array_elt): New function.
	(pdf_add_array_elt): New function.
	(pdf_dict_entry_p): New function.
	(pdf_get_dict_entry): New function.
	(pdf_remove_dict_entry): New function.
	(pdf_create_dict_entry): New function.
	(pdf_append_array_elt): New function.

	* torture/Makefile.am: New testsuite, `test-obj_createdestroy'.

	* torture/test-obj_createdestroy.c: New file.

	* src/pdf_obj.c (pdf_create_dict): Disallow duplicates in
	dictionary.
	(pdf_destroy_obj): New function.

	* configure.ac: Added `doc/Makefile' to output files.

	* src/pdf_obj.c (pdf_create_null): New function.
	(pdf_alloc_obj): New function.
	(pdf_create_boolean): New function.
	(pdf_create_int): New function.
	(pdf_create_real): New function.
	(pdf_create_string): New function.
	(pdf_create_array): New function.
	(pdf_create_dict): New function.
	(pdf_create_indirect): New function.
	(pdf_dealloc_obj): New function.
	(pdf_list_dealloc_obj): New function.
	(pdf_alloc_dict_entry): New function.
	(pdf_dealloc_dict_entry): New function.
	(pdf_list_dealloc_dict_entry): New function.
	(pdf_dealloc_dict_entry_list_elm): New function.

	* src/Makefile.am (libgnupdf_la_SOURCES): `pdf_obj.c' added.

	* src/pdf_obj.c: New file.

	* src/Makefile.am (libgnupdf_la_SOURCES): `pdf_obj.h' added.

	* src/pdf_obj.h: New file.

	* torture/test-io_openclose.c (main): Added file size retrieving
	test.

2007-07-06  Jose E. Marchesi  <jemarch@gnu.org>

	* configure.ac: Check for `off_t'.
	Check for `fseeko' availability.

	* src/pdf_io.c (pdf_io_tell): New function.
	(pdf_io_write): New function.

	* src/pdf_base.h: New file.

	* src/pdf_io.c (pdf_io_close): New function.
	(pdf_io_seek_beg): New function.
	(pdf_io_seek_cur): New function.
	(pdf_io_seek_end): New function.

	* src/Makefile.am (libgnupdf_la_SOURCES): Added `pdf_io.c' and
	`pdf_io.h'.
	(AM_CPPFLAGS): Added the gnulib imported directory.

	* src/pdf_io.c (pdf_io_open_file): New function.

	* m4/xalloc.m4: Imported from gnulib.

	* m4/unistd_h.m4: Imported from gnulib.

	* m4/stdlib_h.m4: Imported from gnulib.

	* m4/onceonly_2_57.m4: Imported from gnulib.

	* m4/inline.m4: Imported from gnulib.

	* m4/include_next.m4: Imported from gnulib.

	* m4/gnulib-tool.m4: Imported from gnulib.

	* m4/gnulib-comp.m4: Imported from gnulib.

	* m4/gnulib-common.m4: Imported from gnulib.

	* m4/gnulib-cache.m4: Imported from gnulib.

	* m4/exitfail.m4: Imported from gnulib.

	* m4/error.m4: Imported from gnulib.

	* lib/xmalloc.c: Imported from gnulib.

	* lib/xalloc.h: Imported from gnulib.

	* lib/xalloc-die.c: Imported from gnulib.

	* lib/unistd_.h: Imported from gnulib.

	* lib/stdlib_.h: Imported from gnulib.

	* lib/Makefile.am: Imported from gnulib.

	* lib/gettext.h: Imported from gnulib.

	* lib/exitfail.h: Imported from gnulib.

	* lib/exitfail.c: Imported from gnulib.

	* lib/error.h: Imported from gnulib.

	* lib/error.c: Imported from gnulib.

	* Makefile.am (ACLOCAL_AMFLAGS): Mention "-I m4".
	(SUBDIRS): Added "lib" subdirectory.

	* configure.ac: New gnulib macros.

	* src/pdf_io.c: New file.

	* src/pdf_io.h: New file.

2007-07-05  Jose E. Marchesi  <jemarch@gnu.org>

	* src/pdf.c: New file.

	* src/pdf.h: End of file comment added.

	* src/Makefile.am (libgnupdf_la_SOURCES): `pdf.h' should be
	installed.

	* bootstrap: `libtoolize' added.

	* .cvsignore: New file.

	* src/Makefile.am (lib_LTLIBRARIES): add `lib_' prefix to
	LTLIBRARIES primary.

	* bootstrap: New file.

	* AUTHORS: New file.

	* NEWS: New file.

	* src/pdf.h: New file.

	* ChangeLog started.

