Skip to content

Releases: johnsonjh/OpenVi

OpenVi 7.1.18

23 Jul 19:46
7.1.18
57e11d0
Compare
Choose a tag to compare

Changes since 7.1.17

  • Quiet complaints when recovery directory is non-existent
  • Improve various status messages
  • Add permission statements to GNUmakefile and BSDmakefile
  • Update documentation

OpenVi 7.1.17

24 Apr 20:21
7.1.17
e533a47
Compare
Choose a tag to compare

Changes since 7.1.16

  • In v_event_get check qp->output for NULL before passing to e_memcmp(); other users of qp->output already include a NULL check; avoids a crash when cursor key support is disabled in cl/cl_term.c; from Jeremy Mates; ok tb@
  • Check tkp->output != NULL before taking strlen for both command mappings and input mappings; this adds a missing check for command mappings and simplifies the input mappings; ok millert@
  • From upstream man page, add missing comma; ok jmc@
  • Update documentation
  • Document that PCC (Portable C Compiler) is working
  • Add a BSD make wrapper that calls gmake if available
  • Add OpenBSD basename functionality for use with xinstall
  • Simplify compatibility headers
  • Make sstrip target depend on the strip target, since many platforms do not support all the sstrip options, so still stripping as much as is possible is the most user-friendly thing to try.
  • Add support for Solaris; tested on Oracle Solaris 11.4.0 with GCC, Clang (V6+), and the Oracle Developer Studio V12.6 compiler.
  • Add support for illumos; tested on OpenIndiana Hipster 2022.03
  • Add support for NetBSD; tested on NetBSD/amd64 9.2-stable with the system provided GCC and Clang from binary packages; compiling CC=clang LTO=1 requires the LLVM LLD linker ld.lld installed
  • Add support for IBM AIX 7+; tested on IBM AIX 7.2 and IBM AIX 7.3 with GNU GCC (8, 9, 10, 11), IBM XL C/C++ V16.1+ (gxlc, xlclang), and IBM Open XL C/C++ V17.1+ using ncurses from IBM's AIX Toolbox; AIX builds default to 64-bit (on 64-bit systems) when using a supported compiler; the environment variable MAIXBITS can be set to 32 or 64 to force compilation of a 32-bit or 64-bit binary
  • Various portability improvements (portable BSD getopt, warn, etc.)
  • Reorganize source tree to better separate logical components
  • WCOREDUMP is not in POSIX.1-2008, so don't require it to build
  • Similarly, check if TIOCSCTTY is available and don't require it
  • Add xinstall, a BSD install utility based on OpenBSD install(1)
  • Switch vfork to fork as vfork is now gone from POSIX.1-2008
  • Clear pointer after ending screen for safety
  • README.md, documentation, and man page corrections and improvements
  • Apply expandtab to lines filtered with the ! command, via nvi2

OpenVi 7.1.16

25 Feb 22:50
7.1.16
7fee5a6
Compare
Choose a tag to compare

Changes since 7.0.15

  • OpenBSD 7.1 enters beta; bump OpenBSD version to 7.1
  • Modify text %s/OpenBSD vi/OpenVi/ in common/recover.c
  • Minor updates to documentation and README.md
  • Provide a more helpful message when ex-mode has background screens
  • Fully redraw screen on refresh with ^L / ^R
  • Make taglength work correctly; fix from nvi 1.8x
  • Make join work as specified in the POSIX standard; fix from nvi 1.8x
  • Fix problem with autoindenting and ^^D input; fix from nvi 1.8x
  • Fix to reset screen offset of top line exceeding number of screens; fix from nvi 1.8x
  • Fix tty from ex-mode on q when there are multiple screens; fix from Al Viro via nvi 1.8x; also minor redraw adjustments
  • Use -Wall by default for all builds; drop -Wextra for release
  • Switch default optimization level to -Os for release builds; use -D_FORTIFY_SOURCE=2 (for non-debugging builds) by default as well
  • Do not warn about ttyname or ioctl failures for stderr unless stderr is a tty according to isatty()
  • Fix out of bounds access in file completion
  • Raise the maximum ex-script mmap size limit
  • DEBUG=1 now defaults to -O0 rather than -Og
  • Avoid undefined behavior in vs_crel() and ex_is_abbrev()
  • Suppress more warnings and potential warnings

OpenVi 7.0.15

24 Feb 00:25
7.0.15
864c4ab
Compare
Choose a tag to compare

Changes since 7.0.12

  • Avoid O_PATH clash in source proper (rather than via awk script)
  • Remove deprecated interpreter internals documentation
  • Actually use pledge() for SerenityOS and OpenBSD 5.9 or later
  • Add superstrip (aka sstrip) GNUmakefile target to aggressively strip the compiled binary using sstrip if available
  • Add upx GNUmakefile target to compress the compiled binary using upx if available
  • Cosmetic clean-up of GNUmakefile and normalize to 79-columns
  • Add support for MSYS2, tested with MSYS2 on Windows 11 (x86_64)
  • Add support for Cygwin, tested with Cygwin64 on Windows 11 (x86_64)
  • Update README.md to document usage for LIBS variable, correct OPTFLAGS to OPTLEVEL, expand external links and information, add citations regarding past multibyte efforts, use fancy quotes, and correctly state that the traditional ex / vi was part of the first Berkeley Software Distribution, mention OpenBSD's standard secure coding practices, safe(r) functions, and ISC license
  • Respect LIBS to set/override the default libraries for linking
  • Make failure to strip non-fatal; fixes install-strip and strip in the case where ./bin/vi is un-strippable (i.e. bin/vi is upx compressed or missing section headers from sstriping)
  • Fixes for vi recovery mode. From trondd@, tested by various, ok afresh1@; this advances OpenBSD release date to 02/20/2022
  • Update .gitignore to add compile_commands.json
  • Suppress a few possible warnings
  • Since HiDPI screens are more common, allow terminal dimensions of 3640x2048; this might need to be further extended for 4K displays

  • NOTE: For technical reasons, there were no official 7.0.13 or 7.0.14 releases.

