Skip to content

Release candidate 4.17.4.1

Compare
Choose a tag to compare
@markmoraes markmoraes released this 30 May 06:12
· 57 commits to 4_17 since this release

avoid some overlapping strcpy (for Mac OSX, Linux address-sanitize), add more defensive checks to jamstr*, truncstr*
remove some memory leaks in recover
fix -pedantic complaints from newer clang and gcc
workaround for broken O_TRUNC for files on Cywin 3.1.2 + VirtualBox 5.2.36-135684Ubuntu xenial shared folder
remove afxres.h and resource.h which seem unnecessary for even win32, couple of other win32 cleanups
some cleanup for iproc and portsrv, works on BSD (NetBSD needs NO_TIOCREMOTE, added TIOCGPTPEER, support for glibc pty.h, should work on Solaris and other SVR4 platforms again)
compile-it and shell-to-buffer now have [] around name so they do not ask about overwriting scripts of same name
spell-command-format variable, and aspell definition for Linux, XBSD
add simpler -DLinux or -DNetBSD or -DFreeBSD or -DOpenBSD -DCYGWIN definitions for SYSDEFS, all but Cygwin can be built as SYSDEFS=-D$(uname), all BSD require EXTRALIBS=-lutil, all work with -lncurses
moved several defaults (esc-s for pause-jove, mode-line, process-prompt) from doc/jove.rc to code, allow-^S-and-^Q is on by default and no longer turned off for vt100 so NetBSD console handles ^S for search-forward
fix visible bell, and TERMINFO
MALLOC_CACHE is now default
Makefile more compliant with modern conventions (DESTDIR, perms)
'make rpm' works, jove.spec generated by substitition so one less place to edit
put formatted docs and tags in distrib, do not clean those by default (use make clobber for ultra-clean)
remove zoo, make zip subdir like distrib tarball
optional per-host /etc/jove/jove.rc
Builds and works on several modern Linux (latest Fedora, Arch, Alpine, Gentoo, Poky ARM64, reportedly OpenSUSE), Mac OSX Darwin, OpenBSD 6.6, NetBSD 7.2 and 8.1, FreeBSD 12.1, OpenIndiana 2019.11 as well as Cygwin64 3.1.2, interactive shell works on all with ptys, and with all but Cygwin for pipeprocs (still looking into it)
Makefile.msc builds with Visual Studio 2019 Community Edition on Win 7 Pro, subshell works.
(MSVS considers access(..., 1) illegal and terminates program because it does not support X_OK, and is unhappy with some dup ordering so switch to dup2 after spawn)!
Makefile.wat builds with Open Watcom 1.9.0 for DOS, subshell works
jjoveicouue replaced with jjove.ico binary file now that we left rcs behind
-DBAREBONES works on Linux (hopefully other platforms too, not tested)
Added debug tracking via jdbg macro, jdprintf function, turned on when -D DEBUGFILE cmdline option is given to jove
Updated Makefile and sysdep.doc and README.cyg (renamed from .c32) and doc/jove.qref
Line numbers no longer go negative on small platforms.
put a '' after the 6 digits of line number (if number-lines-in-window is on) if buffer has more than a million lines!) Avoid recursion when formatting numbers. calculate percentage without risk of overflow.
README.* describe new naming scheme for Windows, DOS binary and src zips (last char is w, x, s)
jove -r works on Windows now.
Default LG_JBUFSIZ is now 15 for non-JSMALL.
If line too long when reading input file, then mark the buffer as SCRATCH with munged #FILENAME~ so it cannot accidentally be saved on top of the original FILENAME
New ifvar command for joverc, and jove-features variable to avoid needless RC errors for various jove builds (with different sysdefs) using the same joverc.
Minibuf now has left-right scroll so one can now see what one is doing for long filenames, long search/replace regexps, etc.
Builds with MinGW, easier to build Windows binaries
Nasty bug in cross-compile fixed (setmaps key bindings went to wrong command)
Couple of Windows bugs fixed (shell-command and filter-region)
ignore -- on command line so visudo works with Jove
Some cleanup in recover (no longer limited to 100 buffers, prints usage on unknown option, easier to test)
Switch Linux builds to use GLIBCPTY (i.e. pty.h and openpty from libutil) by default, avoids EOFed, not Exited issue!