jupp — the Editor which sucks less

FOSS hosting by
HostEurope Logo

jupp — the Editor which sucks less

The current version is joe-2.8jupp3 for MS-DOS® compatible systems, with a set of updated *rc files available for download below, and joe-3.1jupp41 for Unix/GNU compatible systems. This page is accessible under http://mirbsd.de/jupp canonically.

Table of Contents


This is the portable version of JOE’s Own Editor, which is currently developed at sourceforge, licenced under the GNU General Public License, Version 1, using autoconf/automake. This version has been enhanced by several functions intended for programmers or other professional users, and has a lot of bugs fixed. It is based upon an older version of joe because these behave better overall.
jupp also does come with the editor flavours known from joe, specifically, jmacs, joe, jpico, jstar, and rjoe. Not all features of jupp are available for these though (but all the bugfixes, and syntax highlighting is still enabled by default for these, while it is not auto-enabled in jupp).

Kudos to Joe H. Allen for bringing me a better WordStar™-compatible editor than Intergalactic Digital Research, DR Editor R2.00, DR DOS 5 (and its antecessor from DR DOS 3.41).

jupp is experimentally tracked at Launchpad, too. But you can still, of course, send mails to the miros-discuss mailing list and ask on IRC (in #MirBSD, for example).


Basic differences between joe and jupp are:

Neat tricks:


We have a PDF manpage, HTML manpage, and you can use CVSweb to browse the source and documentation on-line.

Note that the keybindings in the manual page reflect the joe frontend, not the jupp frontend.

The jupp package description of The MirPorts Framework may aid other packagers in divining one. jupprc is available in several flavours, one for JOE 2.8 (DOS), one for JOE 3.7-2 and 4.4-1/4.6-1 (Unix), although these lack the core code patches applied in proper Jupp.


Direct download

You can download jupp at least from one of the following mirrors:

Please do not forget to check the received file’s integry using both gzsig(1) and one of the hashes below:


Starting with jupp19, use a command like
$ tar -xzf joe-3.1jupp41.tgz # paxtar, bsdtar, GNU tar, …
$ gzip -dc joe-3.1jupp41.tgz | cpio -idm # any cpio
$ pax -r -z <joe-3.1jupp41.tgz # any POSIX® archiver
to extract the distfile. The DOS version requires similar commands, although GNU tar will not be able to extract the .cpio.gz archive. Both extract into a sub-directory jupp/ (not versioned).

Some browsers already extract the file during downloading; skip the decompression stage then.

Anonymous CVS

You can check out the sources with the following command:

$ env CVS_RSH=ssh cvs -d _anoncvs@anoncvs.mirbsd.org:/cvs co -PA jupp
$ env CVS_RSH=ssh cvs -d _anoncvs@anoncvs.mirbsd.org:/cvs co -Prjoe-2_8-msdos jupp


jupp for Unix uses GNU autotools, so a command line sequence like the following should be enough to build it:

$ CFLAGS='-O2 -fno-delete-null-pointer-checks -fwrapv -fno-strict-aliasing …' \
 mksh configure [--prefix=/usr --sysconfdir=/etc] --disable-dependency-tracking \
 [--disable-getpwnam] --disable-termidx
$ make
$ $SUDO make install

This works with both BSD and GNU make. The original joe 2.8 and jupp for DOS also are able to be built on MS-DOS or DR DOS, but do not use GNU autotools. I’d be interested if someone managed to do this with jupp 3.x for Unix, and if UTF-8 support and other things were working there. On Windows® you can use jupp for Unix with Cygwin or Interix/SFU/SUA.

This has been tested on: MirBSD/i386 (gcc3.4.6, pcc-20100407, SUNWcc 12.1), MirBSD/sparc, Minix 3 (i386) with cc (ACK), Debian (gcc4), Solaris 8 (gcc), Solaris 10 (SUNWcc -xO4 -xipo=2), Minix 3, …

If you want to link jupp for Unix against a nōn-standard C library such as dietlibc or klibc on Linux, use --disable-search-libs to prevent accidentally picking up (possibly shared) libraries linked against the system C library from the standard compiler/linker search path.

Use --disable-getpwnam whenever linking statically, or creating binaries for a rescue system — this omits code looking up ~foo/ to mean the user foo’s home directory, avoiding things like NSS or PAM on some OSes; on GNU libc it’s almost mandatory for static binaries.

Do specify CFLAGS — autoconf defaults to “-O2 -g” otherwise…


These pre-compiled binaries are currently available:

This list may change in the future. Please note that jupp 2.8 almost (some minor fixes committed in the joe-2_8-msdos CVS branch) only differs from joe 2.8 by the presence of the new mode (i.e., the jupprc file), and that the new features and bugfixes started to appear in the jupp 3.x versions only. The jupprc-for-joe-3_7 CVS branch, again, is incompatible with the others; it has limited success bringing some jupp features to upstream JOE.

ChangeLog for Unix

[2022-09-28] Changes for joe-3.1jupp41:

[2020-10-30] Changes for joe-3.1jupp40:

[2020-03-27] Changes for joe-3.1jupp39:

[2018-11-11] Changes for joe-3.1jupp38:

[2018-10-20] Changes for joe-3.1jupp37:

[2018-03-15] Changes for joe-3.1jupp36:

[2018-02-14] Changes for joe-3.1jupp35:

[2018-02-13] Changes for joe-3.1jupp33:

[2017-12-16] Changes for joe-3.1jupp32:

[2017-08-08] Changes for joe-3.1jupp31:

[2017-01-11] Changes for joe-3.1jupp30:

[2016-10-30] Changes for joe-3.1jupp29:

[2014-10-23] Changes for joe-3.1jupp28:

[2014-06-29] Changes for joe-3.1jupp27:

[2013-11-07] Changes for joe-3.1jupp26:

[2013-08-19] Changes for joe-3.1jupp25:

[2013-01-05] Changes for joe-3.1jupp24:

[2012-12-30] Changes for joe-3.1jupp23:

[2012-09-02] Changes for joe-3.1jupp22:

[2012-07-18] Changes for joe-3.1jupp21:

[2012-06-08] Changes for joe-3.1jupp20:

[2012-06-07] Changes for joe-3.1jupp19:

[2011-10-04] Changes for joe-3.1jupp18:

[2011-07-27] Changes for joe-3.1jupp17:

[2011-07-18] Changes for joe-3.1jupp16:

[2011-07-02] Changes for joe-3.1jupp15:

[2010-04-08] Changes for joe-3.1jupp14:

[2009-10-18] Changes for joe-3.1jupp12:

[2009-08-02] Changes for joe-3.1jupp11:

[2008-08-25] Changes for joe-3.1jupp10:

[2008-05-13] Changes for joe-3.1jupp9:

[2007-02-18] Changes for joe-3.1jupp8:

[2006-11-11] Changes for joe-3.1jupp7:

[2006-10-18] Changes for joe-3.1jupp6:
Non-code (documentation) updates. Regenerate externally fetched files and autotools stuff.

[2006-01-27] Changes for joe-3.1jupp5:
Documentation updates. Regenerate externally fetched files and autotools stuff. Fix help URI in jupprc.

[2005-08-26] Changes for joe-3.1jupp4:
Keyboard fixes and DEC VT320/VT420 support in jupprc. Update of externally fetched subsystems. gzsig'd distfile.

[2005-02-12] Changes for joe-3.1jupp3:
Overhaul of jupprc, especially improving Linux and MS-DOS keybindings. Several minor fixes. Conversion back to autoconf 2.59, automake 1.9.

[2004-11-11] Changes for joe-3.1jupp2:
Fix make install in mkinstalldirs for users who wish to install jupp, but where the shell is not mksh but GNU bash.

[2004-11-10] Changes for joe-3.1jupp1:
Initial creation of joe-3.1 with a jupp resource file, fixed string functions, unbreak the Tab key in search’n’replace windows; UTF-8 works on locale-less OSes such as OpenBSD; compiler warning cleanup

General information regarding changes:
Please see our CVSweb for details.

ChangeLog for DOS

[2017-08-09] Changes for joe-2.8jupp3:

[2011-07-16] Changes for joe-2.8jupp2:

[2009-07-18] Changes for joe-2.8jupp1:

General information regarding changes:
Please see our CVSweb for details.

MirBSD Logo