Re: Patches waiting

2001-12-13 Thread Juergen Vigna


On 12-Dec-2001 Jean-Marc Lasgouttes wrote:

 I have to admit that I am not sure. Harcoding SUBSCRIPT SUPERSCRIPT to
 output ^ and _ in text mode is not better than hardcoding them in math
 as we had before. Maybe these functions could be changed in text to
 insert the character they have been bound to, but this is really
 hackish.

Well as much as I know ^ may be a deadkey and if it IS a deadkey it can
be used to put it over a character! But if it's no deadkey then it definitely
in textmode should input a ^ character. For the _ (underscore) in text mode
it definitively should input a _ character always. As for mathmode I don't
know (and don't really care ;) but the problem is if we want be 100% compatible
with the behaviour in 1.1.6 or if we don't. Anyway IMO ^ can be used to
go in subscript (in mathed) and if ^ is a deadkey it should anyway go into
subscript (if we get the token otherwise it can handle it only after the  
(space). For _ it's never a deadkey so there seems to be no problem. In
mathmode go in subscript in math-text mode insert a _ character.

 I do not know what the right solution is, but we have to find one...

I was just thinking out aloud above, but that's what I think is most
resonable.

   Jug

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

OK, now let's look at four dimensions on the blackboard.
-- Dr. Joy




Re: Herbert's problems with large documents loading time

2001-12-13 Thread Juergen Vigna


On 12-Dec-2001 Lars Gullik Bjønnes wrote:

 Found a LyXText that fits:
 Buffer: 0x84d0aa0   Width: 667
 TextCache: resizeCurrentBuffer
 Buffer: 0x84d06b8   Width: 667

Why does it a resize if the sizes are the same???
A resize has to recalculate ALL of the insettext!
Are you sure we do a resize REALLY or are we just
outputting the text?

  Jug

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

Can you program?  Well, I'm literate, if that's what you mean!




Re: menus

2001-12-13 Thread Andre Poenitz

On Tue, Dec 11, 2001 at 03:23:34PM +0100, Jean-Marc Lasgouttes wrote:
 Do we really need this part:
 
 +Menu insert_math_symbol
 + Item Black board bold N math-insert \mathbb{N}
 + Item Black board bold Q math-insert \mathbb{Q}
 + Item Black board bold R math-insert \mathbb{R}
 + Item Black board bold Z math-insert \mathbb{Z}
  End
 
 Put them in the math panel if you want them.

I don't like the math panel for at least three reasons:
 - there is no way to navigate it using the keyboard,
 - it is much more effort to fiddle around with the xform dialogs,
 - I do not xform dialogs.

 And \mathbb{C} is not even present...

I missed that one.

Andre'

-- 
André Pönitz .. [EMAIL PROTECTED]



Re: Herbert's problems with large documents loading time

2001-12-13 Thread Juergen Vigna


 I don't know what JMarc did, but it seems to be the right
 patch for working with the 1.2 doc.

Well I would say we have the Hero of the day then ;)

Anyway IMO 2 secs is too much if you didn't change the width of the
BufferView. We just have to switch over pointers and redraw the visible
area, that shouldn't take that long!

Jug

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

Boycott meat -- suck your thumb.




Re: new spam control?

2001-12-13 Thread Andre Poenitz

On Wed, Dec 12, 2001 at 12:39:47PM -0600, Mate Wierdl wrote:
 The main reason is that there are still at least two-three spams each
 week slipping into the lyx lists.  (Nowadays, there are over 100 spam
 messages addressed to the lyx lists each day).

I think two or three spam postings per _week_ are ok. Don't make using
the list too awkward...

Andre'


-- 
André Pönitz .. [EMAIL PROTECTED]



Re: new spam control?

2001-12-13 Thread Juergen Vigna


On 13-Dec-2001 Andre Poenitz wrote:
 On Wed, Dec 12, 2001 at 12:39:47PM -0600, Mate Wierdl wrote:
 The main reason is that there are still at least two-three spams each
 week slipping into the lyx lists.  (Nowadays, there are over 100 spam
 messages addressed to the lyx lists each day).
 
 I think two or three spam postings per _week_ are ok. Don't make using
 the list too awkward...

Well IMO that we could do something like that on lyx-devel as I've seen
that lot's of devel list restrict the access much more. Are there really
lot's of people on this list who post from different addresses? Anyway
Mate you know more or less who's posting to the list right now and so an
initial whitelist can be created from that. I don't find it too much hassle
to confirm just one time a post to a developers list (especially if we write
some nice text in the confirmation message). Anyway IMO that 85% of the posts
(if not more) are always from the same people. But really the SPAM on this
list is fortuantely (due to Mate's good work) really low! But it's a bit
annoying to have spam in the mailing-archive (does it work Mate?).

  Jug

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

Let the people think they govern and they will be governed.
-- William Penn, founder of Pennsylvania




Re: [martin.vermeer@hut.fi: Re: Patches waiting]

2001-12-13 Thread Martin Vermeer

On Wed, Dec 12, 2001 at 10:35:10PM +0100, Lars Gullik Bjønnes wrote:
 Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm
 Precedence: bulk
 X-No-Archive: yes
 List-Post: mailto:[EMAIL PROTECTED]
 List-Help: mailto:[EMAIL PROTECTED]
 List-Unsubscribe: mailto:[EMAIL PROTECTED]
 Delivered-To: mailing list [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Subject: Re: [[EMAIL PROTECTED]: Re: Patches waiting]
 From: [EMAIL PROTECTED] (Lars Gullik Bjønnes)
 Organization: LyX Developer http://www.lyx.org/
 Date: Wed, 12 Dec 2001 22:35:10 +0100
 In-Reply-To: [EMAIL PROTECTED]
 User-Agent: Gnus/5.090004 (Oort Gnus v0.04) Emacs/21.1 (i686-pc-linux-gnu)
 
 Martin Vermeer [EMAIL PROTECTED] writes:
 
 
 | Ctrl-_ subscript
 
 Ctrl-_  is undo (in emacs.bind)
 
 -- 
   Lgb

Drat! 

Next attempt.

1)

Index: lyx_main.C
===
RCS file: /cvs/lyx/lyx-devel/src/lyx_main.C,v
retrieving revision 1.97
diff -u -p -r1.97 lyx_main.C
--- lyx_main.C  2001/11/26 10:19:49 1.97
+++ lyx_main.C  2001/12/13 08:25:25
@@ -523,6 +523,11 @@ void LyX::defaultKeyBindings(kb_keymap  

kbmap-bind(Delete, LFUN_DELETE);
kbmap-bind(BackSpace, LFUN_BACKSPACE);
+
+   // sub- and superscript -MV
+   kbmap-bind(~S-M-underscore, LFUN_SUBSCRIPT);
+   kbmap-bind(~S-M-asciicircum, LFUN_SUPERSCRIPT);
+   kbmap-bind(~S-M-dead_circumflex, LFUN_SUPERSCRIPT);

// kbmap-bindings to enable the use of the numeric keypad
// e.g. Num Lock set
@@ -580,7 +585,7 @@ void LyX::deadKeyBindings(kb_keymap * kb
kbmap-bind(~C-~S-~M-dead_caron, LFUN_CARON);
kbmap-bind(~C-~S-~M-dead_cedilla, LFUN_CEDILLA);
kbmap-bind(~C-~S-~M-dead_abovering, LFUN_CIRCLE);
-   kbmap-bind(~C-~S-~M-dead_circumflex, LFUN_CIRCUMFLEX);
+   kbmap-bind(~C-~S-dead_circumflex, LFUN_CIRCUMFLEX);
kbmap-bind(~C-~S-~M-dead_abovedot, LFUN_DOT);
kbmap-bind(~C-~S-~M-dead_grave, LFUN_GRAVE);
kbmap-bind(~C-~S-~M-dead_doubleacute, LFUN_HUNG_UMLAUT);

2)
 
Index: lyx_main.C
===
RCS file: /cvs/lyx/lyx-devel/src/lyx_main.C,v
retrieving revision 1.97
diff -u -p -r1.97 lyx_main.C
--- lyx_main.C  2001/11/26 10:19:49 1.97
+++ lyx_main.C  2001/12/13 08:26:26
@@ -523,7 +523,11 @@ void LyX::defaultKeyBindings(kb_keymap  

kbmap-bind(Delete, LFUN_DELETE);
kbmap-bind(BackSpace, LFUN_BACKSPACE);
-   
+
+   // sub- and superscript -MV
+   kbmap-bind(C-~S-M-minus, LFUN_SUBSCRIPT);
+   kbmap-bind(C-~S-M-plus, LFUN_SUPERSCRIPT);
+
// kbmap-bindings to enable the use of the numeric keypad
// e.g. Num Lock set
//kbmap-bind(KP_0, LFUN_SELFINSERT);

Both work, allow _ and ^ insertion in text and don't seem to conflict
with any bind file entries. And all accents work.

Ad 1: 
+ close to existing TeX convention
- lots of keystrokes required, including extra M-space if no asciicircum
  on keyboard

Ad 2:
+ less keystrokes, fairly intuitive
+ doesn't use those #¤%#¤ deadkeys (believe me, they will continue to 
  haunt us!)
- requires new learning - should be in mathpanel/menu with shortcut listed
- people that have set up X to switch resolution with C-M-KP_Add etc
  may get confused. But they probably know what they are doing anyway.

I am sure there are other alternatives too, but none that are free look
tempting or intuitive. 

What to do?

Cheers Martin
-- 
Martin Vermeer  [EMAIL PROTECTED]
Helsinki University of Technology 
Department of Surveying
P.O. Box 1200, FIN-02015 HUT, Finland
:wq



msg30462/pgp0.pgp
Description: PGP signature


Bugs in Debian BTS

2001-12-13 Thread Baruch Even

There are quite a few bugs in the debian BTS which neither me nor Jules know
if they are valid or not, I'd be happy if someone more knowledgeable in this 
bugs can let me know their status.

The whole bug lists cant be found at:
http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=lyxrepeatmerged=no

Specific bugs that should be looked over:

Lyx Crashes when a character is composed of deadkeys
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=69396
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=75926
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=77894
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=77989

LyX crashes randomly when pasting text from another window
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=103715

too large menu fonts cause segfault with german locale
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=120450

Errors handling 'Paragraph' type paragraphs
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=120688

Baruch



Re: dramantic increases in forced rodent use

2001-12-13 Thread Thomas Steffen

John Levon [EMAIL PROTECTED] writes:

 and for years, people have been forced to go to the manual to work out
^ some
 how to enter lengths. More recently, we have had a vague help message
 in some places.

Other people have entered length just as they always did. 

 The new interface makes it patently clear what we are expecting, and
 reduces the potential for user error. 

ACK. But it does make thing for people who know harder. 

 This is basic good UI design [1]

No, absolutely not. A good UI is not only easy but also convenient.
This might be a bit hard for a GUI, but it is possible.

What about the following idea:

You can still enter length as usual, the parser recognises it and sets
the drop-down list accordingly. 

Since the parser did check for correct units, and since the drop-down
list is implemented, it should be only a little additional work. And
it marks both sides happy.

You could also go as far as XEmacs: provide two ways for every option.
One keybord based in the status line and one pop-up window for rodent
users. But this is of course a lot more work (though it is extremely
fast to use).

Thomas [EMAIL PROTECTED]
-- 
Umweltfreundlich, da aus recycleten Buchstaben.



Bug #57

2001-12-13 Thread Juergen Vigna


Jean-Marc this should be easy for you to resolve! What do you need to
disable the paragraph menu? Or we could ask inside the Controller and
call some function bool Paragraph::noDialog(). What do you think?

 Jug

P.S.: Could we registrate a [EMAIL PROTECTED] user on the buglist?
  It would be nice if we could add it as Cc: to some replies we make
  so that they go to the lyx-devel list to (I'm thinking of faster
  response times and people like Andre, but also myself), otherwise
  one has to post the question to lyx-devel separately as I did here!

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

He who attacks the fundamentals of the American broadcasting industry
attacks democracy itself.
-- William S. Paley, chairman of CBS




Re: dramantic increases in forced rodent use

2001-12-13 Thread Juergen Vigna


On 13-Dec-2001 Thomas Steffen wrote:

 You can still enter length as usual, the parser recognises it and sets
 the drop-down list accordingly. 

I think we already somehow decided to adapt this solution (or a similar
one which also gives the power to insert stuff like 1cm+2em-4em).

 Since the parser did check for correct units, and since the drop-down
 list is implemented, it should be only a little additional work. And
 it marks both sides happy.

Well not only but with the above solution we also need to (de)activate
the Ok/Apply buttons and also output an error message why the buttons
got disabled, but let's say it's doable with a bit of work.

 You could also go as far as XEmacs: provide two ways for every option.
 One keybord based in the status line and one pop-up window for rodent
 users. But this is of course a lot more work (though it is extremely
 fast to use).

Well we're not that far away from that aproach already now if you know
how you can do a lot of things that way (I mean Meta-x command options).

  Jug

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

Inspiration without perspiration is usually sterile.




Re: crash=stupid me

2001-12-13 Thread Juergen Vigna


On 13-Dec-2001 Garst R. Reese wrote:
 Garst R. Reese wrote:
 duh

Well IMO a crash is a crash! But I lost the former mail so why is it
only your error?

Jug

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

In the misfortune of our friends we find something that is not displeasing
to us.
-- La Rochefoucauld, Maxims




Re: Herbert's problems with large documents loading time

2001-12-13 Thread Juergen Vigna


On 13-Dec-2001 Lars Gullik Bjønnes wrote:

 Oh just read the code...

Oh may I do that! You're too good!

 (and it is possible that we do a resize to many)

Well you surely had a look so you should know ;)

  Jug

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

Oh this age!  How tasteless and ill-bred it is.
-- Gaius Valerius Catullus




Re: Herbert's problems with large documents loading time

2001-12-13 Thread Juergen Vigna


On 13-Dec-2001 Lars Gullik Bjønnes wrote:

 _or_ are we just covering the real problem?

No he really resolved a problem we had looking up paragraphs inside insets!

  Jug

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

Moneyliness is next to Godliness.
-- Andries van Dam




Re: menus

2001-12-13 Thread Jean-Marc Lasgouttes

 Andre == Andre Poenitz [EMAIL PROTECTED] writes:

 Put them in the math panel if you want them.

Andre I don't like the math panel for at least three reasons: - there
Andre is no way to navigate it using the keyboard, - it is much more
Andre effort to fiddle around with the xform dialogs, - I do not
Andre xform dialogs.

What I meant is that it is not an excuse for populating the menu with
a random list of what you may find useful at a given moment.

 And \mathbb{C} is not even present...

Andre I missed that one.

This was just an example. What about having a blackboard math toggle
in the menu?

JMarc



Re: bug tracker

2001-12-13 Thread Jose Abilio Oliveira Matos

On Wed, Dec 12, 2001 at 09:14:46AM +, John Levon wrote:
 
 - relyx  - LaTeX Import program

  please add me to reLyX, because sometimes I understand a little bit
how it works. (but only sometimes)

 regards
 john
 
 -- 
 Take the ideas you find useful. Try not to get hung up on the labels.
   - Jonathan S. Shapiro

-- 
José Abílio Matos
LyX and docbook a perfect match. :-)



Re: bug tracker

2001-12-13 Thread Kayvan A. Sylvan

On Thu, Dec 13, 2001 at 10:51:14AM +0100, Lars Gullik Bjønnes wrote:
 | Good point. The categories should be end-user friendly.
 
 I disagree.
 
 The enduser should be provided a broad set of categories, _but_ the
 developers should have a _detailed_ set of categories.
 
 We expect the bug-receiver to analyze the bug and put it in the
 correct category.
 
 | When bugs get created, they can be sifted and assigned to the appropriate
 | developers.
 
 When _analyzed_.
 
 It is not the end-users job to find the correct category.

Hi Lars,

We violently agree. The best solution is to give the users broad categories
and us developers fine-grained categories.

---Kayvan
-- 
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: Herbert's problems with large documents loading time

2001-12-13 Thread Jean-Marc Lasgouttes

 Juergen == Juergen Vigna [EMAIL PROTECTED] writes:

Juergen On 12-Dec-2001 Lars Gullik Bjønnes wrote:

 Found a LyXText that fits: Buffer: 0x84d0aa0 Width: 667 TextCache:
 resizeCurrentBuffer Buffer: 0x84d06b8 Width: 667

Juergen Why does it a resize if the sizes are the same??? A resize
Juergen has to recalculate ALL of the insettext! Are you sure we do a
Juergen resize REALLY or are we just outputting the text?

I did some profiling (I did a lot of document switches to give it a
higher weight than the initial loading phase) and a lot of time is
spent in Buffer::resizeInsets. I notice too that this method is called
unconditionally in BufferView::Pimpl::resizeCurrentBuffer. And then I
ran out of competence, and stopped here.

Does it make sense.

JMarc



Re: Herbert's problems with large documents loading time

2001-12-13 Thread Jean-Marc Lasgouttes

 Lars == Lars Gullik Bjønnes [EMAIL PROTECTED] writes:

Lars Juergen Vigna [EMAIL PROTECTED] writes:
 I don't know what JMarc did, but it seems to be the right patch
 for working with the 1.2 doc.

Lars | Well I would say we have the Hero of the day then ;)

Lars _or_ are we just covering the real problem?

Let's say we have to handle one problem at a time.

JMarc



Re: menus

2001-12-13 Thread Andre Poenitz

On Thu, Dec 13, 2001 at 11:11:02AM +0100, Jean-Marc Lasgouttes wrote:
 This was just an example. What about having a blackboard math toggle
 in the menu?

Ok, so be it...

Although I'd rather have the most common symbols diretly in the menu...

Andre'

-- 
André Pönitz .. [EMAIL PROTECTED]



Re: menus

2001-12-13 Thread Jean-Marc Lasgouttes

 Andre == Andre Poenitz [EMAIL PROTECTED] writes:

Andre On Thu, Dec 13, 2001 at 11:11:02AM +0100, Jean-Marc Lasgouttes
Andre wrote:
 This was just an example. What about having a blackboard math
 toggle in the menu?

Andre Ok, so be it...

Can you provide the necessary infrastructure? And for greek too, I guess.

Andre Although I'd rather have the most common symbols diretly in
Andre the menu...

I doubt that the menu will remain as useful if we begin to add random
things in it. Why blackboard symbols and not your favourite greek
letters? 



Re: Herbert's problems with large documents loading time

2001-12-13 Thread Juergen Vigna


On 13-Dec-2001 Jean-Marc Lasgouttes wrote:

 I did some profiling (I did a lot of document switches to give it a
 higher weight than the initial loading phase) and a lot of time is
 spent in Buffer::resizeInsets. I notice too that this method is called
 unconditionally in BufferView::Pimpl::resizeCurrentBuffer. And then I
 ran out of competence, and stopped here.
 
 Does it make sense.

Well maybe. In pre-InsetText times a resize was not so heavy as it only
had to rebreak the actual LyXText! Now if you use a lot of insets it is
MUCH heavier. We surely can do some profiling here and make a resize a
bit faster, but we surely should maybe with the LyXText save also it's
width and then on reputting it on screen check this with the actual width
and do a resize only if really needed!

 Jug

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

Excellent day for drinking heavily.  Spike the office water cooler.




Re: menus

2001-12-13 Thread Andre Poenitz

On Thu, Dec 13, 2001 at 11:28:35AM +0100, Jean-Marc Lasgouttes wrote:
 Andre Although I'd rather have the most common symbols diretly in
 Andre the menu...
 
 I doubt that the menu will remain as useful if we begin to add random
 things in it. Why blackboard symbols and not your favourite greek
 letters? 

I was thinking about putting them into differnt submenus later. Sort of
menuized math panel... As I said, I find the panel too clumsy to use -
both as programmer and as user.

Andre'

-- 
André Pönitz .. [EMAIL PROTECTED]



Re: Bug #57

2001-12-13 Thread Michael Koziarski

 P.S.: Could we registrate a [EMAIL PROTECTED] user on the buglist?
   It would be nice if we could add it as Cc: to some replies we make
   so that they go to the lyx-devel list to (I'm thinking of faster
   response times and people like Andre, but also myself), otherwise
   one has to post the question to lyx-devel separately as I did here!

Done



-- 

| Michael Koziarski   |Conventional wisdom is often   |
| Data Engineer, Linux user   | long on convention and short   |
|  Objectivist.  | on wisdom --  |
| http://www.koziarski.com| Warren E. Buffett, BRK.A   |




Re: Herbert's problems with large documents loading time

2001-12-13 Thread Jean-Marc Lasgouttes

 Juergen == Juergen Vigna [EMAIL PROTECTED] writes:

Juergen On 13-Dec-2001 Jean-Marc Lasgouttes wrote:

 I did some profiling (I did a lot of document switches to give it a
 higher weight than the initial loading phase) and a lot of time is
 spent in Buffer::resizeInsets. I notice too that this method is
 called unconditionally in BufferView::Pimpl::resizeCurrentBuffer.
 And then I ran out of competence, and stopped here.
 
 Does it make sense.

Juergen Well maybe. In pre-InsetText times a resize was not so heavy
Juergen as it only had to rebreak the actual LyXText! Now if you use
Juergen a lot of insets it is MUCH heavier. We surely can do some
Juergen profiling here and make a resize a bit faster, but we surely
Juergen should maybe with the LyXText save also it's width and then
Juergen on reputting it on screen check this with the actual width
Juergen and do a resize only if really needed!

Yes, but Buffer::resizeInsets should not be run if the window has not
changed size, isn't it?

JMarc



Re: Herbert's problems with large documents loading time

2001-12-13 Thread Jean-Marc Lasgouttes

 Lars == Lars Gullik Bjønnes [EMAIL PROTECTED] writes:

Lars | Let's say we have to handle one problem at a time.

Lars Sure, but if you do a fix that covers the real problem, the real
Lars problem will never be fixed.

I fixed the problem that resize take a quadratic time when they should
not. What remains to fix is that we resize in cases where is is
unnecessary IMO. 

JMarc



Re: Undo leaking

2001-12-13 Thread Jean-Marc Lasgouttes

 Juergen == Juergen Vigna [EMAIL PROTECTED] writes:

Juergen I'm pretty sure I know now where we leak (and where we ALWAYS
Juergen leaked) with undo/redo. The problem is that we don't delete
Juergen the paragraphs we substitute.

Juergen The code is in textHandleUndo() and IMO we have to change
Juergen this peace of code:

I applied you patch since it seems fine. However, this exposes a bug
and crashes when one uses undo in the first paragraph of a document.
For your viewing pleasure, here is what I wrote in undo_funcs.C:

// put the new stuff in the list if there is one
if (tmppar3){
if (before)
before-next(tmppar3);
else
#warning Juergen, why is this needed?? (JMarc)
// since tmppar3 is not yet inserted in the document, I do not see why
// the getParFromID which is done by the function below makes sense.
// OTOH, since you wrote the method just for this instance, I guess you
// have something in mind
#if 1
bv-text-ownerParagraph(tmppar3-id(),
 tmppar3);
#else
// in this case, since getParFromID is not called, the program does
// not crash on trying to access buffer()-paragraph, which does not
// exist anymore if we undid the first par f the document. (JMarc)
bv-text-ownerParagraph(tmppar3);
#endif

tmppar3-previous(before);


Juergen, would you care to explain what happens or (better) to provide
a fix?

JMarc



Re: [noreply@sourceforge.net: [ lyxbugs-Feature Requests-439373 ] Support \intertext in mathed]

2001-12-13 Thread Andre Poenitz

On Wed, Dec 12, 2001 at 04:35:43PM +0100, Jean-Marc Lasgouttes wrote:
 Andre How am I supposed to react to mails like this:
 
 You are not supposed to, since these are from the old bugtracker.

Whom should I tell that such a bug is fixed? The original poster?

Andre'

-- 
André Pönitz .. [EMAIL PROTECTED]



Re: [noreply@sourceforge.net: [ lyxbugs-Feature Requests-439373 ] Support \intertext in mathed]

2001-12-13 Thread Jean-Marc Lasgouttes

 Andre == Andre Poenitz [EMAIL PROTECTED] writes:

Andre On Wed, Dec 12, 2001 at 04:35:43PM +0100, Jean-Marc Lasgouttes
Andre wrote: How am I supposed to react to mails like this:
  You are not supposed to, since these are from the old bugtracker.

Andre Whom should I tell that such a bug is fixed? The original
Andre poster?

You could go here
  http://cvs.koziarski.com/show_bug.cgi?id=90
and close it, but maybe Michael or John can propose a mail only
solution to do that.

JMarc



wysiwyM - the origin

2001-12-13 Thread Antonio Gulino

Hi,
someone know who created the  word
what youe see is what you MEAN
and the abbreviation  wysiwym?
(allways for my p-h-a-n-t-a-s-t-i-c study :-)

ciao, antonio




Re: LDN mascot

2001-12-13 Thread Amir Karger

On Thu, Dec 13, 2001 at 10:58:42AM +1000, Allan Rae wrote:
 On Wed, 12 Dec 2001, Jose Abilio Oliveira Matos wrote:
 
  On Wed, Dec 12, 2001 at 10:26:21AM +1000, Allan Rae wrote:
   As for the contest I think we have had arguements on that earlier this
   year and nobody wanted to change from the existing creature design.
   The pretty anti-aliased version will be used soon enough but it is
   still the same design.
 
I love the present design, I only want a name for our pet. And no
  John, I don't think that he is called Steve. :-)
 
 I suppose one question we might want to answer first is: Is it a he,
 she or an it?

Do we care?

I guess that -- although I have no particular liking for the name, I'd have
to go for Felix (Felyx?). Or Alyx.

-Amir



Re: LDN mascot

2001-12-13 Thread Jean-Marc Lasgouttes

 Amir == Amir Karger [EMAIL PROTECTED] writes:

Amir I guess that -- although I have no particular liking for the
Amir name, I'd have to go for Felix (Felyx?). Or Alyx.

Obelyx?

JMarc



Re: LDN mascot

2001-12-13 Thread Andre Poenitz

On Thu, Dec 13, 2001 at 03:16:42PM +0100, Jean-Marc Lasgouttes wrote:
 Amir I guess that -- although I have no particular liking for the
 Amir name, I'd have to go for Felix (Felyx?). Or Alyx.
 
 Obelyx?

This somehow suggests some kind of bloat...

Don't know why...

So yes, looks suitable ;-)

Andre'

-- 
André Pönitz .. [EMAIL PROTECTED]



Re: Bugs in Debian BTS

2001-12-13 Thread Jean-Marc Lasgouttes

 Baruch == Baruch Even [EMAIL PROTECTED] writes:

Baruch There are quite a few bugs in the debian BTS which neither me
Baruch nor Jules know if they are valid or not, I'd be happy if
Baruch someone more knowledgeable in this bugs can let me know their
Baruch status.

Baruch The whole bug lists cant be found at:
Baruch http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=lyxrepeatmerged=no

Baruch Specific bugs that should be looked over:

Baruch Lyx Crashes when a character is composed of deadkeys
Baruch http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=69396
Baruch http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=75926
Baruch http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=77894
Baruch http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=77989

This an incompatibility between lyx  1.1.6 and xforms = 0.89.5.

