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

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

bug#688: Arithmetic error at 'About Emacs' when --with-xft=no


From: Peter Tury
Subject: bug#688: Arithmetic error at 'About Emacs' when --with-xft=no
Date: Wed, 3 Sep 2008 22:23:28 +0200

Hi,

FYI
today I made

cvs update -dP
make maintainer-clean
./configure --with-xft=no
make bootstrap

and the error doesn't show up in this freshly compiled Emacs (e.g.
About buffer is drawn well).

\bye
P

2008/8/11 Peter Tury <tury.peter@gmail.com>:
> Hi,
>
> now it might not to be so useful, but let me note: I tried emacs -q
> and set debug-on-error; then I repeated the problematic steps and
> found that I see the arith-error only if I want to move the point in
> the half-drawn buffer. E.g. when I pushed some arrow keys I saw in the
> *Backtrace* buffer this:
>
> Debugger entered--Lisp error: (arith-error)
>  pos-visible-in-window-p(t nil t)
>  line-move-partial(1 nil nil)
>  line-move(1 nil nil 1)
>  byte-code("Â Ã        $" [arg try-vscroll line-move nil] 5)
>  next-line(1 1)
>  call-interactively(next-line nil nil)
>
> When I tried to "drag" by the mouse I got the attachment.
>
> Moreover when I resized the whole frame, the about-emacs buffer (what
> was active then) became blank (because of lack of redisplay?), but
> arith-error didn't appear in the *Messages* buffer (or anywhere else)
> nor the *Backtrace* buffer appeared, even if I turned on
> debug-on-error previously. Is this OK?
>
> Thanks,
> P
>
> 2008/8/11 Chong Yidong <cyd@stupidchicken.com>:
>>> $ ./configure --with-gif=no --with-tiff=no --with-xft=no
>>> $ make bootstrap
>>>
>>> Now it seems I could get rid of antialiasing, but `about-emacs' fails:
>>> I get "Arithmetic error" after the copyright line drawn:
>>
>> The arithmetic error was due to a failure of the redisplay engine to
>> calculate tab widths correctly when the current font's space character
>> has a width of zero.  I've fixed this, but the issue of why the font has
>> zero space width remains unsolved.
>>
>> As a result, the tab widths in `M-x about-emacs' are now zero, which is
>> an obvious regression from Emacs 22.
>>
>> The problem at hand is the following code in ftfont_open
>> (ftfont.c:1077):
>>
>>    {
>>      int n;
>>
>>      font->min_width = font->average_width = font->space_width = 0;
>>      for (i = 32, n = 0; i < 127; i++)
>>        if (FT_Load_Char (ft_face, i, FT_LOAD_DEFAULT) != 0)
>>          {
>>            int this_width = ft_face->glyph->metrics.horiAdvance >> 6;
>>
>>            if (this_width > 0
>>                && (! font->min_width || font->min_width > this_width))
>>              font->min_width = this_width;
>>            if (i == 32)
>>              font->space_width = this_width;
>>            font->average_width += this_width;
>>            n++;
>>          }
>>
>>      if (n > 0)
>>        font->average_width /= n;
>>    }
>>
>> For some reason, this gives zero.  Handa-san, do you have any insight?
>>
>






reply via email to

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