view oldXMenu/insque.c @ 87595:4c6c79916238

* configure.in: Remove references to unsupported systems. * notes/copyright: * MAINTAINERS: Remove references to files that have been removed. * os.texi (System Environment): Remove references to OSes that are not supported anymore. * PROBLEMS: * MACHINES: Remove references to systems not supported anymore. * makefile.w32-in: * Makefile.in: Remove references to Xenix. * gnus.el (gnus-use-long-file-name): Remove reference to xenix. * obsolete/x-apollo.el: Remove file for unsupported system. * term/x-win.el (vendor-specific-keysyms): Remove reference to Apollo. * progmodes/gud.el (gud-dgux-p): Remove. (dbx): Remove reference to dgux. * progmodes/ps-mode.el (ps-mode-print-function): * ps-print.el (ps-lp-system): * paths.el (rmail-spool-directory): * ls-lisp.el (ls-lisp-emulation): * lpr.el (lpr-lp-system): * dired.el (dired-chown-program): Remove references to dgux. * m/7300.h: * m/acorn.h: * m/alliant-2800.h: * m/alliant.h: * m/alliant1.h: * m/alliant4.h: * m/altos.h: * m/amdahl.h: * m/apollo.h: * m/att3b.h: * m/aviion-intel.h: * m/aviion.h: * m/celerity.h: * m/clipper.h: * m/cnvrgnt.h: * m/convex.h: * m/cydra5.h: * m/delta88k.h: * m/dpx2.h: * m/dual.h: * m/elxsi.h: * m/f301.h: * m/gould-np1.h: * m/gould.h: * m/i860.h: * m/ibmps2-aix.h: * m/ibmrt-aix.h: * m/ibmrt.h: * m/irist.h: * m/is386.h: * m/isi-ov.h: * m/mega68.h: * m/mg1.h: * m/news-r6.h: * m/news-risc.h: * m/news.h: * m/nh3000.h: * m/nh4000.h: * m/ns16000.h: * m/ns32000.h: * m/nu.h: * m/orion.h: * m/orion105.h: * m/paragon.h: * m/pfa50.h: * m/plexus.h: * m/pyramid.h: * m/pyrmips.h: * m/sh3el.h: * m/sps7.h: * m/sr2k.h: * m/stride.h: * m/sun1.h: * m/sun2.h: * m/sun3-68881.h: * m/sun3-fpa.h: * m/sun3-soft.h: * m/sun3.h: * m/sun386.h: * m/symmetry.h: * m/tad68k.h: * m/tahoe.h: * m/targon31.h: * m/tek4300.h: * m/tekxd88.h: * m/tower32.h: * m/tower32v3.h: * m/ustation.h: * m/wicat.h: * m/xps100.h: * s/cxux.h: * s/cxux7.h: * s/dgux.h: * s/dgux4.h: * s/dgux5-4-3.h: * s/dgux5-4r2.h: * s/esix.h: * s/esix5r4.h: * s/hiuxmpp.h: * s/hiuxwe2.h: * s/iris3-5.h: * s/iris3-6.h: * s/isc2-2.h: * s/isc3-0.h: * s/isc4-0.h: * s/isc4-1.h: * s/newsos5.h: * s/newsos6.h: * s/osf1.h: * s/osf5-0.h: * s/riscix1-1.h: * s/riscix12.h: * s/sco4.h: * s/sco5.h: * s/sunos4-0.h: * s/sunos4-1.h: * s/sunos413.h: * s/sunos4shr.h: * s/umax.h: * s/unipl5-2.h: * s/xenix.h: * cxux-crt0.s: * unexapollo.c: * unexconvex.c: * unexenix.c: * unexsni.c: Remove files for systems no longer supported. * m/intel386.h: Remove references to unsupported systems. * w32.c (get_emacs_configuration): Remove reference to i860. * sysdep.c: Remove dead code.
author Dan Nicolaescu <dann@ics.uci.edu>
date Sun, 06 Jan 2008 00:56:56 +0000
parents 3fd27403d9b9
children 43c5da03890c
line wrap: on
line source

/* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 2001, 2002, 2003,
                 2004, 2005, 2006, 2007 Free Software Foundation, Inc.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; see the file COPYING.  If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.  */

/* This file implements the emacs_insque and emacs_remque functions,
   clones 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;
}

/* arch-tag: a8719d1a-5c3f-4bce-b36b-173106d36165
   (do not change this comment) */