Re: new ostream code

2000-03-08 Thread Allan Rae

On 8 Mar 2000, Lars Gullik Bjønnes wrote:

> 
> I will begin slowly to remove the code that is dead when
> USE_OSTREAM_ONLY is defined. Pending bugreports I am going to do that
> in the next two-three days.
> 
> After that is done, I think we should have a new prerelease to get a
> broader userbase to have a look. (This will perhaps also be a nice
> time for rae to update again?) I'll put in some cvs tags.

That would indeed be not only convenient but very good timing.  If all
goes to my secret plan my branch could be merged into the main trunk by
late next week.

> Another prelease about a week later.

Then again maybe I should hold off on merging gui-indep until after 1.1.5?
GUI initialization is likely to stay in lyx_gui.C until we have gotten
further down the track with other gui toolkits.  Otherwise it gets even
more awkward trying to get xforms initialized for the LyXViews and the
other toolkit/s for the dialogs.

Allan. (ARRae)



Re: LDN future plans

2000-03-08 Thread Allan Rae

On 8 Mar 2000, Lars Gullik Bjønnes wrote:

> Allan Rae <[EMAIL PROTECTED]> writes:
> | I just downloaded a copy of the latest html-4.01 specification.  It has a
> | paragraph saying that redirects via META tags are _bad_ and server side
> | redirects only should be used -- in other words they aren't part of the
> | standard.
> 
> What does that give? One point to me?

I'll give you half a point.  For a whole point you have to tell me how to
do the equivalent of \hfill{} in html without using a table.

Allan. (ARRae)

P.S.  I suspect you may not get that whole point ever



Re: lyx-1.1.5cvs bug: All protected spaces export as ~

2000-03-08 Thread Jean-Marc Lasgouttes

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

Lars> "Kayvan A. Sylvan" <[EMAIL PROTECTED]> writes: | > | > No it
Lars> doesen't but it absolutely should. The best (less maintence | >
Lars> problems) would be if this knwledge about the surounding
Lars> envronment | > could be done with arguments. | > | | Do you want
Lars> to make that change or should I? | | I can easily pass the
Lars> freespacing bool around when the inset->latex() functions | get
Lars> called.

Lars> Is the freespacing bool enough? Ot should we rather pass a
Lars> pointer to the surrounding paragraph parameters?

I am sure that in other cases other problems will occur... What would
be nice is to have a special output stream (the writer) which would
now among other things the current paragraph (this is needed anyway to
incorporate the texrow stuff in the writer).

If we were to pass the freespacing bool, we might as well pass the
whole layout info.

JMarc



Question on LyXLex

2000-03-08 Thread Juergen Vigna

Fast Question:

- Is it possible to push back a token read with lex.nextToken() so
  that when calling another function it can do also lex.nextToken()
  and get the same?

(Hope I explained what I would like to have :)

Jürgen

-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

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

Make a wish, it might come true.

-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._



Using lyx-1.1.2 for the first time

2000-03-08 Thread john


I've just installed LyX 1.1.2 (the most recent stable version) on
a Slackware 7 system (glibc-2.1), after reading README and
INSTALL, with:

./configure --prefix=/usr/local/pkg/lyx-1.1.2
make
make install

as user `bin' (who has permission to write to /usr/local/pkg). All
went well. (I prefer to install developing programs under /usr/
local/pkg instead of /usr/local, as I can then keep an older version
available while a more recent one is being evaluated; the `pkg'
(packages) subdirectory keeps /usr/local from getting cluttered.)
I made symbolic links from /usr/local/pkg/lyx-1.1.2/bin/* to /usr/
local/bin.

Then, as user `john', I moved my existing $HOME/.lyx directory out
of the way and ran this lyx. It asked me if I wanted to create a
personal LyX directory, and I replied `Yes'. I then got the messages:

LyX: Creating directory /usr/john/.lyx and running configure...
sh: configure: command not found
LyX: Done!
LyXTextClassList::Read: unable to find textclass file `~/'.
Exiting.

The dialogue box:

`LyX wasn't able to find its layout descriptions!'
Check that the file "textclass.lst"
is installed correctly. Sorry, has to exit :-(

also appeared.

To fix all this, I added `/usr/local/pkg/lyx-1.1.2/share/lyx' and
`/usr/share/texmf/bin' (the weird place Slackware 7 puts its TeX
executables - what's wrong with /usr/local/bin?!) to my PATH, in
order to pick up `configure' and tried again. This fixed it.

My question is - what should I have done? A new LyX installer and
user could be very confused by what happens. I've seen no mention
of the above in the README or INSTALL files.

I'm not a subscriber to the LyX developer's list, so I'd be pleased
if you would send me any reply directly.

John A. Murdie
Experimental Officer (Software)
Department of Computer Science
University of York
England



Re: Using lyx-1.1.2 for the first time

2000-03-08 Thread Jean-Marc Lasgouttes

> "john" == john  <[EMAIL PROTECTED]> writes:

john> I've just installed LyX 1.1.2 (the most recent stable version)
john> on a Slackware 7 system (glibc-2.1), after reading README and
john> INSTALL, with:

john>   ./configure --prefix=/usr/local/pkg/lyx-1.1.2 make make
john> install

This should work indeed. However, there is a bug in lyx 1.1.2 in this
respect. Upgrading to lyx 1.1.4fix1 should fix your problems. Another
solution is to set the environment variable LYX_DIR_11x to point to
/usr/local/pkg/lyx-1.1.2/share/lyx.

The bug is that lyx is not able to find its data dir by looking at
[bindir]/../share/lyx (because of the symlink) and the hardcoded
fallback directory is not correct in this version.

However, now that I think of it, there is code which is supposed to
follow symlinks and find the real binary directory... Could you send
the output of "lyx -dbg init"?

JMarc



Why do mathed drawing functions take a byte*

2000-03-08 Thread Jean-Marc Lasgouttes


I get the following errors with compaq cxx:

cxx: Error: ../../../lyx-devel/src/mathed/math_macro.C, line 274: argument of
  type "const char *" is incompatible with parameter of type
  "unsigned char *"
drawStr(pain, LM_TC_TEX, size, x, baseline, ost.str().c_str(), 2);
^
cxx: Error: ../../../lyx-devel/src/mathed/math_macro.C, line 294: argument of
  type "const char *" is incompatible with parameter of type
  "const unsigned char *"
width = mathed_string_width(LM_TC_TEX, size, ost.str().c_str(), 2);
-^
cxx: Error: ../../../lyx-devel/src/mathed/math_macro.C, line 296: argument of
  type "const char *" is incompatible with parameter of type
  "const unsigned char *"
 ost.str().c_str(), 2, ascent, descent);
-^

It appears that MathedInset::drawStr and the string metrics functions
in formula.C use byte* as parameter for the string. Is there a reason
for that, or can I change them to char const *?

JMarc



Porting pop-ups in the rae branch

2000-03-08 Thread Angus Leeming

i thought I'd follow in Allan Rae's footsteps and try and
port a pop-up to frontends.

Thinking, "let's keep this simple", I chose the
Help->Credits pop-up. I now have a FormCredits.[Ch] in the
src/frontends/xforms/ directory and...

it all works!

The changes I've made in src/ are minimal --- remove
credits.[Ch}, credits_form.[Ch] from Makefile.am and change
a FEW lines in LyXAction.C, commandtags.h, lyxfunc.C,
menus.[Ch]

I also modified a FEW lines of a few files in
src/frontends/xforms/ and, of course, created two more,
FormCredits.[Ch] which are closely modelled on
FormCopyright.[Ch]

The close similarity between FormCredits.[Ch] and
FormCopyright.[Ch] (see attachments), suggests that I
should proceed by creating a base class with virtual
build() and two derived classes FormCredits, and
FormCopyright implementing the build() function. Is this a
Good Idea? (I ask because C++ is new to me and I'm learing
as I go ;-).)

Angus


/* FormCredits.C
 * FormCredits Interface Class Implementation
 */

