Mon Apr  7 17:40:20 1997  Richard Levitte - VMS Whacker  <levitte@lp.se>

	* process.c [VMS]: VMS also wants to have sys_siglist defined if
	not already defined.

	* sysdep.c [VMS]: removed the definition of sys_siglist[].

Sun Apr  6 02:04:34 1997  Richard Levitte - VMS Whacker  <levitte@lp.se>

	* sysdep.c [VMS]: Only define CLI$M_AUTHPRIV if not already
	defined.

	* vmsdir.h: changed definitions of the form "char foo[]" to
	"char *foo".

	* vmsfns.c (expand_search_paths): Erroneous strcmp() changed to
	strncmp().

Fri Jan 24 06:23:47 1997  Richard Levitte - VMS Whacker  <levitte@lp.se>

	* emacs.c (Fdump_emacs): Split in two, one VMS variant and one
	Unix variant.

	* descrip.mms_in_in (.FIRST): turn off messages around the call
	of check_verb.

Tue Dec 10 03:46:25 1996  Richard Levitte - VMS Whacker  <levitte@lp.se>

	* sysdep.c (vlimit) [VMS]: Small correction.  Apparently,
	vlimit () is expected to return the available memory from
	start_of_data()...

Mon Nov 25 17:24:13 1996  Richard Levitte - VMS Whacker  <levitte@lp.se>

	* sysdep.c (vlimit) [VMS]: The change made yesterday was
	faulty.  The correct way is of course to check if there's
	a wrap-around when large integers are added together, and
	in that case return -1.  It did make sense to add the used
	p0 space, but not p1 space.

Sun Nov 24 05:21:24 1996  Richard Levitte - VMS Whacker  <levitte@lp.se>

	* sysdep.c (vlimit) [VMS]: If available memory is larger than
	4 GB, return -1.  And why do we need to know the address to
	the first available P0 and P1 page, anyway?

Wed May 29 16:04:46 1996  Richard Levitte  <LEVITTE@eliza.e.kth.se>

	* process.c (start_process_unwind): the pid may be negative.
	Therefore, only compare with -1.  This was what caused the
	"hanging subprocess" symptom.

Sun Feb 25 16:18:56 1996  Richard Levitte  <LEVITTE@eliza.e.kth.se>

	* callproc.c, vmsproc.c: include libdef.h to get LIB$_INVARG.

Sat Jan 13 02:31:02 1996  Richard Levitte  <LEVITTE@eliza.e.kth.se>

	* vmsproc.c (init_vmsproc): slight reorganisation

Sat Dec  9 18:13:18 1995  Richard Levitte  <LEVITTE@eliza.e.kth.se>

	* descrip.mms_in_in (dotstar): DEC C 5.x and up change `.*'
	to `. *'.  Because of this, all `.*' are replaced with $(dotstar).

Wed Nov 29 13:41:07 1995  Richard Levitte  <LEVITTE@eliza.e.kth.se>

	* vmsproc.c: undefine select and connect before include TCP/IP
	header files, and redefine them after.

Sun Nov 19 19:53:21 1995  Richard Levitte  <LEVITTE@eliza.e.kth.se>

	* abbrev.c (Finsert_abbrev_table_description,
	Sinsert_abbrev_table_description): define these to shorter names.

	* alloc.c (real_start_of_pure, real_end_of_pure): new functions.

	* command.h (Vminibuffer_local_completion_map,
	Vminibuffer_local_must_match_map): define these to shorter names.

	* dired.c (Ffile_name_all_completions_with_versions,
	Qfile_name_all_completions_with_versions,
	Sfile_name_all_completions_with_versions): define
	these to shorter names.

	* editfns.c (Finsert_and_inherit_before_markers,
	Sinsert_and_inherit_before_markers): define these to
	shorter names.

	* fileio.c (Vwrite_region_annotate_functions,
	Vwrite_region_annotations_so_far): define these to
	shorter names.

	* minibuf.c (Vminibuffer_completion_predicate,
	Qminibuffer_completion_predicate): define these to shorter names.

	* vmsmap.c (start_of_pure, end_of_pure): rewritten to use the
	functions real_start_of_pure and real_end_of_pure.

	* vmsproc.c: define CLI$M_AUTHPRIV if it is not already defined.

