merged 2.2 branch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@7748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -91,6 +91,8 @@ cleanall:
|
||||
DOCSOURCES=$(LOCALDOCDIR)\tex2rtf.tex
|
||||
|
||||
html: $(DOCDIR)\html\tex2rtf\t2rtf.htm
|
||||
htmlhelp: $(DOCDIR)\htmlhelp\tex2rtf.chm
|
||||
htb: $(DOCDIR)\htb\tex2rtf.htb
|
||||
hlp: $(DOCDIR)\winhelp\tex2rtf.hlp
|
||||
pdfrtf: $(DOCDIR)\pdf\tex2rtf.rtf
|
||||
ps: $(WXDIR)\docs\ps\tex2rtf.ps
|
||||
@@ -118,11 +120,30 @@ $(DOCDIR)\pdf\tex2rtf.rtf: $(DOCSOURCES)
|
||||
$(DOCDIR)\html\tex2rtf\t2rtf.htm: $(DOCSOURCES)
|
||||
cd $(LOCALDOCDIR)
|
||||
-mkdir $(DOCDIR)\html\tex2rtf
|
||||
-copy *.gif $(DOCDIR)\html\tex2rtf
|
||||
-start /w tex2rtf $(LOCALDOCDIR)\tex2rtf.tex $(DOCDIR)\html\tex2rtf\t2rtf.htm -twice -html
|
||||
-erase $(DOCDIR)\html\tex2rtf\*.con
|
||||
-erase $(DOCDIR)\html\tex2rtf\*.ref
|
||||
cd $(THISDIR)
|
||||
|
||||
$(DOCDIR)\htmlhelp\tex2rtf.chm : $(DOCDIR)\html\tex2rtf\t2rtf.htm $(DOCDIR)\html\tex2rtf\t2rtf.hhp
|
||||
cd $(DOCDIR)\html\tex2rtf
|
||||
-hhc t2rtf.hhp
|
||||
move t2rtf.chm $(DOCDIR)\htmlhelp\tex2rtf.chm
|
||||
cd $(THISDIR)
|
||||
|
||||
# An htb file is a zip file containing the .htm, .gif, .hhp, .hhc and .hhk
|
||||
# files, renamed to htb.
|
||||
# This can then be used with e.g. helpview.
|
||||
# Optionally, a cached version of the .hhp file can be generated with hhp2cached.
|
||||
$(DOCDIR)\htb\tex2rtf.htb: $(DOCDIR)\html\tex2rtf\t2rtf.htm
|
||||
cd $(DOCDIR)\html\tex2rtf
|
||||
-erase /Y tex2rtf.zip tex2rtf.htb
|
||||
zip32 tex2rtf.zip *.htm *.gif *.hhp *.hhc *.hhk
|
||||
-mkdir $(DOCDIR)\htb
|
||||
move tex2rtf.zip $(DOCDIR)\htb\tex2rtf.htb
|
||||
cd $(THISDIR)
|
||||
|
||||
$(LOCALDOCDIR)\tex2rtf.dvi: $(DOCSOURCES)
|
||||
cd $(LOCALDOCDIR)
|
||||
-latex tex2rtf
|
||||
|
@@ -363,6 +363,14 @@ bool FindEndEnvironment(char *buffer, int *pos, char *env)
|
||||
bool readingVerbatim = FALSE;
|
||||
bool readInVerbatim = FALSE; // Within a verbatim, but not nec. verbatiminput
|
||||
|
||||
// Switched this off because e.g. \verb${$ causes it to fail. There is no
|
||||
// detection of \verb yet.
|
||||
#define CHECK_BRACES 0
|
||||
|
||||
unsigned long leftCurly = 0;
|
||||
unsigned long rightCurly = 0;
|
||||
static wxString currentFileName = "";
|
||||
|
||||
bool read_a_line(char *buf)
|
||||
{
|
||||
if (CurrentInputIndex < 0)
|
||||
@@ -374,6 +382,7 @@ bool read_a_line(char *buf)
|
||||
int ch = -2;
|
||||
int i = 0;
|
||||
buf[0] = 0;
|
||||
|
||||
while (ch != EOF && ch != 10)
|
||||
{
|
||||
if (((i == 14) && (strncmp(buf, "\\end{verbatim}", 14) == 0)) ||
|
||||
@@ -381,6 +390,26 @@ bool read_a_line(char *buf)
|
||||
readInVerbatim = FALSE;
|
||||
|
||||
ch = getc(Inputs[CurrentInputIndex]);
|
||||
|
||||
#if CHECK_BRACES
|
||||
if (ch == '{' && !readInVerbatim)
|
||||
leftCurly++;
|
||||
if (ch == '}' && !readInVerbatim)
|
||||
{
|
||||
rightCurly++;
|
||||
if (rightCurly > leftCurly)
|
||||
{
|
||||
wxString errBuf;
|
||||
errBuf.Printf("An extra right Curly brace ('}') was detected at line %l inside file %s",LineNumbers[CurrentInputIndex], (const char*) currentFileName.c_str());
|
||||
OnError((char *)errBuf.c_str());
|
||||
|
||||
// Reduce the count of right curly braces, so the mismatched count
|
||||
// isn't reported on every line that has a '}' after the first mismatch
|
||||
rightCurly--;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (ch != EOF)
|
||||
{
|
||||
// Check for 2 consecutive newlines and replace with \par
|
||||
@@ -450,8 +479,19 @@ bool read_a_line(char *buf)
|
||||
buf[i] = 0;
|
||||
fclose(Inputs[CurrentInputIndex]);
|
||||
Inputs[CurrentInputIndex] = NULL;
|
||||
if (CurrentInputIndex > 0) ch = ' '; // No real end of file
|
||||
if (CurrentInputIndex > 0)
|
||||
ch = ' '; // No real end of file
|
||||
CurrentInputIndex --;
|
||||
#if CHECK_BRACES
|
||||
if (leftCurly != rightCurly)
|
||||
{
|
||||
wxString errBuf;
|
||||
errBuf.Printf("Curly braces do not match inside file %s\n%lu opens, %lu closes", (const char*) currentFileName.c_str(),leftCurly,rightCurly);
|
||||
OnError((char *)errBuf.c_str());
|
||||
}
|
||||
leftCurly = 0;
|
||||
rightCurly = 0;
|
||||
#endif
|
||||
if (readingVerbatim)
|
||||
{
|
||||
readingVerbatim = FALSE;
|
||||
@@ -491,6 +531,7 @@ bool read_a_line(char *buf)
|
||||
if (buf[j-1] == '}') buf[j-1] = 0; // Ignore final brace
|
||||
|
||||
wxString actualFile = TexPathList.FindValidPath(fileName);
|
||||
currentFileName = actualFile;
|
||||
if (actualFile == "")
|
||||
{
|
||||
char errBuf[300];
|
||||
@@ -500,6 +541,9 @@ bool read_a_line(char *buf)
|
||||
}
|
||||
else
|
||||
{
|
||||
wxString informStr;
|
||||
informStr.Printf("Processing: %s",actualFile.c_str());
|
||||
OnInform((char *)informStr.c_str());
|
||||
CurrentInputIndex ++;
|
||||
Inputs[CurrentInputIndex] = fopen(actualFile, "r");
|
||||
LineNumbers[CurrentInputIndex] = 1;
|
||||
@@ -552,6 +596,7 @@ bool read_a_line(char *buf)
|
||||
|
||||
// Ignore some types of input files (e.g. macro definition files)
|
||||
char *fileOnly = FileNameFromPath(fileName);
|
||||
currentFileName = fileOnly;
|
||||
if (IgnorableInputFiles.Member(fileOnly))
|
||||
return read_a_line(buf);
|
||||
|
||||
@@ -562,6 +607,8 @@ bool read_a_line(char *buf)
|
||||
sprintf(buf2, "%s.tex", fileName);
|
||||
actualFile = TexPathList.FindValidPath(buf2);
|
||||
}
|
||||
currentFileName = actualFile;
|
||||
|
||||
if (actualFile == "")
|
||||
{
|
||||
char errBuf[300];
|
||||
@@ -575,6 +622,9 @@ bool read_a_line(char *buf)
|
||||
// then we look in the same directory as this one.
|
||||
TexPathList.EnsureFileAccessible(actualFile);
|
||||
|
||||
wxString informStr;
|
||||
informStr.Printf("Processing: %s",actualFile.c_str());
|
||||
OnInform((char *)informStr.c_str());
|
||||
CurrentInputIndex ++;
|
||||
Inputs[CurrentInputIndex] = fopen(actualFile, "r");
|
||||
LineNumbers[CurrentInputIndex] = 1;
|
||||
@@ -600,6 +650,15 @@ bool read_a_line(char *buf)
|
||||
strncmp(buf, "\\end{toocomplex}", 16) == 0)
|
||||
readInVerbatim = FALSE;
|
||||
|
||||
#if CHECK_BRACES
|
||||
if (ch == EOF && leftCurly != rightCurly)
|
||||
{
|
||||
wxString errBuf;
|
||||
errBuf.Printf("Curly braces do not match inside file %s\n%lu opens, %lu closes", (const char*) currentFileName.c_str(),leftCurly,rightCurly);
|
||||
OnError((char *)errBuf.c_str());
|
||||
}
|
||||
#endif
|
||||
|
||||
return (ch == EOF);
|
||||
}
|
||||
|
||||
@@ -2024,7 +2083,7 @@ void DefineDefaultMacros(void)
|
||||
AddMacroDef(ltNABLA, "nabla", 0);
|
||||
AddMacroDef(ltNEG, "neg", 0);
|
||||
AddMacroDef(ltNEQ, "neq", 0);
|
||||
AddMacroDef(ltNEWCOUNTER, "newcounter", 1, FALSE, FORBID_ABSOLUTELY);
|
||||
AddMacroDef(ltNEWCOUNTER, "newcounter", 1, FALSE, (bool)FORBID_ABSOLUTELY);
|
||||
AddMacroDef(ltNEWLINE, "newline", 0);
|
||||
AddMacroDef(ltNEWPAGE, "newpage", 0);
|
||||
AddMacroDef(ltNI, "ni", 0);
|
||||
@@ -2077,8 +2136,8 @@ void DefineDefaultMacros(void)
|
||||
AddMacroDef(ltPRECEQ, "preceq", 0);
|
||||
AddMacroDef(ltPRINTINDEX, "printindex", 0);
|
||||
AddMacroDef(ltPROPTO, "propto", 0);
|
||||
AddMacroDef(ltPSBOXTO, "psboxto", 1, FALSE, FORBID_ABSOLUTELY);
|
||||
AddMacroDef(ltPSBOX, "psbox", 1, FALSE, FORBID_ABSOLUTELY);
|
||||
AddMacroDef(ltPSBOXTO, "psboxto", 1, FALSE, (bool)FORBID_ABSOLUTELY);
|
||||
AddMacroDef(ltPSBOX, "psbox", 1, FALSE, (bool)FORBID_ABSOLUTELY);
|
||||
AddMacroDef(ltPSI, "psi", 0);
|
||||
AddMacroDef(ltCAP_PSI, "Psi", 0);
|
||||
|
||||
|
@@ -105,7 +105,11 @@ void ShowOptions(void);
|
||||
|
||||
#ifdef NO_GUI
|
||||
|
||||
extern char *wxBuffer; // we must init it, otherwise tex2rtf will crash
|
||||
#if wxUSE_GUI || !defined(__UNIX__)
|
||||
// wxBase for Unix does not have wxBuffer
|
||||
extern
|
||||
#endif
|
||||
char *wxBuffer; // we must init it, otherwise tex2rtf will crash
|
||||
|
||||
int main(int argc, char **argv)
|
||||
#else
|
||||
@@ -170,7 +174,8 @@ bool MyApp::OnInit()
|
||||
if (!InputFile || !OutputFile)
|
||||
isInteractive = TRUE;
|
||||
|
||||
for (int i = n; i < argc;)
|
||||
int i;
|
||||
for (i = n; i < argc;)
|
||||
{
|
||||
if (strcmp(argv[i], "-winhelp") == 0)
|
||||
{
|
||||
@@ -497,6 +502,7 @@ void MyFrame::OnExit(wxCommandEvent& event)
|
||||
|
||||
void MyFrame::OnGo(wxCommandEvent& event)
|
||||
{
|
||||
passNumber = 1;
|
||||
menuBar->EnableTop(0, FALSE);
|
||||
menuBar->EnableTop(1, FALSE);
|
||||
menuBar->EnableTop(2, FALSE);
|
||||
@@ -826,7 +832,7 @@ bool Go(void)
|
||||
char buf[100];
|
||||
#ifndef NO_GUI
|
||||
long tim = wxGetElapsedTime();
|
||||
sprintf(buf, "Finished in %ld seconds.", (long)(tim/1000.0));
|
||||
sprintf(buf, "Finished PASS #%d in %ld seconds.\n", passNumber, (long)(tim/1000.0));
|
||||
OnInform(buf);
|
||||
if (isInteractive)
|
||||
{
|
||||
|
Reference in New Issue
Block a user