PRELIMINARY RELEASE-NOTES ========================= Name: pep, ver. 3 Version: 3.00{B000} (199k, 1997 Aug 09) Author: Gisle Hannemyr, Hegermannsgt. 13c, N-0478 Oslo, Norway Purpose: Detergent for "dirty" files Language: ANSI C Environment: Fairly generic (MS-DOS, Win95, W/NT, Unix) Archive site: http://hannemyr.com/enjoy/pep.html, FAQ site: http://hannemyr.com/faq/pepfaq.html. Version 3.00, news: This will be the third major release of pep. For release 3.00, large portions of the code have been restructured and rewritten. A number of switches have been enhanced with new arguments, and there have been some shifts in philosophy. Built-in support for (obsolete) 7 bit charcter code sets has yielded to a more flexible approach where Unicode/UTF-8 is «main» character set and support for various 7- and 8-bit character sets are supported by external tables. All these changes mean that pep 3.00 is not 100% backwards compatible with the pep 2.x versions. I hope the improved functionality and greater consistancy justifies this break with the past. Below are the changes in version 3.00 summarized: * The default for pep is now not to change anything. To make something happen, you need to specify one or more of pep's options. To get the same behaviour as pep 2.6, you can use the options: "-b0 -n -rt -u+". * The -b option has been enhanced with an optional argument: a apecification of what to remove. 0 -- remove control characters 7 -- remove non-ASCII characters + -- list of characters _not_ to remove - -- list of characters to reomove Example: -b07+ÆØÅ-$# remove control characters and non-ASCII characters, but keep the characters Æ, Ø and Å, and also remove ASCII characters $ and #. * The new -n option removes underscores. This no longer happens by default. * The -d -i and -m options for character set translation has been removed in their old form. Instead, all character set trans- lation is done using external tables. The -g option is still used for this, but the table format has been altered to make the table space more manageable. A new set of tables are provided with this release 3.00, completely replacing the tables distributed with pep 2.6. * A new -d option can be used to doublespace (or triplespace, etc.) text files. * A new -f option can be used to specify a file of strings to replaced in the file. * Trailing spaces are no longer removed automatically. To remove spaces you must supply the -r option. In addition, you need to supply one or more of the arguments are l, m and t. l is used to remove leading spaces, m to remove multiple spaces within a line and t to remove trailing spaces. * The -k and -w options are obsolete and has been replaced and/or removed. The new -k option is used to give the name of a configuration file. The configuration files can be used to store much used combinations of options (e.g. notis7.cf for the set of switches needed to convert a 7 bit ND Notis file into ASCII). * The -u option is radically changed, given the user much more control over what pep thinks are a text line, and * The old -x option has been removed. Instead the same effect may be achived by specifying the an optional argument x to the -b option. Description ----------- Pep is a general purpose filter and file cleaning program. It is named after an excellent Norwegian detergent (now discontinued). Pep may be used to expand/com- press tabs; convert to and from several character sets; to interprete ANSI escape sequences; and to remove unwanted line noise from files. See the manpage for a complete description. Pep is free software. Installation ------------ The steps required to install pep are: - First, unpack the archive. You unpack the zip-archive by using unzip (or pkunzip). If you use pkunzip, you need to supply the -d option to get the directory structure restored (unzip do this by default). - The following executable files are available: - pep_ms32.exe :: Microsoft 32 bit platform - pep_fbsd :: FreeBSD for Intel (Unix) - pep_linu :: Linux for Intel (Unix) - pep_sola :: For Sun Solaris (Unix) If you are able to use this, you may skip the compilation. - If you want to install pep on an operating system that is not on the list above, it must be ported to that system and then compiled. Compilation ----------- Below is rough instructions for compiling pep on a particular system. - A Makefile is supplied with the source distribution. Even if your system don't have make, it may be a good idea to read this for directions. - Pep is fairly generic and should compile with almost any ANSI C-compiler after very little tweaking. Read the file "header.txt" for advise about what pep expect to find in the header files. - If you want to recompile pep for your system, start out by editing the Makefile. The first part of the Makefile is a "customization section". First, you should indicate your choice of platform (compiler and operating system, and then you should edit the names of directories and stuff: - MANEXT = which section of the manual shall the manpage go? - MANDIR = in which directory do you want the manpage installed? - CATDIR = in which directory do you want the catpage installed? - BINDIR = in which directory do you want the executable? - LIBDIR = in which directory do you want to have the library - The makefile will use sed to put some of these into peph.src (making pep.h) and pep.man (changing the name to indicate the appropriate section of the manual). If you don't have set of your system, edit the file peph.src rename peph.src to pep.h. (If you are unsure about how to do this, just rename peph.sr to pep.h, and the system should still compile). - To recompile on any system just type "make". - On a Unix system, you may instead type "make install", to compile and install pep on your system. Operating system notes ---------------------- Below is some notes on points pertaining to the different operating systems: * MS-DOS systems: Install PEP.EXE in a directory that is defined in your PATH environment variable, and define an environment variable PEP pointing to the directory where the conversion filters are installed. If this is "c:\usr\lib" your startup profile AUTOEXEC.BAT should contain a line like this: set PEP=c:\usr\lib Or you may put the conversion tables in the directory indicated by the symbol LIBDIR (defined in plain.c). You can use the -g option to find out where pep searches for these tables. * UNIX systems: Install the executable file pep in a directory that is defined in your PATH environment variable (a canonical place will be /local/bin). Install the conversion table in a directory of your choice (a canonical place will be /local/share/lib). Make sure that LIBDIR in the Makefile is set to this directory. If you also want pep to search another area for conversion tables, define an environment variable PEP pointing to the directory where the conversion filters are installed. If this is "/home/george/lib" your startup profile (.login on BSD systems, .profile on SYS-V) should contain a line like this: setenv PEP /home/george/lib Also, Unix users may want to install the manpage "pep.1" in the online manual. The canonical placement is /usr/man/manl. Manifest -------- The following files should be present in all distributions: aareadme.txt -- this file header.txt -- advice about portability of pep pep.man -- manual page (nroff source) pep.cat -- formatted manual page Makefile -- commands to make distribution ansi.c -- ansi terminal interpreter bdmg.c -- DUCOS brain damage compensation main.c -- root module plain.c -- standard filter module. Name in archive: bdmg.h -- bdmg.c types and functions peph.src -- types and functions for pep mac2iso -- conv.-table Mac to ISO 8859/1 iso2mac -- vice versa ibm2iso -- conv.-table CP 850 to ISO 8859/1 iso2ibm -- vice versa mac2ibm -- sample conversion table ibm2mac -- vice versa ibm2ro8 -- conv.-table IBM-PC to ROMAN8 ro82ibm -- vice versa ebc2ns7 -- conv.-table EBCDIC to NS 4551 iso2as7 -- conv.-table ISO 8859/1 to ASCII (IRV). iso2ns7 -- conv.-table ISO 8859/1 to NS 4551 nxt2ns7 -- conv.-table NeXT to NS 4551 ..EOF