|
|
385abae |
Description: <short summary of the patch>
|
|
|
385abae |
TODO: Put a short summary on the line above and replace this paragraph
|
|
|
385abae |
with a longer explanation of this change. Complete the meta-information
|
|
|
385abae |
with other relevant fields (see below for details). To make it easier, the
|
|
|
385abae |
information below has been extracted from the changelog. Adjust it or drop
|
|
|
385abae |
it.
|
|
|
385abae |
.
|
|
|
385abae |
gcl (2.6.12-67) unstable; urgency=medium
|
|
|
385abae |
.
|
|
|
385abae |
* Version_2_6_13pre55
|
|
|
385abae |
Author: Camm Maguire <camm@debian.org>
|
|
|
385abae |
|
|
|
385abae |
---
|
|
|
385abae |
The information above should follow the Patch Tagging Guidelines, please
|
|
|
385abae |
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
|
|
|
385abae |
are templates for supplementary fields that you might want to add:
|
|
|
385abae |
|
|
|
385abae |
Origin: <vendor|upstream|other>, <url of original patch>
|
|
|
385abae |
Bug: <url in upstream bugtracker>
|
|
|
385abae |
Bug-Debian: https://bugs.debian.org/<bugnumber>
|
|
|
385abae |
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
|
|
|
385abae |
Forwarded: <no|not-needed|url proving that it has been forwarded>
|
|
|
385abae |
Reviewed-By: <name and email of someone who approved the patch>
|
|
|
385abae |
Last-Update: 2018-03-03
|
|
|
385abae |
|
|
|
385abae |
--- gcl-2.6.12.orig/h/notcomp.h
|
|
|
385abae |
+++ gcl-2.6.12/h/notcomp.h
|
|
|
385abae |
@@ -374,3 +374,5 @@ EXTER gmp_randfnptr_t Mersenne_Twister_G
|
|
|
385abae |
#endif
|
|
|
385abae |
|
|
|
385abae |
#define collect(p_,f_) (p_)=&(*(p_)=(f_))->c.c_cdr
|
|
|
385abae |
+#define READ_STREAM_OR_FASD(strm_) \
|
|
|
385abae |
+ type_of(strm_)==t_stream ? read_object_non_recursive(strm_) : fSread_fasd_top(strm_)
|
|
|
385abae |
--- gcl-2.6.12.orig/o/cmpaux.c
|
|
|
385abae |
+++ gcl-2.6.12/o/cmpaux.c
|
|
|
385abae |
@@ -363,7 +363,7 @@ do_init(object *statVV) {
|
|
|
385abae |
|
|
|
385abae |
if (ch!='\n') {
|
|
|
385abae |
struct fasd * fd;
|
|
|
385abae |
- faslfile=FFN(fSopen_fasd)(faslfile,sKinput,OBJNULL,Cnil);
|
|
|
385abae |
+ faslfile=fSopen_fasd(faslfile,sKinput,OBJNULL,Cnil);
|
|
|
385abae |
fd=(struct fasd *)faslfile->v.v_self;
|
|
|
385abae |
n=fix(fd->table_length);
|
|
|
385abae |
fd->table->v.v_self=alloca(n*sizeof(object));
|
|
|
385abae |
@@ -371,7 +371,7 @@ do_init(object *statVV) {
|
|
|
385abae |
fd->table->v.v_dim=faslfile->v.v_self[1]->v.v_fillp=n;
|
|
|
385abae |
}
|
|
|
385abae |
|
|
|
385abae |
- n=fix(type_of(faslfile)==t_stream ? read_object(faslfile) : FFN(fSread_fasd_top)(faslfile));
|
|
|
385abae |
+ n=fix(READ_STREAM_OR_FASD(faslfile));
|
|
|
385abae |
sSPinit->s.s_dbind=fasl_vec=fSmake_vector1_1(n,aet_object,Cnil);
|
|
|
385abae |
|
|
|
385abae |
/* switch SPinit to point to a vector of function addresses */
|
|
|
385abae |
@@ -395,9 +395,9 @@ do_init(object *statVV) {
|
|
|
385abae |
*/
|
|
|
385abae |
/* Now we can run the forms f1 f2 in form= (%init f1 f2 ...) */
|
|
|
385abae |
|
|
|
385abae |
- FFN(fSload_stream)(faslfile,Cnil);
|
|
|
385abae |
+ fSload_stream(faslfile,Cnil);
|
|
|
385abae |
if (type_of(faslfile)!=t_stream)
|
|
|
385abae |
- FFN(fSclose_fasd)(faslfile);
|
|
|
385abae |
+ fSclose_fasd(faslfile);
|
|
|
385abae |
|
|
|
385abae |
}
|
|
|
385abae |
|
|
|
385abae |
--- gcl-2.6.12.orig/o/fasdump.c
|
|
|
385abae |
+++ gcl-2.6.12/o/fasdump.c
|
|
|
385abae |
@@ -561,6 +561,13 @@ DEFUN_NEW("READ-FASD-TOP",object,fSread_
|
|
|
385abae |
{ RESTORE_FASD;
|
|
|
385abae |
return result;}
|
|
|
385abae |
}
|
|
|
385abae |
+#ifdef STATIC_FUNCTION_POINTERS
|
|
|
385abae |
+object
|
|
|
385abae |
+fSread_fasd_top(object x) {
|
|
|
385abae |
+ return FFN(fSread_fasd_top)(x);
|
|
|
385abae |
+}
|
|
|
385abae |
+#endif
|
|
|
385abae |
+
|
|
|
385abae |
|
|
|
385abae |
object sLeq;
|
|
|
385abae |
object sSPinit;
|
|
|
385abae |
@@ -618,6 +625,12 @@ DEFUN_NEW("OPEN-FASD",object,fSopen_fasd
|
|
|
385abae |
fd->table_length=current_fasd.table_length;
|
|
|
385abae |
return result;
|
|
|
385abae |
}}
|
|
|
385abae |
+#ifdef STATIC_FUNCTION_POINTERS
|
|
|
385abae |
+object
|
|
|
385abae |
+fSopen_fasd(object stream, object direction, object eof, object tabl) {
|
|
|
385abae |
+ return FFN(fSopen_fasd)(stream,direction,eof,tabl);
|
|
|
385abae |
+}
|
|
|
385abae |
+#endif
|
|
|
385abae |
|
|
|
385abae |
DEFUN_NEW("CLOSE-FASD",object,fSclose_fasd,SI,1,1,NONE,OO,OO,OO,OO,(object ar),"")
|
|
|
385abae |
/* static object */
|
|
|
385abae |
@@ -649,6 +662,12 @@ DEFUN_NEW("CLOSE-FASD",object,fSclose_fa
|
|
|
385abae |
return ar;
|
|
|
385abae |
|
|
|
385abae |
}
|
|
|
385abae |
+#ifdef STATIC_FUNCTION_POINTERS
|
|
|
385abae |
+object
|
|
|
385abae |
+fSclose_fasd(object ar) {
|
|
|
385abae |
+ return FFN(fSclose_fasd)(ar);
|
|
|
385abae |
+}
|
|
|
385abae |
+#endif
|
|
|
385abae |
|
|
|
385abae |
|
|
|
385abae |
#define HASHP(x) 1
|
|
|
385abae |
--- gcl-2.6.12.orig/o/file.d
|
|
|
385abae |
+++ gcl-2.6.12/o/file.d
|
|
|
385abae |
@@ -1645,8 +1645,7 @@ DEFUN_NEW("LOAD-STREAM",object,fSload_st
|
|
|
385abae |
for (;;) {
|
|
|
385abae |
preserving_whitespace_flag = FALSE;
|
|
|
385abae |
detect_eos_flag = TRUE;
|
|
|
385abae |
- x = type_of(strm)==t_stream ? read_object_non_recursive(strm) : FFN(fSread_fasd_top)(strm);
|
|
|
385abae |
- if (x == OBJNULL)
|
|
|
385abae |
+ if ((x = READ_STREAM_OR_FASD(strm))==OBJNULL)
|
|
|
385abae |
break;
|
|
|
385abae |
{
|
|
|
385abae |
object *base = vs_base, *top = vs_top, *lex = lex_env;
|
|
|
385abae |
@@ -1672,6 +1671,12 @@ DEFUN_NEW("LOAD-STREAM",object,fSload_st
|
|
|
385abae |
RETURN1(Ct);
|
|
|
385abae |
|
|
|
385abae |
}
|
|
|
385abae |
+#ifdef STATIC_FUNCTION_POINTERS
|
|
|
385abae |
+object
|
|
|
385abae |
+fSload_stream(object strm,object print) {
|
|
|
385abae |
+ return FFN(fSload_stream)(strm,print);
|
|
|
385abae |
+}
|
|
|
385abae |
+#endif
|
|
|
385abae |
|
|
|
385abae |
DEFUN_NEW("LOAD-FASL",object,fSload_fasl,SI,2,2,NONE,OO,OO,OO,OO,(object fasl_filename,object print),"") {
|
|
|
385abae |
|