This patch should be applied after
	diff_pari_fixed_interfaces_011 
	diff_pari_highlevel_hash_011a 

--- ././src/language/highlevel.c-pre-long	Wed Sep 23 13:19:12 1998
+++ ././src/language/highlevel.c	Sun Sep 27 00:27:40 1998
@@ -161,7 +161,7 @@ entree functions_highlevel[]={
 {"plotrpoint",35,(void*)rectrpoint,10,"vLGG"},
 {"plotscale",59,(void*)rectscale,10,"vLGGGG"},
 {"plotstring",57,(void*)rectstring,10,"vLs"},
-{"plotterm",16,(void*)term_set,10,"sl"},
+{"plotterm",16,(void*)term_set,10,"ls"},
 {"psdraw",99,(void*)postdraw,10,"vG"},
 {"psploth",99,(void*)postploth,10,"V=GGIpD0,L,D0,L,"},
 {"psplothraw",25,(void*)postplothraw,10,"GGD0,L,"},
--- ././src/language/init.c-pre-long	Wed Sep 23 22:04:22 1998
+++ ././src/language/init.c	Sun Sep 27 11:56:40 1998
@@ -1190,7 +1190,8 @@ Str0(char *s) { return strtoGEN(s, strle
  *                   
  *     The user-given args are read first, then completed by the defaults
  *  
- * Return type: GEN by default, otherwise
+ * Return type: GEN by default, otherwise (should be the first char,
+ *     or the char immediately after 'x')
  *  l Return long
  *  v Return void
  *
@@ -1198,8 +1199,11 @@ Str0(char *s) { return strtoGEN(s, strle
  *  = Separator '=' required.
  *
  * Origin:
- *  x Installed foreign function. Put the ep of the function as an argument,
- *  then call installedHandler (???).
+ *  x Installed foreign function. Put the ep of the function as the
+ *       first argument, fill the rest with PARI arguments, 
+ *       then call installedHandler with these arguments.
+ *       Should be the first char in the code.
+ *
  ****************************************************************************
  * If new codes are added, change identifier and skipidentifier.
  *
@@ -1251,7 +1255,7 @@ entree functions_basic[]={
 {"binary",18,(void*)binaire,2,"G"},
 {"binomial",21,(void*)binome,4,"GL"},
 {"bittest",2,(void*)gbittest,2,"GG"},
-{"bnfcertify",10,(void*)certifybuchall,6,"Gl"},
+{"bnfcertify",10,(void*)certifybuchall,6,"lG"},
 {"bnfclassunit",99,(void*)bnfclassunit0,6,"GD0,L,DGp"},
 {"bnfclgp",99,(void*)classgrouponly,6,"GDGp"},
 {"bnfdecodemodule",2,(void*)decodemodule,6,"GG"},
@@ -1275,7 +1279,7 @@ entree functions_basic[]={
 {"bnrdisc",62,(void*)bnrdisc0,6,"GD0,G,D0,G,D0,L,p"},
 {"bnrdisclist",99,(void*)bnrdisclist0,6,"GGD0,G,D0,L,"},
 {"bnrinit",99,(void*)bnrinit0,6,"GGD0,L,p"},
-{"bnrisconductor",99,(void*)bnrisconductor,6,"GD0,G,D0,G,pl"},
+{"bnrisconductor",99,(void*)bnrisconductor,6,"lGD0,G,D0,G,p"},
 {"bnrisprincipal",99,(void*)isprincipalrayall,6,"GGD1,L,"},
 {"bnrrootnumber",99,(void*)bnrrootnumber,6,"GGD0,L,p"},
 {"bnrstark",99,(void*)bnrstark,6,"GGD0,L,p"},
@@ -1318,7 +1322,7 @@ entree functions_basic[]={
 {"ellheight",99,(void*)ellheight0,5,"GGD0,L,p"},
 {"ellheightmatrix",29,(void*)mathell,5,"GGp"},
 {"ellinit",99,(void*)ellinit0,5,"GD0,L,p"},
-{"ellisoncurve",20,(void*)oncurve,5,"GGl"},
+{"ellisoncurve",20,(void*)oncurve,5,"lGG"},
 {"ellj",1,(void*)jell,5,"Gp"},
 {"elllocalred",2,(void*)localreduction,5,"GG"},
 {"elllseries",99,(void*)lseriesell,5,"GGDGp"},
@@ -1326,7 +1330,7 @@ entree functions_basic[]={
 {"ellordinate",29,(void*)ordell,5,"GGp"},
 {"ellpointtoz",29,(void*)zell,5,"GGp"},
 {"ellpow",99,(void*)powell,5,"GGGp"},
-{"ellrootno",99,(void*)ellrootno,5,"GD1,G,l"},
+{"ellrootno",99,(void*)ellrootno,5,"lGD1,G,"},
 {"ellsub",99,(void*)subell,5,"GGGp"},
 {"elltaniyama",1,(void*)taniyama,5,"Gp"},
 {"elltors",1,(void*)torsell,5,"Gp"},
@@ -1362,7 +1366,7 @@ entree functions_basic[]={
 {"getrand",0,(void*)getrand,11,""},
 {"getstack",0,(void*)getstack,11,""},
 {"gettime",0,(void*)gettime,11,""},
-{"hilbert",99,(void*)hil0,4,"GGDGl"},
+{"hilbert",99,(void*)hil0,4,"lGGDG"},
 {"hyperu",99,(void*)hyperu,3,"GGGp"},
 {"idealadd",3,(void*)idealadd,6,"GGG"},
 {"idealaddtoone",99,(void*)idealaddtoone0,6,"GGDG"},
@@ -1386,7 +1390,7 @@ entree functions_basic[]={
 {"idealred",99,(void*)ideallllred,6,"GGD0,G,p"},
 {"idealstar",99,(void*)idealstar0,6,"GGD1,L,"},
 {"idealtwoelt",99,(void*)ideal_two_elt0,6,"GGDG"},
-{"idealval",30,(void*)idealval,6,"GGGl"},
+{"idealval",30,(void*)idealval,6,"lGGG"},
 {"ideleprincipal",29,(void*)principalidele,6,"GGp"},
 {"if",80,NULL,11,NULL},
 {"imag",18,(void*)gimag,2,"G"},
@@ -1402,7 +1406,7 @@ entree functions_basic[]={
 {"kronecker",2,(void*)gkronecker,4,"GG"},
 {"lcm",2,(void*)glcm,4,"GG"},
 {"length",18,(void*)glength,2,"G"},
-{"lex",20,(void*)lexcmp,2,"GGl"},
+{"lex",20,(void*)lexcmp,2,"lGG"},
 {"lift",99,(void*)lift0,2,"GDn"},
 {"lindep",99,(void*)lindep0,8,"GD0,L,p"},
 {"listcreate",11,(void*)listcreate,8,"L"},
@@ -1431,13 +1435,13 @@ entree functions_basic[]={
 {"matindexrank",18,(void*)indexrank,8,"G"},
 {"matintersect",2,(void*)intersect,8,"GG"},
 {"matinverseimage",2,(void*)inverseimage,8,"GG"},
-{"matisdiagonal",10,(void*)isdiagonal,8,"Gl"},
+{"matisdiagonal",10,(void*)isdiagonal,8,"lG"},
 {"matker",99,(void*)matker0,8,"GD0,L,p"},
 {"matkerint",99,(void*)matkerint0,8,"GD0,L,"},
 {"matmuldiagonal",2,(void*)matmuldiagonal,8,"GG"},
 {"matmultodiagonal",2,(void*)matmultodiagonal,8,"GG"},
 {"matpascal",11,(void*)matpascal,8,"L"},
-{"matrank",10,(void*)rank,8,"Gl"},
+{"matrank",10,(void*)rank,8,"lG"},
 {"matrix",49,(void*)matrice,8,"GGVVI"},
 {"matrixqz",2,(void*)matrixqz0,8,"GG"},
 {"matsize",18,(void*)matsize,8,"G"},
@@ -1469,7 +1473,7 @@ entree functions_basic[]={
 {"nfeltpowmodpr",4,(void*)element_powmodpr,6,"GGGG"},
 {"nfeltreduce",3,(void*)element_reduce,6,"GGG"},
 {"nfeltreducemodpr",3,(void*)nfreducemodpr2,6,"GGG"},
-{"nfeltval",30,(void*)element_val,6,"GGGl"},
+{"nfeltval",30,(void*)element_val,6,"lGGG"},
 {"nffactor",99,(void*)nffactor,6,"GG"},
 {"nffactormod",99,(void*)nffactormod,6,"GGG"},
 {"nfgaloisapply",3,(void*)galoisapply,6,"GGG"},
@@ -1478,7 +1482,7 @@ entree functions_basic[]={
 {"nfhnf",2,(void*)nfhermite,6,"GG"},
 {"nfhnfmod",3,(void*)nfhermitemod,6,"GGG"},
 {"nfinit",99,(void*)nfinit0,6,"GD0,L,p"},
-{"nfisideal",20,(void*)isideal,6,"GGl"},
+{"nfisideal",20,(void*)isideal,6,"lGG"},
 {"nfisincl",25,(void*)nfisincl0,6,"GGD0,L,"},
 {"nfisisom",25,(void*)nfisisom0,6,"GGD0,L,"},
 {"nfkermodpr",3,(void*)nfkermodpr,6,"GGG"},
@@ -1496,12 +1500,12 @@ entree functions_basic[]={
 {"numtoperm",24,(void*)permute,2,"LG"},
 {"omega",18,(void*)gomega,4,"G"},
 {"padicappr",2,(void*)apprgen9,7,"GG"},
-{"padicprec",20,(void*)padicprec,2,"GGl"},
+{"padicprec",20,(void*)padicprec,2,"lGG"},
 {"permtonum",18,(void*)permuteInv,2,"G"},
 {"polcoeff",99,(void*)polcoeff0,2,"GLDn"},
 {"polcompositum",25,(void*)polcompositum0,6,"GGD0,L,"},
 {"polcyclo",99,(void*)cyclo,7,"LDn"},
-{"poldegree",99,(void*)poldegree,7,"GDnl"},
+{"poldegree",99,(void*)poldegree,7,"lGDn"},
 {"poldisc",18,(void*)discsr,7,"G"},
 {"poldiscreduced",18,(void*)reduceddiscsmith,7,"G"},
 {"polgalois",99,(void*)galois,6,"Gp"},
@@ -1518,7 +1522,7 @@ entree functions_basic[]={
 {"polroots",99,(void*)roots0,7,"GD0,L,p"},
 {"polrootsmod",25,(void*)rootmod0,7,"GGD0,L,"},
 {"polrootspadic",32,(void*)rootpadic,7,"GGL"},
-{"polsturm",99,(void*)sturmpart,7,"GDGDGl"},
+{"polsturm",99,(void*)sturmpart,7,"lGDGDG"},
 {"polsubcyclo",99,(void*)subcyclo,6,"GGDn"},
 {"polsylvestermatrix",29,(void*)sylvestermatrix,7,"GGp"},
 {"polsym",21,(void*)polsym,7,"GL"},
@@ -1585,7 +1589,7 @@ entree functions_basic[]={
 {"rnfidealtwoelt",2,(void*)rnfidealtwoelement,6,"GG"},
 {"rnfidealup",2,(void*)rnfidealup,6,"GG"},
 {"rnfinit",29,(void*)rnfinitalg,6,"GGp"},
-{"rnfisfree",20,(void*)rnfisfree,6,"GGl"},
+{"rnfisfree",20,(void*)rnfisfree,6,"lGG"},
 {"rnfisnorm",99,(void*)rnfisnorm,6,"GGGD1,L,p"},
 {"rnfkummer",99,(void*)rnfkummer,6,"GGD0,L,p"},
 {"rnflllgram",99,(void*)rnflllgram,6,"GGGp"},
@@ -1595,12 +1599,12 @@ entree functions_basic[]={
 {"rnfpseudobasis",2,(void*)rnfpseudobasis,6,"GG"},
 {"rnfsteinitz",2,(void*)rnfsteinitz,6,"GG"},
 {"round",99,(void*)round0,2,"GD0,L,"},
-{"rounderror",10,(void*)rounderror,2,"Gl"},
+{"rounderror",10,(void*)rounderror,2,"lG"},
 {"serconvol",2,(void*)convol,7,"GG"},
 {"serlaplace",18,(void*)laplace,7,"G"},
 {"serreverse",18,(void*)recip,7,"G"},
 {"setintersect",2,(void*)setintersect,8,"GG"},
-{"setisset",10,(void*)setisset,8,"Gl"},
+{"setisset",10,(void*)setisset,8,"lG"},
 {"setminus",2,(void*)setminus,8,"GG"},
 {"setrand",99,(void*)setrand,11,"Lp"},
 {"setsearch",99,(void*)setsearch,8,"lGGD0,L,"},
@@ -1608,12 +1612,12 @@ entree functions_basic[]={
 {"shift",99,(void*)gshift,1,"GL"},
 {"shiftmul",99,(void*)gmul2n,1,"GL"},
 {"sigma",99,(void*)gsumdivk,4,"GD1,L,"},
-{"sign",10,(void*)gsigne,1,"Gl"},
+{"sign",10,(void*)gsigne,1,"lG"},
 {"simplify",18,(void*)simplify,2,"G"},
 {"sin",1,(void*)gsin,3,"Gp"},
 {"sinh",1,(void*)gsh,3,"Gp"},
-{"sizebyte",10,(void*)taille2,2,"Gl"},
-{"sizedigit",10,(void*)gsize,2,"Gl"},
+{"sizebyte",10,(void*)taille2,2,"lG"},
+{"sizedigit",10,(void*)gsize,2,"lG"},
 {"solve",37,(void*)zbrent,9,"V=GGIp"},
 {"sqr",18,(void*)gsqr,3,"G"},
 {"sqrt",1,(void*)gsqrt,3,"Gp"},
@@ -1636,7 +1640,7 @@ entree functions_basic[]={
 {"trace",1,(void*)gtrace,8,"Gp"},
 {"truncate",99,(void*)trunc0,2,"GD0,L,"},
 {"until",82,NULL,11,NULL},
-{"valuation",20,(void*)ggval,2,"GGl"},
+{"valuation",20,(void*)ggval,2,"lGG"},
 {"variable",18,(void*)gpolvar,2,"G"},
 {"veceint1",29,(void*)veceint1,3,"GGp"},
 {"vecextract",99,(void*)extract0,8,"GGDG"},
