diff -crN emacs-18.59/Makefile emacs-18.59-hpcmips/Makefile
*** emacs-18.59/Makefile	Thu Jun  9 18:28:14 2005
--- emacs-18.59-hpcmips/Makefile	Tue Jun  7 22:35:36 2005
***************
*** 18,24 ****
  # but there was no explanation of why, so it seems better to keep this stable.
  LIBDIR= /usr/local/emacs
  BINDIR= /usr/local/bin
! MANDIR= /usr/man/man1
  
  CC= gcc
  # Flags passed down to subdirectory makefiles.
--- 18,24 ----
  # but there was no explanation of why, so it seems better to keep this stable.
  LIBDIR= /usr/local/emacs
  BINDIR= /usr/local/bin
! MANDIR= /usr/local/man/man1
  
  CC= gcc
  # Flags passed down to subdirectory makefiles.
***************
*** 71,77 ****
  	$(INSTALL) -c -m 444 etc/emacs.1 ${MANDIR}/emacs.1
  	-rm -f ${BINDIR}/emacs
  	mv ${BINDIR}/xemacs ${BINDIR}/emacs
! 	(cd /usr/local;	chown -R root.root emacs)
  	chmod 2755 /usr/local/emacs/etc/movemail
  	chgrp mail /usr/local/emacs/etc/movemail
  
--- 71,77 ----
  	$(INSTALL) -c -m 444 etc/emacs.1 ${MANDIR}/emacs.1
  	-rm -f ${BINDIR}/emacs
  	mv ${BINDIR}/xemacs ${BINDIR}/emacs
! 	(cd /usr/local;	chown -R root.wheel emacs)
  	chmod 2755 /usr/local/emacs/etc/movemail
  	chgrp mail /usr/local/emacs/etc/movemail
  
diff -crN emacs-18.59/etc/emacsclient.c emacs-18.59-hpcmips/etc/emacsclient.c
*** emacs-18.59/etc/emacsclient.c	Thu Jun  9 18:28:17 2005
--- emacs-18.59-hpcmips/etc/emacsclient.c	Mon Jun  6 21:59:40 2005
***************
*** 54,60 ****
--- 54,62 ----
  #include <sys/stat.h>
  
  extern int sys_nerr;
+ #if !defined(__NetBSD__)
  extern char *sys_errlist[];
+ #endif
  extern int errno;
  
  main (argc, argv)