AFAIK, this is solved now.

Baruch LyX crashes randomly when pasting text from another window
Baruch http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=103715

This is for lyx 1.1.4. I know that several clipboard problems have
been fixed since then, so I would think you can close it.

Baruch too large menu fonts cause segfault with german locale
Baruch http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=120450

I think this one is known. What has been done about it (tab too long
in german == crash).

Baruch Errors handling 'Paragraph' type paragraphs
Baruch http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=120688

Could you send the example file?

Other ones:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=69483

It is also quite old, and the strace just shows LyX writing its
emergency file. Not very useful. Some bugs like that have been fixed
since 1.1.4.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=107117

This guy is using a file like

\documentstyle{article}
\input preamble

\begin{center}
...

\end{document}

So presumably the \begin{document} is hidden in the preamble. I do not
think reLyX ever intended to handle such bad structure. IMO this is
WONTFIX.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=115034

The use of geometry package is fixed in 1.2.0cvs and somehow fixed in
1.1.6fix4cvs. 

JMarc



Re: Problem with lyx 1.1.6

2001-12-13 Thread Jean-Marc Lasgouttes

 Dekel == Dekel Tsur [EMAIL PROTECTED] writes:

Dekel See lib/examples/mathed.lyx I think that the script there
Dekel should be added to the lyx distribution, and it should be
Dekel invoked by 'make install'.
Thanks.

JMarc



Re: new spam control?

2001-12-13 Thread Asger K. Alstrup Nielsen

On Thu, 13 Dec 2001, Juergen Vigna wrote:

 Well IMO that we could do something like that on lyx-devel as I've seen
 that lot's of devel list restrict the access much more. Are there really

Those mailing lists are broken, IMO.

Once upon a time, we needed a small feature in GTK to let it live
peacefully with XForms. So, I wrote a nice long e-mail explaining
what the feature was, and why we needed it, and sent it to the
GTK mailing list.
Then the mailing list replied that I was not subscribed, so my
mail was blocked. I had to subscribe, or reply, or something
to get my mail through, except that my mail was lost.
That was such a disappointment that I just gave up.

I hate such mailing lists.

I don't think we should trade two spam mails a week for a white-list
approach.

Greets,

Asger




It's a long way to 1.1.6fix4 (status update #4)

2001-12-13 Thread Jean-Marc Lasgouttes


Hello,

Appended as usual is a list of what has been fixed since 1.1.6fix3. I
think that a 1.1.6fix4 is mostly feqture complete now, so I'd like a
bit of testing before release. Ben, could you try to play a bit with
undo under your memory checking tool to see whether everything is
alright? 

Please tell me what are the open bugs you consider important for
1.1.6fix4. Also tell me if I forgot some of the changes. Changes since
last time include support for ae fonts and dvipdfm, and fixes to
insertion of error insets, bad display of symbol fonts with redhat and
mandrake and a potentially big memory leak in undo.

I'd be glad if some of you could take the time to check it out (or fix
a bug or two if you are feeling adventurous). Let me recall that all
these fixes have been checked in the branch BRANCH_1_1_6, which you
can get with the command
  cvs checkout -d lyx-1_1_6 -r BRANCH_1_1_6 lyx-devel

JMarc

What's new
==

** Updates

- add support for latin3, latin4 and latin9 encodings

- change the encoding for estonian from latin4 to latin1, since it
  appears to be more suitable.

- add support for ae fonts (emulation of T1 encoding with OT1 fonts).
  This is useful for creating pdf files in T1 encoding

- add support for dvipdfm

- when passing a file name as argument from command line, the
  extension `.lyx' is added if necessary

- insert error insets in the documents when there have been unknown
  tokens in the file

- new class `kluwer'; update to hollywood class

- the class encts has been renamed to entcs (stupid typo!) and
  slightly updated

- updates to the introduction manual and the italian user guide;

- updates to the russian localisation

** Bugfixes

- faster loading of large files (should now be proportional to file size)

- fix positionning of error insets when running LaTeX

- fix bug where latex would not be re-run if no depfiles were changed,
  but the .dvi was removed

- fix bug where symbol fonts (greek letters...) would not show in
  maths when using scalable fonts. This is really a bug in Mandrake
  and Redhat fonts.

- fix possible crash when the cursor is between two spaces and a
  selection is begun

- fix memory leak where undo memory was never released

- fix reading under unix of lyx files produced under windows (was
  actually not fixed in 1.1.6fix3)

- fix problem where document is marked `changed' when going in/out an
  empty tabular cell

- fix the logic of quote insertion after '-', '[' and '{'

- fix generation of an extra space after an inset in linuxdoc creation

- do not ignore newline/hfill chars when copying to the clipboard

- fix insertion of \Upsilon in the math editor

- fix crash if banner-file was not found

- the `SubSection' layout of the cv class has been renamed to
  `Subsection'

- fix compilation with gcc 2.8.x

- improve the rpm spec file



Re: [PATCH] mmap CRC checking 1.2cvs

2001-12-13 Thread Jean-Marc Lasgouttes

 Ben == Ben Stanley [EMAIL PROTECTED] writes:

Ben Thanks for the reference - I think it shows the _POSIX_C_SOURCE
Ben macro is the right thing to do to get the correct prototype.

Ben, it seems to me that you sent a patch, but I lost it. Could you
re-send?

JMarc






Re: Herbert's problems with large documents loading time

2001-12-13 Thread Juergen Vigna


On 13-Dec-2001 Jean-Marc Lasgouttes wrote:

 Juergen Well maybe. In pre-InsetText times a resize was not so heavy
 Juergen as it only had to rebreak the actual LyXText! Now if you use
 Juergen a lot of insets it is MUCH heavier. We surely can do some
 Juergen profiling here and make a resize a bit faster, but we surely
 Juergen should maybe with the LyXText save also it's width and then
 Juergen on reputting it on screen check this with the actual width
 Juergen and do a resize only if really needed!
 
 Yes, but Buffer::resizeInsets should not be run if the window has not
 changed size, isn't it?

Well but you don't know if it changed size while inside another buffer,
do you? So when you're switching buffer you have to:

1. Resize the buffer in any case

2. Check the actual size with the saved size (which we actually don't have)
   and call resize only if really needed.

  Jug

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

Staff meeting in the conference room in %d minutes.




Re: Herbert's problems with large documents loading time

2001-12-13 Thread Jean-Marc Lasgouttes

 Juergen == Juergen Vigna [EMAIL PROTECTED] writes:

Juergen Well but you don't know if it changed size while inside
Juergen another buffer, do you? So when you're switching buffer you
Juergen have to:

AFAIK, if you find a textcache with the right buffer and the right
width, you can use it right away. Or maybe I misunderstand something
(I told you I don't know this stuff).

Juergen 2. Check the actual size with the saved size (which we
Juergen actually don't have) and call resize only if really needed.

Isn't it what 
  bv_-text = textcache.findFit(buffer_, workarea_.workWidth());
does?

JMarc



Re: Undo leaking

2001-12-13 Thread Juergen Vigna


On 13-Dec-2001 Jean-Marc Lasgouttes wrote:

 I applied you patch since it seems fine. However, this exposes a bug
 and crashes when one uses undo in the first paragraph of a document.
 For your viewing pleasure, here is what I wrote in undo_funcs.C:

I don't think the patch was really thought to be commited, it was more
a stuff to see if it solves leaking. After that we know that we would
have to free the paragraphs. But the place is wrong! We have to release
the paragraphs only at the end of the function! I think we could save
the Paragraph * in a vector and then delete them at the end. That would
be clean enough IMO.

bv-text-ownerParagraph(tmppar3-id(),tmppar3)

Head that now we don't have ONE ownerParagraph but EVERY InsetText has
it's own FIRST (owner) paragraph. So if tmppar3 is INSIDE an inset it
means that it is the ownerParagraph() of that inset!

bv-text-ownerParagraph(tmppar3);

Here you would only handle the case where tmppar3 == buffers-first-paragraph!

 Juergen, would you care to explain what happens or (better) to provide
 a fix?

Sure we are still using the freed paragraphs UNTIL we have the new ones
REALLY assigned. I explained it above!

   Jug

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

I exist, therefore I am paid.




RE: It's a long way to 1.1.6fix4 (status update #4)

2001-12-13 Thread Juergen Vigna


On 13-Dec-2001 Jean-Marc Lasgouttes wrote:

 mandrake and a potentially big memory leak in undo.

I don't know how you fixed this, but I would say this is VERY dangerous
for 1.1.6 series. I would leave the mem-leak asis (it was there since
ever so why remove it in a stable series if you're not sure it's the
right fix!)

Jug

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

QOTD:
I drive my car quietly, for it goes without saying.




Re: Herbert's problems with large documents loading time

2001-12-13 Thread Juergen Vigna


On 13-Dec-2001 Jean-Marc Lasgouttes wrote:

 Isn't it what 
   bv_-text = textcache.findFit(buffer_, workarea_.workWidth());
 does?

Well Lars wrote that particullary part of code so, Lars?
But my answer would be no it is obviously not enough.

Jug

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

TOO BAD YOU CAN'T BUY a voodoo globe so that you could make the earth spin
real fast and freak everybody out.
-- Jack Handley, The New Mexican, 1988.




Re: Herbert's problems with large documents loading time

2001-12-13 Thread Juergen Vigna


On 13-Dec-2001 Lars Gullik Bjønnes wrote:

   bv_-text = textcache.findFit(buffer_, workarea_.workWidth());
| Well Lars wrote that particullary part of code so, Lars?
| But my answer would be no it is obviously not enough.
 
 Why?

Well I have to admit I didn't look at the code but do we save the old
width? And for what is workarea_.workWidth() used there? Anyway it seems
we call resize anyway so maybe we have all the data but don't use it.
I'm really busy right now with undo/redo (+ real work) so I don't look
at other files right now to not loose concentration it's not really
trivial stuff!

 Jug

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

What fools these mortals be.
-- Lucius Annaeus Seneca




Re: Undo leaking

2001-12-13 Thread Juergen Vigna


On 13-Dec-2001 Lars Gullik Bjønnes wrote:

 Wouldn't that take care of deletion, and also keeping the paragraphs
 around until there are no one referencing this paragraph anymore?

Aren't the refering one another (next() previous()!)

Jug

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

aquadextrous, adj.:
Possessing the ability to turn the bathtub faucet on and off
with your toes.
-- Rich Hall, Sniglets




Re: [martin.vermeer@hut.fi: Re: Patches waiting]

2001-12-13 Thread Martin Vermeer

On Wed, Dec 12, 2001 at 10:35:10PM +0100, Lars Gullik Bjønnes wrote:
... 
 Martin Vermeer [EMAIL PROTECTED] writes:
 
 
 | Ctrl-_ subscript
 
 Ctrl-_  is undo (in emacs.bind)
 
 -- 
   Lgb
 

3)

Index: lyx_main.C
===
RCS file: /cvs/lyx/lyx-devel/src/lyx_main.C,v
retrieving revision 1.97
diff -u -p -r1.97 lyx_main.C
--- lyx_main.C  2001/11/26 10:19:49 1.97
+++ lyx_main.C  2001/12/13 16:03:48
@@ -523,7 +523,12 @@ void LyX::defaultKeyBindings(kb_keymap  

kbmap-bind(Delete, LFUN_DELETE);
kbmap-bind(BackSpace, LFUN_BACKSPACE);

+   // sub- and superscript -MV
+   kbmap-bind(M-m ~S-underscore, LFUN_SUBSCRIPT);
+   kbmap-bind(M-m ~S-dead_circumflex, LFUN_SUPERSCRIPT);
+   kbmap-bind(M-m ~S-asciicircum, LFUN_SUPERSCRIPT);
+
// kbmap-bindings to enable the use of the numeric keypad
// e.g. Num Lock set
//kbmap-bind(KP_0, LFUN_SELFINSERT);


Ad 3:

+ close to existing TeX convention
+ within M-m convention for math
- even longer to type than alternative 1: M-m S-_ and M-m S-^ 
  (or M-m S-^ space) for sub- and superscript.

This is my preference, a decent compromise I think.

Cheers Martin

-- 
Martin Vermeer  [EMAIL PROTECTED]
Helsinki University of Technology 
Department of Surveying
P.O. Box 1200, FIN-02015 HUT, Finland
:wq



msg30501/pgp0.pgp
Description: PGP signature


Re: Undo leaking

2001-12-13 Thread Jean-Marc Lasgouttes

 Juergen == Juergen Vigna [EMAIL PROTECTED] writes:

Juergen I don't think the patch was really thought to be commited, it
Juergen was more a stuff to see if it solves leaking. After that we
Juergen know that we would have to free the paragraphs. But the place
Juergen is wrong! 

OK, but it is right for 1.1.6, isn't it?

Juergen We have to release the paragraphs only at the end
Juergen of the function! I think we could save the Paragraph * in a
Juergen vector and then delete them at the end. That would be clean
Juergen enough IMO.

Why do we have to do that?

bv- text-ownerParagraph(tmppar3-id(),tmppar3)

Juergen Head that now we don't have ONE ownerParagraph but EVERY
Juergen InsetText has it's own FIRST (owner) paragraph. So if tmppar3
Juergen is INSIDE an inset it means that it is the ownerParagraph()
Juergen of that inset!

OK, this LyXText::ownerParagraph starts with

void LyXText::ownerParagraph(int id, Paragraph * p) const
{
Paragraph * op = bv_owner-buffer()-getParFromID(id);
if (op  op-inInset()) {
static_castInsetText *(op-inInset())-paragraph(p);

So you are looking for tmppar3 inside the buffer, right? But how can
it be there already, since you have not linked it in at this point?

bv- text-ownerParagraph(tmppar3);

Juergen Here you would only handle the case where tmppar3 ==
Juergen buffers-first-paragraph!

I know that. Actually I figured this out after looking at the code
long enough.

 Juergen, would you care to explain what happens or (better) to
 provide a fix?

Juergen Sure we are still using the freed paragraphs UNTIL we have
Juergen the new ones REALLY assigned. I explained it above!

So we are looking for information in these freed paragraphs although
we know they are not quite right?

JMarc



Re: It's a long way to 1.1.6fix4 (status update #4)

2001-12-13 Thread Jean-Marc Lasgouttes

 Juergen == Juergen Vigna [EMAIL PROTECTED] writes:

Juergen On 13-Dec-2001 Jean-Marc Lasgouttes wrote:

 mandrake and a potentially big memory leak in undo.

Juergen I don't know how you fixed this, but I would say this is VERY
Juergen dangerous for 1.1.6 series. I would leave the mem-leak asis
Juergen (it was there since ever so why remove it in a stable series
Juergen if you're not sure it's the right fix!)

You may be right. What I know is that it does solve the leak (as shown
by LeakTracker) and that I do not see how it could fail in 1.1.6. But
I am ready to remove it if you do not trust it. I thought that it may
help a lot with largish tables, where undo is terrible in 1.1.6.

JMarc



Re: Herbert's problems with large documents loading time

2001-12-13 Thread Jean-Marc Lasgouttes

 Lars == Lars Gullik Bjønnes [EMAIL PROTECTED] writes:

Lars Yes, since a inset only (currently) exits in one buffer at a
Lars time, the lyxtext that it contains, will have the same
Lars geometry as the enclosing lyxtext, and should be usable right
Lars away. There should be no need to rebreak the textinset's
Lars lyxtexts.

I'll let you take a look at it :)

JMarc



Re: Undo leaking

2001-12-13 Thread Andre Poenitz

On Thu, Dec 13, 2001 at 04:47:33PM +0100, Lars Gullik Bjønnes wrote:
 | Sure we are still using the freed paragraphs UNTIL we have the new ones
 | REALLY assigned. I explained it above!
 
 What if we used a boost::shared_ptr for all Paragraph pointers
 _everywhere_?

Everywhere is probably a bit strong...

But I think everything with value semantics is better than the current
mess aka Look, a Paragraph *! Now, is that the paragraph itself? Some
iterator in some 'list'? Some container of paragraphs?

But then, I don't know what I am talking about...

Andre'

-- 
André Pönitz .. [EMAIL PROTECTED]



Re: Herbert's problems with large documents loading time

2001-12-13 Thread Jean-Marc Lasgouttes

 Lars == Lars Gullik Bjønnes [EMAIL PROTECTED] writes:

Lars | I'll let you take a look at it :)

Lars If I have to look outside resizeCurrentBuffer, I have no clue.

So look there first. The resizeInsets thing is suspiciously outside of
all if clauses.

JMarc



Re: [martin.vermeer@hut.fi: Re: Patches waiting]

2001-12-13 Thread Andre Poenitz

On Thu, Dec 13, 2001 at 06:20:26PM +0200, Martin Vermeer wrote:
 + kbmap-bind(M-m ~S-underscore, LFUN_SUBSCRIPT);
 + kbmap-bind(M-m ~S-dead_circumflex, LFUN_SUPERSCRIPT);
 + kbmap-bind(M-m ~S-asciicircum, LFUN_SUPERSCRIPT);
 
 This is my preference, a decent compromise I think.

I always get a bit lost here. Could you please put that into some kind of
list like

Case 1 ( ^ is no deadkey neither in X nor LyX )
  to get '^' in text mode press: ...
 'ê' ...
 '_' ...
  to get '^' in math mode press: ...
 'ê' ...
 '_' ...
superscript  ...
subscript...


Case 2 ( ^  is deadkey in X ) ...
Case n ...


Would be really nice.

I would certainly prefer plain ^ and _ for the math *script stuff and do
not care too much about the others as long as entering them is somehow
possible (without using a text editor on the .lyx file...)

Andre'

-- 
André Pönitz .. [EMAIL PROTECTED]



Re: Undo leaking

2001-12-13 Thread Andre Poenitz

On Thu, Dec 13, 2001 at 05:34:27PM +0100, Lars Gullik Bjønnes wrote:
 One of my huge goals is to get rid of the paragraph linked list as we
 have it now, and have the paragraphs in an stl container of some sort.
 This also means moving a lot of algorithms out of LyXParagraph so it
 is a lot of work.

So thinking about it should be postponed until 1.3? I am not exactly sure
whether it is really as much work as we tend to think...

 But I have a very strong feeling that this would cleanup the code a _lot_.

I have a faint feeling you might be right ;-)

Andre'

-- 
André Pönitz .. [EMAIL PROTECTED]



tiny undo patch

2001-12-13 Thread Andre Poenitz


This is (more or less) part of the somewhat larger undo patch I send some
time ago.

It's not only whitespace stuff, making 'pop' more STL like, and removal of
some spurious 'using lyx::pos_type'

It serves only as a measure to remove distraction (Gosh... why two spaces
here) when reading undostack.C...

Andre'

-- 
André Pönitz .. [EMAIL PROTECTED]


Index: undo_funcs.C
===
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/undo_funcs.C,v
retrieving revision 1.9
diff -u -p -r1.9 undo_funcs.C
--- undo_funcs.C2001/12/13 11:35:25 1.9
+++ undo_funcs.C2001/12/13 17:02:26
@@ -26,10 +26,12 @@ bool undo_finished;
 /// a flag
 bool undo_frozen;
 
+
 bool textUndo(BufferView * bv)
 {
// returns false if no undo possible
-   Undo * undo = bv-buffer()-undostack.pop();
+   Undo * undo = bv-buffer()-undostack.top();
+   bv-buffer()-undostack.pop();
if (undo) {
finishUndo();
if (!undo_frozen) {
@@ -50,7 +52,8 @@ bool textUndo(BufferView * bv)
 bool textRedo(BufferView * bv)
 {
// returns false if no redo possible
-   Undo * undo = bv-buffer()-redostack.pop();
+   Undo * undo = bv-buffer()-redostack.top();
+   bv-buffer()-redostack.pop();
if (undo) {
finishUndo();
if (!undo_frozen) {
@@ -247,7 +250,6 @@ void setRedo(BufferView * bv, Undo::undo
bv-buffer()-redostack.push(createUndo(bv, kind, first, behind));
 }
 
-using lyx::pos_type;
 
 Undo * createUndo(BufferView * bv, Undo::undo_kind kind,
   Paragraph const * first, Paragraph const * behind)
@@ -276,8 +278,8 @@ Undo * createUndo(BufferView * bv, Undo:
// check wether storing is needed
if (!bv-buffer()-undostack.empty()  
bv-buffer()-undostack.top()-kind == kind 
-   bv-buffer()-undostack.top()-number_of_before_par ==  
before_number 
-   bv-buffer()-undostack.top()-number_of_behind_par ==  
behind_number ){
+   bv-buffer()-undostack.top()-number_of_before_par == 
+before_number 
+   bv-buffer()-undostack.top()-number_of_behind_par == 
+behind_number) {
// no undo needed
return 0;
}
@@ -345,6 +347,7 @@ void setCursorParUndo(BufferView * bv)
bv-text-cursor.par()-next());
 }
 
+
 Paragraph * firstUndoParagraph(BufferView * bv, int inset_id)
 {
Inset * inset = bv-buffer()-getInsetFromID(inset_id);
@@ -355,6 +358,7 @@ Paragraph * firstUndoParagraph(BufferVie
}
return bv-text-ownerParagraph();
 }
+
 
 LyXCursor const  undoCursor(BufferView * bv)
 {
Index: undostack.C
===
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/undostack.C,v
retrieving revision 1.1
diff -u -p -r1.1 undostack.C
--- undostack.C 2001/06/25 00:06:21 1.1
+++ undostack.C 2001/12/13 17:02:26
@@ -23,18 +23,18 @@ UndoStack::UndoStack()
: limit(100) {}
 
 
-Undo * UndoStack::pop()
+void UndoStack::pop()
 {
-   if (stakk.empty()) return 0;
-   Undo * result = stakk.front();
+   if (stakk.empty())
+   return;
stakk.pop_front();
-   return result;
 }
 
 
-Undo * UndoStack::top()
+Undo * UndoStack::top() const
 {
-   if (stakk.empty()) return 0;
+   if (stakk.empty())
+   return 0;
return stakk.front();
 }
 
@@ -63,7 +63,8 @@ void UndoStack::SetStackLimit(Stakk::siz
 
 void UndoStack::push(Undo * undo_arg)
 {
-   if (!undo_arg) return;
+   if (!undo_arg)
+   return;

stakk.push_front(undo_arg);
if (stakk.size()  limit) {
@@ -74,6 +75,7 @@ void UndoStack::push(Undo * undo_arg)
 }
 
 
-bool UndoStack::empty() const {
+bool UndoStack::empty() const
+{
return stakk.empty();
 }
Index: undostack.h
===
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/undostack.h,v
retrieving revision 1.1
diff -u -p -r1.1 undostack.h
--- undostack.h 2001/06/25 00:06:21 1.1
+++ undostack.h 2001/12/13 17:02:26
@@ -33,13 +33,13 @@ public:
///
UndoStack();
///
-   Undo * pop();
+   ~UndoStack();
///
-   Undo * top();
+   void pop();
///
-   bool empty() const;
+   Undo * top() const;
///
-   ~UndoStack();
+   bool empty() const;
///
void clear();
///



Re: tiny undo patch

2001-12-13 Thread Jean-Marc Lasgouttes

 Andre == Andre Poenitz [EMAIL PROTECTED] writes:

Andre This is (more or less) part of the somewhat larger undo patch I
Andre send some time ago.

Andre It's not only whitespace stuff, making 'pop' more STL like, and
Andre removal of some spurious 'using lyx::pos_type'

Andre It serves only as a measure to remove distraction (Gosh... why
Andre two spaces here) when reading undostack.C...

Juergen, can I apply this? You say your are looking at undo.

JMarc




Re: tiny undo patch

2001-12-13 Thread Andre Poenitz

On Thu, Dec 13, 2001 at 06:20:02PM +0100, Jean-Marc Lasgouttes wrote:
 Juergen, can I apply this? You say your are looking at undo.

Too late ;-)

Andre'

-- 
André Pönitz .. [EMAIL PROTECTED]



Re: tiny undo patch

2001-12-13 Thread Jean-Marc Lasgouttes

 Andre == Andre Poenitz [EMAIL PROTECTED] writes:

Andre On Thu, Dec 13, 2001 at 06:20:02PM +0100, Jean-Marc Lasgouttes
Andre wrote:
 Juergen, can I apply this? You say your are looking at undo.

Andre Too late ;-)

I saw that :)

JMarc



Re: new spam control?

2001-12-13 Thread Mate Wierdl

On Thu, Dec 13, 2001 at 04:17:37PM +0100, Asger K. Alstrup Nielsen wrote:
 Then the mailing list replied that I was not subscribed, so my
 mail was blocked. I had to subscribe, or reply, or something
 to get my mail through, except that my mail was lost.
 That was such a disappointment that I just gave up.
 
 I hate such mailing lists.

Hence the reason we do not use the subscribers only feature.
With the software I am proposing, your mail gets retained, and you
just have to confirm your post, and then it gets delivered to the list. 
Mail does not get lost.

 
 I don't think we should trade two spam mails a week for a white-list
 approach.

That is fine with me.  Just let me know when you think either of the
lists receives too much spam, and then we bring up the question again.

Happy lyxing,

Mate



Re: new spam control?

2001-12-13 Thread Andre Poenitz

On Thu, Dec 13, 2001 at 06:43:19PM +0100, Lars Gullik Bjønnes wrote:
 | Hence the reason we do not use the subscribers only feature.
 | With the software I am proposing, your mail gets retained, and you
 | just have to confirm your post, and then it gets delivered to the list. 
 | Mail does not get lost.
 
 I see that some mailinglists (YahooGroups f.ex.) have a feature where
 new posters to a mailinglist is moderated. The moderator can then
 later turn off moderation for individual users. Would that be
 something we could use?

This would lead to a lag of a couple of hours or even days, and then if you
ask for more details, you'll probably will ask for private mail just to
speed it up, then you start forwarding the relevant parts to the list
etc... In the end it's probably much more hassle than pressing 'd' twice a
week to delete spam in my mailbox
 
Andre'

-- 
André Pönitz .. [EMAIL PROTECTED]



Row * - Row , part I

2001-12-13 Thread Andre Poenitz


It is possible to change a few 'Row *' to 'Row ' without sematical
changes. One could even add some 'const' in some places.

Patch attached.

Andre'

PS: Note that most of the '*cursor.row()' thingies could be changed back
to 'cursor.row()' if we had MathCursor::row() return a Row . But I did not
want do change too much in one chunk...

-- 
André Pönitz .. [EMAIL PROTECTED]


Index: bufferview_funcs.C
===
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/bufferview_funcs.C,v
retrieving revision 1.43
diff -u -p -r1.43 bufferview_funcs.C
--- bufferview_funcs.C  2001/11/26 10:19:47 1.43
+++ bufferview_funcs.C  2001/12/13 18:28:18
@@ -228,7 +228,7 @@ void toggleAndShow(BufferView * bv, LyXF
if (font.language() != ignore_language ||
font.number() != LyXFont::IGNORE) {
LyXCursor  cursor = text-cursor;
-   text-computeBidiTables(bv-buffer(), cursor.row());
+   text-computeBidiTables(bv-buffer(), *cursor.row());
if (cursor.boundary() != 
text-isBoundary(bv-buffer(), cursor.par(), cursor.pos(),
 text-real_current_font) )
Index: lyxscreen.h
===
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/lyxscreen.h,v
retrieving revision 1.30
diff -u -p -r1.30 lyxscreen.h
--- lyxscreen.h 2001/11/26 11:08:42 1.30
+++ lyxscreen.h 2001/12/13 18:28:18
@@ -101,7 +101,7 @@ private:
int y_offset = 0, int x_offset = 0, bool internal=false);
 
/// y is a coordinate of the text
-   void drawOneRow(LyXText *, BufferView *, Row * row,
+   void drawOneRow(LyXText *, BufferView *, Row const  row,
int y_text, int y_offset = 0, int x_offset = 0);
 
///
Index: lyxtext.h
===
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/lyxtext.h,v
retrieving revision 1.102
diff -u -p -r1.102 lyxtext.h
--- lyxtext.h   2001/12/12 09:56:00 1.102
+++ lyxtext.h   2001/12/13 18:28:18
@@ -219,14 +219,13 @@ public:
/** returns the column near the specified x-coordinate of the row 
 x is set to the real beginning of this column
 */ 
-   lyx::pos_type getColumnNearX(BufferView *, Row * row,
+   lyx::pos_type getColumnNearX(BufferView *, Row  row,
int  x, bool  boundary) const;

/** returns a pointer to a specified row. y is set to the beginning
 of the row
 */
-   Row * getRow(Paragraph * par,
-lyx::pos_type pos, int  y) const;
+   Row * getRow(Paragraph * par, lyx::pos_type pos, int  y) const;
/** returns the firstrow, this could be done with the above too but
IMO it's stupid to have to allocate a dummy y all the time I need
the first row
@@ -401,7 +400,7 @@ public:
  solution but faster.
 */
void getVisibleRow(BufferView *, int y_offset, int x_offset,
-  Row * row_ptr, int y, bool cleared=false);
+  Row const  row, int y, bool cleared = false);
 
/// 
void toggleInset(BufferView *);
@@ -473,7 +472,7 @@ public:
///
int workWidth(BufferView *, Inset * inset) const;
///
-   void computeBidiTables(Buffer const *, Row * row) const;
+   void computeBidiTables(Buffer const *, Row const  row) const;
 
/// Maps positions in the visual string to positions in logical string.
inline
@@ -540,11 +539,11 @@ private:
///
void breakAgainOneRow(BufferView *, Row * row);
/// Calculate and set the height of the row
-   void setHeightOfRow(BufferView *, Row * row_ptr) const;
+   void setHeightOfRow(BufferView *, Row  row_ptr) const;
 
/** this calculates the specified parameters. needed when setting
 * the cursor and when creating a visible row */ 
-   void prepareToPrint(BufferView *, Row * row, float  x,
+   void prepareToPrint(BufferView *, Row const * row, float  x,
float  fill_separator, 
float  fill_hfill,
float  fill_label_hfill,
@@ -555,7 +554,7 @@ private:
// the bufferview
BufferView * bv; 
// the row
-   Row * row;
+   Row const * row;
// the painter to use
Painter * pain; 
// has the background been cleared
@@ -678,21 +677,21 @@ private:
/** returns the number of separators in the specified row.
  The separator on the very last column doesnt count
  */ 
-   int numberOfSeparators(Buffer const 

Re: new spam control?

2001-12-13 Thread John Levon

On Thu, Dec 13, 2001 at 09:28:05AM +0100, Juergen Vigna wrote:

 Well IMO that we could do something like that on lyx-devel as I've seen
 that lot's of devel list restrict the access much more. Are there really
 lot's of people on this list who post from different addresses? Anyway

every additional hurdle means another chance a bug won't get reported.

For example, I certainly couldn't be bothered to report a bug on libmad,
as their list is sub-only, and they even REJECT valid posts that have
been put to the admin queue !!!

regards
john

-- 
Of all manifestations of power, restraint impresses the most.
- Thucydides



Re: Bug #57

2001-12-13 Thread John Levon

On Thu, Dec 13, 2001 at 11:48:28PM +1300, Michael Koziarski wrote:

  P.S.: Could we registrate a [EMAIL PROTECTED] user on the buglist?
It would be nice if we could add it as Cc: to some replies we make
so that they go to the lyx-devel list to (I'm thinking of faster
response times and people like Andre, but also myself), otherwise
one has to post the question to lyx-devel separately as I did here!
 
 Done

what email options did you give it ? It should only send email on added comments IMHO

regards
john

-- 
Of all manifestations of power, restraint impresses the most.
- Thucydides



Re: [noreply@sourceforge.net: [ lyxbugs-Feature Requests-439373 ] Support \intertext in mathed]

2001-12-13 Thread John Levon

On Thu, Dec 13, 2001 at 01:46:44PM +0100, Jean-Marc Lasgouttes wrote:

  Andre == Andre Poenitz [EMAIL PROTECTED] writes:
 
 Andre On Wed, Dec 12, 2001 at 04:35:43PM +0100, Jean-Marc Lasgouttes
 Andre wrote: How am I supposed to react to mails like this:
   You are not supposed to, since these are from the old bugtracker.
 
 Andre Whom should I tell that such a bug is fixed? The original
 Andre poster?
 
 You could go here
   http://cvs.koziarski.com/show_bug.cgi?id=90
 and close it, but maybe Michael or John can propose a mail only
 solution to do that.

1) if someone else closes a bug, you will get an email from bugzilla
2) if you fix a bug and want it closed, mention on the list and someone
(me, michael k., someone else) will pick it up and close the bug for you

The last thing we want is the tracker getting in the way of you fixing
mathed bugs

regards
john

-- 
Of all manifestations of power, restraint impresses the most.
- Thucydides



XListFonts question

2001-12-13 Thread Dekel Tsur

When I call to XListFonts with the pattern -*-cmsy-* (or equivalently, when
typing xlsfonts -fn -*-cmsy-* in the shell), I get only one result as
expected:
-bluesky-cmsy-medium-r-normal--0-0-0-0-m-0-adobe-fontspecific

However, when I use the pattern -*-cmsy-*-*-*-*-*-*-*-*-*-*-*-*, I get
two results:
-bluesky-cmsy-medium-r-normal--0-0-0-0-m-0-adobe-fontspecific
-bluesky-cmsy-medium-r-normal--12-120-75-75-m-0-adobe-fontspecific

Why is that ?
Also, will the pattern -*-cmsy-* work on every system ?



added_space_top/bottom patch

2001-12-13 Thread Herbert Voss

as I wrote in another mail I got very often a string like

\added_space_top 0cm \added_space_bottom 0cm \align center

while converting from 1.1.6 to 1.2. For this nonlength
in 1.2 there is always a lengthmarker drawn which is senseless.
the following patch prevents lyx from saving such values.

HErbert

-- 
http://www.lyx.org/help/


Index: src/ChangeLog
===
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/ChangeLog,v
retrieving revision 1.460
diff -u -r1.460 ChangeLog
--- src/ChangeLog   2001/12/13 17:19:53 1.460
+++ src/ChangeLog   2001/12/13 20:38:35
@@ -1,3 +1,6 @@
+2001-12-13  Herbert Voss [EMAIL PROTECTED]
+
+   * buffer.C: no added_space 0cm
 
 2001-12-13  André Pönitz [EMAIL PROTECTED]
 
Index: src/buffer.C
===
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/buffer.C,v
retrieving revision 1.279
diff -u -r1.279 buffer.C
--- src/buffer.C2001/12/11 14:33:50 1.279
+++ src/buffer.C2001/12/13 20:38:43
@@ -1019,10 +1024,14 @@
}
} else if (token == \\added_space_top) {
lex.nextToken();
-   par-params().spaceTop(VSpace(lex.getString()));
+   VSpace value = VSpace(lex.getString());
+   if (value.length().len().value() != 0)
+   par-params().spaceTop(value);
} else if (token == \\added_space_bottom) {
lex.nextToken();
-   par-params().spaceBottom(VSpace(lex.getString()));
+   VSpace value = VSpace(lex.getString());
+   if (value.length().len().value() != 0)
+   par-params().spaceBottom(value);
 #ifndef NO_COMPABILITY
 #ifndef NO_PEXTRA_REALLY
} else if (token == \\pextra_type) {



Re: Bug #57

2001-12-13 Thread Michael A. Koziarski

John Levon wrote:

On Thu, Dec 13, 2001 at 11:48:28PM +1300, Michael Koziarski wrote:

P.S.: Could we registrate a [EMAIL PROTECTED] user on the buglist?
  It would be nice if we could add it as Cc: to some replies we make
  so that they go to the lyx-devel list to (I'm thinking of faster
  response times and people like Andre, but also myself), otherwise
  one has to post the question to lyx-devel separately as I did here!

Done


what email options did you give it ? It should only send email on added comments IMHO

regards
john

It will send mail on added comments, and when the bug is verified or closed.



-- 
Cheers

Koz






Re: page-down binding doesn't work within margin note

2001-12-13 Thread John Levon

On Thu, Dec 13, 2001 at 03:23:34PM -0500, Richard E. Hawkins wrote:

 like it says :)  use an arrow key to get out, and the page keys work 
 again.

Complain to Juergen - he reckons this is a feature request. I totally disagree ...

regards
john

-- 
Of all manifestations of power, restraint impresses the most.
- Thucydides



Re: page-down binding doesn't work within margin note

2001-12-13 Thread Dekel Tsur

On Thu, Dec 13, 2001 at 08:56:20PM +, John Levon wrote:
 On Thu, Dec 13, 2001 at 03:23:34PM -0500, Richard E. Hawkins wrote:
 
  like it says :)  use an arrow key to get out, and the page keys work 
  again.
 
 Complain to Juergen - he reckons this is a feature request. I totally disagree ...

A similar problem is that if you have an inset that its height is more than
the height of the display, then when you try to scroll up/down with pageup/down
you get a weird result.

Why can't the pageup/down be implemented by shifting the display window by
the height of the display and then fake a mouse button press near the 
top/bottom of the display ?



Re: [martin.vermeer@hut.fi: Re: Patches waiting]

2001-12-13 Thread Martin Vermeer

On Thu, Dec 13, 2001 at 05:32:01PM +0100, Andre Poenitz wrote:
...
 On Thu, Dec 13, 2001 at 06:20:26PM +0200, Martin Vermeer wrote:
  +   kbmap-bind(M-m ~S-underscore, LFUN_SUBSCRIPT);
  +   kbmap-bind(M-m ~S-dead_circumflex, LFUN_SUPERSCRIPT);
  +   kbmap-bind(M-m ~S-asciicircum, LFUN_SUPERSCRIPT);
  
  This is my preference, a decent compromise I think.
 
 I always get a bit lost here. Could you please put that into some kind of
 list like
 
Case 1 ( X handles deadkeys; ^ is no deadkey (asciicircum))
   to get '^' in text mode press: ^
  'ê' doesn't work
  '_' _
   to get '^' in math mode press: ^
  'ê' doesn't work
  '_' _
 superscript  M-m ^
 subscriptM-m _
 
Case 2 (X handles deadkeys; ^ is a deadkey (dead_circumflex)) ...
   to get '^' in text mode press: ^ space
  'ê' ^ e
  '_' _
   to get '^' in math mode press: ^ space
  'ê' ^ e  [doesn't seem to work though; a
cursor left is needed inbetween]
  '_' _
 superscript  M-m ^ space (or M-m ^ ^)
 subscriptM-m _
 
Case 3 (Lyx handles deadkeys; ^ is no deadkey)
   to get '^' in text mode press: ^
  'ê' doesn't work (I think?)
  '_' _
   to get '^' in math mode press: ^
  'ê' doesn't work (I think?)
  '_' _
 superscript  M-m ^
 subscriptM-m _
 
Case 4 (Lyx handles deadkeys; ^ is deadkey)
   to get '^' in text mode press: ^ space
  'ê' ^ e
  '_' _
   to get '^' in math mode press: ^ space
  'ê' ^ e   [doesn't seem to work]
  '_' _
 superscript  M-m ^ space 
 subscriptM-m _
 
 Would be really nice.

Actually with the three patches above you can try it in your local tree.
Especially no. 3. I suspect that even with compile times, that's 
quicker than trying to explain it ;-)
 
 I would certainly prefer plain ^ and _ for the math *script stuff and do
 not care too much about the others as long as entering them is somehow
 possible (without using a text editor on the .lyx file...)

So would I. But we are professionally deformed scientists, all the time 
entering formulas with super- and subscripts ;-)

For a more general audience, esp. an international one, things like 
ê and á etc. should really just work. Yes I know the French keyboard
has accented characters ready, but that doesn't apply for all locales.
If a keyboard provides deadkeys, they are meant to be used. Naturally.

Same with ^ and _ characters; especially _ is needed in programme
listings.

One can of course argue whether for the typical user sub- and
superscripts are more common than the raw ^ and _ characters.
If this is the case, then sub/superscript should perhaps be bound
to plain ^ and _ and the symbols to longer escaped sequences; then
also the hat accent should be bound to such a longer sequence. 
(That was my original proposal, binding hat to M-m h and thus the 
^ symbol to M-m h blank. But I gradually changed my mind when LGB and
JMarc pointed out the problems with that.)

[And note, perhaps redundantly, that as I understand it it is *not 
easily possible* to have plain ^ and _ for *both* super/subscript *and* 
insert symbol/hat accent; before the introduction of LFUN_*SCRIPT it 
worked, but that was really a kludge as far as I can see.]

However, my proposed solution (3) is IMHO more consistent/natural.
1. The sub- and superscript bindings start with M-m like all the
   others in math
2. The hat accent works the same way as the other accents ' `  ~
   both in and out of math
