This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: XEmacs & Dialog Boxes


>>>>> Paul Lange writes:

    > Has anybody successfully opened dialog boxes with Cygwin XEmacs
    > version 21.4.21 under Cygwin X11 on XP?  If I try to click on one of
    > the toolbar buttons or menu items that loads a dialog box, a brief
    > flash occurs as a window tries to open and fails.  Following the
    > failure is the error message: Window width 16 too small (after
    > splitting)

Works for me.

    > If anybody has any suggestions, I would be most appreciative.

This is from src/window.c:

DEFUN ("split-window", Fsplit_window, 0, 3, "", /*
Split WINDOW, putting SIZE lines in the first of the pair.
WINDOW defaults to the selected one and SIZE to half its size.
If optional third arg HORFLAG is non-nil, split side by side and put
SIZE columns in the first of the pair. The newly created window is
returned.
*/
       (window, size, horflag))
{
  Lisp_Object new;
  struct window *o, *p;
  struct frame *f;
  int csize;
  int psize;

  if (NILP (window))
    window = Fselected_window (Qnil);
  else
    CHECK_LIVE_WINDOW (window);

  o = XWINDOW (window);
  f = XFRAME (WINDOW_FRAME (o));

  if (NILP (size))
    {
      if (!NILP (horflag))
	/* In the new scheme, we are symmetric with respect to separators
	   so there is no need to do weird things here. */
	{
	  psize = (WINDOW_WIDTH (o) + window_divider_width (o)) >> 1;
	  csize = window_pixel_width_to_char_width (o, psize, 0);
        }
      else
        {
	  psize = WINDOW_HEIGHT (o) >> 1;
	  csize = window_pixel_height_to_char_height (o, psize, 1);
        }
    }
  else
    {
      CHECK_INT (size);
      csize = XINT (size);
      if (!NILP (horflag))
	psize = window_char_width_to_pixel_width (o, csize, 0);
      else
	psize = window_char_height_to_pixel_height (o, csize, 1);
    }

  if (MINI_WINDOW_P (o))
    error ("Attempt to split minibuffer window");
  else if (FRAME_NO_SPLIT_P (XFRAME (WINDOW_FRAME (o))))
    error ("Attempt to split unsplittable frame");

  check_min_window_sizes ();

  if (NILP (horflag))
    {
      if (csize < window_min_height)
	error ("Window height %d too small (after splitting)", csize);
      if (csize + window_min_height > window_char_height (o, 1))
	error ("Window height %d too small (after splitting)",
	       window_char_height (o, 1) - csize);
      if (NILP (o->parent)
	  || NILP (XWINDOW (o->parent)->vchild))
	{
	  make_dummy_parent (window);
#if 0
	  /* #### I can't understand why you have to reset face
	     cachels here.  This can cause crash so let's disable it
	     and see the difference.  See redisplay-tests.el  --yh */
	  reset_face_cachels (XWINDOW (window));
#endif
	  new = o->parent;
	  XWINDOW (new)->vchild = window;
	  XFRAME (o->frame)->mirror_dirty = 1;
	}
    }
  else
    {
      if (csize < window_min_width)
	error ("Window width %d too small (after splitting)", csize);
      if (csize + window_min_width > window_char_width (o, 0))
	error ("Window width %d too small (after splitting)",
	       window_char_width (o, 0) - csize);


I would try to ask on the xemacs-beta mailing list for help under which
circumstances this can happen.
               
    >  -- P.Lange

Ciao
  Volker
  

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]