view src/s/usg5-4.h @ 4901:7504864a986c

Don't use Boyer-Moore if repeated octets & case-insensitive search. 2010-01-30 Aidan Kehoe <kehoea@parhasard.net> * search.c (search_buffer): Don't use Boyer-Moore for case-insensitive search if the search pattern contains repeated Ibytes and the corresponding character has case information (or, equivalently, if one of its case equivalents would contain repeated Ibytes).
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 30 Jan 2010 22:25:39 +0000
parents aa5ed11f473b
children 906ccc7dcd70 308d34e9f07d 861f2601a38b
line wrap: on
line source

/* Definitions file for XEmacs running on AT&T's System V Release 4
   Copyright (C) 1987, 1990 Free Software Foundation, Inc.

This file is part of XEmacs.

XEmacs 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 2, or (at your option)
any later version.

XEmacs 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 XEmacs; see the file COPYING.  If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.  */

/* Synched up with: FSF 19.31. */

/* This file written by James Van Artsdalen of Dell Computer Corporation.
 * james@bigtex.cactus.org.  Subsequently improved for Dell 2.2 by Eric
 * S. Raymond <esr@snark.thyrsus.com>.
 */

#define USG				/* System III, System V, etc */
#define USG5
#define USG5_4

/* SYSTEM_TYPE should indicate the kind of system you are using.
 * It sets the Lisp variable system-type.  */

#define SYSTEM_TYPE "usg-unix-v"

/* Letter to use in finding device name of first pty,
 * if system supports pty's.  'p' means it is /dev/ptyp0  */

#define FIRST_PTY_LETTER 'z'

/* define MAIL_USE_FLOCK if the mailer uses flock
 * to interlock access to /usr/spool/mail/$USER.
 * The alternative is that a lock file named
 * /usr/spool/mail/$USER.lock.  */

/* #define MAIL_USE_FLOCK */

/* The file containing the kernel's symbol table is called /unix.  */

#define KERNEL_FILE "/unix"

/* The symbol in the kernel where the load average is found
 * is named avenrun.  */

#define LDAV_SYMBOL "avenrun"

/* Special hacks needed to make Emacs run on this system.  */

/* On USG systems the system calls are interruptible by signals
 * that the user program has elected to catch.  Thus the system call
 * must be retried in these cases.  To handle this without massive
 * changes in the source code, we remap the standard system call names
 * to names for our own functions in sysdep.c that do the system call
 * with retries. */

#define INTERRUPTIBLE_OPEN
#define INTERRUPTIBLE_IO

/* Compiler bug bites on many systems when default ADDR_CORRECT is used.  */

#define ADDR_CORRECT(x) (x)

/* Prevent -lg from being used for debugging.  Not implemented?  */

#define LIBS_DEBUG

/* Use terminfo instead of termcap.  */

#define TERMINFO

/* 5.3 apparently makes close() interruptible */

#define INTERRUPTIBLE_CLOSE

/* Apparently -lg is provided in 5.3 */

#undef LIBS_DEBUG

/* Enable support for shared libraries in unexec.  */

#define USG_SHARED_LIBRARIES

#define LIBS_SYSTEM "-lsocket -lnsl -lelf"
#define ORDINARY_LINK
#define LIB_STANDARD

/* there are no -lg libraries on this system, and no libPW */

#define LIBS_DEBUG

/* No <sioctl.h> */

#define NO_SIOCTL_H

#define UNEXEC "unexelf.o"

/* Get <sys/ttold.h> to get struct
 * tchars. But get <termio.h> first to make sure ttold.h doesn't
 * interfere.
 */

#ifndef NOT_C_CODE
#include <sys/wait.h>
#endif

#ifdef emacs
#include <sys/filio.h>
#include <termio.h>
#include <sys/ttold.h>
#include <sys/stream.h>
#include <sys/termios.h>
#endif

/* This sets the name of the master side of the PTY. */

#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx");

/* This sets the name of the slave side of the PTY.  On SysVr4,
   grantpt(3) forks a subprocess, so keep sigchld_handler() from
   intercepting that death.  If any child but grantpt's should die
   within, it should be caught after EMACS_UNBLOCK_SIGNAL. */

/* XEmacs change */
#ifndef NOT_C_CODE
# if !__STDC__ && !defined(STDC_HEADERS)
char *ptsname ();
# endif
#endif

#define PTY_TTY_NAME_SPRINTF				\
  {							\
    char *ptyname;					\
							\
    EMACS_BLOCK_SIGCHLD;				\
    if (grantpt (fd) == -1)				\
      { close (fd); return -1; }			\
    EMACS_UNBLOCK_SIGCHLD;				\
    if (unlockpt (fd) == -1)				\
      { close (fd); return -1; }			\
    if (!(ptyname = ptsname (fd)))			\
      { close (fd); return -1; }			\
    strncpy (pty_name, ptyname, sizeof (pty_name));	\
    pty_name[sizeof (pty_name) - 1] = 0;		\
  }

/* Push various streams modules onto a PTY channel. */

#define SETUP_SLAVE_PTY \
  if (ioctl (xforkin, I_PUSH, "ptem") == -1)		\
    fatal ("ioctl I_PUSH ptem: errno %d\n", errno);	\
  if (ioctl (xforkin, I_PUSH, "ldterm") == -1)		\
    fatal ("ioctl I_PUSH ldterm: errno %d\n", errno);	\
  if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) 	\
    fatal ("ioctl I_PUSH ttcompat: errno %d\n", errno);

/* Tell x11term.c and keyboard.c we have the system V streams feature.  */
#define SYSV_STREAMS
/* On Some SysV System , w3 freeze. If freeze your xemacs , Add below definition */
/* This definition added by Shogo Fujii(shogo@bsd1.kbnes.nec.co.jp) */
#define PROCESS_IO_BLOCKING