From b2cf617cb8160a92696f1421675963aa00cb0c2b Mon Sep 17 00:00:00 2001
From: Julian Smart <julian@anthemion.co.uk>
Date: Fri, 17 Mar 2000 17:59:56 +0000
Subject: [PATCH] Some doc fixes; BC++, Watcom C++, Mingw32 fixes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6803 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 contrib/samples/ogl/studio/studio.cpp | 10 ++++++++--
 distrib/msw/makefile.rsp              |  2 ++
 distrib/msw/tmake/b32.t               | 14 ++++++--------
 distrib/msw/tmake/bcc.t               | 18 +++++++-----------
 docs/latex/wx/dropsrc.tex             |  2 +-
 docs/latex/wx/function.tex            |  4 ++--
 docs/latex/wx/tcpconn.tex             |  2 +-
 docs/latex/wx/tempfile.tex            | 10 +++++++++-
 docs/latex/wx/text.tex                | 11 +++++------
 docs/latex/wx/textfile.tex            |  1 +
 docs/latex/wx/thread.tex              |  2 +-
 docs/latex/wx/time.tex                |  3 +--
 docs/latex/wx/treectrl.tex            | 16 ++++++++--------
 docs/latex/wx/txtdatob.tex            | 18 +++++++++---------
 docs/latex/wx/txtstrm.tex             | 14 ++++++++------
 docs/latex/wx/url.tex                 |  3 +--
 docs/latex/wx/validatr.tex            |  6 ++----
 docs/latex/wx/wave.tex                |  4 ++--
 docs/latex/wx/window.tex              | 25 +++++++++++++------------
 docs/msw/install.txt                  | 17 +++++++++++------
 include/wx/msw/setup0.h               | 15 +++++++++++++++
 src/makeb32.env                       |  4 +++-
 src/makeg95.env                       |  2 +-
 src/makeprog.b32                      |  9 +++++++--
 src/msw/makefile.b32                  | 13 +++++--------
 src/msw/makefile.bcc                  |  5 +++++
 26 files changed, 134 insertions(+), 96 deletions(-)

diff --git a/contrib/samples/ogl/studio/studio.cpp b/contrib/samples/ogl/studio/studio.cpp
index 3a08a9be01..ef4ab490c3 100644
--- a/contrib/samples/ogl/studio/studio.cpp
+++ b/contrib/samples/ogl/studio/studio.cpp
@@ -112,10 +112,16 @@ bool csApp::OnInit(void)
   (void) new wxDocTemplate(m_docManager, "Diagram", "*.dia", "", "dia", "Diagram Doc", "Diagram View",
           CLASSINFO(csDiagramDocument), CLASSINFO(csDiagramView));
 
-  // Create the main frame window
+  // Create the main frame window.
+  // Note that we use a frame style that doesn't have wxCLIP_CHILDREN in it
+  // (the default frame style contains wxCLIP_CHILDREN), otherwise the client
+  // area doesn't refresh properly when we change its position, under Windows.
+
+#define wxDEFAULT_FRAME_STYLE_NO_CLIP \
+  (wxSYSTEM_MENU | wxRESIZE_BORDER | wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxTHICK_FRAME | wxSYSTEM_MENU | wxCAPTION)
 
   csFrame* frame = new csFrame(m_docManager, NULL, -1, "OGL Studio", m_mainFramePos, m_mainFrameSize,
-   wxDEFAULT_FRAME_STYLE | wxHSCROLL | wxVSCROLL);
+   wxDEFAULT_FRAME_STYLE_NO_CLIP | wxHSCROLL | wxVSCROLL);
 
   // Give it an icon
   frame->SetIcon(wxICON(studio));
diff --git a/distrib/msw/makefile.rsp b/distrib/msw/makefile.rsp
index b804d7ea7e..efb6f57ebe 100644
--- a/distrib/msw/makefile.rsp
+++ b/distrib/msw/makefile.rsp
@@ -80,6 +80,8 @@ contrib/samples/mmedia/Makefile.in
 contrib/samples/stc/Makefile.in
 
 descrip.mms
+lib\vms.opt
+lib\vms_gtk.opt
 contrib\samples\mmedia\descrip.mms
 deliver\wx\src\common\descrip.mms
 deliver\wx\src\png\scripts\descrip.mms
diff --git a/distrib/msw/tmake/b32.t b/distrib/msw/tmake/b32.t
index 86aa07b341..a7317f0c7c 100644
--- a/distrib/msw/tmake/b32.t
+++ b/distrib/msw/tmake/b32.t
@@ -163,7 +163,8 @@ OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(HTMLOBJS)
 
 default:	wx
 
