Wed Mar  4 18:26:14 1998  Akim Demaille  <demaille@inf.enst.fr>

	* darray.c (da_merge): Don't da_remove when no FREE_FUNC is given.

Wed Mar  4 17:32:55 1998  Akim Demaille  <demaille@inf.enst.fr>

	* darray.c (_da_free_content): Don't free if FREE_FUNC is NULL.
  	All callers changed.

Tue Mar  3 15:53:43 1998  Akim Demaille  <demaille@inf.enst.fr>

	* darray.c (_da_free_content): Safer inline use.
	* faces.c (_face_to_string): Ditto.
	* pair_ht.c (pair_table_map): Ditto.
	* routines.c (xwpopen): Ditto.
	* stream.c (stream_wopen): Ditto.

Mon Mar  2 14:03:11 1998  Akim Demaille  <demaille@inf.enst.fr>

	* routines.h (strsuffix): New macro.

Wed Feb 25 12:36:30 1998  Akim Demaille  <demaille@inf.enst.fr>

	* message.c: Made message be a macro.  There are so many
	messages that I think it's a win.

Thu Feb 19 14:21:20 1998  Akim Demaille  <demaille@inf.enst.fr>

	* title.c (title): New function, as printf, but underlines.

Thu Feb 19 12:19:51 1998  Akim Demaille  <demaille@inf.enst.fr>

	* ppd.c (_a2ps_ppd_get): Moved here from printer.c
	(_a2ps_ppd_list_short): Idem.
	(_a2ps_ppd_list_long): Idem.

Tue Feb 17 16:52:45 1998  Akim Demaille  <demaille@inf.enst.fr>

	* options.c (long_options): Removed --list-html-style-sheets,
 	--list-texinfo-style-sheets and --list-macro-meta-sequences from
 	the list of options.  Now done through argument of --list.

Sun Feb 15 12:00:31 1998  Akim Demaille  <demaille@inf.enst.fr>

	* ppd.c (ppd_list_short): New function.
	(ppd_list_short): Idem.

Thu Feb 12 10:43:08 1998  Akim Demaille  <demaille@gargantua.enst.fr>

	* prolog.c (prologues_list_texinfo): New.  Called upon
 	--list=pro-texi.

Wed Feb 11 18:37:48 1998  Akim Demaille  <demaille@gargantua.enst.fr>

	* metaseq.c (macro_meta_sequence_add): Make it check that the
 	macro identifier is valid.
	* metaseq.c (grow_user_string_obstack): $E and %E: use long form
 	for the years.  Reported by Joachim Backes.

Fri Feb  6 18:49:04 1998  Akim Demaille  <demaille@gargantua.enst.fr>

	* metaseq.c (grow_user_string_obstack): Added support for
	${param:-word} and ${param:+word}.  Likewise for #{}.

Wed Feb  4 18:02:23 1998  Akim Demaille  <demaille@gargantua.enst.fr>

	* options.c (a2ps_handle_option): Fixed handling of
 	--print-anyway. Reported by Joachim Backes.

Sat Jan 31 17:43:55 1998  Akim Demaille  <demaille@gargantua.enst.fr>

	* printers.c: Cleaned up.  Ready for ppd.

Fri Jan 30 19:24:30 1998  Akim Demaille  <demaille@gargantua.enst.fr>

	* printers.c (struct printer): We can't use pair_table any longer
 	since we need to keep the ppd type too.

Fri Jan 30 18:11:06 1998  Akim Demaille  <demaille@gargantua.enst.fr>

	* options.c (handle_option): Now the application is asked
	the handle the options before the lib.

Thu Jan 29 19:26:22 1998  Akim Demaille  <demaille@gargantua.enst.fr>

	* msg.h: Less bits are used.

Wed Jan 28 13:38:31 1998  Akim Demaille  <demaille@gargantua.enst.fr>

	* faces.h (enum face_t): Removed the special faces.  There is
	no longer a typedef ---use enum.

