Re: Baywatch is dead.

2006-02-10 Thread Georg Baum
Kayvan A. Sylvan wrote:

 Can you send me instructions for updating my anoncvs mirror?

It would be nice if the anoncvs mirror would still be available for some
time in order to convert some checked out trees to patches.


Georg



Re: Repo moved to subversion - something changed?

2006-02-10 Thread Helge Hafting

I installed subversion and checked out anonymously.
I ran ./autogen.sh and ./configure as usual,
but then make failed:
$ nice make
make: *** No targets specified and no makefile found.  Stop.

Did the rules change somehow?


Helge Hafting


Re: Repo moved to subversion - something changed?

2006-02-10 Thread Lars Gullik Bjønnes
Helge Hafting [EMAIL PROTECTED] writes:

| I installed subversion and checked out anonymously.
| I ran ./autogen.sh and ./configure as usual,
| but then make failed:
| $ nice make
| make: *** No targets specified and no makefile found.  Stop.
| 
| Did the rules change somehow?

No. Everything works as usual for me.

Are you able to debug this a bit further?

-- 
Lgb



Re: Repo moved to subversion - something changed?

2006-02-10 Thread Georg Baum
Helge Hafting wrote:

 I installed subversion and checked out anonymously.
 I ran ./autogen.sh and ./configure as usual,
 but then make failed:
 $ nice make
 make: *** No targets specified and no makefile found.  Stop.
 
 Did the rules change somehow?

I don't think so. It works for me (but with separate build directory). Did
autogen.sh or configure spit out anything unusual?


Georg



Re: 1.4cvs performance problem over network when adding a paragraph

2006-02-10 Thread Abdelrazak Younes

Angus Leeming a écrit :
Ah... This is because I didn't go to the full monty... I forgot to erase 
those three lines:

-   advance(first, first_pit);
-   ParagraphList::const_iterator last = plist.begin();
-   advance(last, last_pit + 1);

It is better now, isn't it?


I think so, but if last_pit is a ParagraphList::iterator which won't necessarily
model a Random Access Iterator in the future, you should probably use
undo.pars = ParagraphList(plist, first_pit, boost::next(last_pit));


In this case, first_pit and last_pit are positions in the ParagraphList 
plist. But I can also provide a ParagraphList constructor that will 
accept iterators a la STL.



One thing I'm less keen on in your code is your use of multiple typedefs
in the ParagraphList to mean the same thing
If I knew I would have had that kind of comments I would have cleaned up 
the patch before sending it 
This was just proof of concept but this is not a reason, I know...


splutterBut you asked me to review your code/splutter


I am not quite sure of the meaning of splutter but I was kidding (did 
I forgot the smiley). Your comments are of course very welcome.


Thanks,
Abdel.


Keep up the good work.

Angus








Re: Repo moved to subversion - something changed?

2006-02-10 Thread Lars Gullik Bjønnes
Georg Baum [EMAIL PROTECTED] writes:

| Helge Hafting wrote:
| 
|  I installed subversion and checked out anonymously.
|  I ran ./autogen.sh and ./configure as usual,
|  but then make failed:
|  $ nice make
|  make: *** No targets specified and no makefile found.  Stop.
|  
|  Did the rules change somehow?
| 
| I don't think so. It works for me (but with separate build directory). Did
| autogen.sh or configure spit out anything unusual?

I have now both tested regular and anon access and build. Both work
fine for me.

-- 
Lgb



Re: Baywatch is dead.

2006-02-10 Thread Lars Gullik Bjønnes
Georg Baum [EMAIL PROTECTED] writes:

| Kayvan A. Sylvan wrote:
| 
|  Can you send me instructions for updating my anoncvs mirror?
| 
| It would be nice if the anoncvs mirror would still be available for some
| time in order to convert some checked out trees to patches.

For those of you with a developer accoutn on aussie I have make it
possible to get read-only access to the old cvs tree.

You have to relocate your workingcopy to use aussie.lyx.org and to use
/home/lyx/cvs as the path. No anon access.
This can then be used for creating diffs etc, so that modified
workingcopies can more easily be moved to subversion as well.

--- script - reloacate cvs wc
cp CVS/Root newroot
vim newroot
edit server and path
find . -name Root -exec cp newroot {} \;
--- endscript

-- 
Lgb



Re: Baywatch is dead.

2006-02-10 Thread Georg Baum
Lars Gullik Bjønnes wrote:

 For those of you with a developer accoutn on aussie I have make it
 possible to get read-only access to the old cvs tree.

Thanks.

 You have to relocate your workingcopy to use aussie.lyx.org and to use
 /home/lyx/cvs as the path. No anon access.

 This can then be used for creating diffs etc, so that modified
 workingcopies can more easily be moved to subversion as well.

That was exactly my intention.

 --- script - reloacate cvs wc
 cp CVS/Root newroot
 vim newroot
 edit server and path
 find . -name Root -exec cp newroot {} \;
 --- endscript

Or use cvschroot from the cvsutils package.


Georg



Re: 1.4cvs performance problem over network when adding a paragraph

2006-02-10 Thread Abdelrazak Younes

Abdelrazak Younes a écrit :

Angus Leeming a écrit :
Ah... This is because I didn't go to the full monty... I forgot to 
erase those three lines:

-  advance(first, first_pit);
-  ParagraphList::const_iterator last = plist.begin();
-  advance(last, last_pit + 1);

It is better now, isn't it?


I think so, but if last_pit is a ParagraphList::iterator which won't 
necessarily

model a Random Access Iterator in the future, you should probably use
undo.pars = ParagraphList(plist, first_pit, boost::next(last_pit));


In this case, first_pit and last_pit are positions in the ParagraphList 
plist. But I can also provide a ParagraphList constructor that will 
accept iterators a la STL.


By the way, right now, there are multiple instances in the code where 
operator[] access is used. Thus implying that we must present a position 
type interface (vector alike). At the same time, like in the case above, 
there are instances where the coder preferred an iterator interface. I 
am fine with the idea of presenting both types of interfaces (my version 
of ParagraphList presents both) but what is the opinion of developers? 
Do we have to force one way or the other?
My opinion is that for cases like the above, a position type interface 
is better because shorter. But there are other cases where an iterator 
interface should be very useful... albeit not many in current cvs (or 
svn :-)). But sometimes too much choice kills the flexibility...


Abdel.



Re: Repo moved to subversion - problem solved

2006-02-10 Thread Helge Hafting

Georg Baum wrote:


Helge Hafting wrote:

 


I installed subversion and checked out anonymously.
I ran ./autogen.sh and ./configure as usual,
but then make failed:
$ nice make
make: *** No targets specified and no makefile found.  Stop.

Did the rules change somehow?
   



I don't think so. It works for me (but with separate build directory). Did
autogen.sh or configure spit out anything unusual?
 


Problem solved.  When I run configure, I look up the previous config.log
and paste the command from there.  Sometimes the config.log
contains the configure parameters --no-create --no-recursion.
I forgot to remove them, and that caused the problem.

(why are those parameters there?  config.log claims this is the
incocation command line - but I never use those parameters myself.)
Re-running configure without those parameters fixed it.

The transition to subversion was nice, the checkout was much faster
than a cvs checkout.  Faster than a cvs update, even.

Helge Hafting




Some minor errors in the new svn repository

2006-02-10 Thread Jean-Marc Lasgouttes

I did a diff of my cvs lyx-devel and the new svn one. There are a
couple of minor problems:

*** in build_lyxwin.sh a ^M has been replaced with ^J. This code may
not be useful anymore with svn under windows.

-- cvs/development/Win32/packaging/build_lyxwin.sh 2005-07-17 23:31:02.
0 +0200
+++ lyx-devel/development/Win32/packaging/build_lyxwin.sh   2006-02-10 11:06
:44.0 +0100
@@ -242,7 +242,8 @@
# The configure script will be unable to create config.h if it
# contains Win32-style line endings.
rm -f configure.ac
-   sed 's/^M$//' config/configure.ac  configure.ac.$$
+   sed 's/
+$//' config/configure.ac  configure.ac.$$
cmp -s config/configure.ac configure.ac.$$  {
rm -f configure.ac.$$
} || {


*** The file INSTALL.OS2 is missing

I guess we should get rid of the .cvsignore files, also.

JMarc


Re: 1.4cvs performance problem patch impressions

2006-02-10 Thread Helge Hafting

Abdelrazak Younes wrote:


Andre Poenitz a écrit :


On Mon, Feb 06, 2006 at 09:59:42AM +0100, Jean-Marc Lasgouttes wrote:


Helge == Helge Hafting [EMAIL PROTECTED] writes:



Helge I tested the userguide, no problems there. Further testing
Helge shows that it is related to images. I have some high resolution
Helge images - of course I expect those to be slow. But the slowness
Helge happen even in cases where images aren't on screen. Typical
Helge case:

This is what I was about to suggest: currently, every time a paragraph
is created/killed, the whole document after it is duplicated. For
images, this means a lot of work. In particular, I think a pixmap is
created in the X server, which means a lot of data to transfer.



We should try Abdel's 'transparent vector of pointers' approach soonish.



This is the signal I was waiting for... ;-)
I have implemented this approach yesterday evening. The gain in 
responsiveness when inserting or removing paragraphs is not fantastic 
but it is sensible. _But_, my debug info tells me that those actions 
are _immediate_ now, whereas they were not with the classic 
vectorParagraph approach. So I think there is another bottleneck 
elsewhere.
I have put convenience function so as to minimize the changes needed 
in the code that uses ParagraphList. But there are some minimal (IMHO) 
change. The interface is simpler so a lot of code could be simplified 
with this new class.


Anyway, please find attached the patch. Everything but CutAndPaste 
(which crashes lyx) seems to work OK. But I didn't do extensive 
testing... sorry about that. If this is interesting to you, I'll try 
to find some time this week-end to refine the approach.


I see that Helge Hafting has created bug 2287 for that so Helge, maybe 
you could attach this patch to this bug? And maybe test if there is 
any improvement with your use case?


This patch helps a lot, although there is one slow case left.
I opened my document, over the net, and scrolled through it to make sure all
the images was loaded. 

Splitting paragraphs in the beginning generally work well.  The delay is 
gone
from most of the paragraph-splitting cases, very good!  The remaining 
slow cases are:
* Split a bullet list item, when some later bullet in that list contains 
an image.

 Curiously enough, re-merging these entries (by backspacing over the
 paragraph split) is fast.  It is only the split that is slow.
