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 : >> $ ./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? >