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

Diff of /gcl/o/print.d

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

revision 1.25 by camm, Wed Sep 7 02:57:21 2005 UTC revision 1.26 by camm, Thu Oct 6 20:30:08 2005 UTC
# Line 647  object obj,a_list; Line 647  object obj,a_list;
647              return Cnil;              return Cnil;
648          if (type_of(a_list) == t_symbol)          if (type_of(a_list) == t_symbol)
649              a_list = symbol_value(a_list);              a_list = symbol_value(a_list);
650          if (type_of(a_list) == t_cons)          if (consp(a_list))
651              a_list = a_list->c.c_cdr;              a_list = a_list->c.c_cdr;
652    
653          while ((a_list != Cnil) &&          while ((a_list != Cnil) &&
654                 (type_of(a_list) == t_cons) &&                 (consp(a_list)) &&
655                  !endp(a_list)) {                  !endp(a_list)) {
656              if ((a_list->c.c_car != Cnil) &&              if ((a_list->c.c_car != Cnil) &&
657                  (type_of(a_list->c.c_car) == t_cons) &&                  (consp(a_list->c.c_car)) &&
658                  (a_list->c.c_car->c.c_car != Cnil) &&                  (a_list->c.c_car->c.c_car != Cnil) &&
659                  (a_list->c.c_car->c.c_cdr != Cnil) &&                  (a_list->c.c_car->c.c_cdr != Cnil) &&
660                  (ifuncall2(sLtypep,obj,a_list->c.c_car->c.c_car) != Cnil)) {                  (ifuncall2(sLtypep,obj,a_list->c.c_car->c.c_car) != Cnil)) {
661                      if (pri == Cnil) {                      if (pri == Cnil) {
662                              ret =a_list->c.c_car->c.c_cdr;                              ret =a_list->c.c_car->c.c_cdr;
663                              if ((type_of(a_list->c.c_car->c.c_cdr) == t_cons) &&                              if ((consp(a_list->c.c_car->c.c_cdr)) &&
664                                  (type_of(a_list->c.c_car->c.c_cdr->c.c_cdr) == t_cons) &&                                  (consp(a_list->c.c_car->c.c_cdr->c.c_cdr)) &&
665                        (ifuncall2(sLtypep,a_list->c.c_car->c.c_cdr->c.c_cdr->c.c_car,sLnumber) != Cnil))                        (ifuncall2(sLtypep,a_list->c.c_car->c.c_cdr->c.c_cdr->c.c_car,sLnumber) != Cnil))
666                                      pri =a_list->c.c_car->c.c_cdr->c.c_cdr->c.c_car;                                      pri =a_list->c.c_car->c.c_cdr->c.c_cdr->c.c_car;
667                              else                              else
668                                      pri =make_fixnum(0);                                      pri =make_fixnum(0);
669                      } else                      } else
670                      if ((type_of(a_list->c.c_car->c.c_cdr) == t_cons) &&                      if ((consp(a_list->c.c_car->c.c_cdr)) &&
671                          (type_of(a_list->c.c_car->c.c_cdr->c.c_cdr) == t_cons) &&                          (consp(a_list->c.c_car->c.c_cdr->c.c_cdr)) &&
672                (ifuncall2(sLtypep,a_list->c.c_car->c.c_cdr->c.c_cdr->c.c_car,sLnumber) != Cnil) &&                (ifuncall2(sLtypep,a_list->c.c_car->c.c_cdr->c.c_cdr->c.c_car,sLnumber) != Cnil) &&
673                   (number_compare(a_list->c.c_car->c.c_cdr->c.c_cdr->c.c_car,pri)>0)) {                   (number_compare(a_list->c.c_car->c.c_cdr->c.c_cdr->c.c_car,pri)>0)) {
674                              ret =a_list->c.c_car->c.c_cdr;                              ret =a_list->c.c_car->c.c_cdr;
# Line 677  object obj,a_list; Line 677  object obj,a_list;
677              }              }
678              a_list = a_list->c.c_cdr;              a_list = a_list->c.c_cdr;
679          }          }
680          if (type_of(ret) == t_cons)          if (consp(ret))
681              ret = ret->c.c_car;              ret = ret->c.c_car;
682          return ret;          return ret;
683  }  }
# Line 1212  int level; Line 1212  int level;
1212                  }                  }
1213                  if (PRINTpretty) {                  if (PRINTpretty) {
1214                  if (x->c.c_car == sLquote &&                  if (x->c.c_car == sLquote &&
1215                      type_of(x->c.c_cdr) == t_cons &&                      consp(x->c.c_cdr) &&
1216                      x->c.c_cdr->c.c_cdr == Cnil) {                      x->c.c_cdr->c.c_cdr == Cnil) {
1217                          write_ch('\'');                          write_ch('\'');
1218                          write_object(x->c.c_cdr->c.c_car, level);                          write_object(x->c.c_cdr->c.c_car, level);
1219                          break;                          break;
1220                  }                  }
1221                  if (x->c.c_car == sLfunction &&                  if (x->c.c_car == sLfunction &&
1222                      type_of(x->c.c_cdr) == t_cons &&                      consp(x->c.c_cdr) &&
1223                      x->c.c_cdr->c.c_cdr == Cnil) {                      x->c.c_cdr->c.c_cdr == Cnil) {
1224                          write_ch('#');                          write_ch('#');
1225                          write_ch('\'');                          write_ch('\'');
# Line 1247  int level; Line 1247  int level;
1247                          y = x->c.c_car;                          y = x->c.c_car;
1248                          x = x->c.c_cdr;                          x = x->c.c_cdr;
1249                          write_object(y, level+1);                          write_object(y, level+1);
1250                          if (type_of(x) != t_cons) {                          if (!consp(x)) {
1251                                  if (x != Cnil) {                                  if (x != Cnil) {
1252                                          write_ch(INDENT);                                          write_ch(INDENT);
1253                                          write_str(". ");                                          write_str(". ");
# Line 1295  int level; Line 1295  int level;
1295                                  write_str("()");                                  write_str("()");
1296                          else                          else
1297                                  write_object(y, level+1);                                  write_object(y, level+1);
1298                          if (type_of(x) != t_cons) {                          if (!consp(x)) {
1299                                  if (x != Cnil) {                                  if (x != Cnil) {
1300                                          write_ch(INDENT);                                          write_ch(INDENT);
1301                                          write_str(". ");                                          write_str(". ");

Legend:
Removed from v.1.25  
changed lines
  Added in v.1.26

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