* Split the paragraph containing an image. (Possibly the same as the 
previous

 one, for it was also a bullet-list entry.

Splitting bullet paragraphs after the last image in a list is ok, and so is
splitting bullet paragraphs in lists that don't have images.

I also discovered another slow case, which exist in standard lyx as well:
Sometimes, simply adding text to the end of a bullet paragraph that
have an image, will be slow.  20s to add an a after the image,
the image was the previous last position of that paragraph.  Something
went wrong, the delay was even worse than the usual paragraph splitting 
delay,

the network was busy all that time.

Helge Hafting


Re: Some minor errors in the new svn repository

2006-02-10 Thread Lars Gullik Bjønnes
Jean-Marc Lasgouttes [EMAIL PROTECTED] writes:

| I did a diff of my cvs lyx-devel and the new svn one. There are a
| couple of minor problems:
| 
| *** in build_lyxwin.sh a ^M has been replaced with ^J. This code may
| not be useful anymore with svn under windows.
| 
| -- cvs/development/Win32/packaging/build_lyxwin.sh 2005-07-17 
23:31:02.
| 0 +0200
| +++ lyx-devel/development/Win32/packaging/build_lyxwin.sh   2006-02-10 
11:06
| :44.0 +0100
| @@ -242,7 +242,8 @@
| # The configure script will be unable to create config.h if it
| # contains Win32-style line endings.
| rm -f configure.ac
| -   sed 's/^M$//' config/configure.ac  configure.ac.$$
| +   sed 's/
| +$//' config/configure.ac  configure.ac.$$
| cmp -s config/configure.ac configure.ac.$$  {
| rm -f configure.ac.$$
| } || {

This is a but in the sed script! Controlchars should never be present
in text files. Just exchange it for '\r'

| *** The file INSTALL.OS2 is missing

Hmm... strange. So it should be re-added then.
 
| I guess we should get rid of the .cvsignore files, also.

Yes, I'll come around to cleaning up a lot of small stuff.

-- 
Lgb



Re: 1.4cvs performance problem patch impressions

2006-02-10 Thread Abdelrazak Younes

Helge Hafting a écrit :
[...]
I see that Helge Hafting has created bug 2287 for that so Helge, maybe 
you could attach this patch to this bug? And maybe test if there is 
any improvement with your use case?


This patch helps a lot, although there is one slow case left.


Very good. The remaining slowness might be related to the 
vector::reserve done at the construction as pointed by Andre Poenitz. 
Could you try to comment those lines out (lines 80 and 84 of 
Paragraph.C) and see if things improve?


PliVector_.reserve(VECTOR_RESERVE);

Thanks for testing,
Abdel.



New e-mail

2006-02-10 Thread Asger Ottar Alstrup

Hi,

I've changed jobs (see http://www.area9.dk) and therefore e-mails. You 
can reach me on these addresses now:


Work: [EMAIL PROTECTED]
Private: [EMAIL PROTECTED]

So when is 1.4.0 coming?

Regards,
Asger Ottar Alstrup



Re: Some minor errors in the new svn repository

2006-02-10 Thread Angus Leeming
Lars Gullik Bjønnes [EMAIL PROTECTED] writes:
 Jean-Marc Lasgouttes [EMAIL PROTECTED] writes:
 
 | I did a diff of my cvs lyx-devel and the new svn one. There are a
 | couple of minor problems:
 | 
 | *** in build_lyxwin.sh a ^M has been replaced with ^J. This code may
 | not be useful anymore with svn under windows.

The script doesn't know anything about version control. It builds the
checked-out sources into a LyX executable.

 | -- cvs/development/Win32/packaging/build_lyxwin.sh
 | +++ lyx-devel/development/Win32/packaging/build_lyxwin.sh
 |  at  at  -242,7 +242,8  at  at 
 | # The configure script will be unable to create config.h if it
 | # contains Win32-style line endings.
 | rm -f configure.ac
 | -   sed 's/^M$//' config/configure.ac  configure.ac.$$
 | +   sed 's/
 | +$//' config/configure.ac  configure.ac.$$
 | cmp -s config/configure.ac configure.ac.$$  {
 | rm -f configure.ac.$$
 | } || {

We needed (something like) this because CVS imports text files from the
repository and gives them Windows line endings (\r\n) by default. However,
autoconf gets horribly confused by the \r\n line ending, so we must convert to
unix-style \n line endings. There's a tool, dos2unix.exe that does this and lots
more; I was worried by the lots more (changes character encoding too, among
other things). Also it isn't a standard MSYS tool.

 This is a but in the sed script! Controlchars should never be present
 in text files. Just exchange it for '\r'

Sorry, but in general you're wrong. '\r' is not portable among different seds.
However, in this specific case, you're probably right. Of course, you'll get a
Windows user to test the change, right?

 | *** The file INSTALL.OS2 is missing
 Hmm... strange. So it should be re-added then.

I thought we killed this file in the 1.4.x repository?

Angus



Re: 1.4cvs performance problem over network when adding a paragraph

2006-02-10 Thread Angus Leeming
Abdelrazak Younes [EMAIL PROTECTED] writes:
 By the way, right now, there are multiple instances in the code where 
 operator[] access is used. Thus implying that we must present a position 
 type interface (vector alike). At the same time, like in the case above, 
 there are instances where the coder preferred an iterator interface. I 
 am fine with the idea of presenting both types of interfaces (my version 
 of ParagraphList presents both) but what is the opinion of developers? 
 Do we have to force one way or the other?
 My opinion is that for cases like the above, a position type interface 
 is better because shorter. But there are other cases where an iterator 
 interface should be very useful... albeit not many in current cvs (or 
 svn ). But sometimes too much choice kills the flexibility...

I believe that the operator[] interface was introduced by Andre as an
optimization after profiling the code. There's lots of explanation buried in the
archives, but I'd guess that the person with the most experience of this stuff
(and who's also active ;-)) is Martin.

I'd try Jean-Marc and Lars if I wanted to discuss killing either interface...

Angus




Re: Some minor errors in the new svn repository

2006-02-10 Thread Jean-Marc Lasgouttes
 Angus == Angus Leeming [EMAIL PROTECTED] writes:

Angus The script doesn't know anything about version control. It
Angus builds the checked-out sources into a LyX executable.
[...]
Angus We needed (something like) this because CVS imports text files
Angus from the repository and gives them Windows line endings (\r\n)
Angus by default. 

Comparing these two sentences, can't you see what version control may
have to do with it?

 | *** The file INSTALL.OS2 is missing Hmm... strange. So it should
 be re-added then.

Angus I thought we killed this file in the 1.4.x repository?

Well, it is still in my local copy, but it is not distributed in
Makefile.am.

Any way it is here also in svn now. I am not sure what happened.

JMarc


Re: New e-mail

2006-02-10 Thread Angus Leeming
Asger Ottar Alstrup [EMAIL PROTECTED] writes:
 I've changed jobs (see http://www.area9.dk)

It seems a little excessive to insist on Flash for a text only page...

Angus



Re: 1.4cvs performance problem over network when adding a paragraph

2006-02-10 Thread Jean-Marc Lasgouttes
 Angus == Angus Leeming [EMAIL PROTECTED] writes:

Angus Abdelrazak Younes [EMAIL PROTECTED] writes:
 By the way, right now, there are multiple instances in the code
 where operator[] access is used. Thus implying that we must present
 a position type interface (vector alike). At the same time, like in
 the case above, there are instances where the coder preferred an
 iterator interface. I am fine with the idea of presenting both
 types of interfaces (my version of ParagraphList presents both) but
 what is the opinion of developers? Do we have to force one way or
 the other? My opinion is that for cases like the above, a position
 type interface is better because shorter. But there are other cases
 where an iterator interface should be very useful... albeit not
 many in current cvs (or svn ). But sometimes too much choice kills
 the flexibility...

Angus I believe that the operator[] interface was introduced by Andre
Angus as an optimization after profiling the code. 

Since our iterators store offsets (the pit, which are more stable than
a real iterator), we need direct access.

I think we need both interfaces.

JMarc


Re: 1.4cvs performance problem over network when adding a paragraph

2006-02-10 Thread Jean-Marc Lasgouttes
 Abdelrazak == Abdelrazak Younes [EMAIL PROTECTED] writes:

Abdelrazak By the way, right now, there are multiple instances in the
Abdelrazak code where operator[] access is used. Thus implying that
Abdelrazak we must present a position type interface (vector alike).
Abdelrazak At the same time, like in the case above, there are
Abdelrazak instances where the coder preferred an iterator interface.
Abdelrazak I am fine with the idea of presenting both types of
Abdelrazak interfaces (my version of ParagraphList presents both) but
Abdelrazak what is the opinion of developers? 

We should make it be as close as possible to a STL container. So both
interfaces would be welcome.

JMarc


Re: 1.4cvs performance problem patch impressions

2006-02-10 Thread Helge Hafting

Abdelrazak Younes wrote:


Helge Hafting a écrit :
[...]

I see that Helge Hafting has created bug 2287 for that so Helge, 
maybe you could attach this patch to this bug? And maybe test if 
there is any improvement with your use case?



This patch helps a lot, although there is one slow case left.



Very good. The remaining slowness might be related to the 
vector::reserve done at the construction as pointed by Andre Poenitz. 
Could you try to comment those lines out (lines 80 and 84 of 
Paragraph.C) and see if things improve?


PliVector_.reserve(VECTOR_RESERVE);


I commented them out, compiled, and found no difference.
Splitting an item in a bullet list is still slow, in cases where some 
later bullet

have an image.

Also, appending a single letter to a bullet item where an image is the 
last thing in the paragraph is still slow too.  Appending more writing 
after the first letter is ok,

it is the very first one that is the problem.

Helge Hafting


[Patch] multi-paragraph change tracking (Re: Baywatch doesn't repond)

2006-02-10 Thread Martin Vermeer
On Wed, 2006-02-08 at 12:16 +0200, Martin Vermeer wrote:
 On Wed, 2006-02-08 at 11:39 +0200, Martin Vermeer wrote:
  Anybody else notice that its sshd seems dead? As a result I cannot use
  CVS.
 
 The reason I'm asking is, I've got multi-paragraph change tracking
 working (for 1.4.1 as promised), but cannot make a patch ;-)
 
 - Martin

Here's the patch.

Basically it introduces one more position in a paragraph, after the last
character (i.e., pos = par.size() ) to represent the change attached to
the paragraph break (carriage return, which we don't really have in
our model).

Then the methods acceptChange and rejectChange in LyXText are modified
to handle multi-paragraph changes, deleting whole paragraphs and merging
two paragraphs when called for (i.e. accept red and reject blue
across paragraph breaks).

The patch necessitated some changes in surprising places:

1) I needed a backspace at pos = 0 routine that ignores change
tracking, in order to use from within the above methods. So I split off
the new method backspacePos0 from backspace, doing just that. This
change looks much bigger than it is, but it is just moving existing code
around.

2) I added a [C] display in the status bar when change tracking is on.
Actually I believe we can now allow CT to be switched on and off by the
user without demanding a merge, which caused trouble under the old
architecture. That's more like the way OOo (and MS Word?) works, and
saner IMHO.

Give this one a try. I was thinking 1.4.1 time frame.

- Martin


BTW First SVN Patch!

Index: paragraph_pimpl.C
===
--- paragraph_pimpl.C	(revision 13205)
+++ paragraph_pimpl.C	(working copy)
@@ -99,7 +99,7 @@
 	lyxerr[Debug::CHANGES]  track changes for par 
 		 id_   type   type  endl;
 	changes_.reset(new Changes(type));
-	changes_-set(type, 0, size());
+	changes_-set(type, 0, size() + 1);
 }
 
 
Index: lyxtext.h
===
--- lyxtext.h	(revision 13205)
+++ lyxtext.h	(working copy)
@@ -223,6 +223,8 @@
 	///
 	bool Delete(LCursor  cur);
 	///
+	bool backspacePos0(LCursor  cur);
+	///
 	bool backspace(LCursor  cur);
 	///
 	bool selectWordWhenUnderCursor(LCursor  cur, lyx::word_location);
Index: paragraph_funcs.C
===
--- paragraph_funcs.C	(revision 13205)
+++ paragraph_funcs.C	(working copy)
@@ -233,12 +233,15 @@
 	pos_type pos_end = next.size() - 1;
 	pos_type pos_insert = par.size();
 
+	Change::Type cr = next.lookupChange(next.size());
 	// ok, now copy the paragraph
 	for (pos_type i = 0, j = 0; i = pos_end; ++i) {
 		Change::Type change = next.lookupChange(i);
 		if (moveItem(next, par, bparams, i, pos_insert + j, change))
 			++j;
 	}
+	// Move the change status of carriage return over
+	par.setChange(par.size(), cr);

	pars.erase(pars.begin() + par_offset + 1);
 }
 
Index: lyxfind.C
===
--- lyxfind.C	(revision 13205)
+++ lyxfind.C	(working copy)
@@ -127,7 +127,7 @@
 
 bool findChange(DocIterator  cur)
 {
-	for (; cur; cur.forwardChar())
+	for (; cur; cur.forwardPos())
 		if (cur.inTexted()  cur.pos() != cur.paragraph().size() 
 		cur.paragraph().lookupChange(cur.pos())
 		!= Change::UNCHANGED)
@@ -344,25 +344,21 @@
 	if (!findChange(cur))
 		return false;
 
-	Paragraph const  par = cur.paragraph();
-	const pos_type pos = cur.pos();
+	bv-cursor().setCursor(cur);
+	bv-cursor().resetAnchor();
+	
+	Change orig_change = cur.paragraph().lookupChangeFull(cur.pos());
 
-	Change orig_change = par.lookupChangeFull(pos);
-	const pos_type parsize = par.size();
-	pos_type end = pos;
-
-	for (; end != parsize; ++end) {
-		Change change = par.lookupChangeFull(end);
+	DocIterator et = doc_iterator_end(cur.inset());
+	for (; cur != et; cur.forwardPosNoDescend()) {
+		Change change = cur.paragraph().lookupChangeFull(cur.pos());
 		if (change != orig_change) {
-			// slight UI optimisation: for replacements, we get
-			// text like : _old_new. Consider that as one change.
-			if (!(orig_change.type == Change::DELETED 
-change.type == Change::INSERTED))
-break;
+			break;
 		}
 	}
-	pos_type length = end - pos;
-	bv-putSelectionAt(cur, length, false);
+	// Now put cursor to end of selection:
+	bv-cursor().setCursor(cur);
+	bv-cursor().setSelection();
 	// if we used a lfun like in find/replace, dispatch would do
 	// that for us
 	bv-update();
Index: paragraph.C
===
--- paragraph.C	(revision 13205)
+++ paragraph.C	(working copy)
@@ -1639,14 +1639,14 @@
 
 Change::Type Paragraph::lookupChange(lyx::pos_type pos) const
 {
-	BOOST_ASSERT(empty() || pos  size());
+	BOOST_ASSERT(pos = size());
 	return pimpl_-lookupChange(pos);
 }
 
 
 Change const Paragraph::lookupChangeFull(lyx::pos_type pos) const
 {
-	BOOST_ASSERT(empty() || pos  size());
+	BOOST_ASSERT(pos = size());
 

Re: Baywatch is dead.

2006-02-10 Thread Kayvan A. Sylvan
On Fri, Feb 10, 2006 at 09:01:22AM +0100, Georg Baum wrote:
 Kayvan A. Sylvan wrote:
 
  Can you send me instructions for updating my anoncvs mirror?
 
 It would be nice if the anoncvs mirror would still be available for some
 time in order to convert some checked out trees to patches.

Good point. I won't do anything with it for a few months in any case.
-- 
Kayvan A. Sylvan  | Proud husband of   | Father to my kids:
Sylvan Associates, Inc.   | Laura Isabella Sylvan  | Katherine Yelena (8/8/89)
http://sylvan.com/~kayvan | crown of her husband | Robin Gregory (2/28/92)


Re: [PATCH] bug 2237: --with-version-suffix does not attach suffix to main binaries: lyx, lyxclient, tex2lyx

2006-02-10 Thread Jean-Marc Lasgouttes
 Jean-Marc == Jean-Marc Lasgouttes [EMAIL PROTECTED] writes:

Jean-Marc PS: I did not test bug2237-3.diff, I am currently compiling

It did not work very well, here is an updated version. I'd like to
apply that, if OSX and Windows people can comment on it.

On OSX, it installs in /Application/LyX-1.4.0cvs/ when version suffix
is -1.4.0cvs. Is that a good idea?

JMarc

Index: configure.ac
===
--- configure.ac	(revision 13205)
+++ configure.ac	(working copy)
@@ -9,6 +9,7 @@
 
 # First check the version
 LYX_CHECK_VERSION
+LYX_VERSION_SUFFIX
 AC_CANONICAL_TARGET
 
 dnl default maintainer mode to true for development versions
@@ -21,9 +22,8 @@
 
 # Check how the files should be packaged
 LYX_USE_PACKAGING
-LYX_VERSION_SUFFIX
 # We need to define these variables here and the no-define option of
-# AM_INIT_AUTOMAKE above because LYX_VERSION_SUFFIX alters $PACKAGE.
+# AM_INIT_AUTOMAKE above because we alter $PACKAGE in LYX_USE_PACKAGING. 
 AC_DEFINE_UNQUOTED(PACKAGE, $PACKAGE, [Name of package])
 
 ### Set the execute permissions of the various scripts correctly
Index: ChangeLog
===
--- ChangeLog	(revision 13205)
+++ ChangeLog	(working copy)
@@ -1,5 +1,9 @@
-2006-01-26[EMAIL PROTECTED]
+2006-02-07  Jean-Marc Lasgouttes  [EMAIL PROTECTED]
 
+	* configure.ac: call LYX_VERSION_SUFFIX earlier (bug 2237).
+
+2006-01-26  Lars Gullik Bjonnes  [EMAIL PROTECTED]
+
 	* autogen.sh: remove the --force-missing option to automake 
 
 2006-01-25  Jean-Marc Lasgouttes  [EMAIL PROTECTED]
Index: config/ChangeLog
===
--- config/ChangeLog	(revision 13205)
+++ config/ChangeLog	(working copy)
@@ -1,5 +1,10 @@
-2006-01-26  Lars Gullik Bjønne  s[EMAIL PROTECTED]
+2006-02-07  Jean-Marc Lasgouttes  [EMAIL PROTECTED]
 
+	* lyxinclude.m4 (LYX_VERSION_SUFFIX): do not alter PACKAGE here.
+	(LYX_USE_PACKAGING): add $program_suffix to PACKAGE (bug 2237).
+
+2006-01-26  Lars Gullik Bjønnes  [EMAIL PROTECTED]
+
 	* ltmain.sh: apply patch for darwin
 
 2005-12-30  Lars Gullik Bjonnes  [EMAIL PROTECTED]
Index: config/lyxinclude.m4
===
--- config/lyxinclude.m4	(revision 13205)
+++ config/lyxinclude.m4	(working copy)
@@ -7,7 +7,7 @@
 dnl Usage LYX_CHECK_VERSION   Displays version of LyX being built and
 dnl sets variables lyx_devel_version and lyx_prerelease
 AC_DEFUN([LYX_CHECK_VERSION],[
-echo configuring LyX version $VERSION
+echo configuring LyX version AC_PACKAGE_VERSION
 if echo AC_PACKAGE_VERSION | grep 'cvs' /dev/null ; then
   lyx_devel_version=yes
   AC_DEFINE(DEVEL_VERSION, 1, [Define if you are building a development version of LyX])
@@ -28,20 +28,19 @@
 dnl
 dnl
 AC_DEFUN([LYX_VERSION_SUFFIX],[
-AC_MSG_CHECKING([for install target])
+AC_MSG_CHECKING([for version suffix])
 RPM_VERSION_SUFFIX=''
 AC_ARG_WITH(version-suffix,
   [  --with-version-suffix[=version]  install lyx files as lyxversion],
   [if test x$withval = xyes;
then
- withval=-$VERSION
+ withval=-AC_PACKAGE_VERSION
  ac_configure_args=`echo $ac_configure_args | sed s,--with-version-suffix,--with-version-suffix=$withval,`
fi
-   PACKAGE=$PACKAGE$withval
program_suffix=$withval
RPM_VERSION_SUFFIX=--with-version-suffix=$withval])
 AC_SUBST(RPM_VERSION_SUFFIX)
-AC_MSG_RESULT([$PACKAGE])
+AC_MSG_RESULT([$withval])
 ])
 
 
@@ -586,21 +585,21 @@
 AC_MSG_RESULT($lyx_use_packaging)
 case $lyx_use_packaging in
macosx) AC_DEFINE(USE_MACOSX_PACKAGING, 1, [Define to 1 if LyX should use a MacOS X application bundle file layout])
-	   PACKAGE=LyX
-	   default_prefix=/Applications/LyX.app
+	   PACKAGE=LyX${program_suffix}
+	   default_prefix=/Applications/${PACKAGE}.app
 	   bindir='${prefix}/Contents/MacOS'
 	   libdir='${prefix}/Contents/Resources'
 	   datadir='${prefix}/Contents/Resources'
 	   mandir='${prefix}/Contents/Resources/man' ;;
   windows) AC_DEFINE(USE_WINDOWS_PACKAGING, 1, [Define to 1 if LyX should use a Windows-style file layout])
-	   PACKAGE=LyX
-	   default_prefix=C:/Program Files/LyX
+	   PACKAGE=LyX${program_suffix}
+	   default_prefix=C:/Program Files/${PACKAGE}
 	   bindir='${prefix}/bin'
 	   libdir='${prefix}/Resources'
 	   datadir='${prefix}/Resources'
 	   mandir='${prefix}/Resources/man' ;;
 posix) AC_DEFINE(USE_POSIX_PACKAGING, 1, [Define to 1 if LyX should use a POSIX-style file layout])
-	   PACKAGE=lyx
+	   PACKAGE=lyx${program_suffix}
 	   default_prefix=$ac_default_prefix ;;
 *) LYX_ERROR([Unknown packaging type $lyx_use_packaging]) ;;
 esac


Re: [PATCH] bug 2237: --with-version-suffix does not attach suffix to main binaries: lyx, lyxclient, tex2lyx

2006-02-10 Thread Jean-Marc Lasgouttes
 Jean-Marc == Jean-Marc Lasgouttes [EMAIL PROTECTED] writes:

Jean-Marc It did not work very well, here is an updated version. I'd
Jean-Marc like to apply that, if OSX and Windows people can comment
Jean-Marc on it.

Actually it did not work when using --with-version-suffix without
value. The same holds for bug2237-2, which would have to be corrected
if it is chosen.

Lars, assuming that it works, would this patch be OK?

JMarc


Re: [PATCH] bug 2237: --with-version-suffix does not attach suffix to main binaries: lyx, lyxclient, tex2lyx

2006-02-10 Thread Bennett Helm

On Feb 10, 2006, at 12:01 PM, Jean-Marc Lasgouttes wrote:

Jean-Marc == Jean-Marc Lasgouttes Jean- 
[EMAIL PROTECTED] writes:


Jean-Marc PS: I did not test bug2237-3.diff, I am currently compiling

It did not work very well, here is an updated version. I'd like to
apply that, if OSX and Windows people can comment on it.

On OSX, it installs in /Application/LyX-1.4.0cvs/ when version suffix
is -1.4.0cvs. Is that a good idea?


Well, I'm currently trying it, but it's forcing a complete recompile,  
which won't be finished until after I head home for the weekend, so I  
won't know for sure what it does until then. Anyway, I'll comment now.


I'm not sure what you mean in saying that it installs in /Application/ 
LyX-1.4.0cvs. When I reconfigure (with ./configure --with-frontend=qt  
--without-x --disable-concept-checks --with-qt-dir=/Users/bennett/lyx/ 
gcc-3.3/qt-mac-free-3.3.5 --without-aiksaurus --without-aspell -- 
without-pspell --enable-optimization=-Os --disable-assertions -- 
disable-stdlib-debug --with-version-suffix), I get:


Configuration
...
  Packaging:  macosx
  LyX binary dir: /Applications/LyX.app/Contents/MacOS
  LyX files dir:  /Applications/LyX.app/Contents/ 
Resources/LyX


That's not consistent with what you say, right?

One thing I've noticed *prior* to applying this patch, which it would  
be nice to fix, is that within the development/MacOSX/LyX.app bundle,  
there is Contents/Resources/LyX/preferences. When --with-version- 
suffix is used, it creates a *new* directory, Contents/Resources/ 
LyX-1.4.0cvs/ and uses that for the default user's directory, thereby  
bypassing the preferences file (which provides, most importantly,  
correct PATH_prefix settings for OS X). It would be nice to have  
preferences moved automatically to the correct directory within the  
application bundle.


Concerning the executables, when LyX.app is opened, it searches for  
LyX.app/Contents/MacOS/lyx. (No amount of monkeying around with the  
Info.plist file -- including the CFBundleExecutable key that's  
supposed to control this -- seems to have any consistent effect.)  
Consequently, I create a soft link from lyx to lyx-1.4.0cvs, but  
that's something I have to do manually. On OS X, application bundles  
can have different names and are moveable. Consequently, I have  
LyX.app as my stable version for everyday use, and LyX-13x.app and  
LyX-14x.app for testing versions (which I determine using the -- 
prefix config flag). Moreover, I've compiled 1.4.0 using --with- 
version-suffix so that it uses a different user directory (~/Library/ 
Application Support/LyX-1.4.0cvs) than 1.3.x (~/Library/Application  
Support/LyX). Indeed, this last difference due to --with-version- 
suffix is the only thing that matters on OS X.


So, for OS X it would be best IMO to do the following when dealing  
with --with-version-suffix:


1. leave executable names alone (to avoid the need for soft links),
2. use the --with-version-suffix setting to determine the user's  
directory, and
3. (eventually) make sure that the default preferences file gets  
copied into the appropriate lyx-xxx directory inside the application  
bundle on make install.


[By the way, my intent for the 1.4.x series releases is to compile  
with --with-version-suffix=-1.4, so that people can have different  
user directories for 1.3.x and 1.4.x if they like. (That's something  
I like because I use customized .ui and .bind files, which differ  
between the two versions.) I've updated the installer to automate  
copying over files and changing preferences to point to the new  
directory.]


Bennett


Re: Repo moved to subversion

2006-02-10 Thread Bo Peng
 Great job!!!

Indeed! Would you consider adding svn version number to the about box?
Then I can report problems for cvs/revision 12345, not just 'current
cvs'.

Cheers,
Bo


Re: [PATCH] bug 2237: --with-version-suffix does not attach suffix to main binaries: lyx, lyxclient, tex2lyx

2006-02-10 Thread Bennett Helm


On Feb 10, 2006, at 3:25 PM, Bennett Helm wrote:


On Feb 10, 2006, at 12:01 PM, Jean-Marc Lasgouttes wrote:

Jean-Marc == Jean-Marc Lasgouttes Jean- 
[EMAIL PROTECTED] writes:


Jean-Marc PS: I did not test bug2237-3.diff, I am currently  
compiling


It did not work very well, here is an updated version. I'd like to
apply that, if OSX and Windows people can comment on it.

On OSX, it installs in /Application/LyX-1.4.0cvs/ when version suffix
is -1.4.0cvs. Is that a good idea?


Well, I'm currently trying it, but it's forcing a complete  
recompile, which won't be finished until after I head home for the  
weekend, so I won't know for sure what it does until then. Anyway,  
I'll comment now.


I'm not sure what you mean in saying that it installs in / 
Application/LyX-1.4.0cvs. When I reconfigure (with ./configure -- 
with-frontend=qt --without-x --disable-concept-checks --with-qt- 
dir=/Users/bennett/lyx/gcc-3.3/qt-mac-free-3.3.5 --without- 
aiksaurus --without-aspell --without-pspell --enable-optimization=- 
Os --disable-assertions --disable-stdlib-debug --with-version- 
suffix), I get:


Configuration
...
  Packaging:  macosx
  LyX binary dir: /Applications/LyX.app/Contents/MacOS
  LyX files dir:  /Applications/LyX.app/Contents/ 
Resources/LyX


That's not consistent with what you say, right?


OK -- I guessed wrong: the recompile did finish early enough.

Executables are installed into (for example) /Applications/LyX.app/ 
Contents/MacOS/lyx-. (Note the trailing -, with nothing after it;  
same is true for other executables.) Moreover, the user dir it uses  
is ~/Library/Application Support/LyX (with no trailing -). So it  
looks like configure isn't working properly. (But I can't investigate  
more now.)


