# # # patch "Makefile.am" # from [4da41ad5f850629a5da1e19298b1543c197d55fb] # to [9b12dd606d6655c61add9863652e27f87761ae32] # # patch "asciik.cc" # from [3efb8a95adbaea90cf6eae94c5219395b63aedf3] # to [3bbf43ea09f940957f006cd5de9562fcf4ed5ec0] # ============================================================ --- Makefile.am 4da41ad5f850629a5da1e19298b1543c197d55fb +++ Makefile.am 9b12dd606d6655c61add9863652e27f87761ae32 @@ -81,7 +81,9 @@ MOST_SOURCES = \ package_revision.c package_revision.h \ package_full_revision.c package_full_revision.h \ option.cc option.hh options.cc options.hh options_list.hh \ - i18n.h parallel_iter.hh safe_map.hh pch.hh + i18n.h parallel_iter.hh safe_map.hh pch.hh \ + \ + asciik.cc NETXX_SOURCES = \ netxx/accept.cxx netxx/accept.h netxx/address.cxx \ ============================================================ --- asciik.cc 3efb8a95adbaea90cf6eae94c5219395b63aedf3 +++ asciik.cc 3bbf43ea09f940957f006cd5de9562fcf4ed5ec0 @@ -164,6 +164,8 @@ void draw(const size_t curr_items, const const set & curr_ghosts, const string & annotation) { std::cerr << "actual draw\n"; + std::cerr << "curr_items: " << curr_items << '\n'; + std::cerr << "next_items: " << next_items << '\n'; //p line = [" "] * (curr_items * 2 - 1) //p interline = [" "] * (max(curr_items, next_items) * 2 - 1) string line(curr_items * 2 - 1, ' '); @@ -232,13 +234,14 @@ void draw(const size_t curr_items, const end = 2 * j - 2; dot = end; interline[dot + 1] = '\\'; + std::cerr << interline << " interline\n"; } //p if end - start >= 1: //p dots.add(dot) //p line[start:end] = "-" * (end - start) if ((end - start) > 0) dots.insert(dot); - std::cerr << "for with some -\n"; + std::cerr << "for with some - from " << start << " to " << end << "\n"; for (size_t l = start; l < end; ++l) line[l] = '-'; } @@ -253,6 +256,7 @@ void draw(const size_t curr_items, const for (set::const_iterator dot = dots.begin(); dot != dots.end(); ++dot) line[*dot] = 'ยท'; + std::cerr << line << " line\n"; //p # and add the main attraction (may overwrite a "."). //p line[curr_loc * 2] = "o" line[curr_loc * 2] = 'o'; @@ -272,6 +276,7 @@ bool try_draw(const vector //p next_items = len(next_row) size_t curr_items = curr_row.size(); size_t next_items = next_row.size(); + I(curr_loc < curr_items); //p curr_ghosts = [] //p for i in xrange(curr_items): @@ -309,9 +314,11 @@ bool try_draw(const vector if (d != 0) have_shift = true; preservation_links.insert(pair(i, j)); + std::cerr << '(' << i << ',' << j << ") "; } } } + std::cerr << "\n"; //p parent_links = [] //p for p in parents: @@ -325,14 +332,18 @@ bool try_draw(const vector for (set::const_iterator p = parents.begin(); p != parents.end(); ++p) { + std::cerr << (*p).inner()() << " parent\n"; size_t i = curr_loc; size_t j = distance(next_row.begin(), find(next_row.begin(), next_row.end(), *p)); + I(j < next_items); size_t d = abs(i - j); if ((d > 1) && have_shift) return false; parent_links.insert(pair(i, j)); + std::cerr << '(' << i << ',' << j << ") "; } + std::cerr << "\n"; //p preservation_crosses = links_cross(preservation_links) //p parent_crosses = links_cross(parent_links) @@ -393,7 +404,7 @@ CMD(asciik, N_("tree"), N_("SELECTOR"), rev != sorted.end(); ++rev) { // print row - std::cerr << "asciik: foreach sorted\n"; + std::cerr << "asciik: foreach sorted: " << rev->inner()() << "\n"; //p if curr_rev not in curr_row: //p curr_row.append(curr_rev) @@ -413,12 +424,15 @@ CMD(asciik, N_("tree"), N_("SELECTOR"), //p for p in parents: //p if p not in curr_row: //p new_revs.append(p) - std::cerr << "asciik: foreach parent\n"; + std::cerr << "asciik: foreach in " << parents.size() << " parent\n"; set new_revs; for (set::const_iterator parent = parents.begin(); parent != parents.end(); ++parent) + {//TODO if (find(curr_row.begin(), curr_row.end(), *parent) == curr_row.end()) new_revs.insert(*parent); + std::cerr << *parent << " parent\n"; + }//TODO //p next_row = list(curr_row) //p next_row[curr_loc:curr_loc + 1] = new_revs @@ -439,7 +453,7 @@ CMD(asciik, N_("tree"), N_("SELECTOR"), //p # ghost handling has been done. //p no_ghost = without_a_ghost(next_row) - vector no_ghost(curr_row); + vector no_ghost(next_row); vector::iterator i_ghost = find(no_ghost.begin(), no_ghost.end(), ghost); if (i_ghost != no_ghost.end())