navipage v0.8.0 Many, many changes in this release! It features a RECORD three (3) contributors. In this release, more was removed than added (always a good sign), and like the last two releases, it focuses primarily on increasing the readability and maintainability of the code. However, it also includes many improvements to the documentation, as well as a new feature: line numbers can now be toggled with the -n option, or with the 'N' keybinding. I also created a todo tracker for this project during the development of this release. It can be found at: https://todo.sr.ht/~smlavine/navipage You can see on that tracker the additions that are being targetted for the 0.9.0 release. As mentioned above, this release features the contributions of not only myself but also the irreplaceable sabinprj and the incandescent Ariadna Vigo. Many thanks to you both for your help and interest in the project! More eyeballs are always good, as evidenced by sabinprj's catch of a nasty use-after-free bug. In the following shortlog, commits of particular interest/importance/ something-that-I-probably-spent-too-much-time-on are marked with a ***. Sebastian LaVine (50): Add extra <>s around links to be rendered in sr.ht Ignore output binary Don't handle SIGSEGV Remove explicit zeroing of some flags in main() Reorganize and better document argc/argv shift Re-add function prototypes comment Declare const pointers with no space between * and const Remove example.sh *** Attempt `man ./navipage.1` in info() Mention the man page in README.md Simplify $NAVIPAGE_SH invocation Revert "Define OPTSTRING as a constant in config.mk" Remove optstring variable, use static string instead *** Add -n option and 'N' binding to toggle line numbers Print version info separately from usage info Use puts(3) instead of fputs(3) in usage() *** Properly uninstall the man page Pass size directly to malloc() without setting newpathlen Fix typo *** Add '-fsanitize=address' to DEBUGFLAGS Reorganize execute_command() Simplify execute_command() output and color Simplify info() Remove vestigial SIGSEGV case Use sigaction() instead of signal() Define and use URL constant Change Buffer length element from size_t to long Simplify init_buffer() Improve scroll() Mention scroll() in `top` comment Add some newlines Define USAGE with '#define', move string constants to top of file Remove errsv variables and just use errno Use early exit on error in directory check in add_path() Decrease verbosity of comments Add navipage-ignore to .gitignore Add some TODOs *** Use identifiers, not types, with sizeof Condense assignments into if-statement conditions Assign argv0 at the top of main() Add a comment to sigaction() calls Replace argv[0] with argv0 in sigaction() block Use exit(), not return, in sigaction() block Call update_rows() immediately before display_buffer() Move filel initializations to later in main() *** Remove braces from ifs and loops with only one statement Limit scope of linelen and eolptr *** Remove "Press 'i' for help." from status bar Clarify returns at the end of main() Bump the version to 0.8.0 sabinprj (3): Remove trailing white spaces Flatten if...else if...else statements to a series of if statements *** Fix use-after-free bug seen due to misplaced strcmp() Ariadna Vigo (1): *** Compile navipage targeting C99 instead of ANSI C .gitignore | 2 + Makefile | 5 +- README.md | 14 +- config.mk | 12 +- example.sh | 27 --- main.c | 577 +++++++++++++++++++++++++++++++++ | -------------------------------- navipage.1 | 11 +- 7 files changed, 320 insertions(+), 328 deletions(-)
navipage v0.7.0 In this release, more quality-of-life changes in the vein of v0.6.0 were made. The two biggest changes are dede977(Switch from -std=c99 to -ansi, 2021-06-21) and 3210133(Define OPTSTRING as a constant in config.mk, 2021-07-07). Sebastian LaVine (16): Make improvements to cmpfilestring() Give 'enum states' a more accurate name Improve various comments in main() Remove unnecessary filel.amt check in NAVIPAGE_DIR branch Change -pedantic flag to -Wpedantic Change quit(int n) to quit(int code) Use early exit instead of else branch in scroll() Improve const correctness Update rogueutil.h Switch from -std=c99 to -ansi Comply with ANSI C Make clear why the apache license is here Remove '#include <getopt.h>' Define OPTSTRING as a constant in config.mk Make README.md document different things than the man page Bump the version to 0.7.0
navipage v0.6.0 While this release does not contain any new features, it makes many improvements to the quality and maintainability of the code. Sebastian LaVine (17): Replace mentions of Github to sr.ht Fix link to mailing list Read env vars with getenv() instead of an environ loop Move argc/argv reset to immediately after option handling Pass flags.recurse_more directly instead of a ternary Remove 'else' that was unnecessary due to early exit Use putchar('\n') instead of puts("") to print a newline Remove unnecessary function prototypes comment Rewrite outofmem() as a function, not a macro Remove additional spaces no longer needed for alignment Remove inaccurate "To be"; it is! Fix wrong tense Rewrite add_file() checks to use early exits Split add_file() into add_path() and add_directory() Follow flags.recurse_more on all argument paths Fold and split lines that would otherwise cross the 80 character limit Bump the version to 0.6.0