Branch: Tag:

1998-02-27

1998-02-27 08:41:45 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

lots of changes

Rev: src/acconfig.h:1.16
Rev: src/array.c:1.30
Rev: src/array.h:1.11
Rev: src/builtin_functions.c:1.74
Rev: src/compilation.h:1.7
Rev: src/configure.in:1.160
Rev: src/dynamic_load.c:1.24
Rev: src/interpret.c:1.69
Rev: src/interpret.h:1.19
Rev: src/language.yacc:1.61
Rev: src/las.c:1.53
Rev: src/main.c:1.42
Rev: src/modules/Makefile.in:1.15
Rev: src/modules/dynamic_module_makefile.in:1.31
Rev: src/modules/spider/dumudp.c:1.34
Rev: src/modules/static_module_makefile.in:1.25
Rev: src/modules/system/system.c:1.42
Rev: src/program.c:1.64
Rev: src/program.h:1.33

4:   ||| See the files COPYING and DISCLAIMER for more information.   \*/   #include "global.h" - RCSID("$Id: las.c,v 1.52 1998/02/24 23:01:29 hubbe Exp $"); + RCSID("$Id: las.c,v 1.53 1998/02/27 08:39:20 hubbe Exp $");      #include "language.h"   #include "interpret.h"
1405:    break;       case F_INDEX: -  type_a=CAR(n)->type; -  type_b=CDR(n)->type; -  if(!check_indexing(type_a, type_b, n)) -  my_yyerror("Indexing on illegal type."); -  n->type=index_type(type_a,n); -  break; -  +     case F_ARROW:    type_a=CAR(n)->type;    type_b=CDR(n)->type;    if(!check_indexing(type_a, type_b, n)) -  +  if(!catch_level)    my_yyerror("Indexing on illegal type.");    n->type=index_type(type_a,n);    break;
1479:       if(max_args < args)    { -  my_yyerror("Too many arguments to %s. (%d %d)\n",name,max_args,args); +  my_yyerror("Too many arguments to %s.\n",name);    }    else if(max_correct_args == args)    {
2107:    if(apply_low_safe_and_stupid(fake_object, jump))    {    /* Generate error message */ +  if(!catch_level) +  {    if(throw_value.type == T_ARRAY && throw_value.u.array->size)    {    union anything *a;
2120:    }else{    yyerror("Nonstandard error format.");    } +  }    }else{    if(foo.yes)    pop_n_elems(sp-save_sp);
2162:    break;       case 0: +  if(catch_level) return n;    free_node(n);    n=0;    break;       case 1: -  +  if(catch_level && IS_ZERO(sp-1)) +  { +  pop_stack(); +  return n; +  }    free_node(n);    n=mksvaluenode(sp-1);    pop_stack();