#include 
#include "lyx_gui_misc.h"
#include "gettext.h"
#include FORMS_H_LOCATION

#include "FormCredits.h"
#include "Dialogs.h"
#include "lyxfunc.h"
#include "support/filetools.h"

#ifdef __GNUG__
#pragma implementation
#endif

extern string system_lyxdir;

FormCredits::FormCredits(LyXFunc * c, Dialogs * d)
	: dialog_(0), lf_(c), d_(d), h_(0)
{
	// let the dialog be shown
	// This is a permanent connection so we won't bother
	// storing a copy because we won't be disconnecting.
	d->showCredits.connect(slot(this, &FormCredits::show));
}


FormCredits::~FormCredits()
{
	free();
}


void FormCredits::build()
{
	FL_OBJECT *obj;
	FD_form_credits *fdui = dialog_ = new FD_form_credits;

	fdui->form_credits = fl_bgn_form(FL_NO_BOX, 500, 330);
	fdui->form_credits->u_vdata = this;
	obj = fl_add_box(FL_UP_BOX, 0, 0, 500, 330, "");
	
	obj = fl_add_text(FL_NORMAL_TEXT, 10, 10, 480, 30, _("All these people have contributed to the LyX project. Thanks, "));
	fl_set_object_lsize(obj, FL_NORMAL_SIZE);
	fl_set_object_lalign(obj, FL_ALIGN_CENTER|FL_ALIGN_INSIDE);
	fl_set_object_gravity(obj, FL_NorthWest, FL_NorthEast);

	obj = fl_add_text(FL_NORMAL_TEXT, 10, 40, 480, 30, _("Matthias"));
	fl_set_object_lsize(obj, FL_NORMAL_SIZE);
	fl_set_object_lalign(obj, FL_ALIGN_CENTER|FL_ALIGN_INSIDE);
	fl_set_object_lstyle(obj, FL_ITALIC_STYLE);
	fl_set_object_gravity(obj, FL_NorthWest, FL_NorthEast);

	fdui->browser_credits =
	  obj = fl_add_browser(FL_NORMAL_BROWSER, 10, 80, 480, 200, "");
	fl_set_object_gravity(obj, FL_NorthWest, FL_SouthEast);

	fdui->button_ok =
	  obj = fl_add_button(FL_RETURN_BUTTON, 180, 290, 140, 30, _("OK"));
	fl_set_object_lsize(obj, FL_NORMAL_SIZE);
	fl_set_object_gravity(obj, FL_South, FL_South);
	fl_set_object_resize(obj, FL_RESIZE_NONE);
	fl_set_object_callback(obj, FormCredits::CreditsOKCB, 0);

	fl_end_form();

	fdui->form_credits->fdui = fdui;

	// Insert the contents of the credits file into browser_credits
	string real_file = AddName (system_lyxdir, "CREDITS");
	if (!fl_load_browser(fdui->browser_credits, real_file.c_str()))
	{
	  char const 
	* const line1 = "ERROR: LyX wasn't able to read CREDITS file",
	* const line2 = "Please install correctly to estimate the great",
	* const line3 = "amount of work other people have done for the LyX project.";
	  fl_add_browser_line(fdui->browser_credits, _(line1));
	  fl_add_browser_line(fdui->browser_credits, "");
	  fl_add_browser_line(fdui->browser_credits, _(line2));
	  fl_add_browser_line(fdui->browser_credits, _(line3));
	}
}


void FormCredits::show()
{
	if (!dialog_) {
		build();
		fl_set_form_atclose(dialog_->form_credits,
FormCredits::CreditsWMHideCB, 0);
	}

	if (dialog_->form_credits->visible) {
		fl_raise_form(dialog_->form_credits);
	} else {
		fl_show_form(dialog_->form_credits,
			 FL_PLACE_MOUSE,
			 FL_FULLBORDER,
			 _("Credits"));
		h_ = d_->hideAll.connect(slot(this, &FormCredits::hide));
	}
}


void FormCredits::hide()
{
	if (dialog_
	&& dialog_->form_credits
	&& dialog_->form_credits->visible) {
		fl_hide_form(dialog_->form_credits);
		h_.disconnect();
	}
	free();
}


void FormCredits::free()
{
	// we don't need to delete h here because
	// hide() does that after disconnecting.
	if (dialog_) {
		if (dialog_->form_credits
		&& dialog_->form_credits->visible) {
			hide();
		}
		fl_free_form(dialog_->form_credits);
		delete dialog_;
		dialog_ = 0;
	}
}


int FormCredits::CreditsWMHideCB(FL_FORM * form, void *)
{
	// Ensure that the signal h is disconnected even if the
	// window manager is used to close the dialog.
	FormCredits * pre = (FormCredits*)form->u_vdata;
	pre->hide();
	return FL_CANCEL;
}


void FormCredits::CreditsOKCB(FL_OBJECT * ob, long)
{
	FormCredits * pre = (FormCredits*)ob->form->u_vdata;
	pre->hide();
}


// -*- C++ -*-
/* FormCredits.h
 * FormCredits Interface Class
 */

#ifndef FORMCREDITS_H
#define FORMCREDITS_H

#include "DialogBase.h"

class Dialogs;
// same arguement as in Dialogs

Macros

2000-03-08 Thread Andre Poenitz


Is it true that there is no lyxfunc that simply inserts its argument as
text in the current buffer (similar to the behaviour of LFUN_UNKNOWN_ACTION?

Or am I just optically chaleenged?

Andre'


-- 
It'll take a long time to eat 63.000 peanuts.
André Pönitz . [EMAIL PROTECTED]



Re: Macros

2000-03-08 Thread Jean-Marc Lasgouttes

> "Andre" == Andre Poenitz <[EMAIL PROTECTED]> writes:

Andre> Is it true that there is no lyxfunc that simply inserts its
Andre> argument as text in the current buffer (similar to the
Andre> behaviour of LFUN_UNKNOWN_ACTION?

Andre> Or am I just optically chaleenged?

I would think that self-insert works, but I did not check.

JMarc



Re: lyx rpms...galore

2000-03-08 Thread Jose Abilio Oliveira Matos

On Wed, Mar 08, 2000 at 03:35:27AM +0100, Lars Gullik Bjønnes wrote:
> 
> http://rpmfind.net/linux/RPM/lyx.html
> 
> I have no clue on how they locate rpm's.

  Those are the different rpm's that they have available at their own site.

  They have it in different folders that correspond to different distributions,
contrib sites and so on. Look in http://rufus.w3.org/linux/RPM/ for the base 
directory, actually this the same as http://rpmfind.net/linux/RPM/

>   Lgb

-- 
José



Text inset does not have special double-space handling

2000-03-08 Thread Jean-Marc Lasgouttes


Is that really a good thing?

JMarc



RE: Text inset does not have special double-space handling

2000-03-08 Thread Juergen Vigna


On 08-Mar-2000 Jean-Marc Lasgouttes wrote:
> 
> Is that really a good thing?
> 

Well it does not have ANY space-handling yet :)

I would say that it depends on the type of inset if we have spacehandling
ore not. IMO that the ERT inset should not have any space-handling as this
is LaTeX code and I CAN write as many spaces as I want inside LaTeX code,
also between words.

For the rest this has to be implemented, but I don't know the best and
cleanest way to realize this. There are also a lot of othere "Normal"
text features which are to be implemented (Cut/Paste for example!)

I'm also aware of at least 2 problems:

- the cursor-movement somehow stops before the last character in the inset
  (I'm pretty sure I can fix this fast ;)

- sometimes the cursor does not hide before moving inside the inset and
  there remains a vertical bar (I tried to have a look but did not find
  where to fix this problem)

- if you have an open collapsabel inset as first character of a paragraph and
  try to close it it can happen that it opens immediately again.
  (I fixed this already and commit the changes soon)

- there are problems with selection when opening a collapsable inset. LyX
  thinks that we selected some text (don't know where to find this)

- probably some more but as we know TextInsets for now are work in progress.

They are stable thought (at least I had no problems with them till now)!
Could someone try a memeory management tool on this insets (Michael/Jean-Marc?)


 Jürgen
  

-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

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

Actors will happen even in the best-regulated families.

-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._



new lyx port does not link -- gettext (-lintl is missing)

2000-03-08 Thread Mikhail Teterin


>Submitter-Id:   current-users
>Originator: Mikhail Teterin
>Organization:   Virtual Estates, Inc.
>Confidential:   no
>Synopsis:   new lyx port does not link -- gettext (-lintl is missing)
>Severity:   critical
>Priority:   medium
>Category:   ports
>Release:FreeBSD 3.4-STABLE i386
>Class:  sw-bug
>Environment: 

>Description: 

It  appears,   the  configure  script  does   check  for
-lint, and  finding it  installed on the  system already
rightfully  chooses   not  to  use  the   included  one.
Unfortunately,  it  then does  not  set  the INTLLIB  to
anything, which means lyx_LDADD in src/Makefile does not
mention the -lintl at all and the following linker error
is seen.

g++295 -O2 -fexpensive-optimizations -pipe -mcpu=i686 -march=i686 -L/usr/X11R6/lib -o 
lyx BufferView.o Bullet.o Chktex.o DepTable.o FontInfo.o FontLoader.o ImportLaTeX.o 
ImportNoweb.o LaTeX.o LaTeXFeatures.o LaTeXLog.o Literate.o LyXAction.o LyXSendto.o 
LyXView.o PaperLayout.o ParagraphExtra.o Spacing.o TableLayout.o bmtable.o buffer.o 
bufferlist.o bufferparams.o bullet_forms.o bullet_forms_cb.o chset.o combox.o 
credits.o credits_form.o debug.o filedlg.o form1.o intl.o kbmap.o lastfiles.o 
latexoptions.o layout.o layout_forms.o lyx.o lyx_cb.o lyx_gui.o lyx_gui_misc.o 
lyx_main.o lyx_sendfax.o lyx_sendfax_main.o lyx_sty.o lyxdraw.o lyxfont.o lyxfr0.o 
lyxfr1.o lyxfunc.o lyxlex.o lyxlookup.o lyxrc.o lyxserver.o lyxvc.o main.o menus.o 
minibuffer.o paragraph.o print_form.o screen.o sp_form.o spellchecker.o table.o 
tex-accent.o tex-strings.o texoptions.o texrow.o text.o text2.o toolbar.o trans.o 
trans_mgr.o undo.o vc-backend.o vspace.o mathed/.libs/libmathed.a 
insets/.libs/libinsets.a!
 support/.libs/libsupport.a -lxforms -lXpm -lSM -lICE -liberty -lc -lm 
-L/usr/X11R6/lib -lX11 
BufferView.o: In function `BufferView::resizeCurrentBuffer(void)':
BufferView.o(.text+0x96c): undefined reference to `gettext'
BufferView.o: In function `BufferView::gotoError(void)':
BufferView.o(.text+0xe5b): undefined reference to `gettext'
BufferView.o(.text+0xef9): undefined reference to `gettext'
Chktex.o: In function `Chktex::scanLogFile(TeXErrors &)':
Chktex.o(.text+0x5b3): undefined reference to `gettext'
FontLoader.o: In function `FontLoader::doLoad(LyXFont::FONT_FAMILY, 
LyXFont::FONT_SERIES, LyXFont::FONT_SHAPE, LyXFont::FONT_SIZE)':
FontLoader.o(.text+0xad3): undefined reference to `gettext'
LaTeX.o(.text+0x591): more undefined references to `gettext' follow
main.o: In function `main':
main.o(.text+0x98): undefined reference to `bindtextdomain'
main.o(.text+0xa8): undefined reference to `textdomain'
menus.o: In function `Menus::openByName(lyxstring const &)':
menus.o(.text+0x292): undefined reference to `gettext'
menus.o(.text+0x2c3): undefined reference to `gettext'
menus.o(.text+0x2f4): undefined reference to `gettext'
menus.o(.text+0x32c): undefined reference to `gettext'
menus.o(.text+0x35d): undefined reference to `gettext'
menus.o(.text+0x38e): more undefined references to `gettext' follow
collect2: ld returned 1 exit status
*** Error code 1

Stop.
[...]
>How-To-Repeat: 


>Fix: 
A dirty fix  is to add the -lintl to  the lyx_LDADD line
in  src/Makefile after  configure.  A clean  fix is  too
complicated  I'm  afraid of  the  configure.in/configure
mess.



platypus (fwd)

2000-03-08 Thread mressler

Would someone mind translating this for me? My high school German is
getting awfully rusty ...

Mike
[EMAIL PROTECTED]

-- Forwarded message --
Date: Wed, 08 Mar 2000 15:36:12 +0100
From: Jonas Meurer <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: platypus

Hallo Mike 
Es geht um deinen graphischen Rundgeng über LyX:
Wenn ich alles genauso mache, wie du es beschreibst, 
wird diese(s) Platypus auf der zweiten Seite
ganz oben, das heisst vor 

- A decedt LaTeX2e instalation...
...
...
2   Other Stuff
The following is the famous platypus EPS file

abgebildet, anstatt danach, obwohl ich die Abbildung
unterhalb dieses Abschnittes eingefügt habe. Man sieht
diesen Fehler also erst beim drucken oder bei "DVI anzeigen".
Gibt es für dieses Phänomen eine Erklärung? Wie kann ich so
was verändern?
Danke schon mal

mfG 
  Jonas




Re: problem with RPM

2000-03-08 Thread Kayvan A. Sylvan

On Wed, Mar 08, 2000 at 06:02:37PM +0100, [EMAIL PROTECTED] wrote:
> 
> I have included the command in the spec file and it works too.
> I guess it would be a nice place to set it

Good idea.

JMarc, can you commit this?

---Kayvan
-- 
Kayvan A. Sylvan   | Proud husband of  | Father to my kids:
Sylvan Associates, Inc.| Laura Isabella Sylvan | Katherine Yelena
http://www.successlinks.com/kayvan | Reach your goals now! | Robin Gregory


Index: development/lyx.spec.in
===
RCS file: /usr/local/lyx/cvsroot/lyx-devel/development/lyx.spec.in,v
retrieving revision 1.4
diff -u -r1.4 lyx.spec.in
--- development/lyx.spec.in 1999/11/08 13:47:48 1.4
+++ development/lyx.spec.in 2000/03/08 18:30:30
@@ -36,10 +36,12 @@
 %setup
 
 %build
+unset LINGUAS
 CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=/usr 
 make
 
 %install
+unset LINGUAS
 rm -rf ${RPM_BUILD_ROOT}
 install -d -m 755 ${RPM_BUILD_ROOT}
 make prefix=${RPM_BUILD_ROOT}/usr install



Bug report ("buffer-new" crashes lyx and server)

2000-03-08 Thread Yingwan Lam (GD 1999)


I am using the binary versions of lyx (rpm). I found this bug in lyx-1.1.3 
but the same bug persists even after I've upgraded to lyx 1.1.4fix1.
I've turned on the server. The server pipes are the defaults ".lyxpipe.in" 
and ".lyxpipe.out". When I send the command "buffer-new:" by the following
method:

echo "LYXCMD:test:buffer-new:" > .lyxpipe.in

Lyx crashes after the dialog window closes (either by pressing "cancel" or
entering any file name and pressing "enter").




Re: new ostream code

2000-03-08 Thread Lars Gullik Bjønnes

Allan Rae <[EMAIL PROTECTED]> writes:

| > Another prelease about a week later.
| 
| Then again maybe I should hold off on merging gui-indep until after
| 1.1.5?

Yes, we should wait till after 1.1.5 before merging the rae branch.

Lgb



Re: lyx-1.1.5cvs bug: All protected spaces export as ~

2000-03-08 Thread Lars Gullik Bjønnes

Jean-Marc Lasgouttes <[EMAIL PROTECTED]> writes:

| > "Lars" == Lars Gullik Bjønnes <[EMAIL PROTECTED]> writes:
| 
| Lars> "Kayvan A. Sylvan" <[EMAIL PROTECTED]> writes: | > | > No it
| Lars> doesen't but it absolutely should. The best (less maintence | >
| Lars> problems) would be if this knwledge about the surounding
| Lars> envronment | > could be done with arguments. | > | | Do you want
| Lars> to make that change or should I? | | I can easily pass the
| Lars> freespacing bool around when the inset->latex() functions | get
| Lars> called.
| 
| Lars> Is the freespacing bool enough? Ot should we rather pass a
| Lars> pointer to the surrounding paragraph parameters?
| 
| I am sure that in other cases other problems will occur... What would
| be nice is to have a special output stream (the writer) which would
| now among other things the current paragraph (this is needed anyway to
| incorporate the texrow stuff in the writer).
| 
| If we were to pass the freespacing bool, we might as well pass the
| whole layout info.

Will more thatn the buffer parameters be needed then?

Lgb



Re: Question on LyXLex

2000-03-08 Thread Lars Gullik Bjønnes

Juergen Vigna <[EMAIL PROTECTED]> writes:

| Fast Question:
| 
| - Is it possible to push back a token read with lex.nextToken() so
|   that when calling another function it can do also lex.nextToken()
|   and get the same?

So it is not possible to skip the nextToken just look at the token in
both places with GetString?

| (Hope I explained what I would like to have :)

Kindo... but not why.

We have several places that check for a token, do some thing based on
that and then check the same token again to see if the correct
thing is done.

Lgb



Re: Why do mathed drawing functions take a byte*

2000-03-08 Thread Lars Gullik Bjønnes

Jean-Marc Lasgouttes <[EMAIL PROTECTED]> writes:

| I get the following errors with compaq cxx:
| 
| cxx: Error: ../../../lyx-devel/src/mathed/math_macro.C, line 274: argument of
|   type "const char *" is incompatible with parameter of type
|   "unsigned char *"
| drawStr(pain, LM_TC_TEX, size, x, baseline, ost.str().c_str(), 2);
| ^
| cxx: Error: ../../../lyx-devel/src/mathed/math_macro.C, line 294: argument of
|   type "const char *" is incompatible with parameter of type
|   "const unsigned char *"
| width = mathed_string_width(LM_TC_TEX, size, ost.str().c_str(), 2);
| -^
| cxx: Error: ../../../lyx-devel/src/mathed/math_macro.C, line 296: argument of
|   type "const char *" is incompatible with parameter of type
|   "const unsigned char *"
|  ost.str().c_str(), 2, ascent, descent);
| -^
| 
| It appears that MathedInset::drawStr and the string metrics functions
| in formula.C use byte* as parameter for the string. Is there a reason
| for that, or can I change them to char const *?

All the math structure is stored in a byte array (unsigned char), so
we are likely to need a lot of reinterpret_cast anyway.

Lgb



Re: new lyx port does not link -- gettext (-lintl is missing)

2000-03-08 Thread Lars Gullik Bjønnes

Mikhail Teterin <[EMAIL PROTECTED]> writes:

| Stop.
| [...]
| >How-To-Repeat: 
| 
| 
| >Fix: 
|   A dirty fix  is to add the -lintl to  the lyx_LDADD line
|   in  src/Makefile after  configure.  A clean  fix is  too
|   complicated  I'm  afraid of  the  configure.in/configure
|   mess.

I think the correct fix it to check if -lintl is needed when linking.
This is not always the case, i.e. linux glibc systems does not need
it.

This should be done in similar fashion to the one we use for checking
if -lc and -lm are needed on the link line.

Lgb



RE: platypus (fwd)

2000-03-08 Thread mressler

Hello Jonas, (and everybody else)
On Wed, 8 Mar 2000, Dr. Ing. Dieter Jurzitza wrote:

> On 08-Mar-00 [EMAIL PROTECTED] wrote:
> > Would someone mind translating this for me? My high school German is
> > getting awfully rusty ...
> > 
> > -- Forwarded message --
> > From: Jonas Meurer <[EMAIL PROTECTED]>
> > Wenn ich alles genauso mache, wie du es beschreibst, 
> > wird diese(s) Platypus auf der zweiten Seite
> > ganz oben, das heisst vor 
> when following all your hints, this Platypus is being printed on the
> top of the second page, i. e. right in front of ... rather than behind
> it. This happens even though I inserted the picture underneath of this
> paragraph. The "error" (quotation marks inserted by me) occurs only
> when printing or when "View DVI" is selected. Is there an explanation
> for this phenomenon? (of course!) How can I change this behaviour?

My dirty tricks are coming back to haunt me. To achieve proper figure
placement in the Graphical Tour, I added the Float Placement options "!ht"
to the Document Layout menu. That is:

1) Select Layout->Document
2) Find the Float Placement box
3) Type "!ht" into the box