-wx:    $(CFG) $(LNKCFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
+#wx:    $(CFG) $(LNKCFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
+wx:    $(CFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
 
 all:	all_libs all_execs
 
@@ -367,13 +368,10 @@ $(DEBUG_FLAGS)
 $(WIN95FLAG)
 ! $(CFG)
 
-$(LNKCFG): makefile.b32
-	copy &&!
--L$(WXLIBDIR);$(WXLIBDIR2);$(BCCDIR)\lib;$(BCCDIR)\lib\psdk
-! $(LNKCFG)
-
-#-I$(WXDIR)\src\common\wxxpm\libxpm.34b\lib
-# -Oxt
+#$(LNKCFG): makefile.b32
+#	copy &&!
+#-L$(WXLIBDIR);$(WXLIBDIR2);$(BCCDIR)\lib;$(BCCDIR)\lib\psdk
+#! $(LNKCFG)
 
 clean: $(PERIPH_CLEAN_TARGET)
     -erase $(LIBTARGET)
diff --git a/distrib/msw/tmake/bcc.t b/distrib/msw/tmake/bcc.t
index f72497fc81..9c03f1ea98 100644
--- a/distrib/msw/tmake/bcc.t
+++ b/distrib/msw/tmake/bcc.t
@@ -95,7 +95,7 @@ THISDIR = $(WXDIR)\src\msw
 # Please set these according to the settings in wx_setup.h, so we can include
 # the appropriate libraries in wx.lib
 USE_CTL3D=1
-USE_XPM_IN_MSW=0
+USE_XPM_IN_MSW=1
 
 PERIPH_LIBS=
 PERIPH_TARGET=
@@ -224,21 +224,17 @@ all_execs:
     make -f makefile.bcc all_execs
     cd $(WXDIR)\src\msw
 
-all_libs:
-    cd $(WXDIR)\src\msw
-    make -f makefile.bcc dib fafa gauge hytext itsy prologio rcparser wx wxgraph\
-          wxstring wxtree mfutils # wxxpm
-
-all_contribs:
-    cd $(WXDIR)\src\msw
-    make -f makefile.bcc fafa wxstring itsy gauge # wxxpm
-
 # CONTRIB
-wxxpm:	$(CFG)
+xpm:	$(CFG)
 	cd $(WXDIR)\src\xpm
 	make -f makefile.bcc -DCFG=$(CFG) -DFINAL=$(FINAL) -DWXWIN=$(WXDIR) -DDEBUG=$(DEBUG)
 	cd $(WXDIR)\src\msw
 
+clean_xpm:	$(CFG)
+	cd $(WXDIR)\src\xpm
+	make -f makefile.bcc clean
+	cd $(WXDIR)\src\msw
+
 png:    $(CFG)
         cd $(WXDIR)\src\png
         make -f makefile.bcc
diff --git a/docs/latex/wx/dropsrc.tex b/docs/latex/wx/dropsrc.tex
index dd426c53d8..b9ec41ca95 100644
--- a/docs/latex/wx/dropsrc.tex
+++ b/docs/latex/wx/dropsrc.tex
@@ -17,7 +17,7 @@ None
 
 \index{wxDragResult}wxDragResult is defined as follows:
 
-begin{verbatim}
+\begin{verbatim}
 enum wxDragResult
 {
     wxDragError,    // error prevented the d&d operation from completing
diff --git a/docs/latex/wx/function.tex b/docs/latex/wx/function.tex
index 587d32e6e6..ddfd220486 100644
--- a/docs/latex/wx/function.tex
+++ b/docs/latex/wx/function.tex
@@ -456,7 +456,7 @@ case-sensitive comparison.
 \func{size\_t}{Strlen}{\param{const char *}{ p}}
 
 This is a safe version of standard function {\it strlen()}: it does exactly the
-same thing (i.e. returns the length of the string) except that it returns 0 if
+same thing (i.e. returns the length of the string) except that it returns 0 if 
 {\it p} is the NULL pointer.
 
 \membersection{::wxGetTranslation}\label{wxgettranslation}
@@ -465,7 +465,7 @@ same thing (i.e. returns the length of the string) except that it returns 0 if
 
 This function returns the translation of string {\it str} in the current 
 \helpref{locale}{wxlocale}. If the string is not found in any of the loaded
-message catalogs (see \helpref{i18n overview}{internationalization}), the
+message catalogs (see \helpref{internationalization overview}{internationalization}), the
 original string is returned. In debug build, an error message is logged - this
 should help to find the strings which were not yet translated. As this function
 is used very often, an alternative syntax is provided: the \_() macro is
diff --git a/docs/latex/wx/tcpconn.tex b/docs/latex/wx/tcpconn.tex
index a0aff6b751..bf4dcf59cf 100644
--- a/docs/latex/wx/tcpconn.tex
+++ b/docs/latex/wx/tcpconn.tex
@@ -82,7 +82,7 @@ transactions.
 
 Called by the server application to advise the client of a change in
 the data associated with the given item. Causes the client
-connection's \helpref{wxTCPConnection::OnAdvise}{wxtcpconnectiononadvise}
+connection's \helpref{wxTCPConnection::OnAdvise}{wxtcpconnectiononadvise} 
 member to be called. Returns TRUE if successful.
 
 \membersection{wxTCPConnection::Execute}
diff --git a/docs/latex/wx/tempfile.tex b/docs/latex/wx/tempfile.tex
index 8a0fe8089b..bc21de6fcd 100644
--- a/docs/latex/wx/tempfile.tex
+++ b/docs/latex/wx/tempfile.tex
@@ -48,18 +48,21 @@ No base class
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 \membersection{wxTempFile::wxTempFile}\label{wxtempfilewxtempfilector}
+
 \func{}{wxTempFile}{\void}
 
 Default constructor - \helpref{Open}{wxtempfileopen} must be used to open the
 file.
 
 \membersection{wxTempFile::wxTempFile}\label{wxtempfilewxtempfile}
+
 \func{}{wxTempFile}{\param{const wxString\& }{strName}}
 
-Associates wxTempFile with the file to be replaced and opens it. You should use
+Associates wxTempFile with the file to be replaced and opens it. You should use 
 \helpref{IsOpened}{wxtempfileisopened} to verify if the constructor succeeded.
 
 \membersection{wxTempFile::Open}\label{wxtempfileopen}
+
 \func{bool}{Open}{\param{const wxString\& }{strName}}
 
 Open the temporary file (strName is the name of file to be replaced), returns
@@ -71,16 +74,19 @@ TRUE on success, FALSE if an error occured.
 Returns TRUE if the file was successfully opened.
 
 \membersection{wxTempFile::Write}\label{wxtempfilewrite}
+
 \func{bool}{Write}{\param{const void }{*p}, \param{size\_t }{n}}
 
 Write to the file, return TRUE on success, FALSE on failure.
 
 \membersection{wxTempFile::Write}\label{wxtempfilewrites}
+
 \func{bool}{Write}{\param{const wxString\& }{str}}
 
 Write to the file, return TRUE on success, FALSE on failure.
 
 \membersection{wxTempFile::Commit}\label{wxtempfilecommit}
+
 \func{bool}{Commit}{\void}
 
 Validate changes: deletes the old file of name m\_strName and renames the new
@@ -90,12 +96,14 @@ either the old file couldn't be deleted or that the new file couldn't be renamed
 to the old name.
 
 \membersection{wxTempFile::Discard}\label{wxtempfilediscard}
+
 \func{void}{Discard}{\void}
 
 Discard changes: the old file contents is not changed, temporary file is
 deleted.
 
 \membersection{wxTempFile::\destruct{wxTempFile}}\label{wxtempfiledtor}
+
 \func{}{\destruct{wxTempFile}}{\void}
 
 Destructor calls \helpref{Discard()}{wxtempfilediscard} if temporary file
diff --git a/docs/latex/wx/text.tex b/docs/latex/wx/text.tex
index 8d12aa2afa..ce3b6c77db 100644
--- a/docs/latex/wx/text.tex
+++ b/docs/latex/wx/text.tex
@@ -33,7 +33,7 @@ you can still use Ctrl-Enter to pass to the next control from the keyboard.}
 \twocolitem{\windowstyle{wxHSCROLL}}{A horizontal scrollbar will be created. No effect under GTK+.}
 \end{twocollist}
 
-See also \helpref{window styles overview}{windowstyles} and
+See also \helpref{window styles overview}{windowstyles} and 
 \helpref{wxTextCtrl::wxTextCtrl}{wxtextctrlconstr}.
 
 \wxheading{Remarks}
@@ -320,8 +320,8 @@ consisting of the from and to values.}
 \constfunc{wxString}{GetValue}{\void}
 
 Gets the contents of the control. Notice that for a multiline text control,
-the lines will be separated by (Unix-style) '\\n' characters, even under
-Windows where they are separated by "\\r\\n" sequence in the native control.
+the lines will be separated by (Unix-style) $\backslash$n characters, even under
+Windows where they are separated by a $\backslash$r$\backslash$n sequence in the native control.
 
 \membersection{wxTextCtrl::IsModified}\label{wxtextctrlismodified}
 
@@ -384,7 +384,7 @@ is to load the first dropped file into the control.
 
 \wxheading{Remarks}
 
-This is not yet implemented for the GTK.
+This is not implemented on non-Windows platforms.
 
 \wxheading{See also}
 
@@ -476,8 +476,7 @@ TRUE if the operation was successful, FALSE otherwise.
 
 \func{virtual void}{SetEditable}{\param{const bool}{ editable}}
 
-Makes the text item editable or read-only, overriding the {\bf wxTE\_READONLY}
-flag.
+Makes the text item editable or read-only, overriding the {\bf wxTE\_READONLY} flag.
 
 \wxheading{Parameters}
 
diff --git a/docs/latex/wx/textfile.tex b/docs/latex/wx/textfile.tex
index 275479dab3..fb612de7da 100644
--- a/docs/latex/wx/textfile.tex
+++ b/docs/latex/wx/textfile.tex
@@ -52,6 +52,7 @@ No base class
 \wxheading{Data structures}
 
 The following constants identify the line termination type:
+
 \begin{verbatim}
 enum wxTextFileType
 {
diff --git a/docs/latex/wx/thread.tex b/docs/latex/wx/thread.tex
index 001281e5fd..ad520dc2c5 100644
--- a/docs/latex/wx/thread.tex
+++ b/docs/latex/wx/thread.tex
@@ -98,7 +98,7 @@ is not stopped during this function execution, so the message handlers may be
 called from inside it!
 
 Delete() may be called for thread in any state: running, paused or even not yet
-created. Moreover, it must be called if \helpref{Create}{wxthreadcreate} or
+created. Moreover, it must be called if \helpref{Create}{wxthreadcreate} or 
 \helpref{Run}{wxthreadrun} failed for a detached thread to free the memory
 occupied by the thread object (it will be done in the destructor for joinable
 threads).
diff --git a/docs/latex/wx/time.tex b/docs/latex/wx/time.tex
index 59bad13e40..879462222c 100644
--- a/docs/latex/wx/time.tex
+++ b/docs/latex/wx/time.tex
@@ -16,7 +16,7 @@ may be withdrawn in future versions of wxWindows.
 
 \wxheading{Data structures}
 
-{\small \begin{verbatim}
+\begin{verbatim}
 typedef unsigned short hourTy;
 typedef unsigned short minuteTy;
 typedef unsigned short secondTy;
@@ -24,7 +24,6 @@ typedef unsigned long clockTy;
 enum tFormat { wx12h, wx24h };
 enum tPrecision { wxStdMinSec, wxStdMin };
 \end{verbatim}
-}
 
 \wxheading{See also}
 
diff --git a/docs/latex/wx/treectrl.tex b/docs/latex/wx/treectrl.tex
index 4d78485216..a2c0feaf3d 100644
--- a/docs/latex/wx/treectrl.tex
+++ b/docs/latex/wx/treectrl.tex
@@ -398,14 +398,14 @@ Returns the root item for the tree control.
 \constfunc{int}{GetItemSelectedImage}{\param{const wxTreeItemId\& }{item}}
 
 Gets the selected item image (this function is obsolete, use 
-{\tt GetItemImage(item, wxTreeItemIcon\_Selected} instead).
+{\tt GetItemImage(item, wxTreeItemIcon\_Selected}) instead).
 
 \membersection{wxTreeCtrl::GetSelection}\label{wxtreectrlgetselection}
 
 \constfunc{wxTreeItemId}{GetSelection}{\void}
 
 Returns the selection, or an invalid item if there is no selection.
-This function only works with the controls without wxTR\_MULTIPLE style, use
+This function only works with the controls without wxTR\_MULTIPLE style, use 
 \helpref{GetSelections}{wxtreectrlgetselections} for the controls which do have
 this style.
 
@@ -595,14 +595,14 @@ usage and loading time.
 \func{void}{SetItemImage}{\param{const wxTreeItemId\&}{ item},
  \param{int }{image}, \param{wxTreeItemIcon }{which = wxTreeItemIcon\_Normal}}
 
-Sets the specified item image. See \helpref{GetItemImage}{wxtreectrlgetitemimage}
-for the description of {\it which} parameter.
+Sets the specified item image. See \helpref{GetItemImage}{wxtreectrlgetitemimage} 
+for the description of the {\it which} parameter.
 
 \membersection{wxTreeCtrl::SetItemSelectedImage}\label{wxtreectrlsetitemselectedimage}
 
 \func{void}{SetItemSelectedImage}{\param{const wxTreeItemId\&}{ item}, \param{int }{selImage}}
 
-Sets the selected item image (this function is obsolete, use {\tt SetItemImage(item, wxTreeItemIcon\_Selected} instead).
+Sets the selected item image (this function is obsolete, use {\tt SetItemImage(item, wxTreeItemIcon\_Selected}) instead).
 
 \membersection{wxTreeCtrl::SetItemText}\label{wxtreectrlsetitemtext}
 
@@ -626,9 +626,9 @@ Sets the state image list (from which application-defined state images are taken
 
 \func{void}{SortChildren}{\param{const wxTreeItemId\&}{ item}}
 
-Sorts the children of the given item using
+Sorts the children of the given item using 
 \helpref{OnCompareItems}{wxtreectrloncompareitems} method of wxTreeCtrl. You
-should override that method to change the sort order (default is ascending
+should override that method to change the sort order (the default is ascending
 alphabetical order).
 
 \wxheading{See also}
@@ -651,7 +651,7 @@ Removes the selection from the currently selected item (if any).
 
 \func{void}{UnselectAll}{\void}
 
-This function either behaves the same as \helpref{Unselect}{wxtreectrlunselect}
+This function either behaves the same as \helpref{Unselect}{wxtreectrlunselect} 
 if the control doesn't have wxTR\_MULTIPLE style, or removes the selection from
 all items if it does have this style.
 
diff --git a/docs/latex/wx/txtdatob.tex b/docs/latex/wx/txtdatob.tex
index ee654e9156..2e39ee3cbd 100644
--- a/docs/latex/wx/txtdatob.tex
+++ b/docs/latex/wx/txtdatob.tex
@@ -1,13 +1,13 @@
 \section{\class{wxTextDataObject}}\label{wxtextdataobject}
 
 wxTextDataObject is a specialization of wxDataObject for text data. It can be
-used without change to paste data into the \helpref{wxClipboard}{wxclipboard}
+used without change to paste data into the \helpref{wxClipboard}{wxclipboard} 
 or a \helpref{wxDropSource}{wxdropsource}. A user may wish to derive a new
 class from this class for providing text on-demand in order to minimize memory
 consumption when offering data in several formats, such as plain text and RTF
 because by default the text is stored in a string in this class, but it might
-as well be generated when requested. For this,
-\helpref{GetTextLength}{wxtextdataobjectgettextlength} and
+as well be generated when requested. For this, 
+\helpref{GetTextLength}{wxtextdataobjectgettextlength} and 
 \helpref{GetText}{wxtextdataobjectgettext} will have to be overridden.
 
 Note that if you already have the text inside a string, you will not achieve
@@ -22,7 +22,7 @@ methods.}
 
 \wxheading{Virtual functions to override}
 
-This class may be used as is, but all of data transfer functions may be
+This class may be used as is, but all of the data transfer functions may be
 overridden to increase efficiency.
 
 \wxheading{Derived from}
@@ -36,10 +36,10 @@ overridden to increase efficiency.
 
 \wxheading{See also}
 
-\helpref{Clipboard and drag and drop overview}{wxdndoverview},
-\helpref{wxDataObject}{wxdataobject},
-\helpref{wxDataObjectSimple}{wxdataobjectsimple},
-\helpref{wxFileDataObject}{wxfiledataobject},
+\helpref{Clipboard and drag and drop overview}{wxdndoverview}, 
+\helpref{wxDataObject}{wxdataobject}, 
+\helpref{wxDataObjectSimple}{wxdataobjectsimple}, 
+\helpref{wxFileDataObject}{wxfiledataobject}, 
 \helpref{wxBitmapDataObject}{wxbitmapdataobject}
 
 \latexignore{\rtfignore{\wxheading{Members}}}
@@ -48,7 +48,7 @@ overridden to increase efficiency.
 
 \func{}{wxTextDataObject}{\param{const wxString\& }{text = wxEmptyString}}
 
-Constructor, may be used to initialise the text (otherwise
+Constructor, may be used to initialise the text (otherwise 
 \helpref{SetText}{wxtextdataobjectsettext} should be used later).
 
 \membersection{wxTextDataObject::GetTextLength}\label{wxtextdataobjectgettextlength}
diff --git a/docs/latex/wx/txtstrm.tex b/docs/latex/wx/txtstrm.tex
index 06a37e88bc..515ecbaf6e 100644
--- a/docs/latex/wx/txtstrm.tex
+++ b/docs/latex/wx/txtstrm.tex
@@ -13,9 +13,10 @@ Operator >> is overloaded and you can use this class like a standard C++ iostrea
 Note, however, that the arguments are the fixed size types wxUint32, wxInt32 etc
 and on a typical 32-bit computer, none of these match to the "long" type (wxInt32
 is defined as int on 32-bit architectures) so that you cannot use long. To avoid
-problems (here and elsewhere), make use of the wxInt32, wxUint32, etc types.
+problems (here and elsewhere), make use of wxInt32, wxUint32 and similar types.
 
 For example:
+
 \begin{verbatim}
   wxFileInputStream input( "mytext.txt" );
   wxTextInputStream text( input );
@@ -79,7 +80,7 @@ Reads a double (IEEE encoded) from the stream.
 
 \func{wxString}{wxTextInputStream::ReadString}{\void}
 
-Reads a line from the stream. A line is a string which ends with
+Reads a line from the stream. A line is a string which ends with 
 $\backslash$n or $\backslash$r$\backslash$n or $\backslash$r.
 
 % ----------------------------------------------------------------------------
@@ -92,6 +93,7 @@ This class provides functions that write text datas using an output stream.
 So, you can write {\it text} floats, integers.
 
 You can also simulate the C++ cout class:
+
 \begin{verbatim}
   wxFFileOutputStream output( stderr );
   wxTextOutputStream cout( output );
@@ -117,7 +119,7 @@ be available.
 
 \docparam{stream}{The output stream.}
 
-\docparam{mode}{The end-of-line mode. One of {\bf wxEOL\_NATIVE}, {\bf wxEOL\_DOS}, {\bf wxEOL\_MAC} or {\bf wxEOL\_UNIX}.}
+\docparam{mode}{The end-of-line mode. One of {\bf wxEOL\_NATIVE}, {\bf wxEOL\_DOS}, {\bf wxEOL\_MAC} and {\bf wxEOL\_UNIX}.}
 
 \membersection{wxTextOutputStream::\destruct{wxTextOutputStream}}
 
@@ -129,13 +131,13 @@ Destroys the wxTextOutputStream object.
 
 \func{wxEOL}{wxTextOutputStream::GetMode}{\void}
 
-Returns the end-of-line mode. One of {\bf wxEOL\_DOS}, {\bf wxEOL\_MAC} or {\bf wxEOL\_UNIX}.
+Returns the end-of-line mode. One of {\bf wxEOL\_DOS}, {\bf wxEOL\_MAC} and {\bf wxEOL\_UNIX}.
 
 \membersection{wxTextOutputStream::SetMode}
 
 \func{void}{wxTextOutputStream::SetMode}{{\param wxEOL}{ mode = wxEOL\_NATIVE}}
 
-Set the end-of-line mode. One of {\bf wxEOL\_NATIVE}, {\bf wxEOL\_DOS}, {\bf wxEOL\_MAC} or {\bf wxEOL\_UNIX}.
+Set the end-of-line mode. One of {\bf wxEOL\_NATIVE}, {\bf wxEOL\_DOS}, {\bf wxEOL\_MAC} and {\bf wxEOL\_UNIX}.
 
 \membersection{wxTextOutputStream::Write8}
 
@@ -165,6 +167,6 @@ Writes the double {\it f} to the stream using the IEEE format.
 
 \func{virtual void}{wxTextOutputStream::WriteString}{{\param const wxString\& }{string}}
 
-Writes {\it string} as a line. Depending on the end-of-line mode, it adds
+Writes {\it string} as a line. Depending on the end-of-line mode, it adds 
 $\backslash$n, $\backslash$r or $\backslash$r$\backslash$n.
 
diff --git a/docs/latex/wx/url.tex b/docs/latex/wx/url.tex
index 664c004f99..c1515239d9 100644
--- a/docs/latex/wx/url.tex
+++ b/docs/latex/wx/url.tex
@@ -109,8 +109,7 @@ Returns the initialized stream. You will have to delete it yourself.
 
 \wxheading{See also}
 
-%\helpref{wxInputStream}{wxinputstream}
-wxInputStream
+\helpref{wxInputStream}{wxinputstream}
 
 %
 % SetDefaultProxy
diff --git a/docs/latex/wx/validatr.tex b/docs/latex/wx/validatr.tex
index cb23b95288..fceeb76ed3 100644
--- a/docs/latex/wx/validatr.tex
+++ b/docs/latex/wx/validatr.tex
@@ -33,11 +33,10 @@ capabilities for the various virtual methods.}
 
 \wxheading{See also}
 
-\helpref{Validator overview}{validatoroverview},
-\helpref{wxTextValidator}{wxtextvalidator},
+\helpref{Validator overview}{validatoroverview}, 
+\helpref{wxTextValidator}{wxtextvalidator}, 
 \helpref{wxGenericValidator}{wxgenericvalidator},
 
-
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 \membersection{wxValidator::wxValidator}\label{wxvalidatorconstr}
@@ -105,4 +104,3 @@ transferred to the window. Return FALSE if there is a problem.
 This overridable function is called when the value in the associated window must be validated.
 Return FALSE if the value in the window is not valid; you may pop up an error dialog.
 
-
diff --git a/docs/latex/wx/wave.tex b/docs/latex/wx/wave.tex
index fe42ac8cfa..fc8d5fb553 100644
--- a/docs/latex/wx/wave.tex
+++ b/docs/latex/wx/wave.tex
@@ -1,8 +1,8 @@
 \section{\class{wxWave}}\label{wxwave}
 
 This class represents a short wave file, in Windows WAV format, that
-can be stored in memory and played. Currently this class is for Windows
-only.
+can be stored in memory and played. Currently this class is implemented
+on Windows and GTK (Linux) only.
 
 \wxheading{Derived from}
 
diff --git a/docs/latex/wx/window.tex b/docs/latex/wx/window.tex
index 8a062e2dbd..6fe0c93dce 100644
--- a/docs/latex/wx/window.tex
+++ b/docs/latex/wx/window.tex
@@ -190,7 +190,7 @@ or {\tt wxBOTH}.}
 
 This methods provides for a way to center top level windows over their
 parents instead of the entire screen.  If there is no parent or if the
-window is not a top level window, then behaviour is the same as
+window is not a top level window, then behaviour is the same as 
 \helpref{wxWindow::Centre}{wxwindowcentre}.
 
 \wxheading{See also}
@@ -536,7 +536,7 @@ Returns the associated drop target, which may be NULL.
 
 \wxheading{See also}
 
-\helpref{wxWindow::SetDropTarget}{wxwindowsetdroptarget},
+\helpref{wxWindow::SetDropTarget}{wxwindowsetdroptarget}, 
 \helpref{Drag and drop overview}{wxdndoverview}
 
 \membersection{wxWindow::GetEventHandler}\label{wxwindowgeteventhandler}
@@ -616,7 +616,7 @@ Each window has an integer identifier. If the application has not provided one
 
 \wxheading{See also}
 
-\helpref{wxWindow::SetId}{wxwindowsetid}\rtfsp
+\helpref{wxWindow::SetId}{wxwindowsetid},\rtfsp
 \helpref{Window identifiers}{windowids}
 
 \membersection{wxWindow::GetLabel}
@@ -1000,7 +1000,7 @@ Note that the ASCII values do not have explicit key codes: they are passed as AS
 values.
 
 Note that not all keypresses can be intercepted this way. If you wish to intercept modifier
-keypresses, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or
+keypresses, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or 
 \helpref{wxWindow::OnKeyUp}{wxwindowonkeyup}.
 
 Most, but not all, windows allow keypresses to be intercepted.
@@ -1037,7 +1037,7 @@ values.
 
 This function is only relevant to top-level windows (frames and dialogs), and under
 Windows only. Under GTK the normal EVT\_CHAR\_ event has the functionality, i.e.
-you can intercepts it and if you don't call \helpref{wxEvent::Skip}{wxeventskip}
+you can intercepts it and if you don't call \helpref{wxEvent::Skip}{wxeventskip} 
 the window won't get the event.
 
 \wxheading{See also}
@@ -1170,7 +1170,8 @@ Called when the background of the window needs to be erased.
 
 \wxheading{Remarks}
 
-This event is only generated under Windows. It is therefore recommended that
+Under non-Windows platforms, this event is simulated (simply generated just before the
+paint event) and may cause flicker. It is therefore recommended that
 you set the text background colour explicitly in order to prevent flicker.
 The default background colour under GTK is grey.
 
@@ -1199,7 +1200,7 @@ use the EVT\_KEY\_DOWN macro in an event table definition. Your {\bf OnKeyDown}
 default function to achieve default keypress functionality.
 
 Note that not all keypresses can be intercepted this way. If you wish to intercept special
-keys, such as shift, control, and function keys, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or
+keys, such as shift, control, and function keys, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or 
 \helpref{wxWindow::OnKeyUp}{wxwindowonkeyup}.
 
 Most, but not all, windows allow keypresses to be intercepted.
@@ -1228,7 +1229,7 @@ use the EVT\_KEY\_UP macro in an event table definition. Your {\bf OnKeyUp} hand
 default function to achieve default keypress functionality.
 
 Note that not all keypresses can be intercepted this way. If you wish to intercept special
-keys, such as shift, control, and function keys, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or
+keys, such as shift, control, and function keys, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or 
 \helpref{wxWindow::OnKeyUp}{wxwindowonkeyup}.
 
 Most, but not all, windows allow key up events to be intercepted.
@@ -1755,8 +1756,8 @@ Sets the accelerator table for this window. See \helpref{wxAcceleratorTable}{wxa
 \func{void}{SetAutoLayout}{\param{bool}{ autoLayout}}
 
 Determines whether the \helpref{wxWindow::Layout}{wxwindowlayout} function will
-be called automatically when the window is resized. Use in connection with
-\helpref{wxWindow::SetSizer}{wxwindowsetsizer} and
+be called automatically when the window is resized. Use in connection with 
+\helpref{wxWindow::SetSizer}{wxwindowsetsizer} and 
 \helpref{wxWindow::SetConstraints}{wxwindowsetconstraints} for layouting subwindows.
 
 \wxheading{Parameters}
@@ -1909,7 +1910,7 @@ If the window already has a drop target, it is deleted.
 
 \wxheading{See also}
 
-\helpref{wxWindow::GetDropTarget}{wxwindowgetdroptarget},
+\helpref{wxWindow::GetDropTarget}{wxwindowgetdroptarget}, 
 \helpref{Drag and drop overview}{wxdndoverview}
 
 \membersection{wxWindow::SetExtraStyle}\label{wxwindowsetextrastyle}
@@ -2310,7 +2311,7 @@ Sets the style of the window. Please note that some styles cannot be changed
 after the window creation and that \helpref{Refresh()}{wxwindowrefresh} might
 be called after changing the others for the change to take place immediately.
 
-See \helpref{Windowstyles}{windowstyles} for more information about flags.
+See \helpref{Window styles}{windowstyles} for more information about flags.
 
 \wxheading{See also}
 
diff --git a/docs/msw/install.txt b/docs/msw/install.txt
index 608bd1276a..07af70937d 100644
--- a/docs/msw/install.txt
+++ b/docs/msw/install.txt
@@ -242,7 +242,8 @@ recompile wxWindows. The same applies if compiling using the IDE.
 
 Note (5): BC++ 4.5 (not 5.0) trips up over jdmerge.c in the JPEG folder;
 you will therefore need to set wxUSE_LIBJPEG to 0 in setup.h and remove
-the jpeg target from src\msw\makefile.b32.
+the jpeg target from src\msw\makefile.b32, and remove jpeg from
+src\makeprog.b32.
 
 Note (6): If using C++Builder 4 and above (BC++ 5.4 and above), change LINK=tlink32 to
 LINK=ilink32 in src\makeb32.env. You may also need to disable
@@ -372,7 +373,8 @@ improving the compiler.
 Cygwin b19/b20/Mingw32 compilation
 ----------------------------------
 
-wxWindows 2 supports Cygwin (formerly GnuWin32) b19, b20, Mingw32, and Mingw32/EGCS.
+wxWindows 2 supports Cygwin (formerly GnuWin32) b19, b20, Mingw32,
+and Mingw32/EGCS.
 
 Thanks are due to Keith Garry Boyce (garp@opustel.com) and Cygnus for making
 it all possible.
@@ -395,16 +397,19 @@ Here are the steps required:
   If using Mingw32 2.8.1, see also see mingw32.txt in this directory
   (docs/msw) about a fix that has to be applied to a Mingw32 header file.
 
-  If using Mingw32 2.95 with wxWindows 2.1 or above, and wish to use OLE, you
-  should hand-patch in Mingw32-gcc295.patches (located in the top-level of the
-  wxWindows 2 installation).
+  If using Mingw32 2.95 and below with wxWindows 2.1 or above, you
+  must hand-patch in Mingw32-gcc295.patches (located in the top-level of the
+  wxWindows 2 installation). Mingw32 2.95.2 and above contain the
+  fixes already.
 
 - Modify the file wx/src/cygnus.bat (or mingw32.bat or mingegcs.bat)
   to set up appropriate variables, if necessary mounting drives.
   Run it before compiling.
 
 - For Cygwin, make sure there's a \tmp directory on your
-  Windows drive or bison will crash.
+  Windows drive or bison will crash (actually you don't need this
+  for ordinary wxWindows compilation: a pre-generated .c file is
+  supplied).
 
 - Edit wx/src/makeg95.env and set the MINGW32 variable at the top of
   the file to either 1 (you have Mingw32) or 0 (you have Cygwin32).
diff --git a/include/wx/msw/setup0.h b/include/wx/msw/setup0.h
index ddf9fa048c..a0370c5172 100644
--- a/include/wx/msw/setup0.h
+++ b/include/wx/msw/setup0.h
@@ -513,6 +513,9 @@
 
 #undef  wxUSE_DEBUG_NEW_ALWAYS
 #define wxUSE_DEBUG_NEW_ALWAYS          0
+
+#undef  wxUSE_GLCANVAS
+#define wxUSE_GLCANVAS                  0
 #endif
 
 // MFC duplicates these operators
@@ -582,12 +585,21 @@
 #define wxUSE_NEW_GRID            0
 #endif
 
+#if defined(__BORLANDC__) && (__BORLANDC__ < 0x500)
+// BC++ 4.0 can't compile JPEG library
+#undef wxUSE_LIBJPEG
+#define wxUSE_LIBJPEG 0
+#endif
+
 #if defined(__WXMSW__) && defined(__WATCOMC__)
 #undef wxUSE_LIBJPEG
 #define wxUSE_LIBJPEG 0
 
 #undef wxUSE_LIBTIFF
 #define wxUSE_LIBTIFF 0
+
+#undef  wxUSE_GLCANVAS
+#define wxUSE_GLCANVAS 0
 #endif
 
 #if defined(__WXMSW__) && !defined(__WIN32__)
@@ -625,6 +637,9 @@
 #undef wxUSE_PCX
 #define wxUSE_PCX 0
 
+#undef wxUSE_GLCANVAS
+#define wxUSE_GLCANVAS 0
+
 #endif
 
 #endif
diff --git a/src/makeb32.env b/src/makeb32.env
index a612e94d95..b41cd100fa 100644
--- a/src/makeb32.env
+++ b/src/makeb32.env
@@ -2,7 +2,8 @@
 
 WXDIR = $(WXWIN)
 CFG = $(WXDIR)\src\msw\wxwin32.cfg
-LNKCFG=$(WXDIR)\src\msw\bclnk32.cfg
+# Using a config file isn't compatible across all BC++ versions
+# LNKCFG=$(WXDIR)\src\msw\bclnk32.cfg
 WXLIBDIR = $(WXDIR)\lib
 WXLIBDIR2 = $(WXDIR)\contrib\lib
 WXINC = $(WXDIR)\include;$(WXDIR)\contrib\include;$(WXDIR)\src\iodbc
@@ -13,6 +14,7 @@ WIN95FLAG = -D__WIN95__ -D__WINDOWS__
 # versions of C++ Builder.
 !ifndef LINK
 LINK=ilink32
+#LINK=tlink32
 !endif
 
 !ifndef FINAL
diff --git a/src/makeg95.env b/src/makeg95.env
index a87b513ddf..90614fde8c 100644
--- a/src/makeg95.env
+++ b/src/makeg95.env
@@ -12,7 +12,7 @@
 
 # If using Cygwin, set this to 0.
 # If using Mingw32, set this to 1.
-MINGW32=1
+MINGW32=0
 
 # Set to the version you have
 MINGW32VERSION=2.95
diff --git a/src/makeprog.b32 b/src/makeprog.b32
index 5ecd5c0caf..fcf800ede9 100644
--- a/src/makeprog.b32
+++ b/src/makeprog.b32
@@ -15,12 +15,17 @@ WXDIR = $(WXWIN)
 
 LIBS=$(WXLIB) $(EXTRALIBS) cw32mt import32 ole2w32 winpng zlib jpeg xpm tiff odbc32
 
+# Note: you may need to remove some libraries for earlier versions of BC++, as below
+#LIBS=$(WXLIB) $(EXTRALIBS) cw32mt import32 ole2w32 winpng zlib xpm tiff
+
 !if "$(FINAL)" == "0"
-LINKFLAGS=/v /c /Tpe +$(LNKCFG) $(EXTRALINKFLAGS)
+#LINKFLAGS=/v /c /Tpe $(LNKCFG) $(EXTRALINKFLAGS)
+LINKFLAGS=/v /c /Tpe -L$(WXLIBDIR);$(WXLIBDIR2);$(BCCDIR)\lib;$(BCCDIR)\lib\psdk $(EXTRALINKFLAGS)
 OPT = -Od
 DEBUG_FLAGS= -v
 !else
-LINKFLAGS=/Tpe +$(LNKCFG) $(EXTRALINKFLAGS)
+#LINKFLAGS=/Tpe +$(LNKCFG) $(EXTRALINKFLAGS)
+LINKFLAGS=/Tpe -L$(WXLIBDIR);$(WXLIBDIR2);$(BCCDIR)\lib;$(BCCDIR)\lib\psdk $(EXTRALINKFLAGS)
 OPT = -Od
 DEBUG_FLAGS =
 !endif
diff --git a/src/msw/makefile.b32 b/src/msw/makefile.b32
index 09822b15a8..a221c0d91d 100644
--- a/src/msw/makefile.b32
+++ b/src/msw/makefile.b32
@@ -341,7 +341,7 @@ OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(HTMLOBJS)
 
 default:	wx
 
-wx:    $(CFG) $(LNKCFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
+wx:    $(CFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
 
 all:	all_libs all_execs
 
@@ -991,13 +991,10 @@ $(DEBUG_FLAGS)
 $(WIN95FLAG)
 ! $(CFG)
 
-$(LNKCFG): makefile.b32
-	copy &&!
--L$(WXLIBDIR);$(WXLIBDIR2);$(BCCDIR)\lib;$(BCCDIR)\lib\psdk
-! $(LNKCFG)
-
-#-I$(WXDIR)\src\common\wxxpm\libxpm.34b\lib
-# -Oxt
+#$(LNKCFG): makefile.b32
+#	copy &&!
+#-L$(WXLIBDIR);$(WXLIBDIR2);$(BCCDIR)\lib;$(BCCDIR)\lib\psdk
+#! $(LNKCFG)
 
 clean: $(PERIPH_CLEAN_TARGET)
     -erase $(LIBTARGET)
diff --git a/src/msw/makefile.bcc b/src/msw/makefile.bcc
index c3b720ebdd..9d825985c9 100644
--- a/src/msw/makefile.bcc
+++ b/src/msw/makefile.bcc
@@ -727,6 +727,11 @@ xpm:	$(CFG)
 	make -f makefile.bcc -DCFG=$(CFG) -DFINAL=$(FINAL) -DWXWIN=$(WXDIR) -DDEBUG=$(DEBUG)
 	cd $(WXDIR)\src\msw
 
+clean_xpm:	$(CFG)
+	cd $(WXDIR)\src\xpm
+	make -f makefile.bcc clean
+	cd $(WXDIR)\src\msw
+
 png:    $(CFG)
         cd $(WXDIR)\src\png
         make -f makefile.bcc
-- 
2.50.0

