/[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.18 by camm, Wed Sep 7 03:44:20 2005 UTC revision 1.19 by camm, Thu Oct 6 20:30:08 2005 UTC
# Line 326  setf(object place, object form) Line 326  setf(object place, object form)
326  /*      extern void siLfill_pointer_set(void); */  /*      extern void siLfill_pointer_set(void); */
327          extern void siLhash_set();          extern void siLhash_set();
328    
329          if (type_of(place) != t_cons) {          if (!consp(place)) {
330            setq(place, result=Ieval(form));            setq(place, result=Ieval(form));
331            vs_top=vs_base+1;            vs_top=vs_base+1;
332            return result;            return result;
# Line 340  setf(object place, object form) Line 340  setf(object place, object form)
340            sym = Ieval(car(args));            sym = Ieval(car(args));
341            key = Ieval(car(Mcdr(args)));            key = Ieval(car(Mcdr(args)));
342            deflt1 = Mcddr(args);            deflt1 = Mcddr(args);
343            if ( type_of(deflt1) == t_cons ) {            if ( consp(deflt1) ) {
344                deflt = Ieval(car(deflt1));                deflt = Ieval(car(deflt1));
345            }            }
346            val = Ieval(form);            val = Ieval(form);
# Line 358  setf(object place, object form) Line 358  setf(object place, object form)
358          if (fun == sLcar) {          if (fun == sLcar) {
359                  x = Ieval(Mcar(args));                  x = Ieval(Mcar(args));
360                  result = Ieval(form);                  result = Ieval(form);
361                  if (type_of(x) != t_cons)                  if (!consp(x))
362                          FEerror("~S is not a cons.", 1, x);                          FEerror("~S is not a cons.", 1, x);
363                  Mcar(x) = result;                  Mcar(x) = result;
364                  return result;                  return result;
# Line 366  setf(object place, object form) Line 366  setf(object place, object form)
366          if (fun == sLcdr) {          if (fun == sLcdr) {
367                  x = Ieval(Mcar(args));                  x = Ieval(Mcar(args));
368                  result = Ieval(form);                  result = Ieval(form);
369                  if (type_of(x) != t_cons)                  if (!consp(x))
370                          FEerror("~S is not a cons.", 1, x);                          FEerror("~S is not a cons.", 1, x);
371                  Mcdr(x) = result;                  Mcdr(x) = result;
372                  return result;                  return result;
# Line 384  setf(object place, object form) Line 384  setf(object place, object form)
384          }          }
385    
386          x = getf(fun->s.s_plist, sSstructure_access, Cnil);          x = getf(fun->s.s_plist, sSstructure_access, Cnil);
387          if (x == Cnil || type_of(x) != t_cons)          if (x == Cnil || !consp(x))
388                  goto OTHERWISE;                  goto OTHERWISE;
389          if (getf(fun->s.s_plist, sSsetf_lambda, Cnil) == Cnil)          if (getf(fun->s.s_plist, sSsetf_lambda, Cnil) == Cnil)
390                  goto OTHERWISE;                  goto OTHERWISE;
# Line 405  setf(object place, object form) Line 405  setf(object place, object form)
405          } else if (x == sLlist) {          } else if (x == sLlist) {
406                  for (x = y;  i > 0;  --i)                  for (x = y;  i > 0;  --i)
407                          x = cdr(x);                          x = cdr(x);
408                  if (type_of(x) != t_cons)                  if (!consp(x))
409                          goto OTHERWISE;                          goto OTHERWISE;
410                  x->c.c_car = result;                  x->c.c_car = result;
411          } else {          } else {
# Line 455  FFN(Fpush)(object form) Line 455  FFN(Fpush)(object form)
455          if (!endp(MMcddr(form)))          if (!endp(MMcddr(form)))
456                  FEtoo_many_argumentsF(form);                  FEtoo_many_argumentsF(form);
457          var = MMcadr(form);          var = MMcadr(form);
458          if (type_of(var) != t_cons) {          if (!consp(var)) {
459                  eval(MMcar(form));                  eval(MMcar(form));
460                  form = vs_base[0];                  form = vs_base[0];
461                  eval(var);                  eval(var);
# Line 486  FFN(Fpop)(object form) Line 486  FFN(Fpop)(object form)
486          if (!endp(MMcdr(form)))          if (!endp(MMcdr(form)))
487                  FEtoo_many_argumentsF(form);                  FEtoo_many_argumentsF(form);
488          var = MMcar(form);          var = MMcar(form);
489          if (type_of(var) != t_cons) {          if (!consp(var)) {
490                  eval(var);                  eval(var);
491                  setq(var, cdr(vs_base[0]));                  setq(var, cdr(vs_base[0]));
492                  vs_base[0] = car(vs_base[0]);                  vs_base[0] = car(vs_base[0]);
# Line 516  FFN(Fincf)(object form) Line 516  FFN(Fincf)(object form)
516          if (!endp(MMcdr(form)) && !endp(MMcddr(form)))          if (!endp(MMcdr(form)) && !endp(MMcddr(form)))
517                  FEtoo_many_argumentsF(form);                  FEtoo_many_argumentsF(form);
518          var = MMcar(form);          var = MMcar(form);
519          if (type_of(var) != t_cons) {          if (!consp(var)) {
520                  if (endp(MMcdr(form))) {                  if (endp(MMcdr(form))) {
521                          eval(var);                          eval(var);
522                          vs_base[0] = one_plus(vs_base[0]);                          vs_base[0] = one_plus(vs_base[0]);
# Line 554  FFN(Fdecf)(object form) Line 554  FFN(Fdecf)(object form)
554          if (!endp(MMcdr(form)) && !endp(MMcddr(form)))          if (!endp(MMcdr(form)) && !endp(MMcddr(form)))
555                  FEtoo_many_argumentsF(form);                  FEtoo_many_argumentsF(form);
556          var = MMcar(form);          var = MMcar(form);
557          if (type_of(var) != t_cons) {          if (!consp(var)) {
558                  if (endp(MMcdr(form))) {                  if (endp(MMcdr(form))) {
559                          eval(var);                          eval(var);
560                          vs_base[0] = one_minus(vs_base[0]);                          vs_base[0] = one_minus(vs_base[0]);

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19

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