
Notes

    It's been over three years since version 1.5 was released. I hope version
    2.0 will be worth your wait.

    The biggest incompatibility between version 1.5 and 2.0 is the change
    in the option start character and files/strings separator from / to
    -.  The format of most option parameters has been changed. See the
    file NEWS for information about more changes.


Installing MiniTrue

    After the archive has been decompressed, all that is needed to install
    MiniTrue is to move the executable to the directory where binary files
    are stored. It is not neccessary to set up any directories or modify the
    system in any other way. The 32-bit DOS version requires a DOS extender,
    which is provided automatically for DOS applications running under
    Windows.

    To compile the Linux version of MiniTrue, move to the directory where the
    source archive has been decompressed and type  make. Compiling the 32-bit
    DOS version requires that DJGPP be installed and is similar to compiling
    the Linux version, but  make -f makefile.dj  should be typed instead of
    just make. Generating the 16-bit DOS version requires Borland C 3.1
    (later versions of Borland C will probably work, but I am not sure).
    To make the 16-bit executable type make -fmakefile.bc


File List

    mtr             MiniTrue program (Linux)
    mtr.exe         MiniTrue program (32-bit DOS)
    mt.exe          MiniTrue program (16-bit DOS)
    minitrue.txt    MiniTrue documentation
    NEWS            Major changes from version 1.5
    COPYING         License information


Default Options

    MiniTrue is set to generate numbered backups, which should prevent any
    files, including previous backup files, from being overwritten or
    deleted. This should prevent whatever bugs are present in the alpha
    versions from destroying any data (assuming there are no bugs in the
    backup functionality). Unwanted backup files must be deleted manually. To
    disable backups, place a -b- at the beginning of a command line.

    Other default settings are case insensitivity and regular expressions.
    These options can be turned off by placing -c- and -x-, respectively, at
    the the start of the command line.

    Setting the MINITRUE environment variable will change the default
    options. The default settings can also be changed by altering
    DEFAULT_FLAGS in the file minitrue.h and recompiling the program.


Bugs

    I have not experienced any serious bugs with the core functionality of
    MiniTrue recently, but it is probable that quite a few bugs will be found
    as MiniTrue is used on different systems for different purposes. No
    permanent damage should be done (in theory) as long as MiniTrue is only
    used to search and not make replacements. Making substitutions might
    damage files if bugs occur, but hopefully the default setting of numbered
    backups should prevent the loss of any valuable data. I would still
    advise backing up any important file before attempting any modifications
    to it with the alpha versions of MiniTrue.

    The worst bug that I am aware of is that regular expression zero-width
    assertions (such as $ and \b) might not function properly if the tested
    string is located at the start of a buffer. There are probably some other
    idiosyncracies in the regular expressions as well.

    Some terminal programs, such as nxterm, always clear the screen to black.
    This causes the right side of the screen to have a different color from
    the rest of the screen. To make the entire screen have the same background
    color, use the option -v:colorpad. The option -v:mono will make the
    background color for the entire screen black.


Possible Future Improvements

    Fix bugs in regular expressions and add some optimizations

    Put documentation in HTML and make man page

    Add NOT to boolean matches

    Implement POSIX "leftmost-longest" rule for regular expressions

    Port to Win32 console mode and other unixes

    Have quantifiers for minimal matching and lookahead assertions in regular
    expressions, like in Perl

    Have configuration file which will set screen colors, keystrokes and
    other options

    Enable including files and output of commands in replacement strings

    Use configure utility to generate makefile

    Make 64-bit clean

    Allow editing file

    Allow searching files over the internet

    Have undo for replacements

    Implement scoping, which will limit the regions a string is found in

    Make GUI front end (a separate program)

    Put appropriate Simpsons quote at start of each source file

