commit de380c334a3348f72427d874af12d7a844ddcf30
Author: Mark Moraes <moraes@computer.org>
Date:   Fri Jan 24 21:53:05 2020 -0500

    4.17.0.3: use -Wall -pedantic in default OPTFLAGS (clang and
    gcc support it; time to recognize that those are the
    dominant two compilers)
    
    Added LOCALEXTRALIBS variable and use it for setmaps
    (so I could specify EXTRALIBS=-lasan -lubsan and test with
    -fsanitize=address -fsanitize=memory)
    
    Added XEXT to setmaps for consistency (how did this ever work
    on DOS -- did we just ship keys.c?)
    
    typo in sysdep.h.  (Note that -DXBSD probably covers all
    modern *BSD and Darwin, and -DXLINUX should probably cover
    all modern Linux, no need for the longer -DSYSVR...)
    
    fix sprintf buffer sizes so gcc 8.3 -Wall -pedantic
    (actually -Wformat-overflow) stops complaining (now builds
    on alpine with musl with clang 5 and gcc 8.3; also tested
    with clang 8 on CentOS7, and gcc 5 on Ubuntu 16.04)
    
    include errno.h (and optionally, stdio.h) in jove.h, to
    solve an include ordering fiasco in recover and setmaps,
    need tune.h to come first, so sysdep.h can specify _XOPEN_*
    or other features, before including any system includes.
    
    Adopt many of Cord's proposed changes from Debian package:
    DESTDIR prefix for all paths
    xjove/jovetool manuals not installed by default
    create and set permissions on missing *DIR install dirs
    switch to /var/tmp, it is not removed on reboot by FHS convention
    so recover -syscrash is not really needed.
    switch to groff options by default, who remembers ditroff!
    typo in doc/jove.nr

commit 06e2a1d91a60d7cb7fcaa5889f7fe04d3545a486
Author: Mark Moraes <moraes@computer.org>
Date:   Fri Jan 24 10:51:40 2020 -0500

    4.17.0.2 Back out of the reset-tabs sequence in jtc, does not work well
    on xterm and st (and konsole, per Paul Vixie)
    
    Fix all -Wall -pedantic complaints from gcc 5.5.0 (Ubuntu 16.04)
    	declare dummy var in jtc so no complaints re: empty translation unit
    
    	remove unused env_malloced variable from util.c
    	(probably leftover, the real flag is in the Env struct)
    
    	check setuid return in recover.c
    
    	avoid sprintf in setmaps.c for trivial character formatting
    	(still need to avoid sprintf in recover.c and teachjove.c,
    	per clang complaints reported by Paul Vixie)

Author: Mark Moraes <moraes@computer.org>
Date:   Thu Jan 23 23:01:00 2020 -0500

    4.17.0.1: Cursory update for README, tweaked XBSD and XLINUX in sysdep.h

commit aecc4dc618e68a39d9e53da0e68cb1dd15a3170a
Author: Mark Moraes <moraes@computer.org>
Date:   Wed Jan 22 21:16:34 2020 -0500

    4.17.0.0 candidate
    
    Some automatic version generation machinery in Makefile,
    uses git --describe.  Remove version.h, only place version
    is specified is now Makefile, which generates jove.spec from
    jspec.in, and puts jversion and jversion_lnum in paths.h,
    which was already auto-generated, and can be used by
    jjove.rc instead of version.h
    
    Added LICENSE for general conformance/convenience (same as
    boilerplate header for src) and moved version.h history
    to ChangeLog, also more conventional
    
    Updated jove.spec to github
    
    make clean removes the xjove/.filelist and distrib created by make distrib
    
    Removed bogus reference and docs for non-existent IPROC_TERM
    
    jtc.c resets tabs on VTALT, avoids nastiness of some kinds if terminal
    gets borked (Jove really likes using phystab of 8)
    
    Updated .gitignore

5Acommit 41c658c11eedfbf2fc09f6559c03215f1e60aa98
Author: Mark Moraes <moraes@computer.org>
Date:   Thu Jan 23 22:25:51 2020 -0500

    Updated jove.spec to github
    Clean removes the xjove/.filelist and distrib created by make distrib
    Removed bogus reference and docs for non-existent IPROC_TERM
    jtc.c resets tabs on VTALT, avoids nastiness of some kinds if terminal
    gets borked (Jove really likes using phystab of 8)

commit 6d62c645b543bf2b7aebd85c62d001fa3dfba077
Author: Mark Moraes <moraes@computer.org>
Date:   Wed Jan 22 21:16:34 2020 -0500

    Some automatic version generation machinery in Makefile,
    uses git --describe.  Remove version.h, only place version
    is specified is now Makefile, which generates jove.spec from
    jspec.in, and puts jversion and jversion_lnum in paths.h,
    which was already auto-generated, and can be used by
    jjove.rc instead of version.h
    
    Added LICENSE for general conformance/convenience (same as
    boilerplate header for src) and moved version.h history
    to ChangeLog, also more conventional

commit 586003424679800d75e78b534ef2bbcb61a705bd
Author: Mark Moraes <moraes@computer.org>
Date:   Wed Jan 22 08:32:26 2020 -0500

    ensure tune.h is first (move setjmp.h later) in jove.h
    (which is first everywhere else) so that system header
    features don't get defined, so we can now set
    _XOPEN_SOURCE or other features in sysdep.h or tune.h
    
    add XBSD and XLINUX to sysdep.h, for convenience on the two
    most common platforms around today (Darwin and Linux)

