Re: Baywatch is dead.
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?
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?
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?
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
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?
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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.
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
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
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
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
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
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_
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
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
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
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
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.
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.
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?
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?
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?
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
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?
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.
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.
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
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
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
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
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
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
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
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
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
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
> "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
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
> "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
> "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
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)
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.
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
> "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
> "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
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
> 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
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_
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
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
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
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
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.
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