aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJim Blandy1993-03-18 16:11:17 +0000
committerJim Blandy1993-03-18 16:11:17 +0000
commit05c53e7cf5d1ab6290bb48b49b096e2c56b3b323 (patch)
treec44c6be151d034318b403475caf6ddf1bf9820c3 /src
parent17a624d19a0b4705d4f9fe1e00c1f88c3eebbc86 (diff)
downloademacs-05c53e7cf5d1ab6290bb48b49b096e2c56b3b323.tar.gz
emacs-05c53e7cf5d1ab6290bb48b49b096e2c56b3b323.zip
Some VMS changes from Richard Levitte <levitte@e.kth.se>:
* [VMS] systime.h: Include vmstime.h. VMS has the timezone variable and the tzname array. * s/vms.h: VMS does have select. mth$dmod is the same as Unix's drem. Use the time functions in vmstime.c. No need to rename the malloc routines if we're using GNU malloc. PURESIZE needs to be 330000. * vmstime.c, vmstime.h: New files. * systty.h: Don't try to initialize extern declarations under VAX C. * vmspaths.h (PATH_LOADSEARCH): Include EMACS_LIBRARY:[LOCAL-LISP] in PATH_LOADSEARCH. (PATH_EXEC): Use EMACS_LIBRARY:[LIB-SRC] instead of [ETC]. * sysdep.c [VMS] (init_sys_modes): Don't allocate process_ef. [VMS] (queue_kbd_input): Build events structure correctly. [VMS] (gethostname): New function. [VMS] (getwd): Don't get the PATH environment variable; that's dumb. Call getcwd.
Diffstat (limited to 'src')
-rw-r--r--src/s/vms.h24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/s/vms.h b/src/s/vms.h
index ad2df144c64..01041b3e140 100644
--- a/src/s/vms.h
+++ b/src/s/vms.h
@@ -60,7 +60,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
60 * Define HAVE_SELECT if the system supports the `select' system call. 60 * Define HAVE_SELECT if the system supports the `select' system call.
61 */ 61 */
62 62
63/* #define HAVE_SELECT */ 63#define HAVE_SELECT /* There is an emulation in vmsproc.c */
64 64
65/* 65/*
66 * Define HAVE_PTYS if the system supports pty devices. 66 * Define HAVE_PTYS if the system supports pty devices.
@@ -152,7 +152,18 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
152#define index strchr 152#define index strchr
153#define rindex strrchr 153#define rindex strrchr
154#define unlink delete 154#define unlink delete
155 155
156#ifndef _GNUC_
157extern double mth$dmod(double, double);
158#define drem mth$dmod
159#endif
160
161/* Some time rountines are missing in the VAX C RTL, or needs some
162 extra bit of code */
163#define tzset sys_tzset
164#define localtime sys_localtime
165#define gmtime sys_gmtime
166
156/* On later versions of VMS these exist in the C run time library, but 167/* On later versions of VMS these exist in the C run time library, but
157 we are using our own implementations. Hide their names to avoid 168 we are using our own implementations. Hide their names to avoid
158 linker errors */ 169 linker errors */
@@ -160,6 +171,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
160#define execvp sys_execvp 171#define execvp sys_execvp
161#define system sys_system 172#define system sys_system
162 173
174#ifndef GNU_MALLOC
163/* Hide these names so that we don't get linker errors */ 175/* Hide these names so that we don't get linker errors */
164#define malloc sys_malloc 176#define malloc sys_malloc
165#define free sys_free 177#define free sys_free
@@ -169,6 +181,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
169/* Don't use the standard brk and sbrk */ 181/* Don't use the standard brk and sbrk */
170#define sbrk sys_sbrk 182#define sbrk sys_sbrk
171#define brk sys_brk 183#define brk sys_brk
184#endif
172 185
173/* On VMS we want to avoid reading and writing very large amounts of 186/* On VMS we want to avoid reading and writing very large amounts of
174 data at once, so we redefine read and write here. */ 187 data at once, so we redefine read and write here. */
@@ -201,6 +214,11 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
201/* Case conflicts with C library srandom. */ 214/* Case conflicts with C library srandom. */
202#define Srandom S_random 215#define Srandom S_random
203 216
217/* variable length too long... maybe */
218#if 0
219#define do_line_insertion_deletion_costs do_line_insertion_deletion_cost
220#endif
221
204/* Cause initialization of vmsfns.c to be run. */ 222/* Cause initialization of vmsfns.c to be run. */
205#define SYMS_SYSTEM syms_of_vmsfns () 223#define SYMS_SYSTEM syms_of_vmsfns ()
206 224
@@ -223,7 +241,7 @@ globalref char sdata[];
223{ 0, 50, 75, 110, 134, 150, 300, 600, 1200, 1800, \ 241{ 0, 50, 75, 110, 134, 150, 300, 600, 1200, 1800, \
224 2000, 2400, 3600, 4800, 7200, 9600, 19200 } 242 2000, 2400, 3600, 4800, 7200, 9600, 19200 }
225 243
226#define PURESIZE 132000 244#define PURESIZE 330000
227 245
228/* Stdio FILE type has extra indirect on VMS, so must alter this macro. */ 246/* Stdio FILE type has extra indirect on VMS, so must alter this macro. */
229 247