Subject: Re: bug#9723: 24.0.50; Emacs Clipboard crash

From: Eli Zaretskii <[email-masked]>
Date: Sat, 04 Feb 2012 17:39:16 +0200

> Date: Sat, 04 Feb 2012 16:00:37 +0100
> From: martin rudalics <[email-masked]>
> CC: [email-masked], [email-masked]
> 
>  >> Can there ever be a remainder when printing?
>  >
>  > I'm not sure I understand.  Lisp integers are shifted 2 bits to the
>  > left in C.  Does that answer your question?  If not, please tell more.
> 
> IIUC they are shifted to accomodate the collector bits.  Are these
> always zero?

Andreas answered that.

>  > Again, not sure I understand you.  frame.h says:
>  >
>  >   /* Total width of frame F, in columns (characters),
>  >      including the width used by scroll bars if any.  */
>  >
>  >   #define FRAME_TOTAL_COLS(f) ((f)->total_cols)
>  >
>  > This width is supposed to be the width of the window as known to the
>  > window manager, so it includes everything Emacs controls.
> 
> Scrollbars and fringes pertain to Emacs windows, not Emacs frames.  What
> sense does it make to count them for frames?

You need this value to communicate with the window manager and the
toolkit.  And that value should include one scroll bar and one pair of
fringes, in addition to text width.  Storing that value in a separate
struct member is a convenience device, nothing more.