"!ht" means "Put the figure right here, darn it! and if you really can't,
then try the top of the next page. Note that this is a global setting for
all figure floats.

I took the philosophy of Donald Knuth - I used a subtle untruth to
demonstrate my point, figuring that no one would ever actually try this.
I guess Jonas proved that assumption false ...

Mike
[EMAIL PROTECTED]



Re: platypus (fwd)

2000-03-08 Thread Lars Gullik Bjønnes

<[EMAIL PROTECTED]> writes:

| "!ht" means "Put the figure right here, darn it! and if you really can't,
| then try the top of the next page.

More like "I really, really want the figure right here". I you want
 "Put the figure here!" then you need the here.sty package. (and then
 use a "H" alone.

Lgb



Re: Arabic patch

2000-03-08 Thread Lars Gullik Bjønnes

Dekel Tsur <[EMAIL PROTECTED]> writes:

| --J2SCkAp4GZ/dPZZf
| Content-Type: text/plain; charset=us-ascii
| 
| The following patch adds better support for Arabic, and fix several other
| things.
| Also, it includes the end-of-proof patch (which haven't yet been
| applied)

I am sorry but a lot of the code that this patch touches has changed
since you made the patch. I just now had the time to read through you
patch now and it seems to move the whole rtl support in the right
direction. Now if we could only enchance the language sturct to
include information on what to do with rtl languages and other
language quirks we could remove most of the special rtl support from
lyxrc.

I hope that you will we able to recreate the pach against current cvs.

Lgb



Re: cvs install nit

2000-03-08 Thread Lars Gullik Bjønnes

"Garst R. Reese" <[EMAIL PROTECTED]> writes:

| I installed cvs 1.1.5cvs (this morning's) with --with-lyxname=lyxd
| All of the share directories etc went well, but the bin went into
| (overwrote) /usr/local/bin/lyx instead of lyxd.

Do you have time to look at this Jean-Marc?

Lgb



Re: Bugs

2000-03-08 Thread Lars Gullik Bjønnes

Dekel Tsur <[EMAIL PROTECTED]> writes:

| 4. The following may be intentional changes:
|  - The colors for math-mode,latex-mode etc. are darker than before

This one is intentional.

|  - In math mode, the empty delimiter (i.e. \left. or \right. ) is drawn as a
|continuous line, instead of dotted line as before.

This one is not.
I'll fix that one.

Lgb



Re: Problem with dead keys

2000-03-08 Thread Lars Gullik Bjønnes

Jean-Marc Lasgouttes <[EMAIL PROTECTED]> writes:

| > "Jacques" == Jacques B Siboni <[EMAIL PROTECTED]> writes:
| 
| Jacques> But presently the problem occurs with lyx editor: generation
| Jacques> of accented characters is ok 'e leads to é `e leads to è "e
| Jacques> leads to ë but generation of standard apostrophe, double
| Jacques> quote, caret (^), tilde and back quote are impossible. Lyx
| Jacques> refuses I get the accent that would be upon a character.
| Jacques> Generated LateX is \i \'{ } instead of '
| 
| Hello,
| 
| I can confirm this problem, which existed already in 1.0.3, as far as
| I can tell.
| 
| Jacques> I believe it is a known problem.
| 
| No, it was not. Thanks for reporting it. I have moved the discussion
| to lyx-devel so that a fix can be devised.
| 
| Lars, I do not understand the use of the isDeadEvent() function in
| lyxlookup. I thought at the time that it was to avoid a clash with our
| own dead key handling. However, now that I think about it, LyX dead
| key handling is done mainly on plain characters. For example, 
|   \kmod ' acute aAcCeEiIjJlLnNoOsSuUzZ
| will act on a real ascii quote character, not on a ' dead key. So, why
| is it necessary to filter dead key events at all?

You, tell me. All this was added a lot later than my initial _X_
dead_key support.

Is this deadkey handling only wrong when a keymap is used? or always?

Lgb



Re: recreated close shop

2000-03-08 Thread Lars Gullik Bjønnes

Jean-Marc Lasgouttes <[EMAIL PROTECTED]> writes:

| > "Kayvan" == Kayvan A Sylvan <[EMAIL PROTECTED]> writes:
| 
| >> I think that I found a way to recreate this bug (or maybe it a
| >> different bug) Open the attached file, put the cursor before the
| >> letter X, and then hold backspace, and LyX will crash (it doesn't
| >> happens every time, but often enough)
| 
| Kayvan> Yup. I managed to recreate this as well.
| 
| Kayvan> Same basic backtrace:
| 
| To add another bit of information, here is what purify says. It seems
| that the problem is in the mechanism which deletes empty paragraph.
| Lars, maybe this has to do with your double-space patch?

By now you should have had time to read my comments in text.C.

// This is the comments that some of the warnings below refers to.
// There are some issues in this file and I don't think they are
// really related to the FIX_DOUBLE_SPACE patch. I'd rather think that
// this is a problem that has been here almost from day one and that a
// larger userbase with differenct access patters triggers the bad
// behaviour. (segfaults.) What I think happen is: In several places
// we store the paragraph in the current cursor and then moves the
// cursor. This movement of the cursor will delete paragraph at the
// old position if it is now empty. This will make the temporary
// pointer to the old cursor paragraph invalid and dangerous to use.
// And is some cases this will trigger a segfault. I have marked some
// of the cases where this happens with a warning, but I am sure there
// are others in this file and in text2.C. There is also a note in
// Delete() that you should read. In Delete I store the paragraph->id
// instead of a pointer to the paragraph. I am pretty sure this faulty
// use of temporary pointers to paragraphs that might have gotten
// invalidated (through a cursor movement) before they are used, are
// the cause of the strange crashes we get reported often.
//
// It is very tiresom to change this code, especially when it is as
// hard to read as it is. Help to fix all the cases where this is done
// would be greately appreciated.
//
// Lgb

So now have a go at it. If you have other ideas on what could cause
this crashing behaviour I'd like to hear that too.

Lgb



Re: The code in layout.C

2000-03-08 Thread Lars Gullik Bjønnes

Dekel Tsur <[EMAIL PROTECTED]> writes:

| | void LyXTextClass::readOutputType(LyXLex & lexrc)
| | {
| | keyword_item outputTypeTags[] = {
| | { "docbook", DOCBOOK },
| | { "latex", LATEX },
| | { "linuxdoc", LINUXDOC },
| | { "literate", LITERATE }
| | };
| 
| Why isn't outputTypeTags declared static?

I though a bit wrong about this and tought we could save some
runtime-footprint.

| 
| | pushpophelper pph(lexrc, outputTypeTags, LITERATE);
| 
| It is not a good idea to use the tag LITERATE because someone might change
| enum OutputType by adding a new tag after LITERATE, but he may forget to 
| change the line above.

Agree.

| A better idea is to use sizeof(outputTypeTags)/sizeof(keyword_item),
| (another option is to add a line "OutputType_LAST = LITERATE" to 
| enum OutputType, and then use OutputType_LAST instead of LITERATE)

I think I'd prefere the sizeof()/sizeof() method. That is the one we
use elsewhere.

| | int le = lexrc.lex();
| | switch(le) {
| | case LyXLex::LEX_UNDEF:
| | lexrc.printError("Unknown output type `$$Token'");
| | return;
| | case LATEX:
| | case LINUXDOC:
| | case DOCBOOK:
| | case LITERATE:
| | outputType_ = static_cast(le);
| | break;
| | default:
| | lyxerr << "Unhandled value " << le
| |<< " in LyXTextClass::readOutputType." << endl;
| | 
| | break;
| | }
| 
| The code here isn't very pretty.
| The value of 'le' can be either an error code from LyXLex::lex() namely
| either LyXLex::LEX_UNDEF, LEX_FEOF or LEX_DATA,
| and otherwise, it is either LATEX,LINUXDOC,DOCBOOK or LITERATE
| so the code can be as follows:
| 
| switch(le) {
| case LyXLex::LEX_UNDEF:
| lexrc.printError("Unknown output type `$$Token'");
| return;
|   case LyXLex::LEX_FEOF:
|   case LyXLex::LEX_DATA:
|   lyxerr << "Unhandled value " << le
|  << " in LyXTextClass::readOutputType." << endl;
|   default:
|outputType_ = static_cast(le);
|   }

Hmm... yes in this case I think you are right. But if we also thing
about concistency between this and the other parsing funcitons your
way of doing it is not applicable to all of them.

Lgb



\show_banner

2000-03-08 Thread Lars Gullik Bjønnes


I am not sure if anyone noticed, but I added a lyxrc variable
\show_banner that can be used to control whether to show the LyX
startup banner or not.

Lgb



Re: Porting pop-ups in the rae branch

2000-03-08 Thread Lars Gullik Bjønnes

Angus Leeming <[EMAIL PROTECTED]> writes:

| --Boundary-=_qmZrHLajoetbkwlTZTViemHPfybp
| Content-Type: text/plain
| Content-Transfer-Encoding: 8bit
| 
| i thought I'd follow in Allan Rae's footsteps and try and
| port a pop-up to frontends.

Allan, are you having a look at this?

Lgb



unless

2000-03-08 Thread Lars Gullik Bjønnes


unless I see some objections I will begin to remove code that is dead
because of USE_OSTREAM_ONLY today.

Lgb



Latest CVS does not compile

2000-03-08 Thread Kayvan A. Sylvan

Here's the error:

g++ -DHAVE_CONFIG_H -I. -I. -I. -I../images  -I/usr/X11R6/include  -g -ansi -W -Wall 
-Wno-return-type -c lyxlex.C

Wall -Wno-return-type -c lyxlex.C
In file included from lyxlex.C:19:
support/lyxalgo.h:8: `less' not declared

---Kayvan
-- 
Kayvan A. Sylvan   | Proud husband of  | Father to my kids:
Sylvan Associates, Inc.| Laura Isabella Sylvan | Katherine Yelena
http://www.successlinks.com/kayvan | Reach your goals now! | Robin Gregory



Re: Latest CVS does not compile

2000-03-08 Thread Kayvan A. Sylvan

On Wed, Mar 08, 2000 at 09:27:59PM -0800, Kayvan A. Sylvan wrote:
> Here's the error:
> 
> g++ -DHAVE_CONFIG_H -I. -I. -I. -I../images  -I/usr/X11R6/include  -g -ansi -W -Wall 
>-Wno-return-type -c lyxlex.C
> 
> Wall -Wno-return-type -c lyxlex.C
> In file included from lyxlex.C:19:
> support/lyxalgo.h:8: `less' not declared

Commenting out "using std::less" in lyxalgo.h works for compiling.

-- 
Kayvan A. Sylvan   | Proud husband of  | Father to my kids:
Sylvan Associates, Inc.| Laura Isabella Sylvan | Katherine Yelena
http://www.successlinks.com/kayvan | Reach your goals now! | Robin Gregory



Re: Porting pop-ups in the rae branch

2000-03-08 Thread Allan Rae


I haven't time to look at this straight away.  I'll look tonight and give
you some feedback on the patches tomorrow.  I have a few comments for you
at the bottom of this email also.

I'll make a few general comments at this point regarding rules for
gui-indep of dialogs.  These are not directed at you specifically, Angus,
just laying some ground rules for anyone who's interested.

1.  Anyone who wants to help is welcome too.
2.  To avoid several people trying to port the same code ask me if anyone
is working on that dialog or at least post to this list.
I will add a table of dialogs with some comments to my web pages so
it'll be easier to see who's working on what and how difficult a
particular dialog is likely to be.
3.  If anyone wants to dip their toe in the water I strongly recommend
they get the lyx module from cvs and see what Jürgen and I did
with dialogs there.  There are a large number of dialogs already
gui-indep there.  The differences between that scheme and the current
more refined one are quite small (apart from the swapping of
Communicator for a LyXFunc entry and using xtl -- coming soon).
4.  I have an almost complete script for converting all the work Jürgen
and I did in the old lyx module to fit the new scheme.  The only bits
I still have to add are converting the Communicator calls into
lyxfunc::dispatch() calls instead.  These won't necessarily compile
but they will be pretty close to complete.
As such,  I'd like to get this script finished and do one or two
dialogs of different types by myself first.  Most inset-related
dialogs are very similar in the way they interact with their related
inset for example.  That way newbie developers can have something to
work from and pass further comment on.  Then either they do dialogs
not already converted and I just run through the ones that've already
been converted in the old module or vice versa.
With this script most of the work will involve cutting out the
code from the rest of the lyx codebase whilst checking that any
bug-fixes or enhancements are incorporated into the old code.  Most of
this can be done via cut-and-paste.  It should also mean we get a
dialog done in 2 hours or so instead of every three days.
5.  Make all patches against the rae branch.  This should be obvious now
but once gui-indep is merged into the main trunk I'll probably make a
new branch called "dialogs" or something like that.  That'll only be
updated from the main trunk once a week/fortnight and will be used for
testing/cleaning your submitted patch before it gets merged into the
main trunk.  This also means you have a fairly stable target to work
against and if you time your submission right I'll do the merging
instead of you.
6.  All dialogs should have a corresponding .fd file in xforms/forms/. 
One dialog per file.  Dialogs with multiple tabs also count as a
single dialog.  Then follow the instructions in the Makefile/README in
the same directory to generate the corresponding Form::build().
Plug this into your new form class.  This makes maintenance much
easier.  Also pay attention to the naming scheme for _all_ buttons and
inputs and the naming of all callbacks.
7.  Patches may be committed to the rae branch by any of the developers if
they are bug fixes such as JMarcs configure fixes were.  If you have
to fix something in sigc++/ then check to make sure the bug wasn't a
result of the development/tools/makeLyXsigc.sh script.  If the bug
really is a problem in libsigc++ send a patch to the libsigc++ mailing
list:
[EMAIL PROTECTED] 


That was longer than I expected...  I better put a copy in xforms/forms/.


On Wed, 8 Mar 2000, Angus Leeming wrote:

> i thought I'd follow in Allan Rae's footsteps and try and port a
> pop-up to frontends. Thinking, "let's keep this simple", I chose the
> Help->Credits pop-up. I now have a FormCredits.[Ch] in the
> src/frontends/xforms/ directory and... it all works!

Credits was indeed the second dialog that I converted in the lyx module so
you certainly are following closely.

[description of modifications req'd]
Sounds good so far.  Although as I implied above I'd rather not lose all
the previous work.  Credits, however, is one dialog I was going to
implement differently this time around.  See below.

> The close similarity between FormCredits.[Ch] and FormCopyright.[Ch]
> (see attachments), suggests that I should proceed by creating a base
> class with virtual build() and two derived classes FormCredits, and
> FormCopyright implementing the build() function. Is this a Good Idea?
> (I ask because C++ is new to me and I'm learing as I go ;-).)

If you look at the lyx module in cvs you'll see a browserbase class and
then notice that the filebrowser for latex errors and one other (can't
remember the class) are derived from it.  Credits i

Re: Formatting source code

2000-03-08 Thread Kayvan A. Sylvan

On Thu, Mar 09, 2000 at 05:31:14AM +0100, Lars Gullik Bjønnes wrote:
> 
> This is really a great package.
> I just tested with buffer.C in the LyX distribution and it worked
> flawlessly.
> 
> I think we should somehow create support for this in LyX.
> The listings package seems to be actively maintained too.

I've just added the listings package to my tetex-extras RPM.

The latest version is available in ftp://ftp.sylvan.com/pub/lyx/extras

If you run Redhat and have tetex installed, you can just plop this RPM
down and it will just work.

---Kayvan
-- 
Kayvan A. Sylvan   | Proud husband of  | Father to my kids:
Sylvan Associates, Inc.| Laura Isabella Sylvan | Katherine Yelena
http://www.successlinks.com/kayvan | Reach your goals now! | Robin Gregory



4 1/2 ways to implement XTL-based get/set and constructor

2000-03-08 Thread Allan Rae

/* Test code for demonstrating 4 1/2 possible ways of using XTL to get/set
 * the contents of a parameter class.  In this case, PrinterParams -- not
 * the real one but a simulated one.
 *
 * Compile with:
 *-DMACROS  --  use macros to setup member functions
 *-DMIXIN   --  use a mixin class
 *-DTEMPFUNC--  use template functions
 *(no extra defines)--  use hand-written member functions
 *
 * Author: Allan Rae <[EMAIL PROTECTED]>
 */

#include 

/*===
 *  From here to the next divider is what would be in LXTL.h
 *===
 */

#include 
 
//
// can't use a typedef here
#define gui_format raw_format

#if defined(MACROS)
// macros place the lowest demands on the compiler (wrt. templates)
//
#define LXTL_GET(Format)\
void get(int size, char * buf)  \
{   \
mem_buffer mb1(buf, size);  \
Format  fo(mb1);\
obj_output >  output(fo);\
output.simple(*this);   \
}

#define LXTL_SET(Format)\
void set(int size, char * buf)  \
{   \
mem_buffer mb1(buf, size);  \
Format fi(mb1); \
obj_input >  input(fi);  \
input.simple(*this);\
}

// for extra convenience
#define LXTL_GUI_GET LXTL_GET(gui_format)
#define LXTL_GUI_SET LXTL_SET(gui_format)

#elif defined(MIXIN)

// I thought a mixin class might be a little prettier than macros however
// it looks considerably worse.
// I can't use the same definitions as the macros above because I can't use
// *this to build the output. If I try, then I only get Mixin_XTL<>::composite()
// called.
// I now get the class I'm mixed in with to pass the *this, but of
// course this just gets uglier and uglier by the minute.  Uglier because I
// now can't call the mixin class directly without it looking silly:
//mt.get(size, buf, &mt)
// so I need a get(int, char *) in the derived class to call the get(...)
// in this mixin class.  This works but is unnecessarily complicated.
// It could look a little cleaner if fewer template arguements were used.
//
template class Format>
class Mixin_XTL
{
public:
void get(int size, char * buf, Derived * self)
{
mem_buffer mb1(buf, size);
Format  fo(mb1);
obj_output >  output(fo);
output.simple(*self);
}

void set(int size, char * buf, Derived * self)
{
mem_buffer mb1(buf, size);
Format fi(mb1);
obj_input >  input(fi);
input.simple(*self);
}
#if 0
// Here we'd probably want to use a different format to what we use for
// the gui interaction necessitating either a different mixin class or
// another template arguement.
//
void write(int size, char * buf, Derived * self)
{
mem_buffer mb1(buf, size);
Format  fo(mb1);
obj_output >  output(fo);
output.simple(*self);
}

void read(int size, char * buf, Derived * self)
{
mem_buffer mb1(buf, size);
Format fi(mb1);
obj_input >  input(fi);
input.simple(*self);
}
#endif
};

#elif defined(TEMPFUNC)
// try template functions instead
//
// Maybe better function names would help. There's not much point in
// dropping the Format template arguement. 
//
template class Format>
void get(ClassToGet * target, int size, char * buf)
{
mem_buffer mb1(buf, size);
Format  fo(mb1);
obj_output >  output(fo);
output.simple(*target);
}

template class Format>
void set(ClassToSet * target, int size, char * buf)
{
mem_buffer mb1(buf, size);
Format fi(mb1);
obj_input >  input(fi);
input.simple(*target);
}   

#endif


/*
 *  End of LXTL.h
 *
 *  From here to the next divider is what could be in PrinterParams.h
 *

Re: LDN

2000-03-08 Thread Allan Rae

On Tue, 7 Mar 2000, Allan Rae wrote:
> > A "LyX tip of the (Bi)Week" might not be a bad idea, though. Of course, if
> > we had  FAQ it might not be necessary.
> 
> What's with this bi-weekly rubbish?  Hasn't the US heard of fortnights?

[ I then went on and ranted about people with tiny minds ]

None of those people use LyX or are on the mailing list or even ever
likely to be.  So don't worry I wasn't meaning any of you or any of our
users or future users.  Tuesday I had the "anti-Midas touch" where
everything I touched turned to sh!t.  I even forgot the smiley from the
above paragraphs of rant.

Allan. (ARRae)