2
*** c/cmpaux.c Mon Jul 6 00:14:55 1992
3
--- ../akcl-1-615/c/cmpaux.c Thu Jun 18 20:01:07 1992
6
if (leng > 0 && leng < x->st.st_dim && x->st.st_self[leng]==0)
8
if (x->st.st_dim == leng
9
&& ( leng % sizeof(object))
11
! { x->st.st_self[leng] = 0;
15
{char *res=malloc(leng+1);
16
bcopy(x->st.st_self,res,leng);
18
if (leng > 0 && leng < x->st.st_dim && x->st.st_self[leng]==0)
20
if (x->st.st_dim == leng
21
&& ( leng % sizeof(object))
23
! { if(x->st.st_self[leng] != 0)
24
! x->st.st_self[leng] = 0;
28
{char *res=malloc(leng+1);
29
bcopy(x->st.st_self,res,leng);
31
*** c/main.c Mon Jul 6 00:14:59 1992
32
--- ../akcl-1-615/c/main.c Fri Jul 3 02:19:37 1992
39
{ install_segmentation_catcher() ;}
40
! FEerror("Caught fatal error [memory may be damaged]"); }
41
printf("\nUnrecoverable error: %s.\n", s);
51
{ install_segmentation_catcher() ;}
52
! FEerror("Caught fatal error [memory may be damaged] ~A",1,make_simple_string(s)); }
53
printf("\nUnrecoverable error: %s.\n", s);
65
- #ifdef HAVE_YP_UNBIND
66
- extern object truename(),namestring();
68
! /* prevent subsequent consultation of yp by getting
70
! vs_base[0]=namestring(truename(vs_base[0]));
73
! if (0== getdomainname(dom,sizeof(name)))
87
! #ifdef HAVE_YP_UNBIND
88
! /* see unixsave.c */
90
! yp_get_default_domain(&dname);}
97
*** c/num_log.c Mon Jul 6 00:15:00 1992
98
--- ../akcl-1-615/c/num_log.c Mon Jun 15 21:15:59 1992
117
{ ans = ((MP_ITH_WORD(u,i,lgef(u))) & (1 << p%32));}
118
else if (big_sign(x) < 0) ans = 1;
138
! if (i < lgef(u) -MP_CODE_WORDS)
139
{ ans = ((MP_ITH_WORD(u,i,lgef(u))) & (1 << p%32));}
140
else if (big_sign(x) < 0) ans = 1;
145
*** c/unixsave.c Mon Jul 6 00:15:07 1992
146
--- ../akcl-1-615/c/unixsave.c Fri Jul 3 02:52:36 1992
157
+ /* string is aligned on a word boundary */
159
+ find_string_in_memory(string,length,other_p,function)
161
+ int length,other_p;
164
+ int *imem_first,*imem_last,*imem,word;
166
+ int len,page_first,page_last,i;
167
+ int maxpage = page(heap_end);
168
+ if(((int)string & 3) == 0 && length >= 4) /* just to be safe */
169
+ {word=*(int *)string;
170
+ for (page_first = 0; page_first < maxpage; page_first++)
171
+ if ((enum type)type_map[page_first] != t_other)
173
+ for (; page_first < maxpage; page_first++)
174
+ if (((enum type)type_map[page_first] == t_other)?other_p:!other_p)
175
+ {for (page_last = page_first+1; page_last < maxpage; page_last++)
176
+ if ( !(((enum type)type_map[page_last] == t_other)?other_p:!other_p) )
178
+ imem_first=(int *)pagetochar(page_first);
179
+ imem_last=(int *)( ( ((int)pagetochar(page_last)) - length) &~3 );
180
+ for (imem = imem_first; imem <= imem_last; imem++)
183
+ for(i=4; i<length && mem[i]==string[i]; i++);
185
+ if((*function)(mem))
191
+ fsim_first(address)
198
+ fsim_reset_pointer(address)
205
+ #define t_other_PAGES TRUE
206
+ #define NOT_t_other_PAGES FALSE
209
+ reset_other_pointers(address)
212
+ int word=(int)address;
213
+ find_string_in_memory(&word,4,t_other_PAGES,fsim_reset_pointer);
217
+ maybe_reset_pointers(address)
220
+ int word=(int)address;
221
+ if(!find_string_in_memory(&word,4,NOT_t_other_PAGES,fsim_first))
222
+ reset_other_pointers(address);
226
+ reset_other_pointers_to_string(string)
229
+ int length=strlen(string)+1;
230
+ find_string_in_memory(string,length,t_other_PAGES,maybe_reset_pointers);
233
+ bool saving_system;
235
memory_save(original_file, save_file)
236
char *original_file, *save_file;
238
char *data_begin, *data_end;
243
n = open(save_file, O_CREAT|O_WRONLY, 0777);
244
if (n != 1 || (save = fdopen(n, "w")) != stdout) {
245
fprintf(stderr, "Can't open the save file.\n");
249
setbuf(save, stdout_buf);
251
+ #ifdef HAVE_YP_UNBIND
252
+ /* yp_get_default_domain() caches the result of getdomainname() in
253
+ a malloc'ed block of memory; and gethostbyname saves the result of
254
+ yp_get_default_domain() in yet another chunk of memory. These
255
+ cached values will cause problems if the saved image is run on a
256
+ machine having a different local domainname. [When getdomainname
257
+ is called (by CLX, for example) KCL will wait forever.] There doesn't
258
+ seem to be any way to uncache these things (apparently yp_unbind does
259
+ not do this), nor any good way to find these blocks of memory. */
263
+ yp_get_default_domain(&dname);
264
+ reset_other_pointers(dname);}
270
for (n = header.a_data, p = data_begin; ; n -= BUFSIZ, p += BUFSIZ)
272
*** cmpnew/cmpcall.lsp Mon Jul 6 00:15:13 1992
273
--- ../akcl-1-615/cmpnew/cmpcall.lsp Thu Jun 18 21:43:24 1992
277
;;; responsible for maintaining this condition.
278
(let ((*vs* *vs*) (form (caddr funob)))
279
(declare (object form))
280
(cond ((and (listp args)
282
+ (<= (length (cdr args)) 10)
283
;;Determine if only one value at most is required:
285
(eq *value-to-go* 'trash)
286
(and (consp *value-to-go*)
287
(eq (car *value-to-go*) 'var))
289
*** lsp/autoload.lsp Mon Jul 6 00:15:27 1992
290
--- ../akcl-1-615/lsp/autoload.lsp Tue Jun 16 02:36:45 1992
294
fixnum bignum ratio short-float long-float complex
295
character symbol package hash-table
296
array vector string bit-vector
297
structure stream random-state readtable pathname
298
! cfun cclosure sfun gfun cfdata spice fat-string ))
300
(defun room (&optional x)
301
(let ((l (multiple-value-list (si:room-report)))
302
maxpage leftpage ncbpage maxcbpage ncb cbgbccount npage
303
rbused rbfree nrbpage
306
fixnum bignum ratio short-float long-float complex
307
character symbol package hash-table
308
array vector string bit-vector
309
structure stream random-state readtable pathname
310
! cfun cclosure sfun gfun vfun cfdata spice fat-string dclosure))
312
(defun room (&optional x)
313
(let ((l (multiple-value-list (si:room-report)))
314
maxpage leftpage ncbpage maxcbpage ncb cbgbccount npage
315
rbused rbfree nrbpage
317
*** lsp/cmpinit.lsp Mon Jul 6 00:15:28 1992
318
--- ../akcl-1-615/lsp/cmpinit.lsp Mon Jun 22 17:11:11 1992
321
(setq compiler::*eval-when-defaults* '(compile eval load))
322
(or (fboundp 'si::get-&environment) (load "defmacro.lsp"))
323
;(or (get 'si::s-data 'si::s-data)
324
; (progn (load "../lsp/setf.lsp") (load "../lsp/defstruct.lsp")))
325
(if (probe-file "sys-proclaim.lisp")(load "sys-proclaim.lisp"))
331
(setq compiler::*eval-when-defaults* '(compile eval load))
332
(or (fboundp 'si::get-&environment) (load "defmacro.lsp"))
333
;(or (get 'si::s-data 'si::s-data)
334
; (progn (load "../lsp/setf.lsp") (load "../lsp/defstruct.lsp")))
335
(if (probe-file "sys-proclaim.lisp")(load "sys-proclaim.lisp"))
336
! (unless (get 'si::basic-wrapper 'si::s-data)
337
! (setf (get 'si::s-data 'si::s-data) nil)
338
! (load "../lsp/defstruct.lsp"))