]> git.saurik.com Git - wxWidgets.git/blobdiff - src/regex/README
Merge in from trunk r67662 to r64801
[wxWidgets.git] / src / regex / README
index e6ce373444765ab642bd1c764a1781b31921f8e8..6c763a5556825b3d2a49e2f58e537bf2deb56464 100644 (file)
@@ -1,32 +1,41 @@
-alpha3.8 release.
-Tue Aug 10 15:51:48 EDT 1999
-henry@spsystems.net  (formerly henry@zoo.toronto.edu)
+wxWindows regex
+---------------
+This is a version of Henry Spencer's regex, which was taken from the
+source of TCL (Toolkit Command Language).  It implements POSIX regular
+expressions and also supports Unicode and some Perl5 extensions.
+
+The modifications made by the wxWindows team are as follows:
+
+regcustom.h
+-----------
+Types and constants appropriate for our use of the library are defined
+here.
+
+regex.h
+-------
+This is unmodified. Note though, that a portion of it (clearly marked)
+is copied from regcustom.h as part of the build process.
+
+regc_locale.c
+-------------
+This module provides character classifications.
+
+The current version from Tcl supports only a Unicode build. The
+original code from Henry Spencer, on the other hand, was ASCII only.
+Therefore, in order to support both, code from the ASCII version has been
+incorporated into the Unicode version, conditionally compiled depending
+on wxUSE_UNICODE.
+
+The only non-trivial dependencies were: Tcl_UniCharToUpper,
+Tcl_UniCharToLower and Tcl_UniCharToTitle. The implementations of these
+have also been incorporated (from Tcl). These in turn depend only the data
+tables in tclUniData.c (which is unmodified). At some point wxWindows
+may have it's own Unicode character classification code, at which point
+these should be used instead.
+
+Other dependencies (on Tcl_DString) have been eliminated using wxWindows
+wxChar functions.
+
+The ASCII version has also been extended to support character
+classifications based on the current locale rather than ASCII only.
 
-See WHATSNEW for change listing.
-
-installation notes:
---------
-Read the comments at the beginning of Makefile before running.
-
-Utils.h contains some things that just might have to be modified on
-some systems, as well as a nested include (ugh) of <assert.h>.
-
-The "fake" directory contains quick-and-dirty fakes for some header
-files and routines that old systems may not have.  Note also that
--DUSEBCOPY will make utils.h substitute bcopy() for memmove().
-
-After that, "make r" will build regcomp.o, regexec.o, regfree.o,
-and regerror.o (the actual routines), bundle them together into a test
-program, and run regression tests on them.  No output is good output.
-
-"make lib" builds just the .o files for the actual routines (when
-you're happy with testing and have adjusted CFLAGS for production),
-and puts them together into libregex.a.  You can pick up either the
-library or *.o ("make lib" makes sure there are no other .o files left
-around to confuse things).
-
-Main.c, debug.c, split.c are used for regression testing but are not part
-of the RE routines themselves.
-
-Regex.h goes in /usr/include.  All other .h files are internal only.
---------