Bennett


Baywatch is back from the dead... _but_

2006-02-10 Thread Lars Gullik Bjønnes

I am not going to open up the cvs repo again.

I'll rather setup baywatch for backup tasks.

-- 
Lgb


Write access to the repo

2006-02-10 Thread Lars Gullik Bjønnes

Things should be up and running now, but I have so far only added
myself.

Please post an answer to this mail if you would like me to enable your
write access.

-- 
Lgb


Re: Write access to the repo

2006-02-10 Thread Jose' Matos
On Friday 10 February 2006 23:19, Lars Gullik Bjønnes wrote:
 Please post an answer to this mail if you would like me to enable your
 write access.

  I do. :-)

 --
 Lgb

-- 
José Abílio


Re: Some minor errors in the new svn repository

2006-02-10 Thread Georg Baum
Angus Leeming wrote:

 Lars Gullik Bjønnes [EMAIL PROTECTED] writes:
 Jean-Marc Lasgouttes [EMAIL PROTECTED] writes:
 
 The script doesn't know anything about version control. It builds the
 checked-out sources into a LyX executable.
 
 | -- cvs/development/Win32/packaging/build_lyxwin.sh
 | +++ lyx-devel/development/Win32/packaging/build_lyxwin.sh
 |  at  at  -242,7 +242,8  at  at
 | # The configure script will be unable to create config.h if it
 | # contains Win32-style line endings.
 | rm -f configure.ac
 | -   sed 's/^M$//' config/configure.ac  configure.ac.$$
 | +   sed 's/
 | +$//' config/configure.ac  configure.ac.$$
 | cmp -s config/configure.ac configure.ac.$$  {
 | rm -f configure.ac.$$
 | } || {
 
 We needed (something like) this because CVS imports text files from the
 repository and gives them Windows line endings (\r\n) by default.

With svn you can specify whether a checked out file should have always \r,
always \n, always \r\n, or the native line ending of the client OS (the
latter is the behaviour of cvs). See
http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.3.5

IMHO the right fix for this problem is to set the svn:eol-style property of
configure.ac to LF and remove the above code in build_lyxwin.sh.

Of course this should be done ny somebody who can actually check whether it
has the desired effect on windows.


Georg



Re: Write access to the repo

2006-02-10 Thread Martin Vermeer
On Sat, Feb 11, 2006 at 12:19:17AM +0100, Lars Gullik Bjønnes wrote:
 
 Things should be up and running now, but I have so far only added
 myself.
 
 Please post an answer to this mail if you would like me to enable your
 write access.

In due time, yes... let's get 1.4.0 out now first.

- Martin

BTW great job. Would it be time now to upgrade baywatch's MB? Just in
case... 
 


pgp7jvR9UGUyv.pgp
Description: PGP signature


Re: Baywatch is dead.

2006-02-10 Thread Michael Gerz

Lars Gullik Bjønnes wrote:


| Can you send me instructions for updating my anoncvs mirror?

When things are up and going again, yes.

OTOH it might not be needed anymore, since I guess we will run anon
access from the main subversion repo as well.
 



I think you have to use subversion's hotbackup feature.

Michael



Re: Baywatch is dead.

2006-02-10 Thread Georg Baum
Kayvan A. Sylvan wrote:

> Can you send me instructions for updating my anoncvs mirror?

It would be nice if the anoncvs mirror would still be available for some
time in order to convert some checked out trees to patches.


Georg



Re: Repo moved to subversion - something changed?

2006-02-10 Thread Helge Hafting

I installed subversion and checked out anonymously.
I ran ./autogen.sh and ./configure as usual,
but then "make" failed:
$ nice make
make: *** No targets specified and no makefile found.  Stop.

Did the rules change somehow?


Helge Hafting


Re: Repo moved to subversion - something changed?

2006-02-10 Thread Lars Gullik Bjønnes
Helge Hafting <[EMAIL PROTECTED]> writes:

| I installed subversion and checked out anonymously.
| I ran ./autogen.sh and ./configure as usual,
| but then "make" failed:
| $ nice make
| make: *** No targets specified and no makefile found.  Stop.
| 
| Did the rules change somehow?

No. Everything works as usual for me.

Are you able to debug this a bit further?

-- 
Lgb



Re: Repo moved to subversion - something changed?

2006-02-10 Thread Georg Baum
Helge Hafting wrote:

> I installed subversion and checked out anonymously.
> I ran ./autogen.sh and ./configure as usual,
> but then "make" failed:
> $ nice make
> make: *** No targets specified and no makefile found.  Stop.
> 
> Did the rules change somehow?

I don't think so. It works for me (but with separate build directory). Did
autogen.sh or configure spit out anything unusual?


Georg



Re: 1.4cvs performance problem over network when adding a paragraph

2006-02-10 Thread Abdelrazak Younes

Angus Leeming a écrit :
Ah... This is because I didn't go to the full monty... I forgot to erase 
those three lines:

-   advance(first, first_pit);
-   ParagraphList::const_iterator last = plist.begin();
-   advance(last, last_pit + 1);

It is better now, isn't it?


I think so, but if last_pit is a ParagraphList::iterator which won't necessarily
model a Random Access Iterator in the future, you should probably use
undo.pars = ParagraphList(plist, first_pit, boost::next(last_pit));


In this case, first_pit and last_pit are positions in the ParagraphList 
plist. But I can also provide a ParagraphList constructor that will 
accept iterators "a la STL".



One thing I'm less keen on in your code is your use of multiple typedefs
in the ParagraphList to mean the same thing
If I knew I would have had that kind of comments I would have cleaned up 
the patch before sending it 
This was just proof of concept but this is not a reason, I know...


But you asked me to review your code


I am not quite sure of the meaning of "splutter" but I was kidding (did 
I forgot the smiley). Your comments are of course very welcome.


Thanks,
Abdel.


Keep up the good work.

Angus








Re: Repo moved to subversion - something changed?

2006-02-10 Thread Lars Gullik Bjønnes
Georg Baum <[EMAIL PROTECTED]> writes:

| Helge Hafting wrote:
| 
| > I installed subversion and checked out anonymously.
| > I ran ./autogen.sh and ./configure as usual,
| > but then "make" failed:
| > $ nice make
| > make: *** No targets specified and no makefile found.  Stop.
| > 
| > Did the rules change somehow?
| 
| I don't think so. It works for me (but with separate build directory). Did
| autogen.sh or configure spit out anything unusual?

I have now both tested regular and anon access and build. Both work
fine for me.

-- 
Lgb



Re: Baywatch is dead.

2006-02-10 Thread Lars Gullik Bjønnes
Georg Baum <[EMAIL PROTECTED]> writes:

| Kayvan A. Sylvan wrote:
| 
| > Can you send me instructions for updating my anoncvs mirror?
| 
| It would be nice if the anoncvs mirror would still be available for some
| time in order to convert some checked out trees to patches.

For those of you with a developer accoutn on aussie I have make it
possible to get read-only access to the old cvs tree.

You have to relocate your workingcopy to use aussie.lyx.org and to use
/home/lyx/cvs as the path. No anon access.
This can then be used for creating diffs etc, so that modified
workingcopies can more easily be moved to subversion as well.

--- script - reloacate cvs wc
cp CVS/Root newroot
vim newroot

find . -name Root -exec cp newroot {} \;
--- endscript

-- 
Lgb



Re: Baywatch is dead.

2006-02-10 Thread Georg Baum
Lars Gullik Bjønnes wrote:

> For those of you with a developer accoutn on aussie I have make it
> possible to get read-only access to the old cvs tree.

Thanks.

> You have to relocate your workingcopy to use aussie.lyx.org and to use
> /home/lyx/cvs as the path. No anon access.

> This can then be used for creating diffs etc, so that modified
> workingcopies can more easily be moved to subversion as well.

That was exactly my intention.

> --- script - reloacate cvs wc
> cp CVS/Root newroot
> vim newroot
> 
> find . -name Root -exec cp newroot {} \;
> --- endscript

Or use cvschroot from the cvsutils package.


Georg



Re: 1.4cvs performance problem over network when adding a paragraph

2006-02-10 Thread Abdelrazak Younes

Abdelrazak Younes a écrit :

Angus Leeming a écrit :
Ah... This is because I didn't go to the full monty... I forgot to 
erase those three lines:

-  advance(first, first_pit);
-  ParagraphList::const_iterator last = plist.begin();
-  advance(last, last_pit + 1);

It is better now, isn't it?


I think so, but if last_pit is a ParagraphList::iterator which won't 
necessarily

model a Random Access Iterator in the future, you should probably use
undo.pars = ParagraphList(plist, first_pit, boost::next(last_pit));


In this case, first_pit and last_pit are positions in the ParagraphList 
plist. But I can also provide a ParagraphList constructor that will 
accept iterators "a la STL".


By the way, right now, there are multiple instances in the code where 
operator[] access is used. Thus implying that we must present a position 
type interface (vector alike). At the same time, like in the case above, 
there are instances where the coder preferred an iterator interface. I 
am fine with the idea of presenting both types of interfaces (my version 
of ParagraphList presents both) but what is the opinion of developers? 
Do we have to force one way or the other?
My opinion is that for cases like the above, a position type interface 
is better because shorter. But there are other cases where an iterator 
interface should be very useful... albeit not many in current cvs (or 
svn :-)). But sometimes too much choice kills the flexibility...


