Function: resize-mini-window-internal

resize-mini-window-internal is a function defined in window.c.

Signature

(resize-mini-window-internal WINDOW)

Documentation

Resize mini window WINDOW.

Source Code

// Defined in /usr/src/emacs/src/window.c
{
  struct window *w = XWINDOW (window);
  struct window *r;
  struct frame *f;
  int old_height, delta;

  CHECK_LIVE_WINDOW (window);
  f = XFRAME (w->frame);

  if (!EQ (FRAME_MINIBUF_WINDOW (XFRAME (w->frame)), window))
    error ("Not a valid minibuffer window");
  else if (FRAME_MINIBUF_ONLY_P (f))
    error ("Cannot resize a minibuffer-only frame");

  r = XWINDOW (FRAME_ROOT_WINDOW (f));
  old_height = r->pixel_height + w->pixel_height;
  delta = XFIXNUM (w->new_pixel) - w->pixel_height;
  if (window_resize_check (r, false)
      && XFIXNUM (w->new_pixel) > 0
      && old_height == XFIXNUM (r->new_pixel) + XFIXNUM (w->new_pixel))
    {
      resize_mini_window_apply (w, delta);

      return Qt;
    }
  else
    error ("Cannot resize mini window");
}