diff -crN emacs-18.59/etc/env.c emacs-18.59-hpcmips/etc/env.c
*** emacs-18.59/etc/env.c	Sun Jan 26 06:20:37 1992
--- emacs-18.59-hpcmips/etc/env.c	Mon Jun  6 21:58:24 2005
***************
*** 198,204 ****
--- 198,206 ----
    else
      {
        extern int errno, sys_nerr;
+ #if !defined(__NetBSD__)
        extern char *sys_errlist[];
+ #endif
  
        environ = nenv;
        (void) execvp (*argv, argv);
diff -crN emacs-18.59/etc/movemail.c emacs-18.59-hpcmips/etc/movemail.c
*** emacs-18.59/etc/movemail.c	Fri May  8 05:11:16 1992
--- emacs-18.59-hpcmips/etc/movemail.c	Mon Jun  6 21:57:23 2005
***************
*** 320,326 ****
--- 320,328 ----
       char *name;
  {
    extern int errno, sys_nerr;
+ #if !defined(__NetBSD__)
    extern char *sys_errlist[];
+ #endif
    char *s;
  
    if (errno < sys_nerr)
***************
*** 334,340 ****
--- 336,344 ----
       char *name;
  {
    extern int errno, sys_nerr;
+ #if !defined(__NetBSD__)
    extern char *sys_errlist[];
+ #endif
    char *s;
  
    if (errno < sys_nerr)
***************
*** 704,710 ****
--- 708,716 ----
  get_errmsg ()
  {
    extern int errno, sys_nerr;
+ #if !defined(__NetBSD__)
    extern char *sys_errlist[];
+ #endif
    char *s;
  
    if (errno < sys_nerr)
diff -crN emacs-18.59/src/allocatem.c emacs-18.59-hpcmips/src/allocatem.c
*** emacs-18.59/src/allocatem.c	Thu Jan  1 09:00:00 1970
--- emacs-18.59-hpcmips/src/allocatem.c	Tue Jun  7 10:31:28 2005
***************
*** 0 ****
--- 1,320 ----
+ /* `alloca' standard 4.2 subroutine for 68000's and 16000's and others.
+    Also has _setjmp and _longjmp for pyramids.
+    Copyright (C) 1985, 1986, 1988 Free Software Foundation, Inc.
+ 
+ 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)
+ any later version.
+ 
+ GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
+ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+ 
+ 
+ /* Both 68000 systems I have run this on have had broken versions of alloca.
+    Also, I am told that non-berkeley systems do not have it at all.
+    So replace whatever system-provided alloca there may be
+    on all 68000 systems.  */
+ 
+ #define NOT_C_CODE
+ #include "config.h"
+ 
+ #ifndef HAVE_ALLOCA  /* define this to use system's alloca */
+ 
+ #ifndef hp9000s300
+ #ifndef m68k
+ #ifndef m68000
+ #ifndef WICAT
+ #ifndef ns32000
+ #ifndef ns16000
+ #ifndef sequent
+ #ifndef pyramid
+ #ifndef ATT3B5
+ #ifndef XENIX
+ you
+ lose!!
+ #endif /* XENIX */
+ #endif /* ATT3B5 */
+ #endif /* pyramid */
+ #endif /* sequent */
+ #endif /* ns32000 */
+ #endif /* ns16000 */
+ #endif /* WICAT */
+ #endif /* m68000 */
+ #endif /* m68k */
+ #endif /* hp9000s300 */
+ 
+ 
+ #if defined (hp9000s300) || defined (mot_delta)
+ #ifdef mot_delta
+ 	file "alloca.s"
+ ; This syntax is what pot@fly.cnuce.cnr.it says we should use.
+ 	global	alloca
+ alloca:
+ #endif
+ #ifdef OLD_HP_ASSEMBLER
+ 	data
+ 	text
+ 	globl	_alloca
+ _alloca	
+ 	move.l	(sp)+,a0	; pop return addr from top of stack
+ 	move.l	(sp)+,d0	; pop size in bytes from top of stack
+ 	add.l	#ROUND,d0	; round size up to long word
+ 	and.l	#MASK,d0	; mask out lower two bits of size
+ 	sub.l	d0,sp		; allocate by moving stack pointer
+ 	tst.b	PROBE(sp)	; stack probe to allocate pages
+ 	move.l	sp,d0		; return pointer
+ 	add.l	#-4,sp		; new top of stack
+ 	jmp	(a0)		; not a normal return
+ MASK	equ	-4		; Longword alignment
+ ROUND	equ	3		; ditto
+ PROBE	equ	-128		; safety buffer for C compiler scratch
+ 	data
+ #else /* new hp assembler syntax */
+ /*
+   The new compiler does "move.m <registers> (%sp)" to save registers,
+     so we must copy the saved registers when we mung the sp.
+   The old compiler did "move.m <register> <offset>(%a6)", which
+     gave us no trouble
+  */
+ 	text
+ 	set	PROBE,-128	# safety for C frame temporaries
+ 	set	MAXREG,22	# d2-d7, a2-a5, fp2-fp7 may have been saved
+ 	global	_alloca
+ _alloca:
+ 	mov.l	(%sp)+,%a0	# return addess
+ 	mov.l	(%sp)+,%d0	# number of bytes to allocate
+ 	mov.l	%sp,%a1		# save old sp for register copy
+ 	mov.l	%sp,%d1		# compute new sp
+ 	sub.l	%d0,%d1		# space requested
+ 	and.l	&-4,%d1		# round down to longword
+ 	sub.l	&MAXREG*4,%d1	# space for saving registers
+ 	mov.l	%d1,%sp		# save new value of sp
+ 	tst.b	PROBE(%sp)	# create pages (sigh)
+ 	mov.l	%a2,%d1		# save reg a2
+ 	mov.l	%sp,%a2
+ 	move.w	&MAXREG-1,%d0
+ copy_regs_loop:			/* save caller's saved registers */
+ 	mov.l	(%a1)+,(%a2)+
+ 	dbra	%d0,copy_regs_loop
+ 	mov.l	%a2,%d0		# return value
+ 	mov.l	%d1,%a2		# restore a2
+ 	add.l	&-4,%sp		# adjust tos
+ 	jmp	(%a0)		# rts
+ #endif /* new hp assembler */
+ #else
+ #ifdef m68k			/* SGS assembler totally different */
+ 	file	"alloca.s"
+ 	global	alloca
+ alloca:
+ 	mov.l	(%sp)+,%a1	# pop return addr from top of stack
+ 	mov.l	(%sp)+,%d0	# pop size in bytes from top of stack
+ 	add.l	&R%1,%d0	# round size up to long word
+ 	and.l	&-4,%d0		# mask out lower two bits of size
+ 	sub.l	%d0,%sp		# allocate by moving stack pointer
+ 	tst.b	P%1(%sp)	# stack probe to allocate pages
+ 	mov.l	%sp,%a0		# return pointer as pointer
+ 	mov.l	%sp,%d0		# return pointer as int to avoid disaster
+ 	add.l	&-4,%sp		# new top of stack
+ 	jmp	(%a1)		# not a normal return
+ 	set	S%1,64		# safety factor for C compiler scratch
+ 	set	R%1,3+S%1	# add to size for rounding
+ 	set	P%1,-132	# probe this far below current top of stack
+ 
+ #else /* not m68k */
+ 
+ #ifdef m68000
+ 
+ #ifdef WICAT
+ /*
+  * Registers are saved after the corresponding link so we have to explicitly
+  * move them to the top of the stack where they are expected to be.
+  * Since we do not know how many registers were saved in the calling function
+  * we must assume the maximum possible (d2-d7,a2-a5).  Hence, we end up
+  * wasting some space on the stack.
+  *
+  * The large probe (tst.b) attempts to make up for the fact that we have
+  * potentially used up the space that the caller probed for its own needs.
+  */
+ 	.procss m0
+ 	.config "68000 1"
+ 	.module	_alloca
+ MAXREG:	.const	10
+ 	.sect	text
+ 	.global	_alloca
+ _alloca:
+ 	move.l	(sp)+,a1	; pop return address
+ 	move.l	(sp)+,d0	; pop allocation size
+ 	move.l	sp,d1		; get current SP value
+ 	sub.l	d0,d1		; adjust to reflect required size...
+ 	sub.l	#MAXREG*4,d1	; ...and space needed for registers
+ 	and.l	#-4,d1		; backup to longword boundry
+ 	move.l	sp,a0		; save old SP value for register copy
+ 	move.l	d1,sp		; set the new SP value
+ 	tst.b	-4096(sp)	; grab an extra page (to cover caller)
+ 	move.l	a2,d1		; save callers register
+ 	move.l	sp,a2
+ 	move.w	#MAXREG-1,d0	; # of longwords to copy
+ loop:	move.l	(a0)+,(a2)+	; copy registers...
+ 	dbra	d0,loop		; ...til there are no more
+ 	move.l	a2,d0		; end of register area is addr for new space
+ 	move.l	d1,a2		; restore saved a2.
+ 	addq.l	#4,sp		; caller will increment sp by 4 after return.
+ 	move.l	d0,a0		; return value in both a0 and d0.
+ 	jmp	(a1)
+ 	.end	_alloca
+ #else
+ 
+ /* Some systems want the _, some do not.  Win with both kinds.  */
+ .globl	_alloca
+ _alloca:
+ .globl	alloca
+ alloca:
+ 	movl	sp@+,a0
+ 	movl	a7,d0
+ 	subl	sp@,d0
+ 	andl	#~3,d0
+ 	movl	d0,sp
+ 	tstb	sp@(0)		/* Make stack pages exist  */
+ 				/* Needed on certain systems
+ 				   that lack true demand paging */
+ 	addql	#4,d0
+ 	jmp	a0@
+ 
+ #endif /* not WICAT */
+ #endif /* m68000 */
+ #endif /* not m68k */
+ #endif /* not hp9000s300 */
+ 
+ #if defined (ns16000) || defined (ns32000)
+ 
+ 	.text
+ 	.align	2
+ /* Some systems want the _, some do not.  Win with both kinds.  */
+ .globl	_alloca
+ _alloca:
+ .globl	alloca
+ alloca:
+ 
+ /* Two different assembler syntaxes are used for the same code
+ 	on different systems.  */
+ 
+ #ifdef sequent
+ #define IM
+ #define REGISTER(x) x
+ #else
+ #define IM $
+ #define REGISTER(x) 0(x)
+ #endif
+ 
+ /*
+  * The ns16000 is a little more difficult, need to copy regs.
+  * Also the code assumes direct linkage call sequence (no mod table crap).
+  * We have to copy registers, and therefore waste 32 bytes.
+  *
+  * Stack layout:
+  * new	sp ->	junk	
+  *	 	registers (copy)
+  *	r0 ->	new data		
+  *		 | 	  (orig retval)
+  *		 |	  (orig arg)
+  * old  sp ->	regs	  (orig)
+  *		local data
+  *	fp ->	old fp
+  */
+ 
+ 	movd	tos,r1		/*  pop return addr */
+ 	negd	tos,r0		/*  pop amount to allocate */
+ 	sprd	sp,r2
+ 	addd	r2,r0
+ 	bicb	IM/**/3,r0	/*  4-byte align */
+ 	lprd	sp,r0
+ 	adjspb	IM/**/36	/*  space for regs, +4 for caller to pop */
+ 	movmd	0(r2),4(sp),IM/**/4	/*  copy regs */
+ 	movmd	0x10(r2),0x14(sp),IM/**/4
+ 	jump	REGISTER(r1)	/* funky return */
+ #endif /* ns16000 or ns32000. */
+ 
+ #ifdef pyramid
+ 
+ .globl _alloca
+ 
+ _alloca: addw $3,pr0	# add 3 (dec) to first argument
+ 	bicw $3,pr0	# then clear its last 2 bits
+ 	subw pr0,sp	# subtract from SP the val in PR0
+ 	andw $-32,sp	# keep sp aligned on multiple of 32.
+ 	movw sp,pr0	# ret. current SP
+ 	ret
+ 
+ #ifdef PYRAMID_OLD /* This isn't needed in system version 4.  */
+ .globl __longjmp
+ .globl _longjmp
+ .globl __setjmp
+ .globl _setjmp
+ 
+ __longjmp: jump _longjmp
+ __setjmp:  jump _setjmp
+ #endif
+ 
+ #endif /* pyramid */
+ 
+ #ifdef ATT3B5
+ 
+ 	.align 4
+ 	.globl alloca
+ 
+ alloca:
+ 	movw %ap, %r8
+ 	subw2 $9*4, %r8
+ 	movw 0(%r8), %r1    /* pc */
+ 	movw 4(%r8), %fp
+ 	movw 8(%r8), %sp
+ 	addw2 %r0, %sp /* make room */
+ 	movw %sp, %r0 /* return value */
+ 	jmp (%r1) /* continue... */
+ 
+ #endif /* ATT3B5 */
+ 
+ #ifdef XENIX
+ 
+ .386
+ 
+ _TEXT segment dword use32 public 'CODE'
+ assume   cs:_TEXT
+ 
+ ;-------------------------------------------------------------------------
+ 
+ public _alloca
+ _alloca proc near
+ 
+ 	pop	ecx		; return address
+ 	pop	eax		; amount to alloc
+ 	add	eax,3		; round it to 32-bit boundary
+ 	and	al,11111100B	;
+ 	mov	edx,esp		; current sp in edx
+ 	sub	edx,eax		; lower the stack
+ 	xchg	esp,edx		; start of allocation in esp, old sp in edx
+ 	mov	eax,esp		; return ptr to base in eax
+ 	push	[edx+8]		; save poss. stored reg. values (esi,edi,ebx)
+ 	push	[edx+4]		;  on lowered stack
+ 	push	[edx]		;
+ 	sub	esp,4		; allow for 'add esp, 4'
+ 	jmp	ecx		; jump to return address
+ 
+ _alloca endp
+ 
+ _TEXT	ends
+ 
+ end
+ 
+ #endif /* XENIX */
+ 
+ #endif /* not HAVE_ALLOCA */
diff -crN emacs-18.59/src/allocatem.s emacs-18.59-hpcmips/src/allocatem.s
*** emacs-18.59/src/allocatem.s	Thu Jan  1 09:00:00 1970
--- emacs-18.59-hpcmips/src/allocatem.s	Tue Jun  7 10:31:29 2005
***************
*** 0 ****
--- 1,3 ----
+  
+ you
+ lose!!
diff -crN emacs-18.59/src/config.h emacs-18.59-hpcmips/src/config.h
*** emacs-18.59/src/config.h	Thu Jun  9 18:28:43 2005
--- emacs-18.59-hpcmips/src/config.h	Mon Jun  6 17:21:54 2005
***************
*** 24,30 ****
     See the file ../etc/MACHINES for a list of systems and
     the names of the s- files to use for them.
     See s-template.h for documentation on writing s- files.  */
! #include "s-linux.h"
  #define	ATTRIBUTE
  
  /* Include here a m- file that describes the machine and system you use.
--- 24,31 ----
     See the file ../etc/MACHINES for a list of systems and
     the names of the s- files to use for them.
     See s-template.h for documentation on writing s- files.  */
! /* #include "s-linux.h" */
! #include "s-hpcmips.h"
  #define	ATTRIBUTE
  
  /* Include here a m- file that describes the machine and system you use.
***************
*** 33,39 ****
     See m-template.h for info on what m- files should define.
     */
  
! #include "m-linux.h"
  
  /* Load in the conversion definitions if this system
     needs them and the source file being compiled has not
--- 34,41 ----
     See m-template.h for info on what m- files should define.
     */
  
! /* #include "m-linux.h" */
! #include "m-hpcmips.h"
  
  /* Load in the conversion definitions if this system
     needs them and the source file being compiled has not
***************
*** 48,54 ****
  
  /* Define HAVE_X_WINDOWS if you want to use the X window system.  */
  
! #define HAVE_X_WINDOWS
  
  /* Define X11 if you want to use version 11 of X windows.
     Otherwise, Emacs expects to use version 10.  */
--- 50,56 ----
  
  /* Define HAVE_X_WINDOWS if you want to use the X window system.  */
  
! #undef HAVE_X_WINDOWS
  
  /* Define X11 if you want to use version 11 of X windows.
     Otherwise, Emacs expects to use version 10.  */
diff -crN emacs-18.59/src/emacs.c emacs-18.59-hpcmips/src/emacs.c
*** emacs-18.59/src/emacs.c	Thu Jun  9 18:28:45 2005
--- emacs-18.59-hpcmips/src/emacs.c	Mon Jun  6 22:43:57 2005
***************
*** 114,120 ****
  int xargc;
  #endif /* HAVE_X_WINDOWS */
  
! #ifdef USG_SHARED_LIBRARIES
  /* If nonzero, this is the place to put the end of the writable segment
     at startup.  */
  
--- 114,120 ----
  int xargc;
  #endif /* HAVE_X_WINDOWS */
  
! #if defined(USG_SHARED_LIBRARIES) || defined(__NetBSD__)
  /* If nonzero, this is the place to put the end of the writable segment
     at startup.  */
  
diff -crN emacs-18.59/src/fileio.c emacs-18.59-hpcmips/src/fileio.c
*** emacs-18.59/src/fileio.c	Thu Jun  9 18:28:46 2005
--- emacs-18.59-hpcmips/src/fileio.c	Mon Jun  6 22:13:42 2005
***************
*** 53,59 ****
--- 53,61 ----
  
  #ifndef vax11c
  extern int errno;
+ #if !defined(__NetBSD__)
  extern char *sys_errlist[];
+ #endif
  extern int sys_nerr;
  #endif
  
diff -crN emacs-18.59/src/m-hpcmips.h emacs-18.59-hpcmips/src/m-hpcmips.h
*** emacs-18.59/src/m-hpcmips.h	Thu Jan  1 09:00:00 1970
--- emacs-18.59-hpcmips/src/m-hpcmips.h	Wed Jun  8 21:12:53 2005
***************
*** 0 ****
--- 1,46 ----
+ #define HPCMIPS
+ #include "m-mips.h"
+ #undef HPCMIPS
+ #undef LIBS_MACHINE
+ /* #undef BIG_ENDIAN */
+ #define LIB_STANDARD -lc /usr/lib/crtend.o
+ #undef START_FILES
+ #undef COFF
+ #undef TERMINFO
+ #define MAIL_USE_FLOCK
+ #define HAVE_UNION_WAIT
+ 
+ #undef SIGN_EXTEND_CHAR
+ #define SIGN_EXTEND_CHAR(c) ((signed char)(c))
+ #undef UNEXEC
+ /* #define UNEXEC unexelf.o */
+ 
+ #define CANNOT_DUMP
+ 
+ /* This line starts being needed with ultrix 4.0.  */
+ /* You must delete it for version 3.1.  */
+ /* #define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o */
+ #define START_FILES pre-crt0.o /usr/lib/crt0.o /usr/lib/crtbegin.o
+ 
+ /* Supposedly the following will overcome a kernel bug.  */
+ #undef LD_SWITCH_MACHINE
+ #undef DATA_START
+ #define DATA_START 0x10000000
+ #define DATA_SEG_BITS 0x10000000
+ 
+ /* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist
+    on defining malloc itself.  This should avoid conflicting with it.  */
+ #define SYSTEM_MALLOC
+ 
+ /* Override what m-mips.h says about this.  */
+ #undef LINKER
+ 
+ /* Ultrix 4.2 (perhaps also 4.1) implements O_NONBLOCK
+    but it doesn't work right;
+    and it causes hanging in read_process_output.  */
+ #undef BROKEN_O_NONBLOCK
+ 
+ #ifdef OSF1
+ #undef C_ALLOCA
+ #define HAVE_ALLOCA
+ #endif
diff -crN emacs-18.59/src/m-mips.h emacs-18.59-hpcmips/src/m-mips.h
*** emacs-18.59/src/m-mips.h	Sat Mar  7 15:49:22 1992
--- emacs-18.59-hpcmips/src/m-mips.h	Tue Jun  7 23:39:58 2005
***************
*** 30,36 ****
--- 30,38 ----
  /* Define BIG_ENDIAN iff lowest-numbered byte in a word
     is the most significant byte.  */
  
+ #if !defined(HPCMIPS)
  #define BIG_ENDIAN
+ #endif
  
  /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
   * group of arguments and treat it as an array of the arguments.  */
diff -crN emacs-18.59/src/nconfig.h emacs-18.59-hpcmips/src/nconfig.h
*** emacs-18.59/src/nconfig.h	Thu Jun  9 18:28:56 2005
--- emacs-18.59-hpcmips/src/nconfig.h	Thu Jun  9 01:38:41 2005
***************
*** 27,33 ****
  /*#define EGG*/
  
  /* define CANNA if you want to use CANNA */
! /*#define	CANNA*/
  
  #if !defined(EGG) && !defined(CANNA)
  #define VANILLA
--- 27,33 ----
  /*#define EGG*/
  
  /* define CANNA if you want to use CANNA */
! #define	CANNA
  
  #if !defined(EGG) && !defined(CANNA)
  #define VANILLA
***************
*** 66,72 ****
  
  #ifdef	CANNA
  #define	LIBCANNA	-lcanna
! #define	INCCANNA	-I/usr/include/canna -I/usr/local/include/canna
  #else
  #define	LIBCANNA
  #define	INCCANNA
--- 66,72 ----
  
  #ifdef	CANNA
  #define	LIBCANNA	-lcanna
! #define	INCCANNA	-I/usr/local/canna/include
  #else
  #define	LIBCANNA
  #define	INCCANNA
diff -crN emacs-18.59/src/paths.h emacs-18.59-hpcmips/src/paths.h
*** emacs-18.59/src/paths.h	Thu Jun  9 18:28:57 2005
--- emacs-18.59-hpcmips/src/paths.h	Tue Jun  7 22:35:42 2005
***************
*** 1,6 ****
  /* The default search path for Lisp function "load".
     This sets load-path.  */
! #define PATH_LOADSEARCH "/usr/local/emacs/lisp:/usr/local/emacs/site-lisp"
  
  /* the extra search path for programs to invoke.
   This is appended to whatever the PATH environment variable says
--- 1,6 ----
  /* The default search path for Lisp function "load".
     This sets load-path.  */
! #define PATH_LOADSEARCH "/usr/local/emacs/lisp"
  
  /* the extra search path for programs to invoke.
   This is appended to whatever the PATH environment variable says
***************
*** 12,19 ****
   with which we record what files are being modified in Emacs.
   This directory should be writable by everyone.
   THE STRING MUST END WITH A SLASH!!!  */
! #define PATH_LOCK "/var/lock/emacs/"
  
  /* the name of the file !!!SuperLock!!! in the directory
   specified by PATH_LOCK.  Yes, this is redundant.  */
! #define PATH_SUPERLOCK "/vat/lock/emacs/!!!SuperLock!!!"
--- 12,19 ----
   with which we record what files are being modified in Emacs.
   This directory should be writable by everyone.
   THE STRING MUST END WITH A SLASH!!!  */
! #define PATH_LOCK "/usr/local/emacs/lock/"
  
  /* the name of the file !!!SuperLock!!! in the directory
   specified by PATH_LOCK.  Yes, this is redundant.  */
! #define PATH_SUPERLOCK "/usr/local/emacs/lock/!!!SuperLock!!!"
diff -crN emacs-18.59/src/process.c emacs-18.59-hpcmips/src/process.c
*** emacs-18.59/src/process.c	Thu Jun  9 18:28:59 2005
--- emacs-18.59-hpcmips/src/process.c	Tue Jun  7 20:53:26 2005
***************
*** 55,61 ****
  
  #if defined(BSD) || defined(STRIDE)
  #include <sys/ioctl.h>
! #if !defined (O_NDELAY) && defined (HAVE_PTYS)
  #include <fcntl.h>
  #endif /* HAVE_PTYS and no O_NDELAY */
  #endif /* BSD or STRIDE */
--- 55,61 ----
  
  #if defined(BSD) || defined(STRIDE)
  #include <sys/ioctl.h>
! #if (!defined (O_NDELAY) && defined (HAVE_PTYS)) || defined(__NetBSD__)
  #include <fcntl.h>
  #endif /* HAVE_PTYS and no O_NDELAY */
  #endif /* BSD or STRIDE */
***************
*** 202,211 ****
--- 202,215 ----
  
  extern errno;
  extern sys_nerr;
+ #if !defined(__NetBSD__)
  extern char *sys_errlist[];
+ #endif
  
  #ifndef BSD4_1
+ #if !defined(__NetBSD__)
  extern char *sys_siglist[];
+ #endif
  #else
  char *sys_siglist[] =
    {
diff -crN emacs-18.59/src/s-hpcmips.h emacs-18.59-hpcmips/src/s-hpcmips.h
*** emacs-18.59/src/s-hpcmips.h	Thu Jan  1 09:00:00 1970
--- emacs-18.59-hpcmips/src/s-hpcmips.h	Tue Jun  7 20:04:00 2005
***************
*** 0 ****
--- 1,49 ----
+ /* Definitions file for GNU emacs running on 386BSD.  */
+ 
+ #include "s-bsd4-3.h"
+ 
+ /*
+  *     Define symbols to identify the version of Unix this is.
+  *     BSD and BSD4_3 are defined in s-bsd4-3.h.  There are some
+  *     differences between 386BSD and BSD 4.3 so we need an extra
+  *     symbol to identify it (the J stands for Jolitz).
+  */
+ 
+ #ifndef J386BSD
+ #define J386BSD
+ #endif /* J386BSD */
+ 
+ /* Under 386BSD the file containing the kernel's symbol 
+    table is named /386bsd.  */
+ 
+ #undef KERNEL_FILE
+ #define KERNEL_FILE "/netbsd"
+ 
+ /* The symbol in the kernel where the load average is found
+    is named _averunnable.  */
+ 
+ #undef LDAV_SYMBOL
+ #define LDAV_SYMBOL "_averunnable"
+ 
+ /* This macro determines the number of bytes waiting to be written
+    in a FILE buffer.  */
+ 
+ #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
+ 
+ /* 386BSD uses GNU C.  */
+ 
+ /* #define C_COMPILER gcc -traditional */
+ #define C_COMPILER gcc
+ 
+ /* 386BSD stores the termcap database in /usr/share/misc rather than
+    /etc. We use the system termcap library to avoid putting a #ifdef
+    in termcap.c or forcing the user to use the TERMCAP environment
+    variable.  */
+ 
+ #define LIBS_TERMCAP -ltermcap
+ 
+ /* 386BSD is nominally a POSIX.1 OS and has setsid.  */
+ 
+ #ifndef HAVE_SETSID
+ #define HAVE_SETSID
+ #endif /* HAVE_SETSID */
diff -crN emacs-18.59/src/sysdep.c emacs-18.59-hpcmips/src/sysdep.c
*** emacs-18.59/src/sysdep.c	Thu Jun  9 18:29:05 2005
--- emacs-18.59-hpcmips/src/sysdep.c	Mon Jun  6 22:06:26 2005
***************
*** 62,68 ****
--- 62,70 ----
  
  extern int errno;
  #ifndef VMS
+ #if !defined(__NetBSD__)
  extern char *sys_errlist[];
+ #endif
  #endif
  
  #ifdef VMS
diff -crN emacs-18.59/src/termcap.c emacs-18.59-hpcmips/src/termcap.c
*** emacs-18.59/src/termcap.c	Wed Jan  9 03:08:50 1991
--- emacs-18.59-hpcmips/src/termcap.c	Thu Jun  9 01:27:00 2005
***************
*** 377,383 ****
--- 377,387 ----
  #ifdef VMS
      tem = "emacs_library:[etc]termcap.dat";
  #else
+ #if defined(__NetBSD__)
+     tem = "/usr/share/misc/termcap";
+ #else
      tem = "/etc/termcap";
+ #endif
  #endif
  
    /* Here we know we must search a file and tem has its name.  */