Abdel.



Re: Repo moved to subversion - problem solved

2006-02-10 Thread Helge Hafting

Georg Baum wrote:


Helge Hafting wrote:

 


I installed subversion and checked out anonymously.
I ran ./autogen.sh and ./configure as usual,
but then "make" failed:
$ nice make
make: *** No targets specified and no makefile found.  Stop.

Did the rules change somehow?
   



I don't think so. It works for me (but with separate build directory). Did
autogen.sh or configure spit out anything unusual?
 


Problem solved.  When I run configure, I look up the previous config.log
and paste the command from there.  Sometimes the config.log
contains the configure parameters --no-create --no-recursion.
I forgot to remove them, and that caused the problem.

(why are those parameters there?  config.log claims this is the
incocation command line - but I never use those parameters myself.)
Re-running configure without those parameters fixed it.

The transition to subversion was nice, the checkout was much faster
than a cvs checkout.  Faster than a cvs update, even.

Helge Hafting




Some minor errors in the new svn repository

2006-02-10 Thread Jean-Marc Lasgouttes

I did a diff of my cvs lyx-devel and the new svn one. There are a
couple of minor problems:

*** in build_lyxwin.sh a ^M has been replaced with ^J. This code may
not be useful anymore with svn under windows.

-- cvs/development/Win32/packaging/build_lyxwin.sh 2005-07-17 23:31:02.
0 +0200
+++ lyx-devel/development/Win32/packaging/build_lyxwin.sh   2006-02-10 11:06
:44.0 +0100
@@ -242,7 +242,8 @@
# The configure script will be unable to create config.h if it
# contains Win32-style line endings.
rm -f configure.ac
-   sed 's/^M$//' config/configure.ac > configure.ac.$$
+   sed 's/
+$//' config/configure.ac > configure.ac.$$
cmp -s config/configure.ac configure.ac.$$ && {
rm -f configure.ac.$$
} || {


*** The file INSTALL.OS2 is missing

I guess we should get rid of the .cvsignore files, also.

JMarc


Re: 1.4cvs performance problem patch impressions

2006-02-10 Thread Helge Hafting

Abdelrazak Younes wrote:


Andre Poenitz a écrit :


On Mon, Feb 06, 2006 at 09:59:42AM +0100, Jean-Marc Lasgouttes wrote:


"Helge" == Helge Hafting <[EMAIL PROTECTED]> writes:



Helge> I tested the userguide, no problems there. Further testing
Helge> shows that it is related to images. I have some high resolution
Helge> images - of course I expect those to be slow. But the slowness
Helge> happen even in cases where images aren't on screen. Typical
Helge> case:

This is what I was about to suggest: currently, every time a paragraph
is created/killed, the whole document after it is duplicated. For
images, this means a lot of work. In particular, I think a pixmap is
created in the X server, which means a lot of data to transfer.



We should try Abdel's 'transparent vector of pointers' approach soonish.



This is the signal I was waiting for... ;-)
I have implemented this approach yesterday evening. The gain in 
responsiveness when inserting or removing paragraphs is not fantastic 
but it is sensible. _But_, my debug info tells me that those actions 
are _immediate_ now, whereas they were not with the classic 
vector approach. So I think there is another bottleneck 
elsewhere.
I have put convenience function so as to minimize the changes needed 
in the code that uses ParagraphList. But there are some minimal (IMHO) 
change. The interface is simpler so a lot of code could be simplified 
with this new class.


Anyway, please find attached the patch. Everything but CutAndPaste 
(which crashes lyx) seems to work OK. But I didn't do extensive 
testing... sorry about that. If this is interesting to you, I'll try 
to find some time this week-end to refine the approach.


I see that Helge Hafting has created bug 2287 for that so Helge, maybe 
you could attach this patch to this bug? And maybe test if there is 
any improvement with your use case?


This patch helps a lot, although there is one slow case left.
I opened my document, over the net, and scrolled through it to make sure all
the images was loaded. 

Splitting paragraphs in the beginning generally work well.  The delay is 
gone
from most of the paragraph-splitting cases, very good!  The remaining 
slow cases are:
* Split a bullet list item, when some later bullet in that list contains 
an image.

 Curiously enough, re-merging these entries (by backspacing over the
 paragraph split) is fast.  It is only the split that is slow.
