Subject: XTring_bell() does not work in some Linux distributions

From: PV <[email-masked]>
Date: Sat, 23 Mar 2013 11:38:37 +0100

Hi,

In GNU Emacs 23.4.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.20.1)
Windowing system distributor `The X.Org Foundation', version 11.0.10707000

The X11 function XBell is affected by this bug (e.g. in the Debian 6 Squeeze)
but the function gdk_beep() is not,
thus I suggest to modify XTring_bell () in xterm.c in the following way:

/* Make audible bell.  */

void
XTring_bell ()
{
  struct frame *f = SELECTED_FRAME ();

  if (FRAME_X_DISPLAY (f))
    {
#if defined (HAVE_TIMEVAL) && defined (HAVE_SELECT)
      if (visible_bell)
	XTflash (f);
      else
#endif
	{
	  BLOCK_INPUT;
#ifdef USE_GTK           	     // P.VINCENT
	  gdk_beep ();   	     // P.VINCENT
#else			 	     // P.VINCENT
	  XBell (FRAME_X_DISPLAY (f), 0);
	  XFlush (FRAME_X_DISPLAY (f));
#endif                   	     // P.VINCENT
	  UNBLOCK_INPUT;
	}
    }
}

Best regards,
Patrick VINCENT