|
|
1.1 root 1: /* m- file for Silicon Graphics Iris 2500 Turbos;
2: also possibly for non-turbo Irises with system release 2.5.
3: Copyright (C) 1985, 1986 Free Software Foundation, Inc.
4:
5: This file is part of GNU Emacs.
6:
7: GNU Emacs is distributed in the hope that it will be useful,
8: but WITHOUT ANY WARRANTY. No author or distributor
9: accepts responsibility to anyone for the consequences of using it
10: or for whether it serves any particular purpose or works at all,
11: unless he says so in writing. Refer to the GNU Emacs General Public
12: License for full details.
13:
14: Everyone is granted permission to copy, modify and redistribute
15: GNU Emacs, but only under the conditions described in the
16: GNU Emacs General Public License. A copy of this license is
17: supposed to have been given to you along with GNU Emacs so you
18: can know your rights and responsibilities. It should be in a
19: file named COPYING. Among other things, the copyright notice
20: and this notice must be preserved on all copies. */
21:
22:
23: #if 0
24: Message-Id: <[email protected]>
25: Subject: gnu emacs 18.41 on iris [23].5 machines
26: Date: 04 May 87 23:53:11 PDT (Mon)
27: From: [email protected]
28:
29: Aside from the SIGIOT, I know of only one bug, a real strange one:
30: I wrote a utimes interface, which copies elements from timevals
31: to utimbufs. This code is known good. The problem is that in
32: emacs, the utime doesn't seem to take effect (i.e. doesn't change the
33: dates at all) unless I call report_file_error *after* the utime returns!
34:
35: if (utime (name, &utb) < 0)
36: return;
37: else
38: /* XXX XXX XXX */
39: /* For some reason, if this is taken out, then the utime above breaks! */
40: /* (i.e. it doesn't set the time. This just makes no sense... */
41: /* Eric - May 4, 1987 */
42: report_file_error ("Worked just find\n", Qnil);
43:
44: Without any sort of debugger that works on emacs (I know... but I don't have
45: *time* right now to start with gdb), it was quite time consuming to track
46: it down to this.
47:
48: But since this code is only used for an optional 4th argument to one command
49: (copy-file), it would say that it is non-critical...
50: #endif /* 0 */
51:
52: /* The following three symbols give information on
53: the size of various data types. */
54:
55: #define SHORTBITS 16 /* Number of bits in a short */
56:
57: #define INTBITS 32 /* Number of bits in an int */
58:
59: #define LONGBITS 32 /* Number of bits in a long */
60:
61: /* Define BIG_ENDIAN iff lowest-numbered byte in a word
62: is the most significant byte. */
63:
64: #define BIG_ENDIAN
65:
66: /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
67: * group of arguments and treat it as an array of the arguments. */
68:
69: /* #define NO_ARG_ARRAY */
70:
71: /* Define WORD_MACHINE if addresses and such have
72: * to be corrected before they can be used as byte counts. */
73:
74: /* #define WORD_MACHINE */
75:
76: /* Define how to take a char and sign-extend into an int.
77: On machines where char is signed, this is a no-op. */
78:
79: #define SIGN_EXTEND_CHAR(c) (c)
80:
81: /* Now define a symbol for the cpu type, if your compiler
82: does not define it automatically:
83: Ones defined so far include vax, m68000, ns16000, pyramid,
84: orion, tahoe, APOLLO and many others */
85:
86: #ifndef m68000
87: #define m68000
88: #endif
89:
90: /* Use type int rather than a union, to represent Lisp_Object */
91: /* This is desirable for most machines. */
92:
93: #define NO_UNION_TYPE
94:
95: /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
96: the 24-bit bit field into an int. In other words, if bit fields
97: are always unsigned.
98:
99: If you use NO_UNION_TYPE, this flag does not matter. */
100:
101: #define EXPLICIT_SIGN_EXTEND
102:
103: /* Data type of load average, as read out of kmem. */
104:
105: #define LOAD_AVE_TYPE long
106:
107: /* Convert that into an integer that is 100 for a load average of 1.0 */
108:
109: #define FSCALE 1.0
110: #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
111:
112: /* Define CANNOT_DUMP on machines where unexec does not work.
113: Then the function dump-emacs will not be defined
114: and temacs will do (load "loadup") automatically unless told otherwise. */
115:
116: /* #define CANNOT_DUMP */
117:
118: /* Define VIRT_ADDR_VARIES if the virtual addresses of
119: pure and impure space as loaded can vary, and even their
120: relative order cannot be relied on.
121:
122: Otherwise Emacs assumes that text space precedes data space,
123: numerically. */
124:
125: /* #define VIRT_ADDR_VARIES */
126:
127: /* Define C_ALLOCA if this machine does not support a true alloca
128: and the one written in C should be used instead.
129: Define HAVE_ALLOCA to say that the system provides a properly
130: working alloca function and it should be used.
131: Define neither one if an assembler-language alloca
132: in the file alloca.s should be used. */
133:
134: /* #define C_ALLOCA */
135: #define HAVE_ALLOCA
136:
137: /* Define NO_REMAP if memory segmentation makes it not work well
138: to change the boundary between the text section and data section
139: when Emacs is dumped. If you define this, the preloaded Lisp
140: code will not be sharable; but that's better than failing completely. */
141:
142: /* #define NO_REMAP */
143:
144: /* There is an inconsistency between the sgi assembler, linker which barfs
145: on these. */
146:
147: #define internal_with_output_to_temp_buffer stupid_long_name1
148: #define Finsert_abbrev_table_description stupid_long_name2
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.