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:
Bryan Petty
2000-07-15 19:51:35 +00:00
parent 8a693e6e04
commit f6bcfd974e
1835 changed files with 237729 additions and 67990 deletions

View File

@@ -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);