fix the reformat bug, some small things

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@521 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Lars Gullik Bjønnes 2000-02-03 17:09:33 +00:00
parent 44d8adab0e
commit bb96fd7de6
9 changed files with 73 additions and 32 deletions

View File

@ -1,3 +1,20 @@
2000-02-03 Lars Gullik Bjønnes <larsbj@lyx.org>
* src/lyxrc.C (output): added case RC_DATE_INSERT_FORMAT. Jug
forgot this when applying the patch. Please heed the warnings.
* src/BufferView.C (buffer): a fix for the buffer-reload problem
(aka. reformat problem)
* src/bufferlist.C (exists): made const, and use const_iterator
(isLoaded): new func.
(release): use std::find to find the correct buffer.
* src/bufferlist.h: made getState a const func.
made empty a const func.
made exists a const func.
new func: isLoaded
2000-02-01 Juergen Vigna <jug@sad.it> 2000-02-01 Juergen Vigna <jug@sad.it>
* src/lyxfunc.C lyxrc.C: changed from insert-date to date-insert * src/lyxfunc.C lyxrc.C: changed from insert-date to date-insert

View File

@ -186,6 +186,7 @@ dnl Check the version of g++
2.7*) CXXFLAGS="$lyx_opt";; 2.7*) CXXFLAGS="$lyx_opt";;
2.95.1) CXXFLAGS="-g $lyx_opt -fpermissive -fno-rtti";; 2.95.1) CXXFLAGS="-g $lyx_opt -fpermissive -fno-rtti";;
2.95.*) CXXFLAGS="-g $lyx_opt -fno-rtti -fno-exceptions";; 2.95.*) CXXFLAGS="-g $lyx_opt -fno-rtti -fno-exceptions";;
*2.91.*) CXXFLAGS="-g $lyx_opt -Wno-return-type -fno-exceptions -fno-rtti";;
*) CXXFLAGS="-g $lyx_opt -fno-exceptions -fno-rtti";; *) CXXFLAGS="-g $lyx_opt -fno-exceptions -fno-rtti";;
esac esac
else else

View File

@ -186,6 +186,7 @@ dnl Check the version of g++
2.7*) CXXFLAGS="$lyx_opt";; 2.7*) CXXFLAGS="$lyx_opt";;
2.95.1) CXXFLAGS="-g $lyx_opt -fpermissive -fno-rtti";; 2.95.1) CXXFLAGS="-g $lyx_opt -fpermissive -fno-rtti";;
2.95.*) CXXFLAGS="-g $lyx_opt -fno-rtti -fno-exceptions";; 2.95.*) CXXFLAGS="-g $lyx_opt -fno-rtti -fno-exceptions";;
*2.91.*) CXXFLAGS="-g $lyx_opt -Wno-return-type -fno-exceptions -fno-rtti";;
*) CXXFLAGS="-g $lyx_opt -fno-exceptions -fno-rtti";; *) CXXFLAGS="-g $lyx_opt -fno-exceptions -fno-rtti";;
esac esac
else else

View File

@ -211,10 +211,12 @@ void BufferView::buffer(Buffer * b)
insetSleep(); insetSleep();
buffer_->delUser(this); buffer_->delUser(this);
// Put the old text into the TextCache. // Put the old text into the TextCache.
textcache.push_back(text); if (bufferlist.isLoaded(buffer_))
textcache.push_back(text);
else
delete text;
if (lyxerr.debugging()) if (lyxerr.debugging())
showTextCache("buffer"); showTextCache("buffer");
// delete text;
text = 0; text = 0;
} }

View File

