emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Emacs (today's cvs) aborts under X.


From: Lute Kamstra
Subject: Re: Emacs (today's cvs) aborts under X.
Date: Fri, 25 Apr 2003 13:49:19 +0200
User-agent: Gnus/5.090018 (Oort Gnus v0.18) Emacs/21.3 (gnu/linux)

Lute Kamstra <address@hidden> writes:

> Lute Kamstra <address@hidden> writes:
>
>> Richard Stallman <address@hidden> writes:
>>
>>> Can you see what happens if you put the older X libraries (including
>>> LessTif) onto Red Hat 8.0?  Does that make it work?
>>
>> I tried this with the help of a kind system administrator.  The bug
>> does not seem to be related to the X libraries or LessTif.  On a
>> Redhat 8.0 system, we replaced XFree86-4.2.0 with XFree86-4.0.3 and
>> lesstif-0.93.18 with lesstif-0.92.0.  However, this did not make the
>> bug go away.
>>
>>> If not, the only way to make progress is to study and debug the code
>>> in detail.
>>
>> As I don't have to much time at the moment, I looked at it briefly.
>> If I understand things correctly, `abort' is called when Emacs is
>> trying to set up the main menubar widget.  Somewhere in the process of
>> creating the menubar, `make_menu_in_widget' from lwlib/lwlib-Xm.c is
>> called. (This is actually the first time that this function is
>> called.)  `abort' is called here:
>>
>> ,----[ lwlib/lwlib-Xm.c; line 536--542 ]
>> |   /* Determine whether WIDGET is a menu bar.  */
>> |   type = -1;
>> |   XtSetArg (al[0], XmNrowColumnType, &type);
>> |   XtGetValues (widget, al, 1);
>> |   if (type != XmMENU_BAR && type != XmMENU_PULLDOWN && type != 
>> XmMENU_POPUP)
>> |     abort ();
>> |   menubar_p = type == XmMENU_BAR;
>> `----
>>
>> On the old Redhat 7.1 system, `XtGetValues' sets `type' to
>> `XmMENU_BAR'; on Redhat 8.0, `type' remains -1 resulting in the
>> `abort' call.
>>
>> Incidentally, the released Emacs 21.3 works fine on my new Redhat 8.0
>> system.
>>
>> I'm afraid this is as far as my limited understanding of the GUI
>> related code takes me.  Maybe you could ask an expert in this field if
>> he/she can reproduce the bug?
>
> FWIW, we tested Emacs for this bug in some more environments.  Here is
> a summary of the results.
>
>
>                       Redhat 7.1   Redhat 8.0    Redhat 8.0   Redhat 9
>                                    with X libs
>                                    and LessTif
>                                    from 7.1
>
>
> XFree86               4.0.3        4.0.3         4.2.0        4.3.0      
> LessTif               0.92.0       0.92.0        0.93.18      0.93.36
>
> Emacs 21.3    motif   OK                         OK
>
> Emacs 21.3.50 lucid   OK                         OK           OK
> Emacs 21.3.50 motif   OK           aborts        aborts       aborts
> Emacs 21.3.50 gtk                                OK           OK

I figured out why Emacs 21.3 (toolkit=motif) works fine on Redhat 8.0
while Emacs 21.3.50 aborts.  Redhat has both Motif and LessTif
installed.  Motif is in the usual place, LessTif is not.  This causes
configure of Emacs 21.3 to find only Motif and use that.  configure of
Emacs 21.3.50 was changed in September 2002 to find and use LessTif in
favor of Motif on a Redhat system.  (Hmm, I actually requested this
change; somewhat stupid of me to think of this only now.)  Thus Emacs
21.3.50 uses LessTif on my Redhat 8.0 system.  This is related to the
bug.  I hacked configure.in of Emacs 21.3.50 to make configure ignore
LessTif and rebuilt Emacs 21.3.50 with Motif in stead of LessTif.  Now
Emacs 21.3.50 works fine.

This does not explain however, why Emacs 21.3.50 does work on Redhat
7.1 and does not work on Redhat 8.0 with the same LessTif as on 7.1.

Hope this helps,

Lute.

-- 
Lute Kamstra  <address@hidden>
CWI  department PNA4
Room M233  phone (+31) 20 592 4214
[Echelon material: warfare Ermes president]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]