3. No need to escape any characters to be inserted.

Item 1. does make the key sequences a little longer, but so what? There
are many others already of the same length, and we all type happily 
M-m g D to get a \Delta etc. etc. I don't think it will make a typical
formula much longer/harder to type as this is offset by the greater 
consistency.

I suspect it may be possible (but you should know best :-) to change
LyX thus that being in mathed always implicitly prepends M-m to 
keysequences typed. This should make that easier.

 
 Andre'
 
 -- 
 André Pönitz .. [EMAIL PROTECTED]
 

Martin
-- 
Martin Vermeer  [EMAIL PROTECTED]
Helsinki University of Technology 
Department of Surveying
P.O. Box 1200, FIN-02015 HUT, Finland
:wq



msg30525/pgp0.pgp
Description: PGP signature


Re: added_space_top/bottom patch

2001-12-13 Thread Herbert Voss

Herbert Voss wrote:

 the following patch prevents lyx from saving such values.


sorry, it was the wrong one. here it comes again.


Herbert



-- 
http://www.lyx.org/help/


Index: src/ChangeLog
===
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/ChangeLog,v
retrieving revision 1.460
diff -u -r1.460 ChangeLog
--- src/ChangeLog   2001/12/13 17:19:53 1.460
+++ src/ChangeLog   2001/12/13 22:04:49
@@ -1,3 +1,6 @@
+2001-12-13  Herbert Voss [EMAIL PROTECTED]
+
+   * buffer.C: no added_space 0cm
 
 2001-12-13  André Pönitz [EMAIL PROTECTED]
 