Sun Oct 22 13:00:01 1995  Richard Levitte  <LEVITTE@eliza.e.kth.se>

	* sysdep.c (creat_copy_attrs): open the created file with
	maximum record size = 32767, or the records will always be
	truncated to 512 bytes, even if the previous version had
	other attributes.

Thu Oct 19 15:47:59 1995  Richard Levitte  <LEVITTE@eliza.e.kth.se>

	* xfns.c (Fx_display_color_p): the answer was inverted.
	Isn't any more.

Sun Oct 15 22:02:25 1995  Richard Levitte  <LEVITTE@eliza.e.kth.se>

	* callproc.c (Fcall_process): change spawn_flags to include
	CLI$M_AUTHPRIV.

	* vmsfns.c (Fspawn_subprocess): add spawn_flags that is used
	for LIB$SPAWN.

	* vmsproc.c (create_process): change spawn_flags to include
	CLI$M_AUTHPRIV.

Wed Sep 20 20:17:40 1995  Richard Levitte  <LEVITTE@eliza.e.kth.se>

	* sysdep.c (init_system_name): do not use uts on VMS when
	HAVE_GETHOSTNAME is undefined.

Tue Sep 19 21:20:14 1995  Richard Levitte  <LEVITTE@eliza.e.kth.se>

	* fileio.c (Fexpand_file_name): [VMS] enhanced the functionality
	of expand-file-name to correctly expand some combinations of `-'
	in directory specifications.

Sun Sep 17 03:05:46 1995  Richard Levitte  <LEVITTE@eliza.e.kth.se>

	* descrip.mms_in_in ([-.vms]temacs.opt): `emacs_widget_resources',
	`emacsFrameClassRec' and `emacsFrameClass' are added to the
	NON_SAVED_DATA collection.

	* widget.c: the variable `resources' is called
	`emacs_widget_resources' instead, and is made non-static, so
	it can be moved to the NON_SAVED_DATA collection.

Sun Sep 10 00:48:26 1995  Richard Levitte  <LEVITTE@eliza.e.kth.se>

	* vmsproc.c (vms_make_pty): always make PTYs EIGHTBIT.

Tue Sep  5 18:45:35 1995  Richard Levitte  <LEVITTE@eliza.e.kth.se>

	* dired.c (file_name_completion): to remove the last character
	of a Lisp_String by decrementing the size was simply VERY wrong.
	garbage-collect could get very confused by that.  Corrected.

Sat Jun 10 12:30:57 1995  Richard Levitte  <LEVITTE@eliza.e.kth.se>

	* fileio.c (Finsert_file_contents): changed an #ifdef to include
	VMS as well, since comparing the buffer with the file does not
	always work very well.

	* callproc.c, emacs.c, fileio.c, process.c, sysdep.c: changed
	calls to strerror to err_str, which uses vaxc$errno whenever
	needed.

	* fileio.c: on VMS, double_dollars is a noop, since $foo is not
	expanded, and $$ are not converted to $, by substitute_file_name.

Sat Feb 25 10:40:59 1995  Richard Levitte  (LEVITTE@eliza.e.kth.se)

	* vmsgmalloc.c (__default_morecore, __default_lesscore): changed
	to use sys$cretva, sys$deltva and sys$expreg, since that's the
	only way to know if you happen to be tampering with protected
	memory.  Also, the initial buffer is removed.  Instead, with some
	cooperation from vmsmap.c and emacs.c, an initial chunk of
	heap is allocated, and is saved in the dump.  This means that
	there's no need to handle two heaps anymore.

