Subject: A problem with computing fringe widths
From: martin rudalics <[email-masked]>
To: Bug-Gnu-Emacs <[email-masked]>
Date: Wed, 17 Apr 2013 17:21:16 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

When computing fringe widths in compute_fringe_widths we do not resize
the frame.  This can have consequences as the following simple form to
be evaluated with emacs -Q shows:

(progn
   (set-frame-parameter (selected-frame) 'scroll-bar-width 6)
   (sit-for 1)
   (set-frame-parameter (selected-frame) 'left-fringe 27)
   (sit-for 1)
   (set-frame-parameter (selected-frame) 'scroll-bar-width 6)
   (sit-for 1))

Here, the resulting frame has no scrollbars (tested with Emacs 24.3 on
Windows XP).  The bug can hit much more often than in the contrived
scenario given above.  It usually goes unnoticed because people either
do not change fringe sizes at all or change only the fringe sizes of
individual windows or invoke x_set_window_size anyway.

I'm not sure whether we can safely call x_set_window_size in
compute_fringe_widths.  Obviously, the problem should go away if we
removed fringes from our calculations of frame widths (on graphic
systems).

martin