@ -4,9 +4,9 @@
* LyX, The Document Word Processor * LyX, The Document Word Processor
* *
* Copyright 1995 Matthias Ettrich * Copyright 1995 Matthias Ettrich
* Copyright 1995-1999 The LyX Team. * Copyright 1995-2000 The LyX Team.
* *
* This file is Copyright 1996-1999 * This file is Copyright 1996-2000
* Lars Gullik Bjønnes * Lars Gullik Bjønnes
* *
* ====================================================== * ======================================================
@ -19,6 +19,8 @@
#include <config.h> #include <config.h>
#include <fstream> #include <fstream>
#include <algorithm>
#include <sys/types.h> #include <sys/types.h>
#include <utime.h> #include <utime.h>
@ -44,21 +46,18 @@ extern int RunLinuxDoc(int, string const &);
using std::ifstream; using std::ifstream;
using std::ofstream; using std::ofstream;
using std::ios; using std::ios;
using std::find;
// //
// Class BufferStorage // Class BufferStorage
// //
void BufferStorage::release(Buffer * buf) void BufferStorage::release(Buffer * buf)
{ {
for(Container::iterator it = container.begin(); Container::iterator it = find(container.begin(), container.end(), buf);
it != container.end(); ++it) { if (it != container.end()) {
if ((*it) == buf) { Buffer * tmp = (*it);
Buffer * tmpbuf = (*it); container.erase(it);
container.erase(it); delete tmp;
delete tmpbuf;
break;
}
} }
} }
@ -85,7 +84,7 @@ BufferList::BufferList()
{} {}
bool BufferList::empty() bool BufferList::empty() const
{ {
return bstore.empty(); return bstore.empty();
} }
@ -476,17 +475,25 @@ Buffer * BufferList::readFile(string const & s, bool ronly)
} }
bool BufferList::exists(string const & s) bool BufferList::exists(string const & s) const
{ {
for (BufferStorage::iterator it = bstore.begin(); for (BufferStorage::const_iterator cit = bstore.begin();
it != bstore.end(); ++it) { cit != bstore.end(); ++cit) {
if ((*it)->fileName() == s) if ((*cit)->fileName() == s)
return true; return true;
} }
return false; return false;
} }
bool BufferList::isLoaded(Buffer const * b) const
{
BufferStorage::const_iterator cit =
find(bstore.begin(), bstore.end(), b);
return cit != bstore.end();
}
Buffer * BufferList::getBuffer(string const & s) Buffer * BufferList::getBuffer(string const & s)
{ {
for(BufferStorage::iterator it = bstore.begin(); for(BufferStorage::iterator it = bstore.begin();

View File

@ -4,9 +4,9 @@
* *
* LyX, The Document Processor * LyX, The Document Processor
* Copyright 1995 Matthias Ettrich * Copyright 1995 Matthias Ettrich
* Copyright 1995-1999 The LyX Team * Copyright 1995-2000 The LyX Team
* *
* This file is Copyright 1996 * This file is Copyright 1996-2000
* Lars Gullik Bjønnes * Lars Gullik Bjønnes
* *
* ====================================================== */ * ====================================================== */
@ -82,7 +82,7 @@ public:
}; };
/// returns the state of the bufferlist /// returns the state of the bufferlist
list_state getState() { return state_; } list_state getState() const { return state_; }
/** loads a LyX file or... /** loads a LyX file or...
If the optional argument tolastfiles is false (default is If the optional argument tolastfiles is false (default is
@ -93,7 +93,7 @@ public:
bool tolastfiles = true); bool tolastfiles = true);
/// ///
bool empty(); bool empty() const;
/// Saves buffer. Returns false if unsuccesful. /// Saves buffer. Returns false if unsuccesful.
bool write(Buffer *, bool makeBackup); bool write(Buffer *, bool makeBackup);
@ -136,7 +136,10 @@ public:
Buffer * first(); Buffer * first();
/// returns true if the buffer exists already /// returns true if the buffer exists already
bool exists(string const &); bool exists(string const &) const;
/// returns true if the buffer is loaded
bool isLoaded(Buffer const * b) const;
/// returns a pointer to the buffer with the given name. /// returns a pointer to the buffer with the given name.
Buffer * getBuffer(string const &); Buffer * getBuffer(string const &);

View File

@ -1201,6 +1201,9 @@ void LyXRC::output(ostream & os) const
os << "\\escape_chars \"" << isp_esc_chars << "\"\n"; os << "\\escape_chars \"" << isp_esc_chars << "\"\n";
case RC_MAKE_BACKUP: case RC_MAKE_BACKUP:
os << "\\make_backup " << tostr(make_backup) << "\n"; os << "\\make_backup " << tostr(make_backup) << "\n";
case RC_DATE_INSERT_FORMAT:
os << "\\date_insert_format \"" << date_insert_format
<< "\"\n";
} }
os.flush(); os.flush();
} }

View File

@ -591,25 +591,25 @@ bool MathedXIter::Next()
{ {
// lyxerr << "Ne[" << pos << "]"; // lyxerr << "Ne[" << pos << "]";
if (!OK()) return false; if (!OK()) return false;
int w= 0; int w = 0;
// lyxerr << "xt "; // lyxerr << "xt ";
if (IsInset()) { if (IsInset()) {
MathedInset* px = GetInset(); MathedInset * px = GetInset();
w = px->Width(); w = px->Width();
if (px->GetType() == LM_OT_SCRIPT) { if (px->GetType() == LM_OT_SCRIPT) {
if (w>sw) sw = w; if (w > sw) sw = w;
w = 0; w = 0;
} else } else
sx = (px->GetLimits()) ? w: 0; sx = (px->GetLimits()) ? w : 0;
} else { } else {
byte c = GetChar(); byte c = GetChar();
if (c>= ' ') { if (c >= ' ') {
// lyxerr << "WD[" << fcode << " " << size << " " << c << endl; // lyxerr << "WD[" << fcode << " " << size << " " << c << endl;
w = mathed_char_width(fcode, size, c); w = mathed_char_width(fcode, size, c);
} else } else
if (c == LM_TC_TAB && p) { if (c == LM_TC_TAB && p) {
// w = p->GetTab(col+1); // w = p->GetTab(col+1);
w = (crow) ? crow->getTab(col+1): 0; w = (crow) ? crow->getTab(col + 1) : 0;
//lyxerr << "WW[" << w << "]"; //lyxerr << "WW[" << w << "]";
} else } else
if (c == LM_TC_CR && p) { if (c == LM_TC_CR && p) {
@ -627,9 +627,9 @@ bool MathedXIter::Next()
// lyxerr <<"LNX " << pos << endl; // lyxerr <<"LNX " << pos << endl;
// if (sw>0 && GetChar()!= LM_TC_UP && GetChar()!= LM_TC_DOWN) { // if (sw>0 && GetChar()!= LM_TC_UP && GetChar()!= LM_TC_DOWN) {
// w = (sx>sw) ? 0: sw-sx; // w = (sx>sw) ? 0: sw-sx;
if ((sw>0 || sx>0) && GetChar()!= LM_TC_UP && GetChar()!= LM_TC_DOWN) { if ((sw > 0 || sx > 0) && GetChar() != LM_TC_UP && GetChar() != LM_TC_DOWN) {
if (sw>0) if (sw > 0)
w = (sx>sw) ? 0: sw-sx; w = (sx > sw) ? 0 : sw - sx;
sx = sw = 0; sx = sw = 0;
} }
x += w; x += w;

View File

@ -14,6 +14,13 @@
#include <config.h> #include <config.h>
// For 1.1.4 we disable the new code:
#ifdef MODERN_STL_STREAMS
#undef MODERN_STL_STREAMS
// It seems that some systems have buggy istream::readsome(...)
#endif
#ifdef MODERN_STL_STREAMS #ifdef MODERN_STL_STREAMS
#include <fstream> #include <fstream>
using std::ifstream; using std::ifstream;