commit 1c6e9a713069e190701307e661d464eb67d1d983
Author: Mark Moraes <moraes@computer.org>
Date:   Thu Jan 16 17:38:22 2020 -0500

    tparm argument order seems wrong, needs to be l, c,
    since the definition for cm is %p1%d;%p2%d. tgoto is
    opposite and is c, l, presumably historical weirdness.

commit 1de95ea776dd242f5d3acab8a0395388b609350c
Author: Mark Moraes <moraes@computer.org>
Date:   Thu Jan 16 17:36:28 2020 -0500

    UNIX may as well have MALLOC_CACHE set to 1, reduces
    apparent bss size.

commit 5fbadda38f3b85ce71fb1acbc0c877d27e90d2a6
Author: Mark Moraes <moraes@computer.org>
Date:   Thu Jan 16 17:16:50 2020 -0500

    fix delay code and add flushscreen for vb to avoid
    calling SitFor

commit 996592ed7947c985538a187bdba75ab6c19d443e
Author: Mark Moraes <moraes@computer.org>
Date:   Mon Jan 13 14:46:12 2020 -0500

    switch from putpad to putstr since it is putting
    explicit escape sequences with no use of tputs syntax.

commit 91eec94450bcb591ec88de8b4d1d857386debd6b
Author: Mark Moraes <moraes@computer.org>
Date:   Sun Jan 12 12:45:08 2020 -0500

    vb contains padding delays like $<100/> on most modern
    terminals (vt220, xterm) between the switch to reverse
    video and back, so it needs to be output by putpad (i.e.
    tputs), not putstr. On gnome-terminal (Ubuntu 16.04),
    set visible-bell on and hit ^G, and jove will produce
    $<100/> on the screen rather than a visual bell flash.

commit 972f056a2ddc0d523c12fa2f3b9b585046476ac9
Author: Mark Moraes <moraes@computer.org>
Date:   Sun Jan 12 12:41:30 2020 -0500

    Increase MAXCOLS from 256 to 512 (I get 300+ column
    maximized xterms on my new 4K monitor)

commit 0ed38a00d06e4fb643bdfbcda9b963b291ac4f92
Author: Mark Moraes <moraes@computer.org>
Date:   Sat Jan 11 00:21:24 2020 -0500

    added jtc, which provides all the termcap/terminfo
    functionality that Jove needs but is limited to ANSI
    X.3/VT[1-5]xx/xterm/rxvt/... (does anyone run anything
    else now) This avoids the small annoyance of the
    termcap/terminfo/curses/ncurses/ncursesw external dependency.

commit 2fa2236ea50b22abc63e64b7532e0cc7e82db8a1
Author: Mark Moraes <moraes@computer.org>
Date:   Sat Jan 4 22:55:04 2020 -0500

    increase size of tspace, xterm pretty close to edge, and
    some terms are over.

commit e8390bd82e0305174c53e924a3de99193ff2e04f
Author: Mark Moraes <moraes@computer.org>
Date:   Sat Jan 4 14:11:52 2020 -0500

    correct TERM from emacs to dumb in README and mention
    {,i}proc-env* mention ncursesw and Alpine/docker note
    Changed jovehacks to jovedev email

commit 3934215398c6cead35d23bc181adf13934bd0886
Author: Mark Moraes <moraes@computer.org>
Date:   Wed Nov 18 14:31:30 2015 -0500

    added proc-env-{export,show,unset} to match iproc.
    changed jenvinit to more meaningful jenvdata. Fixed
    Makefile to use LANG=C for nroff etc so that it does not
    try smart hyphens (which break jove search)

commit 88fb4b035946c6c3f141b532181801378e17baa9
Author: Mark Moraes <moraes@computer.org>
Date:   Wed Nov 18 02:37:28 2015 -0500

    added iproc-env-{export,show,unset} commands to allow
    setting or unsetting env vars before interactive
    processes are started. Moved most code from
    set_process_env() to doc/jove.rc and added a few from
    jovedev email thread.

commit f5a5f9122946e9bddd803a7178bfba6b0883e9f4
Author: Mark Moraes <moraes@computer.org>
Date:   Wed Nov 18 00:08:47 2015 -0500

    Moved j{put,unsetenv}env from iproc.c to util.c, made
    them externally visible, declared in util.h, generalized
    them to take a ptr to an Env struct instead of modifying
    global state, keep one of those Env structs as iproc_env
    in iproc.c (preparatory to maintaining a separate one
    for proc.c)

commit dbd3fe96fad7f3e3b77f763949b725e6930cdd5b
Author: Paul Vixie <vixie@fsi.io>
Date:   Sat Mar 2 06:38:36 2019 +0000

    patch from github jonmacs/jove strcpy branch
	commit 2a6b24db99aa78351335583e133d1a970eeff583
	very light strcpy audit, mostly to fix casey leedom report
    [the strcpy in proc.c:344 is also reported by valgrind
    ==27906== Source and destination overlap in strcpy(0x63e540, 0x63e540)
    MakeName (proc.c:344)
    ShellCom (proc.c:490)
    ExecCmd (commands.c:164)
    dispatch (keymaps.c:926)
    DoKeys (jove.c:1465)
    main (jove.c:1777) - moraes]

