- The list of Unicode ranges has been updated to version 5.0 and the unofficial
ConLang ranges in the Private Use Area from the
Conscript Registry added.
A bug that prevented the sort order of the list of Unicode ranges from being toggled
from the keyboard has been fixed.
8.18
- The accented letter entry widget has been improved. A number of characters have been added,
and upper-case counterparts are now available by right-clicking.
The number of columns in the chart is now configurable from the init file.
- A new command-line flag, -P, has been added. It lists the supported programs and
indicates which are available.
- The Makefile now contains a target, macosx_app, that installs Redet under Mac OS X.
Thanks to Hans-Christoph Steiner.
8.17
- The command for moving the content of the result window to the test data window
now checks whether the result window is empty so as to prevent unintended
deletion of the test data due to inadvertant double clicking.
- Tooltips were added for all entries in the IPA vowel chart.
- A bug that caused the uvular trill button on the IPA consonant chart
to not insert anything was fixed.
8.16
- Right-clicking on a character in the test data or result windows causes its
Unicode codepoint to be printed in the Message region along with its name. By default,
the name shown is the Unicode name. A new init file command, CharacterName, allows
the default Unicode character names to be overridden. This is useful since
the Unicode name is sometimes uninformative or misleading. It also allows
for the use of names in languages other than English.
- The ability to cut-and-paste into the regular expression region has been improved.
There are now two commands, one that copies from the clipboard, the other from the primary
selection. Both commands are available for definition as shortcuts. One or the other
is also made available on the Regular Expression submenu of the File menu depending on
which window system Redet is running under.
- The history list now uses the same font as the regular expression window.
This simplifies making regular expressions in non-Roman writing systems legiible.
8.15
- A new initialization file command, DefineCharacterClass, allows
character classes to be defined from the initialization file.
- The widget for displaying the actual regular expression (the result of
expanding user-defined character classes) now uses the Text font, which
facilitates making regular expressions containing exotic characters
legible.
- A command that saves the actual regular expression has been added
to the regular expression submenu of the file menu and the character
class submenu of the tools menu. It is also available for definition
as a keyboard shortcut.
- The widget for displaying the actual regular expression now has
a title and a more attractive color scheme (the same as most other popups).
8.14
- Fixes a bug that produced a blank palette for sed.
8.13
- Support was added for the arena scripting language.
- The reference manual has been updated a bit.
8.12
- A command has been added to the File menu that replaces the test data with the contents
of the result window. This is useful for repeatedly narrowing down a set of data or for
carrying out multiple substitions on the same data.
- A command for clearing the existing user-defined character classes has been
added to the character class menu.
8.11
- BusyBox Egrep is now supported.
- Wu-Manber agrep is now listed separately under the name wmagrep in order to make
it possible for users to use both Wu-Manber agrep and TRE agrep. In order to take
advantage of this, you must name your copy of Wu-Manber agrep "wmagrep".
- A test and palette entry have been added for tagged groups with single quotes
around the tag instead of angle brackets as in .net.
- When features are tested, if the program already has a control panel popup
it is now relabelled to eliminate the "untested" notation.
- The range tests are now trapped for numgrep since they hang it.
- A bug in attempting to obtain version info from Wu-Manber agrep was fixed..
8.10
- Support was added for minised
(reverse-engineered from 4.1BSD sed by ESR , now
used on embedded sytems and Minix.)
- Support was added for ssed (super-sed)
an extension of GNU sed influenced by Perl 5.
- A feature test and palette entry were added for the Perl \C single octet construct.
- Palette glosses are now set at an appropriate time on startup and reset on
change in locale so that they will be translated. Hitherto they were
fixed at too early a stage.
- A recently introduced bug that made all programs fail the range test
(for expressions like [a-d]) was fixed.
8.9
- A couple of tests (Range128 and Range129) that hang emacs are now trapped.
- Feature tests and palette entries were added for Perl-style character classes
using the prefix "Is".
- Feature tests and palette entries were added for HTML hex and decimal character
references.
- An explanatory popup was added for the idiosyncratic Perl [:print:] class.
- User-defined named character classes, disabled by default, are now automatically
enabled if the user defines a named character class interactively.
- The Makefile and installation instructions have been improved.
8.8
- User-defined named character classes are now disabled by default so as not
to confuse users unaware of them.
- If user-classes are enabled, redet now checks for intersection delimiters.
If it finds them and there are no user classes defined, it prints a message and
aborts the search.
- The option is now available in Tcl of emitting only the matching portion of the line
rather than the entire line. The choice may be made interactively via the Tcl control panel
or from one's initialization file by means of the command TclEmitMatchOnlyP.
- If the test data, result, or comparison windows have been made editable,
they now remain editable after clearing and loading operations.
8.7
- vim is now supported.
- pcregrep is now supported.
- A number of tests and palette entries were added, including those for the
Perl-style substitution case-change and metacharacter quotation operators
and the Perl notation for hexadecimal wide characters.
- The program menu now indicates which programs have been tested in the current
locale by means of color. If you wish to change the colors used, the
relevant initialization file commands are ProgramMenuTestedForeground
and ProgramMenuTestedBackground.
- Program changes are now blocked while feature tests are running.
- If a program-specific control panel is popped up before the program's features
have been tested in the current locale this is now indicated on the control panel.
- For programs that have a case insensitive flag settable from a program-specific
control panel, the balloon help for that checkbutton now indicates whether or
not the flag affects backreferences if the program's features have been tested.
- The order of palette entries has been somewhat rationalized.
- The maximum height of the palette may now be set from the initialization file
by means of the command PaletteHeightLimit.
- A section on Limitations was been added to the manual.
- A bug was fixed that triggered an error if the abort command was issued when nothing
is in progress.
- A bug was fixed that resulted in false positives for the availability of patmatch.
8.6.1
- This release fixes a bug that triggers an error when Redet checks the availability
of daughter programs on a machine on which PHP is available. If you do not have PHP
installed, it will not affect you.
8.6
- Support has been added for patmatch, a pattern matcher for nucleotide and protein sequences.
- Keyboard shortcuts may now be defined in the user's initialization file.
- A test and palette entry have been added for the Tcl-style case sensitive flag.
- The Help menu has been reorganized and all of the popup entries made into toggles.
- The delimiters for intersection of user-defined character classes may now be redefined
from the initialization file, allowing this facility to be used with regular expression
engines that use angle-brackets as metacharacters or where it is necessary to match
angle-brackets.
- A bug was fixed whereby the progress bar on the test placard did not work when
testing Tcl.
8.5
- Support for mysql (both wildcards and regular expressions)
has been added.
- Support for numgrep has been added.
- Support for zsh has been added. The embedded flags dealing with backreferences are not yet supported.
- Support for ici has been added.
- Redet now checks the availability of all supported programs on startup
and disables the Program menu entries for those that are not available.
- The choice of whether to use extended or basic regular expression notation is now provided for Cgrep.
- The choice of whether to use the extended globbing features and case-insensitive globbing
is now provided for Bash. Both are enabled by default.
- A palette entry was added for the non-POSIX character class [:word:] as provided by
bash,
jgrep,
perl
and pike.
- Redet now tests whether the inline case-insensitive flag applies to octal and
hex escapes and includes this information in the help popup.
- Feature tests and palette entries were added for several variations on which special characters require how many backslashes.
- The palette entries for a number of character classes used in substitutions were tagged to
show which parts are fixed and which variable as all entries are supposed to be.
- A new command, GetLocale, was added to the commands available in the initialization file.
It returns the current locale. This allows the user to do things like select fonts
on the basis of the locale. (See the end of the initialization file section of the reference manual for an example.)
- The subroutines that actually execute the daughter programs have been reviewed and in many
cases modified to prevent problems from arising when a regular expression begins with a <-sign.
(The problem is that there is a design defect in the Tcl exec command, which is
used to execute child processes, in which a leading <-sign is interpreted as redirecting
the standard input even if it does not stand alone. Unlike the Unix shells on which this
behavior was evidently based, in Tcl there is no way around this.)
In all but four cases a workaround has been found. In four cases (agrep, jgrep, nrgrep, and tr)
no good workaround has been found so the problematic case is trapped and an
empty result returned.
- The standard error buffer is now flushed after every write to the feature test log
so as to provide more accurate information about where problems occur when a feature
test hangs or crashes Redet.
8.4
- Support has been added for the Korn shell ksh.
- Support has been added for rc (the Plan 9 shell).
- A bug affecting the popup explanation for collation classes has been fixed.
- A popup with information about the class of alpha characters has been added.
- The popups for the various character classes have been improved.
- The manual page has been updated.
8.3
- cgrep is now supported.
- Tcl is now executed in such a way that hyphens in
regular expressions need not be quoted by the user in order to work properly.
- The Tcl -nocase and -expanded options are now supported. They can be set via
a popup control panel or in the initialization file.
- The processing of command line flags has been changed so that GNU-style
long options (e.g. --version instead of -v) are recognized.
- A command line option that causes redet to start up in substitution mode has been
added.
-
The default program has been changed from egrep to Tcl.
Since Tcl is certain to be available if the program can be run at all, this has the
virtue of ensuring that it is usable at the outset. Furthermore, since Tcl
runs the test suite very quickly, it reduces startup time. Tcl's regular
expression notation is similar to that of egrep but more extensive, so
you may not notice any difference.
If you want to restore egrep as the default program, you can put the line
"Program egrep" into your .redetrc file, call redet using the -p option, i.e.:
"redet.tcl -p egrep" (possibly via a shell script or alias)
or edit the program itself, commenting out or deleting the line:
"set DefaultProgram tcl";
and uncommenting the line
"#set DefaultProgram egrep" (by removing the crosshatch character).
- The agrep control panel has been improved.
- A bug in which the attempt to obtain version information from nawk triggered
an error has been fixed.
8.2
- Nrgrep is now supported.
- Cosmetic improvements have been made to the program-specific control panels.
- Validation of codepoints in the popup for entering characters by
codepoint has been improved. The message window is now cleared at the
beginning of each attempt to insert a character. The popup now has a
title.
- A number of screenshots in the manual have been updated and others have been added.
8.1
- Fixed a bug that in certain cases printed incorrect match counts.
- Only the tail of file names in the current directory is now used in messages.
- Added tests and palette entries for \b for backspace and for the (?b), (?e), and (?q)
flags as used in Tcl.
8.0
- Fish is now supported.
- The Programs command on the Help menu now provides descriptions of the programs
in addition to links to their web sites.
- A bug in the toggling of labels in the character entry submenu of the Tools menu was fixed..
- A bug in the relabelling of the Help menu after a change in locale was fixed.
- A bug in the execution of awk was fixed.
- Support for old-style initialization and color files has been removed.
- It is now possible to toggle feature testing on and off while Redet is running.
- Version information about Frink is now supplied since Frink has been modified to
provide it.
7.10
- It is now possible to read a feature list from a file rather than executing
empirical tests, either by means of the -F command line option or from the
Feature Testing submenu of the Configure menu. This is generally to be
avoided but may be desirable in the case of programs that take a long time to
complete the test suite.
- Support was added for Frink.
(Note that Frink takes a VERY long time to complete the test suite.)
- Specification on the command line of a program not supported by Redet is now
caught and handled gracefully.
- The default colors of several types of popup were made less garish.
7.9
- User-defined palette entries have been cleaned up and improved. User-defined entries are
now graphically separated from Redet-generated entries. User-defined entries now have
explanatory pop-ups just like Redet-generated entries. (Note that initialization file
definitions of palette entries must be updated to add the explanatory text, which is
an obligatory argument.) The reference manual sections on initialization files and the
palette have been updated.
- The date and time of the last program modification are now added to the version
number in the About and Bug Reports popups.
- The formatting of the Bug Reports popup has been improved and information added about the
daughter program..
- The About, Bug Reports, and Description popups are now removed by a second
click on their Help menu button.
- A "Macintosh Notes" entry was added to the Help menu. It appears if Redet is
run on a Macintosh and explains possible differences in the interface.
-
Calls to the trace command have been updated to use the new syntax
in place of the original, now deprecated, syntax.
7.8
- Fixed a serious bug in the history system that somehow snuck in. It looks like file
corruption: 1.5 lines disappeared.
- Fixed bug by which the cache result popup did not show any results
until a regular expression was executed after it had been popped up.
Here again, a single line had somehow disappeared from the end of PopupCachedEntries.
- Added the ability to set the jgrep case insensitive parameter from the init file.
- File descriptors used in obtaining version information for certain programs previously
left open are now closed.
- The command WritePalettetoFile was added to the Help menu.
- Match counts in several places now have commas inserted.
7.7
- Adds workaround for critical bug in Tcl 8.4 under MS Windows. (This bug is fixed in Tcl 8.5.)
- Fixes bugs arising under Mac OS X.
- Cosmetic improvements to "this program" popups and program-specific control panels.
7.6
- Support for Glark was added.
- Support for Jgrep was added.
- Tests and palette entries for POSIX multicharacter collating elements and collating sequence names were added.
- A test and palette entry were added for POSIX collation classes. The test has not been
properly tested since I have yet to find a regexp engine that supports collation classes.
- The "This Program" popup now reports version information if it is available.
- The command "Show Command Line" on the Tools menu was added.
- The list of Unicode character properties has been improved.
- A bug in the relabelling of the Configure menu after a change in locale has been fixed.
- The reference manual HTML has been cleaned up.
7.5
- The limit on the number of named character classes that may be intersected
has been removed.
- The user class palette now scrolls by a large increment if the right mouse
button is pressed.
- Hitherto, the entries on the Character Entry submenu of the Tools menu
for custom character entry charts were lost when the locale was changed.
They now persist across locale changes.
- A bug in the command line flag for reading class definitions from a file was fixed.
- The default background color for the user class palette is nicer.
- The default background color for matches using the search tools was changed to
white since it makes the matched text more clearly visible.
7.4
- Fixed bugs in search popups due to their referencing non-existant color specifications.
- Added the missing subroutine BindInsertionTarget, without which it is
impossible to use the character entry tools to enter characters into the
font control panel example boxes.
- Made activebackground and activeforeground colors of menubar and menus configurable and
set nicer defaults for them.
- Added a binding on B3 to the palette scrollbar that scrolls by 25%.
- Added help commands that list the built-in tcl commands available to config files.
- Added help command that lists valid color names.
- Changed the default background color for various popups to a nicer color.
7.3
- A bug was fixed that made the widget for inserting characters by their
Unicode codepoint insert them into itself.
- A bug was fixed that triggered an error when the widget for
inserting characters by their Unicode codepoint was dismissed.
- The missing help popups for LowerCaseLetter and UpperCaseLetter were added.
- Custom character insertion widgets can now handle upper- and lower-
case simultaneously. If the character string for a position is
split into two parts separated by a colon, only the first string
is shown on the button. The first string will be inserted on
a left-click; the second string will be inserted on a right-clock.
7.2
Please note that these changes create some incompatibilities with previous versions.
One incompatibility is the change in format of custom character widget specifications.
A second is that some commands now end in P that previously did not. The third is
that the notation used to refer to user-defined named character classes has changed.
- A command Save Configuration has been added to the Configure menu.
This command writes out a file which if executed as an init file will set all
configurable properties to their current state.
- Errors in the initialization file are now handled more gracefully. In most
cases the error is trapped in such a way that execution of the init file is not
aborted.
- All Boolean initialization file commands now end in P.
- A number of additional properties can now be set from the initialization file.
In particular, it is now possible to define custom character widgets from the init file,
either by loading a file, as from the menu, or by including the widget definition
directly in the init file. (See the sample init files for examples.) All of the program-specific
parameters may now be set from the init file.
- Since the row and column labels of the IPA consonant and vowel charts take up a lot
of space, they may now be removed if desired.
- Custom character entry widget specifications now have a different format.
On the first line, the title should now come first, before the number of columns.
Characters are now specified using \u escapes rather than raw hex, e.g. \u00E9
in place of 00E9.
- The font selection system has been improved. A nicer font control panel is provided and
the menu font is now separately controllable.
- Menu colors are now configurable.
- Scrollable windows that may contain many lines now have a binding on mouse button 3 that
scrolls by an extra-large increment.
- User-defined character classes now use the delimiters [_ and _] rather than [. and .]
so as to avoid conflict with the notation used in some regular expression engines
for collating elements.
- A bug was fixed that caused Tcl incorrectly to fail the test for the ?x flag.
7.1
- Errors in init files are now trapped. A stack trace no longer
spews all over the user.
- A bug was fixed that triggered an error when the user right-clicked over the
color selection listbox without having selected an entry.
-
A bug was fixed in which changes in submenu button labels (as when changing locale,
or in cases where the text is toggled) put labels on the wrong buttons
when running under Aqua (as opposed to X11) in Mac OS X.
This was done by adjusting the menu entry numbers used when doing deletions
in LabelMenus depending on whether or not the underlying graphics system
is Aqua. This is necessary because in Aqua there are no tearoffs.
In other systems the tearoff counts as the first menu entry,
so in Aqua we need to lower the numbers by one.
- A bug that initialized the value of the "Emit Only Matching Portion"
checkbox in the Grep control panel to the value of the CaseInsensitive flag
instead of the EmitOnlymatchingPortion flag has been fixed.
- A bug that had the effect that, when the font control panel was popped up,
the size that was actually used when Save was pressed was not the one shown
in the box but the size of the last font on the font list, has been fixed.
- Double logging of execution of the init file has been eliminated..
7.0
-
The initialization system has been completely revamped.
Many more features can now be configured from the initialization file.
The init file is now read by a slave Tcl interpreter. A new Help menu
entry provides a list of the commands available in the init file.
For backward compatibility, old-style init files and color files (which
are subsumed into the init file in the new system) are still supported.
A command-line flag causes the old system to be used.
- The system for font specification has been revamped. It is now possible to
specify different fonts for a variety of different uses. The font control panel
is much nicer.
- A bug was fixed that caused problems when multiple command-line options
were specified.
- The usage message generated by the -h command-line flag
now indicates that the file containing the input data may be specified on the
command line.
- Invocations of a browser by the help system may now work under Mac OS X.
I've made a change that I think may fix this, but I haven't had a chance to
test it yet.
- Cosmetic improvements were made to the main window title.
6.14
- Redet no longer thinks that the underlying graphics system is Aqua
when running under Microsoft Windows.
- If the initial program (the default, specified on the command line or via the init
file) is not available, tcl is now selected. This guarantees that a useful regexp
environment will be available and ensures that various things dependent on there
being a selected program will work properly.
- A help menu entry listing the command line options was added.
6.13
- Under Mac OS X Redet now detects that the window/graphics system is Tk-Aqua
and adapts itself.
- Redet's identification of the operating system has been improved.
6.12
-
A bug was fixed that prevented the Command Descriptions command on the
Help menu as well as some other manual references in help popups from locating the
necessary file.
6.11
- All known bugs involving bash and tcsh have been fixed.
The palettes for these programs are now correct.
6.10
- The character entry code has been replaced with a new, cleaner version that fixes
some minor bugs.
- Tests and palette entries have been added for sed-style \o155 octal character codes
and \d109 decimal character codes.
- Tests and palette entries have been added for literal metacharacter escapes.
- Tests and palette entries have been added for quantifiers with various backslash
requirements and existing tests have been improved.
- The selfish quantifier tests are now skipped for mawk as well as emacs since it too
hangs on them.
- Both match and substitution back references are now tested to see whether
the indices may not exceed 9. If there is such a limit, it is reported in
the help popup for the palette entry.
However, the SubBackRefbsAtLeastTen test hangs Python so it is skipped.
- If the user has chosen to create the history file in the current
directory but that directory is not writable, Redet will now attempt
to write into the user's home directory. If Redet is unable to
open a history file in either location, automatic writing of the
history file will be disabled, but the Save command on the
history menu will still work if the user chooses a writable directory
in which to create the file.
- If the program is agrep, the "This Program" popup now indicates whether
the program is TRE agrep or Wu-Manber agrep.
- The test for groups requiring backslashes on parentheses has been improved.
- The event number is now shown on the result cache popup and
is used as part of the proposed filename when cache entries are saved.
- Instead of just trying to use the default browser, redet now
works through a list of browsers, trying each in turn until
it finds one that is available.
- The feature tests are now rerun automatically on changes in gawk, grep, or sed regexp mode.
- The debug flag can now be set from the Configure menu.
- The missing text of the explanation popup for range quantifiers (e.g. {2,4}) has
been supplied.
- The location of the reference manual on non-MS systems has been changed to /usr/share/Redet.
6.9.1
- Fixed two broken links in reference manual table of contents.
6.9
-
Case-insensitivity is now handled in a much more sophisticated way.
Since the case-insensitive flags have a variety of effects, largely undocumented,
in different languages and programs, Redet now tests for four parameters
on which programs vary and explains the details in the popup associated with the palette entry.
-
The documentation for individual commands has been moved into
the reference manual. The Command Descriptions entry on the
Help menu now invokes the browser on this section of the
reference manual.
-
A new command was added, located on the Tools menu, which writes
to a file the the current regular expression and substitution expression,
the command line that would be executed, and the daughter program
that would be executed. This is useful for debugging
and for users who want to use a language or program directly themselves
and would like to see how Redet does it.
-
It is now possible to abort feature tests.
The Dismiss button on the patience placard is now an abort button.
This is handy if you mistakenly trigger a test that is
going to take a long time or if it hangs.
-
It is now possible to abort a search/substitution. This can be useful
if the daughter hangs or is taking too long or if you have
made a mistake. The abort command is on the Tools menu and is
also bound to F12.
-
The commands Save Regexp as Plain Text and Save Subexp as Plain Text
were added and the existing Save Regular Expression command was
renamed Save Expressions In History Format, which describes it more
accurately. The new commands save in a form more suitable for use outside of
the history system.
-
An option was added for automatically clearing the regular expression and
substitution expressions whenever they are executed.
-
An entry was added to the Help menu. "This Program" pops up information about
the current program that is not directly reflected in the palette,
such as the extent to which it supports Unicode.
-
The File menu has been reorganized. It is now shorter, with an additional
level of hierarchy.
-
The Configure menu has been reorganized. It is now shorter, with an additional
level of hierarchy, and uses checkbuttons for a number of features.
-
The command to clear the regular expression is now bound to Control-F
to make it easier to use.
-
The result cache popup is now updated if it is popped up when
a regular expression is executed.
-
Entries may now be deleted from the result cache.
-
The idiosyncratic Lua quantifiers are now distinguished from their
relatives, with distinct tests, palette entries, and help popups.
-
A test and palette entry were added for multiple ranges within a single character
set ( [a-cx-z]).
-
A test and palette entry were added for in-line unsetting of the case-insensitive flag.
-
Tests and palette entries were added for \` beginning of string and \' end of string.
-
Tests and palette entries for were added \y word boundary with and without quoting backslash.
-
The ability to set program-specific features has been expanded.
The programs now included are:
agrep, egrep, emacs, fgrep, gawk, grep, java, perl, python, sed and tr.
-
A bug was fixed that caused the complement of punctuation class
incorrectly to fail the feature test in Lua.
-
A bug was fixed that caused some programs incorrectly to fail the
Unicode test.
-
A bug was fixed that removed newlines from Python substitution output.
-
A bug was fixed that interfered with Perl's handling of non-ASCII characters in regular
expressions.
-
The order in which features appear in the palette has been rationalized.
6.8
-
Tests and palette entries were added for:
- Complemented POSIX-style named character classes, both "inner" and "outer" styles.
- The Perl substitution expressions for "entire match", "prefix to match",
"suffix to match", and "last captured subgroup".
- TRE agrep inline cost setting
- TRE agrep exact match notation. This is really just a special case of the more
general cost-setting mechanism, but this provides compatibility with Wu-Manber agrep.
- Word boundary and non-word boundary anchors
- The palette now shows the constant and variable portions of the notation in
different colors.
- Right clicking on the gloss of a palette entry now pops up further information about it.
- Double clicking on the notation side of the palette now deletes from the regular
expression or substitution expression window the last entry copied into the window
from the palette. There is no limit on the number of entries that may be deleted in
this way.
-
Mode and layout are now linked by default. Side-by-side layout is
automatically used in substitution mode,
vertical layout in match mode. A toggle on the configuration menu allows the user
change this.
- The internal locale can now be set via a command-line flag.
- The placard that pops up when feature tests are running and informs you of their
progress now reports the estimated total time. The times have been
rearranged, and split times into minutes and seconds.
- The CYGWIN environment variable is now set to the null string
to prevent problems that result when the TTY flag is set.
- The feature test log is now time-stamped.
- The feature test log now gives the regular expression and substitution expression
for each test when a test fails.
- A bug was fixed that caused emacs to hang near the end of the feature tests.
(For some reason emacs goes berserk on the tests for possessive quantifiers.)
- A bug was fixed that under certain circumstances resulted in an
incorrect count of the number of changes produced by substitution.
- A bug was fixed that caused the tests for \s "whitespace" and \S "non-whitespace"
to fail inappropriately.
- A bug was fixed that caused end-of-string tests to fail in Python.
- A bug was fixed in the search routine.
- Udi Manber's name is now spelled correctly.
- A section on built-in character classes was added to the manual.
6.7.1
- A bug in the determination of which version of agrep is in use was fixed.
6.7
-
It is now possible to set the agrep command-line flags that control
approximate matching. Both Wu-Manber and TRE agrep are now supported.
The combination of the addition of support for TRE agrep and the ability
to set the approximate matching flags means that approximate matching
with full regular expressions is now available.
A test and palette entry were added for Wu-Manber exact match notation.
6.6
- The Configure menu has been reorganized.
- The Python programs have been rewritten to reduce memory
usage when processing large amounts of input.
- Detection of GNU diff has been improved.
- A bug in the toggling of the ordering of Unicode ranges in the Unicode
Ranges popup has been fixed.
- A bug in the toggling of Perl Unicode dependence on locale has been fixed.
6.5
- A bug that resulted in errors on locale change was fixed.
- The locale selection popup was improved.
6.4
- Tests and palette entries are now provided for Java-style possessive quantifiers.
- Coordination of scrolling in the two sides of the palette has been improved.
- Guile substitution is now supported.
- Guile regular expression syntax errors are now trapped.
6.3
- The existing character entry widgets were improved.
- Two character entry widgets were added: one for entering
Unicode characters by codepoint, the other for creating custom
character entry widgets by reading definitions from files.
- The existing search widgets were improved.
- Widgets for moving to particular lines and characters were added.
- A UNIX man page was added.
6.2
- Widgets for entering diacritics and accented letters were added.
- The consonant and vowel entry widgets have been improved with the
addition of a number of alternative characters, better balloon help,
and the addition of deletion buttons.
- A distinction between bilateral embedding, left embedding, and right embedding is now
made when program features are tested and reflected in the marking of the program name in the Execute-X menu button.
-
The behaviour of several popup windows was improved. Now, a second invocation does not
create a new copy of the window but just raises it.
- Icon is now correctly flagged as not providing for substitution.
- A bug introduced in version 6.1 has been fixed. In an excess of irony,
it prevented the bug report popup from being displayed.
6.1
- The history list, palette, and user-defined named character class palette now have
scrollbars by default. The presence of the scrollbars is controlled by the same toggle
as the one that controls the scrollbars on the data windows.
- Popups are now provided for searching the test data and results.
- Widgets for entering International Phonetic Alphabet characters were added.
- The last five results are now stored. A popup allows selected results to be saved to
files or compared with each other.
- The color configuration file .redetcolors is now written to the user's home
directory. So that users may create local color configurations if they wish to,
Redet looks for a color file to read first in the current directory, then
in the home directory.
- The journal file .redetlog is now written to the user's home directory.
Each session's entry now specifies the directory from which Redet was started.
- Redet now looks for the history file first in the current directory, then in the
user's home directory. The default is to write history to a file in the
current directory, as before. However, the user may now choose to keep a single
history file in his or her home directory by including the line
%historycentral
in his or her .redetrc file.
- Support was added for two scripting languages built on top of Java.
Regular expression matching and substitution are supported for both Judoscript
and Sleep. Sleep wildcard matching is also supported. (Note that Sleep wildcard matching
does not work exactly as described in the documentation. This is a bug in Sleep, not Redet.)
These are supported for the convenience of people writing in them, but users should
note that they are quite slow in comparison to the other programs supported. Individual
matches are not outrageously slow, but it takes several minutes to run the feature
test suite. Since their regular expression facilities are identical to those of Java,
under most circumstances it is advisable simply to use Java.
-
Execution of regular expressions is now disabled during feature testing.
- When saving user-defined named character classes, Redet now checks to see whether
any classes are defined and if not aborts rather than creating an empty file..
- A bug was fixed that caused incorrect labelling of the history list display
toggle on the history menu if the user destroyed the window.
- A bug was fixed that made toggling display of the program name in the
history list effective only if the history list was popped up.
- A bug was fixed that caused Euphoria to be erroneously treated as capable of
substitutions.
6.0
-
Support for substitution has been added for those programs that support
substitution.
-
A variety of feature tests and palette entries have been added, including
those for substitution backreferences, reluctant quantifiers and the
unusual agrep metacharacters.
-
A number of options have been added for window arrangements.
First, the data windows may be arranged one above the other, as before,
or side-by-side. Second, the regular expression window and the substitution
expression window may also be arranged one above the other or side-by-side.
Third, the data windows may be provided with scrollbars or not. They
are not necessary if only small amounts of data are in use or if the user
has a wheel mouse, in which case removing them reduces clutter.
Controls for these have been added to the Configure menu.
-
Although it does not, strictly speaking, use regular expressions, due to user request
the tr program is now supported.
-
Support for user-defined named character classes was added for programs
requiring additional escaping of the pipe symbol or parentheses (such as emacs).
-
It is now possible to select the program by means of a command-line option.
-
It is now possible to enter literal tabs into the regular expression and
substitution expression windows. (Previously this was impossible because
the windowing system sets things up so that tabs move the input focus
to the next window in a sequence.)
-
For windows that have scrollbars, the color of the scrollbar is now set to the
background color of the window both by default and when the window's colors are
changed.
-
It is now possible to browse the reference manual using browsers
that require a URL as command line argument and do not accept a plain filename.
The default browser remains dillo, but you may specify another browser
in your .redetrc file by including a line of the form:
%browser mozilla
-
The reference manual has been broken up so that each section is in a separate file.
This eliminates the need to load all of the images at once.
-
The palette widget has been replaced with a new design. Among its virtues is that
changes in font do not destroy the alignment.
-
The well-formedness of input lines is now checked when
color specifications are read from a file.
-
Color configuration now works properly for the history list.
-
The color of the title area of the patience placard is now configurable.
-
If a program provides both character sets and alternation, we now use
character sets to implement user-defined named character sets since
they are usually more efficient.
-
Help balloons are now positioned more intelligently when the window with which
they are associated gets close to the edges of the monitor.
-
A command for toggling display of the comparison data window was added to the
File menu.
-
The Help menu now includes a Programs entry, which provides information about
the supported programs.
-
Bugs that in some cases led to incorrect relabelling of menu buttons
have been fixed.
-
A bug was fixed whereby a literal tab in a regular expression or
substitution expression triggered an incorrect parse of history list
entries when read back into Redet. A value guaranteed not to be a valid
Unicode codepoint is now used as the field separator. This allows all
valid Unicode characters to be used in regular expressions and
substitution expressions without interference with the history system.
-
A bug that allowed the user's .redetcolor file to be corrupted
if the user cancelled a color change incorrectly has been fixed.
-
The code for reading the initialization file and such on startup has been
cleaned up.
5.3.1
A bug in which balloon help was sometimes invoked on windows that no longer
exist was fixed.
5.3
-
Actions that are triggered by a right button press on other systems
are triggered by the simultaneous combination of Control and a mouse button press
on the Macintosh.
-
The popup window brought up by the "Key Bindings" command on the Help
menu now lists the key bindings in alphabetical order of the glosses of the commands
rather than in the less useful order of the key bindings.
-
Tests were added for capturing and disjunction groups that need various numbers of
backslashes for quoting.
-
A warning is now issued whenever the program enters a state in which
the user has defined named character classes but the currently selected
program does not support them.
-
If the user gives the command line option that reads named character class definitions
from a file, the name of the file is recorded but the definitions are not actually
read until near the end of the initialization process, after the program has been
selected and its features are known.
-
If no color file is found in the current directory, Redet now attempts to
read it from the user's home directory. This is now done immediately after
reading the init file, a bit earlier in the startup process, so that
the user will see his or her chosen colors right away.
5.2.3
- Makes the names of the various initialization and log files appropriate for
Microsoft Windows if running under MS Windows.
5.2.2
- A bug that prevented the "Save Regexp to File" command from working was fixed.
5.2.1
- Bugs that prevented saving of output were fixed.
5.2
-
Intersections of user-defined named character classes are now supported.
-
Instantiation of user-defined named character classes can now be enabled
or disabled from the Class menu.
-
When colors are changed, the new color configuration is written
to the file ".redetcolors". This file is now read on startup,
preserving the user's color choices.
-
Child browsers are now killed when Redet exits. (This may not work
under Microsoft Windows.)
-
Redet now behaves more gracefully if it is unable to read
the file whose name is specified as the argument to the -c
command line option.
-
The command ToggleUserPalette, previously accessible only via a keyboard shortcut,
was added to the Class menu.
-
A more efficient Pike program is now used. It is almost 3 times faster
than the earlier program. However, the time taken to execute the test
suite is unchanged. It is evidently dominated by compilation time.
-
A bug in the saving of user-defined character classes to a file was fixed.
-
A bug that caused problems with relabelling of menus after locale
changes has been fixed. (This bug was introduced by the creation of the command description
component of the help sytsem and so has not existed very long.)
-
Regular expressions are now written to the journal file.
-
The color setting code has been cleaned up.
5.1.1
A bug that resulted in failure to locate the reference manual
when a browser is invoked from the Help menu has been fixed.
5.1
The notation used for user-defined named character classes has been changed
from [:name:] to [.name.] so as to avoid conflict with the built-in character
classes used by some programs.
5.0
- It is now possible for users to define their own named character classes.
- All messages are now copied to a journal file called ".redetlog" in the
current working directory.
- Descriptions of all available commands are now available via the Help menu.
- A command was added to the Help menu that brings up the reference manual
in a browser. (Thanks to Jan Wells for this suggestion.) Dillo
was chosen as the browser because it is very lightweight, starts
quickly, is free (in both senses), and runs on all major platforms.
- The Save Results command was moved from the menubar to the File
menu since it isn't used constantly and the menubar was getting crowded.
- The commands on the History menu were reordered so that one is not likely
to inadvertently clear the history list when attempting to pop it up.
- A test and palette entry were added for the conditional match construction.
- Emacs regular expression matching is now case-sensitive.
- The placard popped up when running feature tests has been placed under
window manager control so that the user can get it out of the way
during long tests.
- The directory used for temporary files is now chosen according to the
settings of the environment variables TMP and TEMP.
- Redet now exits with appropriate exit statuses.
- Eliminated COMSPEC bit from tk_exec. This causes problems on the more
recent versions of MS Windows - it is only needed on versions prior to
MS Windows 2000, which there is little point in trying to support.
- The locale selection code was cleaned up a bit.
- TclGlob is now run entirely internally. This eliminates the need to restrict
the number of test input lines and speeds up execution considerably.
- A bug that prevented Tcl and TclGlob from working properly was fixed..
- The remaining portion of the bug in which clicking on some history
list entries triggered an error has been fixed.
4.18.2
-
The various windows now export selections, allowing the selection to be
copied from them.
- Fixed a bug in which errors arose when certain history entries were clicked on.
- Fixed a bug in which an error message arose on palette construction if the
test ncgroupdb had been passed.
- Fixed a bug in which ConstructPalette produced an error when feature-checking
was disabled.
- Fixed a bug in which SelectProgram produced an error when feature-checking
was disabled.
-
Programs that consider any line containing a match to match are marked as
before by surrounding the name with stars in the label of the Execute button,
e.g. Execute-*grep*.
Programs that require an exact match are now marked as well, with a preceding
circumflex and following dollar sign, e.g. Execute-^Java$.
4.18.1
Never mind.
4.18
-
A number of commands previously accessible only via menus can
now be executed from the keyboard. For a list, select
Key Bindings on the Help menu or type Ctrl-k.
-
Execution of a regular expression is now triggered either by a menu button
as before, by a carriage return in the regular expression window, or by
Ctrl-e. This avoids the need to pick up the mouse if the user is typing
in the regular expression window.
-
The commands Load Comparison Data from Clipboard and
Load Test Data from Clipboard have been added to the File menu.
-
The commands that load data into the test input and comparison windows
now insert the new material at the insertion point; they no longer overwrite
the previous contents of the window.
This makes their behaviour consistent with the commands that insert material
into the regular expression window, facilitates inserting
test material from multiple sources, and reduces the
risk of inadvertently overwriting test material that
the user has edited or created manually. If the user does wish to
replace the current contents of the test or comparison windows,
he or she can just clear it before inserting new material.
-
A number of help items have been added:
- a list of keybindings;
- information about submitting bug reports;
- a list of Unicode ranges;
- a list of Unicode general character properties;
-
Feature tests were added for assertions, forward and backward, positive and negative.
-
The execution of Java is now significantly (approximately 6 times) faster, due mostly
to a reduction in compilation overhead. This reduces the time for execution of the
feature test suite to a tolerable point.
-
The results of feature tests are now stored, so that once the features of
a particular combination of program and locale have been obtained,
they are not tested again within the same session. This makes switching back
and forth between different programs and/or different locales virtually
instantaneous once each combination has been used.
-
A new command on the Configure menu, Test Features, allows the
user to force a feature test. This may be necessary if, for example,
a program has changed during the course of the session, or if the user
wishes to see feature debugging output.
-
Another new command on the Configure menu, Write Features to File,
writes the results of feature testing for the current program and locale
to a file.
-
Gawk is now run with the --re-interval flag in order to enable
expressions of the type {m,n}.
-
There is an additional command line flag, -n, which disables feature testing.
This is useful primarily for debugging, but may also be useful to users
who do not need a palette and want to start up quickly.
-
The focus is now initially set to the regular expression window.
-
When windows that start off locked (input, result, comparison) are made editable,
the focus is now moved to that window in the expectation that the user
intends to edit it.
-
A bug that prevented SaveRegexp from working has been fixed.
-
A bug that caused the items in the Program menu to be mislabled after
a change in locale has been fixed.
-
A bug that caused the program name to appear farther to the right
in history entries read from a file than in history entries made
in the current session has been fixed.
4.17.1
A bug was fixed in which, if the user dismissed the patience placard, the
attempt to update the progress info of the now non-existant placard
caused an error and terminated the feature testing run. Redet
now checks whether the placard window exists before attempting to update it.
4.17
- Java is now supported. Do not be discouraged by the slowness of feature
testing when Java is selected. Feature testing takes a long time because of
the relatively large overhead of each regular expression execution
and the large number of tests (currently over 140), but individual searches
are fast enough as not to be burdensome.
- Redet now runs properly under SunOs.
Redet now checks whether GNU diff is available and adjusts
the options with which it calls diff accordingly. This eliminates
a problem that arose under SunOs where all calls to diff failed
because the Sun version does not accept some GNU options.
- Palette feature testing now compares the results and intended outcome
internally rather than running diff. This speeds up feature testing
considerably and prevents variation among platforms in the availability
and options for diff from having any impact on feature testing.
- Child programs are now run in a way that allows updates of
the display while they are running.
-
The notice that requests patience when feature tests are being run
is positioned less centrally and can now be dismissed.
It now contains a progress bar showing the percentage of feature
tests executed thus far, the time elapsed, and the estimated time
remaining.
-
The command Load Test Data from Clipboard has been added to the File menu.
The situation in which the clipboard is empty when we attempt to read from
it is now handled.
- The commands EditOutput and LockOutput were added to the File menu.
EditOutput unlocks the output window, allowing the user to edit it.
This is useful when the user wishes to save the results of a search
but wants to remove some parts or annotate them before saving.
LockOutput relocks the output window, preventing inadvertent modifications.
-
Whether or not redet was successful in opening the temporary
files used for executing many of the programs is now checked
and an error message printed in case of failure.
-
The formatting and informativeness of feature test debugging output
have been improved.
-
Feature debugging output now goes to a file "RedetFeatureTest.log" rather
than to stdout.
4.16.1
This version fixes a bug that generated a superfluous
hyphen at the beginning of saved history entries and
entries in .redethist.
4.16
-
A number of improvements have been made to the history system.
The name of the program in use when a regular expression was executed
is now recorded along with the regular expression. The program is
lgcoptionally displayed in the history list. By default it is not displayed.
The program is now written out along with the regular expression when the
history list is saved to a file or when the current regular expression
is saved to a file. Two other commands have been added. Save History List writes the
history list out to a file. Prune History List clears the history list of all entries
other than those that the user has marked.
The history menu button now brings up a submenu containing all five commands
related to the history system.
- The procedure for counting matches has been made much faster, eliminating
most of the time spent when the regular expression matched many (thousands of) input items.
- The excessive length of the Program menu has been reduced by making it
two columns.
- The regular expression region is now scrollable, making it possible to enter and view
very long regular expressions.
- Previously, if the history list was cleared while displayed, the display was left up.
It is now taken down.
- The message popped up when running feature tests has been changed to name the
program being tested and the locale.
4.15
- Added the ability to mark selected entries in the history list
so that, for example, a successful regular expression
can be distinguished from its neighbors and recalled later.
Left-clicking on a history list entry toggles the mark.
- A command "Clear History" was added to the Configure menu.
- Added commands "Save Test Data To File" and "Save Comparison
Data to File" to File menu. These are useful when one
or the other has been created or modified by the user
in the course of the session.
- Added a toggle on the Configure menu allowing Python users
to treat the regexp as either a raw or cooked string.
- Python now uses raw strings for regular expressions by
default.
- Added a toggle on the Configure menu allowing Perl users
to choose whether Unicode should be locale-dependent.
The default is that all Perl i/o is expected to be UTF-8.
- Added a toggle on the Configure menu allowing the user to enable
and disable feature test debugging.
- Added a toggle on the Configure menu allowing the user to make
focus follow the mouse. (For the time being this cannot be undone.)
- The palette window now has a maximum size. If the number of entries is greater,
it becomes scrollable.
- On the command line, the various options may now be optionally followed by a filename.
If present, the contents of this file will be loaded as test data.
- A bug was fixed in which, when the palette was popped up and the user
switched to a program that has no palette features at all (e.g. fgrep),
the palette was emptied but remained popped up. In this case,
the palette is now taken down.
- A bug was fixed that caused a subset of multiple command line options to be ignored.
- Added separators to File menu so as to group commands nicely.
- Added test for back reference with double backslash.
- Added test for (?# ...) comment construction.
- Added test for (?i) case insensitive flag.
- Added test for (?x) verbose flag.
- Added test for tagged groups.
- Added test for named Unicode characters, e.g. \N{HEBREW LETTER LAMED}.
4.14.1
Fixed bug that produced a non-fatal error when generating the message
confirming the saving of a regexp to a file.
4.14
- Added support for Javascript.
- Added (partial) support for Rebol.
- A test for the \cX notation for control characters was added.
- Code was added to detect that Redet is running under Microsoft Windows
and to set up its temp directory appropriately. This code is untested since I do not
use Microsoft Windows.
4.13
- It is now possible to change the locale via a command in the configuration menu.
- The locale is now shown in the title bar.
- When a program is selected, redet now reports whether it suppports Unicode.
- Tests for group and no-capture-group, octal and hexadecimal character codes,
and tab, bell, escape, and carriage return escapes have been added.
- The history window is now of fixed size but scrollable.
- When a new program is selected, a notice is now popped up explaining
that the palette is being constructed and requesting patience.
- The discussion of Unicode capability in the manual has been improved.
- Changing colors in the history list now works properly whether or not it is visible.
- Redet now detects null regular expressions and refuses to execute them.
4.12
Version 4.12 fixes a bug that causes an error if reading of the
init file .redetrc is enabled (the default) but no init file is found.
4.11
- Added support for Icon.
- Added the command line flags -d,-H,-h,-i,-t,-v and usage information
on unrecognized option. These provide information, control over the reading of files on
startup, and control over debugging information.
- The comments at the beginning of the file have been modified so that on Unix
systems command line arguments will work properly when the program is executed directly,
as a script.
- The regular expression history is now appended to a file called .redethist.
If this file exists, it is now read by default on startup and its contents
placed in the history list. Reading of this file may be prevented via the
command line option -H. The entries read from this file are given non-positive
numbers to distinguish them from entries made in the current session.
The history file is read prior to the Regexp file. If entries are read from both,
the contents of the Regexp file will be numbered 0 and the entries from the
history file will be given negative numbers.
- Fixed bug in which pressing the History button when the history list was empty
triggered an error.
- Fixed bug in reading of palette entries from init file.
4.10
- Added support for guile.
- Fixed a bug that kept the palette from being generated when the program
was redundantly specified in the init file as the same as the default.
- Most of the relevant programs match any line that contains a match to the regular
expression. This is a source of confusion to novices, so if the selected
program is of this type the name of the program in the Execute-X button
is now shown surrounded by asterisks, e.g. Execute-*Egrep*.
4.9
- Added support for Pike.
- Added support for Euphoria.
- The history menu button is now a toggle. This is more convenient and makes its behavior
consistent with that of the palette button.
- If a new program is selected while the palette is displayed, the old palette is taken
down and the new one automatically put up. Previously, the old palette was taken
down but the user had to click the palette button to get the new palette up.
- The number of matches is now reported in the message region.
- Added tests for some Perl character set notation that had been left out.
- Added ability to suppress balloon help from init file.
- Improved efficiency of feature tests, especially on start-up.