Jean-Marc Lasgouttes <[EMAIL PROTECTED]> writes:
| >>>>> "Emmanuel" == Emmanuel GUREGHIAN <[EMAIL PROTECTED]> writes:
|
| Emmanuel> Hello As I am getting back in lyx business ;-) , excuse me
| Emmanuel> if the bug was already referenced.
|
| Emmanuel> I have a main document wich input other lyx documents which
| Emmanuel> are placed in sub directories. But as soon as I have done
| Emmanuel> one ps rendering or saved the document, the / sign which
| Emmanuel> delimit the directory name in the input inset is changed in
| Emmanuel> an @.
|
| Emmanuel> Anyone has a clue about it ?
|
| It is due to a change done by Lars in the insetinclude.C code (I
| think). The relevant part of the code is
| // Use += to force a copy of contents (JMarc)
| // How does that force anything? (Lgb)
| string incfile(contents);
|
| The old code was something like
| // Use += to force a copy of contents (JMarc)
| string incfile
| incfile += contents;
|
| I think this is related to a bug in lyxstring, but I am not sure about
| that. Emmanuel, what string version do you use (what is the value of
| USE_INCLUDED_STRING in your src/config.h file)?
|
| Lars, it seems to me that, at least with lyxstring, the construct you
| use means that modifying incfile also modifies contents.
If that is true then there is a _severe_ bug in lyxstring.
Ok, found it.
The bug was in lyxstring::begin() where we don't ensure that this
lyxstring is the sole owner of this string rep.
Check if this patch fixes the problem:
--- lyx-devel/src/support/lyxstring.C Thu Mar 16 05:29:22 2000
+++ lyx-devel-experiment/src/support/lyxstring.C Wed May 31 19:43:43 2000@@
+-460,6 +460,7 @@
lyxstring::iterator lyxstring::begin()
{
+ rep = rep->get_own_copy();
return rep->s;
}
@@ -472,6 +473,7 @@
lyxstring::iterator lyxstring::end()
{
+ rep = rep->get_own_copy();
return rep->s + rep->sz;
}
Lgb