Index: src/buffer.C
===
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/buffer.C,v
retrieving revision 1.279
diff -u -r1.279 buffer.C
--- src/buffer.C2001/12/11 14:33:50 1.279
+++ src/buffer.C2001/12/13 22:04:59
@@ -1019,10 +1024,16 @@
}
} else if (token == \\added_space_top) {
lex.nextToken();
-   par-params().spaceTop(VSpace(lex.getString()));
+   VSpace value = VSpace(lex.getString());
+   if ((value.length().len().value() != 0) ||
+   (value.kind() != VSpace::LENGTH))
+   par-params().spaceTop(value);
} else if (token == \\added_space_bottom) {
lex.nextToken();
-   par-params().spaceBottom(VSpace(lex.getString()));
+   VSpace value = VSpace(lex.getString());
+   if ((value.length().len().value() != 0) ||
+   (value.kind() != VSpace::LENGTH))
+   par-params().spaceBottom(value);
 #ifndef NO_COMPABILITY
 #ifndef NO_PEXTRA_REALLY
} else if (token == \\pextra_type) {



Re: [PATCH] mmap CRC checking 1.2cvs

2001-12-13 Thread Ben Stanley

Jean-Marc Lasgouttes wrote:

Ben, it seems to me that you sent a patch, but I lost it. Could you
re-send?

Here it is.

I'd appreciate it if people on strange platforms could test it out and 
report any problems to me, thanks. I think this one should resolve the 
compile problems we had on Solaris and compaq cxx, and satisfy the 
regulations of the style police...

Ben.




--- lyx-devel-orig/src/support/ChangeLogThu Dec  6 12:28:42 2001
+++ lyx-devel/src/support/ChangeLog Wed Dec 12 09:53:19 2001
@@ -1,3 +1,7 @@
+2001-12-12  Ben Stanley  [EMAIL PROTECTED]
+
+   * lyxsum.C: portability fix for mmap patch
+
 2001-12-05  Lars Gullik Bjønnes  [EMAIL PROTECTED]
 
* filetools.C:
--- lyx-devel-orig/src/support/lyxsum.C Thu Dec  6 12:28:42 2001
+++ lyx-devel/src/support/lyxsum.C  Wed Dec 12 09:52:15 2001
@@ -23,6 +23,10 @@
 #warning lyx::sum() using mmap (lightning fast)
 #endif
 
+// Make sure we get modern version of mmap and friends with void*,
+// not `compatibility' version with caddr_t.
+#define _POSIX_C_SOURCE 199506L
+
 #include sys/types.h
 #include sys/stat.h
 #include fcntl.h
@@ -40,7 +44,8 @@

void * mm = mmap(0, info.st_size, PROT_READ,
 MAP_PRIVATE, fd, 0);
-   if (mm == MAP_FAILED) {
+   // Some platforms have the wrong type for MAP_FAILED (compaq cxx).
+   if (mm == reinterpret_castvoid*(MAP_FAILED)) {
close(fd);
return 0;
}



Re: Undo leaking

2001-12-13 Thread Ben Stanley

Lars Gullik Bjønnes wrote:

One of my huge goals is to get rid of the paragraph linked list as we
have it now, and have the paragraphs in an stl container of some sort.
This also means moving a lot of algorithms out of LyXParagraph so it
is a lot of work. But I have a very strong feeling that this would
cleanup the code a _lot_.

I like this idea. (Just not the work involved...) Anything that cleans 
up the code can help squash strange bugs... (and introduce new ones, I 
know, but if the architecture is superior then the bugs should be fewer 
and easier to squash.)

But, als while we are at it, can someone explain to me why a Paragraph 
is not some kind of Inset? I suppose it's historical...

Ben





Inset Visitors...

2001-12-13 Thread Ben Stanley

When I did my extended error reporting modification to LyX, I added 
Inset Visitors. I found them to be very useful...

For those unfamiliar with the Visitor pattern, I strongly suggest you 
grab a copy of Design Patterns, by Gamma et al. See page 331. Well 
worth the read... but, I'll attempt to summarise the properties of the 
pattern here.

The Visitor pattern is useful for processing different elements in a 
polymorphic structure (eg the document tree). It allows you to define 
operations upon different classes (eg Inset types) differently depending 
upon the class type, without modifying the original class. Consider the 
following infrastructure:


class InsetVisitor;

class Inset {
// blah blah
virtual void Accept(InsetVisitor) = 0;
};

class InsetA : public Inset {
// blah blah
virtual void Accept(InsetVisitor iv ) { iv.VisitInsetA(*this); }
};

class InsetB : public Inset {
// blah blah
virtual void Accept(InsetVisitor iv ) { iv.VisitInsetB(*this); }
};


class InsetVisitor {
// blah blah
virtual void VisitInsetA( InsetA ) = 0;
virtual void VisitInsetB( InsetB ) = 0;
};


I may now extract the, for example, spell-checking methods from 
LyXParagraph, and define a single visitor which knows what to do to any 
particular kind of inset to perform spell-checking on it (that was a bad 
example to pick, maybe someone else can come up with a better one...):

class SpellCheckInsetVisitor : public InsetVisitor {
 // blah blah
virtual void VisitInsetA( InsetA i ) {
// Carry out spellcheck on contents of InsetA
 }
virtual void VisitInsetB( InsetB i ) {
// InsetB doesn't have any text that you can spellcheck, so do 
nothing.
}
};

This means that all the 'spellchecking' (or whatever) code related to a 
single kind of operation is contained within a single visitor class 
instead of being strewn all over the code in methods of individual insets.

To use it, the spell checker driver does this:
SpellCheckerVisitor spell;
for( InsetIterator i = insets.begin(); i != insets.end(); ++i ) {
i-Accept(spell);
}

(I usually define some fancier ways of doing this so that information 
can be passed to the spell checker object, but this is simplest for 
illustration.)

The call to Inset::Accept bounces to the visitor's VisitInsetA or 
VisitInsetB method depending on what type of inset it is, according to 
the vtable ie it's efficient.

I actually used these for traversing the document and collecting labels, 
citations, bibliography boxes, and ERTs for use in error reporting, but 
they have so many other uses as well. The wonderful thing about it is 
that you only need to add one method to every inset - the Accept method. 
 From then on, you are free to define new operations upon insets without 
touching the insets themselves...

Note that the operations contained within the visitor classes can only 
utilise public interfaces on the insets they manipulate. This means that 
the Inset interface must be complete. - no fiddling with private innards 
may be done this way.

This pattern does have a disadvantage: If you keep adding new insets 
types, you have to go and add methods for them all to all the different 
kinds of inset visitors. This may be overcome by creating an inset 
visitor class which does nothing - ie all abstract methods from the base 
class are implemented as no-ops. Actual operation visitors would then 
inherit from this and only override the methods that they need. However, 
this leads to 'forgetting' to add the required methods to the visitors 
in the few cases where they are really necessary, as the compiler will 
no longer complain... you will just get a silent nop where perhaps you 
expected to spellcheck the contents of a caption. These kinds of 
problems are easy to fix, just not so easy to detect.

Anyway, I found that using this pattern gave me incredible flexibility 
in implementing my extended error handling code, and I wondered if 
anyone else thought there might be applications for it in the current 
LyX code base.

Ben.





Re: Undo leaking

2001-12-13 Thread Ben Stanley

Lars Gullik Bjønnes wrote:

ref_ptr-obj-ref_ptr-obj-ref_ptr-obj

and run reset(0) on the first, the refcount is decremented on all the
rest as well and if the refcount reach zero the paragraph is deleted,
just like we would expect.

I think it would work.

In the case you have above, it would work. But that is not the case in 
the LyX code. From paragraph.h:

private:
/// if anything uses this we don't want it to.
Paragraph(Paragraph const );
///
Paragraph * next_;
///
Paragraph * previous_;

So Paragraphs form a doubly linked list... this is a self-referencing 
structure, and reference counted pointers don't work there. (The 
offending data will never be deleted.)

In general, reference counted pointers do not work in cyclical 
structures. They work fine in acyclic structures (ones that don't 
reference themselves).

However, if you were to remove the doubly linked list structure from 
Paragraph and insted place reference counted paragraph pointers into a 
vector (as previously pointed out), then this would work fine. (I do 
this sort of thing all the time in my own code.) this would also allow 
you to keep a (reference counted) paragraph pointer in the undo code 
until such time as it was no longer required, and it would all 
`magically' figure itself out correctly.

The original post referred to manually unlinking from the list before 
expecting the reference counted stuff to do it's magic - that may also 
work, but is not as clean...

Ben.





Re: Inset Visitors...

2001-12-13 Thread John Levon

On Fri, Dec 14, 2001 at 11:02:51AM +1100, Ben Stanley wrote:

 class InsetA : public Inset {
 // blah blah
virtual void Accept(InsetVisitor iv ) { iv.VisitInsetA(*this); }
 };
 
 class InsetVisitor {
 // blah blah
virtual void VisitInsetA( InsetA ) = 0;
 };

what's the point in calling back like this ? This looks like it requires
an VisitInsetX for every class X ? And furthermore, one that must be
public.

What is wrong with :

  for (InsetIterator i = insets.begin(); i != insets.end(); ++i) {
if (i-allowSpellcheck()) {
spellcheckInset(*i); // private method of Spell class
} else if (i-somethingSpecial()) {
spellcheckSpecialInset(*i);
}
  }

exactly ?

this centralises the spellchecking code, and reduces public code.

Note: everyone agrees the current method of not using an iterator isn't good ...

 (I usually define some fancier ways of doing this so that information 
 can be passed to the spell checker object, but this is simplest for 
 illustration.)

which is another disadvantage of your scheme ...

 that you only need to add one method to every inset - the Accept method. 
 From then on, you are free to define new operations upon insets without 
 touching the insets themselves...

I think this is a dubious advantage. Explain to me again why it is better
that the information an inset should not be spellchecked is part of the
Spell class rather than part of the MyInset class ?

regards
john

-- 
Of all manifestations of power, restraint impresses the most.
- Thucydides



Re: Undo leaking

2001-12-13 Thread John Levon

On Fri, Dec 14, 2001 at 12:20:57PM +1100, Ben Stanley wrote:

 So Paragraphs form a doubly linked list... this is a self-referencing 
 structure, and reference counted pointers don't work there. (The 
 offending data will never be deleted.)

this is true in general, but we explicitly break a chain when we don't
want the paragraph any more. So the actually unused data no longer
forms a cycle, and ref counting is OK.

Think about removing a paragraph from a chain : it starts with a count of 2,
then 1 as prev's pointer is reset, then 0 as next's pointer is reset.

At least I assume that's how we manage the list right now ...

regards
john

-- 
Of all manifestations of power, restraint impresses the most.
- Thucydides



Re: Inset Visitors...

2001-12-13 Thread Ben Stanley

John Levon wrote:

On Fri, Dec 14, 2001 at 11:02:51AM +1100, Ben Stanley wrote:

class InsetA : public Inset {
// blah blah
   virtual void Accept(InsetVisitor iv ) { iv.VisitInsetA(*this); }
};

class InsetVisitor {
// blah blah
   virtual void VisitInsetA( InsetA ) = 0;
};


what's the point in calling back like this ? This looks like it requires
an VisitInsetX for every class X ? And furthermore, one that must be
public.

The point of calling back is that it gives you the virtual dispatch. 
It's the whole point of the scheme. Yes, it does require a VisitInsetX 
for every class X, but if you inherit from an InsetVisitorNOP class 
which provides default implementations for VisitInsetX for every class X 
which are empty, then this point is moot.



What is wrong with :

  for (InsetIterator i = insets.begin(); i != insets.end(); ++i) {
   if (i-allowSpellcheck()) {
   spellcheckInset(*i); // private method of Spell class
   } else if (i-somethingSpecial()) {
   spellcheckSpecialInset(*i);
   }
  }

exactly ?

Well, firstly you have to typecast the inset in 
spellcheckInset(typecast-here(*i))...

It also means that every time you want to add a new fandangled operation 
on an inset, you have to
a) modify Inset to have an allowX() method
b) modify the class(es) of interest to support the new fandangled operation.

This way, all the mods are done in one place, without ever touching the 
Inset classes (apart from adding the visitor support infrastructure in 
the first place).



this centralises the spellchecking code, and reduces public code.

Note: everyone agrees the current method of not using an iterator isn't good ...

The iterator isn't the point, but this scheme can be used to support a 
global recursive inset iterator as well, without hacking the insets 
themselves.

(I usually define some fancier ways of doing this so that information 
can be passed to the spell checker object, but this is simplest for 
illustration.)


which is another disadvantage of your scheme ...

Not really...
Here it is:

class InsetVisitorNOP : public InsetVisitor {
virtual void VisitInsetA( InsetA ) {}
virtual void VisitInsetB( InsetB ) {}
};

class SpellCheckInsetVisitor : public InsetVisitorNOP {

result_type operator()( Inset i, FancyType _someSpellCheckInfo ) {
someSpellCheckInfo = _someSpellCheckInfo;
i.Accept(*this);
return result;
}

virtual void VisitInsetA( InsetA i ) {
// use someSpellCheckInfo with InsetA
// set result
}

private:
FancyType someSpellCheckInfo;
result_type result;
};



that you only need to add one method to every inset - the Accept method. 
From then on, you are free to define new operations upon insets without 
touching the insets themselves...


I think this is a dubious advantage. Explain to me again why it is better
that the information an inset should not be spellchecked is part of the
Spell class rather than part of the MyInset class ?

Well, I thought that one was rather obvious actually...
It means that you can tell at a glance (ie in one place) what classes 
are affected by the operation, without having to chase all over the 
header files etc.

It also makes it very quick to define a new kind of operation, and to 
add it (even just locally for testing) without having to make changes 
everywhere else. The new operation is only kept locally.

This scheme can also be used for constructing an Inset iterator which 
iterates over all of the insets held by an Inset class (one level). You 
define an InsetVisitor which has the capacity to visit an Inset and 
return the correct kind of iterator to traverse it's contained Insets. 
If the inset contains no other insets, it just returns an empty 
iterator. Of course this could also be implemented the other way, ie by 
modifiying the individual insets, but this way keeps all of the iterator 
creation code in one place.

I find it much easier to work with the Visitor pattern than modifying 
every class in a hierarchy because I don't have to jump around every 
file to add a new operation - I onlyl have to define one new class, 
usually above the bit that needs to use it. Much easier - also helps to 
reduce the need for re-compilation.

Ben.





Re: Inset Visitors...

2001-12-13 Thread John Levon

On Fri, Dec 14, 2001 at 12:48:23PM +1100, Ben Stanley wrote:

 what's the point in calling back like this ? This looks like it requires
 an VisitInsetX for every class X ? And furthermore, one that must be
 public.
 
 The point of calling back is that it gives you the virtual dispatch. 
 It's the whole point of the scheme. Yes, it does require a VisitInsetX 
 for every class X, but if you inherit from an InsetVisitorNOP class 
 which provides default implementations for VisitInsetX for every class X 
 which are empty, then this point is moot.

this also applies to an iterator scheme with allowSpellCheck().

  for (InsetIterator i = insets.begin(); i != insets.end(); ++i) {
  if (i-allowSpellcheck()) {
  spellcheckInset(*i); // private method of Spell class
  } else if (i-somethingSpecial()) {
  spellcheckSpecialInset(*i);
  }
  }
 
 exactly ?
 
 Well, firstly you have to typecast the inset in 
 spellcheckInset(typecast-here(*i))...

OK, ugly, but we are doing RTTI here. Having inner spell code public (or friended,
which is not much nicer) is also ugly ...

 It also means that every time you want to add a new fandangled operation 
 on an inset, you have to
 a) modify Inset to have an allowX() method
 b) modify the class(es) of interest to support the new fandangled operation.
 
 This way, all the mods are done in one place, without ever touching the 
 Inset classes (apart from adding the visitor support infrastructure in 
 the first place).

iterator way: for new operations, add a new Accept() (or similar) for each inset
  that wants it (also use virtual where possible to avoid this)

your way: for new operations, add a new Accept() for inset that needs it (also use
  virtual where possible to avoid this) PLUS a new thing in the calling class for
  every type

It just looks like more typing to me.

 The iterator isn't the point, but this scheme can be used to support a 
 global recursive inset iterator as well, without hacking the insets 
 themselves.

and this is easy to hack on top of ParIterator and Paragraph::InsetIterator
anyway.

 Well, I thought that one was rather obvious actually...
 It means that you can tell at a glance (ie in one place) what classes 
 are affected by the operation, without having to chase all over the 
 header files etc.

you would have to come up with some actual example where this really
makes a difference. Besides, this can be done the normal-style iterator
way EXACTLY the same (plus the ugly casts, but as both you and I have
mentioned, neither scheme is un-ugly).

 It also makes it very quick to define a new kind of operation, and to 
 add it (even just locally for testing) without having to make changes 
 everywhere else. The new operation is only kept locally.

um, for each new operation, I need to specify the special cases for each
inset. So you have to change code somewhere, and I still don't see the
advantage over the visitor instead of iterator + RTTI, but I do see
the disadvantages.

 This scheme can also be used for constructing an Inset iterator which 
 iterates over all of the insets held by an Inset class (one level). You 
 define an InsetVisitor which has the capacity to visit an Inset and 
 return the correct kind of iterator to traverse it's contained Insets. 
 If the inset contains no other insets, it just returns an empty 
 iterator. Of course this could also be implemented the other way, ie by 
 modifiying the individual insets, but this way keeps all of the iterator 
 creation code in one place.

and WHY is this complex Visitor thing needed for that ? You can make an iterator
that does this easily, without need for visitor code - just iterate along
the contained paragraphs and ue inset_iterator_begin/end() on each one.

 I find it much easier to work with the Visitor pattern than modifying 
 every class in a hierarchy because I don't have to jump around every 
 file to add a new operation - I onlyl have to define one new class, 
 usually above the bit that needs to use it. Much easier - also helps to 
 reduce the need for re-compilation.

Again, irrelevant to using Visitor ...

regards
john
-- 
Of all manifestations of power, restraint impresses the most.
- Thucydides



Re: Inset Visitors...

2001-12-13 Thread Ben Stanley

John Levon wrote:

On Fri, Dec 14, 2001 at 12:48:23PM +1100, Ben Stanley wrote:

what's the point in calling back like this ? This looks like it requires
an VisitInsetX for every class X ? And furthermore, one that must be
public.

The point of calling back is that it gives you the virtual dispatch. 
It's the whole point of the scheme. Yes, it does require a VisitInsetX 
for every class X, but if you inherit from an InsetVisitorNOP class 
which provides default implementations for VisitInsetX for every class X 
which are empty, then this point is moot.


this also applies to an iterator scheme with allowSpellCheck().

*** With the visitor scheme, the spell check method would actually be 
done in the visitor, not the Inset.

This removes all spell check code from the inset.

*** All the inset needs to provide is a way of accessing it's 
characters. This also facilitates other external methods anyway.


If, for some strange reason, you had to build a LyX without 
spellchecking code, it would be easy - just don't include the spell 
check visitor file in the compilation, and it's gone.

So this scheme allows you to easily add/remove features without changing 
the inset code (once you've added Accept methods to every inset). This 
allows for easier addition of new features without touching/breaking 
unrelated code.

OK, ugly, but we are doing RTTI here. Having inner spell code public (or friended,
which is not much nicer) is also ugly ...

I'm saying the spell check code doesn't belong in the inset, it belongs 
in the visitor. That way, all the different ways of spell checking 
insets are in the same place (if any insets need to have it done 
differently).

It also means that every time you want to add a new fandangled operation 
on an inset, you have to
a) modify Inset to have an allowX() method
b) modify the class(es) of interest to support the new fandangled operation.

This way, all the mods are done in one place, without ever touching the 
Inset classes (apart from adding the visitor support infrastructure in 
the first place).


iterator way: for new operations, add a new Accept() (or similar) for each inset
  that wants it (also use virtual where possible to avoid this)

and modify the base class, and have to re-compile the whole inset tree, 
and anything else that uses it.

your way: for new operations, add a new Accept() for inset that needs it (also use
  virtual where possible to avoid this) PLUS a new thing in the calling class for
  every type

No, Add Accept once only per inset.

Subsequently only add a method to your visitor class. Only re-compile 
the visitor class - test quickly.





Re: Bugs in Debian BTS

2001-12-13 Thread Allan Rae

On 13 Dec 2001, Jean-Marc Lasgouttes wrote:

  Baruch == Baruch Even [EMAIL PROTECTED] writes:
[...]
 Baruch too large menu fonts cause segfault with german locale
 Baruch http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=120450

 I think this one is known. What has been done about it (tab too long
 in german == crash).

That was why I reorganized the Preferences dialog into nested tabs.
That fix is in 1.1.6 also but I'm not sure if the german translations
are still too long.

Allan. (ARRae)




Re: Bugs in Debian BTS

2001-12-13 Thread John Levon

On Thu, Dec 13, 2001 at 03:59:36AM -0500, Baruch Even wrote:

 There are quite a few bugs in the debian BTS which neither me nor Jules know
 if they are valid or not, I'd be happy if someone more knowledgeable in this 
 bugs can let me know their status.
 
 The whole bug lists cant be found at:
 http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=lyxrepeatmerged=no

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=69483

is interesting. We often have people complain of this. Do you know why
the bug occurs ? Is it definitely an X config problem ?

regards
john

-- 
Of all manifestations of power, restraint impresses the most.
- Thucydides



Re: Inset Visitors...

2001-12-13 Thread Ben Stanley

John Leveon asked me  how you would specify that one kind of inset is 
searchable but not spell-checkable, and that another kind of inset is 
spell-checkable and not searchable. Here is a complete self-contained 
example.

class InsetVisitor;

class Inset {
// blah blah
   virtual void Accept(InsetVisitor) = 0;
};

class InsetSpellCheckable : public Inset {
// blah blah
   virtual void Accept(InsetVisitor iv ) { iv.VisitInsetA(*this); }
};

class InsetSearchable : public Inset {
// blah blah
   virtual void Accept(InsetVisitor iv ) { iv.VisitInsetB(*this); }
};


class InsetVisitor {
// blah blah
   virtual void VisitInsetSpellCheckable( InsetSpellCheckable ) = 0;
   virtual void VisitInsetSearchable( InsetSearchable ) = 0;
};

// Once-off infrastructure
class InsetVisitorNOP : public InsetVisitor {
   virtual void VisitInsetSpellCheckable( InsetSpellCheckable ) {}
   virtual void VisitInsetSearchable( InsetSearchable ) {}
};

class SpellCheckInsetVisitor : public InsetVisitorNOP {
// blah blah
public:
   virtual void VisitInsetSpellCheckable( InsetSpellCheckable i ) {
   // Carry out spellcheck on contents of InsetSpellcheckable
}
};

class SearchableInsetVisitor : public InsetVisitorNOP {
// blah blah
public:
virtual void VisitInsetSearchable( InsetSearchable i ) {
// Carry out search on contents of InsetSearchable
}
};

Note that only one set of Accepts methods is necessary in the Insets to 
support both (and any other) kinds of visitors.

Furthermore, you may define a modular exporter:

// Export to text file
class WriteAsTextInsetVisitor
: public  InsetVisitor // Compiler will give errors if new class is 
added that we didn't visit.
{
 public:
virtual void VisitInsetSearchable( InsetSearchable i ) {
// Write out an InsetSearchable as text format, including any 
sub-insets...
}
virtual void VisitInsetSpellCheckable( InsetSpellCheckable i ) {
// Write out an InsetSpellCheckable as text format, including 
any sub-insets...
}
};

Note that this visitor could be placed into a dynamic link library if 
required, or conditionally compiled, or whatever... it has completely 
removed the export code from all of the insets. It could be a new 
feature you are adding for testing (without touching any existing inset 
code).

Ben.





Re: Inset Visitors...

2001-12-13 Thread John Levon

On Fri, Dec 14, 2001 at 02:07:05PM +1100, Ben Stanley wrote:

 John Leveon asked me  how you would specify that one kind of inset is 
 searchable but not spell-checkable, and that another kind of inset is 
 spell-checkable and not searchable. Here is a complete self-contained 
 example.

OK, I get it now, the method lookup does the type inspection via the parameter type
matching. That was the crucial point I was missing :)

And I like it, I think. Not sure about the other example though ...

regards
john

-- 
Of all manifestations of power, restraint impresses the most.
- Thucydides



Re: Inset Visitors...

2001-12-13 Thread Ben Stanley

John Levon wrote:

On Fri, Dec 14, 2001 at 02:07:05PM +1100, Ben Stanley wrote:

John Leveon asked me  how you would specify that one kind of inset is 
searchable but not spell-checkable, and that another kind of inset is 
spell-checkable and not searchable. Here is a complete self-contained 
example.


OK, I get it now, the method lookup does the type inspection via the parameter type
matching. 

Uh, by the function name, but could name them all the same and do it by 
parameter type. The type lookup is really by the virtual Accept function 
in all the insets.

That was the crucial point I was missing :)

And I like it, I think. Not sure about the other example though ...

Oh, didn't you like it? The contents of the visitor's methods would be 
pretty much the same as the current WriteAsText (or equivalent) methods 
dotted all over the Inset code... It just collects it all into one 
place. And where the WriteAsText method would call a sub-inset's 
WriteAsText method to get it to write itself out, the Visitor's method 
would call
inset.Accept(*this);
to do the same thing and correctly virtually dispatch it.

Then all the WriteAsText code is collected into one file, all together, 
easier to maintain and make sure it's all consistent.

Ben.






Re: XListFonts question

2001-12-13 Thread John Levon

On Thu, Dec 13, 2001 at 10:24:03PM +0200, Dekel Tsur wrote:

 When I call to XListFonts with the pattern -*-cmsy-* (or equivalently, when
 typing xlsfonts -fn -*-cmsy-* in the shell), I get only one result as
 expected:
 -bluesky-cmsy-medium-r-normal--0-0-0-0-m-0-adobe-fontspecific
 
 However, when I use the pattern -*-cmsy-*-*-*-*-*-*-*-*-*-*-*-*, I get
 two results:
 -bluesky-cmsy-medium-r-normal--0-0-0-0-m-0-adobe-fontspecific
 -bluesky-cmsy-medium-r-normal--12-120-75-75-m-0-adobe-fontspecific

man xlsfonts :

   -o  This option indicates that xlsfonts should do an OpenFont (and 
QueryFont, if appropriate) rather than a  ListFonts.
   This  is  useful  if ListFonts or ListFontsWithInfo fail to list a 
known font (as is the case with some scaled font
   systems).

The behaviour you are seeing looks perhaps a little odd ... but it is related
to the fact that listing all the available font specifications with scalable fonts 
makes no
sense.

My X book says :

The X server and font server are only required to match scalable fonts when the
font name pattrern they are passed is a well-formed one. A well-formed font
name is one that contains all 14 hyphens specified in the XLFD convention.
Wildcards are permitted for any field, but may not replace multiple fields. If
XListFonts() is passed a pattrern that is not well-formed, it may not include
scalable fonts in the search at all.  

 - A.3.1 of  Xlib Programming Manual , Adrian Nye



Visitor ...

2001-12-13 Thread John Levon


here's a working example of what Ben had designed (did this so I
could work out what he was saying :)

Dunno about others, but I prefer the name of visitInset to stay
the same no matter what ...

the two problems ben has been trying to fix with this (accompanied
by stupid questions from myself) are :

1) each inset has to be listed in InsetVisitor

2) each inset HAS to have an acceptVisitor() method

I still think it's worth it, even better if anyone can solve either
of these problems ...

regards
john

#include iostream

class Inset;
class InsetERT; 
 
class InsetVisitor {
// blah blah
public:
// need every possible inset listed here
// for dynamic dispatch based on inset type,
// to be robust against future visitor classes
virtual void visitInset(Inset )  {};
virtual void visitInset(InsetERT ) {}; 
};

class Inset {
// blah blah 
public:
virtual void acceptVisitor(InsetVisitor  iv) {
iv.visitInset(*this);
}
};

class InsetERT : public Inset {
// blah blah 
private:
// need this here to get the right type for visitInset
virtual void acceptVisitor(InsetVisitor  iv) {
iv.visitInset(*this);
}
};

class SpellCheckInsetVisitor : public InsetVisitor {
public:
virtual void visitInset(Inset ) {
// do default spellcheck 
std::cout  default spellcheck  std::endl;
}
virtual void visitInset(InsetERT ) {
// don't do any spellcheck !!
std::cout  ert no spellcheck  std::endl;
}

// this is the top-level code
void doSpellcheck() {
//for_each(bv.inset_iterator_begin(), bv.inset_iterator_end(), 
acceptVisitor(this));
Inset * ie = new InsetERT;
ie-acceptVisitor(*this);
}
};

int main() {
SpellCheckInsetVisitor v;
v.doSpellcheck();
} 

-- 
Of all manifestations of power, restraint impresses the most.
- Thucydides



Re: Visitor ...

2001-12-13 Thread Allan Rae

On Fri, 14 Dec 2001, John Levon wrote:


 here's a working example of what Ben had designed (did this so I
 could work out what he was saying :)

 Dunno about others, but I prefer the name of visitInset to stay
 the same no matter what ...

 the two problems ben has been trying to fix with this (accompanied
 by stupid questions from myself) are :

 1) each inset has to be listed in InsetVisitor

 2) each inset HAS to have an acceptVisitor() method

 I still think it's worth it, even better if anyone can solve either
 of these problems ...

I'll check my copy of, of, ummm,  I've forgotten the name.
It's about implementing patterns as templates.

Allan. (ARRae)




TOC crash

2001-12-13 Thread Allan Rae


Anyone else noticed a crash when opening a TOC dialog in current CVS?

Allan. (ARRae)




Re: Visitor ...

2001-12-13 Thread Ben Stanley

Allan Rae wrote:


I'll check my copy of, of, ummm,  I've forgotten the name.
It's about implementing patterns as templates.

Allan. (ARRae)

Been there, tried that, but John and I didn't succeed. Good luck.

I thought that we could use the Barton and Nackman trick (see Scientific 
and Engineering C++, by same authors, named after a pattern that was 
used extensively in that book), but you can't re-define a virtual method 
by inheriting it through another base class.

Ben.





Re: TOC crash

2001-12-13 Thread John Levon

On Fri, Dec 14, 2001 at 03:33:42PM +1000, Allan Rae wrote:

 Anyone else noticed a crash when opening a TOC dialog in current CVS?

looks like my bad code. will fix ...

john

-- 
Of all manifestations of power, restraint impresses the most.
- Thucydides



Re: TOC crash

2001-12-13 Thread Herbert Voss

Allan Rae wrote:

  Anyone else noticed a crash when opening a TOC dialog in current CVS?

no problem here, latest cvs

Herbert



-- 
http://www.lyx.org/help/





Re: TOC crash

2001-12-13 Thread John Levon

  Anyone else noticed a crash when opening a TOC dialog in current CVS?
it crashes on an empty document. fix attached.

regards
john

-- 
Of all manifestations of power, restraint impresses the most.
- Thucydides



Re: [noreply@sourceforge.net: [ lyxbugs-Feature Requests-439373 ] Support \intertext in mathed]

2001-12-13 Thread Andre Poenitz

On Thu, Dec 13, 2001 at 07:44:09PM +, John Levon wrote:
 1) if someone else closes a bug, you will get an email from bugzilla
 2) if you fix a bug and want it closed, mention on the list and someone
 (me, michael k., someone else) will pick it up and close the bug for you

I had a look myself on that bugtracker but could not work out way to get a
list of e.g. all mathed bugs. The closest think I got was a list bugs
assigned to engineers. The search field seemed only to accept bug
numbers and I do not really like the idea to iterate from 1 to 90 there.
What did I miss?

Andre'

-- 
André Pönitz .. [EMAIL PROTECTED]



Re: Row * - Row , part I

2001-12-13 Thread Andre Poenitz

On Thu, Dec 13, 2001 at 09:30:59PM +0100, Lars Gullik Bjønnes wrote:
 The kind of patches I like but is this the right time to do this?

Probably not...

I just wanted to tease you ;-}

 (I must admit that I am likely to try out the shared_ptrParagraph
 idea pretty soon... only in my local tree of course)

Lucky me that I picked the Row and not the Paragraph...

Andre'

-- 
André Pönitz .. [EMAIL PROTECTED]



Re: [martin.vermeer@hut.fi: Re: Patches waiting]

2001-12-13 Thread Andre Poenitz

On Thu, Dec 13, 2001 at 11:16:50PM +0200, Martin Vermeer wrote:
 Item 1. does make the key sequences a little longer, but so what?

People won't like it. I think there are still more mathematicians or
physisists who use LyX than people from the poetry fraction...

 There are many others already of the same length, and we all type
 happily M-m g D to get a \Delta etc. etc.

No, I type \Delta. Actually, I type most math exactly the way I would do
when writing LaTeX in vi, so every additional difference annoys me...

 I don't think it will make a typical formula much longer/harder to type
 as this is offset by the greater consistency.
 
 I suspect it may be possible (but you should know best :-) to change LyX
 thus that being in mathed always implicitly prepends M-m to keysequences
 typed. This should make that easier.

Yes, we seem to need some context sensitive keybindings. Soonish...

Maybe it's not even too hard...


-- 
André Pönitz .. [EMAIL PROTECTED]



Re: CVS Update: lyx-devel

2001-12-13 Thread Andre Poenitz

On Thu, Dec 13, 2001 at 11:06:14PM +, [EMAIL PROTECTED] wrote:
 Modified files:
   lyx-devel/src/mathed/: ChangeLog math_support.C 
 
 Log message:
   Fix handling of \mathfrak font.

Out of pure curiosity: what was broken and how does your patch fixed it?

Andre'

-- 
André Pönitz .. [EMAIL PROTECTED]



Re: TOC crash

2001-12-13 Thread Allan Rae

On Fri, 14 Dec 2001, John Levon wrote:

   Anyone else noticed a crash when opening a TOC dialog in current CVS?
 it crashes on an empty document. fix attached.

My case is a multipart document and chapters are in separate docs. So
this is the same as an empty doc?

But sadly the unattached fix doesn't work for me.

Allan. (ARRae)




Some bugs

2001-12-13 Thread Michael Schmitt

Hi!

I have found a few new bugs. Please have a look.

Michael



Place a paragraph that is aligned to the right and has a line above into 
a minipage - the line is not drawn correctly
(in order to observe this, there must be some text in front/after the 
minipage and the size of the minipage should be set to 50% of page width)



In math mode, enter a, ^, _, cursorleft, cursorleft. The 
subscript of the superscript is deleted correctly but a small dot 
remains as the superscript of a on screen.



Adding a column after the last column of a table still causes a freed 
memory access error! (Use njamd, a fast memory checker, to check this)

#0  0x080f522e in LyXTabular::AppendColumn (this=0x45b76f88, cell=0)
 at tabular.C:310
#1  0x0818378e in InsetTabular::tabularFeatures (this=0x446a6f70,
 bv=0x44796fec, feature=APPEND_COLUMN, value=@0xb254)
 at insettabular.C:1731
#2  0x081e95f6 in FormTabular::input (this=0x444d2f00, ob=0x46120f00)
 at FormTabular.C:558
#3  0x08210894 in FormBaseDeprecated::InputCB (ob=0x46120f00, data=0)
 at FormBaseDeprecated.C:212
#4  0x0820ff5e in C_FormBaseDeprecatedInputCB (ob=0x46120f00, d=0)
 at FormBaseDeprecated.C:54
...

This one should be really simple to fix; I guess it is just an 
out-of-bounds errors.

*

Insert one line of text into a note; delete the line and undo the 
deletion - freed memory access error!

#0  Paragraph::id (this=0x446b8fdc) at paragraph.C:2073
#1  0x0818feb4 in InsetText::getParFromID (this=0x460feef8, id=1)
 at insettext.C:2345
#2  0x08194264 in InsetCollapsable::getParFromID (this=0x460fee9c, id=1)
 at insetcollapsable.C:570
#3  0x080efc80 in Paragraph::Pimpl::getParFromID (this=0x45dbbfac, id=1)
 at paragraph_pimpl.C:539
#4  0x080ede8e in Paragraph::getParFromID (this=0x45cd1fdc, id=1)
 at paragraph.C:2165
#5  0x0809c555 in Buffer::getParFromID (this=0x45b4ae60, id=1) at
 buffer.C:3765
#6  0x0811dbe1 in LyXText::ownerParagraph (this=0x45cade70, id=1,
 p=0x447b0fdc)
 at text2.C:2595
#7  0x08121d5d in textHandleUndo (bv=0x44796fec, undo=0x4619afe4)
 at undo_funcs.C:151
#8  0x08121991 in textUndo (bv=0x44796fec) at undo_funcs.C:48
#9  0x080524e8 in BufferView::menuUndo (this=0x44796fec) at
 BufferView2.C:241
#10 0x080cafce in LyXFunc::dispatch (this=0x41909f7c, ac=16,
 do_not_use_this_arg=@0xbfffee98) at lyxfunc.C:827



-- 
===
Michael Schmitt   Telefon: +49 651 97551-40
Institut für TelematikTelefax: +49 651 97551-12
Bahnhofstrasse 30-32  WWW: http://www.ti.fhg.de
D-54292 Trier E-Mail:  mailto:[EMAIL PROTECTED]
===




Re: Patches waiting

2001-12-13 Thread Juergen Vigna


On 12-Dec-2001 Jean-Marc Lasgouttes wrote:

> I have to admit that I am not sure. Harcoding SUBSCRIPT SUPERSCRIPT to
> output ^ and _ in text mode is not better than hardcoding them in math
> as we had before. Maybe these functions could be changed in text to
> insert the character they have been bound to, but this is really
> hackish.

Well as much as I know ^ may be a deadkey and if it IS a deadkey it can
be used to put it over a character! But if it's no deadkey then it definitely
in textmode should input a ^ character. For the _ (underscore) in text mode
it definitively should input a _ character always. As for mathmode I don't
know (and don't really care ;) but the problem is if we want be 100% compatible
with the behaviour in 1.1.6 or if we don't. Anyway IMO ^ can be used to
go in subscript (in mathed) and if ^ is a deadkey it should anyway go into
subscript (if we get the token otherwise it can handle it only after the " "
(space). For _ it's never a deadkey so there seems to be no problem. In
mathmode go in subscript in math-text mode insert a _ character.

> I do not know what the right solution is, but we have to find one...

I was just thinking out aloud above, but that's what I think is most
resonable.

   Jug

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

"OK, now let's look at four dimensions on the blackboard."
-- Dr. Joy




Re: Herbert's problems with large documents loading time

2001-12-13 Thread Juergen Vigna


On 12-Dec-2001 Lars Gullik Bjønnes wrote:

> Found a LyXText that fits:
> Buffer: 0x84d0aa0   Width: 667
> TextCache: resizeCurrentBuffer
> Buffer: 0x84d06b8   Width: 667

Why does it a resize if the sizes are the same???
A resize has to recalculate ALL of the insettext!
Are you sure we do a resize REALLY or are we just
outputting the text?

  Jug

--
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen VignaE-Mail:  [EMAIL PROTECTED]
Italienallee 13/N   Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39100 Bozen   Web: http://www.sad.it/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

"Can you program?"  "Well, I'm literate, if that's what you mean!"




  1   2   >