Fri Nov 25 09:18:37 1994  Richard Levitte  (LEVITTE@eliza.e.kth.se)

	* config.h_in: added NETLIB.

	* vmsproc.h (VMS_CHAN_STUFF): changed chan to be of type
	unsigned long, to accomodate for NETLIB's 32-bit context
	pointer.  Also made net.net_buffer a descriptor, to be
	able to work correctly with tcp_receive().

	* vmsproc.c: Made changes to support NETLIB.

	* process.c: likewise.

	* lread.c: always include stdlib.h when on VMS.

	* sysdep.c (opendir, readdir): changed to handle the lack of files
	correctly.
	(sys_access): bogus `acces = flags;' changed to `flags = acces;'.
	Also, the file is closed directly after the open, since we might
	otherwise get hanging channels.  Handle invalid ACEs correctly.

	* xfns.c: include "gray.xmb" instead of "[.bitmaps]gray.xbm".

	* xmenu.c: include "XMenu.h" instead of "../oldXMenu/XMenu.h".

	* s/vms.h: added support for NETLIB (requires SOCKETSHR).

	* lisp.h: define ONE to be 1U on VMS and 1 otherwise, and change
	all 1's to be ONE.

Mon Nov 21 17:10:50 1994  Richard Levitte  (LEVITTE@elmer.e.kth.se)

	* callproc.c (relocate_fd): Made sure strerror is used instead
	of looking directly at sys_errlist.

	* emacs.c (main): likewise.

	* fileio.c (report_file_error): likewise.

	* process.c (list_processes_1, wait_reading_process_input,
	sigchld_handler): likewise.

	* sysdep.c (strerror): defined if HAVE_STRERROR is not defined.

	* config.h_in: Added HAVE_STRERROR.

Fri Aug  5 15:24:40 1994  Richard Levitte  (LEVITTE@elmer.e.kth.se)

	* callproc.c (call-process): Check the arguments to see if
	the call was like "/bin/sh -c" on Unix, and do something
	wise about it.

	* descrip.mms_in_in: Made sure the logical name `sys' is
	correctly defined even when `sys_includes' is an empty string.
	Added vms-date.el in VMS_SUPPORT.
	Made sure Emacs gets a base address at 8K.
	Finally removed the ugly system-specific #ifdef's.

	* dired.c (file-name-all-completions-with-versions): New
	function.
	(file_name_completion): Changed to use optimal file patterns
	when looking for a file.  Good for speed.
	(file_name_as_directory): Changed to become more reliable.
	(expand-file-name): Now always upcases the result.

	* process.c (start-process): Now does the same check as
	call-process, as described above.

	* sysdep.c (rename_sans_version): Changed `#ifdef __ALPHA'
	to `#ifdef __DECC'.

	* vmsfns.c (vms-expand-search-paths): Takes an optional extra
	argument, and is generally more reliable.

	* vmsmap.c: Changed `#ifdef __ALPHA' to `#ifdef __DECC'.

	* vmsproc.c (hack_vms_program_name): Now handles the case
	when some arguments have sneaked into the program name
	string.
	(create_process): like call-process and start-process,
	described above.

	* xterm.c: Changed to use the Compose Key as Meta key in some
	cases.
	(x_find_modifier_meanings): Doesn't try to check codes that
	are zero any more.

Wed Jun 29 18:55:27 1994  Richard Levitte  (LEVITTE@elmer.e.kth.se)

	* vmsfns.c (Fvms_expand_search_paths): Takes one optional
	second argument which tells it if it should expand the path
	completelly, or just so the path will be unique.
	(expand_search_paths): Modified accordingly, and removed a bug
	for the case the file would not exist.

	* xterm.c (x_find_modifier_meanings, XTread_socket): Add some
	code to make XK_Multi_key to act as a Meta key in some cases.

