/[gcl]/gcl/o/assignment.c
ViewVC logotype

Diff of /gcl/o/assignment.c

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

revision 1.4 by camm, Tue Sep 24 19:01:45 2002 UTC revision 1.5 by camm, Fri Oct 18 21:28:53 2002 UTC
# Line 250  object sym; Line 250  object sym;
250  void  void
251  Fsetf(object form)  Fsetf(object form)
252  {  {
253          object result;          object result,*t,*t1;
254          if (endp(form)) {          if (endp(form)) {
255                  vs_base = vs_top;                  vs_base = vs_top;
256                  vs_push(Cnil);                  vs_push(Cnil);
# Line 263  Fsetf(object form) Line 263  Fsetf(object form)
263                          result = setf(MMcar(form), MMcadr(form));                          result = setf(MMcar(form), MMcadr(form));
264                          form = MMcddr(form);                          form = MMcddr(form);
265                  } while (!endp(form));                  } while (!endp(form));
266                    t=vs_base;
267                    t1=vs_top;
268                  vs_top = vs_base = top;                  vs_top = vs_base = top;
269                  vs_push(result);                  for (;t<t1;t++)
270                      vs_push(*t);
271    
272          }          }
273  }  }
# Line 295  setf(object place, object form) Line 298  setf(object place, object form)
298    
299          if (type_of(place) != t_cons) {          if (type_of(place) != t_cons) {
300                  setq(place, result=Ieval(form));                  setq(place, result=Ieval(form));
301                    vs_top=vs_base+1;
302                  return result;                  return result;
303          }          }
304          fun = place->c.c_car;          fun = place->c.c_car;

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

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