view oldXMenu/insque.c @ 31170:84ec8b66d634

(redisplay_internal): If considering all windows on all frames, update the display for each frame as soon as possible, instead of first building all desired matrices for all frames, and then updating them all. (try_cursor_movement): Handle case that last_cursor.vpos is -1.
author Gerd Moellmann <gerd@gnu.org>
date Fri, 25 Aug 2000 13:21:21 +0000
parents bbce331da1be
children 23a1cea22d13
line wrap: on
line source

/* This file implements the emacs_insque and emacs_remque functions,
   copies of the insque and remque functions of BSD.  They and all
   their callers have been renamed to emacs_mumble to allow us to
   include this file in the menu library on all systems.  */


struct qelem {
  struct    qelem *q_forw;
  struct    qelem *q_back;
  char q_data[1];
};

/* Insert ELEM into a doubly-linked list, after PREV.  */

void
emacs_insque (elem, prev) 
     struct qelem *elem, *prev;
{
  struct qelem *next = prev->q_forw;
  prev->q_forw = elem;
  if (next)
    next->q_back = elem;
  elem->q_forw = next;
  elem->q_back = prev;
}

/* Unlink ELEM from the doubly-linked list that it is in.  */

emacs_remque (elem)
     struct qelem *elem;
{
  struct qelem *next = elem->q_forw;
  struct qelem *prev = elem->q_back;
  if (next)
    next->q_back = prev;
  if (prev)
    prev->q_forw = next;
}