If a buffer uses the default left fringe width, the variable left-fringe-width is nil while the function window-fringes returns information about the fringes of a window. So there appears to be no way to determine the fringe width of a buffer that is not currently displayed. I've noticed this problem because gdb-ui.el uses window-fringes in gdb-put-breakpoint-icon. Since the speedbar now has no left fringe, if I expand the display of a watch expression in the speedbar (an array, say), the breakpoint icon shifts from the fringe to the display margin (because window-fringes uses the selected window by default, the speedbar in this case).
Nick Here's a suggestion/correction for the Fringes section of the lisp manual. (caution if applying diff - remove line with ^^^^^^) *** display.texi.~1.188.~ 2005-10-01 00:57:51.000000000 +1200 --- display.texi 2005-10-02 21:55:21.174050936 +1300 *************** *** 2730,2752 **** @node Fringe Size/Pos @subsection Fringe Size and Position ! Here's how to control the position and width of the window fringes. @defvar fringes-outside-margins ! If the value is [EMAIL PROTECTED], the frames appear outside the display ^^^^^^ ! margins. The fringes normally appear between the display margins and ! the window text. It works to set @code{fringes-outside-margins} ! buffer-locally. @xref{Display Margins}. @end defvar @defvar left-fringe-width This variable, if [EMAIL PROTECTED], specifies the width of the left ! fringe in pixels. @end defvar @defvar right-fringe-width This variable, if [EMAIL PROTECTED], specifies the width of the right ! fringe in pixels. @end defvar The values of these variables take effect when you display the --- 2730,2754 ---- @node Fringe Size/Pos @subsection Fringe Size and Position ! The following buffer-local variables control the position and width ! of the window fringes. @defvar fringes-outside-margins ! The fringes normally appear between the display margins and the window ! text. If the value is [EMAIL PROTECTED], they appear outside the display ! margins. @xref{Display Margins}. @end defvar @defvar left-fringe-width This variable, if [EMAIL PROTECTED], specifies the width of the left ! fringe in pixels. A value of @code{nil} means to use the left fringe ! width from the window's frame. @end defvar @defvar right-fringe-width This variable, if [EMAIL PROTECTED], specifies the width of the right ! fringe in pixels. A value of @code{nil} means to use the right fringe ! width from the window's frame. @end defvar The values of these variables take effect when you display the _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel