Releases: johnsonjh/OpenVi
Releases · johnsonjh/OpenVi
OpenVi 7.2.20
Changes since 7.2.19
- Happy New Year!
- Correctly increment version identifier to match release
- Normalize comment blocks; no functional changes
OpenVi 7.2.19
Changes since 7.1.18
- Add translation of
README.md
into Brazilian Portuguese - Suppress the "UNLOCKED" message on AIX
- Set
OBJECT_MODE
when stripping compiled binaries - Add DEP5 metadata file to the source tree
- Add SPDX license identifiers for REUSE compliance
- OpenBSD 7.2 released; bumped OpenBSD version to 7.2
OpenVi 7.1.18
Changes since 7.1.17
- Quiet complaints when recovery directory is non-existent
- Improve various status messages
- Add permission statements to
GNUmakefile
andBSDmakefile
- Update documentation
OpenVi 7.1.17
Changes since 7.1.16
- In
v_event_get
checkqp->output
forNULL
before passing toe_memcmp()
; other users ofqp->output
already include aNULL
check; avoids a crash when cursor key support is disabled incl/cl_term.c
; from Jeremy Mates; ok tb@ - Check
tkp->output != NULL
before takingstrlen
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 withxinstall
- Simplify compatibility headers
- Make
sstrip
target depend on thestrip
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 linkerld.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 variableMAIXBITS
can be set to32
or64
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 OpenBSDinstall(1)
- Switch
vfork
tofork
asvfork
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, vianvi2
OpenVi 7.1.16
Changes since 7.0.15
- OpenBSD 7.1 enters beta; bump OpenBSD version to 7.1
- Modify text
%s/OpenBSD vi/OpenVi/
incommon/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
orioctl
failures forstderr
unlessstderr
is a tty according toisatty()
- 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()
andex_is_abbrev()
- Suppress more warnings and potential warnings
OpenVi 7.0.15
Changes since 7.0.12
- Avoid
O_PATH
clash in source proper (rather than viaawk
script) - Remove deprecated interpreter internals documentation
- Actually use
pledge()
for SerenityOS and OpenBSD 5.9 or later - Add
superstrip
(akasstrip
)GNUmakefile
target to aggressively strip the compiled binary usingsstrip
if available - Add
upx
GNUmakefile
target to compress the compiled binary usingupx
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 forLIBS
variable, correctOPTFLAGS
toOPTLEVEL
, expand external links and information, add citations regarding past multibyte efforts, use fancy quotes, and correctly state that the traditionalex
/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
andstrip
in the case where./bin/vi
is un-strippable (i.e.bin/vi
isupx
compressed or missing section headers fromsstrip
ing) - Fixes for
vi
recovery mode. Fromtrondd@
, tested by various, okafresh1@
; this advances OpenBSD release date to 02/20/2022 - Update
.gitignore
to addcompile_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
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
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@
- Correct email address for
- Simplify
db/sys/issetugid.c
ifdef's - Update bundled regex engine to OpenBSD 01/03/2021
OpenVi 7.0.10
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 thevi.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
(abbrevbse
) is set, then any newly backspaced characters are immediately erased from the screen - Handle
SIGQUIT
likeSIGINT
, 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), ifSIGQUIT
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 toLICENSE.md
- Silence some warnings and general style clean-up
OpenVi 7.0.9
Changes since 7.0.8
- Add a missing include to fix compilation on Void Linux with musl libc.
- Update
README.md
.