Mon Jan 19 18:35:31 1998  Akim Demaille  <demaille@gargantua.enst.fr>

	* prolog.c (prologue_print_signature): New function, used
	to document the prologues.

Fri Jan 16 17:29:35 1998  Akim Demaille  <demaille@gargantua.enst.fr>

	* options.c (long_options): Removed many of the --list-topic
	to be replaced by --list=TOPIC.

Wed Jan 14 17:22:55 1998  Akim Demaille  <demaille@gargantua.enst.fr>

	* hashtab.c (hash_free_items): Added as parameter the free
	function to be used.
	(hash_free): Use it.

1998-01-12  Akim Demaille  <demaille@gargantua.enst.fr>

	* prange.c (a2ps_page_range_set_string): Check that there is no
 	junk afer intervals such as "1-4d".

1998-01-06  Akim Demaille  <demaille@gargantua.enst.fr>

	* confg.c (a2_read_config): Made parsing of Printer's command more
 	robust.

Mon Oct 27 11:09:59 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* psgen.c (begin_page): Don't FREE page_label since it is not
 	malloc'd.  From Mark Burton <markb@ordern.com>.

Mon Oct 13 19:18:12 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* options.c (get_symbolic_value): Improved error report.

Tue Sep 30 10:49:46 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* printers.c: Removed local implementation of hash table: now uses
 	hashstr.[ch].

Fri Sep 26 17:06:50 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* jobaux.c (user_options_table_new): The hash functions about user
 	options are now using hashstr.[ch] functions.

Thu Sep 25 12:44:13 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* metaseq.c (grow_user_string_obstack): Added $[arg] and #!$.

Thu Sep 25 12:43:17 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* psgen.c (dump_prolog_comments): The prologue contains a copy of
 	the command line call when --debug.

Mon Sep 22 19:02:40 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* encoding.c (encoding_output_ps_vector): New function.
	* encoding.c (load_encoding_description_file): Changed `Endoding:'
 	to `Named:'.

Wed Sep 17 18:57:52 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* fonts.l (dump_fonts): Fixed the name of the resource [before
 	alias, not after!], made it depend on the DSC storage instead of
 	the encodinds.

Wed Sep 17 17:18:59 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* dsc.c: Rewrote and simplify the handling of the resources.  Now
 	it goes by two layers of hash tables [one for the type, say
 	"font"; and the other for the value, say "Courier"].

Wed Sep 17 15:36:27 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* dsc.h, dsc.c: new files, that extract the handling of the PS
 	resources from psstat.[ch].

Wed Sep 17 14:13:20 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* output.c (output_file): Added add_required_font in the case
 	%Font, so that fonts used in headers get registered too.

Wed Sep 17 11:35:53 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* Makefile.am: Updated to the most recent version of fnmatch
 	[found in GNU make 3.76].

Tue Sep 16 14:09:01 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* jobaux.c (interval_to_buffer): Opened interval on the left
 	prints 1 [i.e., no longer -pp-10, but -pp1-10].

Fri Sep 12 19:44:23 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* encoding.c (encoding_entry_print_signature): Made it look better.

Fri Sep 12 18:54:02 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* jobaux.c (da_get_lib_files_by_suffix): New function, which
 	fatorizes a job implemented in several places.

Fri Sep 12 18:39:18 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* darray.c (da_qsort_with_arg): New function.

Tue Sep  9 20:33:41 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* jobs.c (a2ps_job_finalize): New function that groups what has to
 	be done once the lib path is done, i.e., after having read the
 	a2ps.cfg
	
	* pathwalk.c (pw_append_dir_to_path): New function.
	* pathwalk.c (pw_prepend_dir_to_path): New function.

Tue Sep  9 10:18:18 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* Makefile.am (libpath): Move pkgdatadir (/share/a2ps) at the end
 	of the path, so that users who did not remove a2ps 4.8.* stuff
 	don't get problems.