* Split the paragraph containing an image. (Possibly the same as the 
previous

 one, for it was also a bullet-list entry.

Splitting bullet paragraphs after the last image in a list is ok, and so is
splitting bullet paragraphs in lists that don't have images.

I also discovered another slow case, which exist in standard lyx as well:
Sometimes, simply adding text to the end of a bullet paragraph that
have an image, will be slow.  20s to add an "a" after the image,
the image was the previous last position of that paragraph.  Something
went wrong, the delay was even worse than the usual paragraph splitting 
delay,

the network was busy all that time.

Helge Hafting


Re: Some minor errors in the new svn repository

2006-02-10 Thread Lars Gullik Bjønnes
Jean-Marc Lasgouttes <[EMAIL PROTECTED]> writes:

| I did a diff of my cvs lyx-devel and the new svn one. There are a
| couple of minor problems:
| 
| *** in build_lyxwin.sh a ^M has been replaced with ^J. This code may
| not be useful anymore with svn under windows.
| 
| -- cvs/development/Win32/packaging/build_lyxwin.sh 2005-07-17 
23:31:02.
| 0 +0200
| +++ lyx-devel/development/Win32/packaging/build_lyxwin.sh   2006-02-10 
11:06
| :44.0 +0100
| @@ -242,7 +242,8 @@
| # The configure script will be unable to create config.h if it
| # contains Win32-style line endings.
| rm -f configure.ac
| -   sed 's/^M$//' config/configure.ac > configure.ac.$$
| +   sed 's/
| +$//' config/configure.ac > configure.ac.$$
| cmp -s config/configure.ac configure.ac.$$ && {
| rm -f configure.ac.$$
| } || {

This is a but in the sed script! Controlchars should never be present
in text files. Just exchange it for '\r'

| *** The file INSTALL.OS2 is missing

Hmm... strange. So it should be re-added then.
 
| I guess we should get rid of the .cvsignore files, also.

Yes, I'll come around to cleaning up a lot of small stuff.

-- 
Lgb



Re: 1.4cvs performance problem patch impressions

2006-02-10 Thread Abdelrazak Younes

Helge Hafting a écrit :
[...]
I see that Helge Hafting has created bug 2287 for that so Helge, maybe 
you could attach this patch to this bug? And maybe test if there is 
any improvement with your use case?


This patch helps a lot, although there is one slow case left.


Very good. The remaining slowness might be related to the 
vector::reserve done at the construction as pointed by Andre Poenitz. 
Could you try to comment those lines out (lines 80 and 84 of 
Paragraph.C) and see if things improve?


PliVector_.reserve(VECTOR_RESERVE);

Thanks for testing,
Abdel.



New e-mail

2006-02-10 Thread Asger Ottar Alstrup

Hi,

I've changed jobs (see http://www.area9.dk) and therefore e-mails. You 
can reach me on these addresses now:


Work: [EMAIL PROTECTED]
Private: [EMAIL PROTECTED]

So when is 1.4.0 coming?

Regards,
Asger Ottar Alstrup



Re: Some minor errors in the new svn repository

2006-02-10 Thread Angus Leeming
Lars Gullik Bjønnes <[EMAIL PROTECTED]> writes:
> Jean-Marc Lasgouttes <[EMAIL PROTECTED]> writes:
> 
> | I did a diff of my cvs lyx-devel and the new svn one. There are a
> | couple of minor problems:
> | 
> | *** in build_lyxwin.sh a ^M has been replaced with ^J. This code may
> | not be useful anymore with svn under windows.

The script doesn't know anything about version control. It builds the
checked-out sources into a LyX executable.

> | -- cvs/development/Win32/packaging/build_lyxwin.sh
> | +++ lyx-devel/development/Win32/packaging/build_lyxwin.sh
> |  -242,7 +242,8 
> | # The configure script will be unable to create config.h if it
> | # contains Win32-style line endings.
> | rm -f configure.ac
> | -   sed 's/^M$//' config/configure.ac > configure.ac.$$
> | +   sed 's/
> | +$//' config/configure.ac > configure.ac.$$
> | cmp -s config/configure.ac configure.ac.$$ && {
> | rm -f configure.ac.$$
> | } || {

We needed (something like) this because CVS imports text files from the
repository and gives them Windows line endings (\r\n) by default. However,
autoconf gets horribly confused by the \r\n line ending, so we must convert to
unix-style \n line endings. There's a tool, dos2unix.exe that does this and lots
more; I was worried by the lots more (changes character encoding too, among
other things). Also it isn't a standard MSYS tool.

> This is a but in the sed script! Controlchars should never be present
> in text files. Just exchange it for '\r'

Sorry, but in general you're wrong. '\r' is not portable among different seds.
However, in this specific case, you're probably right. Of course, you'll get a
Windows user to test the change, right?

> | *** The file INSTALL.OS2 is missing
> Hmm... strange. So it should be re-added then.

I thought we killed this file in the 1.4.x repository?

Angus



Re: 1.4cvs performance problem over network when adding a paragraph

2006-02-10 Thread Angus Leeming
Abdelrazak Younes <[EMAIL PROTECTED]> writes:
> By the way, right now, there are multiple instances in the code where 
> operator[] access is used. Thus implying that we must present a position 
> type interface (vector alike). At the same time, like in the case above, 
> there are instances where the coder preferred an iterator interface. I 
> am fine with the idea of presenting both types of interfaces (my version 
> of ParagraphList presents both) but what is the opinion of developers? 
> Do we have to force one way or the other?
> My opinion is that for cases like the above, a position type interface 
> is better because shorter. But there are other cases where an iterator 
> interface should be very useful... albeit not many in current cvs (or 
> svn ). But sometimes too much choice kills the flexibility...

I believe that the operator[] interface was introduced by Andre as an
optimization after profiling the code. There's lots of explanation buried in the
archives, but I'd guess that the person with the most experience of this stuff
(and who's also active ;-)) is Martin.

I'd try Jean-Marc and Lars if I wanted to discuss killing either interface...

Angus




Re: Some minor errors in the new svn repository

2006-02-10 Thread Jean-Marc Lasgouttes
> "Angus" == Angus Leeming <[EMAIL PROTECTED]> writes:

Angus> The script doesn't know anything about version control. It
Angus> builds the checked-out sources into a LyX executable.
[...]
Angus> We needed (something like) this because CVS imports text files
Angus> from the repository and gives them Windows line endings (\r\n)
Angus> by default. 

Comparing these two sentences, can't you see what version control may
have to do with it?

>> | *** The file INSTALL.OS2 is missing Hmm... strange. So it should
>> be re-added then.

Angus> I thought we killed this file in the 1.4.x repository?

Well, it is still in my local copy, but it is not distributed in
Makefile.am.

Any way it is here also in svn now. I am not sure what happened.

JMarc


Re: New e-mail

2006-02-10 Thread Angus Leeming
Asger Ottar Alstrup <[EMAIL PROTECTED]> writes:
> I've changed jobs (see http://www.area9.dk)

It seems a little excessive to insist on Flash for a text only page...

Angus



Re: 1.4cvs performance problem over network when adding a paragraph

2006-02-10 Thread Jean-Marc Lasgouttes
> "Angus" == Angus Leeming <[EMAIL PROTECTED]> writes:

Angus> Abdelrazak Younes <[EMAIL PROTECTED]> writes:
>> By the way, right now, there are multiple instances in the code
>> where operator[] access is used. Thus implying that we must present
>> a position type interface (vector alike). At the same time, like in
>> the case above, there are instances where the coder preferred an
>> iterator interface. I am fine with the idea of presenting both
>> types of interfaces (my version of ParagraphList presents both) but
>> what is the opinion of developers? Do we have to force one way or
>> the other? My opinion is that for cases like the above, a position
>> type interface is better because shorter. But there are other cases
>> where an iterator interface should be very useful... albeit not
>> many in current cvs (or svn ). But sometimes too much choice kills
>> the flexibility...

Angus> I believe that the operator[] interface was introduced by Andre
Angus> as an optimization after profiling the code. 

Since our iterators store offsets (the pit, which are more stable than
a real iterator), we need direct access.

I think we need both interfaces.

JMarc


Re: 1.4cvs performance problem over network when adding a paragraph

2006-02-10 Thread Jean-Marc Lasgouttes
> "Abdelrazak" == Abdelrazak Younes <[EMAIL PROTECTED]> writes:

Abdelrazak> By the way, right now, there are multiple instances in the
Abdelrazak> code where operator[] access is used. Thus implying that
Abdelrazak> we must present a position type interface (vector alike).
Abdelrazak> At the same time, like in the case above, there are
Abdelrazak> instances where the coder preferred an iterator interface.
Abdelrazak> I am fine with the idea of presenting both types of
Abdelrazak> interfaces (my version of ParagraphList presents both) but
Abdelrazak> what is the opinion of developers? 

We should make it be as close as possible to a STL container. So both
interfaces would be welcome.

JMarc


Re: 1.4cvs performance problem patch impressions

2006-02-10 Thread Helge Hafting

Abdelrazak Younes wrote:


Helge Hafting a écrit :
[...]

I see that Helge Hafting has created bug 2287 for that so Helge, 
maybe you could attach this patch to this bug? And maybe test if 
there is any improvement with your use case?



This patch helps a lot, although there is one slow case left.



Very good. The remaining slowness might be related to the 
vector::reserve done at the construction as pointed by Andre Poenitz. 
Could you try to comment those lines out (lines 80 and 84 of 
Paragraph.C) and see if things improve?


PliVector_.reserve(VECTOR_RESERVE);


I commented them out, compiled, and found no difference.
Splitting an item in a bullet list is still slow, in cases where some 
later bullet

have an image.

Also, appending a single letter to a bullet item where an image is the 
last thing in the paragraph is still slow too.  Appending more writing 
after the first letter is ok,

it is the very first one that is the problem.

Helge Hafting


[Patch] multi-paragraph change tracking (Re: Baywatch doesn't repond)

2006-02-10 Thread Martin Vermeer
On Wed, 2006-02-08 at 12:16 +0200, Martin Vermeer wrote:
> On Wed, 2006-02-08 at 11:39 +0200, Martin Vermeer wrote:
> > Anybody else notice that its sshd seems dead? As a result I cannot use
> > CVS.
> 
> The reason I'm asking is, I've got multi-paragraph change tracking
> working (for 1.4.1 as promised), but cannot make a patch ;-)
> 
> - Martin

Here's the patch.

Basically it introduces one more position in a paragraph, after the last
character (i.e., pos = par.size() ) to represent the change attached to
the paragraph break ("carriage return", which we don't really have in
our model).

Then the methods acceptChange and rejectChange in LyXText are modified
to handle multi-paragraph changes, deleting whole paragraphs and merging
two paragraphs when called for (i.e. "accept red" and "reject blue"
across paragraph breaks).

The patch necessitated some changes in surprising places:

1) I needed a "backspace at pos = 0" routine that ignores change
tracking, in order to use from within the above methods. So I split off
the new method backspacePos0 from backspace, doing just that. This
change looks much bigger than it is, but it is just moving existing code
around.

2) I added a "[C]" display in the status bar when change tracking is on.
Actually I believe we can now allow CT to be switched on and off by the
user without demanding a merge, which caused trouble under the old
architecture. That's more like the way OOo (and MS Word?) works, and
saner IMHO.

Give this one a try. I was thinking 1.4.1 time frame.

- Martin


BTW First SVN Patch!

Index: paragraph_pimpl.C
===
--- paragraph_pimpl.C	(revision 13205)
+++ paragraph_pimpl.C	(working copy)
@@ -99,7 +99,7 @@
 	lyxerr[Debug::CHANGES] << "track changes for par "
 		<< id_ << " type " << type << endl;
 	changes_.reset(new Changes(type));
-	changes_->set(type, 0, size());
+	changes_->set(type, 0, size() + 1);
 }
 
 
Index: lyxtext.h
===
--- lyxtext.h	(revision 13205)
+++ lyxtext.h	(working copy)
@@ -223,6 +223,8 @@
 	///
 	bool Delete(LCursor & cur);
 	///
+	bool backspacePos0(LCursor & cur);
+	///
 	bool backspace(LCursor & cur);
 	///
 	bool selectWordWhenUnderCursor(LCursor & cur, lyx::word_location);
Index: paragraph_funcs.C
===
--- paragraph_funcs.C	(revision 13205)
+++ paragraph_funcs.C	(working copy)
@@ -233,12 +233,15 @@
 	pos_type pos_end = next.size() - 1;
 	pos_type pos_insert = par.size();
 
+	Change::Type cr = next.lookupChange(next.size());
 	// ok, now copy the paragraph
 	for (pos_type i = 0, j = 0; i <= pos_end; ++i) {
 		Change::Type change = next.lookupChange(i);
 		if (moveItem(next, par, bparams, i, pos_insert + j, change))
 			++j;
 	}
+	// Move the change status of "carriage return" over
+	par.setChange(par.size(), cr);

	pars.erase(pars.begin() + par_offset + 1);
 }
 
