--- ed-0.2/main.c.20060201 2006-02-01 17:16:08.000000000 -0500 +++ ed-0.2/main.c 2006-02-01 17:30:01.000000000 -0500 @@ -113,6 +113,9 @@ int show_help = 0; /* If non-zero, print the version on standard output and exit. */ int show_version = 0; +/* browse data */ +long browse_n = 20; + /* Long options equivalences. */ struct option long_options[] = { @@ -563,6 +566,22 @@ exec_command () if (append_lines (second_addr) < 0) return ERR; break; + case 'b': + if (check_addr_range (current_addr, current_addr) < 0) + return ERR; + do { + char *end; + long n = strtol(ibufp, &end, 0); + if (n != LONG_MIN && n != LONG_MAX && end != ibufp) { + browse_n = n; + ibufp = end; + } + } while (0); + GET_COMMAND_SUFFIX (); + if (display_lines (first_addr, first_addr + browse_n, gflag | GPR) < 0) + return ERR; + gflag = 0; + break; case 'c': if (check_addr_range (current_addr, current_addr) < 0) return ERR;