#############################################################################
##
#A  genVevarg            CHEVIE library          Meinolf Geck & Frank L"ubeck
##
#Y  Copyright 1992--1993,  Lehrstuhl D f"ur Mathematik,    RWTH Aachen,   and
#Y                         IWR   der   Universit"at    Heidelberg,   Germany.
##
####################################################################
##
##  
## 
makelist := proc(l)
  local erg, a0, testlist;
  testlist:=proc(l)
    local a;
    for a in l do
      if not (type(a,integer) or (type(a,`..`) 
                                  and type(op(1,a),integer)
                                  and type(op(2,a),integer))) then
        RETURN(false);
      fi;
    od;
    true;
  end:
  if type (l,integer) then 
    erg := [l];
  elif  type (l,list) and testlist(l)=true then
    erg := [];
    for a0 in l do
      if type (a0,integer) then 
        erg := [op(erg),a0];
      else 
        erg := [op(erg),$ a0];
      fi;
    od;
  else
    ERROR(`Invalid argument`,l);
  fi;
  erg;
end:

####################################################################
##
##  
## 
tablenumber:=proc(t)
  if not (type(t,array) and nops([op(2,eval(t))])=2 and
     op(1,op(2,eval(t))[1])=-2 and op(1,op(2,eval(t))[2])=-1
     and type(t[-2,0], string)) then
       ERROR(`this is no generic character table`,t);
  fi;
  t[-2,0];
end:
