temporary reversal of the 'don't write spaces' stuff as this was buggy...

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5070 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
André Pönitz 2002-08-22 11:57:58 +00:00
parent 528a1a42d4
commit 4df4a61701
2 changed files with 30 additions and 3 deletions

View File

@ -3,6 +3,7 @@
#include "math_mathmlstream.h" #include "math_mathmlstream.h"
#include "math_inset.h" #include "math_inset.h"
#include "math_extern.h" #include "math_extern.h"
#include "debug.h"
#include "support/lyxalgo.h" #include "support/lyxalgo.h"
#include "support/LOstream.h" #include "support/LOstream.h"
@ -23,12 +24,27 @@ WriteStream::WriteStream(ostream & os)
{} {}
WriteStream::~WriteStream()
{
if (pendingspace_)
os_ << ' ';
}
void WriteStream::addlines(unsigned int n) void WriteStream::addlines(unsigned int n)
{ {
line_ += n; line_ += n;
} }
void WriteStream::pendingSpace(bool how)
{
if (how)
os_ << ' ';
pendingspace_ = how;
}
WriteStream & operator<<(WriteStream & ws, MathAtom const & at) WriteStream & operator<<(WriteStream & ws, MathAtom const & at)
{ {
at->write(ws); at->write(ws);
@ -45,6 +61,11 @@ WriteStream & operator<<(WriteStream & ws, MathArray const & ar)
WriteStream & operator<<(WriteStream & ws, char const * s) WriteStream & operator<<(WriteStream & ws, char const * s)
{ {
if (ws.pendingSpace()) {
lyxerr << "writing a space in a string\n";
ws.os() << ' ';
ws.pendingSpace(false);
}
ws.os() << s; ws.os() << s;
ws.addlines(int(lyx::count(s, s + strlen(s), '\n'))); ws.addlines(int(lyx::count(s, s + strlen(s), '\n')));
return ws; return ws;
@ -54,8 +75,12 @@ WriteStream & operator<<(WriteStream & ws, char const * s)
WriteStream & operator<<(WriteStream & ws, char c) WriteStream & operator<<(WriteStream & ws, char c)
{ {
if (ws.pendingSpace()) { if (ws.pendingSpace()) {
if (isalpha(c)) //if (isalpha(c))
ws.os() << ' '; // ws.os() << ' ';
if (!isalpha(c)) {
lyxerr << "I'd like to suppress writing a space\n";
}
ws.os() << ' ';
ws.pendingSpace(false); ws.pendingSpace(false);
} }
ws.os() << c; ws.os() << c;

View File

@ -25,6 +25,8 @@ public:
/// ///
explicit WriteStream(std::ostream & os_); explicit WriteStream(std::ostream & os_);
/// ///
~WriteStream();
///
int line() const { return line_; } int line() const { return line_; }
/// ///
bool fragile() const { return fragile_; } bool fragile() const { return fragile_; }
@ -37,7 +39,7 @@ public:
/// ///
void addlines(unsigned int); void addlines(unsigned int);
/// writes space if next thing is isalpha() /// writes space if next thing is isalpha()
void pendingSpace(bool how) { pendingspace_ = how; } void pendingSpace(bool how);
/// writes space if next thing is isalpha() /// writes space if next thing is isalpha()
bool pendingSpace() const { return pendingspace_; } bool pendingSpace() const { return pendingspace_; }
private: private: