aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDan Nicolaescu2008-01-13 00:43:55 +0000
committerDan Nicolaescu2008-01-13 00:43:55 +0000
commite39a993cce3b5d82cb997e34200a5395c315e3a6 (patch)
treebef5f75e893c2c4e958764fb9f7b359c27aa3847 /src
parent8d8ccf3636b6ae7f296ac4613b2dc87c7b159599 (diff)
downloademacs-e39a993cce3b5d82cb997e34200a5395c315e3a6.tar.gz
emacs-e39a993cce3b5d82cb997e34200a5395c315e3a6.zip
* movemail.c:
* make-docfile.c: Remove reference to symbols defined by systems not supported anymore: MAC_OS8, XENIX and STRIDE. * (src/m/mips.h): * (src/m/intel386.h): * callproc.c: * config.in: * ecrt0.c: * emacs.c: * fileio.c: * frame.c: * getpagesize.h: * keyboard.c: * lread.c: * process.c: * puresize.h: * sysdep.c: * systty.h: * syswait.h: * unexec.c: * xdisp.c: * alloc.c: Remove code containing references to symbols defined by unsupported systems.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog25
-rw-r--r--src/alloc.c6
-rw-r--r--src/callproc.c87
-rw-r--r--src/config.in7
-rw-r--r--src/ecrt0.c266
-rw-r--r--src/emacs.c39
-rw-r--r--src/fileio.c40
-rw-r--r--src/frame.c14
-rw-r--r--src/getpagesize.h4
-rw-r--r--src/keyboard.c17
-rw-r--r--src/lread.c3
-rw-r--r--src/m/intel386.h11
-rw-r--r--src/m/mips.h8
-rw-r--r--src/process.c41
-rw-r--r--src/puresize.h2
-rw-r--r--src/sysdep.c127
-rw-r--r--src/systty.h27
-rw-r--r--src/syswait.h4
-rw-r--r--src/unexec.c88
-rw-r--r--src/xdisp.c3
20 files changed, 61 insertions, 758 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index d56550fb1a3..0ad3ba97e0f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,28 @@
12008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * (unexsunos4): Remove file, system not supported anymore.
4
5 * (src/m/mips.h):
6 * (src/m/intel386.h):
7 * callproc.c:
8 * config.in:
9 * ecrt0.c:
10 * emacs.c:
11 * fileio.c:
12 * frame.c:
13 * getpagesize.h:
14 * keyboard.c:
15 * lread.c:
16 * process.c:
17 * puresize.h:
18 * sysdep.c:
19 * systty.h:
20 * syswait.h:
21 * unexec.c:
22 * xdisp.c:
23 * alloc.c: Remove code containing references to symbols defined by
24 unsupported systems.
25
12008-01-11 Kenichi Handa <handa@ni.aist.go.jp> 262008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
2 27
3 * coding.c (detect_coding_mask): Fix previous change. 28 * coding.c (detect_coding_mask): Fix previous change.
diff --git a/src/alloc.c b/src/alloc.c
index 6ded38c17da..86a48e4dd18 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -1928,11 +1928,7 @@ allocate_string ()
1928 consing_since_gc += sizeof *s; 1928 consing_since_gc += sizeof *s;
1929 1929
1930#ifdef GC_CHECK_STRING_BYTES 1930#ifdef GC_CHECK_STRING_BYTES
1931 if (!noninteractive 1931 if (!noninteractive)
1932#ifdef MAC_OS8
1933 && current_sblock
1934#endif
1935 )
1936 { 1932 {
1937 if (++check_string_bytes_count == 200) 1933 if (++check_string_bytes_count == 200)
1938 { 1934 {
diff --git a/src/callproc.c b/src/callproc.c
index ef5fcc8f400..2078c4411fd 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -160,14 +160,14 @@ Lisp_Object
160call_process_cleanup (fdpid) 160call_process_cleanup (fdpid)
161 Lisp_Object fdpid; 161 Lisp_Object fdpid;
162{ 162{
163#if defined (MSDOS) || defined (MAC_OS8) 163#if defined (MSDOS)
164 /* for MSDOS fdpid is really (fd . tempfile) */ 164 /* for MSDOS fdpid is really (fd . tempfile) */
165 register Lisp_Object file; 165 register Lisp_Object file;
166 file = Fcdr (fdpid); 166 file = Fcdr (fdpid);
167 emacs_close (XFASTINT (Fcar (fdpid))); 167 emacs_close (XFASTINT (Fcar (fdpid)));
168 if (strcmp (SDATA (file), NULL_DEVICE) != 0) 168 if (strcmp (SDATA (file), NULL_DEVICE) != 0)
169 unlink (SDATA (file)); 169 unlink (SDATA (file));
170#else /* not MSDOS and not MAC_OS8 */ 170#else /* not MSDOS */
171 register int pid = XFASTINT (Fcdr (fdpid)); 171 register int pid = XFASTINT (Fcdr (fdpid));
172 172
173 if (call_process_exited) 173 if (call_process_exited)
@@ -244,10 +244,6 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */)
244 char *outf, *tempfile; 244 char *outf, *tempfile;
245 int outfilefd; 245 int outfilefd;
246#endif 246#endif
247#ifdef MAC_OS8
248 char *tempfile;
249 int outfilefd;
250#endif
251#if 0 247#if 0
252 int mask; 248 int mask;
253#endif 249#endif
@@ -470,39 +466,11 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */)
470 fd[1] = outfilefd; 466 fd[1] = outfilefd;
471#endif /* MSDOS */ 467#endif /* MSDOS */
472 468
473#ifdef MAC_OS8
474 /* Since we don't have pipes on the Mac, create a temporary file to
475 hold the output of the subprocess. */
476 tempfile = (char *) alloca (SBYTES (Vtemp_file_name_pattern) + 1);
477 bcopy (SDATA (Vtemp_file_name_pattern), tempfile,
478 SBYTES (Vtemp_file_name_pattern) + 1);
479
480 mktemp (tempfile);
481
482 outfilefd = creat (tempfile, S_IREAD | S_IWRITE);
483 if (outfilefd < 0)
484 {
485 close (filefd);
486 report_file_error ("Opening process output file",
487 Fcons (build_string (tempfile), Qnil));
488 }
489 fd[0] = filefd;
490 fd[1] = outfilefd;
491#endif /* MAC_OS8 */
492
493 if (INTEGERP (buffer)) 469 if (INTEGERP (buffer))
494 fd[1] = emacs_open (NULL_DEVICE, O_WRONLY, 0), fd[0] = -1; 470 fd[1] = emacs_open (NULL_DEVICE, O_WRONLY, 0), fd[0] = -1;
495 else 471 else
496 { 472 {
497#ifndef MSDOS 473#ifndef MSDOS
498#ifndef MAC_OS8
499 errno = 0;
500 if (pipe (fd) == -1)
501 {
502 emacs_close (filefd);
503 report_file_error ("Creating process pipe", Qnil);
504 }
505#endif
506#endif 474#endif
507#if 0 475#if 0
508 /* Replaced by close_process_descs */ 476 /* Replaced by close_process_descs */
@@ -561,52 +529,6 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */)
561 report_file_error ("Cannot redirect stderr", Fcons (error_file, Qnil)); 529 report_file_error ("Cannot redirect stderr", Fcons (error_file, Qnil));
562 } 530 }
563 531
564#ifdef MAC_OS8
565 {
566 /* Call run_mac_command in sysdep.c here directly instead of doing
567 a child_setup as for MSDOS and other platforms. Note that this
568 code does not handle passing the environment to the synchronous
569 Mac subprocess. */
570 char *infn, *outfn, *errfn, *currdn;
571
572 /* close these files so subprocess can write to them */
573 close (outfilefd);
574 if (fd_error != outfilefd)
575 close (fd_error);
576 fd1 = -1; /* No harm in closing that one! */
577
578 infn = SDATA (infile);
579 outfn = tempfile;
580 if (NILP (error_file))
581 errfn = NULL_DEVICE;
582 else if (EQ (Qt, error_file))
583 errfn = outfn;
584 else
585 errfn = SDATA (error_file);
586 currdn = SDATA (current_dir);
587 pid = run_mac_command (new_argv, currdn, infn, outfn, errfn);
588
589 /* Record that the synchronous process exited and note its
590 termination status. */
591 synch_process_alive = 0;
592 synch_process_retcode = pid;
593 if (synch_process_retcode < 0) /* means it couldn't be exec'ed */
594 {
595 synchronize_system_messages_locale ();
596 synch_process_death = strerror (errno);
597 }
598
599 /* Since CRLF is converted to LF within `decode_coding', we can
600 always open a file with binary mode. */
601 fd[0] = open (tempfile, O_BINARY);
602 if (fd[0] < 0)
603 {
604 unlink (tempfile);
605 close (filefd);
606 report_file_error ("Cannot re-open temporary file", Qnil);
607 }
608 }
609#else /* not MAC_OS8 */
610#ifdef MSDOS /* MW, July 1993 */ 532#ifdef MSDOS /* MW, July 1993 */
611 /* Note that on MSDOS `child_setup' actually returns the child process 533 /* Note that on MSDOS `child_setup' actually returns the child process
612 exit status, not its PID, so we assign it to `synch_process_retcode' 534 exit status, not its PID, so we assign it to `synch_process_retcode'
@@ -669,7 +591,6 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */)
669 if (fd_error >= 0) 591 if (fd_error >= 0)
670 emacs_close (fd_error); 592 emacs_close (fd_error);
671#endif /* not MSDOS */ 593#endif /* not MSDOS */
672#endif /* not MAC_OS8 */
673 594
674 environ = save_environ; 595 environ = save_environ;
675 596
@@ -703,14 +624,14 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */)
703 /* Enable sending signal if user quits below. */ 624 /* Enable sending signal if user quits below. */
704 call_process_exited = 0; 625 call_process_exited = 0;
705 626
706#if defined(MSDOS) || defined(MAC_OS8) 627#if defined(MSDOS)
707 /* MSDOS needs different cleanup information. */ 628 /* MSDOS needs different cleanup information. */
708 record_unwind_protect (call_process_cleanup, 629 record_unwind_protect (call_process_cleanup,
709 Fcons (make_number (fd[0]), build_string (tempfile))); 630 Fcons (make_number (fd[0]), build_string (tempfile)));
710#else 631#else
711 record_unwind_protect (call_process_cleanup, 632 record_unwind_protect (call_process_cleanup,
712 Fcons (make_number (fd[0]), make_number (pid))); 633 Fcons (make_number (fd[0]), make_number (pid)));
713#endif /* not MSDOS and not MAC_OS8 */ 634#endif /* not MSDOS */
714 635
715 636
716 if (BUFFERP (buffer)) 637 if (BUFFERP (buffer))
diff --git a/src/config.in b/src/config.in
index 27f89c29b90..75a2058c41a 100644
--- a/src/config.in
+++ b/src/config.in
@@ -837,13 +837,6 @@ Boston, MA 02110-1301, USA. */
837/* Define to 1 if your <sys/time.h> declares `struct tm'. */ 837/* Define to 1 if your <sys/time.h> declares `struct tm'. */
838#undef TM_IN_SYS_TIME 838#undef TM_IN_SYS_TIME
839 839
840/* Define to 1 for Encore UMAX. */
841#undef UMAX
842
843/* Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> instead of
844 <sys/cpustats.h>. */
845#undef UMAX4_3
846
847/* Define to the unexec source file name. */ 840/* Define to the unexec source file name. */
848#undef UNEXEC_SRC 841#undef UNEXEC_SRC
849 842
diff --git a/src/ecrt0.c b/src/ecrt0.c
index 36f6caeceb9..41bd1c8b323 100644
--- a/src/ecrt0.c
+++ b/src/ecrt0.c
@@ -84,146 +84,6 @@ char **environ;
84static start1 (); 84static start1 ();
85#endif 85#endif
86 86
87#ifdef APOLLO
88extern char *malloc(), *realloc(), *(*_libc_malloc) (), *(*_libc_realloc)();
89extern void free(), (*_libc_free) (); extern int main();
90std_$call void unix_$main();
91
92_start()
93{
94 _libc_malloc = malloc;
95 _libc_realloc = realloc;
96 _libc_free = free;
97 unix_$main(main); /* no return */
98}
99#endif /* APOLLO */
100
101#if defined(orion) || defined(pyramid) || defined(celerity) || defined(ALLIANT) || defined(clipper) || defined(sps7)
102
103#if defined(sps7) && defined(V3x)
104 asm(" section 10");
105 asm(" ds.b 0xb0");
106#endif
107
108#ifdef ALLIANT
109/* _start must initialize _curbrk and _minbrk on the first startup;
110 when starting up after dumping, it must initialize them to what they were
111 before the dumping, since they are in the shared library and
112 are not dumped. See ADJUST_EXEC_HEADER in m-alliant.h. */
113extern unsigned char *_curbrk, *_minbrk;
114extern unsigned char end;
115unsigned char *_setbrk = &end;
116#ifdef ALLIANT_2800
117unsigned char *_end = &end;
118#endif
119#endif
120
121#ifndef DUMMIES
122#define DUMMIES
123#endif
124
125_start (DUMMIES argc, argv, envp)
126 int argc;
127 char **argv, **envp;
128{
129#ifdef ALLIANT
130#ifdef ALLIANT_2800
131 _curbrk = _end;
132 _minbrk = _end;
133#else
134 _curbrk = _setbrk;
135 _minbrk = _setbrk;
136#endif
137#endif
138
139 environ = envp;
140
141 exit (main (argc, argv, envp));
142}
143
144#endif /* orion or pyramid or celerity or alliant or clipper */
145
146#if defined (ns16000) && !defined (sequent) && !defined (UMAX) && !defined (CRT0_DUMMIES)
147
148_start ()
149{
150/* On 16000, _start pushes fp onto stack */
151 start1 ();
152}
153
154/* ignore takes care of skipping the fp value pushed in start. */
155static
156start1 (ignore, argc, argv)
157 int ignore;
158 int argc;
159 register char **argv;
160{
161 environ = argv + argc + 1;
162
163 if (environ == *argv)
164 environ--;
165 exit (main (argc, argv, environ));
166}
167#endif /* ns16000, not sequent and not UMAX, and not the CRT0_DUMMIES method */
168
169#ifdef UMAX
170_start()
171{
172 asm(" exit [] # undo enter");
173 asm(" .set exitsc,1");
174 asm(" .set sigcatchall,0x400");
175
176 asm(" .globl _exit");
177 asm(" .globl start");
178 asm(" .globl __start");
179 asm(" .globl _main");
180 asm(" .globl _environ");
181 asm(" .globl _sigvec");
182 asm(" .globl sigentry");
183
184 asm("start:");
185 asm(" br .xstart");
186 asm(" .org 0x20");
187 asm(" .double p_glbl,0,0xf00000,0");
188 asm(" .org 0x30");
189 asm(".xstart:");
190 asm(" adjspb $8");
191 asm(" movd 8(sp),0(sp) # argc");
192 asm(" addr 12(sp),r0");
193 asm(" movd r0,4(sp) # argv");
194 asm("L1:");
195 asm(" movd r0,r1");
196 asm(" addqd $4,r0");
197 asm(" cmpqd $0,0(r1) # null args term ?");
198 asm(" bne L1");
199 asm(" cmpd r0,0(4(sp)) # end of 'env' or 'argv' ?");
200 asm(" blt L2");
201 asm(" addqd $-4,r0 # envp's are in list");
202 asm("L2:");
203 asm(" movd r0,8(sp) # env");
204 asm(" movd r0,@_environ # indir is 0 if no env ; not 0 if env");
205 asm(" movqd $0,tos # setup intermediate signal handler");
206 asm(" addr @sv,tos");
207 asm(" movzwd $sigcatchall,tos");
208 asm(" jsr @_sigvec");
209 asm(" adjspb $-12");
210 asm(" jsr @_main");
211 asm(" adjspb $-12");
212 asm(" movd r0,tos");
213 asm(" jsr @_exit");
214 asm(" adjspb $-4");
215 asm(" addr @exitsc,r0");
216 asm(" svc");
217 asm(" .align 4 # sigvec arg");
218 asm("sv:");
219 asm(" .double sigentry");
220 asm(" .double 0");
221 asm(" .double 0");
222
223 asm(" .comm p_glbl,1");
224}
225#endif /* UMAX */
226
227#ifdef CRT0_DUMMIES 87#ifdef CRT0_DUMMIES
228 88
229/* Define symbol "start": here; some systems want that symbol. */ 89/* Define symbol "start": here; some systems want that symbol. */
@@ -295,21 +155,10 @@ start1 (CRT0_DUMMIES argc, xargv)
295 asm (" global _start"); 155 asm (" global _start");
296 asm (" text"); 156 asm (" text");
297 asm ("_start:"); 157 asm ("_start:");
298#ifndef NU
299#ifdef STRIDE
300 asm (" comm havefpu%,2");
301#else /* m68k, not STRIDE */
302 asm (" comm splimit%,4"); 158 asm (" comm splimit%,4");
303#endif /* STRIDE */
304 asm (" global exit"); 159 asm (" global exit");
305 asm (" text"); 160 asm (" text");
306#ifdef STRIDE
307 asm (" trap &3");
308 asm (" mov.w %d0,havefpu%");
309#else /* m68k, not STRIDE */
310 asm (" mov.l %d0,splimit%"); 161 asm (" mov.l %d0,splimit%");
311#endif /* STRIDE */
312#endif /* not NU */
313 asm (" jsr start1"); 162 asm (" jsr start1");
314 asm (" mov.l %d0,(%sp)"); 163 asm (" mov.l %d0,(%sp)");
315 asm (" jsr exit"); 164 asm (" jsr exit");
@@ -319,32 +168,6 @@ start1 (CRT0_DUMMIES argc, xargv)
319 168
320#ifdef m68000 169#ifdef m68000
321 170
322#ifdef ISI68K
323/* Added by ESM Sun May 24 12:44:02 1987 to get new ISI library to work */
324/* Edited by Ray Mon May 15 15:59:56 EST 1989 so we can compile with gcc */
325#if defined(BSD4_3) && !defined(__GNUC__)
326static foo () {
327#endif
328 asm (" .globl is68020");
329 asm ("is68020:");
330#ifndef BSD4_3
331 asm (" .long 0x00000000");
332 asm (" .long 0xffffffff");
333/* End of stuff added by ESM */
334#endif
335 asm (" .text");
336 asm (" .globl __start");
337 asm ("__start:");
338 asm (" .word 0");
339 asm (" link a6,#0");
340 asm (" jbsr _start1");
341 asm (" unlk a6");
342 asm (" rts");
343#if defined(BSD4_3) && !defined(__GNUC__)
344 }
345#endif
346#else /* not ISI68K */
347
348_start () 171_start ()
349{ 172{
350#ifdef sun 173#ifdef sun
@@ -353,7 +176,6 @@ _start ()
353/* On 68000, _start pushes a6 onto stack */ 176/* On 68000, _start pushes a6 onto stack */
354 start1 (); 177 start1 ();
355} 178}
356#endif /* not ISI68k */
357#endif /* m68000 */ 179#endif /* m68000 */
358#endif /* m68k */ 180#endif /* m68k */
359 181
@@ -373,15 +195,6 @@ start1 (ignore, argc, xargv)
373 195
374 if ((char *)environ == xargv) 196 if ((char *)environ == xargv)
375 environ--; 197 environ--;
376#ifdef sun_68881
377 asm(" jsr f68881_used");
378#endif
379#ifdef sun_fpa
380 asm(" jsr ffpa_used");
381#endif
382#ifdef sun_soft
383 asm(" jsr start_float");
384#endif
385 exit (main (argc, argv, environ)); 198 exit (main (argc, argv, environ));
386} 199}
387 200
@@ -503,85 +316,6 @@ char **argv_value;
503#endif /* new hp assembler */ 316#endif /* new hp assembler */
504#endif /* hp9000s300 */ 317#endif /* hp9000s300 */
505 318
506#ifdef GOULD
507
508/* startup code has to be in near text rather
509 than fartext as allocated by the C compiler. */
510 asm(" .text");
511 asm(" .align 2");
512 asm(" .globl __start");
513 asm(" .text");
514 asm("__start:");
515/* setup base register b1 (function base). */
516 asm(" .using b1,.");
517 asm(" tpcbr b1");
518/* setup base registers b3 through b7 (data references). */
519 asm(" file basevals,b3");
520/* setup base register b2 (stack pointer); it should be
521 aligned on a 8-word boundary; but because it is pointing
522 to argc, its value should be remembered (in r5). */
523 asm(" movw b2,r4");
524 asm(" movw b2,r5");
525 asm(" andw #~0x1f,r4");
526 asm(" movw r4,b2");
527/* allocate stack frame to do some work. */
528 asm(" subea 16w,b2");
529/* initialize signal catching for UTX/32 1.2; this is
530 necessary to make restart from saved image work. */
531 asm(" movea sigcatch,r1");
532 asm(" movw r1,8w[b2]");
533 asm(" svc #1,#150");
534/* setup address of argc for start1. */
535 asm(" movw r5,8w[b2]");
536 asm(" func #1,_start1");
537 asm(" halt");
538/* space for ld to store base register initial values. */
539 asm(" .align 5");
540 asm("basevals:");
541 asm(" .word __base3,__base4,__base5,__base6,__base7");
542
543static
544start1 (xargc)
545 int *xargc;
546{
547 register int argc;
548 register char **argv;
549
550 argc = *xargc;
551 argv = (char **)(xargc) + 1;
552 environ = argv + argc + 1;
553
554 if (environ == argv)
555 environ--;
556 exit (main (argc, argv, environ));
557
558}
559
560#endif /* GOULD */
561
562#ifdef elxsi
563#include <elxsi/argvcache.h>
564
565extern char **environ;
566extern int errno;
567extern void _init_doscan(), _init_iob();
568extern char end[];
569char *_init_brk = end;
570
571_start()
572{
573 environ = exec_cache.ac_envp;
574 brk (_init_brk);
575 errno = 0;
576 _init_doscan ();
577 _init_iob ();
578 _exit (exit (main (exec_cache.ac_argc,
579 exec_cache.ac_argv,
580 exec_cache.ac_envp)));
581}
582#endif /* elxsi */
583
584
585#ifdef sparc 319#ifdef sparc
586asm (".global __start"); 320asm (".global __start");
587asm (".text"); 321asm (".text");
diff --git a/src/emacs.c b/src/emacs.c
index d990e1a6158..9a520951610 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -1307,29 +1307,6 @@ main (argc, argv
1307 CANNOT_DUMP is defined. */ 1307 CANNOT_DUMP is defined. */
1308 syms_of_keyboard (); 1308 syms_of_keyboard ();
1309 1309
1310#ifdef MAC_OS8
1311 /* init_window_once calls make_terminal_frame which on Mac OS
1312 creates a full-fledge output_mac type frame. This does not
1313 work correctly before syms_of_textprop, syms_of_macfns,
1314 syms_of_ccl, syms_of_fontset, syms_of_xterm, syms_of_search,
1315 syms_of_frame, mac_term_init, and init_keyboard have already
1316 been called. */
1317 syms_of_textprop ();
1318 syms_of_macfns ();
1319 syms_of_ccl ();
1320 syms_of_fontset ();
1321 syms_of_macterm ();
1322 syms_of_macmenu ();
1323 syms_of_macselect ();
1324 syms_of_data ();
1325 syms_of_search ();
1326 syms_of_frame ();
1327
1328 init_atimer ();
1329 mac_term_init (build_string ("Mac"), NULL, NULL);
1330 init_keyboard ();
1331#endif
1332
1333 init_window_once (); /* Init the window system. */ 1310 init_window_once (); /* Init the window system. */
1334 init_fileio_once (); /* Must precede any path manipulation. */ 1311 init_fileio_once (); /* Must precede any path manipulation. */
1335#ifdef HAVE_WINDOW_SYSTEM 1312#ifdef HAVE_WINDOW_SYSTEM
@@ -1351,9 +1328,7 @@ main (argc, argv
1351#ifdef CLASH_DETECTION 1328#ifdef CLASH_DETECTION
1352 init_filelock (); 1329 init_filelock ();
1353#endif 1330#endif
1354#ifndef MAC_OS8
1355 init_atimer (); 1331 init_atimer ();
1356#endif
1357 running_asynch_code = 0; 1332 running_asynch_code = 0;
1358 1333
1359 /* Handle --unibyte and the EMACS_UNIBYTE envvar, 1334 /* Handle --unibyte and the EMACS_UNIBYTE envvar,
@@ -1533,10 +1508,8 @@ main (argc, argv
1533 /* The basic levels of Lisp must come first. */ 1508 /* The basic levels of Lisp must come first. */
1534 /* And data must come first of all 1509 /* And data must come first of all
1535 for the sake of symbols like error-message. */ 1510 for the sake of symbols like error-message. */
1536#ifndef MAC_OS8
1537 /* Called before init_window_once for Mac OS Classic. */ 1511 /* Called before init_window_once for Mac OS Classic. */
1538 syms_of_data (); 1512 syms_of_data ();
1539#endif
1540 syms_of_alloc (); 1513 syms_of_alloc ();
1541 syms_of_lread (); 1514 syms_of_lread ();
1542 syms_of_print (); 1515 syms_of_print ();
@@ -1551,10 +1524,7 @@ main (argc, argv
1551 syms_of_casetab (); 1524 syms_of_casetab ();
1552 syms_of_callproc (); 1525 syms_of_callproc ();
1553 syms_of_category (); 1526 syms_of_category ();
1554#ifndef MAC_OS8
1555 /* Called before init_window_once for Mac OS Classic. */
1556 syms_of_ccl (); 1527 syms_of_ccl ();
1557#endif
1558 syms_of_charset (); 1528 syms_of_charset ();
1559 syms_of_cmds (); 1529 syms_of_cmds ();
1560#ifndef NO_DIR_LIBRARY 1530#ifndef NO_DIR_LIBRARY
@@ -1576,11 +1546,8 @@ main (argc, argv
1576 syms_of_marker (); 1546 syms_of_marker ();
1577 syms_of_minibuf (); 1547 syms_of_minibuf ();
1578 syms_of_process (); 1548 syms_of_process ();
1579#ifndef MAC_OS8
1580 /* Called before init_window_once for Mac OS Classic. */
1581 syms_of_search (); 1549 syms_of_search ();
1582 syms_of_frame (); 1550 syms_of_frame ();
1583#endif
1584 syms_of_syntax (); 1551 syms_of_syntax ();
1585 syms_of_terminal (); 1552 syms_of_terminal ();
1586 syms_of_term (); 1553 syms_of_term ();
@@ -1588,10 +1555,7 @@ main (argc, argv
1588#ifdef HAVE_SOUND 1555#ifdef HAVE_SOUND
1589 syms_of_sound (); 1556 syms_of_sound ();
1590#endif 1557#endif
1591#ifndef MAC_OS8
1592 /* Called before init_window_once for Mac OS Classic. */
1593 syms_of_textprop (); 1558 syms_of_textprop ();
1594#endif
1595 syms_of_composite (); 1559 syms_of_composite ();
1596#ifdef VMS 1560#ifdef VMS
1597 syms_of_vmsproc (); 1561 syms_of_vmsproc ();
@@ -1673,10 +1637,7 @@ main (argc, argv
1673 1637
1674 init_editfns (); /* init_process uses Voperating_system_release. */ 1638 init_editfns (); /* init_process uses Voperating_system_release. */
1675 init_process (); /* init_display uses add_keyboard_wait_descriptor. */ 1639 init_process (); /* init_display uses add_keyboard_wait_descriptor. */
1676#ifndef MAC_OS8
1677 /* Called before init_window_once for Mac OS Classic. */
1678 init_keyboard (); /* This too must precede init_sys_modes. */ 1640 init_keyboard (); /* This too must precede init_sys_modes. */
1679#endif
1680#ifdef VMS 1641#ifdef VMS
1681 init_vmsproc (); /* And this too. */ 1642 init_vmsproc (); /* And this too. */
1682#endif /* VMS */ 1643#endif /* VMS */
diff --git a/src/fileio.c b/src/fileio.c
index d921916a4de..2789ab3fbd5 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -68,10 +68,6 @@ extern int errno;
68#endif 68#endif
69#endif 69#endif
70 70
71#ifdef APOLLO
72#include <sys/time.h>
73#endif
74
75#include "lisp.h" 71#include "lisp.h"
76#include "intervals.h" 72#include "intervals.h"
77#include "buffer.h" 73#include "buffer.h"
@@ -810,12 +806,6 @@ directory_file_name (src, dst)
810 /* Process as Unix format: just remove any final slash. 806 /* Process as Unix format: just remove any final slash.
811 But leave "/" unchanged; do not change it to "". */ 807 But leave "/" unchanged; do not change it to "". */
812 strcpy (dst, src); 808 strcpy (dst, src);
813#ifdef APOLLO
814 /* Handle // as root for apollo's. */
815 if ((slen > 2 && dst[slen - 1] == '/')
816 || (slen > 1 && dst[0] != '/' && dst[slen - 1] == '/'))
817 dst[slen - 1] = 0;
818#else
819 if (slen > 1 809 if (slen > 1
820 && IS_DIRECTORY_SEP (dst[slen - 1]) 810 && IS_DIRECTORY_SEP (dst[slen - 1])
821#ifdef DOS_NT 811#ifdef DOS_NT
@@ -823,7 +813,6 @@ directory_file_name (src, dst)
823#endif 813#endif
824 ) 814 )
825 dst[slen - 1] = 0; 815 dst[slen - 1] = 0;
826#endif
827#ifdef DOS_NT 816#ifdef DOS_NT
828 CORRECT_DIR_SEPS (dst); 817 CORRECT_DIR_SEPS (dst);
829#endif 818#endif
@@ -1788,10 +1777,6 @@ See also the function `substitute-in-file-name'.")
1788 while (*p) 1777 while (*p)
1789 { 1778 {
1790 if (p[0] == '/' && p[1] == '/' 1779 if (p[0] == '/' && p[1] == '/'
1791#ifdef APOLLO
1792 /* // at start of filename is meaningful on Apollo system. */
1793 && nm != p
1794#endif /* APOLLO */
1795 ) 1780 )
1796 nm = p + 1; 1781 nm = p + 1;
1797 if (p[0] == '/' && p[1] == '~') 1782 if (p[0] == '/' && p[1] == '~')
@@ -2023,10 +2008,6 @@ See also the function `substitute-in-file-name'.")
2023 *o++ = *p++; 2008 *o++ = *p++;
2024 } 2009 }
2025 else if (!strncmp (p, "//", 2) 2010 else if (!strncmp (p, "//", 2)
2026#ifdef APOLLO
2027 /* // at start of filename is meaningful in Apollo system. */
2028 && o != target
2029#endif /* APOLLO */
2030 ) 2011 )
2031 { 2012 {
2032 o = target; 2013 o = target;
@@ -2042,11 +2023,6 @@ See also the function `substitute-in-file-name'.")
2042 { 2023 {
2043 while (o != target && *--o != '/') 2024 while (o != target && *--o != '/')
2044 ; 2025 ;
2045#ifdef APOLLO
2046 if (o == target + 1 && o[-1] == '/' && o[0] == '/')
2047 ++o;
2048 else
2049#endif /* APOLLO */
2050 if (o == target && *o == '/') 2026 if (o == target && *o == '/')
2051 ++o; 2027 ++o;
2052 p += 3; 2028 p += 3;
@@ -2097,11 +2073,11 @@ search_embedded_absfilename (nm, endp)
2097#endif /* VMS */ 2073#endif /* VMS */
2098 || IS_DIRECTORY_SEP (p[-1])) 2074 || IS_DIRECTORY_SEP (p[-1]))
2099 && file_name_absolute_p (p) 2075 && file_name_absolute_p (p)
2100#if defined (APOLLO) || defined (WINDOWSNT) || defined(CYGWIN) 2076#if defined (WINDOWSNT) || defined(CYGWIN)
2101 /* // at start of file name is meaningful in Apollo, 2077 /* // at start of file name is meaningful in Apollo,
2102 WindowsNT and Cygwin systems. */ 2078 WindowsNT and Cygwin systems. */
2103 && !(IS_DIRECTORY_SEP (p[0]) && p - 1 == nm) 2079 && !(IS_DIRECTORY_SEP (p[0]) && p - 1 == nm)
2104#endif /* not (APOLLO || WINDOWSNT || CYGWIN) */ 2080#endif /* not (WINDOWSNT || CYGWIN) */
2105 ) 2081 )
2106 { 2082 {
2107 for (s = p; *s && (!IS_DIRECTORY_SEP (*s) 2083 for (s = p; *s && (!IS_DIRECTORY_SEP (*s)
@@ -3782,12 +3758,7 @@ variable `last-coding-system-used' to the coding system actually used. */)
3782 } 3758 }
3783 if (total < 0) 3759 if (total < 0)
3784#else 3760#else
3785#ifndef APOLLO
3786 if (stat (SDATA (filename), &st) < 0) 3761 if (stat (SDATA (filename), &st) < 0)
3787#else
3788 if ((fd = emacs_open (SDATA (filename), O_RDONLY, 0)) < 0
3789 || fstat (fd, &st) < 0)
3790#endif /* not APOLLO */
3791#endif /* WINDOWSNT */ 3762#endif /* WINDOWSNT */
3792 { 3763 {
3793 if (fd >= 0) emacs_close (fd); 3764 if (fd >= 0) emacs_close (fd);
@@ -4665,9 +4636,6 @@ variable `last-coding-system-used' to the coding system actually used. */)
4665 { 4636 {
4666 if (!EQ (current_buffer->undo_list, Qt)) 4637 if (!EQ (current_buffer->undo_list, Qt))
4667 current_buffer->undo_list = Qnil; 4638 current_buffer->undo_list = Qnil;
4668#ifdef APOLLO
4669 stat (SDATA (filename), &st);
4670#endif
4671 4639
4672 if (NILP (handler)) 4640 if (NILP (handler))
4673 { 4641 {
@@ -5376,16 +5344,14 @@ This does code conversion according to the value of
5376 but who knows about all the other machines with NFS?) */ 5344 but who knows about all the other machines with NFS?) */
5377#if 0 5345#if 0
5378 5346
5379 /* On VMS and APOLLO, must do the stat after the close 5347 /* On VMS, must do the stat after the close
5380 since closing changes the modtime. */ 5348 since closing changes the modtime. */
5381#ifndef VMS 5349#ifndef VMS
5382#ifndef APOLLO
5383 /* Recall that #if defined does not work on VMS. */ 5350 /* Recall that #if defined does not work on VMS. */
5384#define FOO 5351#define FOO
5385 fstat (desc, &st); 5352 fstat (desc, &st);
5386#endif 5353#endif
5387#endif 5354#endif
5388#endif
5389 5355
5390 /* NFS can report a write failure now. */ 5356 /* NFS can report a write failure now. */
5391 if (emacs_close (desc) < 0) 5357 if (emacs_close (desc) < 0)
diff --git a/src/frame.c b/src/frame.c
index 9b921624bf7..77caef63442 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -593,9 +593,6 @@ make_terminal_frame (struct terminal *terminal)
593 else 593 else
594 f->output_method = output_termcap; 594 f->output_method = output_termcap;
595#else 595#else
596#ifdef MAC_OS8
597 make_mac_terminal_frame (f);
598#else
599 { 596 {
600 f->output_method = output_termcap; 597 f->output_method = output_termcap;
601 f->terminal = terminal; 598 f->terminal = terminal;
@@ -620,7 +617,6 @@ make_terminal_frame (struct terminal *terminal)
620 FRAME_FOREGROUND_PIXEL(f) = FACE_TTY_DEFAULT_FG_COLOR; 617 FRAME_FOREGROUND_PIXEL(f) = FACE_TTY_DEFAULT_FG_COLOR;
621 FRAME_BACKGROUND_PIXEL(f) = FACE_TTY_DEFAULT_BG_COLOR; 618 FRAME_BACKGROUND_PIXEL(f) = FACE_TTY_DEFAULT_BG_COLOR;
622#endif 619#endif
623#endif /* MAC_OS8 */
624#endif /* MSDOS */ 620#endif /* MSDOS */
625 621
626 if (!noninteractive) 622 if (!noninteractive)
@@ -687,7 +683,7 @@ affects all frames on the same terminal device. */)
687 abort (); 683 abort ();
688#else /* not MSDOS */ 684#else /* not MSDOS */
689 685
690#if 0 /* #ifdef MAC_OS8 */ 686#if 0
691 /* This can happen for multi-tty when using both terminal frames and 687 /* This can happen for multi-tty when using both terminal frames and
692 Carbon frames. */ 688 Carbon frames. */
693 if (sf->output_method != output_mac) 689 if (sf->output_method != output_mac)
@@ -1359,13 +1355,7 @@ The functions are run with one arg, the frame to be deleted. */)
1359 if (! FRAME_LIVE_P (f)) 1355 if (! FRAME_LIVE_P (f))
1360 return Qnil; 1356 return Qnil;
1361 1357
1362 if (NILP (force) && !other_visible_frames (f) 1358 if (NILP (force) && !other_visible_frames (f))
1363#ifdef MAC_OS8
1364 /* Terminal frame deleted before any other visible frames are
1365 created. */
1366 && strcmp (SDATA (f->name), "F1") != 0
1367#endif
1368 )
1369 error ("Attempt to delete the sole visible or iconified frame"); 1359 error ("Attempt to delete the sole visible or iconified frame");
1370 1360
1371#if 0 1361#if 0
diff --git a/src/getpagesize.h b/src/getpagesize.h
index 5c3180dc36e..ab54062f912 100644
--- a/src/getpagesize.h
+++ b/src/getpagesize.h
@@ -43,13 +43,9 @@ Boston, MA 02110-1301, USA. */
43# define CLSIZE 1 43# define CLSIZE 1
44# endif /* no CLSIZE */ 44# endif /* no CLSIZE */
45# else /* no NBPG */ 45# else /* no NBPG */
46# ifdef NBPC
47# define getpagesize() NBPC
48# else /* no NBPC */
49# ifdef PAGESIZE 46# ifdef PAGESIZE
50# define getpagesize() PAGESIZE 47# define getpagesize() PAGESIZE
51# endif /* PAGESIZE */ 48# endif /* PAGESIZE */
52# endif /* no NBPC */
53# endif /* no NBPG */ 49# endif /* no NBPG */
54# endif /* no EXEC_PAGESIZE */ 50# endif /* no EXEC_PAGESIZE */
55# else /* no HAVE_SYS_PARAM_H */ 51# else /* no HAVE_SYS_PARAM_H */
diff --git a/src/keyboard.c b/src/keyboard.c
index 0122e31396e..4d31c9e01b8 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -95,18 +95,7 @@ volatile int interrupt_input_blocked;
95 during the current critical section. */ 95 during the current critical section. */
96int interrupt_input_pending; 96int interrupt_input_pending;
97 97
98
99#ifdef HAVE_WINDOW_SYSTEM
100/* Make all keyboard buffers much bigger when using X windows. */
101#ifdef MAC_OS8
102/* But not too big (local data > 32K error) if on Mac OS Classic. */
103#define KBD_BUFFER_SIZE 512
104#else
105#define KBD_BUFFER_SIZE 4096
106#endif
107#else /* No X-windows, character input */
108#define KBD_BUFFER_SIZE 4096 98#define KBD_BUFFER_SIZE 4096
109#endif /* No X-windows */
110 99
111#ifdef MULTI_KBOARD 100#ifdef MULTI_KBOARD
112KBOARD *initial_kboard; 101KBOARD *initial_kboard;
@@ -7234,7 +7223,7 @@ tty_read_avail_input (struct terminal *terminal,
7234 if (n_to_read > sizeof cbuf) 7223 if (n_to_read > sizeof cbuf)
7235 n_to_read = sizeof cbuf; 7224 n_to_read = sizeof cbuf;
7236#else /* no FIONREAD */ 7225#else /* no FIONREAD */
7237#if defined (USG) || defined (DGUX) || defined(CYGWIN) 7226#if defined (USG) || defined(CYGWIN)
7238 /* Read some input if available, but don't wait. */ 7227 /* Read some input if available, but don't wait. */
7239 n_to_read = sizeof cbuf; 7228 n_to_read = sizeof cbuf;
7240 fcntl (fileno (tty->input), F_SETFL, O_NDELAY); 7229 fcntl (fileno (tty->input), F_SETFL, O_NDELAY);
@@ -7284,9 +7273,9 @@ tty_read_avail_input (struct terminal *terminal,
7284 ); 7273 );
7285 7274
7286#ifndef FIONREAD 7275#ifndef FIONREAD
7287#if defined (USG) || defined (DGUX) || defined (CYGWIN) 7276#if defined (USG) || defined (CYGWIN)
7288 fcntl (fileno (tty->input), F_SETFL, 0); 7277 fcntl (fileno (tty->input), F_SETFL, 0);
7289#endif /* USG or DGUX or CYGWIN */ 7278#endif /* USG or CYGWIN */
7290#endif /* no FIONREAD */ 7279#endif /* no FIONREAD */
7291 7280
7292 if (nread <= 0) 7281 if (nread <= 0)
diff --git a/src/lread.c b/src/lread.c
index a7fe30e9f89..271fd98a70c 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -1113,9 +1113,6 @@ complete_filename_p (pathname)
1113 return (IS_DIRECTORY_SEP (s[0]) 1113 return (IS_DIRECTORY_SEP (s[0])
1114 || (SCHARS (pathname) > 2 1114 || (SCHARS (pathname) > 2
1115 && IS_DEVICE_SEP (s[1]) && IS_DIRECTORY_SEP (s[2])) 1115 && IS_DEVICE_SEP (s[1]) && IS_DIRECTORY_SEP (s[2]))
1116#ifdef ALTOS
1117 || *s == '@'
1118#endif
1119#ifdef VMS 1116#ifdef VMS
1120 || index (s, ':') 1117 || index (s, ':')
1121#endif /* VMS */ 1118#endif /* VMS */
diff --git a/src/m/intel386.h b/src/m/intel386.h
index 6ea2bbc60c6..17969dd16e4 100644
--- a/src/m/intel386.h
+++ b/src/m/intel386.h
@@ -85,17 +85,6 @@ NOTE-END */
85 85
86#define DOT_GLOBAL_START 86#define DOT_GLOBAL_START
87 87
88#ifdef XENIX
89/* Data type of load average, as read out of kmem. */
90#define LOAD_AVE_TYPE short
91
92/* Convert that into an integer that is 100 for a load average of 1.0 */
93#define LOAD_AVE_CVT(x) (((double) (x)) * 100.0 / FSCALE)
94
95#define FSCALE 256.0 /* determined by experimentation... */
96#endif
97
98
99#ifdef SOLARIS2 88#ifdef SOLARIS2
100/* Data type of load average, as read out of kmem. */ 89/* Data type of load average, as read out of kmem. */
101#define LOAD_AVE_TYPE long 90#define LOAD_AVE_TYPE long
diff --git a/src/m/mips.h b/src/m/mips.h
index 866a2a13742..f1401425603 100644
--- a/src/m/mips.h
+++ b/src/m/mips.h
@@ -130,7 +130,7 @@ NOTE-END */
130 130
131/* Alter some of the options used when linking. */ 131/* Alter some of the options used when linking. */
132 132
133#if !defined(NEWSOS5) && !defined(__linux__) 133#if !defined(__linux__)
134#ifdef BSD_SYSTEM 134#ifdef BSD_SYSTEM
135 135
136/* DECstations don't have this library. 136/* DECstations don't have this library.
@@ -161,7 +161,7 @@ NOTE-END */
161#endif 161#endif
162 162
163#endif /* not BSD_SYSTEM */ 163#endif /* not BSD_SYSTEM */
164#endif /* not NEWSOS5 && not __linux__ */ 164#endif /* not __linux__ */
165 165
166/* The standard definitions of these macros would work ok, 166/* The standard definitions of these macros would work ok,
167 but these are faster because the constants are short. */ 167 but these are faster because the constants are short. */
@@ -173,7 +173,7 @@ NOTE-END */
173 ((int)(type) << VALBITS) \ 173 ((int)(type) << VALBITS) \
174 + (((unsigned) (ptr) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS))) 174 + (((unsigned) (ptr) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS)))
175 175
176#if !defined (NEWSOS5) && !defined (__linux__) 176#if !defined (__linux__)
177#ifdef USG 177#ifdef USG
178 178
179/* Cancel certain parts of standard sysV support. */ 179/* Cancel certain parts of standard sysV support. */
@@ -213,7 +213,7 @@ NOTE-END */
213#undef HAVE_UNION_WAIT 213#undef HAVE_UNION_WAIT
214#endif /* BSD_SYSTEM */ 214#endif /* BSD_SYSTEM */
215 215
216#endif /* not NEWSOS5 && not __linux__ */ 216#endif /* not __linux__ */
217 217
218/* arch-tag: 8fd020ee-78a7-4d87-96ce-6129f52f7bee 218/* arch-tag: 8fd020ee-78a7-4d87-96ce-6129f52f7bee
219 (do not change this comment) */ 219 (do not change this comment) */
diff --git a/src/process.c b/src/process.c
index a48e5435837..8e932be7b0c 100644
--- a/src/process.c
+++ b/src/process.c
@@ -78,7 +78,7 @@ Boston, MA 02110-1301, USA. */
78#include <client.h> 78#include <client.h>
79#endif 79#endif
80 80
81/* On some systems, e.g. DGUX, inet_addr returns a 'struct in_addr'. */ 81/* On some systems, inet_addr returns a 'struct in_addr'. */
82#ifdef HAVE_BROKEN_INET_ADDR 82#ifdef HAVE_BROKEN_INET_ADDR
83#define IN_ADDR struct in_addr 83#define IN_ADDR struct in_addr
84#define NUMERIC_ADDR_ERROR (numeric_addr.s_addr == -1) 84#define NUMERIC_ADDR_ERROR (numeric_addr.s_addr == -1)
@@ -87,12 +87,12 @@ Boston, MA 02110-1301, USA. */
87#define NUMERIC_ADDR_ERROR (numeric_addr == -1) 87#define NUMERIC_ADDR_ERROR (numeric_addr == -1)
88#endif 88#endif
89 89
90#if defined(BSD_SYSTEM) || defined(STRIDE) 90#if defined(BSD_SYSTEM)
91#include <sys/ioctl.h> 91#include <sys/ioctl.h>
92#if !defined (O_NDELAY) && defined (HAVE_PTYS) && !defined(USG5) 92#if !defined (O_NDELAY) && defined (HAVE_PTYS) && !defined(USG5)
93#include <fcntl.h> 93#include <fcntl.h>
94#endif /* HAVE_PTYS and no O_NDELAY */ 94#endif /* HAVE_PTYS and no O_NDELAY */
95#endif /* BSD_SYSTEM || STRIDE */ 95#endif /* BSD_SYSTEM */
96 96
97#ifdef BROKEN_O_NONBLOCK 97#ifdef BROKEN_O_NONBLOCK
98#undef O_NONBLOCK 98#undef O_NONBLOCK
@@ -596,7 +596,6 @@ allocate_pty ()
596#else 596#else
597 sprintf (pty_name, "/dev/tty%c%x", c, i); 597 sprintf (pty_name, "/dev/tty%c%x", c, i);
598#endif /* no PTY_TTY_NAME_SPRINTF */ 598#endif /* no PTY_TTY_NAME_SPRINTF */
599#ifndef UNIPLUS
600 if (access (pty_name, 6) != 0) 599 if (access (pty_name, 6) != 0)
601 { 600 {
602 emacs_close (fd); 601 emacs_close (fd);
@@ -606,7 +605,6 @@ allocate_pty ()
606 return -1; 605 return -1;
607# endif /* IRIS */ 606# endif /* IRIS */
608 } 607 }
609#endif /* not UNIPLUS */
610 setup_pty (fd); 608 setup_pty (fd);
611 return fd; 609 return fd;
612 } 610 }
@@ -1889,12 +1887,12 @@ create_process (process, new_argv, current_dir)
1889#endif 1887#endif
1890 if (forkin < 0) 1888 if (forkin < 0)
1891 report_file_error ("Opening pty", Qnil); 1889 report_file_error ("Opening pty", Qnil);
1892#if defined (RTU) || defined (UNIPLUS) || defined (DONT_REOPEN_PTY) 1890#if defined (DONT_REOPEN_PTY)
1893 /* In the case that vfork is defined as fork, the parent process 1891 /* In the case that vfork is defined as fork, the parent process
1894 (Emacs) may send some data before the child process completes 1892 (Emacs) may send some data before the child process completes
1895 tty options setup. So we setup tty before forking. */ 1893 tty options setup. So we setup tty before forking. */
1896 child_setup_tty (forkout); 1894 child_setup_tty (forkout);
1897#endif /* RTU or UNIPLUS or DONT_REOPEN_PTY */ 1895#endif /* DONT_REOPEN_PTY */
1898#else 1896#else
1899 forkin = forkout = -1; 1897 forkin = forkout = -1;
1900#endif /* not USG, or USG_SUBTTY_WORKS */ 1898#endif /* not USG, or USG_SUBTTY_WORKS */
@@ -1935,15 +1933,6 @@ create_process (process, new_argv, current_dir)
1935 set_exclusive_use (outchannel); 1933 set_exclusive_use (outchannel);
1936#endif 1934#endif
1937 1935
1938/* Stride people say it's a mystery why this is needed
1939 as well as the O_NDELAY, but that it fails without this. */
1940#if defined (STRIDE) || (defined (pfa) && defined (HAVE_PTYS))
1941 {
1942 int one = 1;
1943 ioctl (inchannel, FIONBIO, &one);
1944 }
1945#endif
1946
1947#ifdef O_NONBLOCK 1936#ifdef O_NONBLOCK
1948 fcntl (inchannel, F_SETFL, O_NONBLOCK); 1937 fcntl (inchannel, F_SETFL, O_NONBLOCK);
1949 fcntl (outchannel, F_SETFL, O_NONBLOCK); 1938 fcntl (outchannel, F_SETFL, O_NONBLOCK);
@@ -1993,7 +1982,7 @@ create_process (process, new_argv, current_dir)
1993#ifdef BSD4_1 1982#ifdef BSD4_1
1994 sighold (SIGCHLD); 1983 sighold (SIGCHLD);
1995#else /* not BSD4_1 */ 1984#else /* not BSD4_1 */
1996#if defined (BSD_SYSTEM) || defined (UNIPLUS) || defined (HPUX) 1985#if defined (BSD_SYSTEM) || defined (HPUX)
1997 sigsetmask (sigmask (SIGCHLD)); 1986 sigsetmask (sigmask (SIGCHLD));
1998#else /* ordinary USG */ 1987#else /* ordinary USG */
1999#if 0 1988#if 0
@@ -2107,7 +2096,7 @@ create_process (process, new_argv, current_dir)
2107 } 2096 }
2108#endif /* TIOCNOTTY */ 2097#endif /* TIOCNOTTY */
2109 2098
2110#if !defined (RTU) && !defined (UNIPLUS) && !defined (DONT_REOPEN_PTY) 2099#if !defined (DONT_REOPEN_PTY)
2111/*** There is a suggestion that this ought to be a 2100/*** There is a suggestion that this ought to be a
2112 conditional on TIOCSPGRP, 2101 conditional on TIOCSPGRP,
2113 or !(defined (HAVE_SETSID) && defined (TIOCSCTTY)). 2102 or !(defined (HAVE_SETSID) && defined (TIOCSCTTY)).
@@ -2141,7 +2130,7 @@ create_process (process, new_argv, current_dir)
2141 ioctl (xforkout, TIOCSPGRP, &pgrp); 2130 ioctl (xforkout, TIOCSPGRP, &pgrp);
2142#endif 2131#endif
2143 } 2132 }
2144#endif /* not UNIPLUS and not RTU and not DONT_REOPEN_PTY */ 2133#endif /* not DONT_REOPEN_PTY */
2145 2134
2146#ifdef SETUP_SLAVE_PTY 2135#ifdef SETUP_SLAVE_PTY
2147 if (pty_flag) 2136 if (pty_flag)
@@ -2168,7 +2157,7 @@ create_process (process, new_argv, current_dir)
2168#ifdef BSD4_1 2157#ifdef BSD4_1
2169 sigrelse (SIGCHLD); 2158 sigrelse (SIGCHLD);
2170#else /* not BSD4_1 */ 2159#else /* not BSD4_1 */
2171#if defined (BSD_SYSTEM) || defined (UNIPLUS) || defined (HPUX) 2160#if defined (BSD_SYSTEM) || defined (HPUX)
2172 sigsetmask (SIGEMPTYMASK); 2161 sigsetmask (SIGEMPTYMASK);
2173#else /* ordinary USG */ 2162#else /* ordinary USG */
2174#if 0 2163#if 0
@@ -2179,10 +2168,10 @@ create_process (process, new_argv, current_dir)
2179#endif /* SIGCHLD */ 2168#endif /* SIGCHLD */
2180#endif /* !POSIX_SIGNALS */ 2169#endif /* !POSIX_SIGNALS */
2181 2170
2182#if !defined (RTU) && !defined (UNIPLUS) && !defined (DONT_REOPEN_PTY) 2171#if !defined (DONT_REOPEN_PTY)
2183 if (pty_flag) 2172 if (pty_flag)
2184 child_setup_tty (xforkout); 2173 child_setup_tty (xforkout);
2185#endif /* not RTU and not UNIPLUS and not DONT_REOPEN_PTY */ 2174#endif /* not DONT_REOPEN_PTY */
2186#ifdef WINDOWSNT 2175#ifdef WINDOWSNT
2187 pid = child_setup (xforkin, xforkout, xforkout, 2176 pid = child_setup (xforkin, xforkout, xforkout,
2188 new_argv, 1, current_dir); 2177 new_argv, 1, current_dir);
@@ -2260,7 +2249,7 @@ create_process (process, new_argv, current_dir)
2260#ifdef BSD4_1 2249#ifdef BSD4_1
2261 sigrelse (SIGCHLD); 2250 sigrelse (SIGCHLD);
2262#else /* not BSD4_1 */ 2251#else /* not BSD4_1 */
2263#if defined (BSD_SYSTEM) || defined (UNIPLUS) || defined (HPUX) 2252#if defined (BSD_SYSTEM) || defined (HPUX)
2264 sigsetmask (SIGEMPTYMASK); 2253 sigsetmask (SIGEMPTYMASK);
2265#else /* ordinary USG */ 2254#else /* ordinary USG */
2266#if 0 2255#if 0
@@ -4651,12 +4640,6 @@ wait_reading_process_output (time_limit, microsecs, read_kbd, do_display,
4651 else if (xerrno == ENOMEM) 4640 else if (xerrno == ENOMEM)
4652 no_avail = 1; 4641 no_avail = 1;
4653#endif 4642#endif
4654#ifdef ALLIANT
4655 /* This happens for no known reason on ALLIANT.
4656 I am guessing that this is the right response. -- RMS. */
4657 else if (xerrno == EFAULT)
4658 no_avail = 1;
4659#endif
4660 else if (xerrno == EBADF) 4643 else if (xerrno == EBADF)
4661 { 4644 {
4662#ifdef AIX 4645#ifdef AIX
diff --git a/src/puresize.h b/src/puresize.h
index 6f2982746ce..89632596546 100644
--- a/src/puresize.h
+++ b/src/puresize.h
@@ -70,7 +70,7 @@ extern void pure_write_error P_ ((void)) NO_RETURN;
70/* Define PURE_P. */ 70/* Define PURE_P. */
71 71
72#if defined(VIRT_ADDR_VARIES) || defined(CYGWIN) 72#if defined(VIRT_ADDR_VARIES) || defined(CYGWIN)
73/* For machines like APOLLO where text and data can go anywhere 73/* For machines where text and data can go anywhere
74 in virtual memory. */ 74 in virtual memory. */
75 75
76extern EMACS_INT pure[]; 76extern EMACS_INT pure[];
diff --git a/src/sysdep.c b/src/sysdep.c
index 7c7b3810956..798cd3b2108 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -49,15 +49,6 @@ extern void srandom P_ ((unsigned int));
49 49
50#include "blockinput.h" 50#include "blockinput.h"
51 51
52#ifdef MAC_OS8
53#include <sys/param.h>
54
55#ifndef subprocesses
56/* Nonzero means delete a process right away if it exits (process.c). */
57static int delete_exited_processes;
58#endif
59#endif /* MAC_OS8 */
60
61#ifdef WINDOWSNT 52#ifdef WINDOWSNT
62#define read sys_read 53#define read sys_read
63#define write sys_write 54#define write sys_write
@@ -151,12 +142,12 @@ extern int errno;
151#undef TIOCSWINSZ 142#undef TIOCSWINSZ
152#endif 143#endif
153 144
154#if defined (USG) || defined (DGUX) 145#if defined (USG)
155#include <sys/utsname.h> 146#include <sys/utsname.h>
156#ifndef MEMORY_IN_STRING_H 147#ifndef MEMORY_IN_STRING_H
157#include <memory.h> 148#include <memory.h>
158#endif 149#endif
159#if defined (TIOCGWINSZ) || defined (ISC4_0) 150#if defined (TIOCGWINSZ)
160#ifdef NEED_SIOCTL 151#ifdef NEED_SIOCTL
161#include <sys/sioctl.h> 152#include <sys/sioctl.h>
162#endif 153#endif
@@ -164,8 +155,8 @@ extern int errno;
164#include <sys/stream.h> 155#include <sys/stream.h>
165#include <sys/ptem.h> 156#include <sys/ptem.h>
166#endif 157#endif
167#endif /* TIOCGWINSZ or ISC4_0 */ 158#endif /* TIOCGWINSZ */
168#endif /* USG or DGUX */ 159#endif /* USG */
169 160
170extern int quit_char; 161extern int quit_char;
171 162
@@ -345,17 +336,6 @@ discard_tty_input ()
345 &buf.main, 0, 0, terminator_mask, 0, 0); 336 &buf.main, 0, 0, terminator_mask, 0, 0);
346 queue_kbd_input (); 337 queue_kbd_input ();
347#else /* not VMS */ 338#else /* not VMS */
348#ifdef APOLLO
349 {
350 struct tty_display_info *tty;
351 for (tty = tty_list; tty; tty = tty->next)
352 {
353 int zero = 0;
354 if (tty->input)
355 ioctl (fileno (tty->input), TIOCFLUSH, &zero);
356 }
357 }
358#else /* not Apollo */
359#ifdef MSDOS /* Demacs 1.1.1 91/10/16 HIRANO Satoshi */ 339#ifdef MSDOS /* Demacs 1.1.1 91/10/16 HIRANO Satoshi */
360 while (dos_keyread () != -1) 340 while (dos_keyread () != -1)
361 ; 341 ;
@@ -372,7 +352,6 @@ discard_tty_input ()
372 } 352 }
373 } 353 }
374#endif /* not MSDOS */ 354#endif /* not MSDOS */
375#endif /* not Apollo */
376#endif /* not VMS */ 355#endif /* not VMS */
377#endif /* not WINDOWSNT */ 356#endif /* not WINDOWSNT */
378} 357}
@@ -532,11 +511,6 @@ wait_for_termination (pid)
532 else 511 else
533 sigpause (SIGEMPTYMASK); 512 sigpause (SIGEMPTYMASK);
534#else /* not BSD_SYSTEM, and not HPUX version >= 6 */ 513#else /* not BSD_SYSTEM, and not HPUX version >= 6 */
535#if defined (UNIPLUS)
536 if (0 > kill (pid, 0))
537 break;
538 wait (0);
539#else /* neither BSD_SYSTEM nor UNIPLUS: random sysV */
540#ifdef POSIX_SIGNALS /* would this work for GNU/Linux as well? */ 514#ifdef POSIX_SIGNALS /* would this work for GNU/Linux as well? */
541 sigblock (sigmask (SIGCHLD)); 515 sigblock (sigmask (SIGCHLD));
542 errno = 0; 516 errno = 0;
@@ -570,7 +544,6 @@ wait_for_termination (pid)
570#endif /* not WINDOWSNT */ 544#endif /* not WINDOWSNT */
571#endif /* not HAVE_SYSV_SIGPAUSE */ 545#endif /* not HAVE_SYSV_SIGPAUSE */
572#endif /* not POSIX_SIGNALS */ 546#endif /* not POSIX_SIGNALS */
573#endif /* not UNIPLUS */
574#endif /* not BSD_SYSTEM, and not HPUX version >= 6 */ 547#endif /* not BSD_SYSTEM, and not HPUX version >= 6 */
575#endif /* not VMS */ 548#endif /* not VMS */
576#else /* not subprocesses */ 549#else /* not subprocesses */
@@ -727,12 +700,6 @@ child_setup_tty (out)
727 if (interrupt_input) 700 if (interrupt_input)
728 reset_sigio (0); 701 reset_sigio (0);
729#endif /* BSD4_1 */ 702#endif /* BSD4_1 */
730#ifdef RTU
731 {
732 int zero = 0;
733 ioctl (out, FIOASYNC, &zero);
734 }
735#endif /* RTU */
736#endif /* not DOS_NT */ 703#endif /* not DOS_NT */
737} 704}
738#endif /* not VMS */ 705#endif /* not VMS */
@@ -821,7 +788,6 @@ sys_suspend ()
821 788
822/* Fork a subshell. */ 789/* Fork a subshell. */
823 790
824#ifndef MAC_OS8
825void 791void
826sys_subshell () 792sys_subshell ()
827{ 793{
@@ -957,7 +923,6 @@ sys_subshell ()
957 synch_process_alive = 0; 923 synch_process_alive = 0;
958#endif /* !VMS */ 924#endif /* !VMS */
959} 925}
960#endif /* !MAC_OS8 */
961 926
962static void 927static void
963save_signal_handlers (saved_handlers) 928save_signal_handlers (saved_handlers)
@@ -1066,69 +1031,6 @@ unrequest_sigio (void)
1066} 1031}
1067 1032
1068#else /* no FASYNC */ 1033#else /* no FASYNC */
1069#ifdef STRIDE /* Stride doesn't have FASYNC - use FIOASYNC */
1070
1071void
1072request_sigio ()
1073{
1074 int on = 1;
1075
1076 if (noninteractive || read_socket_hook)
1077 return;
1078
1079 /* XXX CURTTY() is bogus here. */
1080 ioctl (fileno (CURTTY ()->input), FIOASYNC, &on);
1081 interrupts_deferred = 0;
1082}
1083
1084void
1085unrequest_sigio ()
1086{
1087 int off = 0;
1088
1089 if (noninteractive || read_socket_hook)
1090 return;
1091
1092 /* XXX CURTTY() is bogus here. */
1093 ioctl (fileno (CURTTY ()->input), FIOASYNC, &off);
1094 interrupts_deferred = 1;
1095}
1096
1097#else /* not FASYNC, not STRIDE */
1098
1099#ifdef _CX_UX
1100
1101#include <termios.h>
1102
1103void
1104request_sigio ()
1105{
1106 int on = 1;
1107 sigset_t st;
1108
1109 if (noninteractive || read_socket_hook)
1110 return;
1111
1112 sigemptyset (&st);
1113 sigaddset (&st, SIGIO);
1114 ioctl (0, FIOASYNC, &on); /* XXX This fails for multiple ttys. */
1115 interrupts_deferred = 0;
1116 sigprocmask (SIG_UNBLOCK, &st, (sigset_t *)0);
1117}
1118
1119void
1120unrequest_sigio ()
1121{
1122 int off = 0;
1123
1124 if (noninteractive || read_socket_hook)
1125 return;
1126
1127 ioctl (0, FIOASYNC, &off); /* XXX This fails for multiple ttys. */
1128 interrupts_deferred = 1;
1129}
1130
1131#else /* ! _CX_UX */
1132#ifndef MSDOS 1034#ifndef MSDOS
1133 1035
1134void 1036void
@@ -1150,8 +1052,6 @@ unrequest_sigio ()
1150} 1052}
1151 1053
1152#endif /* MSDOS */ 1054#endif /* MSDOS */
1153#endif /* _CX_UX */
1154#endif /* STRIDE */
1155#endif /* FASYNC */ 1055#endif /* FASYNC */
1156#endif /* F_SETFL */ 1056#endif /* F_SETFL */
1157#endif /* SIGIO */ 1057#endif /* SIGIO */
@@ -1486,10 +1386,6 @@ init_sys_modes (tty_out)
1486#if defined (HAVE_TERMIO) || defined (HAVE_TERMIOS) 1386#if defined (HAVE_TERMIO) || defined (HAVE_TERMIOS)
1487 XSETINT (Vtty_erase_char, tty.main.c_cc[VERASE]); 1387 XSETINT (Vtty_erase_char, tty.main.c_cc[VERASE]);
1488 1388
1489#ifdef DGUX
1490 /* This allows meta to be sent on 8th bit. */
1491 tty.main.c_iflag &= ~INPCK; /* don't check input for parity */
1492#endif
1493 tty.main.c_iflag |= (IGNBRK); /* Ignore break condition */ 1389 tty.main.c_iflag |= (IGNBRK); /* Ignore break condition */
1494 tty.main.c_iflag &= ~ICRNL; /* Disable map of CR to NL on input */ 1390 tty.main.c_iflag &= ~ICRNL; /* Disable map of CR to NL on input */
1495#ifdef INLCR /* I'm just being cautious, 1391#ifdef INLCR /* I'm just being cautious,
@@ -1703,11 +1599,9 @@ init_sys_modes (tty_out)
1703#ifdef TCXONC 1599#ifdef TCXONC
1704 if (!tty_out->flow_control) ioctl (fileno (tty_out->input), TCXONC, 1); 1600 if (!tty_out->flow_control) ioctl (fileno (tty_out->input), TCXONC, 1);
1705#endif 1601#endif
1706#ifndef APOLLO
1707#ifdef TIOCSTART 1602#ifdef TIOCSTART
1708 if (!tty_out->flow_control) ioctl (fileno (tty_out->input), TIOCSTART, 0); 1603 if (!tty_out->flow_control) ioctl (fileno (tty_out->input), TIOCSTART, 0);
1709#endif 1604#endif
1710#endif
1711 1605
1712#if defined (HAVE_TERMIOS) || defined (HPUX9) 1606#if defined (HAVE_TERMIOS) || defined (HPUX9)
1713#ifdef TCOON 1607#ifdef TCOON
@@ -2085,14 +1979,6 @@ setup_pty (fd)
2085 } 1979 }
2086#endif 1980#endif
2087#endif 1981#endif
2088#ifdef IBMRTAIX
2089 /* On AIX, the parent gets SIGHUP when a pty attached child dies. So, we */
2090 /* ignore SIGHUP once we've started a child on a pty. Note that this may */
2091 /* cause EMACS not to die when it should, i.e., when its own controlling */
2092 /* tty goes away. I've complained to the AIX developers, and they may */
2093 /* change this behavior, but I'm not going to hold my breath. */
2094 signal (SIGHUP, SIG_IGN);
2095#endif
2096} 1982}
2097#endif /* HAVE_PTYS */ 1983#endif /* HAVE_PTYS */
2098 1984
@@ -2377,13 +2263,8 @@ start_of_text ()
2377#ifdef TEXT_START 2263#ifdef TEXT_START
2378 return ((char *) TEXT_START); 2264 return ((char *) TEXT_START);
2379#else 2265#else
2380#ifdef GOULD
2381 extern csrt ();
2382 return ((char *) csrt);
2383#else /* not GOULD */
2384 extern int _start (); 2266 extern int _start ();
2385 return ((char *) _start); 2267 return ((char *) _start);
2386#endif /* GOULD */
2387#endif /* TEXT_START */ 2268#endif /* TEXT_START */
2388} 2269}
2389#endif /* not HAVE_TEXT_START */ 2270#endif /* not HAVE_TEXT_START */
diff --git a/src/systty.h b/src/systty.h
index 411286908a3..a7e8c41c698 100644
--- a/src/systty.h
+++ b/src/systty.h
@@ -26,9 +26,6 @@ Boston, MA 02110-1301, USA. */
26 26
27/* Include the proper files. */ 27/* Include the proper files. */
28#ifdef HAVE_TERMIO 28#ifdef HAVE_TERMIO
29#ifdef __DGUX
30#include <sys/ioctl.h>
31#endif
32#ifndef NO_TERMIO 29#ifndef NO_TERMIO
33#include <termio.h> 30#include <termio.h>
34#endif /* not NO_TERMIO */ 31#endif /* not NO_TERMIO */
@@ -130,42 +127,18 @@ static struct sensemode {
130#ifdef SYSV_PTYS 127#ifdef SYSV_PTYS
131#include <sys/types.h> 128#include <sys/types.h>
132#include <sys/tty.h> 129#include <sys/tty.h>
133#ifdef titan
134#include <sys/ttyhw.h>
135#include <sys/stream.h>
136#endif
137#ifndef NO_PTY_H 130#ifndef NO_PTY_H
138#include <sys/pty.h> 131#include <sys/pty.h>
139#endif 132#endif
140#endif 133#endif
141 134
142/* saka@pfu.fujitsu.co.JP writes:
143 FASYNC defined in this file. But, FASYNC don't working.
144 so no problem, because unrequest_sigio only need. */
145#if defined (pfa)
146#include <sys/file.h>
147#endif
148
149 135
150/* Special cases - inhibiting the use of certain features. */ 136/* Special cases - inhibiting the use of certain features. */
151 137
152#ifdef APOLLO
153#undef TIOCSTART
154#endif
155
156#ifdef XENIX
157#undef TIOCGETC /* Avoid confusing some conditionals that test this. */
158#endif
159
160#ifdef BROKEN_TIOCGETC 138#ifdef BROKEN_TIOCGETC
161#undef TIOCGETC /* Avoid confusing some conditionals that test this. */ 139#undef TIOCGETC /* Avoid confusing some conditionals that test this. */
162#endif 140#endif
163 141
164/* UNIPLUS systems may have FIONREAD. */
165#ifdef UNIPLUS
166#include <sys.ioctl.h>
167#endif
168
169/* Allow m- file to inhibit use of FIONREAD. */ 142/* Allow m- file to inhibit use of FIONREAD. */
170#ifdef BROKEN_FIONREAD 143#ifdef BROKEN_FIONREAD
171#undef FIONREAD 144#undef FIONREAD
diff --git a/src/syswait.h b/src/syswait.h
index 9f652a63b85..6bfab435459 100644
--- a/src/syswait.h
+++ b/src/syswait.h
@@ -79,7 +79,7 @@ Boston, MA 02110-1301, USA. */
79 79
80#else /* not WAIT_USE_INT */ 80#else /* not WAIT_USE_INT */
81 81
82#if (!defined (BSD_SYSTEM) && !defined (UNIPLUS) && !defined (STRIDE) && !(defined (HPUX) && !defined (NOMULTIPLEJOBS)) && !defined (HAVE_WAIT_HEADER)) 82#if (!defined (BSD_SYSTEM) && !(defined (HPUX) && !defined (NOMULTIPLEJOBS)) && !defined (HAVE_WAIT_HEADER))
83#define WAITTYPE int 83#define WAITTYPE int
84#define WIFSTOPPED(w) ((w&0377) == 0177) 84#define WIFSTOPPED(w) ((w&0377) == 0177)
85#define WIFSIGNALED(w) ((w&0377) != 0177 && (w&~0377) == 0) 85#define WIFSIGNALED(w) ((w&0377) != 0177 && (w&~0377) == 0)
@@ -129,7 +129,7 @@ Boston, MA 02110-1301, USA. */
129#ifndef WIFEXITED 129#ifndef WIFEXITED
130#define WIFEXITED(w) (WTERMSIG (w) == 0) 130#define WIFEXITED(w) (WTERMSIG (w) == 0)
131#endif 131#endif
132#endif /* BSD_SYSTEM || UNIPLUS || STRIDE || HPUX */ 132#endif /* BSD_SYSTEM || HPUX */
133#endif /* not WAIT_USE_INT */ 133#endif /* not WAIT_USE_INT */
134#endif /* no WAITTYPE */ 134#endif /* no WAITTYPE */
135 135
diff --git a/src/unexec.c b/src/unexec.c
index 05cff698313..b0ef8fc4d51 100644
--- a/src/unexec.c
+++ b/src/unexec.c
@@ -975,92 +975,9 @@ copy_text_and_data (new, a_out)
975 lseek (new, (long) N_TXTOFF (hdr), 0); 975 lseek (new, (long) N_TXTOFF (hdr), 0);
976#endif /* no A_TEXT_SEEK */ 976#endif /* no A_TEXT_SEEK */
977 977
978#ifdef RISCiX
979
980 /* Acorn's RISC-iX has a wacky way of initialising the position of the heap.
981 * There is a little table in crt0.o that is filled at link time with
982 * the min and current brk positions, among other things. When start
983 * runs, it copies the table to where these parameters live during
984 * execution. This data is in text space, so it cannot be modified here
985 * before saving the executable, so the data is written manually. In
986 * addition, the table does not have a label, and the nearest accessible
987 * label (mcount) is not prefixed with a '_', thus making it inaccessible
988 * from within C programs. To overcome this, emacs's executable is passed
989 * through the command 'nm %s | fgrep mcount' into a pipe, and the
990 * resultant output is then used to find the address of 'mcount'. As far as
991 * is possible to determine, in RISC-iX releases prior to 1.2, the negative
992 * offset of the table from mcount is 0x2c, whereas from 1.2 onwards it is
993 * 0x30. bss_end has been rounded up to page boundary. This solution is
994 * based on suggestions made by Kevin Welton and Steve Hunt of Acorn, and
995 * avoids the need for a custom version of crt0.o for emacs which has its
996 * table in data space.
997 */
998
999 {
1000 char command[1024];
1001 char errbuf[1024];
1002 char address_text[32];
1003 int proforma[4];
1004 FILE *pfile;
1005 char *temp_ptr;
1006 char c;
1007 int mcount_address, mcount_offset, count;
1008 extern char *_execname;
1009
1010
1011 /* The use of _execname is incompatible with RISCiX 1.1 */
1012 sprintf (command, "nm %s | fgrep mcount", _execname);
1013
1014 if ( (pfile = popen(command, "r")) == NULL)
1015 {
1016 sprintf (errbuf, "Could not open pipe");
1017 PERROR (errbuf);
1018 }
1019
1020 count=0;
1021 while ( ((c=getc(pfile)) != EOF) && (c != ' ') && (count < 31))
1022 address_text[count++]=c;
1023 address_text[count]=0;
1024
1025 if ((count == 0) || pclose(pfile) != NULL)
1026 {
1027 sprintf (errbuf, "Failed to execute the command '%s'\n", command);
1028 PERROR (errbuf);
1029 }
1030
1031 sscanf(address_text, "%x", &mcount_address);
1032 ptr = (char *) unexec_text_start;
1033 mcount_offset = (char *)mcount_address - ptr;
1034
1035#ifdef RISCiX_1_1
1036#define EDATA_OFFSET 0x2c
1037#else
1038#define EDATA_OFFSET 0x30
1039#endif
1040
1041 end = ptr + mcount_offset - EDATA_OFFSET;
1042
1043 write_segment (new, ptr, end);
1044
1045 proforma[0] = bss_end; /* becomes _edata */
1046 proforma[1] = bss_end; /* becomes _end */
1047 proforma[2] = bss_end; /* becomes _minbrk */
1048 proforma[3] = bss_end; /* becomes _curbrk */
1049
1050 write (new, proforma, 16);
1051
1052 temp_ptr = ptr;
1053 ptr = end + 16;
1054 end = temp_ptr + hdr.a_text;
1055
1056 write_segment (new, ptr, end);
1057 }
1058
1059#else /* !RISCiX */
1060 ptr = (char *) unexec_text_start; 978 ptr = (char *) unexec_text_start;
1061 end = ptr + hdr.a_text; 979 end = ptr + hdr.a_text;
1062 write_segment (new, ptr, end); 980 write_segment (new, ptr, end);
1063#endif /* RISCiX */
1064 981
1065 ptr = (char *) unexec_data_start; 982 ptr = (char *) unexec_data_start;
1066 end = ptr + hdr.a_data; 983 end = ptr + hdr.a_data;
@@ -1175,13 +1092,8 @@ adjust_lnnoptrs (writedesc, readdesc, new_name)
1175{ 1092{
1176 register int nsyms; 1093 register int nsyms;
1177 register int new; 1094 register int new;
1178#if defined (amdahl_uts) || defined (pfa)
1179 SYMENT symentry;
1180 AUXENT auxentry;
1181#else
1182 struct syment symentry; 1095 struct syment symentry;
1183 union auxent auxentry; 1096 union auxent auxentry;
1184#endif
1185 1097
1186 if (!lnnoptr || !f_hdr.f_symptr) 1098 if (!lnnoptr || !f_hdr.f_symptr)
1187 return 0; 1099 return 0;
diff --git a/src/xdisp.c b/src/xdisp.c
index d98b5139ded..19ee4a0a92d 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -8785,8 +8785,6 @@ echo_area_display (update_frame_p)
8785 if (!FRAME_VISIBLE_P (f) || !f->glyphs_initialized_p) 8785 if (!FRAME_VISIBLE_P (f) || !f->glyphs_initialized_p)
8786 return 0; 8786 return 0;
8787 8787
8788/* The terminal frame is used as the first Emacs frame on the Mac OS. */
8789#ifndef MAC_OS8
8790#ifdef HAVE_WINDOW_SYSTEM 8788#ifdef HAVE_WINDOW_SYSTEM
8791 /* When Emacs starts, selected_frame may be the initial terminal 8789 /* When Emacs starts, selected_frame may be the initial terminal
8792 frame. If we let this through, a message would be displayed on 8790 frame. If we let this through, a message would be displayed on
@@ -8794,7 +8792,6 @@ echo_area_display (update_frame_p)
8794 if (FRAME_INITIAL_P (XFRAME (selected_frame))) 8792 if (FRAME_INITIAL_P (XFRAME (selected_frame)))
8795 return 0; 8793 return 0;
8796#endif /* HAVE_WINDOW_SYSTEM */ 8794#endif /* HAVE_WINDOW_SYSTEM */
8797#endif
8798 8795
8799 /* Redraw garbaged frames. */ 8796 /* Redraw garbaged frames. */
8800 if (frame_garbaged) 8797 if (frame_garbaged)