Update FSF's address in the preamble.
[bpt/emacs.git] / src / s / vms.h
index ad2df14..e95212c 100644 (file)
@@ -5,7 +5,7 @@ This file is part of GNU Emacs.
 
 GNU Emacs 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 1, or (at your option)
+the Free Software Foundation; either version 2, or (at your option)
 any later version.
 
 GNU Emacs is distributed in the hope that it will be useful,
@@ -15,7 +15,8 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
 
 /*
  *     Define symbols to identify the version of Unix this is.
@@ -49,19 +50,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #define FIRST_PTY_LETTER 'a'
 
-/*
- *     Define HAVE_TIMEVAL if the system supports the BSD style clock values.
- *     Look in <sys/time.h> for a timeval structure.
- */
-
-/* #define HAVE_TIMEVAL */
-
-/*
- *     Define HAVE_SELECT if the system supports the `select' system call.
- */
-
-/* #define HAVE_SELECT */
-
 /*
  *     Define HAVE_PTYS if the system supports pty devices.
  */
@@ -121,20 +109,20 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
    your system and must be used only through an encapsulation
    (Which you should place, by convention, in sysdep.c).  */
 
-/* Do you have the shareable library bug?  If you link with a shareable
+/* Do you have the sharable library bug?  If you link with a sharable
    library that contains psects with the NOSHR attribute and also refer to
    those psects in your program, the linker give you a private version of
-   the psect which is not related to the version used by the shareable
+   the psect which is not related to the version used by the sharable
    library.  The end result is that your references to variables in that
    psect have absolutely nothing to do with library references to what is
    supposed to be the same variable.  If you intend to link with the standard
-   C library (NOT the shareable one) you don't need to define this.  (This
+   C library (NOT the sharable one) you don't need to define this.  (This
    is NOT fixed in V4.4...) */
 
-#define SHAREABLE_LIB_BUG
+#define SHARABLE_LIB_BUG
 
 /* Partially due to the above mentioned bug and also so that we don't need
-   to require that people have a shareable C library, the default for Emacs
+   to require that people have a sharable C library, the default for Emacs
    is to link with the non-shared library.  If you want to link with the
    shared library, define this and remake xmakefile and fileio.c. This allows
    us to ship a guaranteed executable image. */
@@ -152,7 +140,18 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define index strchr
 #define rindex strrchr
 #define unlink delete
-  
+
+#ifndef _GNUC_
+extern double mth$dmod(double, double);
+#define drem mth$dmod
+#endif
+
+/* Some time routines are missing in the VAX C RTL, or needs some
+   extra bit of code */
+#define tzset sys_tzset
+#define localtime sys_localtime
+#define gmtime sys_gmtime
+
 /* On later versions of VMS these exist in the C run time library, but
    we are using our own implementations.  Hide their names to avoid
    linker errors */
@@ -160,6 +159,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define execvp sys_execvp
 #define system sys_system
 
+#ifndef GNU_MALLOC
 /* Hide these names so that we don't get linker errors */
 #define malloc sys_malloc
 #define free sys_free
@@ -169,6 +169,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 /* Don't use the standard brk and sbrk */
 #define sbrk sys_sbrk
 #define brk sys_brk
+#endif
 
 /* On VMS we want to avoid reading and writing very large amounts of
    data at once, so we redefine read and write here. */
@@ -201,10 +202,15 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 /* Case conflicts with C library srandom. */
 #define Srandom S_random
 
+/* variable length too long... maybe */
+#if 0
+#define do_line_insertion_deletion_costs do_line_insertion_deletion_cost
+#endif
+
 /* Cause initialization of vmsfns.c to be run.  */
 #define SYMS_SYSTEM syms_of_vmsfns ()
 
-/* VAXCRTL access doesn't deal with SYSPRV very well (among other oddites...)
+/* VAXCRTL access doesn't deal with SYSPRV very well (among other oddities...)
    Here, we use $CHKPRO to really determine access. */
 #define access sys_access
 
@@ -223,8 +229,20 @@ globalref char sdata[];
 { 0, 50, 75, 110, 134, 150, 300, 600, 1200, 1800, \
   2000, 2400, 3600, 4800, 7200, 9600, 19200 }
 
-#define PURESIZE 132000
+#define PURESIZE 330000
 
 /* Stdio FILE type has extra indirect on VMS, so must alter this macro.  */
 
 #define PENDING_OUTPUT_COUNT(FILE) ((*(FILE))->_ptr - (*(FILE))->_base)
+
+#define NULL_DEVICE "NLA0:"
+
+#define TERMCAP_NAME "emacs_library:[etc]termcap.dat"
+
+#define EXEC_SUFFIXES ".exe:.com"
+
+/* Case conflict with Xlib XFree () */
+#define xfree emacs_xfree
+
+/* What separator do we use in paths?  */
+#define SEPCHAR ','