commit 7f9e5d2b59ebfff8e4bfd5bb9b187c53465ba6c6
Author: paul vixie <paul@redbarn.org>
Date:   Sat Mar 9 12:48:51 2019 -0800

    use "do {}" rather than "do ;", for -pedantic (#5)

commit e2d5e98fbf0b2d303f1f1cb7383e25ccc3ca990b
Author: Mark Moraes <moraes@cs.toronto.edu>
Date:   Sun Mar 10 23:25:45 2019 -0400

    4.16.0.74:
    experimental release by Hugh on 2015-10-21 16:38
    ftp.cs.toronto.edu:/pub/hugh/jove-dev/experimental/jove4.16.0.74.tgz
    tarball sha256sum 168084a021c38058d01e2de30d22b198836b12077647bd1e98dc8a9be416dbbf
    
    unfortunately same version in version.h
    further cleanup on fill (new_kill function for common code)
    Note about OpenSuSE TERMCAPLIB

commit b8cb69213ee0c4f3200a203eda7aec39cfa4004f
Author: Mark Moraes <moraes@cs.toronto.edu>
Date:   Sun Mar 10 23:25:08 2019 -0400

    4.16.0.74-old1:
    experimental release by Hugh on 2015-10-15 14:30 (email Oct 15, 2015 at 7:19 PM)
    ftp.cs.toronto.edu:/pub/hugh/jove-dev/experimental/jove4.16.0.74-old1.tgz
    tarball sha256sum ca679b63c38b424eed3e16d3a2ab40e4463c70bbc16e83164ae4ad692de26da3
    
    Changes:
    - minor portability improvements
    - new jove.spec for Fedora and EPEL
    - fill-comment now handles paragraphs
    - fill-region can be undone via yank-pop
    - support for xterm-256color (same as xterm

Revision 1.423  2010/07/11 15:29:31  hugh
4.16.0.73:
- added NROFF="nroff -Tascii" to Makefile and jove.spec to force groff to use ASCII
- spelling corrections [Cord Beermann]
- remove -lolgx from xjove link [Cord Beermann]
- improve recover's email Subject [Cord Beermann]

Revision 1.422  2010/05/25 03:39:54  hugh
4.16.0.72:
- eliminate strcpy and byte_copy calls with overlapping source and destination
- fix setmaps.c misuse of fprintf

Revision 1.421  2010/05/17 02:38:38  hugh
- add new variable display-default-filenames (Casey Leedom)
- eliminate most GCC warnings; improve handling of some errors
- allow for Linux/glibc elimination of I_PUSH (pseudo TTY STREAMS)
- improve jove.spec for Red Hat packaging
- delete obsolete command process-dbx-output
- delete obsolete variables allow-bad-filenames, display-bad-filenames, internal-tabstop
- add bindings for more xterm function key variants

Revision 1.420  2006/04/30 21:51:40  hugh
don't crash when filename completion list is wider than screen

Revision 1.419  2005/10/01 00:34:41  hugh
4.16.0.69: fix minor errors introduced in 4.16.0.67

Revision 1.418  2005/09/28 18:41:49  hugh
Work around an xterm / termcap / terminfo bug involving SR.

Revision 1.417  2005/05/14 20:29:03  hugh
Generalize tags code to handle bizarre the mutations of tagfile format.
Contributed by Mark Moraes; "improved" by DHR.

Revision 1.416  2005/05/14 17:46:43  hugh
rpmbuild now requires "License" tag in place of "Copyright" tag in .spec

Revision 1.415  2004/07/11 20:04:32  hugh
- dodge yet another xterm bug in hilite mode
- set default buffer size to 4kB (ups line length limit to same)
- tweak documentation

Revision 1.414  2004/02/01 19:27:03  hugh
- introduce sysdef BSDPOSIX_STDC
- update README

Revision 1.413  2003/05/05 01:37:05  hugh
refine modified flag in list-buffers output

Revision 1.412  2003/03/09 23:49:55  hugh
4.16.0.62: fix for WIN32; note tested environments [Jim Patterson]

Revision 1.411  2003/02/01 02:02:08  hugh
4.16.0.61: increase MESG_SIZE to support wider terminals

Revision 1.410  2003/01/31 22:15:33  hugh
4.16.0.60: fix screen update bug involving scrolling region
Surprise: cursor location undefined after setting scrolling region

Revision 1.409  2003/01/31 22:01:40  hugh
4.16.0.59: add "distrib" and "signeddistrib" Makefile targets
tar file will now unpack into jove<version> directory

Revision 1.408  2003/01/09 02:07:15  hugh
adjust jove.spec for yet another new rpmbuild requirement

Revision 1.407  2002/12/13 01:52:47  hugh
- allow $TERM for iprocs to be configured
- adjust types of parameters of truncstrsub and jamstrsub (lint)
- refine jove.spec (for RPM building); iproc TERM=vanilla

Revision 1.406  2002/03/21 07:06:04  hugh
update Copyright to satisfy Debian

Revision 1.405  2002/02/12 20:14:08  hugh
- add style.doc to describe some coding conventions
- add a Makefile target to support Exuberant Ctags more conveniently
- add a note about overflow in calculating percentage in buffer-position
- change TERM and TERMCAP environment variables in iproc

Revision 1.404  2001/12/20 21:07:25  hugh
- fix Makefile problems with openpty configuration
- factor LIBS into TERMCAPLIB and EXTRALIBS

Revision 1.403  2001/12/17 22:24:14  hugh
- fix a few buffer overruns
- add "Quick summary" to README
- use "jmode_t" where mode_t is appropriate (old systems must define as int)
- use uid_t; hope this is portable
- added GCC_LINT to make it more pleasant to use gcc warning options

Revision 1.402  2001/07/15 19:14:23  hugh
improve jove.spec (for Redhat Package Manager)

Revision 1.401  2001/03/22 07:17:26  hugh
4.16.0.51: improve portability; use openpty on *BSD

Revision 1.400  2001/02/04 21:01:50  hugh
4.16.0.50 support groff; fix jove.spec for RPM creation

Revision 1.399  2000/11/10 07:58:22  hugh
[BET+DHR] support installation into a playpen; exploit when building RPM

Revision 1.398  2000/07/12 16:13:01  hugh
4.16.0.48: use SVR4_PTYS (AKA UNIX98 PTYS) for LINUX

Revision 1.397  1999/10/22 14:16:39  hugh
4.16.0.47: get file creation mode right; predelete backup file
Thanks to Rob McMahon <cudcv@csv.warwick.ac.uk>

Revision 1.396  1999/08/29 18:44:49  hugh
4.16.0.46: add save-on-exit [Rob.McMahon@warwick.ac.uk]

Revision 1.395  1999/08/25 19:47:30  hugh
4.16.0.45: detect and report file close errors [Rob.McMahon@warwick.ac.uk]

Revision 1.394  1999/08/19 02:14:13  hugh
4.16.0.44: add .spec for RPM creation

Revision 1.393  1999/08/18 23:17:20  hugh
4.16.0.43: make mkstemp code less brittle (Moraes)

Revision 1.392  1999/08/18 21:56:21  hugh
make USE_CTYPE implicit in BSDPOSIX (except for __convex__!)

Revision 1.391  1999/08/15 02:24:48  hugh
Support for Cygwin32 environment on MS Win32
(from Arlindo da Silva and Dave Curry)

Revision 1.390  1999/08/15 00:50:48  hugh
4.16.0.40: fix horrible umask security hole

Revision 1.389  1999/08/13 14:43:05  hugh
4.16.0.39: reflect Jim's (Jim.Patterson@Cognos.COM) work on Win32 and HPUX

Revision 1.388  1999/08/12 21:21:38  hugh
4.16.0.37: update Makefile and README to reflect modern systems

Revision 1.387  1999/08/12 19:14:11  hugh
4.16.0.37: scatter "const"; update copyright; tidy comments

Revision 1.386  1999/08/10 15:08:03  hugh
4.16.0.36: switch to safe creation of tempfiles.
Note: mode_t isn't used because argument promotion rules mess things up.
Some additional tidying.
Tested on MSDOS, SunOS 4.0, Solaris 2.6, RedHat5.2.

Revision 1.385  1999/08/09 05:50:51  hugh
4.16.0.35: fix nits in documentation

Revision 1.384  1999/08/06 19:02:27  hugh
4.16.0.34: fixed a bug that caused justification of the following line
to hang JOVE.  set right-margin 70.  Note whitespace at end.

Revision 1.383  1999/08/06 16:47:20  hugh
make xterm mouse code dodge metakey kludge (needed for xterms wider than 95)

Revision 1.382  1999/02/11 18:41:51  hugh
fix indented #ifdef: would confuse old compilers

Revision 1.381  1998/09/22 21:10:44  hugh
Rename SCO to SCO_ODT3 to be more specific.
Fix typo in SCO_ODT3 settings (cannot test!).
Thanks, Mark Moraes <moraes@staff.juno.com>

Revision 1.380  1998/09/22 03:47:03  hugh
glibc-2 (the GNU C library, used in some LINUX systems) has a
a unique (but probably not wrong) feature: stat, when it fails,
scribbles over the stat buffer.  This change lets JOVE deal
with this feature.
Thanks to Steve Thompson <stevet@ultratech.net>.

Revision 1.379  1998/09/21 21:19:05  hugh
Verify that other end of PTY can be opened before accepting it.
This is needed apparently needed under LINUX.  The test doesn't
work on old versions of BSDI/386, so BSDI_PTY_BUG will suppress.

Revision 1.378  1998/09/21 17:57:12  hugh
fix error message construction
[originally done 1998 March 29]

Revision 1.377  1998/09/21 17:52:15  hugh
avoid freeing already freed name list
[originally done 1998 January 25]

Revision 1.376  1998/09/21 17:48:10  hugh
Change xterm-bug-workaround to avoid changes made for XFree 3.2.
Without this change, mouse usage under the xterm of XFree 3.2
will leave mysterious blanks on the screen.

The relevant change to XFree 3.2's xterm is that the sequence ESC X is
now meaningful.  We had counted on this to be ignored.  Now we will
count on ESC DEL being ignored.
[originally done 1997 Sept 21]

Revision 1.375  1997/07/10 06:06:30  hugh
Add support for different meaning if im and ic with ncurses' termcap
(used with LINUX and other free systems).

Revision 1.374  1997/01/17 01:59:28  hugh
4.16.0.24: little touches
- allow var internal-tabstop to be set to 0 (tab-width already could)
- notes for porting to Digital UNIX
- spelling improvement

Revision 1.373  1997/01/16 22:08:26  hugh
4.16.0.23: handle symlinks in path canonicalization (PathParse)

Revision 1.372  1996/10/10 06:59:26  hugh
4.16.0.22: more pr_name static buffer bugs

Revision 1.371  1996/10/06 20:57:51  hugh
4.16.0.21: port to Digital UNIX V4.0 -- one JOVE bug, one OS bug

Revision 1.370  1996/09/19 02:09:39  hugh
4.16.0.20: fix bug in window resizing by mouse
To demonstrate bug:
- split a window that is viewing a non-empty buffer
- make upper window have a different dot.
- enlarge the upper window by dragging its mode line down (button 2)
The upper window's dot will be a copy of the lower window's.

Revision 1.369  1996/09/09 06:29:43  hugh
4.16.0.19: eliminate tricky aliasing bug in Source/ask_ford/PathParse

The bug to be fixed is the interaction of the following:
- PathParse must not have aliased args
- if ask_ford is called with def and buf aliased
  AND pr_name(def, YES) yields a pointer into def
  AND the user defaults the file name
  THEN PathParse will be called with aliased args
- Source calls ask_ford with def and buf aliased

To demonstrate:
- set environment variable HOME to "" or "/"
- run jove in some other directory
- issue "source" command and hit return to default the file name
- jove will attempt to source the file named ""

The fix: since pr_name sometimes returns a pointer to its static buffer,
the simplest change is to make it always return a pointer to its static
buffer.  At the same time, sprinkle a few comments about aliasing in the
relevant routines.

Incidental improvements:
- pr_name now complains about too-long file names
- pr_name will now choose to use ~ over cwd-relative naming if the
  resulting name is shorter

The apology: static buffers are evil (wasteful and error-prone) and
should be eliminated.  Unfortunately, this would require changes to
every use of pr_name.

Revision 1.368  1996/08/19 21:05:09  hugh
4.16.0.18: make dbx a minor mode (simplify, generalize)

Revision 1.367  1996/07/11 05:09:06  hugh
4.16.0.17: make jjove.rc use version.h

Revision 1.366  1996/07/07 22:18:22  hugh
4.16.0.16: fix bugs in commandline arg processing
There were several odd cases where the current buffer
would not be tied to the current window.
>> As a minor enhancement, the alternat buffer will now
be set to the last file not assigned a window.

Revision 1.365  1996/07/02 00:15:13  hugh
4.16.0.15: fix subtle screen maintenance bug
Without this, filename/command/etc completion would get
truncated when process windows were updated.

Revision 1.364  1996/06/16 15:56:45  hugh
4.16.0.14: fix MatchDir usage

Revision 1.363  1996/06/13 06:19:29  hugh
4.16.0.13: rename basename => jbasename (name taken by SVR4)

Revision 1.362  1996/05/23 03:08:41  hugh
4.16.0.12: fix nits in teach-jove

Revision 1.361  1996/05/20 01:57:36  hugh
4.16.0.11: in Makefile: use LDCC in appropriate places

Revision 1.360  1996/05/09 02:40:21  hugh
4.16.0.10: improve READMEs for DOS and WIN32

Revision 1.359  1996/05/08 18:15:13  hugh
4.16.0.9: support ConvexOS, istrip problems and all

Revision 1.358  1996/05/08 03:44:25  hugh
4.16.0.8: restore Zortech compatibility
Zortech 3.0 doesn't define EINTR; I don't think any MSDOS runtime
would generate it for a write().  (The code already reflects this
understanding for read().)

Revision 1.357  1996/05/07 04:28:18  hugh
4.16.0.7: fix backup-files code for MSFILESYSTEM

Revision 1.356  1996/04/22 06:49:45  hugh
4.16.0.6: remove unwarranted bug warning
The bug was caused by a virus on the test system.

Revision 1.355  1996/03/30 00:59:29  hugh
4.16.0.5: fix justification nits

Revision 1.354  1996/03/21 19:14:48  hugh
4.16.0.4: improve concatenation of pathname components
This change is needed to avoid accidental references to network files
under some Microsoft systems.
Took this oportunity to delete some obliquely related nonsense code
in scandir.c.

Revision 1.353  1996/03/21 17:02:10  hugh
4.16.0.3: correct case of OS in Makefile.msc

Revision 1.352  1996/03/20 08:00:59  hugh
4.16.0.2: Fix strange font usages in xjove (Charles)

Revision 1.351  1996/03/20 07:40:19  hugh
4.16.0.1: fix and use lint Makefile target

commit 702706df4025029f580bc2962b9fc407bd2ddc58

    version 4.16 released on ftp.cs.toronto.edu on 1996/03/30
    
    PC, Win32 and Un*x-specific code factored into ibmpcdos.c,
    win32.c and unix.c respectively.
    
    Retested on lots of platforms, this was the last major Jove
    release formally tested by all jove developers.  The release
    announcement/README was:
    
    4.16 has been widely ported, it features LOTS of changes, fixes,
    improvements.  Among other things, it should compile and work out of
    the box on most widely used Un*x and Posix variants, including AIX,
    BSDI, DGUX, HP-UX, Irix, Linux, OSF/1, QNX, SCO, Solaris, SunOS, SVR4,
    Ultrix.  Considerable work has gone into making it easier to port
    (functional ifdefs rather than system specific ones).  It now has
    simple mouse support under xterms, the documentation has been
    re-worked.
    
    This version of Jove also works under DOS, Win32 and the Mac with
    almost the same functionality as the Un*x version.

commit 6cf695fea5f3980fe41a2ce423122ef376446709

    version 4.16beta released on ftp.cs.toronto.edu on 1994/11/23
    
    many fixes, more portability, xjove, xterm mouse handling and
    jovetool appear courtesy Charles Lindsey.
    
    doc/jove.[123] become doc/intro.nr
    doc/jove.[45] become doc/cmds.nr
    doc/system.rc becomes doc/jove.rc*
    Readme.* become README.*
    Makefile.dos becomes Makefile.{bcc,msc,wat,zor} for various PC compilers
    tune.template is gone, those defines are set in Makefile

commit aab347b0f618ecd19dce73efbe2ea44101cae20f

    version 4.14.10 released on ftp.cs.toronto.edu on 1993/06/19
    
    Many bugfixes from Hugh Redelmeier who took on primary
    maintenance and Mark Moraes who did much of the portability
    revamp and testing on a wide range of Un*x variants
    available at UToronto at the time (MIPS, SGI Irix,
    SUNOS[34], BSD, Ultrix).  sysdep.h makes an appearance and
    the ifdef maze is now feature-based rather than ad-hoc.
    Much de-lintingh as a side-effect of testing with
    full-warnings on as many nit-picky compilers as possible.
    
    a few files renames appear as delete+new because of
    conversion: in particular, version.c now becomes version.h

commit 44a942827c9c2766d161668389d3edaea1a9dd8a

    revision 4.14
    date: 1989/10/17 10:20:31;  author: jpayne;  state: Exp;  lines: +1 -1
    Quick check-in for hugh and mark.

commit ba38dd8858356ade98ff351f46bdc0d7690ea5d4

    revision 4.12
    date: 1989/02/13 09:46:15;  author: jpayne;  state: Exp;  lines: +3 -1
    Ansi C-ified.  Also minor addition to scroll-region-{left,right}
    now uses numeric argument if one is supplied to figure out how
    far to indent.

commit 1028d6ba06536d582d289ab009748309853cfc59

    revision 4.11
    date: 1989/01/18 15:11:10;  author: jpayne;  state: Exp;  lines: +1 -1
    new c-mode, shift-region-{left,right}, dbx-mode,
    deleted find-files-read-only variable, uses getpwent
    to look up home directories.

commit ad842c38e45fbd09ba81e8cda51f73f92e8283c7

    revision 4.10
    date: 1988/10/21 14:22:54;  author: jpayne;  state: Exp;  lines: +1 -1
    added function proto-typing
    {f,s,}printf => {f,s,}writef
    numeric argument functions are macros now
    real keymaps now
    added RE_block structure for RE's.
    new mail checking algorithm
    better handling of modeline with SG's
    changed meaning of %e in modeline
    deleted ansi-codes
    read-only mode
    new pipeprocs mechanism
    cleaned up white space
    added C-X 4 C-T

commit a392c927e39e298e5298fccac90b752ac30dea4f

    revision 4.9
    date: 1988/03/14 19:13:38;  author: jpayne;  state: Exp;  lines: +7 -7
    -runs on the macintosh!
    -new variables display-bad-filenames, scroll-all-lines,
     error-format-string
    -new commands scroll-left, scroll-right, shell-command-no-buffer
     shell-command-with-typeout
    -deleted parse-special-errors (see error-format-string)
    -disable redisplay during screen Typeout
    -%w in modeline displays '>' if window is scrolled
    -unbind-key really works
    -tabs are inserted if at end of line in lisp mode
    -jove -tTagname works
    -jove windows are resized in proportion to the system window
     resize

commit 08e9e8903b0862b8f0c353fdb1fa6e0c62361a98

    revision 4.8.1.1
    date: 1988/01/18 13:12:48;  author: jpayne;  state: Exp;  lines: +1 -1
    Version 4.8b of JOVE, to be combined with the changes of Karl and Tim
    for PC jove.  See 4.9 entry for diff listing.

commit d547430ed201f1a5e614cf1359c55f7616f9a70c

    revision 4.8
    date: 1987/10/16 15:53:08;  author: jpayne;  state: Exp;  lines: +1 -1
    branches:  4.8.1;
    New text macros!!!
    IBM PC/MSDOS compatible!!!

commit 002e27a0a9fbe902043dd9a2b1bb0c8f4e392283

    revision 4.7
    date: 1987/07/16 11:11:47;  author: jpayne;  state: Exp;  lines: +7 -9
    -Changed arg count.
    -Added environment variable support.
    -Changed CTL() macro to conform to ansi C.
    -Changed file commands to use path relative form to speed
     up accesses.
    -Reverted to old fill-paragraph.
    -Added BL and NL (with stripped padding) termcap support.
    -Added %p on modeline (display process status).
    -Changed buffer-position.
    -Fixed fmt.c for BSD4.3 ctime(); cleaned up code.
    -Combinded ^U and ESC correctly.
    -find_tag uses binary search.
    -Changed rec file format.
    -Fixed load average for SUNS.

commit 64dff0fa821665f05019f064b187313f34ea9343

    revision 4.6.1.5
    date: 1987/04/18 12:22:56;  author: jpayne;  state: Exp;  lines: +1 -1
    -kill buffer doesn't delete any windows
    -fixed simple recursive keymap displaying bug
    -buffer-position doesn't die on 0 length buffers
    -added goto-window-with-buffer
    -fixed .joverc weirdness with 'P' vs. 'p', etc.
    -fixed iproc's dieing - now insert message AT END OF BUFFER
    -combined ^U and ESC # at last
    -fixed dosub \\\ bug
    -find tag works in wrap-search mode
    -fixed structure name conflicts
    -SysV vs. SysVRel2

commit 669c46e98fe44a691cbfcf58ecb410673c45acbe

    revision 4.6.1.4
    date: 1987/01/21 19:06:27;  author: jpayne;  state: Exp;  lines: +1 -1
    %m is changed on mode-line
    changed DoJustify to really use the right-margin

commit b819657159a742fd3f9e6968c27f5ce812a5a7b4

    revision 4.6.1.3
    date: 1986/12/22 14:29:26;  author: jpayne;  state: Exp;  lines: +1 -1
    Few bug fixes.

commit fa64b7627c24a9050cba5c044fb98c75e19c8624

    revision 4.6.1.2
    date: 1986/09/24 10:50:01;  author: jpayne;  state: Exp;  lines: +7 -9
    This is the version sent out to mod.sources.  Contains a
    few minor differences from the previous version, some of
    Hugh's bug fixes, couple new variables, etc.

commit f0263179fc74ce8a8c7f939aa51e204fdb8f9dc5

    revision 4.6.1.1
    date: 1986/08/26 19:20:49;  author: jpayne;  state: Exp;  lines: +1 -1
    -recover is no longer a top level command; use jove -r instead.
    -the jove tmp file is created upon demand now.
    -new variable type V_FILENAME, and new variable "tmp-file-path."
    -fixed typing C-V before initial file read is complete.
    -new command "add-lisp-special."
    -yes/no questions don't wait for return.
    -chk_mtime is called whenever a file is reselected.
    -the NORMC char code is followed by a # which is the # of NORMC's.

commit d225bd8f9c48a5ca79ada5cc68aaf4921581e177

    revision 4.6
    date: 1986/07/24 12:57:08;  author: jpayne;  state: Exp;  lines: +1 -1
    branches:  4.6.1;
    Fixed serious text munging bug (getblock() in IO.C).
    Made case independent search as fast as normal search.
    Fixed bug that caused JOVE to keep trying to write files even
        after an error.
    ESC 1 2 3 and ESC 1 ESC 2 ESC 3 do the same thing now.  So meta-key
        really works.
    Added some lisp commands.

commit f4ae519828d94f99bdb58ab304be6d1bf9e6871c

    revision 4.5
    date: 1986/03/27 20:40:14;  author: payne;  state: Exp;  lines: +1 -1
    This version has the new tmp file format.  Lines are don't go over
    block bounderies anymore to make things faster.  The search code is
    lots faster and the paren matching code is more accurate and MUCH
    faster.

commit ecfd7acb0074e7efd778999306ad3e27c0ca86ed

    revision 4.4.2.1	locked by: payne;
    date: 1986/03/18 00:08:32;  author: payne;  state: Exp;  lines: +1 -1
    This version has new paren  flash code, several bug fixes.

commit 660c8ad206ba229a7988b804fcc8f066e34be601

    no longer relies on sprintf returning char*
    
    revision 4.4.2.0
    date: 1986/02/28 17:00:49;  author: payne;  state: Exp;  lines: +1 -1
    This version has a fix for the sun problem.  On suns the C library
    version of malloc is used instead of the pdp11 version.

commit ef3be7a4243bd913aeca7614d3a4ab2b45c3997f

    tiny change to a complaint
    
    revision 4.4.1.2
    date: 1986/02/18 23:06:57;  author: payne;  state: Exp;  lines: +1 -1

commit 194b87c042a1d87e92068292d15f60cc05678984

    key bindings and setmaps
    
    revision 4.4.1.2
    date: 1986/02/18 23:06:57;  author: payne;  state: Exp;  lines: +1 -1

commit bd817796ebb8d403a2ed4fa54b3157bd2cb3f78d

    4.4.1.1 seems the rest of the fixes described in the 4.4 log message
    
    revision 4.4
    date: 1986/02/13 02:09:39;  author: payne;  state: Exp;  lines: +1 -1
    branches:  4.4.1;  4.4.2;
    Has file I/O enhancements.  Basically rewritten from scratch.  Some
    bug fixes.  Code to automatically convert macros in the old format
    to the new format.
    ----------------------------
    revision 4.4.1.1
    date: 1986/02/14 20:09:52;  author: payne;  state: Exp;  lines: +1 -1
    New version 4.4.1.1
    ----------------------------

commit 6011c1bbe8dc2472e907bd5b418115acf77d3898

    version.c updated to 4.3.1.1 but fixes seem to match branch 4.4
    
    revision 4.4
    date: 1986/02/13 02:09:39;  author: payne;  state: Exp;  lines: +1 -1
    branches:  4.4.1;  4.4.2;
    Has file I/O enhancements.  Basically rewritten from scratch.  Some
    bug fixes.  Code to automatically convert macros in the old format
    to the new format.

commit 0ae3c568851d6990665f5e1dbdbea67a63374c0c

    JOVE is Jonathan's Own Version of EMACS
    Written by Jonathan Payne circa 1982, originally at the
    Lincoln-Sudbury Regional High School, MA, USA.
    
    This version history (from an RCS archive) starts in
    1986 when Jonathan was finishing his CS undergrad
    at University of Rochester.  Version 4.3 was included in
    the BSD 4.3 distribution (the hardcopy manual is part
    of the User Software Distribution; USD17) Supposedly,
    an earlier version was included in a 1984 USENIX software
    tape along with Jay Fenlason's HACK.
    
    A later version 4.6.1.4 was posted to comp.sources.unix
    (mod.sources at the time?) in late-1986 or early-1987.
    
    Version 4.8 was ported to the IBM PC.
    
    Version 4.12 was available from cs.rochester.edu for a
    while.
    
    Hugh Redelmeier and Mark Moraes took over releases in 1989,
    circa jove 4.14, which eventually resulted in a long-lived
    4.16 release in 1996.  Many subsequent dot releases were
    never released formally, though they were available from
    ftp.cs.toronto.edu:/pub/hugh/ and some made their way into
    various Linux/BSD distributions.
    
    This git history reconstructed by Mark Moraes from an RCS archive
    that Jonathan sent and starts with:
    
    revision 4.3
    date: 1986/02/13 01:54:59;  author: payne;  state: Exp;
    As distributed with 4.3 BSD.
    
    https://groups.google.com/forum/#!msg/net.unix-wizards/9bPrVuHYlo8/s5Wm4N2-6KQJ
    (likely from Henry Spencer's archives, judging by the utzoo path entry)
    
    Message-ID: <bnews.sri-arpa.940>
    Newsgroups: net.unix-wizards
    Path: utzoo!decvax!decwrl!sun!megatest!fortune!hpda!hplabs!sri-unix!jpayne@BBN-UNIX
    From: jpayne@BBN-UNIX
    Date: Tue Apr 19 03:33:03 1983
    Subject: Weird file names and ...
    Posted: Mon Apr  4 07:14:46 1983
    Received: Tue Apr 19 03:33:03 1983
    
    At Lincoln-Sudbury High School, here in massachusetts, we are running
    2.81bsd UNIX.  My friends and I (high school students/graduates),
    recently had a lot of fun deleting a file with the character \240 in
    it.  The file name was so weird that ls couldn't even stat the file.
    
    ...
            Jonathan Payne
    
    P.S.
    
    Anyone out there interested in an EMACS style editor for the PDP11.
    Unfortunately it doesn't fit on non-split ID machines.  Some of its
    features include, multiple buffers and windows (as many that can fit
    in both cases), key binding (similar to Gosling's),  output from
    shell commands to buffer, filter-region (so you can sort your files
    or beatify your C), parse C/LINT/fgrep type error messages,
    spell-buffer (like error parsing), MACRO in the singular (haven't
    gotten around to making it more general).  I almost forgot to mention
    that it has optimized redisplay (NOT as good as Gosling's, but close),
    works on any reasonable display terminal (TERMCAP), has
    super/hyper/meta optimized cursor motion (I believe it does the best
    thing EVERY time with good response time) and aborts redisplay if you
    support the right ioctl.
    
    It limitations are 512 characters per line (it stores the file on the
    disk in a way similar to that of ed(1) and VI), about a total
    of 6500 lines at any time buffers.  I believe it hardly ever crashes
    i.e. it hasn't happened to anyone yet.  There is 10k of I space left and
    is, in my opinion, well written and easy to read, so you can modify
    it easily.
    
    It's called JOVE which stands for Jonathan's Own Version of Emacs...
    
    If you are interested you can reach me at jpayne@bbng or jpayne@bbn-unix
    
            Be seeing you...
    
    Newsgroups: comp.emacs,comp.sys.mac.programmer.tools,comp.unix.bsd.freebsd.announce
    Subject: Announcing JOVE version 4.16 (EMACS-like text editor)
    Keywords: EMACS, editor, JOVE
    References: <1996Apr13.021821.26744@jarvis.cs.toronto.edu>
    
    Jove (Jonathan's Own Version of Emacs) is an Emacs-like editor without
    Lisp.  It is comfortable to use, small, fast and portable.  It has
    been available for about a dozen years, and has been included in
    several BSD releases.
    
    4.16 (1996 Mar 19) is the latest released version.  The previous release was
    4.16beta (1994 Nov 23) and before that, 4.14.10.
    
    4.16 has been widely ported, it features LOTS of changes, fixes,
    improvements.  Among other things, it should compile and work out of
    the box on most widely used Un*x and Posix variants, including AIX,
    BSDI, DGUX, HP-UX, Irix, Linux, OSF/1, QNX, SCO, Solaris, SunOS, SVR4,
    Ultrix.  Considerable work has gone into making it easier to port
    (functional ifdefs rather than system specific ones).  It now has
    simple mouse support under xterms, the documentation has been
    re-worked.
    
    This version of Jove also works under MSDOS, Win32 (Windows NT and
    Windows 95) and the Macintosh with almost the same functionality as
    the Un*x version.
    
    The official source location for Jove is
    	github.com/jonmacs/jove
    (newest code in the moraes branch)
    The ftp location for Jove is
    	ftp.cs.toronto.edu:/pub/moraes/jove/
    The file jove.README describes the contents of this directory.
    Source is provided for all platforms, as are pre-compiled versions
    for MSDOS, MSWin32, and the Macintosh.
    
    Jove is supported by a group of users.  We can be
    reached on the github.com/jonmacs/jove bug tracker.  We
    welcome bug reports.  We also welcome reports on porting
    Jove.  We are even interested in suggestions for new
    features, but we are conservative in adopting them.
    
    Mark Moraes, Hugh Redelmeier (for Jovehacks)

