+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>
* src/lyxfunc.C lyxrc.C: changed from insert-date to date-insert
2.7*) CXXFLAGS="$lyx_opt";;
2.95.1) CXXFLAGS="-g $lyx_opt -fpermissive -fno-rtti";;
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";;
esac
else
2.7*) CXXFLAGS="$lyx_opt";;
2.95.1) CXXFLAGS="-g $lyx_opt -fpermissive -fno-rtti";;
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";;
esac
else
insetSleep();
buffer_->delUser(this);
// 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())
showTextCache("buffer");
- // delete text;
text = 0;
}
* LyX, The Document Word Processor
*
* 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
*
* ======================================================
#include <config.h>
#include <fstream>
+#include <algorithm>
+
#include <sys/types.h>
#include <utime.h>
using std::ifstream;
using std::ofstream;
using std::ios;
-
+using std::find;
//
// Class BufferStorage
//
void BufferStorage::release(Buffer * buf)
{
- for(Container::iterator it = container.begin();
- it != container.end(); ++it) {
- if ((*it) == buf) {
- Buffer * tmpbuf = (*it);
- container.erase(it);
- delete tmpbuf;
- break;
- }
+ Container::iterator it = find(container.begin(), container.end(), buf);
+ if (it != container.end()) {
+ Buffer * tmp = (*it);
+ container.erase(it);
+ delete tmp;
}
}
{}
-bool BufferList::empty()
+bool BufferList::empty() const
{
return bstore.empty();
}
}
-bool BufferList::exists(string const & s)
+bool BufferList::exists(string const & s) const
{
- for (BufferStorage::iterator it = bstore.begin();
- it != bstore.end(); ++it) {
- if ((*it)->fileName() == s)
+ for (BufferStorage::const_iterator cit = bstore.begin();
+ cit != bstore.end(); ++cit) {
+ if ((*cit)->fileName() == s)
return true;
}
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)
{
for(BufferStorage::iterator it = bstore.begin();
*
* LyX, The Document Processor
* 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
*
* ====================================================== */
};
/// returns the state of the bufferlist
- list_state getState() { return state_; }
+ list_state getState() const { return state_; }
/** loads a LyX file or...
If the optional argument tolastfiles is false (default is
bool tolastfiles = true);
///
- bool empty();
+ bool empty() const;
/// Saves buffer. Returns false if unsuccesful.
bool write(Buffer *, bool makeBackup);
Buffer * first();
/// 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.
Buffer * getBuffer(string const &);
os << "\\escape_chars \"" << isp_esc_chars << "\"\n";
case RC_MAKE_BACKUP:
os << "\\make_backup " << tostr(make_backup) << "\n";
+ case RC_DATE_INSERT_FORMAT:
+ os << "\\date_insert_format \"" << date_insert_format
+ << "\"\n";
}
os.flush();
}
{
// lyxerr << "Ne[" << pos << "]";
if (!OK()) return false;
- int w= 0;
+ int w = 0;
// lyxerr << "xt ";
if (IsInset()) {
- MathedInset* px = GetInset();
+ MathedInset * px = GetInset();
w = px->Width();
if (px->GetType() == LM_OT_SCRIPT) {
- if (w>sw) sw = w;
+ if (w > sw) sw = w;
w = 0;
} else
- sx = (px->GetLimits()) ? w: 0;
+ sx = (px->GetLimits()) ? w : 0;
} else {
byte c = GetChar();
- if (c>= ' ') {
+ if (c >= ' ') {
// lyxerr << "WD[" << fcode << " " << size << " " << c << endl;
w = mathed_char_width(fcode, size, c);
} else
if (c == LM_TC_TAB && p) {
// w = p->GetTab(col+1);
- w = (crow) ? crow->getTab(col+1): 0;
+ w = (crow) ? crow->getTab(col + 1) : 0;
//lyxerr << "WW[" << w << "]";
} else
if (c == LM_TC_CR && p) {
// lyxerr <<"LNX " << pos << endl;
// if (sw>0 && GetChar()!= LM_TC_UP && GetChar()!= LM_TC_DOWN) {
// w = (sx>sw) ? 0: sw-sx;
- if ((sw>0 || sx>0) && GetChar()!= LM_TC_UP && GetChar()!= LM_TC_DOWN) {
- if (sw>0)
- w = (sx>sw) ? 0: sw-sx;
+ if ((sw > 0 || sx > 0) && GetChar() != LM_TC_UP && GetChar() != LM_TC_DOWN) {
+ if (sw > 0)
+ w = (sx > sw) ? 0 : sw - sx;
sx = sw = 0;
}
x += w;
#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
#include <fstream>
using std::ifstream;