OpenVi 7.0.12

20 Feb 01:01
7.0.12
3c49e5d
Compare
Choose a tag to compare

Changes since 7.0.11

  • Update README.md with some background info and rationale
  • Always use internal reallocarray() (closes GitHub Issue #5)

OpenVi 7.0.11

12 Feb 20:03
7.0.11
e22ff75
Compare
Choose a tag to compare

Changes since 7.0.10

  • Add initial Midipix support
  • Silence a few more warnings; adjust default debugging CFLAGS
  • Add initial vi_regex(7) man page (not yet installed)
  • Update LICENSE.md
    • Correct email address for millert@
  • Simplify db/sys/issetugid.c ifdef's
  • Update bundled regex engine to OpenBSD 01/03/2021

OpenVi 7.0.10

09 Feb 16:52
7.0.10
a2fca61
Compare
Choose a tag to compare

Changes since 7.0.9

  • Clarify text of some visual mode messages; use the POSIX thousands numeric seperator when displaying certain line and character counts
  • Use /var/tmp for the vi.recover directory; on most Linux systems, this persists across reboots and gives a higher chance of recovery than /tmp (which is often a memory-backed filesystem)
  • New feature: If ruler is set, print a percentage after position
  • New feature: If windowname is set, always show the file name
  • New feature: If bserase (abbrev bse) is set, then any newly backspaced characters are immediately erased from the screen
  • Handle SIGQUIT like SIGINT, which prevents ^\ from causing ex-mode to abort and drop core; aligns closer to Vim's behavior in ex-mode (that is, uses non-canonical input mode, so ^\ is handled and doesn't cause a stop.) Because ^\ can be used to enter ex-mode (using standard canonical line-based input), if SIGQUIT is not handled it's easy to abort the process by accident by sending more than one ^\ in succession, as can happen on lagged connections
  • Fix a long-standing bug where using ^G on an empty file would add an extra random garbage byte to the displayed output
  • Reword "Already in the first column" to "Already at the first column" to be consistent with the other movement error messages
  • Remove documentation files not explicitly under the 3-clause BSD license
  • Update header comments on all modified files
  • Reformat ChangeLog to break lines at 76 columns
  • Update docs; Markdown-ify LICENSE and rename to LICENSE.md
  • Silence some warnings and general style clean-up

OpenVi 7.0.9

31 Jan 21:54
7.0.9
d896508
Compare
Choose a tag to compare

Changes since 7.0.8

  • Add a missing include to fix compilation on Void Linux with musl libc.
  • Update README.md.

OpenVi 7.0.8

31 Jan 08:25
7.0.8
4c9968b
Compare
Choose a tag to compare

Changes since 7.0.7

  • Rework README.md file.
  • Drop -pipe and -fomit-frame-pointer defaults for wider compatibility.
  • Add support for building with musl libc.
  • Add support for building on FreeBSD; tested on 13.0-RELEASE-p6/ARM64.
  • Add support for building on macOS; tested on 12.1/x86_64 (21C5021h).
  • Add support for building on OpenBSD; tested on 7.0-current/ARM64.
  • Normalize licensing text, acknowledgements, and copyright statements.
  • Normalize macro defines and conditional if/ifdef/ifndef's with cppi.
  • Minor code clean-ups.
  • Drop memmove wrapper macro (for old systems with bcopy but no memmove).
  • Add imctrl and imkey options, inspired by cannactrl and fepkey options in nvi-m17n by itojun.
    • If imctrl option is set, the input method is controlled by using escape sequences compatible with Tera Term and RLogin.
    • The state of the input method in commands specified by the imkey option is saved and restored automatically.
    • This input method is deactivated upon returning to command mode.
    • The implementation was taken from NetBSD-current's contrib/nvi.
  • Improve make output and use more logical compilation order.
  • Add virecover.8 man page adapted from NetBSD.
  • Add a missing break in common/log.c.
  • Avoid undefined behavior in *BIT macros; patch from NetBSD; also apply patch from NetBSD for PR bin/52716.
  • Update .gitignore and .gitattributes.

OpenVi 7.0.7

28 Jan 04:36
7.0.7
ae4cc61
Compare
Choose a tag to compare

Changes since 7.0.6

  • Important fix to GNUmakefile for linking with Clang's lld linker.
  • Remove installed man pages as part of the uninstall target.
  • Workaround to accommodate the case of make clean all -j N where N > 1.
  • Clean-up whitespace and line lengths of sources and GNUmakefile.