Fri May 20 14:27:01 1994  Richard Levitte  (LEVITTE@elmer.e.kth.se)

	* descrip.mms_in_in: the targets `all' and `all_debug' are
	now dependent on $(OLDXMENU).  The target is now using the
	script [-.vms]makedoc.com.  The redefinition of `CPP' is
	now commented out.  The target `really-oldXMenu' is now
	restored.  The target `mostlyclean' now correctly removes
	the dump file.

	* s/vms.h: Changed to set up the use of the old MultiNet
	style.

	* sysdep.c: Always include <sys/file.h>.  Added a debug
	line.

	* vmsproc.c(select): always setup the bits in allMask, even
	when rdsc is 0.

Sun Apr 10 16:32:51 1994  Richard Levitte  (LEVITTE@eliza.e.kth.se)

	* dired.c (file_name_completion): VMS needs to GCprotect
	save_file as well.

	* fileio.c (report_file_error): Apparently, there might be
	cases when sys_errlist[errno] is NULL, so protect against it.
	* fileio.c (Fcopy_file): Make some changes so chmod on VMS
	doesn't reset the modification time of the file.

	* systime.h: define the macro USE_UTIME, and include utime.h.

	* vmsproc.c (select): Changed to return -1 if an interrupt
	occured.  This is somewhat magic, since all we handle are
	interrupts.

	* xselect.c (x_decline_selection_request): Added a call to
	XFlushQueue ();

Tue Mar 29 12:26:46 1994  Richard Levitte  (LEVITTE@eliza.e.kth.se)

	* dired.c (file_name_completion): Added GC protection of some
	variables.

Thu Mar 24 10:50:06 1994  Richard Levitte  (LEVITTE@eliza.e.kth.se)

	* sysdep.c (sys_write): Changed so fixed-format files can be
	written properly.

	* vmsproc.c (select): Changed to return -1 when an interrupt
	occurs.

Sun Mar 20 21:36:42 1994  Richard Levitte  (LEVITTE@eliza.e.kth.se)

	* alloca.c: Now, the function follow_alloca_headers is
	officialy added.  It's purpose is to be used from the debugger.

	* callproc.c: Added the possibility to give yet another numeric
	argument call-process and its' companions, to get the output
	from programs as messages in the echo area.  Also corrected a
	few bugs.

	* descrip.mms_in_in: The object files are split up in even
	smaller groups now...

	* dired.c(file-name-all-completions-with-versions): New function.
	* dired.c(file_name_completion): Now knows how to expand a
	bunch of zeroes at the beginning of directory specifications.

	* regex.c: Made re_match_2 to be a wrapper around re_match_2_real,
	which does what re_match_2 did before.  The reason for this is
	some potential alloca() problems.

	* sysdep.c: A small change permitting end_kbd_queue to know if
	there is an AST to cancel or not.

	* systime.h: Removed some potential variable problem.

	* vmsproc.c: A whole bunch of bugs removed.

	* vmstime.c(sys_gmtime): Changed to be carefull when offset is 0.

	* vmstime.h: Defines HAVE_TZNAME.

	* xfns.c: Three calls to XSelectAsyncEvent added.  Now, selections
	work as expected.

Wed Feb 23 00:47:15 1994  Richard Levitte  (LEVITTE@eliza.e.kth.se)

	* alloca.c: Removed a bug.

	* config.h_in: Added the VMS-specific macro USE_DEBUG_HACK,
	which is used in DESCRIP.MMS_IN_IN.

	* descrip.mms_in_in: Removed a few bugs, and started using
	USE_DEBUG_HACK.

	* emacs.c (fatal_error_signal): Signal SS$_DEBUG instead of
	aborting.
	* emacs.c (main): Only use mtrace when debugging.

	* process.c (process_send_signal): Use SYS$FORCEX instead of
	trying to send ^Y to a process.

	* sysdep.c (kbd_input_ast): Extended the debug info when
	ASTDEBUG is defined.
	* sysdep.c (sys_getenv): Treat "TERM", "HOME", "PATH", "USER"
	in a special way.

	* termcap.c (tgetent): Is not dependent on the logical name
	EMACS_LIBRARY any more.  Instead, let PATH_DATA decide where
	termcap.dat can be found.

	* vmsproc.c (vms_write_pty, vms_make_pty, vms_close_fd): Removed
	a bug in the handling of the PTD$ routines.

Thu Feb 10 03:29:44 1994  Richard Levitte  (LEVITTE@elmer.e.kth.se)

	* vmsproc.c (vms_close_fd,vms_make_pty): removed dum_PTY_BUFFERS,
	and changed the calls to LIB$*_VM_PAGES to valloc() and free().

Sun Feb  6 21:47:54 1994  Richard Levitte  (LEVITTE@eliza.e.kth.se)

	* descrip.mms_in_in: Changed the dependency on oldXMenu so
	Emacs will not get linked every time you run MMS.  Also, a
	few other clean ups.

	* dired.c: A change to handle version numbers better.

	* sysdep.c: Corrected a bug with terminal settings.

Tue Jan 18 22:58:29 1994  Richard Levitte  (LEVITTE@eliza.e.kth.se)

	* config.h.in: Changed the name PATH_SEPARATOR back to SEPCHAR.

	* dired.c (file_name_completion): Now really makes good use
	of opendir () and closedir ().  Also handles completion of
	directories.

	* getpagesize.h: the page size on VMS is no longer hardcoded
	to 512, thanks to the AXP architecture.

	* keyboard.c (reinvoke_input_signal): Make this function work
	on VMS as well, by invoking an AST.

	* process.c: Some quantities should be static, but some functions
	in vmsproc.c need them, so don't make them static on VMS.
	* process.c (read_process_output, exec_sentinel): unbind_to
	was called with only 1 arg when 2 are needed.  Qnil was added
	as second arg.

	* sysdep.c (change_input_fd) : Fixed to work on VMS.
	* sysdep.c (kbd_input_ast): Changed to do exactly the same
	operation as the input_available_signal and read_avail_input
	in keyboard.c.  There's no more need for a separate AST
	routine for X-windows.
	* sysdep.c (opendir, readdir, closedir): Fixed to work on VMS.
	Also, opendir takes an optional second argument, which is used
	as a file pattern.
	* sysdep.c (rmdir): Fixed to work right on VMS.
	* sysdep.c (sys_translate_unix): Fixed to really treat a
	directory specification not starting with a slash as a
	relative spec.
	* sysdep.c (getpagesize): Added for the AXP architecture.

	* systime.h: Changed so VMS can specify microseconds also.

	* vmsgmalloc.c (__default_morecore): Changed to support the
	AXP architecture.

	* vmsmap.c: Changed to suport the AXP architecture.

	* vmstime.c (__vms_time_secs, __vms_time_usecs, __vms_set_secs,
	_vms_set_usecs, vms_ad_time, __vms_sub_time, __vms_negate_time):
	Added functions to better support the definitions in systime.h.

	* xfns.c (x_window): Connect the routine kbd_input_ast to
	the window event input stream, instead of vms_X_ast.

	* xrdb.c (search_magic_path): Use SEPCHAR instead of
	PATH_SEPARATOR.

	* xselect.c: Please, DO include termhooks.h.

	* xterm.c: If HAVE_FCNTL_H is not defined, include file.h instead
	of fcntl.h.  Same goes for HAVE_PARAM_H and sys/param.h.
	* xterm.c (x_scroll_bar_create): Just as for x_window in xfns.c,
	connect the routine kbd_input_ast to the window event stream.
	* xterm.c (vms_X_ast): REMOVED.  It is now obsolete.
	* xterm.c (x_term_init): Assign read_socket_hook, just as on Unix.

	* m/avms1-5.h: Added to support AXP/VMS.
	* s/template.h: Changed PATH_SEPARATOR back to SEPCHAR.
	* s/vms.h: #define SEPCHAR to ',' instead of PATH_SEPARATOR.
	* s/vms.h: Stop #defining malloc and friends to sys_malloc
	et al.

Mon Dec  6 22:49:45 1993  Richard Levitte  (LEVITTE@elin.e.kth.se)

	* sysdep.c (vms_low_readdir): New function to help the functions
	readdir and readdirver.
	* sysdep.c (opendir, closedir, readdir, readdirver): Modified
	to use the library functions LIB$FIND_FILE and LIB$FIND_FILE_END.


Fri Jul 30 13:30:31 1993  Richard Levitte  (LEVITTE@elin.e.kth.se)

	* callproc.c: Made some changes for VMS GNU C. Not tested.
	* callproc.c (call_process_kill, call_process_cleanup): Small
	changes for VMS.
	* callproc.c (call-process): Some changes to make this work on VMS.

	* config.h.in: Added UCX, MULTINET to designate which (by Emacs
	supported) TCP/IP package should be used.
	* config.h.in: Added PATH_SEPARATOR to hold the character which
	separates the entries in a path.

	* dired.c (file-attributes): Now returns a list of three numbers
	for the inode.

	* emacs.c (init_cmdargs): Changed for VMS so invocation-name
	won't hold a file name with extension and version number.
	* emacs.c (decode_env_path): Now uses PATH_SEPARATOR instead of
	SEPCHAR.

	* fileio.c (file_name_as_directory): Changed for VMS to handle
	the [000000] directory entry (the root).
	* fileio.c (expand-file-name): Changed for VMS to handle the
	[000000] directory entry, and to convert the delimiters < and
	> to [ and ].

	* floatfns (logb): Make VMS do it the same way as USG.

	* keyboard.c (read_avail_input): Make this function available
	on VMS, but make it a dummy.
	* keyboard.c (interrupt_signal): Call sys$clrast () before
	signaling quit. sys$clrast () is an undocumented system service.

	* process.c [VMS]: Include the proper include files, depending
	on which TCP/IP package is used. Also made sys_siglist available
	again.
	* process.c (status_message): Now, Emacs is not prevented from
	using sys_siglist, so do not use sys_errlist anymore! Also, if
	the exit code has bit 0 set to 1, consider the process finished.
	* process.c (make_process, remove_process) [VMS]: Changed to
	store some proper data in the VMS process data structure.
	See vmsproc.h.
	* process.c (start-process) [VMS]: Changed to hack the program
	name to be called properly.
	* process.c (open-network-stream) [VMS]: On older versions of UCX,
	getservbyname () is just an entry with no real function, and thus
	returns -1. This is now handled.
	* process.c (deactivate_process, close_process_descs,
	read_process_output, send_process) [VMS]: Changed to reflect the
	changes in vmsproc.c.
	* process.c (process_send_signal) [VMS]: Changed to properly
	assign pid and gid.

	* s/template.h: changed SEPCHAR to PATH_SEPARATOR, for readability.

	* s/vms.h: #defines HAVE_PTYS.
	* s/vms.h: #defines PATH_SEPARATOR to ','.
	* s/vms.h: #defines HAVE_SOCKETS and HAVE_GETHOSTNAME if any
	TCP/IP package is used.
	* s/vms.h: #defines LIBS_STANDARD and C_SWITCH_SYSTEM conditionaly,
	depending on if we compile on OpenVMS AXP or VAX/VMS.

	* s/vms5-5.h: #defines HAVE_VMS_PTYS and HAVE_GETPPID.

	* sysdep.c (wait_for_termination) [VMS]: Isn't used here. The true
	definition is defined in vmsproc.c.
	* sysdep.c (kbd_input_ast): Changed to reflect changes in keyboard.c
	and vmsproc.c
	* sysdep.c (sys_sleep) [VMS]: Use timer #2 instead of #1, because
	the latter is used by VAX C alarm ().
	* sysdep.c ({request,unrequest}_sigio) [VMS]: Will not croak anymore.
	* sysdep.c (get_system_name) [VMS]: Uses gethostname () instead of
	looking directly at the env var SYS$NODE.
	* sysdep.c (rename_sans_version) [VMS]: Changed to reflect a change
	in one include file on OpenVMS AXP. Not yet tested.
	* sysdep.c [VMS]: Added sys_siglist.

	* systime.h [VMS]: Includes vmstime.h.

	* vmsfns.c (vms-system-info): Changed the handling of the logical
	names, to also take an index. This is useful when dealing with
	VMS search paths.
	* vmsfns.c (vms-expand-search-paths, expand_search_paths,
	vms_trnlnm): New functions.
	* vmsfns.c (vms_trnlog): Changed to take two arguments.

	* vmsgmalloc.c: Changed to reflect changes in gmalloc.c, and
	to handle two heaps a better way.

	* vmsmap.c: Changed slightly for VMS GNU C.

	* vmsproc.h, vmsproc.c: Lots of changes.

	* xfns.c (x_window) [VMS]: Connect an AST routine to the window
	event stream.
	* xrdb.c (search_magic_path): Use PATH_SEPARATOR instead of ':'.
	* xrbd.c [VMS]: Various changes to use the DECWindows/Motif
	file names and logical names.

	* xterm.c (x_scroll_bar_create) [VMS]: Connect an AST routine to
	the window event stream.
	* xterm.c (vms_X_ast) [VMS]: New function.
	* xterm.c (x_term_init) [VMS]: Do not assign read_socket_hook.