Index: lyxfind.C
===
--- lyxfind.C	(revision 13205)
+++ lyxfind.C	(working copy)
@@ -127,7 +127,7 @@
 
 bool findChange(DocIterator & cur)
 {
-	for (; cur; cur.forwardChar())
+	for (; cur; cur.forwardPos())
 		if (cur.inTexted() && cur.pos() != cur.paragraph().size() &&
 		cur.paragraph().lookupChange(cur.pos())
 		!= Change::UNCHANGED)
@@ -344,25 +344,21 @@
 	if (!findChange(cur))
 		return false;
 
-	Paragraph const & par = cur.paragraph();
-	const pos_type pos = cur.pos();
+	bv->cursor().setCursor(cur);
+	bv->cursor().resetAnchor();
+	
+	Change orig_change = cur.paragraph().lookupChangeFull(cur.pos());
 
-	Change orig_change = par.lookupChangeFull(pos);
-	const pos_type parsize = par.size();
-	pos_type end = pos;
-
-	for (; end != parsize; ++end) {
-		Change change = par.lookupChangeFull(end);
+	DocIterator et = doc_iterator_end(cur.inset());
+	for (; cur != et; cur.forwardPosNoDescend()) {
+		Change change = cur.paragraph().lookupChangeFull(cur.pos());
 		if (change != orig_change) {
-			// slight UI optimisation: for replacements, we get
-			// text like : _old_new. Consider that as one change.
-			if (!(orig_change.type == Change::DELETED &&
-change.type == Change::INSERTED))
-break;
+			break;
 		}
 	}
-	pos_type length = end - pos;
-	bv->putSelectionAt(cur, length, false);
+	// Now put cursor to end of selection:
+	bv->cursor().setCursor(cur);
+	bv->cursor().setSelection();
 	// if we used a lfun like in find/replace, dispatch would do
 	// that for us
 	bv->update();
Index: paragraph.C
===
--- paragraph.C	(revision 13205)
+++ paragraph.C	(working copy)
@@ -1639,14 +1639,14 @@
 
 Change::Type Paragraph::lookupChange(lyx::pos_type pos) const
 {
-	BOOST_ASSERT(empty() || pos < size());
+	BOOST_ASSERT(pos <= size());
 	return pimpl_->lookupChange(pos);
 }
 
 
 Change const Paragraph::lookupChangeFull(lyx::pos_type pos) const
 {
-	

Re: Baywatch is dead.

2006-02-10 Thread Kayvan A. Sylvan
On Fri, Feb 10, 2006 at 09:01:22AM +0100, Georg Baum wrote:
> Kayvan A. Sylvan wrote:
> 
> > Can you send me instructions for updating my anoncvs mirror?
> 
> It would be nice if the anoncvs mirror would still be available for some
> time in order to convert some checked out trees to patches.

Good point. I won't do anything with it for a few months in any case.
-- 
Kayvan A. Sylvan  | Proud husband of   | Father to my kids:
Sylvan Associates, Inc.   | Laura Isabella Sylvan  | Katherine Yelena (8/8/89)
http://sylvan.com/~kayvan | "crown of her husband" | Robin Gregory (2/28/92)


Re: [PATCH] bug 2237: --with-version-suffix does not attach suffix to main binaries: lyx, lyxclient, tex2lyx

2006-02-10 Thread Jean-Marc Lasgouttes
> "Jean-Marc" == Jean-Marc Lasgouttes <[EMAIL PROTECTED]> writes:

Jean-Marc> PS: I did not test bug2237-3.diff, I am currently compiling

It did not work very well, here is an updated version. I'd like to
apply that, if OSX and Windows people can comment on it.

On OSX, it installs in /Application/LyX-1.4.0cvs/ when version suffix
is -1.4.0cvs. Is that a good idea?

JMarc

Index: configure.ac
===
--- configure.ac	(revision 13205)
+++ configure.ac	(working copy)
@@ -9,6 +9,7 @@
 
 # First check the version
 LYX_CHECK_VERSION
+LYX_VERSION_SUFFIX
 AC_CANONICAL_TARGET
 
 dnl default maintainer mode to true for development versions
@@ -21,9 +22,8 @@
 
 # Check how the files should be packaged
 LYX_USE_PACKAGING
-LYX_VERSION_SUFFIX
 # We need to define these variables here and the no-define option of
-# AM_INIT_AUTOMAKE above because LYX_VERSION_SUFFIX alters $PACKAGE.
+# AM_INIT_AUTOMAKE above because we alter $PACKAGE in LYX_USE_PACKAGING. 
 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
 
 ### Set the execute permissions of the various scripts correctly
Index: ChangeLog
===
--- ChangeLog	(revision 13205)
+++ ChangeLog	(working copy)
@@ -1,5 +1,9 @@
-2006-01-26<[EMAIL PROTECTED]>
+2006-02-07  Jean-Marc Lasgouttes  <[EMAIL PROTECTED]>
 
+	* configure.ac: call LYX_VERSION_SUFFIX earlier (bug 2237).
+
+2006-01-26  Lars Gullik Bjonnes  <[EMAIL PROTECTED]>
+
 	* autogen.sh: remove the --force-missing option to automake 
 
 2006-01-25  Jean-Marc Lasgouttes  <[EMAIL PROTECTED]>
Index: config/ChangeLog
===
--- config/ChangeLog	(revision 13205)
+++ config/ChangeLog	(working copy)
@@ -1,5 +1,10 @@
-2006-01-26  Lars Gullik Bjønne  s<[EMAIL PROTECTED]>
+2006-02-07  Jean-Marc Lasgouttes  <[EMAIL PROTECTED]>
 
+	* lyxinclude.m4 (LYX_VERSION_SUFFIX): do not alter PACKAGE here.
+	(LYX_USE_PACKAGING): add $program_suffix to PACKAGE (bug 2237).
+
+2006-01-26  Lars Gullik Bjønnes  <[EMAIL PROTECTED]>
+
 	* ltmain.sh: apply patch for darwin
 
 2005-12-30  Lars Gullik Bjonnes  <[EMAIL PROTECTED]>
Index: config/lyxinclude.m4
===
--- config/lyxinclude.m4	(revision 13205)
+++ config/lyxinclude.m4	(working copy)
@@ -7,7 +7,7 @@
 dnl Usage LYX_CHECK_VERSION   Displays version of LyX being built and
 dnl sets variables "lyx_devel_version" and "lyx_prerelease"
 AC_DEFUN([LYX_CHECK_VERSION],[
-echo "configuring LyX version $VERSION"
+echo "configuring LyX version" AC_PACKAGE_VERSION
 if echo AC_PACKAGE_VERSION | grep 'cvs' >/dev/null ; then
   lyx_devel_version=yes
   AC_DEFINE(DEVEL_VERSION, 1, [Define if you are building a development version of LyX])
@@ -28,20 +28,19 @@
 dnl
 dnl
 AC_DEFUN([LYX_VERSION_SUFFIX],[
-AC_MSG_CHECKING([for install target])
+AC_MSG_CHECKING([for version suffix])
 RPM_VERSION_SUFFIX='""'
 AC_ARG_WITH(version-suffix,
   [  --with-version-suffix[=]  install lyx files as lyx],
   [if test "x$withval" = "xyes";
then
- withval="-$VERSION"
+ withval="-"AC_PACKAGE_VERSION
  ac_configure_args=`echo $ac_configure_args | sed "s,--with-version-suffix,--with-version-suffix=$withval,"`
fi
-   PACKAGE="$PACKAGE$withval"
program_suffix=$withval
RPM_VERSION_SUFFIX="--with-version-suffix=$withval"])
 AC_SUBST(RPM_VERSION_SUFFIX)
-AC_MSG_RESULT([$PACKAGE])
+AC_MSG_RESULT([$withval])
 ])
 
 
@@ -586,21 +585,21 @@
 AC_MSG_RESULT($lyx_use_packaging)
 case $lyx_use_packaging in
macosx) AC_DEFINE(USE_MACOSX_PACKAGING, 1, [Define to 1 if LyX should use a MacOS X application bundle file layout])
-	   PACKAGE=LyX
-	   default_prefix="/Applications/LyX.app"
+	   PACKAGE=LyX${program_suffix}
+	   default_prefix="/Applications/${PACKAGE}.app"
 	   bindir='${prefix}/Contents/MacOS'
 	   libdir='${prefix}/Contents/Resources'
 	   datadir='${prefix}/Contents/Resources'
 	   mandir='${prefix}/Contents/Resources/man' ;;
   windows) AC_DEFINE(USE_WINDOWS_PACKAGING, 1, [Define to 1 if LyX should use a Windows-style file layout])
-	   PACKAGE=LyX
-	   default_prefix="C:/Program Files/LyX"
+	   PACKAGE=LyX${program_suffix}
+	   default_prefix="C:/Program Files/${PACKAGE}"
 	   bindir='${prefix}/bin'
 	   libdir='${prefix}/Resources'
 	   datadir='${prefix}/Resources'
 	   mandir='${prefix}/Resources/man' ;;
 posix) AC_DEFINE(USE_POSIX_PACKAGING, 1, [Define to 1 if LyX should use a POSIX-style file layout])
-	   PACKAGE=lyx
+	   PACKAGE=lyx${program_suffix}
 	   default_prefix=$ac_default_prefix ;;
 *) LYX_ERROR([Unknown packaging type $lyx_use_packaging]) ;;
 esac


Re: [PATCH] bug 2237: --with-version-suffix does not attach suffix to main binaries: lyx, lyxclient, tex2lyx

2006-02-10 Thread Jean-Marc Lasgouttes
> "Jean-Marc" == Jean-Marc Lasgouttes <[EMAIL PROTECTED]> writes:

Jean-Marc> It did not work very well, here is an updated version. I'd
Jean-Marc> like to apply that, if OSX and Windows people can comment
Jean-Marc> on it.

Actually it did not work when using --with-version-suffix without
value. The same holds for bug2237-2, which would have to be corrected
if it is chosen.

Lars, assuming that it works, would this patch be OK?

JMarc


Re: [PATCH] bug 2237: --with-version-suffix does not attach suffix to main binaries: lyx, lyxclient, tex2lyx

2006-02-10 Thread Bennett Helm

On Feb 10, 2006, at 12:01 PM, Jean-Marc Lasgouttes wrote:

"Jean-Marc" == Jean-Marc Lasgouttes [EMAIL PROTECTED]> writes:


Jean-Marc> PS: I did not test bug2237-3.diff, I am currently compiling

It did not work very well, here is an updated version. I'd like to
apply that, if OSX and Windows people can comment on it.

On OSX, it installs in /Application/LyX-1.4.0cvs/ when version suffix
is -1.4.0cvs. Is that a good idea?


Well, I'm currently trying it, but it's forcing a complete recompile,  
which won't be finished until after I head home for the weekend, so I  
won't know for sure what it does until then. Anyway, I'll comment now.


I'm not sure what you mean in saying that it installs in /Application/ 
LyX-1.4.0cvs. When I reconfigure (with ./configure --with-frontend=qt  
--without-x --disable-concept-checks --with-qt-dir=/Users/bennett/lyx/ 
gcc-3.3/qt-mac-free-3.3.5 --without-aiksaurus --without-aspell -- 
without-pspell --enable-optimization=-Os --disable-assertions -- 
disable-stdlib-debug --with-version-suffix), I get:


Configuration
...
  Packaging:  macosx
  LyX binary dir: /Applications/LyX.app/Contents/MacOS
  LyX files dir:  /Applications/LyX.app/Contents/ 
Resources/LyX


That's not consistent with what you say, right?

One thing I've noticed *prior* to applying this patch, which it would  
be nice to fix, is that within the development/MacOSX/LyX.app bundle,  
there is Contents/Resources/LyX/preferences. When --with-version- 
suffix is used, it creates a *new* directory, Contents/Resources/ 
LyX-1.4.0cvs/ and uses that for the default user's directory, thereby  
bypassing the preferences file (which provides, most importantly,  
correct PATH_prefix settings for OS X). It would be nice to have  
preferences moved automatically to the correct directory within the  
application bundle.


Concerning the executables, when LyX.app is opened, it searches for  
LyX.app/Contents/MacOS/lyx. (No amount of monkeying around with the  
Info.plist file -- including the CFBundleExecutable key that's  
supposed to control this -- seems to have any consistent effect.)  
Consequently, I create a soft link from lyx to lyx-1.4.0cvs, but  
that's something I have to do manually. On OS X, application bundles  
can have different names and are moveable. Consequently, I have  
LyX.app as my stable version for everyday use, and LyX-13x.app and  
LyX-14x.app for testing versions (which I determine using the -- 
prefix config flag). Moreover, I've compiled 1.4.0 using --with- 
version-suffix so that it uses a different user directory (~/Library/ 
Application Support/LyX-1.4.0cvs) than 1.3.x (~/Library/Application  
Support/LyX). Indeed, this last difference due to --with-version- 
suffix is the only thing that matters on OS X.


So, for OS X it would be best IMO to do the following when dealing  
with --with-version-suffix:


1. leave executable names alone (to avoid the need for soft links),
2. use the --with-version-suffix setting to determine the user's  
directory, and
3. (eventually) make sure that the default preferences file gets  
copied into the appropriate lyx-xxx directory inside the application  
bundle on make install.


[By the way, my intent for the 1.4.x series releases is to compile  
with --with-version-suffix=-1.4, so that people can have different  
user directories for 1.3.x and 1.4.x if they like. (That's something  
I like because I use customized .ui and .bind files, which differ  
between the two versions.) I've updated the installer to automate  
copying over files and changing preferences to point to the new  
directory.]


Bennett


Re: Repo moved to subversion

2006-02-10 Thread Bo Peng
> Great job!!!

Indeed! Would you consider adding svn version number to the about box?
Then I can report problems for cvs/revision 12345, not just 'current
cvs'.

Cheers,
Bo


Re: [PATCH] bug 2237: --with-version-suffix does not attach suffix to main binaries: lyx, lyxclient, tex2lyx

2006-02-10 Thread Bennett Helm


On Feb 10, 2006, at 3:25 PM, Bennett Helm wrote:


On Feb 10, 2006, at 12:01 PM, Jean-Marc Lasgouttes wrote:

"Jean-Marc" == Jean-Marc Lasgouttes [EMAIL PROTECTED]> writes:


Jean-Marc> PS: I did not test bug2237-3.diff, I am currently  
compiling


It did not work very well, here is an updated version. I'd like to
apply that, if OSX and Windows people can comment on it.

On OSX, it installs in /Application/LyX-1.4.0cvs/ when version suffix
is -1.4.0cvs. Is that a good idea?


Well, I'm currently trying it, but it's forcing a complete  
recompile, which won't be finished until after I head home for the  
weekend, so I won't know for sure what it does until then. Anyway,  
I'll comment now.


I'm not sure what you mean in saying that it installs in / 
Application/LyX-1.4.0cvs. When I reconfigure (with ./configure -- 
with-frontend=qt --without-x --disable-concept-checks --with-qt- 
dir=/Users/bennett/lyx/gcc-3.3/qt-mac-free-3.3.5 --without- 
aiksaurus --without-aspell --without-pspell --enable-optimization=- 
Os --disable-assertions --disable-stdlib-debug --with-version- 
suffix), I get:


Configuration
...
  Packaging:  macosx
  LyX binary dir: /Applications/LyX.app/Contents/MacOS
  LyX files dir:  /Applications/LyX.app/Contents/ 
Resources/LyX


That's not consistent with what you say, right?


OK -- I guessed wrong: the recompile did finish early enough.

Executables are installed into (for example) /Applications/LyX.app/ 
Contents/MacOS/lyx-. (Note the trailing "-", with nothing after it;  
same is true for other executables.) Moreover, the user dir it uses  
is ~/Library/Application Support/LyX (with no trailing "-"). So it  
looks like configure isn't working properly. (But I can't investigate  
more now.)


