/[gcl]/gcl/o/list.d
ViewVC logotype

Diff of /gcl/o/list.d

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.10 by camm, Wed Sep 25 14:05:42 2002 UTC revision 1.11 by camm, Fri Sep 27 21:13:56 2002 UTC
# Line 993  Lreconc() { Line 993  Lreconc() {
993          check_type_non_negative_integer(&nn);          check_type_non_negative_integer(&nn);
994          if (type_of(nn) != t_fixnum)          if (type_of(nn) != t_fixnum)
995                  @(return Cnil)                  @(return Cnil)
996          for (i = 0;  !endp(lis) && proper_cons(lis);  i++, lis = lis->c.c_cdr)          for (i = 0;  !endp(lis) && fix_dot(lis)==lis;  i++, lis = lis->c.c_cdr)
997                  vs_check_push(lis->c.c_car);                  vs_check_push(lis->c.c_car);
998          if (i <= fix((nn))) {          if (i <= fix((nn))) {
999                  vs_top -= i;                  vs_top -= i;
# Line 1015  Lreconc() { Line 1015  Lreconc() {
1015          check_type_non_negative_integer(&nn);          check_type_non_negative_integer(&nn);
1016          if (type_of(nn) != t_fixnum)          if (type_of(nn) != t_fixnum)
1017                  @(return Cnil)                  @(return Cnil)
1018          for (i = 0, x = lis;  !endp(x) && proper_cons(x);  i++, x = x->c.c_cdr)          for (i = 0, x = lis;  !endp(x) && fix_dot(x)==x;  i++, x = x->c.c_cdr)
1019                  ;                  ;
1020          if (i <= fix((nn)))          if (i <= fix((nn)))
1021                  @(return Cnil)                  @(return Cnil)
# Line 1032  Lldiff() { Line 1032  Lldiff() {
1032    
1033          check_arg(2);          check_arg(2);
1034          for (i = 0, x = vs_base[0];  !endp(x);  i++, x = x->c.c_cdr)          for (i = 0, x = vs_base[0];  !endp(x);  i++, x = x->c.c_cdr)
1035                  if (dot_list_eq(x,vs_base[1]))  /*              if (dot_list_eq(x,vs_base[1]))*/
1036                    if (fix_dot(x)==vs_base[1])
1037                          break;                          break;
1038                  else                  else
1039                          vs_check_push(x->c.c_car);                          vs_check_push(x->c.c_car);
# Line 1159  check_alist(alist) Line 1160  check_alist(alist)
1160                  list = list->c.c_cdr;                  list = list->c.c_cdr;
1161          }          }
1162          restoreTEST;          restoreTEST;
1163            list=fix_dot(list);
1164          @(return list)          @(return list)
1165  @)  @)
1166    
# Line 1186  Ltailp() { Line 1188  Ltailp() {
1188    
1189          check_arg(2);          check_arg(2);
1190          for (x = vs_base[1];  !endp(x);  x = x->c.c_cdr)          for (x = vs_base[1];  !endp(x);  x = x->c.c_cdr)
1191                  if (dot_list_eq(x,vs_base[0])) {  /*              if (dot_list_eq(x,vs_base[0])) {*/
1192                    if (fix_dot(x)==vs_base[0]) {
1193                          vs_base[0] = Ct;                          vs_base[0] = Ct;
1194                          vs_popp;                          vs_popp;
1195                          return;                          return;
# Line 1342  init_list_function() Line 1345  init_list_function()
1345    
1346          sKinitial_element = make_keyword("INITIAL-ELEMENT");          sKinitial_element = make_keyword("INITIAL-ELEMENT");
1347    
         memset(&my_dot_pit,0,sizeof(my_dot_pit));  
         my_dot_pit.t=t_symbol;  
         my_dot_pit.c_car=my_dot_pit.c_cdr=(object)&my_dot_pit;  
   
         memset(&my_dot,0,sizeof(my_dot));  
         my_dot.t=t_cons;  
         my_dot.c_car=my_dot.c_cdr=(object)&my_dot_pit;  
   
1348          make_function("CAR", Lcar);          make_function("CAR", Lcar);
1349          make_function("CDR", Lcdr);          make_function("CDR", Lcdr);
1350    

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26