Thu Sep  4 17:53:28 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* encoding.c (list_encodings_long): New function, answering to
 	--list-encodings.

Wed Sep  3 16:41:01 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* routines.h (astrdup): Fixed the too short len allocated [+1 !!!]

1997-08-20  Akim Demaille  <demaille@gargantua.enst.fr>

	* fonts.l (binary_font_dump_segment): New function for download of
 	binary encoded fonts.

1997-08-18  Akim Demaille  <demaille@gargantua.enst.fr>

	* psgen.c (ps_end_encoding): Fixed a bug occuring when a change of
 	encoding was done on a blank sheet, before any real output.

	* lexafm.l: First sketch of AFM parsing [actually, no need to
 	parse, lexical is widely enough].

	* output.c (output_file): Made the parsing more robust [checks for
 	the missing arguments instead of crashing!].

1997-08-16  Akim Demaille  <demaille@gargantua.enst.fr>

	* Makefile.am (liba2pssources): Got rid of the AFC files,
	and of fonts.[ch].

1997-08-15  Akim Demaille  <demaille@gargantua.enst.fr>

	* metaseq.c (grow_user_string_obstack): Added padding,
 	e.g. `$+.20n' to get the name of the file in 20 chars completed
 	with dots.

1997-08-14  Akim Demaille  <demaille@gargantua.enst.fr>

	* encoding.h: An encoding no longer encloses is eol.

	* Makefile.am: getline.[ch] is no longer used.

1997-08-13  Akim Demaille  <demaille@gargantua.enst.fr>

	* encoding.c (load_encodings_map): Now it is used, so that aliases
 	for encodings do function.

1997-08-11  Akim Demaille  <demaille@inf.enst.fr>

	* psgen.c (ps_init): Made it set the encoding (can cause a SEGV if
 	page 1 is not in --pages).

	* jobaux.c (add_pages_interval_string): Implemented page selection.

Thu Aug  7 18:43:05 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* faces.h: Added the face Error.

Mon Aug  4 10:56:34 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* psgen.c (begin_sheet): Page labels are delayed, so that we know
 	the files printed in the current sheet.

Thu Jul 31 17:29:54 1997  Akim Demaille  <demaille@inf.enst.fr>

	* metaseq.c (grow_user_string_obstack): Added #!s.

Wed Jul 30 17:41:32 1997  Akim Demaille  <demaille@inf.enst.fr>

	* metaseq.c (grow_user_string_obstack): Profound revision
	of meta sequences related to lines, pages and sheets.
	* metaseq.c (grow_user_string_obstack): #? uses SPLIT too.

Tue Jul 29 11:14:45 1997  Akim Demaille  <demaille@inf.enst.fr>

	* metaseq.c: Added the hash table functions for macro MS.
	(grow_user_string_obstack): Added '\' for usal characters,
	especially `\n'.

	* metaseq.c (grow_user_string_obstack): Expand the macro meta
 	sequences (#(macro)).

	* hashstr.[ch]: New file, factorising the various hash tables with
 	a char * key, and a char * value.

	* xmalloc.h: Fixed prototype of free.  Include stdlib.

Mon Jul 28 18:38:10 1997  Akim Demaille  <demaille@inf.enst.fr>

	* options.c: New file in charge of the options only.
	* confg.c: Removed option related routines.

Fri Jul 25 17:01:27 1997  Akim Demaille  <demaille@inf.enst.fr>

	* metaseq.c (grow_user_string_obstack): Implemented #!f.
	(grow_user_string_obstack): Added #!F.

	* psgen.c (dump_prolog_comments): New function, globally delayed,
 	instead of several delayed functions in output_prolog.

Mon Jul 21 17:31:31 1997  Akim Demaille  <demaille@inf.enst.fr>

	* psgen.c (begin_page): Merged ps_skip_page in.

Fri Jul 18 13:34:32 1997  Akim Demaille  <demaille@inf.enst.fr>

	* metaseq.c (format_user_string): Moved %o, %O as #o, #O.
	(expand_user_string): Replaces format_user_string.  It has
	now no arbitrary limitation on the size of the expanded
	string, thanks to obstacks.

	* metaseq.[ch]: New files, in charge of the meta sequences
	  handling.

Thu Jul 17 15:34:18 1997  Akim Demaille  <demaille@inf.enst.fr>

	* liba2ps.h: Changed the name of something important
	  functions (such as new_print_job etc.) so that everything
	  is prefixed by a2_.

Wed Jul 16 12:00:10 1997  Akim Demaille  <demaille@inf.enst.fr>

	* stpncpy.c (stpncpy): Fixed a nasty bug.

Tue Jul 15 12:58:22 1997  Akim Demaille  <demaille@inf.enst.fr>

	* encoding.c (load_encodings_map): New function, in charge
	  of reading the encoding.map files.

Thu Jul 10 11:31:09 1997  Akim Demaille  <demaille@inf.enst.fr>

	* Makefile.am (libitsources): Removed regex.[ch] from here,
	  so that it does not polute liba2ps.h with its undefined
	  symbols.

Tue Jul  8 14:24:22 1997  Akim Demaille  <demaille@inf.enst.fr>

	* psstat.c (ps_status_free): Quite all the memory malloc'ed
	  is now freed.

Mon Jul  7 11:11:01 1997  Akim Demaille  <demaille@inf.enst.fr>

	* confg.c (read_sys_config): Fixed the behavior when 
	sysconfdir does not hold a2ps.cfg.

Sun Jul  6 15:25:05 1997  Akim Demaille  <demaille@inf.enst.fr>

	* jobs.c (new_file_job): It is no longer the library
	  that opens the files...

	* output.c (output_dump): Make it accept any FILE as output
	  stream.  This is to avoid closing stdout in a near future.
	  (That was _bad_ when using the library).

Fri Jul  4 17:38:21 1997  Akim Demaille  <demaille@inf.enst.fr>

	* routines.c (format_user_string): Made it depend
	  upon a file_job, so that it will be usable for
	  indexes and toc.

	* darray.c (da_prefix): New function which prefixes
	  the content of the first arr, by the content of the
	  second (kind of converse of concat).

Thu Jul  3 12:54:23 1997  Akim Demaille  <demaille@inf.enst.fr>

	* caret.[ch]: New files, in charge of escape unprintables.

	* a2ps.h: Got rid of ustring and const_ustring.
	  Redesigned the access to system headers (it relies
	  now more on xstring.h etc. which take care by themselves
	  of multiple inclusions).

Tue Jul  1 16:50:46 1997  Akim Demaille  <demaille@inf.enst.fr>

	* psstat.[ch]: New files, to split the very big structure
	  that is print_job in smaller, quasi-independent elements.

Wed Jun 25 17:56:44 1997  Akim Demaille  <demaille@inf.enst.fr>

	* printers.c: New file, which is responsible of printers
	  management.  (printers are in fact any kind of output).

Fri Jun 13 11:44:41 1997  Akim Demaille  <demaille@inf.enst.fr>

	* a2ps.h: More robust wrt errno.

Wed Jun 11 18:16:57 1997  Akim Demaille  <demaille@inf.enst.fr>

	* confg.c (get_symbolic_value): New function to have clearer 
	  error messages for argument mismatches.

Tue Jun 10 18:50:13 1997  Akim Demaille  <demaille@inf.enst.fr>

	* pathwalk.c (path_walk): Now the whole file uses pre
	  separated components of the path (string_to_path).

Fri Jun  6 16:49:33 1997  Akim Demaille  <demaille@inf.enst.fr>

	* jobs.c (new_user_info): New function, due to new structure of
 	  struct print_job.
	
Thu Jun  5 18:32:04 1997  Akim Demaille  <demaille@inf.enst.fr>

	* medias.c (list_medias_short): New function.
	* config.c: "Media: " entries.

Mon Jun  2 15:30:56 1997  Akim Demaille  <demaille@inf.enst.fr>

	* Makefile.am: Build liba2ps.h from source files.

Fri May 30 10:47:43 1997  Akim Demaille  <demaille@inf.enst.fr>

	* darray.c (da_qsort): New implementation.  Comparison
	  functions in darrays no longer need to have a void **
	  as argument.

Wed May 28 19:38:50 1997  Akim Demaille  <demaille@inf.enst.fr>

	* liba2ps.h.in: New file which is a precursor of the
	  a2ps library header.

Sun May 25 12:43:46 1997  Akim Demaille  <demaille@inf.enst.fr>

	* jobs.h: Jobs are now under darray.

	* jobs.c (print_job_free): New function.

	* dstring.c (ds_vsprintf, ds_cat_vsprintf...): New
	  functions.
	* output.c: Globally cleaned up, using dstring.

Sat May 24 19:54:36 1997  Akim Demaille  <demaille@inf.enst.fr>

	* output.c: Globally cleaned, using darrays.

Fri May 23 17:54:46 1997  Akim Demaille  <demaille@inf.enst.fr>

	* jobs.h: Added backup support (versioning).

	* dstring.c (ds_report): New function.

Thu May 22 18:05:04 1997  Akim Demaille  <demaille@inf.enst.fr>

	* dstring.c: extended so that it is darray-like.

Fri May 16 10:26:16 1997  Akim Demaille  <demaille@inf.enst.fr>

	* Makefile.am (libitheaders): Added backupfile.[ch] for
	  version control, getversion.c for get version
	  control settings, and argmatch.[ch] as support for
	  getversion.c

	* Makefile.am: new files dstring.[ch] that will replace
	  portions of output.[ch]

Wed May  7 19:28:01 1997  Akim Demaille  <demaille@inf.enst.fr>

	* darray.c (da_remove_at, da_merge_unique): New functions.

Sat May  3 14:40:06 1997  Akim Demaille  <demaille@inf.enst.fr>

	* Makefile.am: Changed hash.[ch] to hasshtab.[ch] to
	  avoid conflict with other libit sources.
	  Changed xfnmatch.[ch] to Fnmatch for the same
	  reason.

Wed Apr 23 20:15:04 1997  Akim Demaille  <demaille@inf.enst.fr>

	* confg.c (long_options): Changed --column-per-page
	  to --chars-per-line which is less confusing.

Sun Apr 20 18:02:18 1997  Akim Demaille  <demaille@inf.enst.fr>

	* jobs.c (new_a2ps_status): Removed the pattern rules:
	  they are no longer part of .a2psrc files.

	* jobaux.[ch]: new files to make jobs.[ch] only handle
	  the job structure, not the asides.

Wed Apr 16 12:10:43 1997  Akim Demaille  <demaille@inf.enst.fr>

	* output.c (output_file): Restructured, so that only
	  used fonts are built.

	* encodings.c: Fix the ISO names.

Sat Apr 12 13:30:23 1997  Akim Demaille  <demaille@inf.enst.fr>

	* postscript.c (output_prolog): In debug mode, download
	  a ps error handler.

Fri Apr 11 15:17:33 1997  Akim Demaille  <demaille@inf.enst.fr>

	* jobs.h: Changed major to Major, because of a sys macro
	  on SunOS CC.

Thu Apr 10 17:56:29 1997  Akim Demaille  <demaille@inf.enst.fr>

	* faces.h: Changed COURIER to PLAIN.

Thu Apr 10 16:20:00 1997  Larry Jones  <larry.jones@sdrc.com>

	* faces.c, faces.h (check_face_to_font, init_face_to_font):
	  correct argument type.

	* jobs.c (initialize_ps_status): intialize wx and last_line_num
	  since they can be referenced before they're otherwise set.

	* jobs.c (new_print_job): get name to capitalize from
	  res->pw_name instead of passwd->pw_name since passwd might be
	  NULL.

	* output.c (output_file): add 1 for trailing NUL when allocating
	  filename.

	* postscript.c (clean_up): when printing blank 2nd page for
	  rectoverso, leave job->virtual alone so that paging logic
	  works correctly.

	* postscript.c (ps_init): set title_font_size even when not
	  printing titles since it's still referenced.

Mon Apr  7 14:07:51 1997  Akim Demaille  <demaille@esmeralda.enst.fr>

	* confg.c (read_sysconfig): Made it able to read in the lib path
	  so that it is easier for micro ports.
	
Sun Apr  6 17:44:41 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* jobs.h: New structure (a2ps_status) to store what
	  belongs to the program, and not the lib.

	* confg.c: new file with all the necessary to read
	  configuration at run time (from config files to
	  command line options).

Thu Apr  3 18:14:27 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* Makefile.am: Added support for Helvetica's

Fri Mar 28 19:01:13 1997  Akim Demaille  <demaille@folcoche.enst.fr>

	* postscript.c (begin_document): added support for
	  -major

Thu Apr 10 16:20:00 1997  Larry Jones  <larry.jones@sdrc.com>

	* faces.c, faces.h (check_face_to_font, init_face_to_font):
	  correct argument type.
	* jobs.c (initialize_ps_status): intialize wx and last_line_num
	  since they can be referenced before they're otherwise set.
	* jobs.c (new_print_job): get name to capitalize from
	  res->pw_name instead of passwd->pw_name since passwd might be
	  NULL.
	* output.c (output_file): add 1 for trailing NUL when allocating
	  filename.
	* postscript.c (clean_up): when printing blank 2nd page for
	  rectoverso, leave job->virtual alone so that paging logic
	  works correctly.
	* postscript.c (ps_init): set title_font_size even when not
	  printing titles since it's still referenced.

Thu Mar 27 17:26:01 1997  Akim Demaille  <demaille@esmeralda.enst.fr>

	* postscript.c (ps_end_file): Moved the test here, instead
	  of page per page.  It now cancels the whole job.

Wed Mar 26 18:34:43 1997  Akim Demaille  <demaille@quasimodo.enst.fr>

	* postscript.c (begin_document): added a test to make sure
	  faces are known.

Sun Mar 23 16:26:17 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* xstrrpl.c (xvstrrpl): new function, that takes vargars
	  intead of an array.

	* xstrrpl.c: destructive counterparts are added.

Sat Mar 22 23:08:53 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* postscript.c (ps_print_char): Now there is a ps function
	  to print line numbers.

Tue Mar 18 19:02:05 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* postscript.c (ps_font): Got rid of the hard coded fonts:
	  now only Keyword, Comment, and such.

	* afm.c: Moved more responsibility to Ogonkify.

Mon Mar 17 20:40:15 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* postscript.c (ps_print_char): case '\b' removed.

Sun Mar 16 15:46:50 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* pathwalk.c: new file, now reusable

	* getshline.c (main): new file, with functions specialized
	  in reading configuration files with lines continued by a '\'

Fri Mar 14 15:56:49 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* encodings.c (expand_wx): fixed a bug: order between times
	  and Symbol.

	* postscript.c (FOLD_LINE): Fixed a bug in printing line-numbers
	  when not in Courier.
	
Wed Mar 12 17:26:49 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* message.c: New file.  Function removed from routines.c
	  as the other varargs functions.

Fri Mar  7 16:57:52 1997  Akim Demaille  <demaille@gargantua.enst.fr>

	* xfnmatch.h: Changed the name to xfnmatch, so that there could
	  never be interferences between the system's fnmatch.h, and
	  the provided fnmatch.