Bennett


Baywatch is back from the dead... _but_

2006-02-10 Thread Lars Gullik Bjønnes

I am not going to open up the cvs repo again.

I'll rather setup baywatch for backup tasks.

-- 
Lgb


Write access to the repo

2006-02-10 Thread Lars Gullik Bjønnes

Things should be up and running now, but I have so far only added
myself.

Please post an answer to this mail if you would like me to enable your
write access.

-- 
Lgb


Re: Write access to the repo

2006-02-10 Thread Jose' Matos
On Friday 10 February 2006 23:19, Lars Gullik Bjønnes wrote:
> Please post an answer to this mail if you would like me to enable your
> write access.

  I do. :-)

> --
> Lgb

-- 
José Abílio


Re: Some minor errors in the new svn repository

2006-02-10 Thread Georg Baum
Angus Leeming wrote:

> Lars Gullik Bjønnes <[EMAIL PROTECTED]> writes:
>> Jean-Marc Lasgouttes <[EMAIL PROTECTED]> writes:
> 
> The script doesn't know anything about version control. It builds the
> checked-out sources into a LyX executable.
> 
>> | -- cvs/development/Win32/packaging/build_lyxwin.sh
>> | +++ lyx-devel/development/Win32/packaging/build_lyxwin.sh
>> |  -242,7 +242,8
>> | # The configure script will be unable to create config.h if it
>> | # contains Win32-style line endings.
>> | rm -f configure.ac
>> | -   sed 's/^M$//' config/configure.ac > configure.ac.$$
>> | +   sed 's/
>> | +$//' config/configure.ac > configure.ac.$$
>> | cmp -s config/configure.ac configure.ac.$$ && {
>> | rm -f configure.ac.$$
>> | } || {
> 
> We needed (something like) this because CVS imports text files from the
> repository and gives them Windows line endings (\r\n) by default.

With svn you can specify whether a checked out file should have always \r,
always \n, always \r\n, or the native line ending of the client OS (the
latter is the behaviour of cvs). See
http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.3.5

IMHO the right fix for this problem is to set the svn:eol-style property of
configure.ac to LF and remove the above code in build_lyxwin.sh.

Of course this should be done ny somebody who can actually check whether it
has the desired effect on windows.


Georg



Re: Write access to the repo

2006-02-10 Thread Martin Vermeer
On Sat, Feb 11, 2006 at 12:19:17AM +0100, Lars Gullik Bjønnes wrote:
> 
> Things should be up and running now, but I have so far only added
> myself.
> 
> Please post an answer to this mail if you would like me to enable your
> write access.

In due time, yes... let's get 1.4.0 out now first.

- Martin

BTW great job. Would it be time now to upgrade baywatch's MB? Just in
case... 
 


pgp7jvR9UGUyv.pgp
Description: PGP signature


Re: Baywatch is dead.

2006-02-10 Thread Michael Gerz

Lars Gullik Bjønnes wrote:


| Can you send me instructions for updating my anoncvs mirror?

When things are up and going again, yes.

OTOH it might not be needed anymore, since I guess we will run anon
access from the main subversion repo as well.
 



I think you have to use subversion's "hotbackup" feature.

Michael